@across-protocol/sdk 4.1.15 → 4.1.16
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/providers/index.d.ts +1 -0
- package/dist/cjs/providers/index.js +1 -0
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/retryProvider.js +3 -3
- package/dist/cjs/providers/retryProvider.js.map +1 -1
- package/dist/cjs/providers/solana/baseRpcFactories.d.ts +11 -0
- package/dist/cjs/providers/solana/baseRpcFactories.js +30 -0
- package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -0
- package/dist/cjs/providers/solana/defaultRpcFactory.d.ts +6 -0
- package/dist/cjs/providers/solana/defaultRpcFactory.js +22 -0
- package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -0
- package/dist/cjs/providers/solana/index.d.ts +4 -0
- package/dist/cjs/providers/solana/index.js +8 -0
- package/dist/cjs/providers/solana/index.js.map +1 -0
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.d.ts +16 -0
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +105 -0
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -0
- package/dist/cjs/providers/solana/utils.d.ts +6 -0
- package/dist/cjs/providers/solana/utils.js +3 -0
- package/dist/cjs/providers/solana/utils.js.map +1 -0
- package/dist/esm/providers/index.d.ts +1 -0
- package/dist/esm/providers/index.js +1 -0
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/retryProvider.js +4 -3
- package/dist/esm/providers/retryProvider.js.map +1 -1
- package/dist/esm/providers/solana/baseRpcFactories.d.ts +11 -0
- package/dist/esm/providers/solana/baseRpcFactories.js +31 -0
- package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -0
- package/dist/esm/providers/solana/defaultRpcFactory.d.ts +6 -0
- package/dist/esm/providers/solana/defaultRpcFactory.js +20 -0
- package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -0
- package/dist/esm/providers/solana/index.d.ts +4 -0
- package/dist/esm/providers/solana/index.js +5 -0
- package/dist/esm/providers/solana/index.js.map +1 -0
- package/dist/esm/providers/solana/rateLimitedRpcFactory.d.ts +16 -0
- package/dist/esm/providers/solana/rateLimitedRpcFactory.js +116 -0
- package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -0
- package/dist/esm/providers/solana/utils.d.ts +9 -0
- package/dist/esm/providers/solana/utils.js +2 -0
- package/dist/esm/providers/solana/utils.js.map +1 -0
- package/dist/types/providers/index.d.ts +1 -0
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/retryProvider.d.ts.map +1 -1
- package/dist/types/providers/solana/baseRpcFactories.d.ts +12 -0
- package/dist/types/providers/solana/baseRpcFactories.d.ts.map +1 -0
- package/dist/types/providers/solana/defaultRpcFactory.d.ts +7 -0
- package/dist/types/providers/solana/defaultRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/solana/index.d.ts +5 -0
- package/dist/types/providers/solana/index.d.ts.map +1 -0
- package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts +17 -0
- package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/solana/utils.d.ts +10 -0
- package/dist/types/providers/solana/utils.d.ts.map +1 -0
- package/package.json +3 -1
- package/src/providers/index.ts +1 -0
- package/src/providers/retryProvider.ts +4 -3
- package/src/providers/solana/baseRpcFactories.ts +25 -0
- package/src/providers/solana/defaultRpcFactory.ts +13 -0
- package/src/providers/solana/index.ts +4 -0
- package/src/providers/solana/rateLimitedRpcFactory.ts +101 -0
- package/src/providers/solana/utils.ts +14 -0
|
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./constants"), exports);
|
|
|
10
10
|
tslib_1.__exportStar(require("./types"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./utils"), exports);
|
|
12
12
|
exports.mocks = tslib_1.__importStar(require("./mockProvider"));
|
|
13
|
+
tslib_1.__exportStar(require("./solana"), exports);
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";;;;AAAA,gEAAsC;AACtC,2DAAiC;AACjC,0DAAgC;AAChC,0DAAgC;AAChC,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB;AACxB,gEAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";;;;AAAA,gEAAsC;AACtC,2DAAiC;AACjC,0DAAgC;AAChC,0DAAgC;AAChC,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB;AACxB,gEAAwC;AACxC,mDAAyB"}
|
|
@@ -242,13 +242,13 @@ var RetryProvider = (function (_super) {
|
|
|
242
242
|
if (err.code >= -32768 && err.code <= -32100) {
|
|
243
243
|
return false;
|
|
244
244
|
}
|
|
245
|
-
var message = err.message;
|
|
245
|
+
var message = err.message.toLowerCase();
|
|
246
246
|
switch (method) {
|
|
247
247
|
case "eth_call":
|
|
248
248
|
case "eth_estimateGas":
|
|
249
|
-
return message.
|
|
249
|
+
return message.includes("revert");
|
|
250
250
|
case "eth_sendRawTransaction":
|
|
251
|
-
return message.
|
|
251
|
+
return message.includes("nonce") || message.includes("underpriced");
|
|
252
252
|
default:
|
|
253
253
|
break;
|
|
254
254
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClusterUrl, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
export declare abstract class SolanaBaseRpcFactory {
|
|
3
|
+
readonly chainId: number;
|
|
4
|
+
constructor(chainId: number);
|
|
5
|
+
abstract createTransport(): RpcTransport;
|
|
6
|
+
createRpcClient(): import("@solana/web3.js").Rpc<import("@solana/web3.js").RequestAirdropApi & import("@solana/web3.js").GetAccountInfoApi & import("@solana/web3.js").GetBalanceApi & import("@solana/web3.js").GetBlockApi & import("@solana/web3.js").GetBlockCommitmentApi & import("@solana/web3.js").GetBlockHeightApi & import("@solana/web3.js").GetBlockProductionApi & import("@solana/web3.js").GetBlocksApi & import("@solana/web3.js").GetBlocksWithLimitApi & import("@solana/web3.js").GetBlockTimeApi & import("@solana/web3.js").GetClusterNodesApi & import("@solana/web3.js").GetEpochInfoApi & import("@solana/web3.js").GetEpochScheduleApi & import("@solana/web3.js").GetFeeForMessageApi & import("@solana/web3.js").GetFirstAvailableBlockApi & import("@solana/web3.js").GetGenesisHashApi & import("@solana/web3.js").GetHealthApi & import("@solana/web3.js").GetHighestSnapshotSlotApi & import("@solana/web3.js").GetIdentityApi & import("@solana/web3.js").GetInflationGovernorApi & import("@solana/web3.js").GetInflationRateApi & import("@solana/web3.js").GetInflationRewardApi & import("@solana/web3.js").GetLargestAccountsApi & import("@solana/web3.js").GetLatestBlockhashApi & import("@solana/web3.js").GetLeaderScheduleApi & import("@solana/web3.js").GetMaxRetransmitSlotApi & import("@solana/web3.js").GetMaxShredInsertSlotApi & import("@solana/web3.js").GetMinimumBalanceForRentExemptionApi & import("@solana/web3.js").GetMultipleAccountsApi & import("@solana/web3.js").GetProgramAccountsApi & import("@solana/web3.js").GetRecentPerformanceSamplesApi & import("@solana/web3.js").GetRecentPrioritizationFeesApi & import("@solana/web3.js").GetSignaturesForAddressApi & import("@solana/web3.js").GetSignatureStatusesApi & import("@solana/web3.js").GetSlotApi & import("@solana/web3.js").GetSlotLeaderApi & import("@solana/web3.js").GetSlotLeadersApi & import("@solana/web3.js").GetStakeMinimumDelegationApi & import("@solana/web3.js").GetSupplyApi & import("@solana/web3.js").GetTokenAccountBalanceApi & import("@solana/web3.js").GetTokenAccountsByDelegateApi & import("@solana/web3.js").GetTokenAccountsByOwnerApi & import("@solana/web3.js").GetTokenLargestAccountsApi & import("@solana/web3.js").GetTokenSupplyApi & import("@solana/web3.js").GetTransactionApi & import("@solana/web3.js").GetTransactionCountApi & import("@solana/web3.js").GetVersionApi & import("@solana/web3.js").GetVoteAccountsApi & import("@solana/web3.js").IsBlockhashValidApi & import("@solana/web3.js").MinimumLedgerSlotApi & import("@solana/web3.js").SendTransactionApi & import("@solana/web3.js").SimulateTransactionApi>;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
|
|
9
|
+
readonly clusterUrl: ClusterUrl;
|
|
10
|
+
constructor(clusterUrl: ClusterUrl, ...baseConstructorParams: ConstructorParameters<typeof SolanaBaseRpcFactory>);
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaClusterRpcFactory = exports.SolanaBaseRpcFactory = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
var SolanaBaseRpcFactory = (function () {
|
|
7
|
+
function SolanaBaseRpcFactory(chainId) {
|
|
8
|
+
this.chainId = chainId;
|
|
9
|
+
}
|
|
10
|
+
SolanaBaseRpcFactory.prototype.createRpcClient = function () {
|
|
11
|
+
return (0, web3_js_1.createSolanaRpcFromTransport)(this.createTransport());
|
|
12
|
+
};
|
|
13
|
+
return SolanaBaseRpcFactory;
|
|
14
|
+
}());
|
|
15
|
+
exports.SolanaBaseRpcFactory = SolanaBaseRpcFactory;
|
|
16
|
+
var SolanaClusterRpcFactory = (function (_super) {
|
|
17
|
+
tslib_1.__extends(SolanaClusterRpcFactory, _super);
|
|
18
|
+
function SolanaClusterRpcFactory(clusterUrl) {
|
|
19
|
+
var baseConstructorParams = [];
|
|
20
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
21
|
+
baseConstructorParams[_i - 1] = arguments[_i];
|
|
22
|
+
}
|
|
23
|
+
var _this = _super.apply(this, baseConstructorParams) || this;
|
|
24
|
+
_this.clusterUrl = clusterUrl;
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
return SolanaClusterRpcFactory;
|
|
28
|
+
}(SolanaBaseRpcFactory));
|
|
29
|
+
exports.SolanaClusterRpcFactory = SolanaClusterRpcFactory;
|
|
30
|
+
//# sourceMappingURL=baseRpcFactories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseRpcFactories.js","sourceRoot":"","sources":["../../../../src/providers/solana/baseRpcFactories.ts"],"names":[],"mappings":";;;;AAAA,2CAAyF;AAGzF;IACE,8BAAqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAMjC,8CAAe,GAAtB;QACE,OAAO,IAAA,sCAA4B,EAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC,AAVD,IAUC;AAVqB,oDAAoB;AAc1C;IAAsD,mDAAoB;IACxE,iCACW,UAAsB;QAC/B,+BAA4E;aAA5E,UAA4E,EAA5E,qBAA4E,EAA5E,IAA4E;YAA5E,8CAA4E;;QAF9E,+BAIW,qBAAqB,UAC/B;QAJU,gBAAU,GAAV,UAAU,CAAY;;IAIjC,CAAC;IACH,8BAAC;AAAD,CAAC,AAPD,CAAsD,oBAAoB,GAOzE;AAPqB,0DAAuB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/web3.js";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
|
+
export declare class SolanaDefaultRpcFactory extends SolanaClusterRpcFactory {
|
|
4
|
+
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>);
|
|
5
|
+
createTransport(): RpcTransport;
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaDefaultRpcFactory = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
var baseRpcFactories_1 = require("./baseRpcFactories");
|
|
7
|
+
var SolanaDefaultRpcFactory = (function (_super) {
|
|
8
|
+
tslib_1.__extends(SolanaDefaultRpcFactory, _super);
|
|
9
|
+
function SolanaDefaultRpcFactory() {
|
|
10
|
+
var clusterConstructorParams = [];
|
|
11
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
12
|
+
clusterConstructorParams[_i] = arguments[_i];
|
|
13
|
+
}
|
|
14
|
+
return _super.apply(this, clusterConstructorParams) || this;
|
|
15
|
+
}
|
|
16
|
+
SolanaDefaultRpcFactory.prototype.createTransport = function () {
|
|
17
|
+
return (0, web3_js_1.createDefaultRpcTransport)({ url: this.clusterUrl });
|
|
18
|
+
};
|
|
19
|
+
return SolanaDefaultRpcFactory;
|
|
20
|
+
}(baseRpcFactories_1.SolanaClusterRpcFactory));
|
|
21
|
+
exports.SolanaDefaultRpcFactory = SolanaDefaultRpcFactory;
|
|
22
|
+
//# sourceMappingURL=defaultRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/defaultRpcFactory.ts"],"names":[],"mappings":";;;;AAAA,2CAA0E;AAC1E,uDAA6D;AAG7D;IAA6C,mDAAuB;IAClE;QAAY,kCAAkF;aAAlF,UAAkF,EAAlF,qBAAkF,EAAlF,IAAkF;YAAlF,6CAAkF;;kCACnF,wBAAwB;IACnC,CAAC;IAEM,iDAAe,GAAtB;QACE,OAAO,IAAA,mCAAyB,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACH,8BAAC;AAAD,CAAC,AARD,CAA6C,0CAAuB,GAQnE;AARY,0DAAuB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./baseRpcFactories"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./defaultRpcFactory"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./rateLimitedRpcFactory"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,8DAAoC;AACpC,kEAAwC;AACxC,kDAAwB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RpcResponse } from "@solana/web3.js";
|
|
2
|
+
import { Logger } from "winston";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
5
|
+
export declare class RateLimitedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
readonly pctRpcCallsLogged: number;
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
private queue;
|
|
9
|
+
private readonly defaultTransport;
|
|
10
|
+
constructor(maxConcurrency: number, pctRpcCallsLogged: number, logger: Logger, ...defaultConstructorParams: ConstructorParameters<typeof SolanaDefaultRpcFactory>);
|
|
11
|
+
private wrapSendWithLog;
|
|
12
|
+
createTransport(): <TResponse>(config: Readonly<{
|
|
13
|
+
payload: unknown;
|
|
14
|
+
signal?: AbortSignal | undefined;
|
|
15
|
+
}>) => Promise<TResponse>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RateLimitedSolanaRpcFactory = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var async_1 = require("async");
|
|
6
|
+
var winston_1 = tslib_1.__importDefault(require("winston"));
|
|
7
|
+
var baseRpcFactories_1 = require("./baseRpcFactories");
|
|
8
|
+
var defaultRpcFactory_1 = require("./defaultRpcFactory");
|
|
9
|
+
var utils_1 = require("../../utils");
|
|
10
|
+
var RateLimitedSolanaRpcFactory = (function (_super) {
|
|
11
|
+
tslib_1.__extends(RateLimitedSolanaRpcFactory, _super);
|
|
12
|
+
function RateLimitedSolanaRpcFactory(maxConcurrency, pctRpcCallsLogged, logger) {
|
|
13
|
+
if (logger === void 0) { logger = winston_1.default.createLogger({
|
|
14
|
+
transports: [new winston_1.default.transports.Console()],
|
|
15
|
+
}); }
|
|
16
|
+
var defaultConstructorParams = [];
|
|
17
|
+
for (var _i = 3; _i < arguments.length; _i++) {
|
|
18
|
+
defaultConstructorParams[_i - 3] = arguments[_i];
|
|
19
|
+
}
|
|
20
|
+
var _this = _super.apply(this, defaultConstructorParams) || this;
|
|
21
|
+
_this.pctRpcCallsLogged = pctRpcCallsLogged;
|
|
22
|
+
_this.logger = logger;
|
|
23
|
+
_this.defaultTransport = new (defaultRpcFactory_1.SolanaDefaultRpcFactory.bind.apply(defaultRpcFactory_1.SolanaDefaultRpcFactory, tslib_1.__spreadArray([void 0], defaultConstructorParams, false)))().createTransport();
|
|
24
|
+
_this.queue = (0, async_1.queue)(function (_a, callback) {
|
|
25
|
+
var rpcArgs = _a.rpcArgs, resolve = _a.resolve, reject = _a.reject;
|
|
26
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
27
|
+
return tslib_1.__generator(this, function (_b) {
|
|
28
|
+
switch (_b.label) {
|
|
29
|
+
case 0: return [4, this.wrapSendWithLog.apply(this, rpcArgs).then(resolve)
|
|
30
|
+
.catch(reject)];
|
|
31
|
+
case 1:
|
|
32
|
+
_b.sent();
|
|
33
|
+
callback();
|
|
34
|
+
return [2];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}, maxConcurrency);
|
|
39
|
+
return _this;
|
|
40
|
+
}
|
|
41
|
+
RateLimitedSolanaRpcFactory.prototype.wrapSendWithLog = function () {
|
|
42
|
+
var rpcArgs = [];
|
|
43
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
44
|
+
rpcArgs[_i] = arguments[_i];
|
|
45
|
+
}
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
47
|
+
var payload, loggerArgs, startTime, result, elapsedTimeS, error_1, elapsedTimeS;
|
|
48
|
+
return tslib_1.__generator(this, function (_a) {
|
|
49
|
+
switch (_a.label) {
|
|
50
|
+
case 0:
|
|
51
|
+
if (!(this.pctRpcCallsLogged <= 0 || Math.random() > this.pctRpcCallsLogged / 100)) return [3, 2];
|
|
52
|
+
return [4, this.defaultTransport.apply(this, rpcArgs)];
|
|
53
|
+
case 1: return [2, _a.sent()];
|
|
54
|
+
case 2:
|
|
55
|
+
payload = rpcArgs[0].payload;
|
|
56
|
+
loggerArgs = {
|
|
57
|
+
at: "SolanaProviderUtils",
|
|
58
|
+
message: "Solana provider response sample",
|
|
59
|
+
provider: (0, utils_1.getOriginFromURL)(this.clusterUrl),
|
|
60
|
+
method: payload.method,
|
|
61
|
+
params: payload.params,
|
|
62
|
+
chainId: this.chainId,
|
|
63
|
+
datadog: true,
|
|
64
|
+
};
|
|
65
|
+
startTime = performance.now();
|
|
66
|
+
_a.label = 3;
|
|
67
|
+
case 3:
|
|
68
|
+
_a.trys.push([3, 5, , 6]);
|
|
69
|
+
return [4, this.defaultTransport.apply(this, rpcArgs)];
|
|
70
|
+
case 4:
|
|
71
|
+
result = _a.sent();
|
|
72
|
+
elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
73
|
+
this.logger.debug(tslib_1.__assign(tslib_1.__assign({}, loggerArgs), { success: true, timeElapsed: elapsedTimeS }));
|
|
74
|
+
return [2, result];
|
|
75
|
+
case 5:
|
|
76
|
+
error_1 = _a.sent();
|
|
77
|
+
elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
78
|
+
this.logger.debug(tslib_1.__assign(tslib_1.__assign({}, loggerArgs), { success: false, timeElapsed: elapsedTimeS }));
|
|
79
|
+
throw error_1;
|
|
80
|
+
case 6: return [2];
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
RateLimitedSolanaRpcFactory.prototype.createTransport = function () {
|
|
86
|
+
var _this = this;
|
|
87
|
+
return function () {
|
|
88
|
+
var args = [];
|
|
89
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
90
|
+
args[_i] = arguments[_i];
|
|
91
|
+
}
|
|
92
|
+
return new Promise(function (resolve, reject) {
|
|
93
|
+
var task = {
|
|
94
|
+
rpcArgs: args,
|
|
95
|
+
resolve: resolve,
|
|
96
|
+
reject: reject,
|
|
97
|
+
};
|
|
98
|
+
void _this.queue.push(task);
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
return RateLimitedSolanaRpcFactory;
|
|
103
|
+
}(baseRpcFactories_1.SolanaClusterRpcFactory));
|
|
104
|
+
exports.RateLimitedSolanaRpcFactory = RateLimitedSolanaRpcFactory;
|
|
105
|
+
//# sourceMappingURL=rateLimitedRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitedRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/rateLimitedRpcFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;yBACD,gBAAgB;oBAA3B,KAAK"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;yBACD,gBAAgB;oBAA3B,KAAK;AACjB,cAAc,UAAU,CAAC"}
|
|
@@ -281,13 +281,14 @@ var RetryProvider = /** @class */ (function (_super) {
|
|
|
281
281
|
return false; // Cannot handle these errors.
|
|
282
282
|
}
|
|
283
283
|
// The `data` member of err _may_ be populated but would need to be verified.
|
|
284
|
-
var message = err.message;
|
|
284
|
+
var message = err.message.toLowerCase();
|
|
285
285
|
switch (method) {
|
|
286
286
|
case "eth_call":
|
|
287
287
|
case "eth_estimateGas":
|
|
288
|
-
return message.
|
|
288
|
+
return message.includes("revert"); // Transaction will fail.
|
|
289
289
|
case "eth_sendRawTransaction":
|
|
290
|
-
|
|
290
|
+
// Nonce too low or gas price is too low.
|
|
291
|
+
return message.includes("nonce") || message.includes("underpriced");
|
|
291
292
|
default:
|
|
292
293
|
break;
|
|
293
294
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClusterUrl, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
export declare abstract class SolanaBaseRpcFactory {
|
|
3
|
+
readonly chainId: number;
|
|
4
|
+
constructor(chainId: number);
|
|
5
|
+
abstract createTransport(): RpcTransport;
|
|
6
|
+
createRpcClient(): import("@solana/web3.js").Rpc<import("@solana/web3.js").RequestAirdropApi & import("@solana/web3.js").GetAccountInfoApi & import("@solana/web3.js").GetBalanceApi & import("@solana/web3.js").GetBlockApi & import("@solana/web3.js").GetBlockCommitmentApi & import("@solana/web3.js").GetBlockHeightApi & import("@solana/web3.js").GetBlockProductionApi & import("@solana/web3.js").GetBlocksApi & import("@solana/web3.js").GetBlocksWithLimitApi & import("@solana/web3.js").GetBlockTimeApi & import("@solana/web3.js").GetClusterNodesApi & import("@solana/web3.js").GetEpochInfoApi & import("@solana/web3.js").GetEpochScheduleApi & import("@solana/web3.js").GetFeeForMessageApi & import("@solana/web3.js").GetFirstAvailableBlockApi & import("@solana/web3.js").GetGenesisHashApi & import("@solana/web3.js").GetHealthApi & import("@solana/web3.js").GetHighestSnapshotSlotApi & import("@solana/web3.js").GetIdentityApi & import("@solana/web3.js").GetInflationGovernorApi & import("@solana/web3.js").GetInflationRateApi & import("@solana/web3.js").GetInflationRewardApi & import("@solana/web3.js").GetLargestAccountsApi & import("@solana/web3.js").GetLatestBlockhashApi & import("@solana/web3.js").GetLeaderScheduleApi & import("@solana/web3.js").GetMaxRetransmitSlotApi & import("@solana/web3.js").GetMaxShredInsertSlotApi & import("@solana/web3.js").GetMinimumBalanceForRentExemptionApi & import("@solana/web3.js").GetMultipleAccountsApi & import("@solana/web3.js").GetProgramAccountsApi & import("@solana/web3.js").GetRecentPerformanceSamplesApi & import("@solana/web3.js").GetRecentPrioritizationFeesApi & import("@solana/web3.js").GetSignaturesForAddressApi & import("@solana/web3.js").GetSignatureStatusesApi & import("@solana/web3.js").GetSlotApi & import("@solana/web3.js").GetSlotLeaderApi & import("@solana/web3.js").GetSlotLeadersApi & import("@solana/web3.js").GetStakeMinimumDelegationApi & import("@solana/web3.js").GetSupplyApi & import("@solana/web3.js").GetTokenAccountBalanceApi & import("@solana/web3.js").GetTokenAccountsByDelegateApi & import("@solana/web3.js").GetTokenAccountsByOwnerApi & import("@solana/web3.js").GetTokenLargestAccountsApi & import("@solana/web3.js").GetTokenSupplyApi & import("@solana/web3.js").GetTransactionApi & import("@solana/web3.js").GetTransactionCountApi & import("@solana/web3.js").GetVersionApi & import("@solana/web3.js").GetVoteAccountsApi & import("@solana/web3.js").IsBlockhashValidApi & import("@solana/web3.js").MinimumLedgerSlotApi & import("@solana/web3.js").SendTransactionApi & import("@solana/web3.js").SimulateTransactionApi>;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
|
|
9
|
+
readonly clusterUrl: ClusterUrl;
|
|
10
|
+
constructor(clusterUrl: ClusterUrl, ...baseConstructorParams: ConstructorParameters<typeof SolanaBaseRpcFactory>);
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { createSolanaRpcFromTransport } from "@solana/web3.js";
|
|
3
|
+
// This is abstract base class for creating Solana RPC clients and transports.
|
|
4
|
+
var SolanaBaseRpcFactory = /** @class */ (function () {
|
|
5
|
+
function SolanaBaseRpcFactory(chainId) {
|
|
6
|
+
this.chainId = chainId;
|
|
7
|
+
}
|
|
8
|
+
// This method creates a Solana RPC client from the implemented transport.
|
|
9
|
+
SolanaBaseRpcFactory.prototype.createRpcClient = function () {
|
|
10
|
+
return createSolanaRpcFromTransport(this.createTransport());
|
|
11
|
+
};
|
|
12
|
+
return SolanaBaseRpcFactory;
|
|
13
|
+
}());
|
|
14
|
+
export { SolanaBaseRpcFactory };
|
|
15
|
+
// Enhanced class for creating Solana RPC clients and transports storing additional cluster info.
|
|
16
|
+
// This can be used by derived classes that are connected to a single base transport.
|
|
17
|
+
var SolanaClusterRpcFactory = /** @class */ (function (_super) {
|
|
18
|
+
__extends(SolanaClusterRpcFactory, _super);
|
|
19
|
+
function SolanaClusterRpcFactory(clusterUrl) {
|
|
20
|
+
var baseConstructorParams = [];
|
|
21
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
22
|
+
baseConstructorParams[_i - 1] = arguments[_i];
|
|
23
|
+
}
|
|
24
|
+
var _this = _super.apply(this, baseConstructorParams) || this;
|
|
25
|
+
_this.clusterUrl = clusterUrl;
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
return SolanaClusterRpcFactory;
|
|
29
|
+
}(SolanaBaseRpcFactory));
|
|
30
|
+
export { SolanaClusterRpcFactory };
|
|
31
|
+
//# sourceMappingURL=baseRpcFactories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseRpcFactories.js","sourceRoot":"","sources":["../../../../src/providers/solana/baseRpcFactories.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,4BAA4B,EAAgB,MAAM,iBAAiB,CAAC;AAEzF,8EAA8E;AAC9E;IACE,8BAAqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAKxC,0EAA0E;IACnE,8CAAe,GAAtB;QACE,OAAO,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC,AAVD,IAUC;;AAED,iGAAiG;AACjG,qFAAqF;AACrF;IAAsD,2CAAoB;IACxE,iCACW,UAAsB;QAC/B,+BAA4E;aAA5E,UAA4E,EAA5E,qBAA4E,EAA5E,IAA4E;YAA5E,8CAA4E;;QAF9E,+BAIW,qBAAqB,UAC/B;QAJU,gBAAU,GAAV,UAAU,CAAY;;IAIjC,CAAC;IACH,8BAAC;AAAD,CAAC,AAPD,CAAsD,oBAAoB,GAOzE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/web3.js";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
|
+
export declare class SolanaDefaultRpcFactory extends SolanaClusterRpcFactory {
|
|
4
|
+
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>);
|
|
5
|
+
createTransport(): RpcTransport;
|
|
6
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { createDefaultRpcTransport } from "@solana/web3.js";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
// Exposes default RPC transport for Solana in the SolanaClusterRpcFactory class.
|
|
5
|
+
var SolanaDefaultRpcFactory = /** @class */ (function (_super) {
|
|
6
|
+
__extends(SolanaDefaultRpcFactory, _super);
|
|
7
|
+
function SolanaDefaultRpcFactory() {
|
|
8
|
+
var clusterConstructorParams = [];
|
|
9
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
10
|
+
clusterConstructorParams[_i] = arguments[_i];
|
|
11
|
+
}
|
|
12
|
+
return _super.apply(this, clusterConstructorParams) || this;
|
|
13
|
+
}
|
|
14
|
+
SolanaDefaultRpcFactory.prototype.createTransport = function () {
|
|
15
|
+
return createDefaultRpcTransport({ url: this.clusterUrl });
|
|
16
|
+
};
|
|
17
|
+
return SolanaDefaultRpcFactory;
|
|
18
|
+
}(SolanaClusterRpcFactory));
|
|
19
|
+
export { SolanaDefaultRpcFactory };
|
|
20
|
+
//# sourceMappingURL=defaultRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/defaultRpcFactory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,iFAAiF;AACjF;IAA6C,2CAAuB;IAClE;QAAY,kCAAkF;aAAlF,UAAkF,EAAlF,qBAAkF,EAAlF,IAAkF;YAAlF,6CAAkF;;kCACnF,wBAAwB;IACnC,CAAC;IAEM,iDAAe,GAAtB;QACE,OAAO,yBAAyB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACH,8BAAC;AAAD,CAAC,AARD,CAA6C,uBAAuB,GAQnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RpcResponse } from "@solana/web3.js";
|
|
2
|
+
import { Logger } from "winston";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
5
|
+
export declare class RateLimitedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
readonly pctRpcCallsLogged: number;
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
private queue;
|
|
9
|
+
private readonly defaultTransport;
|
|
10
|
+
constructor(maxConcurrency: number, pctRpcCallsLogged: number, logger: Logger, ...defaultConstructorParams: ConstructorParameters<typeof SolanaDefaultRpcFactory>);
|
|
11
|
+
private wrapSendWithLog;
|
|
12
|
+
createTransport(): <TResponse>(config: Readonly<{
|
|
13
|
+
payload: unknown;
|
|
14
|
+
signal?: AbortSignal | undefined;
|
|
15
|
+
}>) => Promise<TResponse>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator, __spreadArray } from "tslib";
|
|
2
|
+
import { queue } from "async";
|
|
3
|
+
import winston from "winston";
|
|
4
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
5
|
+
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
6
|
+
import { getOriginFromURL } from "../../utils";
|
|
7
|
+
// This factory is a very small addition to the SolanaDefaultRpcFactory that ensures that no more than maxConcurrency
|
|
8
|
+
// requests are ever in flight. It uses the async/queue library to manage this.
|
|
9
|
+
var RateLimitedSolanaRpcFactory = /** @class */ (function (_super) {
|
|
10
|
+
__extends(RateLimitedSolanaRpcFactory, _super);
|
|
11
|
+
// Takes the same arguments as the SolanaDefaultRpcFactory, but it has an additional parameters to control
|
|
12
|
+
// concurrency and logging at the beginning of the list.
|
|
13
|
+
function RateLimitedSolanaRpcFactory(maxConcurrency, pctRpcCallsLogged, logger) {
|
|
14
|
+
if (logger === void 0) { logger = winston.createLogger({
|
|
15
|
+
transports: [new winston.transports.Console()],
|
|
16
|
+
}); }
|
|
17
|
+
var defaultConstructorParams = [];
|
|
18
|
+
for (var _i = 3; _i < arguments.length; _i++) {
|
|
19
|
+
defaultConstructorParams[_i - 3] = arguments[_i];
|
|
20
|
+
}
|
|
21
|
+
var _this = _super.apply(this, defaultConstructorParams) || this;
|
|
22
|
+
_this.pctRpcCallsLogged = pctRpcCallsLogged;
|
|
23
|
+
_this.logger = logger;
|
|
24
|
+
_this.defaultTransport = new (SolanaDefaultRpcFactory.bind.apply(SolanaDefaultRpcFactory, __spreadArray([void 0], defaultConstructorParams, false)))().createTransport();
|
|
25
|
+
// This sets up the queue. Each task is executed by forwarding the RPC request to the underlying base transport.
|
|
26
|
+
// This queue sends out requests concurrently, but stops once the concurrency limit is reached. The maxConcurrency
|
|
27
|
+
// is configured here.
|
|
28
|
+
_this.queue = queue(function (_a, callback) {
|
|
29
|
+
var rpcArgs = _a.rpcArgs, resolve = _a.resolve, reject = _a.reject;
|
|
30
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
31
|
+
return __generator(this, function (_b) {
|
|
32
|
+
switch (_b.label) {
|
|
33
|
+
case 0: return [4 /*yield*/, this.wrapSendWithLog.apply(this, rpcArgs).then(resolve)
|
|
34
|
+
.catch(reject)];
|
|
35
|
+
case 1:
|
|
36
|
+
_b.sent();
|
|
37
|
+
// we need this for the queue to know that the task is done
|
|
38
|
+
// @see: https://caolan.github.io/async/v3/global.html
|
|
39
|
+
callback();
|
|
40
|
+
return [2 /*return*/];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}, maxConcurrency);
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
RateLimitedSolanaRpcFactory.prototype.wrapSendWithLog = function () {
|
|
48
|
+
var rpcArgs = [];
|
|
49
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
50
|
+
rpcArgs[_i] = arguments[_i];
|
|
51
|
+
}
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var payload, loggerArgs, startTime, result, elapsedTimeS, error_1, elapsedTimeS;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
if (!(this.pctRpcCallsLogged <= 0 || Math.random() > this.pctRpcCallsLogged / 100)) return [3 /*break*/, 2];
|
|
58
|
+
return [4 /*yield*/, this.defaultTransport.apply(this, rpcArgs)];
|
|
59
|
+
case 1:
|
|
60
|
+
// Non sample path: no logging or timing, just issue the request.
|
|
61
|
+
return [2 /*return*/, _a.sent()];
|
|
62
|
+
case 2:
|
|
63
|
+
payload = rpcArgs[0].payload;
|
|
64
|
+
loggerArgs = {
|
|
65
|
+
at: "SolanaProviderUtils",
|
|
66
|
+
message: "Solana provider response sample",
|
|
67
|
+
provider: getOriginFromURL(this.clusterUrl),
|
|
68
|
+
method: payload.method,
|
|
69
|
+
params: payload.params,
|
|
70
|
+
chainId: this.chainId,
|
|
71
|
+
datadog: true,
|
|
72
|
+
};
|
|
73
|
+
startTime = performance.now();
|
|
74
|
+
_a.label = 3;
|
|
75
|
+
case 3:
|
|
76
|
+
_a.trys.push([3, 5, , 6]);
|
|
77
|
+
return [4 /*yield*/, this.defaultTransport.apply(this, rpcArgs)];
|
|
78
|
+
case 4:
|
|
79
|
+
result = _a.sent();
|
|
80
|
+
elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
81
|
+
this.logger.debug(__assign(__assign({}, loggerArgs), { success: true, timeElapsed: elapsedTimeS }));
|
|
82
|
+
return [2 /*return*/, result];
|
|
83
|
+
case 5:
|
|
84
|
+
error_1 = _a.sent();
|
|
85
|
+
elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
86
|
+
this.logger.debug(__assign(__assign({}, loggerArgs), { success: false, timeElapsed: elapsedTimeS }));
|
|
87
|
+
throw error_1;
|
|
88
|
+
case 6: return [2 /*return*/];
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
RateLimitedSolanaRpcFactory.prototype.createTransport = function () {
|
|
94
|
+
var _this = this;
|
|
95
|
+
return function () {
|
|
96
|
+
var args = [];
|
|
97
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
98
|
+
args[_i] = arguments[_i];
|
|
99
|
+
}
|
|
100
|
+
// This simply creates a promise and adds the arguments and resolve and reject handlers to the task.
|
|
101
|
+
return new Promise(function (resolve, reject) {
|
|
102
|
+
var task = {
|
|
103
|
+
rpcArgs: args,
|
|
104
|
+
resolve: resolve,
|
|
105
|
+
reject: reject,
|
|
106
|
+
};
|
|
107
|
+
// We didn't previously wait for this push so we can emulate
|
|
108
|
+
// the same behavior with the `void` keyword.
|
|
109
|
+
void _this.queue.push(task);
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
return RateLimitedSolanaRpcFactory;
|
|
114
|
+
}(SolanaClusterRpcFactory));
|
|
115
|
+
export { RateLimitedSolanaRpcFactory };
|
|
116
|
+
//# sourceMappingURL=rateLimitedRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitedRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/rateLimitedRpcFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/rpc-spec";
|
|
2
|
+
/**
|
|
3
|
+
* This is the type we pass to define a Solana RPC request "task".
|
|
4
|
+
*/
|
|
5
|
+
export interface SolanaRateLimitTask {
|
|
6
|
+
rpcArgs: Parameters<RpcTransport>;
|
|
7
|
+
resolve: (result: unknown) => void;
|
|
8
|
+
reject: (err: unknown) => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,cAAc,UAAU,CAAC"}
|
|
@@ -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;AAQ1D,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;IAdlB,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,oBAAQ;IA2CX,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmK7E,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;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAiBtG;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;
|
|
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;AAQ1D,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;IAdlB,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,oBAAQ;IA2CX,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmK7E,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;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAiBtG;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IA+B7D,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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClusterUrl, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
export declare abstract class SolanaBaseRpcFactory {
|
|
3
|
+
readonly chainId: number;
|
|
4
|
+
constructor(chainId: number);
|
|
5
|
+
abstract createTransport(): RpcTransport;
|
|
6
|
+
createRpcClient(): import("@solana/web3.js").Rpc<import("@solana/web3.js").RequestAirdropApi & import("@solana/web3.js").GetAccountInfoApi & import("@solana/web3.js").GetBalanceApi & import("@solana/web3.js").GetBlockApi & import("@solana/web3.js").GetBlockCommitmentApi & import("@solana/web3.js").GetBlockHeightApi & import("@solana/web3.js").GetBlockProductionApi & import("@solana/web3.js").GetBlocksApi & import("@solana/web3.js").GetBlocksWithLimitApi & import("@solana/web3.js").GetBlockTimeApi & import("@solana/web3.js").GetClusterNodesApi & import("@solana/web3.js").GetEpochInfoApi & import("@solana/web3.js").GetEpochScheduleApi & import("@solana/web3.js").GetFeeForMessageApi & import("@solana/web3.js").GetFirstAvailableBlockApi & import("@solana/web3.js").GetGenesisHashApi & import("@solana/web3.js").GetHealthApi & import("@solana/web3.js").GetHighestSnapshotSlotApi & import("@solana/web3.js").GetIdentityApi & import("@solana/web3.js").GetInflationGovernorApi & import("@solana/web3.js").GetInflationRateApi & import("@solana/web3.js").GetInflationRewardApi & import("@solana/web3.js").GetLargestAccountsApi & import("@solana/web3.js").GetLatestBlockhashApi & import("@solana/web3.js").GetLeaderScheduleApi & import("@solana/web3.js").GetMaxRetransmitSlotApi & import("@solana/web3.js").GetMaxShredInsertSlotApi & import("@solana/web3.js").GetMinimumBalanceForRentExemptionApi & import("@solana/web3.js").GetMultipleAccountsApi & import("@solana/web3.js").GetProgramAccountsApi & import("@solana/web3.js").GetRecentPerformanceSamplesApi & import("@solana/web3.js").GetRecentPrioritizationFeesApi & import("@solana/web3.js").GetSignaturesForAddressApi & import("@solana/web3.js").GetSignatureStatusesApi & import("@solana/web3.js").GetSlotApi & import("@solana/web3.js").GetSlotLeaderApi & import("@solana/web3.js").GetSlotLeadersApi & import("@solana/web3.js").GetStakeMinimumDelegationApi & import("@solana/web3.js").GetSupplyApi & import("@solana/web3.js").GetTokenAccountBalanceApi & import("@solana/web3.js").GetTokenAccountsByDelegateApi & import("@solana/web3.js").GetTokenAccountsByOwnerApi & import("@solana/web3.js").GetTokenLargestAccountsApi & import("@solana/web3.js").GetTokenSupplyApi & import("@solana/web3.js").GetTransactionApi & import("@solana/web3.js").GetTransactionCountApi & import("@solana/web3.js").GetVersionApi & import("@solana/web3.js").GetVoteAccountsApi & import("@solana/web3.js").IsBlockhashValidApi & import("@solana/web3.js").MinimumLedgerSlotApi & import("@solana/web3.js").SendTransactionApi & import("@solana/web3.js").SimulateTransactionApi>;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
|
|
9
|
+
readonly clusterUrl: ClusterUrl;
|
|
10
|
+
constructor(clusterUrl: ClusterUrl, ...baseConstructorParams: ConstructorParameters<typeof SolanaBaseRpcFactory>);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=baseRpcFactories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseRpcFactories.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/baseRpcFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGzF,8BAAsB,oBAAoB;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;aAGpB,eAAe,IAAI,YAAY;IAGxC,eAAe;CAGvB;AAID,8BAAsB,uBAAwB,SAAQ,oBAAoB;IAEtE,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU,EAC/B,GAAG,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,oBAAoB,CAAC;CAI/E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/web3.js";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
|
+
export declare class SolanaDefaultRpcFactory extends SolanaClusterRpcFactory {
|
|
4
|
+
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>);
|
|
5
|
+
createTransport(): RpcTransport;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=defaultRpcFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/defaultRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,qBAAa,uBAAwB,SAAQ,uBAAuB;gBACtD,GAAG,wBAAwB,EAAE,qBAAqB,CAAC,OAAO,uBAAuB,CAAC;IAIvF,eAAe,IAAI,YAAY;CAGvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RpcResponse } from "@solana/web3.js";
|
|
2
|
+
import { Logger } from "winston";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
5
|
+
export declare class RateLimitedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
readonly pctRpcCallsLogged: number;
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
private queue;
|
|
9
|
+
private readonly defaultTransport;
|
|
10
|
+
constructor(maxConcurrency: number, pctRpcCallsLogged: number, logger: Logger, ...defaultConstructorParams: ConstructorParameters<typeof SolanaDefaultRpcFactory>);
|
|
11
|
+
private wrapSendWithLog;
|
|
12
|
+
createTransport(): <TResponse>(config: Readonly<{
|
|
13
|
+
payload: unknown;
|
|
14
|
+
signal?: AbortSignal | undefined;
|
|
15
|
+
}>) => Promise<TResponse>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=rateLimitedRpcFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/rateLimitedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,iBAAiB,CAAC;AAE5D,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAM9D,qBAAa,2BAA4B,SAAQ,uBAAuB;IAWpE,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAVzB,OAAO,CAAC,KAAK,CAAmC;IAGhD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;gBAK9C,cAAc,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAEf,EACF,GAAG,wBAAwB,EAAE,qBAAqB,CAAC,OAAO,uBAAuB,CAAC;YAkBtE,eAAe;IA0CtB,eAAe;;;;CAevB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/rpc-spec";
|
|
2
|
+
/**
|
|
3
|
+
* This is the type we pass to define a Solana RPC request "task".
|
|
4
|
+
*/
|
|
5
|
+
export interface SolanaRateLimitTask {
|
|
6
|
+
rpcArgs: Parameters<RpcTransport>;
|
|
7
|
+
resolve: (result: unknown) => void;
|
|
8
|
+
reject: (err: unknown) => void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +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;AAEhD;;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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@across-protocol/sdk",
|
|
3
3
|
"author": "UMA Team",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.16",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"homepage": "https://docs.across.to/reference/sdk",
|
|
7
7
|
"files": [
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
}
|
|
49
49
|
],
|
|
50
50
|
"devDependencies": {
|
|
51
|
+
"@coral-xyz/borsh": "^0.30.1",
|
|
51
52
|
"@defi-wonderland/smock": "^2.3.5",
|
|
52
53
|
"@eth-optimism/contracts": "^0.5.37",
|
|
53
54
|
"@nomiclabs/hardhat-ethers": "^2.2.1",
|
|
@@ -104,6 +105,7 @@
|
|
|
104
105
|
"@eth-optimism/sdk": "^3.3.1",
|
|
105
106
|
"@ethersproject/bignumber": "^5.7.0",
|
|
106
107
|
"@pinata/sdk": "^2.1.0",
|
|
108
|
+
"@solana/web3.js": "^2.0.0",
|
|
107
109
|
"@types/mocha": "^10.0.1",
|
|
108
110
|
"@uma/sdk": "^0.34.10",
|
|
109
111
|
"arweave": "^1.14.4",
|
package/src/providers/index.ts
CHANGED
|
@@ -302,13 +302,14 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
// The `data` member of err _may_ be populated but would need to be verified.
|
|
305
|
-
const
|
|
305
|
+
const message = err.message.toLowerCase();
|
|
306
306
|
switch (method) {
|
|
307
307
|
case "eth_call":
|
|
308
308
|
case "eth_estimateGas":
|
|
309
|
-
return message.
|
|
309
|
+
return message.includes("revert"); // Transaction will fail.
|
|
310
310
|
case "eth_sendRawTransaction":
|
|
311
|
-
|
|
311
|
+
// Nonce too low or gas price is too low.
|
|
312
|
+
return message.includes("nonce") || message.includes("underpriced");
|
|
312
313
|
default:
|
|
313
314
|
break;
|
|
314
315
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ClusterUrl, createSolanaRpcFromTransport, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
|
|
3
|
+
// This is abstract base class for creating Solana RPC clients and transports.
|
|
4
|
+
export abstract class SolanaBaseRpcFactory {
|
|
5
|
+
constructor(readonly chainId: number) {}
|
|
6
|
+
|
|
7
|
+
// This method must be implemented by the derived class to create a transport.
|
|
8
|
+
public abstract createTransport(): RpcTransport;
|
|
9
|
+
|
|
10
|
+
// This method creates a Solana RPC client from the implemented transport.
|
|
11
|
+
public createRpcClient() {
|
|
12
|
+
return createSolanaRpcFromTransport(this.createTransport());
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Enhanced class for creating Solana RPC clients and transports storing additional cluster info.
|
|
17
|
+
// This can be used by derived classes that are connected to a single base transport.
|
|
18
|
+
export abstract class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
|
|
19
|
+
constructor(
|
|
20
|
+
readonly clusterUrl: ClusterUrl,
|
|
21
|
+
...baseConstructorParams: ConstructorParameters<typeof SolanaBaseRpcFactory>
|
|
22
|
+
) {
|
|
23
|
+
super(...baseConstructorParams);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createDefaultRpcTransport, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
|
+
|
|
4
|
+
// Exposes default RPC transport for Solana in the SolanaClusterRpcFactory class.
|
|
5
|
+
export class SolanaDefaultRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>) {
|
|
7
|
+
super(...clusterConstructorParams);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
public createTransport(): RpcTransport {
|
|
11
|
+
return createDefaultRpcTransport({ url: this.clusterUrl });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { RpcResponse, RpcTransport } from "@solana/web3.js";
|
|
2
|
+
import { QueueObject, queue } from "async";
|
|
3
|
+
import winston, { Logger } from "winston";
|
|
4
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
5
|
+
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
6
|
+
import { SolanaRateLimitTask } from "./utils";
|
|
7
|
+
import { getOriginFromURL } from "../../utils";
|
|
8
|
+
|
|
9
|
+
// This factory is a very small addition to the SolanaDefaultRpcFactory that ensures that no more than maxConcurrency
|
|
10
|
+
// requests are ever in flight. It uses the async/queue library to manage this.
|
|
11
|
+
export class RateLimitedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
12
|
+
// The queue object that manages the tasks.
|
|
13
|
+
private queue: QueueObject<SolanaRateLimitTask>;
|
|
14
|
+
|
|
15
|
+
// Holds the underlying transport that the rate limiter wraps.
|
|
16
|
+
private readonly defaultTransport: RpcTransport;
|
|
17
|
+
|
|
18
|
+
// Takes the same arguments as the SolanaDefaultRpcFactory, but it has an additional parameters to control
|
|
19
|
+
// concurrency and logging at the beginning of the list.
|
|
20
|
+
constructor(
|
|
21
|
+
maxConcurrency: number,
|
|
22
|
+
readonly pctRpcCallsLogged: number,
|
|
23
|
+
readonly logger: Logger = winston.createLogger({
|
|
24
|
+
transports: [new winston.transports.Console()],
|
|
25
|
+
}),
|
|
26
|
+
...defaultConstructorParams: ConstructorParameters<typeof SolanaDefaultRpcFactory>
|
|
27
|
+
) {
|
|
28
|
+
super(...defaultConstructorParams);
|
|
29
|
+
this.defaultTransport = new SolanaDefaultRpcFactory(...defaultConstructorParams).createTransport();
|
|
30
|
+
|
|
31
|
+
// This sets up the queue. Each task is executed by forwarding the RPC request to the underlying base transport.
|
|
32
|
+
// This queue sends out requests concurrently, but stops once the concurrency limit is reached. The maxConcurrency
|
|
33
|
+
// is configured here.
|
|
34
|
+
this.queue = queue(async ({ rpcArgs, resolve, reject }: SolanaRateLimitTask, callback: () => void) => {
|
|
35
|
+
await this.wrapSendWithLog(...rpcArgs)
|
|
36
|
+
.then(resolve)
|
|
37
|
+
.catch(reject);
|
|
38
|
+
// we need this for the queue to know that the task is done
|
|
39
|
+
// @see: https://caolan.github.io/async/v3/global.html
|
|
40
|
+
callback();
|
|
41
|
+
}, maxConcurrency);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private async wrapSendWithLog(...rpcArgs: Parameters<RpcTransport>) {
|
|
45
|
+
if (this.pctRpcCallsLogged <= 0 || Math.random() > this.pctRpcCallsLogged / 100) {
|
|
46
|
+
// Non sample path: no logging or timing, just issue the request.
|
|
47
|
+
return await this.defaultTransport(...rpcArgs);
|
|
48
|
+
} else {
|
|
49
|
+
const payload = rpcArgs[0].payload as { method: string; params?: unknown[] };
|
|
50
|
+
const loggerArgs = {
|
|
51
|
+
at: "SolanaProviderUtils",
|
|
52
|
+
message: "Solana provider response sample",
|
|
53
|
+
provider: getOriginFromURL(this.clusterUrl),
|
|
54
|
+
method: payload.method,
|
|
55
|
+
params: payload.params,
|
|
56
|
+
chainId: this.chainId,
|
|
57
|
+
datadog: true,
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// In this path we log an rpc response sample.
|
|
61
|
+
// Note: use performance.now() to ensure a purely monotonic clock.
|
|
62
|
+
const startTime = performance.now();
|
|
63
|
+
try {
|
|
64
|
+
const result = await this.defaultTransport(...rpcArgs);
|
|
65
|
+
const elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
66
|
+
this.logger.debug({
|
|
67
|
+
...loggerArgs,
|
|
68
|
+
success: true,
|
|
69
|
+
timeElapsed: elapsedTimeS,
|
|
70
|
+
});
|
|
71
|
+
return result;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
// Log errors as well.
|
|
74
|
+
// For now, to keep logs light, don't log the error itself, just propagate and let it be handled higher up.
|
|
75
|
+
const elapsedTimeS = (performance.now() - startTime) / 1000;
|
|
76
|
+
this.logger.debug({
|
|
77
|
+
...loggerArgs,
|
|
78
|
+
success: false,
|
|
79
|
+
timeElapsed: elapsedTimeS,
|
|
80
|
+
});
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
public createTransport() {
|
|
87
|
+
return <TResponse>(...args: Parameters<RpcTransport>): Promise<RpcResponse<TResponse>> => {
|
|
88
|
+
// This simply creates a promise and adds the arguments and resolve and reject handlers to the task.
|
|
89
|
+
return new Promise<RpcResponse<TResponse>>((resolve, reject) => {
|
|
90
|
+
const task: SolanaRateLimitTask = {
|
|
91
|
+
rpcArgs: args,
|
|
92
|
+
resolve: resolve as (value: unknown) => void,
|
|
93
|
+
reject,
|
|
94
|
+
};
|
|
95
|
+
// We didn't previously wait for this push so we can emulate
|
|
96
|
+
// the same behavior with the `void` keyword.
|
|
97
|
+
void this.queue.push(task);
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/rpc-spec";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This is the type we pass to define a Solana RPC request "task".
|
|
5
|
+
*/
|
|
6
|
+
export interface SolanaRateLimitTask {
|
|
7
|
+
// These are the arguments to be passed to base transport when making the RPC request.
|
|
8
|
+
rpcArgs: Parameters<RpcTransport>;
|
|
9
|
+
|
|
10
|
+
// These are the promise callbacks that will cause the initial RPC call made by the user to either return a result
|
|
11
|
+
// or fail.
|
|
12
|
+
resolve: (result: unknown) => void;
|
|
13
|
+
reject: (err: unknown) => void;
|
|
14
|
+
}
|