@across-protocol/sdk 4.0.0-beta.31 → 4.0.0-beta.33

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.
@@ -596,7 +596,7 @@ var BundleDataClient = /** @class */ (function () {
596
596
  };
597
597
  BundleDataClient.prototype.loadDataFromScratch = function (blockRangesForChains, spokePoolClients) {
598
598
  return __awaiter(this, void 0, void 0, function () {
599
- var start, key, chainIds, bundleDepositsV3, bundleFillsV3, bundleInvalidFillsV3, bundleUnrepayableFillsV3, bundleSlowFillsV3, expiredDepositsToRefundV3, unexecutableSlowFills, _isChainDisabled, _canCreateSlowFillLeaf, _depositIsExpired, _getFillStatusForDeposit, allChainIds, _cachedBundleTimestamps, bundleBlockTimestamps, v3RelayHashes, bundleDepositHashes, olderDepositHashes, decodeBundleDepositHash, startBlockForMainnet, versionAtProposalBlock, canRefundPrefills, depositCounter, _loop_2, _i, allChainIds_1, originChainId, validatedBundleV3Fills, validatedBundleSlowFills, validatedBundleUnexecutableSlowFills, fillCounter, _loop_3, _a, allChainIds_2, originChainId, promises, _b, v3FillLpFees, v3SlowFillLpFees, v3UnexecutableSlowFillLpFees, v3SpokeEventsReadable;
599
+ var start, key, chainIds, bundleDepositsV3, bundleFillsV3, bundleInvalidFillsV3, bundleUnrepayableFillsV3, bundleSlowFillsV3, expiredDepositsToRefundV3, unexecutableSlowFills, _isChainDisabled, _canCreateSlowFillLeaf, _depositIsExpired, _getFillStatusForDeposit, allChainIds, _cachedBundleTimestamps, bundleBlockTimestamps, v3RelayHashes, bundleDepositHashes, olderDepositHashes, decodeBundleDepositHash, startBlockForMainnet, versionAtProposalBlock, canRefundPrefills, _loop_2, _i, allChainIds_1, originChainId, validatedBundleV3Fills, validatedBundleSlowFills, validatedBundleUnexecutableSlowFills, fillCounter, _loop_3, _a, allChainIds_2, originChainId, promises, _b, v3FillLpFees, v3SlowFillLpFees, v3UnexecutableSlowFillLpFees, v3SpokeEventsReadable;
600
600
  var _this = this;
601
601
  return __generator(this, function (_c) {
602
602
  switch (_c.label) {
@@ -681,7 +681,6 @@ var BundleDataClient = /** @class */ (function () {
681
681
  startBlockForMainnet = getBlockRangeForChain(blockRangesForChains, this.clients.hubPoolClient.chainId, this.chainIdListForBundleEvaluationBlockNumbers)[0];
682
682
  versionAtProposalBlock = this.clients.configStoreClient.getConfigStoreVersionForBlock(startBlockForMainnet);
683
683
  canRefundPrefills = versionAtProposalBlock >= PRE_FILL_MIN_CONFIG_STORE_VERSION || process.env.FORCE_REFUND_PREFILLS === "true";
684
- depositCounter = 0;
685
684
  _loop_2 = function (originChainId) {
686
685
  var originClient = spokePoolClients[originChainId];
687
686
  var originChainBlockRange = getBlockRangeForChain(blockRangesForChains, originChainId, chainIds);
@@ -691,13 +690,9 @@ var BundleDataClient = /** @class */ (function () {
691
690
  continue;
692
691
  }
693
692
  originClient.getDepositsForDestinationChainWithDuplicates(destinationChainId).forEach(function (deposit) {
694
- // Only evaluate deposits that are in this bundle or in previous bundles. This means we cannot issue fill
695
- // refunds or slow fills here for deposits that are in future bundles (i.e. "pre-fills"). Instead, we'll
696
- // evaluate these pre-fills once the deposit is inside the "current" bundle block range.
697
693
  if (deposit.blockNumber > originChainBlockRange[1] || isZeroValueDeposit(deposit)) {
698
694
  return;
699
695
  }
700
- depositCounter++;
701
696
  var relayDataHash = _this.getRelayHashFromEvent(deposit);
702
697
  if (!v3RelayHashes[relayDataHash]) {
703
698
  v3RelayHashes[relayDataHash] = {
@@ -709,15 +704,8 @@ var BundleDataClient = /** @class */ (function () {
709
704
  else {
710
705
  v3RelayHashes[relayDataHash].deposits.push(deposit);
711
706
  }
712
- // Once we've saved the deposit hash into v3RelayHashes, then we can exit early here if the inputAmount
713
- // is 0 because there can be no expired amount to refund and no unexecutable slow fill amount to return
714
- // if this deposit did expire. Input amount can only be zero at this point if the message is non-empty,
715
- // but the message doesn't matter for expired deposits and unexecutable slow fills.
716
- if (deposit.inputAmount.eq(0)) {
717
- return;
718
- }
719
- // Evaluate all expired deposits after fetching fill statuses,
720
- // since we can't know for certain whether an expired deposit was filled a long time ago.
707
+ // Account for duplicate deposits by concatenating the relayDataHash with the count of the number of times
708
+ // we have seen it so far.
721
709
  var newBundleDepositHash = "".concat(relayDataHash, "@").concat(v3RelayHashes[relayDataHash].deposits.length - 1);
722
710
  var decodedBundleDepositHash = decodeBundleDepositHash(newBundleDepositHash);
723
711
  assert(decodedBundleDepositHash.relayDataHash === relayDataHash &&
@@ -732,13 +720,15 @@ var BundleDataClient = /** @class */ (function () {
732
720
  });
733
721
  }
734
722
  };
723
+ // Prerequisite step: Load all deposit events from the current or older bundles into the v3RelayHashes dictionary
724
+ // for convenient matching with fills.
735
725
  for (_i = 0, allChainIds_1 = allChainIds; _i < allChainIds_1.length; _i++) {
736
726
  originChainId = allChainIds_1[_i];
737
727
  _loop_2(originChainId);
738
728
  }
739
729
  this.logger.debug({
740
730
  at: "BundleDataClient#loadData",
741
- message: "Processed ".concat(depositCounter, " deposits in ").concat(performance.now() - start, "ms."),
731
+ message: "Processed ".concat(bundleDepositHashes.length + olderDepositHashes.length, " deposits in ").concat(performance.now() - start, "ms."),
742
732
  });
743
733
  start = performance.now();
744
734
  validatedBundleV3Fills = [];
@@ -778,16 +768,12 @@ var BundleDataClient = /** @class */ (function () {
778
768
  if (!v3RelayHashes[relayDataHash]) return [3 /*break*/, 5];
779
769
  if (!!v3RelayHashes[relayDataHash].fill) return [3 /*break*/, 3];
780
770
  assert(isDefined(v3RelayHashes[relayDataHash].deposits) && v3RelayHashes[relayDataHash].deposits.length > 0, "Deposit should exist in relay hash dictionary.");
781
- // At this point, the v3RelayHashes entry already existed meaning that there is a matching deposit,
782
- // so this fill can no longer be filled on-chain.
783
771
  v3RelayHashes[relayDataHash].fill = fill;
784
772
  if (!(fill.blockNumber >= destinationChainBlockRange[0])) return [3 /*break*/, 2];
785
773
  return [4 /*yield*/, verifyFillRepayment(fill, destinationClient.spokePool.provider, v3RelayHashes[relayDataHash].deposits[0], allChainIds)];
786
774
  case 1:
787
775
  fillToRefund_1 = _a.sent();
788
776
  if (!isDefined(fillToRefund_1)) {
789
- // We won't repay the fill but the depositor has received funds so we don't need to make a
790
- // payment.
791
777
  bundleUnrepayableFillsV3.push(fill);
792
778
  // We don't return here yet because we still need to mark unexecutable slow fill leaves
793
779
  // or duplicate deposits. However, we won't issue a fast fill refund.
@@ -797,7 +783,6 @@ var BundleDataClient = /** @class */ (function () {
797
783
  validatedBundleV3Fills.push(__assign(__assign({}, fillToRefund_1), { quoteTimestamp: v3RelayHashes[relayDataHash].deposits[0].quoteTimestamp }));
798
784
  duplicateDeposits = v3RelayHashes[relayDataHash].deposits.slice(1);
799
785
  duplicateDeposits.forEach(function (duplicateDeposit) {
800
- // If fill is a slow fill, refund deposit to depositor, otherwise refund to filler.
801
786
  if (isSlowFill(fill)) {
802
787
  updateExpiredDepositsV3(expiredDepositsToRefundV3, duplicateDeposit);
803
788
  }
@@ -809,7 +794,6 @@ var BundleDataClient = /** @class */ (function () {
809
794
  // If fill replaced a slow fill request, then mark it as one that might have created an
810
795
  // unexecutable slow fill. We can't know for sure until we check the slow fill request
811
796
  // events.
812
- // slow fill requests for deposits from or to lite chains are considered invalid
813
797
  if (fill.relayExecutionInfo.fillType === FillType.ReplacedSlowFill &&
814
798
  _canCreateSlowFillLeaf(v3RelayHashes[relayDataHash].deposits[0])) {
815
799
  fastFillsReplacingSlowFills.push(relayDataHash);
@@ -868,7 +852,6 @@ var BundleDataClient = /** @class */ (function () {
868
852
  // No need to check for duplicate deposits here since duplicate deposits with
869
853
  // infinite deadlines are impossible to send via unsafeDeposit().
870
854
  }
871
- // slow fill requests for deposits from or to lite chains are considered invalid
872
855
  if (fill.relayExecutionInfo.fillType === FillType.ReplacedSlowFill &&
873
856
  _canCreateSlowFillLeaf(matchedDeposit)) {
874
857
  fastFillsReplacingSlowFills.push(relayDataHash);
@@ -880,8 +863,13 @@ var BundleDataClient = /** @class */ (function () {
880
863
  }); })];
881
864
  case 1:
882
865
  _g.sent();
883
- // Process slow fill requests. One invariant we need to maintain is that we cannot create slow fill requests
884
- // for deposits that would expire in this bundle.
866
+ // Process slow fill requests and produce slow fill leaves while maintaining the following the invariants:
867
+ // - Slow fill leaves cannot be produced for deposits that have expired in this bundle.
868
+ // - Slow fill leaves cannot be produced for deposits that have been filled.
869
+ // Assumptions about fills:
870
+ // - Duplicate slow fill requests for the same relay data hash are impossible to send.
871
+ // - Slow fill requests can only be sent before the deposit's fillDeadline.
872
+ // - Slow fill requests for a deposit that has been filled.
885
873
  return [4 /*yield*/, forEachAsync(destinationClient
886
874
  .getSlowFillRequestsForOriginChain(originChainId)
887
875
  .filter(function (request) {
@@ -894,27 +882,18 @@ var BundleDataClient = /** @class */ (function () {
894
882
  relayDataHash = this.getRelayHashFromEvent(slowFillRequest);
895
883
  if (v3RelayHashes[relayDataHash]) {
896
884
  if (!v3RelayHashes[relayDataHash].slowFillRequest) {
897
- // At this point, the v3RelayHashes entry already existed meaning that there is either a matching
898
- // fill or deposit.
899
885
  v3RelayHashes[relayDataHash].slowFillRequest = slowFillRequest;
900
886
  if (v3RelayHashes[relayDataHash].fill) {
901
- // If there is a fill matching the relay hash, then this slow fill request can't be used
902
- // to create a slow fill for a filled deposit. This takes advantage of the fact that
903
- // slow fill requests must precede fills, so if there is a matching fill for this request's
904
- // relay data, then this slow fill will be unexecutable.
887
+ // Exiting here assumes that slow fill requests must precede fills, so if there was a fill
888
+ // following this slow fill request, then we would have already seen it. We don't need to check
889
+ // for a fill older than this slow fill request.
905
890
  return [2 /*return*/];
906
891
  }
907
892
  assert(isDefined(v3RelayHashes[relayDataHash].deposits) && v3RelayHashes[relayDataHash].deposits.length > 0, "Deposit should exist in relay hash dictionary.");
908
893
  matchedDeposit = v3RelayHashes[relayDataHash].deposits[0];
909
- // If there is no fill matching the relay hash, then this might be a valid slow fill request
910
- // that we should produce a slow fill leaf for. Check if the slow fill request is in the
911
- // destination chain block range.
912
894
  if (slowFillRequest.blockNumber >= destinationChainBlockRange[0] &&
913
895
  _canCreateSlowFillLeaf(matchedDeposit) &&
914
- // Deposit must not have expired in this bundle.
915
896
  !_depositIsExpired(matchedDeposit)) {
916
- // At this point, the v3RelayHashes entry already existed meaning that there is a matching deposit,
917
- // so this slow fill request relay data is correct.
918
897
  validatedBundleSlowFills.push(matchedDeposit);
919
898
  }
920
899
  }
@@ -935,7 +914,6 @@ var BundleDataClient = /** @class */ (function () {
935
914
  case 1:
936
915
  historicalDeposit = _a.sent();
937
916
  if (!historicalDeposit.found) {
938
- // TODO: Invalid slow fill request. Maybe worth logging.
939
917
  return [2 /*return*/];
940
918
  }
941
919
  matchedDeposit = historicalDeposit.deposit;
@@ -950,9 +928,7 @@ var BundleDataClient = /** @class */ (function () {
950
928
  // historical deposit query is not working as expected.
951
929
  assert(this.getRelayHashFromEvent(matchedDeposit) === relayDataHash, "Deposit relay hashes should match.");
952
930
  v3RelayHashes[relayDataHash].deposits = [matchedDeposit];
953
- if (!_canCreateSlowFillLeaf(matchedDeposit) ||
954
- // Deposit must not have expired in this bundle.
955
- _depositIsExpired(matchedDeposit)) {
931
+ if (!_canCreateSlowFillLeaf(matchedDeposit) || _depositIsExpired(matchedDeposit)) {
956
932
  return [2 /*return*/];
957
933
  }
958
934
  validatedBundleSlowFills.push(matchedDeposit);
@@ -962,16 +938,34 @@ var BundleDataClient = /** @class */ (function () {
962
938
  });
963
939
  }); })];
964
940
  case 2:
965
- // Process slow fill requests. One invariant we need to maintain is that we cannot create slow fill requests
966
- // for deposits that would expire in this bundle.
941
+ // Process slow fill requests and produce slow fill leaves while maintaining the following the invariants:
942
+ // - Slow fill leaves cannot be produced for deposits that have expired in this bundle.
943
+ // - Slow fill leaves cannot be produced for deposits that have been filled.
944
+ // Assumptions about fills:
945
+ // - Duplicate slow fill requests for the same relay data hash are impossible to send.
946
+ // - Slow fill requests can only be sent before the deposit's fillDeadline.
947
+ // - Slow fill requests for a deposit that has been filled.
967
948
  _g.sent();
968
- // Deposits can be submitted an arbitrary amount of time after matching fills and slow fill requests.
969
- // Therefore, let's go through each deposit in this bundle again and check a few things in order:
970
- // - Has the deposit been filled ? If so, then we need to issue a relayer refund for
971
- // this "pre-fill" if the fill took place in a previous bundle.
972
- // - Or, has the deposit expired in this bundle? If so, then we need to issue an expiry refund.
973
- // - And finally, has the deposit been slow filled? If so, then we need to issue a slow fill leaf
974
- // for this "pre-slow-fill-request" if this request took place in a previous bundle.
949
+ // Process deposits and maintain the following invariants:
950
+ // - Deposits matching fills that are not type SlowFill from previous bundle block ranges should produce
951
+ // refunds for those fills.
952
+ // - Deposits matching fills that are type SlowFill from previous bundle block ranges should be refunded to the
953
+ // depositor.
954
+ // - All deposits expiring in this bundle, even those sent in prior bundle block ranges, should be refunded
955
+ // to the depositor.
956
+ // - An expired deposit cannot be refunded if the deposit was filled.
957
+ // - If a deposit from a prior bundle expired in this bundle, had a slow fill request created for it
958
+ // in a prior bundle, and has not been filled yet, then an unexecutable slow fill leaf has been created
959
+ // and needs to be refunded to the HubPool.
960
+ // - Deposits matching slow fill requests from previous bundle block ranges should produce slow fills
961
+ // if the deposit has not been filled.
962
+ // Assumptions:
963
+ // - If the deposit has a matching fill or slow fill request in the bundle then we have already stored
964
+ // it in the relay hashes dictionary.
965
+ // - We've created refunds for all fills in this bundle matching a deposit.
966
+ // - We've created slow fill leaves for all slow fill requests in this bundle matching an unfilled deposit.
967
+ // - Deposits for the same relay data hash can be sent an arbitrary amount of times.
968
+ // - Deposits can be sent an arbitrary amount of time after a fill has been sent for the matching relay data.
975
969
  return [4 /*yield*/, mapAsync(bundleDepositHashes, function (depositHash) { return __awaiter(_this, void 0, void 0, function () {
976
970
  var _a, relayDataHash, index, _b, deposits, fill, slowFillRequest, deposit, fillToRefund, fillStatus, prefill, verifiedFill;
977
971
  var _this = this;
@@ -989,34 +983,29 @@ var BundleDataClient = /** @class */ (function () {
989
983
  if (deposit.originChainId !== originChainId || deposit.destinationChainId !== destinationChainId) {
990
984
  return [2 /*return*/];
991
985
  }
992
- if (!fill) return [3 /*break*/, 4];
993
- if (!(canRefundPrefills && fill.blockNumber < destinationChainBlockRange[0])) return [3 /*break*/, 3];
994
- if (!!isSlowFill(fill)) return [3 /*break*/, 2];
986
+ if (!fill) return [3 /*break*/, 3];
987
+ if (!(canRefundPrefills && fill.blockNumber < destinationChainBlockRange[0])) return [3 /*break*/, 2];
995
988
  return [4 /*yield*/, verifyFillRepayment(fill, destinationClient.spokePool.provider, v3RelayHashes[relayDataHash].deposits[0], allChainIds)];
996
989
  case 1:
997
990
  fillToRefund = _c.sent();
998
991
  if (!isDefined(fillToRefund)) {
999
- // We won't repay the fill but the depositor has received funds so we don't need to make a
1000
- // payment.
1001
992
  bundleUnrepayableFillsV3.push(fill);
1002
993
  }
1003
- else {
994
+ else if (!isSlowFill(fill)) {
1004
995
  v3RelayHashes[relayDataHash].fill = fillToRefund;
1005
996
  validatedBundleV3Fills.push(__assign(__assign({}, fillToRefund), { quoteTimestamp: deposit.quoteTimestamp }));
1006
997
  }
1007
- return [3 /*break*/, 3];
1008
- case 2:
1009
- // Slow fills cannot result in refunds to a relayer to refund the deposit. Slow fills also
1010
- // were created after the deposit was sent, so we can assume this deposit is a duplicate.
1011
- updateExpiredDepositsV3(expiredDepositsToRefundV3, deposit);
1012
- _c.label = 3;
1013
- case 3: return [2 /*return*/];
1014
- case 4:
998
+ else {
999
+ updateExpiredDepositsV3(expiredDepositsToRefundV3, deposit);
1000
+ }
1001
+ _c.label = 2;
1002
+ case 2: return [2 /*return*/];
1003
+ case 3:
1015
1004
  // If a slow fill request exists in memory, then we know the deposit has not been filled because fills
1016
- // must follow slow fill requests and we would have seen the fill already if it existed. Therefore,
1017
- // we can conclude that either the deposit has expired and we need to create a deposit expiry refund, or
1018
- // we need to create a slow fill leaf for the deposit. The latter should only happen if the slow fill request
1019
- // took place in a prior bundle otherwise we would have already created a slow fill leaf for it.
1005
+ // must follow slow fill requests and we would have seen the fill already if it existed.,
1006
+ // We can conclude that either the deposit has expired or we need to create a slow fill leaf for the
1007
+ // deposit because it has not been filled. Slow fill leaves were already created for requests sent
1008
+ // in the current bundle so only create new slow fill leaves for prior bundle deposits.
1020
1009
  if (slowFillRequest) {
1021
1010
  if (_depositIsExpired(deposit)) {
1022
1011
  updateExpiredDepositsV3(expiredDepositsToRefundV3, deposit);
@@ -1030,17 +1019,17 @@ var BundleDataClient = /** @class */ (function () {
1030
1019
  return [2 /*return*/];
1031
1020
  }
1032
1021
  return [4 /*yield*/, _getFillStatusForDeposit(deposit, destinationChainBlockRange[1])];
1033
- case 5:
1022
+ case 4:
1034
1023
  fillStatus = _c.sent();
1035
- if (!(fillStatus === FillStatus.Filled)) return [3 /*break*/, 9];
1024
+ if (!(fillStatus === FillStatus.Filled)) return [3 /*break*/, 8];
1036
1025
  return [4 /*yield*/, this.findMatchingFillEvent(deposit, destinationClient)];
1037
- case 6:
1026
+ case 5:
1038
1027
  prefill = _c.sent();
1039
1028
  assert(isDefined(prefill), "findFillEvent# Cannot find prefill: ".concat(relayDataHash));
1040
1029
  assert(this.getRelayHashFromEvent(prefill) === relayDataHash, "Relay hashes should match.");
1041
- if (!canRefundPrefills) return [3 /*break*/, 8];
1030
+ if (!canRefundPrefills) return [3 /*break*/, 7];
1042
1031
  return [4 /*yield*/, verifyFillRepayment(prefill, destinationClient.spokePool.provider, deposit, allChainIds)];
1043
- case 7:
1032
+ case 6:
1044
1033
  verifiedFill = _c.sent();
1045
1034
  if (!isDefined(verifiedFill)) {
1046
1035
  bundleUnrepayableFillsV3.push(prefill);
@@ -1049,40 +1038,47 @@ var BundleDataClient = /** @class */ (function () {
1049
1038
  validatedBundleV3Fills.push(__assign(__assign({}, verifiedFill), { quoteTimestamp: deposit.quoteTimestamp }));
1050
1039
  }
1051
1040
  else {
1052
- // Slow fills cannot result in refunds to a relayer to refund the deposit. Slow fills also
1053
- // were created after the deposit was sent, so we can assume this deposit is a duplicate.
1054
1041
  updateExpiredDepositsV3(expiredDepositsToRefundV3, deposit);
1055
1042
  }
1056
- _c.label = 8;
1057
- case 8: return [3 /*break*/, 10];
1058
- case 9:
1043
+ _c.label = 7;
1044
+ case 7: return [3 /*break*/, 9];
1045
+ case 8:
1059
1046
  if (_depositIsExpired(deposit)) {
1060
1047
  updateExpiredDepositsV3(expiredDepositsToRefundV3, deposit);
1061
1048
  }
1062
- // If slow fill requested, then issue a slow fill leaf for the deposit.
1063
1049
  else if (fillStatus === FillStatus.RequestedSlowFill &&
1050
+ // Don't create duplicate slow fill requests for the same deposit.
1064
1051
  validatedBundleSlowFills.every(function (d) { return _this.getRelayHashFromEvent(d) !== relayDataHash; })) {
1065
- // Input and Output tokens must be equivalent on the deposit for this to be slow filled.
1066
- // Slow fill requests for deposits from or to lite chains are considered invalid
1067
1052
  if (canRefundPrefills && _canCreateSlowFillLeaf(deposit)) {
1068
- // If deposit newly expired, then we can't create a slow fill leaf for it but we can
1069
- // create a deposit refund for it.
1070
1053
  validatedBundleSlowFills.push(deposit);
1071
1054
  }
1072
1055
  }
1073
- _c.label = 10;
1074
- case 10: return [2 /*return*/];
1056
+ _c.label = 9;
1057
+ case 9: return [2 /*return*/];
1075
1058
  }
1076
1059
  });
1077
1060
  }); })];
1078
1061
  case 3:
1079
- // Deposits can be submitted an arbitrary amount of time after matching fills and slow fill requests.
1080
- // Therefore, let's go through each deposit in this bundle again and check a few things in order:
1081
- // - Has the deposit been filled ? If so, then we need to issue a relayer refund for
1082
- // this "pre-fill" if the fill took place in a previous bundle.
1083
- // - Or, has the deposit expired in this bundle? If so, then we need to issue an expiry refund.
1084
- // - And finally, has the deposit been slow filled? If so, then we need to issue a slow fill leaf
1085
- // for this "pre-slow-fill-request" if this request took place in a previous bundle.
1062
+ // Process deposits and maintain the following invariants:
1063
+ // - Deposits matching fills that are not type SlowFill from previous bundle block ranges should produce
1064
+ // refunds for those fills.
1065
+ // - Deposits matching fills that are type SlowFill from previous bundle block ranges should be refunded to the
1066
+ // depositor.
1067
+ // - All deposits expiring in this bundle, even those sent in prior bundle block ranges, should be refunded
1068
+ // to the depositor.
1069
+ // - An expired deposit cannot be refunded if the deposit was filled.
1070
+ // - If a deposit from a prior bundle expired in this bundle, had a slow fill request created for it
1071
+ // in a prior bundle, and has not been filled yet, then an unexecutable slow fill leaf has been created
1072
+ // and needs to be refunded to the HubPool.
1073
+ // - Deposits matching slow fill requests from previous bundle block ranges should produce slow fills
1074
+ // if the deposit has not been filled.
1075
+ // Assumptions:
1076
+ // - If the deposit has a matching fill or slow fill request in the bundle then we have already stored
1077
+ // it in the relay hashes dictionary.
1078
+ // - We've created refunds for all fills in this bundle matching a deposit.
1079
+ // - We've created slow fill leaves for all slow fill requests in this bundle matching an unfilled deposit.
1080
+ // - Deposits for the same relay data hash can be sent an arbitrary amount of times.
1081
+ // - Deposits can be sent an arbitrary amount of time after a fill has been sent for the matching relay data.
1086
1082
  _g.sent();
1087
1083
  // For all fills that came after a slow fill request, we can now check if the slow fill request
1088
1084
  // was a valid one and whether it was created in a previous bundle. If so, then it created a slow fill
@@ -1250,6 +1246,7 @@ var BundleDataClient = /** @class */ (function () {
1250
1246
  if (validatedBundleSlowFills.slice(0, idx).some(function (d) { return _this.getRelayHashFromEvent(d) === relayDataHash; })) {
1251
1247
  return;
1252
1248
  }
1249
+ assert(!_depositIsExpired(deposit), "Cannot create slow fill leaf for expired deposit.");
1253
1250
  updateBundleSlowFills(bundleSlowFillsV3, __assign(__assign({}, deposit), { lpFeePct: lpFeePct }));
1254
1251
  });
1255
1252
  v3UnexecutableSlowFillLpFees.forEach(function (_a, idx) {
@@ -1 +1 @@
1
- {"version":3,"file":"BundleDataClient.js","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundleDataClient.js","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}