@across-protocol/sdk 4.1.25 → 4.1.26
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/clients/SpokePoolClient.d.ts +2 -8
- package/dist/cjs/clients/SpokePoolClient.js +25 -44
- package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +0 -5
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/providers/solana/cachedRpcFactory.js +23 -8
- package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.js +16 -27
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/Multicall.d.ts +1 -0
- package/dist/cjs/utils/Multicall.js +55 -1
- package/dist/cjs/utils/Multicall.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient.d.ts +8 -8
- package/dist/esm/clients/SpokePoolClient.js +32 -45
- package/dist/esm/clients/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +1 -7
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/providers/solana/cachedRpcFactory.js +24 -8
- package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/esm/utils/DepositUtils.js +16 -27
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/Multicall.d.ts +6 -0
- package/dist/esm/utils/Multicall.js +60 -1
- package/dist/esm/utils/Multicall.js.map +1 -1
- package/dist/types/clients/SpokePoolClient.d.ts +8 -8
- package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/Multicall.d.ts +6 -0
- package/dist/types/utils/Multicall.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/clients/SpokePoolClient.ts +29 -45
- package/src/clients/mocks/MockSpokePoolClient.ts +0 -10
- package/src/providers/solana/cachedRpcFactory.ts +28 -14
- package/src/utils/DepositUtils.ts +18 -29
- package/src/utils/Multicall.ts +34 -1
|
@@ -33,7 +33,7 @@ export var InvalidFill;
|
|
|
33
33
|
export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
34
34
|
var _a;
|
|
35
35
|
return __awaiter(this, void 0, void 0, function () {
|
|
36
|
-
var depositId,
|
|
36
|
+
var depositId, originChain, deposit, match_1, cachedDeposit, result, match;
|
|
37
37
|
return __generator(this, function (_b) {
|
|
38
38
|
switch (_b.label) {
|
|
39
39
|
case 0:
|
|
@@ -53,33 +53,17 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
|
53
53
|
throw new Error("SpokePoolClient must be updated before querying historical deposits");
|
|
54
54
|
}
|
|
55
55
|
depositId = fill.depositId;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}];
|
|
63
|
-
}
|
|
64
|
-
(lowId = spokePoolClient.earliestDepositIdQueried, highId = spokePoolClient.latestDepositIdQueried);
|
|
65
|
-
if (depositId.gte(lowId) && depositId.lte(highId)) {
|
|
66
|
-
originChain = getNetworkName(fill.originChainId);
|
|
67
|
-
deposit_1 = spokePoolClient.getDeposit(depositId);
|
|
68
|
-
if (isDefined(deposit_1)) {
|
|
69
|
-
match_1 = validateFillForDeposit(fill, deposit_1);
|
|
70
|
-
if (match_1.valid) {
|
|
71
|
-
return [2 /*return*/, { found: true, deposit: deposit_1 }];
|
|
72
|
-
}
|
|
73
|
-
return [2 /*return*/, {
|
|
74
|
-
found: false,
|
|
75
|
-
code: InvalidFill.FillMismatch,
|
|
76
|
-
reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
|
|
77
|
-
}];
|
|
56
|
+
originChain = getNetworkName(fill.originChainId);
|
|
57
|
+
deposit = spokePoolClient.getDeposit(depositId);
|
|
58
|
+
if (isDefined(deposit)) {
|
|
59
|
+
match_1 = validateFillForDeposit(fill, deposit);
|
|
60
|
+
if (match_1.valid) {
|
|
61
|
+
return [2 /*return*/, { found: true, deposit: deposit }];
|
|
78
62
|
}
|
|
79
63
|
return [2 /*return*/, {
|
|
80
64
|
found: false,
|
|
81
|
-
code: InvalidFill.
|
|
82
|
-
reason: "".concat(originChain, " deposit ID ").concat(depositId.toString(), "
|
|
65
|
+
code: InvalidFill.FillMismatch,
|
|
66
|
+
reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
|
|
83
67
|
}];
|
|
84
68
|
}
|
|
85
69
|
if (!cache) return [3 /*break*/, 2];
|
|
@@ -106,15 +90,20 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
|
106
90
|
if (!isDefined(cachedDeposit)) return [3 /*break*/, 3];
|
|
107
91
|
deposit = cachedDeposit;
|
|
108
92
|
return [3 /*break*/, 6];
|
|
109
|
-
case 3: return [4 /*yield*/, spokePoolClient.findDeposit(fill.depositId
|
|
93
|
+
case 3: return [4 /*yield*/, spokePoolClient.findDeposit(fill.depositId)];
|
|
110
94
|
case 4:
|
|
111
|
-
|
|
95
|
+
result = _b.sent();
|
|
96
|
+
if (!result.found) {
|
|
97
|
+
return [2 /*return*/, result];
|
|
98
|
+
}
|
|
99
|
+
(deposit = result.deposit);
|
|
112
100
|
if (!cache) return [3 /*break*/, 6];
|
|
113
101
|
return [4 /*yield*/, setDepositInCache(deposit, getCurrentTime(), cache, DEFAULT_CACHING_TTL)];
|
|
114
102
|
case 5:
|
|
115
103
|
_b.sent();
|
|
116
104
|
_b.label = 6;
|
|
117
105
|
case 6:
|
|
106
|
+
assert(isDefined(deposit), "Unexpectedly failed to locate ".concat(originChain, " deposit ").concat(fill.depositId));
|
|
118
107
|
(_a = deposit.messageHash) !== null && _a !== void 0 ? _a : (deposit.messageHash = getMessageHash(deposit.message));
|
|
119
108
|
match = validateFillForDeposit(fill, deposit);
|
|
120
109
|
if (match.valid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,4FAA4F;AAC5F,gGAAgG;AAChG,yDAAyD;AAEzD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,qEAAoB,CAAA;IACpB,uEAAiB,CAAA;IACjB,6DAAY,CAAA;IACZ,2EAAmB,CAAA;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,6BAA6B,CACjD,eAAgC,EAChC,IAA4B,EAC5B,KAAiC;;;;;;;oBAEjC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;wBACrC,sBAAO;gCACL,KAAK,EAAE,KAAK;gCACZ,IAAI,EAAE,WAAW,CAAC,mBAAmB;gCACrC,MAAM,EAAE,yEAAkE,IAAI,CAAC,SAAS,MAAG;6BAC5F,EAAC;qBACH;oBACD,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,OAAO,EAAE;wBAClD,MAAM,IAAI,KAAK,CAAC,kCAA2B,IAAI,CAAC,aAAa,iBAAO,eAAe,CAAC,OAAO,MAAG,CAAC,CAAC;qBACjG;oBAED,kHAAkH;oBAClH,iEAAiE;oBACjE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;wBAC9B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;qBACxF;oBAEO,SAAS,GAAK,IAAI,UAAT,CAAU;
|
|
1
|
+
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,10 @@ export declare function blockAndAggregate(multicall3: Contract, calls: Call3[],
|
|
|
15
15
|
blockNumber: number;
|
|
16
16
|
returnData: Result[];
|
|
17
17
|
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Deploy a Multicall3 instance.
|
|
20
|
+
* Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
|
|
21
|
+
* @param signer An Ethers Signer instance with at least 0.1 ETH.
|
|
22
|
+
*/
|
|
23
|
+
export declare function deploy(signer: Signer): Promise<boolean>;
|
|
18
24
|
export {};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { __awaiter, __generator, __spreadArray } from "tslib";
|
|
3
|
-
import
|
|
3
|
+
import assert from "assert";
|
|
4
|
+
import { utils as ethersUtils } from "ethers";
|
|
5
|
+
import { CHAIN_IDs, MAINNET_CHAIN_IDs } from "@across-protocol/constants";
|
|
4
6
|
import { chainIsOPStack, hreNetworks } from "./NetworkUtils";
|
|
5
7
|
import { Multicall3__factory } from "./abi/typechain";
|
|
6
8
|
var DETERMINISTIC_MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
9
|
+
var MULTICALL_DEPLOYER = "0x05f32B3cC3888453ff71B01135B34FF8e41263F2";
|
|
7
10
|
var NON_DETERMINISTIC_MULTICALL_ADDRESSES = (_a = {},
|
|
8
11
|
_a[CHAIN_IDs.ZK_SYNC] = "0xF9cda624FBC7e059355ce98a31693d299FACd963",
|
|
9
12
|
_a[CHAIN_IDs.LENS_SEPOLIA] = "0x8A44EDE8a6843a997bC0Cc4659e4dB1Da8f91116",
|
|
@@ -87,4 +90,60 @@ export function blockAndAggregate(multicall3, calls, blockTag) {
|
|
|
87
90
|
});
|
|
88
91
|
});
|
|
89
92
|
}
|
|
93
|
+
function isDeployed(provider) {
|
|
94
|
+
var _a;
|
|
95
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
+
var chainId, expectedMulticallAddress, code;
|
|
97
|
+
return __generator(this, function (_b) {
|
|
98
|
+
switch (_b.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, provider.getNetwork()];
|
|
100
|
+
case 1:
|
|
101
|
+
chainId = (_b.sent()).chainId;
|
|
102
|
+
expectedMulticallAddress = (_a = getMulticallAddress(chainId)) !== null && _a !== void 0 ? _a : DETERMINISTIC_MULTICALL_ADDRESS;
|
|
103
|
+
return [4 /*yield*/, provider.getCode(expectedMulticallAddress)];
|
|
104
|
+
case 2:
|
|
105
|
+
code = _b.sent();
|
|
106
|
+
return [2 /*return*/, code !== "0x"];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Deploy a Multicall3 instance.
|
|
113
|
+
* Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
|
|
114
|
+
* @param signer An Ethers Signer instance with at least 0.1 ETH.
|
|
115
|
+
*/
|
|
116
|
+
export function deploy(signer) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
+
var chainId, _a;
|
|
119
|
+
return __generator(this, function (_b) {
|
|
120
|
+
switch (_b.label) {
|
|
121
|
+
case 0:
|
|
122
|
+
assert(signer.provider);
|
|
123
|
+
return [4 /*yield*/, isDeployed(signer.provider)];
|
|
124
|
+
case 1:
|
|
125
|
+
if (_b.sent()) {
|
|
126
|
+
return [2 /*return*/, true];
|
|
127
|
+
}
|
|
128
|
+
return [4 /*yield*/, signer.provider.getNetwork()];
|
|
129
|
+
case 2:
|
|
130
|
+
chainId = (_b.sent()).chainId;
|
|
131
|
+
assert(!Object.values(MAINNET_CHAIN_IDs).includes(chainId));
|
|
132
|
+
return [4 /*yield*/, signer.sendTransaction({ to: MULTICALL_DEPLOYER, value: ethersUtils.parseEther("0.1") })];
|
|
133
|
+
case 3:
|
|
134
|
+
_b.sent(); // Pre-fund the deployer address.
|
|
135
|
+
return [4 /*yield*/, signer.provider.sendTransaction(MULTICALL_CALLDATA)];
|
|
136
|
+
case 4:
|
|
137
|
+
_b.sent(); // Deploy
|
|
138
|
+
_a = assert;
|
|
139
|
+
return [4 /*yield*/, isDeployed(signer.provider)];
|
|
140
|
+
case 5:
|
|
141
|
+
_a.apply(void 0, [_b.sent()]);
|
|
142
|
+
return [2 /*return*/, true];
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// Multicall3 deployment transaction, pre-signed `deployer`.
|
|
148
|
+
var MULTICALL_CALLDATA = "0xf90f538085174876e800830f42408080b90f00608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220bb2b5c71a328032f97c676ae39a1ec2148d3e5d6f73d95e9b17910152d61f16264736f6c634300080c00331ca0edce47092c0f398cebf3ffc267f05c8e7076e3b89445e0fe50f6332273d4569ba01b0b9d000e19b24c5869b0fc3b22b0d6fa47cd63316875cbbd577d76e6fde086";
|
|
90
149
|
//# sourceMappingURL=Multicall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Contract, EventFilter } from "ethers";
|
|
2
2
|
import winston from "winston";
|
|
3
|
-
import { AnyObject, BigNumber, DefaultLogLevels, EventSearchConfig, MakeOptional } from "../utils";
|
|
3
|
+
import { AnyObject, BigNumber, DefaultLogLevels, DepositSearchResult, EventSearchConfig, MakeOptional } from "../utils";
|
|
4
4
|
import { Deposit, DepositWithBlock, Fill, FillStatus, FillWithBlock, Log, RelayData, RelayerRefundExecutionWithBlock, RootBundleRelayWithBlock, SlowFillRequestWithBlock, SpeedUpWithBlock, TokensBridged } from "../interfaces";
|
|
5
5
|
import { BaseAbstractClient, UpdateFailureReason } from "./BaseAbstractClient";
|
|
6
6
|
import { HubPoolClient } from "./HubPoolClient";
|
|
@@ -8,8 +8,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
|
|
|
8
8
|
type SpokePoolUpdateSuccess = {
|
|
9
9
|
success: true;
|
|
10
10
|
currentTime: number;
|
|
11
|
-
firstDepositId: BigNumber;
|
|
12
|
-
latestDepositId: BigNumber;
|
|
13
11
|
events: Log[][];
|
|
14
12
|
searchEndBlock: number;
|
|
15
13
|
};
|
|
@@ -57,10 +55,6 @@ export declare class SpokePoolClient extends BaseAbstractClient {
|
|
|
57
55
|
protected queryableEventNames: string[];
|
|
58
56
|
protected configStoreClient: AcrossConfigStoreClient | undefined;
|
|
59
57
|
protected invalidFills: Set<string>;
|
|
60
|
-
earliestDepositIdQueried: BigNumber;
|
|
61
|
-
latestDepositIdQueried: BigNumber;
|
|
62
|
-
firstDepositIdForSpokePool: BigNumber;
|
|
63
|
-
lastDepositIdForSpokePool: BigNumber;
|
|
64
58
|
fills: {
|
|
65
59
|
[OriginChainId: number]: FillWithBlock[];
|
|
66
60
|
};
|
|
@@ -310,7 +304,13 @@ export declare class SpokePoolClient extends BaseAbstractClient {
|
|
|
310
304
|
* @returns The time at the specified block tag.
|
|
311
305
|
*/
|
|
312
306
|
getTimeAt(blockNumber: number): Promise<number>;
|
|
313
|
-
|
|
307
|
+
/**
|
|
308
|
+
* For a given origin chain depositId, resolve the corresponding Deposit.
|
|
309
|
+
* Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
|
|
310
|
+
* @param depositId Deposit ID of the deposit to resolve.
|
|
311
|
+
* @returns A DepositSearchResult instance.
|
|
312
|
+
*/
|
|
313
|
+
findDeposit(depositId: BigNumber): Promise<DepositSearchResult>;
|
|
314
314
|
/**
|
|
315
315
|
* Determines whether a deposit originates from a lite chain.
|
|
316
316
|
* @param deposit The deposit to evaluate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,SAAS,EAGT,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,
|
|
1
|
+
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSpokePoolClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,GAAG,EACH,OAAO,EACP,gBAAgB,EAEhB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,SAAS,
|
|
1
|
+
{"version":3,"file":"MockSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSpokePoolClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,GAAG,EACH,OAAO,EACP,gBAAgB,EAEhB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,SAAS,EAKV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,qBAAa,mBAAoB,SAAQ,eAAe;IAC/C,YAAY,EAAE,YAAY,CAAC;IAClC,OAAO,CAAC,gCAAgC,CAA8B;IAE/D,gBAAgB,EAAE,SAAS,EAAE,CAAM;IACnC,gBAAgB,YAAU;gBAG/B,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,IAAI,GAAE;QAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;KAA4B;IAOzE,oBAAoB,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAIjE,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjE,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAIhE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI/C,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI;IAc7C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1D,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA4B1D,SAAgB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErD;IAEF,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI5E,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9E,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IA+CtG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAIhG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9F,SAAS,CAAC,UAAU,CAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAC7E,GAAG;IA8EN,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAIvC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAIrC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAkB/D,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG;IAanD,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9F,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI5F,SAAS,CAAC,gBAAgB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GACrE,GAAG;IA2BN,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,GAAG;IAkBpE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IA2BtF,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,cAAmB,GAC7B,GAAG;CAcP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAItE,qBAAa,sBAAuB,SAAQ,uBAAuB;IAW/D,QAAQ,CAAC,WAAW,CAAC;IAVvB,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAGlD,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAG7C,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;gBAGtG,sBAAsB,EAAE,MAAM,EACrB,WAAW,CAAC,uCAA2B,EAChD,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAmBrF,eAAe,IAAI,YAAY;YAwBxB,wBAAwB;IA4CtC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,sBAAsB;CAS/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa5G,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa5G,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkF9B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D"}
|
|
@@ -15,5 +15,11 @@ export declare function blockAndAggregate(multicall3: Contract, calls: Call3[],
|
|
|
15
15
|
blockNumber: number;
|
|
16
16
|
returnData: Result[];
|
|
17
17
|
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Deploy a Multicall3 instance.
|
|
20
|
+
* Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
|
|
21
|
+
* @param signer An Ethers Signer instance with at least 0.1 ETH.
|
|
22
|
+
*/
|
|
23
|
+
export declare function deploy(signer: Signer): Promise<boolean>;
|
|
18
24
|
export {};
|
|
19
25
|
//# sourceMappingURL=Multicall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multicall.d.ts","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Multicall.d.ts","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI3E,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAEjC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AA0BF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAO1G;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY5G;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,KAAK,EAAE,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBxD;AASD;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,oBAa1C"}
|
package/package.json
CHANGED
|
@@ -7,16 +7,16 @@ import {
|
|
|
7
7
|
bnZero,
|
|
8
8
|
bnUint32Max,
|
|
9
9
|
DefaultLogLevels,
|
|
10
|
+
DepositSearchResult,
|
|
10
11
|
EventSearchConfig,
|
|
11
12
|
MAX_BIG_INT,
|
|
12
13
|
MakeOptional,
|
|
13
14
|
assign,
|
|
14
15
|
getRelayEventKey,
|
|
16
|
+
InvalidFill,
|
|
15
17
|
isDefined,
|
|
16
18
|
toBN,
|
|
17
|
-
bnOne,
|
|
18
19
|
getMessageHash,
|
|
19
|
-
isUnsafeDepositId,
|
|
20
20
|
isSlowFill,
|
|
21
21
|
isValidEvmAddress,
|
|
22
22
|
isZeroAddress,
|
|
@@ -56,8 +56,6 @@ import { getRepaymentChainId, forceDestinationRepayment } from "./BundleDataClie
|
|
|
56
56
|
type SpokePoolUpdateSuccess = {
|
|
57
57
|
success: true;
|
|
58
58
|
currentTime: number;
|
|
59
|
-
firstDepositId: BigNumber;
|
|
60
|
-
latestDepositId: BigNumber;
|
|
61
59
|
events: Log[][];
|
|
62
60
|
searchEndBlock: number;
|
|
63
61
|
};
|
|
@@ -85,10 +83,6 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
85
83
|
protected queryableEventNames: string[] = [];
|
|
86
84
|
protected configStoreClient: AcrossConfigStoreClient | undefined;
|
|
87
85
|
protected invalidFills: Set<string> = new Set();
|
|
88
|
-
public earliestDepositIdQueried = MAX_BIG_INT;
|
|
89
|
-
public latestDepositIdQueried = bnZero;
|
|
90
|
-
public firstDepositIdForSpokePool = MAX_BIG_INT;
|
|
91
|
-
public lastDepositIdForSpokePool = MAX_BIG_INT;
|
|
92
86
|
public fills: { [OriginChainId: number]: FillWithBlock[] } = {};
|
|
93
87
|
|
|
94
88
|
/**
|
|
@@ -518,16 +512,6 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
518
512
|
* @returns A Promise that resolves to a SpokePoolUpdate object.
|
|
519
513
|
*/
|
|
520
514
|
protected async _update(eventsToQuery: string[]): Promise<SpokePoolUpdate> {
|
|
521
|
-
// Find the earliest known depositId. This assumes no deposits were placed in the deployment block.
|
|
522
|
-
let firstDepositId = this.firstDepositIdForSpokePool;
|
|
523
|
-
if (firstDepositId.eq(MAX_BIG_INT)) {
|
|
524
|
-
firstDepositId = await this.spokePool.numberOfDeposits({ blockTag: this.deploymentBlock });
|
|
525
|
-
firstDepositId = BigNumber.from(firstDepositId); // Cast input to a big number.
|
|
526
|
-
if (!BigNumber.isBigNumber(firstDepositId) || firstDepositId.lt(bnZero)) {
|
|
527
|
-
throw new Error(`SpokePoolClient::update: Invalid first deposit id (${firstDepositId})`);
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
|
|
531
515
|
const searchConfig = await this.updateSearchConfig(this.spokePool.provider);
|
|
532
516
|
if (isUpdateFailureReason(searchConfig)) {
|
|
533
517
|
const reason = searchConfig;
|
|
@@ -562,7 +546,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
562
546
|
});
|
|
563
547
|
|
|
564
548
|
const timerStart = Date.now();
|
|
565
|
-
const multicallFunctions = ["getCurrentTime"
|
|
549
|
+
const multicallFunctions = ["getCurrentTime"];
|
|
566
550
|
const [multicallOutput, ...events] = await Promise.all([
|
|
567
551
|
spokePool.callStatic.multicall(
|
|
568
552
|
multicallFunctions.map((f) => spokePool.interface.encodeFunctionData(f)),
|
|
@@ -572,10 +556,9 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
572
556
|
]);
|
|
573
557
|
this.log("debug", `Time to query new events from RPC for ${this.chainId}: ${Date.now() - timerStart} ms`);
|
|
574
558
|
|
|
575
|
-
const [currentTime
|
|
559
|
+
const [currentTime] = multicallFunctions.map(
|
|
576
560
|
(fn, idx) => spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]
|
|
577
561
|
);
|
|
578
|
-
const _latestDepositId = BigNumber.from(_numberOfDeposits).sub(bnOne);
|
|
579
562
|
|
|
580
563
|
if (!BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
|
|
581
564
|
const errMsg = BigNumber.isBigNumber(currentTime)
|
|
@@ -590,8 +573,6 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
590
573
|
return {
|
|
591
574
|
success: true,
|
|
592
575
|
currentTime: currentTime.toNumber(), // uint32
|
|
593
|
-
firstDepositId,
|
|
594
|
-
latestDepositId: _latestDepositId.gt(bnZero) ? _latestDepositId : bnZero,
|
|
595
576
|
searchEndBlock: searchConfig.toBlock,
|
|
596
577
|
events,
|
|
597
578
|
};
|
|
@@ -673,13 +654,6 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
673
654
|
continue;
|
|
674
655
|
}
|
|
675
656
|
assign(this.depositHashes, [getRelayEventKey(deposit)], deposit);
|
|
676
|
-
|
|
677
|
-
if (deposit.depositId.lt(this.earliestDepositIdQueried) && !isUnsafeDepositId(deposit.depositId)) {
|
|
678
|
-
this.earliestDepositIdQueried = deposit.depositId;
|
|
679
|
-
}
|
|
680
|
-
if (deposit.depositId.gt(this.latestDepositIdQueried) && !isUnsafeDepositId(deposit.depositId)) {
|
|
681
|
-
this.latestDepositIdQueried = deposit.depositId;
|
|
682
|
-
}
|
|
683
657
|
}
|
|
684
658
|
};
|
|
685
659
|
|
|
@@ -831,9 +805,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
831
805
|
|
|
832
806
|
// Next iteration should start off from where this one ended.
|
|
833
807
|
this.currentTime = currentTime;
|
|
834
|
-
this.firstDepositIdForSpokePool = update.firstDepositId;
|
|
835
808
|
this.latestBlockSearched = searchEndBlock;
|
|
836
|
-
this.lastDepositIdForSpokePool = update.latestDepositId;
|
|
837
809
|
this.firstBlockToSearch = searchEndBlock + 1;
|
|
838
810
|
this.eventSearchConfig.toBlock = undefined; // Caller can re-set on subsequent updates if necessary
|
|
839
811
|
this.isUpdated = true;
|
|
@@ -929,14 +901,27 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
929
901
|
return currentTime.toNumber();
|
|
930
902
|
}
|
|
931
903
|
|
|
932
|
-
|
|
904
|
+
/**
|
|
905
|
+
* For a given origin chain depositId, resolve the corresponding Deposit.
|
|
906
|
+
* Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
|
|
907
|
+
* @param depositId Deposit ID of the deposit to resolve.
|
|
908
|
+
* @returns A DepositSearchResult instance.
|
|
909
|
+
*/
|
|
910
|
+
async findDeposit(depositId: BigNumber): Promise<DepositSearchResult> {
|
|
911
|
+
let deposit = this.getDeposit(depositId);
|
|
912
|
+
if (deposit) {
|
|
913
|
+
return { found: true, deposit };
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
// No deposit found; revert to searching for it.
|
|
933
917
|
const upperBound = this.latestBlockSearched || undefined; // Don't permit block 0 as the high block.
|
|
934
918
|
const fromBlock = await findDepositBlock(this.spokePool, depositId, this.deploymentBlock, upperBound);
|
|
919
|
+
const chain = getNetworkName(this.chainId);
|
|
935
920
|
if (!fromBlock) {
|
|
936
|
-
const
|
|
937
|
-
|
|
938
|
-
`
|
|
939
|
-
|
|
921
|
+
const reason =
|
|
922
|
+
`Unable to find ${chain} depositId ${depositId}` +
|
|
923
|
+
` within blocks [${this.deploymentBlock}, ${upperBound ?? "latest"}].`;
|
|
924
|
+
return { found: false, code: InvalidFill.DepositIdNotFound, reason };
|
|
940
925
|
}
|
|
941
926
|
|
|
942
927
|
const toBlock = fromBlock;
|
|
@@ -961,15 +946,14 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
961
946
|
|
|
962
947
|
const event = query.find(({ args }) => args["depositId"].eq(depositId));
|
|
963
948
|
if (event === undefined) {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
);
|
|
949
|
+
return {
|
|
950
|
+
found: false,
|
|
951
|
+
code: InvalidFill.DepositIdNotFound,
|
|
952
|
+
reason: `${chain} depositId ${depositId} not found at block ${fromBlock}.`,
|
|
953
|
+
};
|
|
970
954
|
}
|
|
971
955
|
|
|
972
|
-
|
|
956
|
+
deposit = {
|
|
973
957
|
...spreadEventWithBlockNumber(event),
|
|
974
958
|
originChainId: this.chainId,
|
|
975
959
|
quoteBlockNumber: await this.getBlockNumber(Number(event.args["quoteTimestamp"])),
|
|
@@ -990,7 +974,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
990
974
|
elapsedMs: tStop - tStart,
|
|
991
975
|
});
|
|
992
976
|
|
|
993
|
-
return deposit;
|
|
977
|
+
return { found: true, deposit };
|
|
994
978
|
}
|
|
995
979
|
|
|
996
980
|
/**
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
randomAddress,
|
|
25
25
|
BigNumber,
|
|
26
26
|
bnZero,
|
|
27
|
-
bnMax,
|
|
28
27
|
bnOne,
|
|
29
28
|
toAddress,
|
|
30
29
|
toBytes32,
|
|
@@ -107,19 +106,10 @@ export class MockSpokePoolClient extends SpokePoolClient {
|
|
|
107
106
|
}
|
|
108
107
|
});
|
|
109
108
|
|
|
110
|
-
// Update latestDepositIdQueried.
|
|
111
|
-
const idx = eventsToQuery.indexOf("V3FundsDeposited");
|
|
112
|
-
const latestDepositId = (events[idx] ?? []).reduce(
|
|
113
|
-
(depositId, event) => bnMax(depositId, event.args["depositId"] ?? bnZero),
|
|
114
|
-
this.latestDepositIdQueried
|
|
115
|
-
);
|
|
116
|
-
|
|
117
109
|
return Promise.resolve({
|
|
118
110
|
success: true,
|
|
119
111
|
firstDepositId: bnZero,
|
|
120
|
-
latestDepositId,
|
|
121
112
|
currentTime,
|
|
122
|
-
oldestTime: 0,
|
|
123
113
|
events,
|
|
124
114
|
searchEndBlock: this.eventSearchConfig.toBlock || latestBlockSearched,
|
|
125
115
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RpcTransport, GetTransactionApi, RpcFromTransport, SolanaRpcApiFromTransport } from "@solana/kit";
|
|
2
|
+
import { getThrowSolanaErrorResponseTransformer } from "@solana/rpc-transformers";
|
|
2
3
|
import { is, object, optional, string, tuple } from "superstruct";
|
|
3
4
|
import { CachingMechanismInterface } from "../../interfaces";
|
|
4
5
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
@@ -70,25 +71,38 @@ export class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
|
70
71
|
// Do not throw if params are not valid, just skip caching and pass through to the underlying transport.
|
|
71
72
|
if (!this.isGetTransactionParams(params)) return this.rateLimitedTransport<TResponse>(...args);
|
|
72
73
|
|
|
73
|
-
// Check the confirmation status first to avoid caching non-finalized transactions.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
// Check the confirmation status first to avoid caching non-finalized transactions. In case of null or errors just
|
|
75
|
+
// skip caching and pass through to the underlying transport.
|
|
76
|
+
try {
|
|
77
|
+
const getSignatureStatusesResponse = await this.rateLimitedRpcClient
|
|
78
|
+
.getSignatureStatuses([params[0]], {
|
|
79
|
+
searchTransactionHistory: true,
|
|
80
|
+
})
|
|
81
|
+
.send();
|
|
82
|
+
if (getSignatureStatusesResponse.value[0]?.confirmationStatus !== "finalized") {
|
|
83
|
+
return this.rateLimitedTransport<TResponse>(...args);
|
|
84
|
+
}
|
|
85
|
+
} catch (error) {
|
|
86
|
+
return this.rateLimitedTransport<TResponse>(...args);
|
|
87
|
+
}
|
|
79
88
|
|
|
80
89
|
const getTransactionResponse = await this.rateLimitedTransport<TResponse>(...args);
|
|
81
90
|
|
|
82
|
-
//
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
JSON.stringify(getTransactionResponse, jsonReplacerWithBigInts),
|
|
88
|
-
Number.POSITIVE_INFINITY
|
|
89
|
-
);
|
|
91
|
+
// Do not cache JSON-RPC error responses, let them pass through for the RPC client to handle.
|
|
92
|
+
try {
|
|
93
|
+
getThrowSolanaErrorResponseTransformer()(getTransactionResponse, { methodName: method, params });
|
|
94
|
+
} catch {
|
|
95
|
+
return getTransactionResponse;
|
|
90
96
|
}
|
|
91
97
|
|
|
98
|
+
// Cache the transaction JSON-RPC response as we checked the transaction is finalized and not an error.
|
|
99
|
+
const redisKey = this.buildRedisKey(method, params);
|
|
100
|
+
await this.redisClient?.set(
|
|
101
|
+
redisKey,
|
|
102
|
+
JSON.stringify(getTransactionResponse, jsonReplacerWithBigInts),
|
|
103
|
+
Number.POSITIVE_INFINITY
|
|
104
|
+
);
|
|
105
|
+
|
|
92
106
|
return getTransactionResponse;
|
|
93
107
|
}
|
|
94
108
|
|