@across-protocol/sdk 4.3.50 → 4.3.52

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.
@@ -1,8 +1,9 @@
1
- import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } from "../../../interfaces";
1
+ import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3, RunningBalances, SpokePoolClientsByChain } from "../../../interfaces";
2
2
  import { AnyObject } from "../../../utils";
3
3
  import { PoolRebalanceRoot } from "./PoolRebalanceUtils";
4
4
  import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
5
5
  import { HubPoolClient } from "../../HubPoolClient";
6
+ import { BundleDataClient } from "../../BundleDataClient";
6
7
  export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
7
8
  export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
8
9
  export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
@@ -11,4 +12,24 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
11
12
  export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
12
13
  hubPoolClient: HubPoolClient;
13
14
  configStoreClient: AcrossConfigStoreClient;
15
+ bundleDataClient: BundleDataClient;
16
+ spokePoolClients: SpokePoolClientsByChain;
17
+ }, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
18
+ export declare function _buildHistoricalPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
19
+ hubPoolClient: HubPoolClient;
20
+ configStoreClient: AcrossConfigStoreClient;
14
21
  }, maxL1TokenCountOverride?: number): PoolRebalanceRoot;
22
+ export declare function _buildOptimisticPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
23
+ hubPoolClient: HubPoolClient;
24
+ configStoreClient: AcrossConfigStoreClient;
25
+ bundleDataClient: BundleDataClient;
26
+ spokePoolClients: SpokePoolClientsByChain;
27
+ }, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
28
+ export declare function _getMarginalRunningBalances(mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
29
+ hubPoolClient: HubPoolClient;
30
+ configStoreClient: AcrossConfigStoreClient;
31
+ }): {
32
+ chainWithRefundsOnly: Set<number>;
33
+ realizedLpFees: RunningBalances;
34
+ runningBalances: RunningBalances;
35
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._buildPoolRebalanceRoot = exports.getEndBlockBuffers = exports.prettyPrintV3SpokePoolEvents = exports.getRefundsFromBundle = void 0;
3
+ exports._getMarginalRunningBalances = exports._buildOptimisticPoolRebalanceRoot = exports._buildHistoricalPoolRebalanceRoot = exports._buildPoolRebalanceRoot = exports.getEndBlockBuffers = exports.prettyPrintV3SpokePoolEvents = exports.getRefundsFromBundle = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var assert_1 = tslib_1.__importDefault(require("assert"));
6
6
  var utils_1 = require("../../../utils");
@@ -62,6 +62,82 @@ function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers, blockRan
62
62
  }
63
63
  exports.getEndBlockBuffers = getEndBlockBuffers;
64
64
  function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
