@across-protocol/sdk 4.1.18 → 4.1.21
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/caching/Memory/MemoryCacheClient.d.ts +6 -0
- package/dist/cjs/caching/Memory/MemoryCacheClient.js +32 -0
- package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -0
- package/dist/cjs/caching/Memory/index.d.ts +1 -0
- package/dist/cjs/caching/Memory/index.js +5 -0
- package/dist/cjs/caching/Memory/index.js.map +1 -0
- package/dist/cjs/caching/index.d.ts +1 -0
- package/dist/cjs/caching/index.js +1 -0
- package/dist/cjs/caching/index.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +1 -1
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient.d.ts +2 -1
- package/dist/cjs/clients/SpokePoolClient.js +61 -71
- package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +2 -1
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
- package/dist/cjs/providers/cachedProvider.js +24 -20
- package/dist/cjs/providers/cachedProvider.js.map +1 -1
- package/dist/cjs/providers/solana/baseRpcFactories.d.ts +2 -2
- package/dist/cjs/providers/solana/baseRpcFactories.js +2 -2
- package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
- package/dist/cjs/providers/solana/cachedRpcFactory.d.ts +16 -0
- package/dist/cjs/providers/solana/cachedRpcFactory.js +121 -0
- package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -0
- package/dist/cjs/providers/solana/defaultRpcFactory.d.ts +1 -1
- package/dist/cjs/providers/solana/defaultRpcFactory.js +2 -2
- package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/index.d.ts +1 -0
- package/dist/cjs/providers/solana/index.js +1 -0
- package/dist/cjs/providers/solana/index.js.map +1 -1
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
- package/dist/cjs/svm/eventsClient.d.ts +15 -0
- package/dist/cjs/svm/eventsClient.js +164 -0
- package/dist/cjs/svm/eventsClient.js.map +1 -0
- package/dist/cjs/svm/index.d.ts +1 -0
- package/dist/cjs/svm/index.js +5 -0
- package/dist/cjs/svm/index.js.map +1 -0
- package/dist/cjs/svm/types.d.ts +29 -0
- package/dist/cjs/svm/types.js +21 -0
- package/dist/cjs/svm/types.js.map +1 -0
- package/dist/cjs/svm/utils/events.d.ts +3 -0
- package/dist/cjs/svm/utils/events.js +38 -0
- package/dist/cjs/svm/utils/events.js.map +1 -0
- package/dist/cjs/svm/utils/helpers.d.ts +2 -0
- package/dist/cjs/svm/utils/helpers.js +19 -0
- package/dist/cjs/svm/utils/helpers.js.map +1 -0
- package/dist/cjs/utils/DepositUtils.js +2 -3
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/JSONUtils.d.ts +2 -0
- package/dist/cjs/utils/JSONUtils.js +9 -1
- package/dist/cjs/utils/JSONUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +9 -0
- package/dist/cjs/utils/SpokeUtils.js +29 -1
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +0 -1
- package/dist/cjs/utils/index.js +0 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/caching/Memory/MemoryCacheClient.d.ts +9 -0
- package/dist/esm/caching/Memory/MemoryCacheClient.js +32 -0
- package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -0
- package/dist/esm/caching/Memory/index.d.ts +1 -0
- package/dist/esm/caching/Memory/index.js +2 -0
- package/dist/esm/caching/Memory/index.js.map +1 -0
- package/dist/esm/caching/index.d.ts +1 -0
- package/dist/esm/caching/index.js +1 -0
- package/dist/esm/caching/index.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +1 -1
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient.d.ts +2 -1
- package/dist/esm/clients/SpokePoolClient.js +61 -70
- package/dist/esm/clients/SpokePoolClient.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +2 -1
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
- package/dist/esm/providers/cachedProvider.js +24 -20
- package/dist/esm/providers/cachedProvider.js.map +1 -1
- package/dist/esm/providers/solana/baseRpcFactories.d.ts +2 -2
- package/dist/esm/providers/solana/baseRpcFactories.js +1 -1
- package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
- package/dist/esm/providers/solana/cachedRpcFactory.d.ts +16 -0
- package/dist/esm/providers/solana/cachedRpcFactory.js +128 -0
- package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -0
- package/dist/esm/providers/solana/defaultRpcFactory.d.ts +1 -1
- package/dist/esm/providers/solana/defaultRpcFactory.js +1 -1
- package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/index.d.ts +1 -0
- package/dist/esm/providers/solana/index.js +1 -0
- package/dist/esm/providers/solana/index.js.map +1 -1
- package/dist/esm/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
- package/dist/esm/svm/eventsClient.d.ts +51 -0
- package/dist/esm/svm/eventsClient.js +202 -0
- package/dist/esm/svm/eventsClient.js.map +1 -0
- package/dist/esm/svm/index.d.ts +1 -0
- package/dist/esm/svm/index.js +2 -0
- package/dist/esm/svm/index.js.map +1 -0
- package/dist/esm/svm/types.d.ts +29 -0
- package/dist/esm/svm/types.js +18 -0
- package/dist/esm/svm/types.js.map +1 -0
- package/dist/esm/svm/utils/events.d.ts +9 -0
- package/dist/esm/svm/utils/events.js +43 -0
- package/dist/esm/svm/utils/events.js.map +1 -0
- package/dist/esm/svm/utils/helpers.d.ts +5 -0
- package/dist/esm/svm/utils/helpers.js +18 -0
- package/dist/esm/svm/utils/helpers.js.map +1 -0
- package/dist/esm/utils/DepositUtils.js +1 -2
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/JSONUtils.d.ts +8 -0
- package/dist/esm/utils/JSONUtils.js +12 -0
- package/dist/esm/utils/JSONUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +9 -0
- package/dist/esm/utils/SpokeUtils.js +34 -1
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/index.d.ts +0 -1
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/caching/Memory/MemoryCacheClient.d.ts +10 -0
- package/dist/types/caching/Memory/MemoryCacheClient.d.ts.map +1 -0
- package/dist/types/caching/Memory/index.d.ts +2 -0
- package/dist/types/caching/Memory/index.d.ts.map +1 -0
- package/dist/types/caching/index.d.ts +1 -0
- package/dist/types/caching/index.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +1 -1
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient.d.ts +2 -1
- package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts.map +1 -1
- package/dist/types/providers/cachedProvider.d.ts.map +1 -1
- package/dist/types/providers/solana/baseRpcFactories.d.ts +2 -2
- package/dist/types/providers/solana/baseRpcFactories.d.ts.map +1 -1
- package/dist/types/providers/solana/cachedRpcFactory.d.ts +17 -0
- package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/solana/defaultRpcFactory.d.ts +1 -1
- package/dist/types/providers/solana/defaultRpcFactory.d.ts.map +1 -1
- package/dist/types/providers/solana/index.d.ts +1 -0
- package/dist/types/providers/solana/index.d.ts.map +1 -1
- package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
- package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts.map +1 -1
- package/dist/types/svm/eventsClient.d.ts +52 -0
- package/dist/types/svm/eventsClient.d.ts.map +1 -0
- package/dist/types/svm/index.d.ts +2 -0
- package/dist/types/svm/index.d.ts.map +1 -0
- package/dist/types/svm/types.d.ts +30 -0
- package/dist/types/svm/types.d.ts.map +1 -0
- package/dist/types/svm/utils/events.d.ts +10 -0
- package/dist/types/svm/utils/events.d.ts.map +1 -0
- package/dist/types/svm/utils/helpers.d.ts +6 -0
- package/dist/types/svm/utils/helpers.d.ts.map +1 -0
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/JSONUtils.d.ts +8 -0
- package/dist/types/utils/JSONUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +9 -0
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +9 -4
- package/src/caching/Memory/MemoryCacheClient.ts +35 -0
- package/src/caching/Memory/index.ts +1 -0
- package/src/caching/index.ts +1 -0
- package/src/clients/HubPoolClient.ts +2 -2
- package/src/clients/SpokePoolClient.ts +16 -17
- package/src/index.ts +1 -0
- package/src/lpFeeCalculator/lpFeeCalculator.ts +6 -1
- package/src/providers/cachedProvider.ts +34 -31
- package/src/providers/solana/baseRpcFactories.ts +1 -1
- package/src/providers/solana/cachedRpcFactory.ts +124 -0
- package/src/providers/solana/defaultRpcFactory.ts +1 -1
- package/src/providers/solana/index.ts +1 -0
- package/src/providers/solana/rateLimitedRpcFactory.ts +2 -2
- package/src/svm/eventsClient.ts +205 -0
- package/src/svm/index.ts +1 -0
- package/src/svm/types.ts +47 -0
- package/src/svm/utils/events.ts +46 -0
- package/src/svm/utils/helpers.ts +9 -0
- package/src/utils/DepositUtils.ts +1 -2
- package/src/utils/JSONUtils.ts +14 -0
- package/src/utils/SpokeUtils.ts +42 -1
- package/src/utils/index.ts +0 -1
- package/dist/cjs/utils/FlowUtils.d.ts +0 -11
- package/dist/cjs/utils/FlowUtils.js +0 -34
- package/dist/cjs/utils/FlowUtils.js.map +0 -1
- package/dist/esm/utils/FlowUtils.d.ts +0 -11
- package/dist/esm/utils/FlowUtils.js +0 -36
- package/dist/esm/utils/FlowUtils.js.map +0 -1
- package/dist/types/utils/FlowUtils.d.ts +0 -12
- package/dist/types/utils/FlowUtils.d.ts.map +0 -1
- package/src/utils/FlowUtils.ts +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lpFeeCalculator.js","sourceRoot":"","sources":["../../../src/lpFeeCalculator/lpFeeCalculator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lpFeeCalculator.js","sourceRoot":"","sources":["../../../src/lpFeeCalculator/lpFeeCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,47 +54,51 @@ var CacheProvider = /** @class */ (function (_super) {
|
|
|
54
54
|
_f.label = 3;
|
|
55
55
|
case 3:
|
|
56
56
|
cacheType = _d;
|
|
57
|
-
if (!(cacheType
|
|
57
|
+
if (!(cacheType === CacheType.NONE)) return [3 /*break*/, 5];
|
|
58
|
+
return [4 /*yield*/, _super.prototype.send.call(this, method, params)];
|
|
59
|
+
case 4: return [2 /*return*/, _f.sent()];
|
|
60
|
+
case 5:
|
|
58
61
|
redisKey = this.buildRedisKey(method, params);
|
|
59
62
|
return [4 /*yield*/, ((_a = this.redisClient) === null || _a === void 0 ? void 0 : _a.get(redisKey))];
|
|
60
|
-
case
|
|
63
|
+
case 6:
|
|
61
64
|
redisResult = _f.sent();
|
|
62
65
|
// If cache has the result, parse the json and return it.
|
|
63
66
|
if (redisResult) {
|
|
64
67
|
return [2 /*return*/, JSON.parse(redisResult)];
|
|
65
68
|
}
|
|
66
69
|
return [4 /*yield*/, _super.prototype.send.call(this, method, params)];
|
|
67
|
-
case
|
|
70
|
+
case 7:
|
|
68
71
|
result = _f.sent();
|
|
69
|
-
if (!(cacheType === CacheType.DECIDE_TTL_POST_SEND)) return [3 /*break*/,
|
|
72
|
+
if (!(cacheType === CacheType.DECIDE_TTL_POST_SEND)) return [3 /*break*/, 9];
|
|
70
73
|
blockNumber = this.getBlockNumberFromRpcResponse(method, result);
|
|
71
74
|
return [4 /*yield*/, this.cacheTypeForBlock(blockNumber)];
|
|
72
|
-
case
|
|
75
|
+
case 8:
|
|
73
76
|
cacheType = _f.sent();
|
|
74
|
-
|
|
75
|
-
|
|
77
|
+
if (cacheType === CacheType.NONE) {
|
|
78
|
+
return [2 /*return*/, result];
|
|
79
|
+
}
|
|
80
|
+
_f.label = 9;
|
|
81
|
+
case 9:
|
|
76
82
|
_e = cacheType;
|
|
77
83
|
switch (_e) {
|
|
78
|
-
case CacheType.WITH_TTL: return [3 /*break*/,
|
|
79
|
-
case CacheType.NO_TTL: return [3 /*break*/,
|
|
84
|
+
case CacheType.WITH_TTL: return [3 /*break*/, 10];
|
|
85
|
+
case CacheType.NO_TTL: return [3 /*break*/, 12];
|
|
80
86
|
}
|
|
81
|
-
return [3 /*break*/,
|
|
82
|
-
case
|
|
87
|
+
return [3 /*break*/, 14];
|
|
88
|
+
case 10:
|
|
83
89
|
ttl = this.baseTTL + Math.ceil(random(-ttl_modifier, ttl_modifier, true) * this.baseTTL);
|
|
84
90
|
return [4 /*yield*/, ((_b = this.redisClient) === null || _b === void 0 ? void 0 : _b.set(redisKey, JSON.stringify(result), ttl))];
|
|
85
|
-
case 9:
|
|
86
|
-
_f.sent();
|
|
87
|
-
return [3 /*break*/, 13];
|
|
88
|
-
case 10: return [4 /*yield*/, ((_c = this.redisClient) === null || _c === void 0 ? void 0 : _c.set(redisKey, JSON.stringify(result), Number.POSITIVE_INFINITY))];
|
|
89
91
|
case 11:
|
|
90
92
|
_f.sent();
|
|
91
|
-
return [3 /*break*/,
|
|
92
|
-
case 12:
|
|
93
|
-
case 13:
|
|
93
|
+
return [3 /*break*/, 15];
|
|
94
|
+
case 12: return [4 /*yield*/, ((_c = this.redisClient) === null || _c === void 0 ? void 0 : _c.set(redisKey, JSON.stringify(result), Number.POSITIVE_INFINITY))];
|
|
95
|
+
case 13:
|
|
96
|
+
_f.sent();
|
|
97
|
+
return [3 /*break*/, 15];
|
|
98
|
+
case 14: throw new Error("Unexpected Cache type: ".concat(cacheType));
|
|
99
|
+
case 15:
|
|
94
100
|
// Return the cached result.
|
|
95
101
|
return [2 /*return*/, result];
|
|
96
|
-
case 14: return [4 /*yield*/, _super.prototype.send.call(this, method, params)];
|
|
97
|
-
case 15: return [2 /*return*/, _f.sent()];
|
|
98
102
|
}
|
|
99
103
|
});
|
|
100
104
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedProvider.js","sourceRoot":"","sources":["../../../src/providers/cachedProvider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;IAAmC,iCAAmB;IAOpD,uBACE,sBAA8B,EACrB,WAAuC;IAChD,mHAAmH;IAC1G,wBAAmD;IAC5D,yGAAyG;IAChG,kBAA6C,EAC7C,gBAAqC;QAHrC,yCAAA,EAAA,2BAA2B,MAAM,CAAC,iBAAiB;QAEnD,mCAAA,EAAA,qBAAqB,MAAM,CAAC,iBAAiB;QAC7C,iCAAA,EAAA,qCAAqC;QAC9C,kCAA8E;aAA9E,UAA8E,EAA9E,qBAA8E,EAA9E,IAA8E;YAA9E,iDAA8E;;QARhF,+BAUW,wBAAwB,UAiBlC;QAzBU,iBAAW,GAAX,WAAW,CAA4B;QAEvC,8BAAwB,GAAxB,wBAAwB,CAA2B;QAEnD,wBAAkB,GAAlB,kBAAkB,CAA2B;QAC7C,sBAAgB,GAAhB,gBAAgB,CAAqB;QAKtC,IAAA,OAAO,GAAK,KAAI,CAAC,OAAO,QAAjB,CAAkB;QAEjC,oDAAoD;QACpD,IAAM,WAAW,GAAG,UAAG,sBAAsB,cAAI,IAAI,GAAG,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,cAAI,OAAO,CAAE,CAAC;QACpG,KAAI,CAAC,sBAAsB,GAAG,UAAG,WAAW,uBAAoB,CAAC;QACjE,KAAI,CAAC,kBAAkB,GAAG,UAAG,WAAW,kBAAe,CAAC;QACxD,KAAI,CAAC,eAAe,GAAG,UAAG,WAAW,eAAY,CAAC;QAClD,KAAI,CAAC,2BAA2B,GAAG,UAAG,WAAW,gCAA6B,CAAC;QAE/E,IAAM,OAAO,GAAG,gBAAgB,CAAC;QACjC,IAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAAuB,OAAO,8BAA2B,CAAC,CAAC;SAC5E;QACD,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;;IACtB,CAAC;IACc,4BAAI,GAAnB,UAAoB,MAAc,EAAE,MAAsB;;;;;;;6BACxC,IAAI,CAAC,WAAW,EAAhB,wBAAgB;wBAAG,qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAA;;wBAApC,KAAA,SAAoC,CAAA;;;wBAAG,KAAA,SAAS,CAAC,IAAI,CAAA;;;wBAApF,SAAS,KAA2E;6BAEpF,CAAA,SAAS,KAAK,SAAS,CAAC,IAAI,CAAA,EAA5B,
|
|
1
|
+
{"version":3,"file":"cachedProvider.js","sourceRoot":"","sources":["../../../src/providers/cachedProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ClusterUrl, RpcTransport } from "@solana/
|
|
1
|
+
import { ClusterUrl, RpcTransport } from "@solana/kit";
|
|
2
2
|
export declare abstract class SolanaBaseRpcFactory {
|
|
3
3
|
readonly chainId: number;
|
|
4
4
|
constructor(chainId: number);
|
|
5
5
|
abstract createTransport(): RpcTransport;
|
|
6
|
-
createRpcClient(): import("@solana/
|
|
6
|
+
createRpcClient(): import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
7
7
|
}
|
|
8
8
|
export declare abstract class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
|
|
9
9
|
readonly clusterUrl: ClusterUrl;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { createSolanaRpcFromTransport } from "@solana/
|
|
2
|
+
import { createSolanaRpcFromTransport } from "@solana/kit";
|
|
3
3
|
// This is abstract base class for creating Solana RPC clients and transports.
|
|
4
4
|
var SolanaBaseRpcFactory = /** @class */ (function () {
|
|
5
5
|
function SolanaBaseRpcFactory(chainId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseRpcFactories.js","sourceRoot":"","sources":["../../../../src/providers/solana/baseRpcFactories.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,4BAA4B,EAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"baseRpcFactories.js","sourceRoot":"","sources":["../../../../src/providers/solana/baseRpcFactories.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,4BAA4B,EAAgB,MAAM,aAAa,CAAC;AAErF,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,16 @@
|
|
|
1
|
+
import { RpcTransport, RpcFromTransport, SolanaRpcApiFromTransport } from "@solana/kit";
|
|
2
|
+
import { CachingMechanismInterface } from "../../interfaces";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
|
|
5
|
+
export declare class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
readonly redisClient?: CachingMechanismInterface | undefined;
|
|
7
|
+
readonly getTransactionCachePrefix: string;
|
|
8
|
+
protected rateLimitedTransport: RpcTransport;
|
|
9
|
+
protected rateLimitedRpcClient: RpcFromTransport<SolanaRpcApiFromTransport<RpcTransport>, RpcTransport>;
|
|
10
|
+
constructor(providerCacheNamespace: string, redisClient?: CachingMechanismInterface | undefined, ...rateLimitedConstructorParams: ConstructorParameters<typeof RateLimitedSolanaRpcFactory>);
|
|
11
|
+
createTransport(): RpcTransport;
|
|
12
|
+
private requestAndCacheFinalized;
|
|
13
|
+
private buildRedisKey;
|
|
14
|
+
private cacheType;
|
|
15
|
+
private isGetTransactionParams;
|
|
16
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { __awaiter, __extends, __generator, __spreadArray } from "tslib";
|
|
2
|
+
import { is, object, optional, string, tuple } from "superstruct";
|
|
3
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
+
import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
|
|
5
|
+
import { CacheType } from "../utils";
|
|
6
|
+
import { jsonReplacerWithBigInts, jsonReviverWithBigInts } from "../../utils";
|
|
7
|
+
var CachedSolanaRpcFactory = /** @class */ (function (_super) {
|
|
8
|
+
__extends(CachedSolanaRpcFactory, _super);
|
|
9
|
+
function CachedSolanaRpcFactory(providerCacheNamespace, redisClient) {
|
|
10
|
+
var _this = this;
|
|
11
|
+
var rateLimitedConstructorParams = [];
|
|
12
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
13
|
+
rateLimitedConstructorParams[_i - 2] = arguments[_i];
|
|
14
|
+
}
|
|
15
|
+
// SolanaClusterRpcFactory shares the last two constructor parameters with RateLimitedSolanaRpcFactory.
|
|
16
|
+
var superParams = rateLimitedConstructorParams.slice(-2);
|
|
17
|
+
_this = _super.apply(this, superParams) || this;
|
|
18
|
+
_this.redisClient = redisClient;
|
|
19
|
+
// Create the rate limited transport and RPC client.
|
|
20
|
+
var rateLimitedRpcFactory = new (RateLimitedSolanaRpcFactory.bind.apply(RateLimitedSolanaRpcFactory, __spreadArray([void 0], rateLimitedConstructorParams, false)))();
|
|
21
|
+
_this.rateLimitedTransport = rateLimitedRpcFactory.createTransport();
|
|
22
|
+
_this.rateLimitedRpcClient = rateLimitedRpcFactory.createRpcClient();
|
|
23
|
+
// Pre-compute as much of the redis key as possible.
|
|
24
|
+
var cachePrefix = "".concat(providerCacheNamespace, ",").concat(new URL(_this.clusterUrl).hostname, ",").concat(_this.chainId);
|
|
25
|
+
_this.getTransactionCachePrefix = "".concat(cachePrefix, ":getTransaction,");
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
CachedSolanaRpcFactory.prototype.createTransport = function () {
|
|
29
|
+
var _this = this;
|
|
30
|
+
return function () {
|
|
31
|
+
var args = [];
|
|
32
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
33
|
+
args[_i] = arguments[_i];
|
|
34
|
+
}
|
|
35
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
36
|
+
var _a, method, params, cacheType, redisKey, redisResult;
|
|
37
|
+
var _b;
|
|
38
|
+
return __generator(this, function (_c) {
|
|
39
|
+
switch (_c.label) {
|
|
40
|
+
case 0:
|
|
41
|
+
_a = args[0].payload, method = _a.method, params = _a.params;
|
|
42
|
+
cacheType = this.redisClient ? this.cacheType(method) : CacheType.NONE;
|
|
43
|
+
if (cacheType === CacheType.NONE) {
|
|
44
|
+
return [2 /*return*/, this.rateLimitedTransport.apply(this, args)];
|
|
45
|
+
}
|
|
46
|
+
redisKey = this.buildRedisKey(method, params);
|
|
47
|
+
return [4 /*yield*/, ((_b = this.redisClient) === null || _b === void 0 ? void 0 : _b.get(redisKey))];
|
|
48
|
+
case 1:
|
|
49
|
+
redisResult = _c.sent();
|
|
50
|
+
// If cache has the result, parse the json and return it.
|
|
51
|
+
if (redisResult) {
|
|
52
|
+
return [2 /*return*/, JSON.parse(redisResult, jsonReviverWithBigInts)];
|
|
53
|
+
}
|
|
54
|
+
// Cache does not have the result. Query it directly and cache it if finalized.
|
|
55
|
+
return [2 /*return*/, this.requestAndCacheFinalized.apply(this, args)];
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
CachedSolanaRpcFactory.prototype.requestAndCacheFinalized = function () {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
var args = [];
|
|
64
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
65
|
+
args[_i] = arguments[_i];
|
|
66
|
+
}
|
|
67
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
+
var _c, method, params, getSignatureStatusesResponse, getTransactionResponse, redisKey;
|
|
69
|
+
return __generator(this, function (_d) {
|
|
70
|
+
switch (_d.label) {
|
|
71
|
+
case 0:
|
|
72
|
+
_c = args[0].payload, method = _c.method, params = _c.params;
|
|
73
|
+
// Only handles getTransaction right now.
|
|
74
|
+
if (method !== "getTransaction")
|
|
75
|
+
return [2 /*return*/, this.rateLimitedTransport.apply(this, args)];
|
|
76
|
+
// Do not throw if params are not valid, just skip caching and pass through to the underlying transport.
|
|
77
|
+
if (!this.isGetTransactionParams(params))
|
|
78
|
+
return [2 /*return*/, this.rateLimitedTransport.apply(this, args)];
|
|
79
|
+
return [4 /*yield*/, this.rateLimitedRpcClient
|
|
80
|
+
.getSignatureStatuses([params[0]], {
|
|
81
|
+
searchTransactionHistory: true,
|
|
82
|
+
})
|
|
83
|
+
.send()];
|
|
84
|
+
case 1:
|
|
85
|
+
getSignatureStatusesResponse = _d.sent();
|
|
86
|
+
return [4 /*yield*/, this.rateLimitedTransport.apply(this, args)];
|
|
87
|
+
case 2:
|
|
88
|
+
getTransactionResponse = _d.sent();
|
|
89
|
+
if (!(((_a = getSignatureStatusesResponse.value[0]) === null || _a === void 0 ? void 0 : _a.confirmationStatus) === "finalized")) return [3 /*break*/, 4];
|
|
90
|
+
redisKey = this.buildRedisKey(method, params);
|
|
91
|
+
return [4 /*yield*/, ((_b = this.redisClient) === null || _b === void 0 ? void 0 : _b.set(redisKey, JSON.stringify(getTransactionResponse, jsonReplacerWithBigInts), Number.POSITIVE_INFINITY))];
|
|
92
|
+
case 3:
|
|
93
|
+
_d.sent();
|
|
94
|
+
_d.label = 4;
|
|
95
|
+
case 4: return [2 /*return*/, getTransactionResponse];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
CachedSolanaRpcFactory.prototype.buildRedisKey = function (method, params) {
|
|
101
|
+
// Only handles getTransaction right now.
|
|
102
|
+
switch (method) {
|
|
103
|
+
case "getTransaction":
|
|
104
|
+
return this.getTransactionCachePrefix + JSON.stringify(params, jsonReplacerWithBigInts);
|
|
105
|
+
default:
|
|
106
|
+
throw new Error("CachedSolanaRpcFactory::buildRedisKey: invalid JSON-RPC method ".concat(method));
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
CachedSolanaRpcFactory.prototype.cacheType = function (method) {
|
|
110
|
+
// Today, we only cache getTransaction.
|
|
111
|
+
if (method === "getTransaction") {
|
|
112
|
+
// We only store finalized transactions in the cache, hence TTL is not required.
|
|
113
|
+
return CacheType.NO_TTL;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return CacheType.NONE;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
CachedSolanaRpcFactory.prototype.isGetTransactionParams = function (params) {
|
|
120
|
+
return is(params, tuple([
|
|
121
|
+
string(),
|
|
122
|
+
optional(object()), // We use only the tx signature to get its commitment, but pass through the options as is.
|
|
123
|
+
]));
|
|
124
|
+
};
|
|
125
|
+
return CachedSolanaRpcFactory;
|
|
126
|
+
}(SolanaClusterRpcFactory));
|
|
127
|
+
export { CachedSolanaRpcFactory };
|
|
128
|
+
//# sourceMappingURL=cachedRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cachedRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RpcTransport } from "@solana/
|
|
1
|
+
import { RpcTransport } from "@solana/kit";
|
|
2
2
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
3
|
export declare class SolanaDefaultRpcFactory extends SolanaClusterRpcFactory {
|
|
4
4
|
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { createDefaultRpcTransport } from "@solana/
|
|
2
|
+
import { createDefaultRpcTransport } from "@solana/kit";
|
|
3
3
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
4
|
// Exposes default RPC transport for Solana in the SolanaClusterRpcFactory class.
|
|
5
5
|
var SolanaDefaultRpcFactory = /** @class */ (function (_super) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/defaultRpcFactory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"defaultRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/defaultRpcFactory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAgB,MAAM,aAAa,CAAC;AACtE,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"}
|
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RpcResponse } from "@solana/
|
|
1
|
+
import { RpcResponse, RpcTransport } from "@solana/kit";
|
|
2
2
|
import { Logger } from "winston";
|
|
3
3
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
4
|
import { SolanaDefaultRpcFactory } from "./defaultRpcFactory";
|
|
@@ -6,7 +6,7 @@ export declare class RateLimitedSolanaRpcFactory extends SolanaClusterRpcFactory
|
|
|
6
6
|
readonly pctRpcCallsLogged: number;
|
|
7
7
|
readonly logger: Logger;
|
|
8
8
|
private queue;
|
|
9
|
-
|
|
9
|
+
protected defaultTransport: RpcTransport;
|
|
10
10
|
constructor(maxConcurrency: number, pctRpcCallsLogged: number, logger: Logger, ...defaultConstructorParams: ConstructorParameters<typeof SolanaDefaultRpcFactory>);
|
|
11
11
|
private wrapSendWithLog;
|
|
12
12
|
createTransport(): <TResponse>(config: Readonly<{
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import web3, { GetSignaturesForAddressApi, RpcTransport } from "@solana/kit";
|
|
2
|
+
import { EventData, EventName, EventWithData } from "./types";
|
|
3
|
+
type GetSignaturesForAddressConfig = Parameters<GetSignaturesForAddressApi["getSignaturesForAddress"]>[1];
|
|
4
|
+
export declare class SvmSpokeEventsClient {
|
|
5
|
+
private rpc;
|
|
6
|
+
private svmSpokeAddress;
|
|
7
|
+
private svmSpokeEventAuthority;
|
|
8
|
+
/**
|
|
9
|
+
* Private constructor. Use the async create() method to instantiate.
|
|
10
|
+
*/
|
|
11
|
+
private constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Factory method to asynchronously create an instance of SvmSpokeEventsClient.
|
|
14
|
+
*/
|
|
15
|
+
static create(rpc: web3.Rpc<web3.SolanaRpcApiFromTransport<RpcTransport>>): Promise<SvmSpokeEventsClient>;
|
|
16
|
+
/**
|
|
17
|
+
* Queries events for the SvmSpoke program filtered by event name.
|
|
18
|
+
*
|
|
19
|
+
* @param eventName - The name of the event to filter by.
|
|
20
|
+
* @param fromSlot - Optional starting slot.
|
|
21
|
+
* @param toSlot - Optional ending slot.
|
|
22
|
+
* @param options - Options for fetching signatures.
|
|
23
|
+
* @returns A promise that resolves to an array of events matching the eventName.
|
|
24
|
+
*/
|
|
25
|
+
queryEvents<T extends EventData>(eventName: EventName, fromSlot?: bigint, toSlot?: bigint, options?: GetSignaturesForAddressConfig): Promise<EventWithData<T>[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Queries all events for a specific program.
|
|
28
|
+
*
|
|
29
|
+
* @param fromSlot - Optional starting slot.
|
|
30
|
+
* @param toSlot - Optional ending slot.
|
|
31
|
+
* @param options - Options for fetching signatures.
|
|
32
|
+
* @returns A promise that resolves to an array of all events with additional metadata.
|
|
33
|
+
*/
|
|
34
|
+
private queryAllEvents;
|
|
35
|
+
/**
|
|
36
|
+
* Reads events from a transaction signature.
|
|
37
|
+
*
|
|
38
|
+
* @param txSignature - The transaction signature.
|
|
39
|
+
* @param commitment - Commitment level.
|
|
40
|
+
* @returns A promise that resolves to an array of events.
|
|
41
|
+
*/
|
|
42
|
+
private readEventsFromSignature;
|
|
43
|
+
/**
|
|
44
|
+
* Processes events from a transaction.
|
|
45
|
+
*
|
|
46
|
+
* @param txResult - The transaction result.
|
|
47
|
+
* @returns A promise that resolves to an array of events with their data and name.
|
|
48
|
+
*/
|
|
49
|
+
private processEventFromTx;
|
|
50
|
+
}
|
|
51
|
+
export {};
|