65
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
66
+ return tslib_1.__generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ if (!(clients.hubPoolClient.hasPendingProposal() &&
70
+ clients.hubPoolClient.getPendingRootBundle().bundleEvaluationBlockNumbers[0] < mainnetBundleEndBlock)) return [3, 2];
71
+ return [4, _buildOptimisticPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride)];
72
+ case 1: return [2, _a.sent()];
73
+ case 2: return [2, _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride)];
74
+ }
75
+ });
76
+ });
77
+ }
78
+ exports._buildPoolRebalanceRoot = _buildPoolRebalanceRoot;
79
+ function _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
80
+ var _a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
81
+ (0, PoolRebalanceUtils_1.addLastRunningBalance)(latestMainnetBlock, runningBalances, clients.hubPoolClient);
82
+ var leaves = (0, PoolRebalanceUtils_1.constructPoolRebalanceLeaves)(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
83
+ return {
84
+ runningBalances: runningBalances,
85
+ realizedLpFees: realizedLpFees,
86
+ leaves: leaves,
87
+ tree: (0, MerkleTreeUtils_1.buildPoolRebalanceLeafTree)(leaves),
88
+ };
89
+ }
90
+ exports._buildHistoricalPoolRebalanceRoot = _buildHistoricalPoolRebalanceRoot;
91
+ function _buildOptimisticPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
92
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
93
+ var _a, runningBalances, realizedLpFees, chainWithRefundsOnly, mostRecentProposedRootBundle, blockRangesForChains, pendingRootBundleData, _b, leaves, tree, poolRebalanceLeaves;
94
+ return tslib_1.__generator(this, function (_c) {
95
+ switch (_c.label) {
96
+ case 0:
97
+ _a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
98
+ mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
99
+ blockRangesForChains = (0, utils_1.getImpliedBundleBlockRanges)(clients.hubPoolClient, clients.configStoreClient, mostRecentProposedRootBundle);
100
+ return [4, clients.bundleDataClient.loadData(blockRangesForChains, clients.spokePoolClients, true)];
101
+ case 1:
102
+ pendingRootBundleData = _c.sent();
103
+ _b = _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, blockRangesForChains[0][1], pendingRootBundleData.bundleDepositsV3, pendingRootBundleData.bundleFillsV3, pendingRootBundleData.bundleSlowFillsV3, pendingRootBundleData.unexecutableSlowFills, pendingRootBundleData.expiredDepositsToRefundV3, clients, maxL1TokenCountOverride), leaves = _b.leaves, tree = _b.tree;
104
+ (0, assert_1.default)(tree.getHexRoot() === mostRecentProposedRootBundle.poolRebalanceRoot);
105
+ Object.keys(runningBalances).forEach(function (_repaymentChainId) {
106
+ Object.keys(runningBalances[Number(_repaymentChainId)]).forEach(function (_l1TokenAddress) {
107
+ var repaymentChainId = Number(_repaymentChainId);
108
+ var l1TokenAddress = utils_1.EvmAddress.from(_l1TokenAddress);
109
+ var pendingPoolRebalanceLeaf = leaves.find(function (leaf) { return leaf.chainId === repaymentChainId && leaf.l1Tokens.some(function (l1Token) { return l1Token.eq(l1TokenAddress); }); });
110
+ if ((0, utils_1.isDefined)(pendingPoolRebalanceLeaf)) {
111
+ var pendingLeafTokenIdx = pendingPoolRebalanceLeaf.l1Tokens.findIndex(function (l1Token) {
112
+ return l1Token.eq(l1TokenAddress);
113
+ });
114
+ (0, assert_1.default)(pendingLeafTokenIdx !== -1);
115
+ var pendingRunningBalanceAmount = pendingPoolRebalanceLeaf.runningBalances[pendingLeafTokenIdx];
116
+ if (!pendingRunningBalanceAmount.eq(utils_1.bnZero)) {
117
+ (0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, repaymentChainId, _l1TokenAddress, pendingRunningBalanceAmount);
118
+ }
119
+ }
120
+ else {
121
+ var lastExecutedBundleRunningBalance = clients.hubPoolClient.getRunningBalanceBeforeBlockForChain(latestMainnetBlock, repaymentChainId, l1TokenAddress).runningBalance;
122
+ if (!lastExecutedBundleRunningBalance.eq(utils_1.bnZero)) {
123
+ (0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, repaymentChainId, _l1TokenAddress, lastExecutedBundleRunningBalance);
124
+ }
125
+ }
126
+ });
127
+ });
128
+ poolRebalanceLeaves = (0, PoolRebalanceUtils_1.constructPoolRebalanceLeaves)(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
129
+ return [2, {
130
+ runningBalances: runningBalances,
131
+ realizedLpFees: realizedLpFees,
132
+ leaves: poolRebalanceLeaves,
133
+ tree: (0, MerkleTreeUtils_1.buildPoolRebalanceLeafTree)(poolRebalanceLeaves),
134
+ }];
135
+ }
136
+ });
137
+ });
138
+ }
139
+ exports._buildOptimisticPoolRebalanceRoot = _buildOptimisticPoolRebalanceRoot;
140
+ function _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients) {
65
141
  var runningBalances = {};
66
142
  var realizedLpFees = {};
67
143
  var chainWithRefundsOnly = new Set();
@@ -132,14 +208,7 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
132
208
  });
133
209
  });
134
210
  });
135
- (0, PoolRebalanceUtils_1.addLastRunningBalance)(latestMainnetBlock, runningBalances, clients.hubPoolClient);
136
- var leaves = (0, PoolRebalanceUtils_1.constructPoolRebalanceLeaves)(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
137
- return {
138
- runningBalances: runningBalances,
139
- realizedLpFees: realizedLpFees,
140
- leaves: leaves,
141
- tree: (0, MerkleTreeUtils_1.buildPoolRebalanceLeafTree)(leaves),
142
- };
211
+ return { runningBalances: runningBalances, chainWithRefundsOnly: chainWithRefundsOnly, realizedLpFees: realizedLpFees };
143
212
  }
144
- exports._buildPoolRebalanceRoot = _buildPoolRebalanceRoot;
213
+ exports._getMarginalRunningBalances = _getMarginalRunningBalances;
145
214
  //# sourceMappingURL=DataworkerUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
74
74
  transactionHash?: string | undefined;
75
75
  transactionIndex?: number | undefined;
76
76
  }[];
77
- refunds: Record<string, BigNumber>;
78
77
  realizedLpFees: BigNumber;
78
+ refunds: Record<string, BigNumber>;
79
79
  totalRefundAmount: BigNumber;
80
80
  }>>;
81
81
  bundleSlowFillsV3: Record<string, Record<string, {
@@ -334,8 +334,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
334
334
  transactionHash?: string | undefined;
335
335
  transactionIndex?: number | undefined;
336
336
  }[];
337
- refunds: Record<string, BigNumber>;
338
337
  realizedLpFees: BigNumber;
338
+ refunds: Record<string, BigNumber>;
339
339
  totalRefundAmount: BigNumber;
340
340
  }>>, null>;
341
341
  }>;
@@ -43,6 +43,7 @@ export declare class Coingecko {
43
43
  private readonly customPlatformIdMap?;
44
44
  private static instance;
45
45
  private prices;
46
+ private pricesBySymbol;
46
47
  private _maxPriceAge;
47
48
  private retryDelay;
48
49
  private numRetries;
@@ -62,14 +63,20 @@ export declare class Coingecko {
62
63
  getContractDetails(contract_address: string, platform_id?: string): Promise<unknown>;
63
64
  getCurrentPriceByContract(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
64
65
  getCurrentPriceById(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
66
+ getCurrentPriceBySymbol(symbol: string, currency?: string): Promise<[string, number]>;
65
67
  getContractPrices(addresses: Array<string>, currency?: string, platform_id?: string): Promise<CoinGeckoPrice[]>;
66
68
  getPlatforms(): Promise<CoinGeckoAssetPlatform[]>;
67
69
  call<T>(path: string): Promise<T>;
68
70
  protected getPriceCache(currency: string, platform_id: string): {
69
71
  [addr: string]: CoinGeckoPrice;
70
72
  };
73
+ protected getPriceCacheBySymbol(symbol: string): {
74
+ [currency: string]: Omit<CoinGeckoPrice, "address">;
75
+ };
71
76
  protected getCachedAddressPrice(contractAddress: string, currency: string, platform_id: string): CoinGeckoPrice | undefined;
77
+ protected getCachedSymbolPrice(symbol: string, currency: string): Omit<CoinGeckoPrice, "address"> | undefined;
72
78
  protected updatePriceCache(cgPrice: CGTokenPrice, contractAddress: string, currency: string, platform_id: string): void;
79
+ protected updatePriceCacheBySymbol(cgPrice: CGTokenPrice, symbol: string, currency: string): void;
73
80
  private _callBasic;
74
81
  private _callPro;
75
82
  }
@@ -24,6 +24,7 @@ var Coingecko = (function () {
24
24
  this.platformIdMap = new Map();
25
25
  this.tokenIdMap = {};
26
26
  this.prices = {};
27
+ this.pricesBySymbol = {};
27
28
  }
28
29
  Coingecko.get = function (logger, apiKey, customPlatformIdMap) {
29
30
  if (!this.instance)
@@ -262,6 +263,39 @@ var Coingecko = (function () {
262
263
  });
263
264
  });
264
265
  };
266
+ Coingecko.prototype.getCurrentPriceBySymbol = function (symbol, currency) {
267
+ if (currency === void 0) { currency = "usd"; }
268
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
269
+ var tokenPrice, result, cgPrice, errMsg;
270
+ return tslib_1.__generator(this, function (_a) {
271
+ switch (_a.label) {
272
+ case 0:
273
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
274
+ if (!(tokenPrice === undefined)) return [3, 2];
275
+ return [4, this.call("simple/price?symbols=".concat(symbol, "&vs_currencies=").concat(currency, "&include_last_updated_at=true"))];
276
+ case 1:
277
+ result = _a.sent();
278
+ cgPrice = result === null || result === void 0 ? void 0 : result[symbol.toLowerCase()];
279
+ if (cgPrice === undefined || !(cgPrice === null || cgPrice === void 0 ? void 0 : cgPrice[currency])) {
280
+ errMsg = "Failed to retrieve ".concat(symbol, "/").concat(currency, " price via Coingecko API");
281
+ this.logger.debug({
282
+ at: "Coingecko#getCurrentPriceBySymbol",
283
+ message: errMsg,
284
+ });
285
+ throw new Error(errMsg);
286
+ }
287
+ else {
288
+ this.updatePriceCacheBySymbol(cgPrice, symbol, currency);
289
+ }
290
+ _a.label = 2;
291
+ case 2:
292
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
293
+ (0, assert_1.default)(tokenPrice !== undefined);
294
+ return [2, [tokenPrice.timestamp.toString(), tokenPrice.price]];
295
+ }
296
+ });
297
+ });
298
+ };
265
299
  Coingecko.prototype.getContractPrices = function (addresses, currency, platform_id) {
266
300
  if (currency === void 0) { currency = "usd"; }
267
301
  if (platform_id === void 0) { platform_id = "ethereum"; }
@@ -359,6 +393,11 @@ var Coingecko = (function () {
359
393
  this.prices[platform_id][currency] = {};
360
394
  return this.prices[platform_id][currency];
361
395
  };
396
+ Coingecko.prototype.getPriceCacheBySymbol = function (symbol) {
397
+ if (this.pricesBySymbol[symbol] === undefined)
398
+ this.pricesBySymbol[symbol] = {};
399
+ return this.pricesBySymbol[symbol];
400
+ };
362
401
  Coingecko.prototype.getCachedAddressPrice = function (contractAddress, currency, platform_id) {
363
402
  var priceCache = this.getPriceCache(currency, platform_id);
364
403
  var now = msToS(Date.now());
@@ -383,6 +422,15 @@ var Coingecko = (function () {
383
422
  return tokenPrice;
384
423
  }
385
424
  };
425
+ Coingecko.prototype.getCachedSymbolPrice = function (symbol, currency) {
426
+ var priceCache = this.getPriceCacheBySymbol(symbol);
427
+ var now = msToS(Date.now());
428
+ var tokenPrice = priceCache[currency];
429
+ if (tokenPrice === undefined || tokenPrice.timestamp + this.maxPriceAge <= now) {
430
+ return undefined;
431
+ }
432
+ return tokenPrice;
433
+ };
386
434
  Coingecko.prototype.updatePriceCache = function (cgPrice, contractAddress, currency, platform_id) {
387
435
  var priceCache = this.getPriceCache(currency, platform_id);
388
436
  if (priceCache[contractAddress] === undefined) {
@@ -407,6 +455,29 @@ var Coingecko = (function () {
407
455
  });
408
456
  }
409
457
  };
458
+ Coingecko.prototype.updatePriceCacheBySymbol = function (cgPrice, symbol, currency) {
459
+ var priceCache = this.getPriceCacheBySymbol(symbol);
460
+ if (priceCache[currency] === undefined) {
461
+ priceCache[currency] = { price: 0, timestamp: 0 };
462
+ }
463
+ if (cgPrice.last_updated_at > priceCache[currency].timestamp) {
464
+ priceCache[currency] = {
465
+ price: cgPrice[currency],
466
+ timestamp: cgPrice.last_updated_at,
467
+ };
468
+ this.logger.debug({
469
+ at: "Coingecko#updatePriceCacheBySymbol",
470
+ message: "Updated ".concat(symbol, "/").concat(currency, " token price cache."),
471
+ });
472
+ }
473
+ else {
474
+ this.logger.debug({
475
+ at: "Coingecko#updatePriceCacheBySymbol",
476
+ message: "No new price available for symbol ".concat(symbol, "."),
477
+ token: cgPrice,
478
+ });
479
+ }
480
+ };
410
481
  Coingecko.prototype._callBasic = function (path, timeout) {
411
482
  return tslib_1.__awaiter(this, void 0, void 0, function () {
412
483
  var url, result, err_3, msg;
@@ -1 +1 @@
1
- {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } from "../../../interfaces";
1
+ import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3, RunningBalances, SpokePoolClientsByChain } from "../../../interfaces";
2
2
  import { AnyObject } from "../../../utils";
3
3
  import { PoolRebalanceRoot } from "./PoolRebalanceUtils";
4
4
  import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
5
5
  import { HubPoolClient } from "../../HubPoolClient";
6
+ import { BundleDataClient } from "../../BundleDataClient";
6
7
  export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
7
8
  export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
8
9
  export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
@@ -11,4 +12,24 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
11
12
  export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
12
13
  hubPoolClient: HubPoolClient;
13
14
  configStoreClient: AcrossConfigStoreClient;
15
+ bundleDataClient: BundleDataClient;
16
+ spokePoolClients: SpokePoolClientsByChain;
17
+ }, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
18
+ export declare function _buildHistoricalPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
19
+ hubPoolClient: HubPoolClient;
20
+ configStoreClient: AcrossConfigStoreClient;
14
21
  }, maxL1TokenCountOverride?: number): PoolRebalanceRoot;
22
+ export declare function _buildOptimisticPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
23
+ hubPoolClient: HubPoolClient;
24
+ configStoreClient: AcrossConfigStoreClient;
25
+ bundleDataClient: BundleDataClient;
26
+ spokePoolClients: SpokePoolClientsByChain;
27
+ }, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
28
+ export declare function _getMarginalRunningBalances(mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
29
+ hubPoolClient: HubPoolClient;
30
+ configStoreClient: AcrossConfigStoreClient;
31
+ }): {
32
+ chainWithRefundsOnly: Set<number>;
33
+ realizedLpFees: RunningBalances;
34
+ runningBalances: RunningBalances;
35
+ };
@@ -1,7 +1,7 @@
1
- import { __assign } from "tslib";
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
2
  // Create a combined `refunds` object containing refunds for V2 + V3 fills
3
3
  import assert from "assert";
4
- import { bnZero, fixedPointAdjustment, count2DDictionaryValues, count3DDictionaryValues, toAddressType, } from "../../../utils";
4
+ import { bnZero, fixedPointAdjustment, count2DDictionaryValues, count3DDictionaryValues, toAddressType, getImpliedBundleBlockRanges, isDefined, EvmAddress, } from "../../../utils";
5
5
  import { addLastRunningBalance, constructPoolRebalanceLeaves, updateRunningBalance, updateRunningBalanceForDeposit, } from "./PoolRebalanceUtils";
6
6
  import { buildPoolRebalanceLeafTree } from "./MerkleTreeUtils";
7
7
  // and expired deposits.
@@ -73,7 +73,136 @@ export function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers, b
73
73
  // filled during the challenge period.
74
74
  return chainIdListForBundleEvaluationBlockNumbers.map(function (chainId) { var _a; return (_a = blockRangeEndBlockBuffer[chainId]) !== null && _a !== void 0 ? _a : 0; });
75
75
  }
76
+ /*
77
+ * @notice Constructs a new pool rebalance root given the input bundle data.
78
+ * @dev It is assumed that the input bundle data corresponds to the block ranges of the input mainnetBundleEndBlock.
79
+ * If the mainnetBundleEndBlock does not correspond to any historical or pending root bundle, then the output pool rebalance
80
+ * root will be constructed under the assumption that the pending root bundle is valid and passes liveness.
81
+ * @param latestMainnetBlock The latest mainnet block number.
82
+ * @param mainnetBundleEndBlock The end block number of the block range corresponding to the bundle data.
83
+ * @param bundleV3Deposits Deposit bundle data for the implied block range given by the mainnetBundleEndBlock.
84
+ * @param bundleFillsV3 Fill bundle data.
85
+ * @param bundleSlowFillsV3 Slow fill bundle data.
86
+ * @param unexecutableSlowFills Expired slow fill bundle data.
87
+ * @param expiredDepositsToRefundV3 Expired deposit bundle data.
88
+ * @param clients Clients required to construct a new pool rebalance root.
89
+ * @maxL1TokenCountOverride Optional parameter to cap the number of tokens in a single pool rebalance leaf.
90
+ */
76
91
  export function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ if (!(clients.hubPoolClient.hasPendingProposal() &&
97
+ clients.hubPoolClient.getPendingRootBundle().bundleEvaluationBlockNumbers[0] < mainnetBundleEndBlock)) return [3 /*break*/, 2];
98
+ return [4 /*yield*/, _buildOptimisticPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride)];
99
+ case 1: return [2 /*return*/, _a.sent()];
100
+ case 2:
101
+ // Otherwise, we can synchronously reconstruct a historical pool rebalance root from the input data.
102
+ return [2 /*return*/, _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride)];
103
+ }
104
+ });
105
+ });
106
+ }
107
+ /*
108
+ * @notice Constructs a new pool rebalance root given historical bundle data.
109
+ * @param latestMainnetBlock The latest mainnet block number.
110
+ * @param mainnetBundleEndBlock The end block number of the block range corresponding to the bundle data.
111
+ * @param bundleV3Deposits Deposit bundle data for the implied block range given by the mainnetBundleEndBlock.
112
+ * @param bundleFillsV3 Fill bundle data.
113
+ * @param bundleSlowFillsV3 Slow fill bundle data.
114
+ * @param unexecutableSlowFills Expired slow fill bundle data.
115
+ * @param expiredDepositsToRefundV3 Expired deposit bundle data.
116
+ * @param clients Clients required to construct a new pool rebalance root.
117
+ * @maxL1TokenCountOverride Optional parameter to cap the number of tokens in a single pool rebalance leaf.
118
+ */
119
+ export function _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
120
+ var _a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
121
+ addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
122
+ var leaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
123
+ return {
124
+ runningBalances: runningBalances,
125
+ realizedLpFees: realizedLpFees,
126
+ leaves: leaves,
127
+ tree: buildPoolRebalanceLeafTree(leaves),
128
+ };
129
+ }
130
+ /*
131
+ * @notice Constructs a new pool rebalance root given the input bundle data. This function assumes there is a pending root bundle which will eventually clear liveness.
132
+ * @param latestMainnetBlock The latest mainnet block number.
133
+ * @param mainnetBundleEndBlock The end block number of the block range corresponding to the bundle data.
134
+ * @param bundleV3Deposits Deposit bundle data for the implied block range given by the mainnetBundleEndBlock.
135
+ * @param bundleFillsV3 Fill bundle data.
136
+ * @param bundleSlowFillsV3 Slow fill bundle data.
137
+ * @param unexecutableSlowFills Expired slow fill bundle data.
138
+ * @param expiredDepositsToRefundV3 Expired deposit bundle data.
139
+ * @param clients Clients required to construct a new pool rebalance root.
140
+ * @maxL1TokenCountOverride Optional parameter to cap the number of tokens in a single pool rebalance leaf.
141
+ */
142
+ export function _buildOptimisticPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
143
+ return __awaiter(this, void 0, void 0, function () {
144
+ var _a, runningBalances, realizedLpFees, chainWithRefundsOnly, mostRecentProposedRootBundle, blockRangesForChains, pendingRootBundleData, _b, leaves, tree, poolRebalanceLeaves;
145
+ return __generator(this, function (_c) {
146
+ switch (_c.label) {
147
+ case 0:
148
+ _a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
149
+ mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
150
+ blockRangesForChains = getImpliedBundleBlockRanges(clients.hubPoolClient, clients.configStoreClient, mostRecentProposedRootBundle);
151
+ return [4 /*yield*/, clients.bundleDataClient.loadData(blockRangesForChains, clients.spokePoolClients, true)];
152
+ case 1:
153
+ pendingRootBundleData = _c.sent();
154
+ _b = _buildHistoricalPoolRebalanceRoot(latestMainnetBlock, blockRangesForChains[0][1], pendingRootBundleData.bundleDepositsV3, pendingRootBundleData.bundleFillsV3, pendingRootBundleData.bundleSlowFillsV3, pendingRootBundleData.unexecutableSlowFills, pendingRootBundleData.expiredDepositsToRefundV3, clients, maxL1TokenCountOverride), leaves = _b.leaves, tree = _b.tree;
155
+ // Assert that the rebuilt pool rebalance root matches the pending root bundle's value. If it does not, then we likely misconstructed the pending root bundle and should throw.
156
+ assert(tree.getHexRoot() === mostRecentProposedRootBundle.poolRebalanceRoot);
157
+ // Only add marginal pending running balances if there is already an entry in `runningBalances`. If there is no entry in `runningBalances`, then
158
+ // The running balance for this entry was unchanged since the last root bundle.
159
+ Object.keys(runningBalances).forEach(function (_repaymentChainId) {
160
+ Object.keys(runningBalances[Number(_repaymentChainId)]).forEach(function (_l1TokenAddress) {
161
+ var repaymentChainId = Number(_repaymentChainId);
162
+ var l1TokenAddress = EvmAddress.from(_l1TokenAddress);
163
+ var pendingPoolRebalanceLeaf = leaves.find(function (leaf) { return leaf.chainId === repaymentChainId && leaf.l1Tokens.some(function (l1Token) { return l1Token.eq(l1TokenAddress); }); });
164
+ // If the pending pool rebalance root has running balances defined, then add it to `runningBalances`.
165
+ if (isDefined(pendingPoolRebalanceLeaf)) {
166
+ var pendingLeafTokenIdx = pendingPoolRebalanceLeaf.l1Tokens.findIndex(function (l1Token) {
167
+ return l1Token.eq(l1TokenAddress);
168
+ });
169
+ assert(pendingLeafTokenIdx !== -1);
170
+ var pendingRunningBalanceAmount = pendingPoolRebalanceLeaf.runningBalances[pendingLeafTokenIdx];
171
+ if (!pendingRunningBalanceAmount.eq(bnZero)) {
172
+ updateRunningBalance(runningBalances, repaymentChainId, _l1TokenAddress, pendingRunningBalanceAmount);
173
+ }
174
+ }
175
+ else {
176
+ // Otherwise, add the last running balance for this token.
177
+ var lastExecutedBundleRunningBalance = clients.hubPoolClient.getRunningBalanceBeforeBlockForChain(latestMainnetBlock, repaymentChainId, l1TokenAddress).runningBalance;
178
+ if (!lastExecutedBundleRunningBalance.eq(bnZero)) {
179
+ updateRunningBalance(runningBalances, repaymentChainId, _l1TokenAddress, lastExecutedBundleRunningBalance);
180
+ }
181
+ }
182
+ });
183
+ });
184
+ poolRebalanceLeaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
185
+ return [2 /*return*/, {
186
+ runningBalances: runningBalances,
187
+ realizedLpFees: realizedLpFees,
188
+ leaves: poolRebalanceLeaves,
189
+ tree: buildPoolRebalanceLeafTree(poolRebalanceLeaves),
190
+ }];
191
+ }
192
+ });
193
+ });
194
+ }
195
+ /*
196
+ * @notice Gets the running balance amounts derived from the input bundle data.
197
+ * @param mainnetBundleEndBlock The end block number of the block range corresponding to the bundle data.
198
+ * @param bundleV3Deposits Deposit bundle data for the implied block range given by the mainnetBundleEndBlock.
199
+ * @param bundleFillsV3 Fill bundle data.
200
+ * @param bundleSlowFillsV3 Slow fill bundle data.
201
+ * @param unexecutableSlowFills Expired slow fill bundle data.
202
+ * @param expiredDepositsToRefundV3 Expired deposit bundle data.
203
+ * @param clients Clients required to construct a new pool rebalance root.
204
+ */
205
+ export function _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients) {
77
206
  // Running balances are the amount of tokens that we need to send to each SpokePool to pay for all instant and
78
207
  // slow relay refunds. They are decreased by the amount of funds already held by the SpokePool. Balances are keyed
79
208
  // by the SpokePool's network and L1 token equivalent of the L2 token to refund.
@@ -190,15 +319,6 @@ export function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBloc
190
319
  });
191
320
  });
192
321
  });
193
- // Add to the running balance value from the last valid root bundle proposal for {chainId, l1Token}
194
- // combination if found.
195
- addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
196
- var leaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
197
- return {
198
- runningBalances: runningBalances,
199
- realizedLpFees: realizedLpFees,
200
- leaves: leaves,
201
- tree: buildPoolRebalanceLeafTree(leaves),
202
- };
322
+ return { runningBalances: runningBalances, chainWithRefundsOnly: chainWithRefundsOnly, realizedLpFees: realizedLpFees };
203
323
  }
204
324
  //# sourceMappingURL=DataworkerUtils.js.map