@namehash/ens-referrals 1.10.1 → 1.11.1

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/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { NormalizedAddress, UnixTimestamp, AccountId, Duration, Address } from 'enssdk';
2
- import { PriceUsdc, PriceEth, SerializedPriceEth, SerializedPriceUsdc } from '@ensnode/ensnode-sdk';
1
+ import { NormalizedAddress, UnixTimestamp, AccountId, Duration, InterpretedName, Address } from 'enssdk';
2
+ import { PriceUsdc, PriceEth, RegistrarActionType, SerializedPriceEth, SerializedPriceUsdc, EnsIndexerPublicConfig, PrerequisiteResult, OmnichainIndexingStatusId } from '@ensnode/ensnode-sdk';
3
+ import { Hash } from 'viem';
3
4
 
4
5
  declare const validateNormalizedAddress: (address: NormalizedAddress) => void;
5
6
 
@@ -250,9 +251,9 @@ type ReferralProgramEditionSlug = string;
250
251
  */
251
252
  declare const REFERRAL_PROGRAM_EDITION_SLUG_PATTERN: RegExp;
252
253
  /**
253
- * Represents a referral program edition configuration.
254
+ * Base fields shared by all referral program edition configs.
254
255
  */
255
- interface ReferralProgramEditionConfig {
256
+ interface BaseReferralProgramEditionConfig {
256
257
  /**
257
258
  * Unique slug identifier for the edition.
258
259
  */
@@ -262,6 +263,15 @@ interface ReferralProgramEditionConfig {
262
263
  * @example "ENS Holiday Awards"
263
264
  */
264
265
  displayName: string;
266
+ /**
267
+ * The base rules that govern this referral program edition.
268
+ */
269
+ rules: BaseReferralProgramRules;
270
+ }
271
+ /**
272
+ * Represents a referral program edition configuration.
273
+ */
274
+ interface ReferralProgramEditionConfig extends BaseReferralProgramEditionConfig {
265
275
  /**
266
276
  * The rules that govern this referral program edition.
267
277
  */
@@ -277,13 +287,26 @@ interface ReferralProgramEditionConfig {
277
287
  */
278
288
  type ReferralProgramEditionConfigSet = Map<ReferralProgramEditionSlug, ReferralProgramEditionConfig>;
279
289
  /**
280
- * Validates that a ReferralProgramEditionConfigSet maintains the invariant
281
- * that each map key equals the corresponding config's slug.
290
+ * Validates the invariants of a {@link ReferralProgramEditionConfigSet}.
282
291
  *
283
292
  * @param configSet - The edition config set to validate
284
- * @throws {Error} If any entry violates the invariant (key !== value.slug)
293
+ * @throws {Error} If any entry violates the invariant that each map key equals the
294
+ * corresponding config's slug
295
+ * @throws {Error} If any pair of editions sharing a `subregistryId` overlap in time
296
+ * (`startTime` and `endTime` are inclusive — touching edges count as overlap)
285
297
  */
286
298
  declare function validateReferralProgramEditionConfigSet(configSet: ReferralProgramEditionConfigSet): void;
299
+ /**
300
+ * Returns the first pair of editions sharing a `subregistryId` whose time ranges overlap,
301
+ * or `null` if none do.
302
+ *
303
+ * `startTime` and `endTime` are inclusive, so ranges sharing a single instant
304
+ * (`A.endTime === B.startTime`) count as overlapping.
305
+ *
306
+ * @param editions - Array of editions to check
307
+ * @returns A `[a, b]` tuple of the first offending pair, or `null` if none
308
+ */
309
+ declare function findOverlappingEditionPair<T extends BaseReferralProgramEditionConfig>(editions: readonly T[]): readonly [T, T] | null;
287
310
  /**
288
311
  * Builds a new ReferralProgramEditionConfigSet from an array of configs and validates the invariant.
289
312
  *
@@ -711,29 +734,17 @@ type ReferrerEditionMetricsPieSplit = ReferrerEditionMetricsRankedPieSplit | Ref
711
734
  /**
712
735
  * Base fields shared by all edition summary variants.
713
736
  */
714
- interface BaseReferralProgramEditionSummary {
737
+ interface BaseReferralProgramEditionSummary extends BaseReferralProgramEditionConfig {
715
738
  /**
716
739
  * Discriminant: identifies the award model for this edition.
717
740
  *
718
741
  * @invariant Always equals `rules.awardModel`.
719
742
  */
720
743
  awardModel: ReferralProgramAwardModel;
721
- /**
722
- * Unique slug identifier for the edition.
723
- */
724
- slug: ReferralProgramEditionSlug;
725
- /**
726
- * Human-readable display name for the edition.
727
- */
728
- displayName: string;
729
744
  /**
730
745
  * The current runtime status of the edition.
731
746
  */
732
747
  status: ReferralProgramEditionStatusId;
733
- /**
734
- * The rules for this edition. Per-model subtypes narrow this to their specific rules type.
735
- */
736
- rules: BaseReferralProgramRules;
737
748
  }
738
749
  /**
739
750
  * Edition summary for an edition whose `awardModel` is not recognized by this client version.
@@ -792,7 +803,22 @@ interface ReferrerLeaderboardPieSplit {
792
803
  */
793
804
  accurateAsOf: UnixTimestamp;
794
805
  }
795
- declare const buildReferrerLeaderboardPieSplit: (allReferrers: ReferrerMetrics[], rules: ReferralProgramRulesPieSplit, accurateAsOf: UnixTimestamp) => ReferrerLeaderboardPieSplit;
806
+ /**
807
+ * A point-in-time snapshot of everything computed for a `pie-split` referral program edition.
808
+ */
809
+ interface ReferralEditionSnapshotPieSplit {
810
+ /**
811
+ * Discriminant identifying this as a pie-split snapshot.
812
+ *
813
+ * @invariant Equals `leaderboard.awardModel` and `leaderboard.rules.awardModel`.
814
+ */
815
+ awardModel: typeof ReferralProgramAwardModels.PieSplit;
816
+ /**
817
+ * The {@link ReferrerLeaderboardPieSplit} computed for this edition.
818
+ */
819
+ leaderboard: ReferrerLeaderboardPieSplit;
820
+ }
821
+ declare const buildReferralEditionSnapshotPieSplit: (allReferrers: ReferrerMetrics[], rules: ReferralProgramRulesPieSplit, accurateAsOf: UnixTimestamp) => ReferralEditionSnapshotPieSplit;
796
822
 
797
823
  /**
798
824
  * Edition summary for a `pie-split` referral program edition.
@@ -816,6 +842,115 @@ declare const validateEditionSummaryPieSplit: (summary: ReferralProgramEditionSu
816
842
  */
817
843
  declare function buildEditionSummaryPieSplit(slug: ReferralProgramEditionSlug, displayName: string, rules: ReferralProgramRulesPieSplit, leaderboard: ReferrerLeaderboardPieSplit): ReferralProgramEditionSummaryPieSplit;
818
844
 
845
+ /**
846
+ * Per-event accounting math for a single referral under a rev-share-cap edition.
847
+ */
848
+ interface TentativeReferralAwardRevShareCap {
849
+ /**
850
+ * Revenue contribution in ETH from this single referral event.
851
+ */
852
+ incrementalRevenueContribution: PriceEth;
853
+ /**
854
+ * Running total of the referrer's revenue contribution in ETH, through and including this event.
855
+ */
856
+ accumulatedRevenueContribution: PriceEth;
857
+ /**
858
+ * Base revenue contribution in USDC attributable to this single referral event's duration.
859
+ */
860
+ incrementalBaseRevenueContribution: PriceUsdc;
861
+ /**
862
+ * The referrer's accumulated base revenue contribution in USDC, through and including this event.
863
+ */
864
+ accumulatedBaseRevenueContribution: PriceUsdc;
865
+ /**
866
+ * The award pool in USDC remaining.
867
+ *
868
+ * @invariant Reflects the pool state *before* this event was processed.
869
+ */
870
+ awardPoolRemaining: PriceUsdc;
871
+ /**
872
+ * `true` if and only if the referrer has an admin-disqualification action for this edition.
873
+ *
874
+ * @invariant Reflects admin disqualification only; NOT set when the referrer has simply not
875
+ * yet met the minimum-base-revenue threshold.
876
+ */
877
+ disqualified: boolean;
878
+ /**
879
+ * The admin-disqualification reason string, verbatim from the admin action.
880
+ *
881
+ * @invariant Defined if and only if `disqualified === true`.
882
+ */
883
+ disqualificationReason?: string;
884
+ /**
885
+ * A copy of `rules.maxBaseRevenueShare` at the time of this event.
886
+ */
887
+ maxRevShare: number;
888
+ /**
889
+ * The effective fraction of base revenue that was awarded for this event. Derived as
890
+ * `incrementalTentativeAward.amount / incrementalBaseRevenueContribution.amount`.
891
+ * Useful for diagnosing partial-pool truncation and first-time-qualification catch-up awards.
892
+ *
893
+ * @invariant Equals `0` when `incrementalBaseRevenueContribution.amount === 0n`.
894
+ * @invariant `<= maxRevShare` for the already-qualified branch. May exceed `maxRevShare` on
895
+ * the event that triggers first-time qualification, because accumulated uncapped
896
+ * award from prior events is claimed against this event's base revenue.
897
+ */
898
+ effectiveBaseRevShare: number;
899
+ /**
900
+ * The tentative USDC award attributed to this single referral event.
901
+ *
902
+ * On the event that triggers first-time qualification, this includes the accumulated uncapped
903
+ * award from prior events in which the referrer had not yet qualified (capped by the remaining
904
+ * award pool). On subsequent events, it is the per-event uncapped award capped by the pool.
905
+ *
906
+ * @invariant `amount === 0n` when the referrer is admin-disqualified OR has not yet qualified
907
+ * as of this event. Also zero when the pool is empty.
908
+ * @invariant `amount <= awardPoolRemaining.amount`.
909
+ */
910
+ incrementalTentativeAward: PriceUsdc;
911
+ }
912
+ /**
913
+ * A single per-event accounting record for a referral under a rev-share-cap edition.
914
+ */
915
+ interface ReferralAccountingRecordRevShareCap {
916
+ /**
917
+ * The registrar-action identifier.
918
+ */
919
+ registrarActionId: string;
920
+ /**
921
+ * Block timestamp of the referral event.
922
+ */
923
+ timestamp: UnixTimestamp;
924
+ /**
925
+ * FQDN of the name the referral applies to.
926
+ */
927
+ name: InterpretedName;
928
+ /**
929
+ * Type of registrar action.
930
+ */
931
+ actionType: RegistrarActionType;
932
+ /**
933
+ * Transaction hash of the referral.
934
+ */
935
+ transactionHash: Hash;
936
+ /**
937
+ * Registrant that paid for / performed the action.
938
+ */
939
+ registrant: Address;
940
+ /**
941
+ * Referrer that received credit.
942
+ */
943
+ referrer: NormalizedAddress;
944
+ /**
945
+ * Incremental duration (seconds) contributed by this referral.
946
+ */
947
+ incrementalDuration: Duration;
948
+ /**
949
+ * Per-event accounting math from the rev-share-cap race.
950
+ */
951
+ tentativeAward: TentativeReferralAwardRevShareCap;
952
+ }
953
+
819
954
  /**
820
955
  * Extends {@link ReferrerMetrics} with computed base revenue contribution.
821
956
  */
@@ -987,6 +1122,22 @@ interface ReferralEvent {
987
1122
  * Revenue contribution in ETH from this single referral event.
988
1123
  */
989
1124
  incrementalRevenueContribution: PriceEth;
1125
+ /**
1126
+ * FQDN of the name the referral applies to.
1127
+ */
1128
+ name: InterpretedName;
1129
+ /**
1130
+ * Type of registrar action.
1131
+ */
1132
+ actionType: RegistrarActionType;
1133
+ /**
1134
+ * Transaction hash of the onchain registrar action that produced this referral.
1135
+ */
1136
+ transactionHash: Hash;
1137
+ /**
1138
+ * Ethereum address of the registrant that paid for / performed the action.
1139
+ */
1140
+ registrant: Address;
990
1141
  }
991
1142
 
992
1143
  /**
@@ -1027,7 +1178,28 @@ interface ReferrerLeaderboardRevShareCap {
1027
1178
  accurateAsOf: UnixTimestamp;
1028
1179
  }
1029
1180
  /**
1030
- * Builds a {@link ReferrerLeaderboardRevShareCap} using a sequential "first-come, first-served"
1181
+ * A point-in-time snapshot of everything computed for a `rev-share-cap` referral program edition.
1182
+ */
1183
+ interface ReferralEditionSnapshotRevShareCap {
1184
+ /**
1185
+ * Discriminant identifying this as a rev-share-cap snapshot.
1186
+ *
1187
+ * @invariant Equals `leaderboard.awardModel` and `leaderboard.rules.awardModel`.
1188
+ */
1189
+ awardModel: typeof ReferralProgramAwardModels.RevShareCap;
1190
+ /**
1191
+ * The {@link ReferrerLeaderboardRevShareCap} computed from `accountingRecords`.
1192
+ */
1193
+ leaderboard: ReferrerLeaderboardRevShareCap;
1194
+ /**
1195
+ * Per-event accounting trace.
1196
+ *
1197
+ * @invariant One entry per processed onchain event, in chronological order.
1198
+ */
1199
+ accountingRecords: ReferralAccountingRecordRevShareCap[];
1200
+ }
1201
+ /**
1202
+ * Builds a {@link ReferralEditionSnapshotRevShareCap} using a sequential "first-come, first-served"
1031
1203
  * race algorithm over individual referral events.
1032
1204
  *
1033
1205
  * Events are processed in chronological order. When a referrer first crosses the qualification
@@ -1039,7 +1211,7 @@ interface ReferrerLeaderboardRevShareCap {
1039
1211
  * @param rules - The {@link ReferralProgramRulesRevShareCap} defining the program parameters.
1040
1212
  * @param accurateAsOf - Timestamp indicating data freshness.
1041
1213
  */
1042
- declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferrerLeaderboardRevShareCap;
1214
+ declare const buildReferralEditionSnapshotRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferralEditionSnapshotRevShareCap;
1043
1215
 
1044
1216
  /**
1045
1217
  * Represents a leaderboard for any number of referrers.
@@ -1047,6 +1219,12 @@ declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rul
1047
1219
  * Use `awardModel` to narrow the specific variant at runtime.
1048
1220
  */
1049
1221
  type ReferrerLeaderboard = ReferrerLeaderboardPieSplit | ReferrerLeaderboardRevShareCap;
1222
+ /**
1223
+ * A point-in-time snapshot of everything computed for a referral program edition.
1224
+ *
1225
+ * Use `awardModel` to narrow the specific variant at runtime.
1226
+ */
1227
+ type ReferralEditionSnapshot = ReferralEditionSnapshotPieSplit | ReferralEditionSnapshotRevShareCap;
1050
1228
 
1051
1229
  /**
1052
1230
  * The default number of referrers per leaderboard page.
@@ -1775,6 +1953,15 @@ declare function deserializeReferralProgramEditionConfigSetArray(maybeArray: unk
1775
1953
  */
1776
1954
  declare function deserializeReferralProgramEditionSummariesResponse(maybeResponse: SerializedReferralProgramEditionSummariesResponse, valueLabel?: string): ReferralProgramEditionSummariesResponse;
1777
1955
 
1956
+ /**
1957
+ * Check if provided EnsIndexerPublicConfig supports the ENSAnalytics API.
1958
+ */
1959
+ declare function hasEnsAnalyticsConfigSupport(config: EnsIndexerPublicConfig): PrerequisiteResult;
1960
+ /**
1961
+ * Check if provided indexing status supports the ENSAnalytics API.
1962
+ */
1963
+ declare function hasEnsAnalyticsIndexingStatusSupport(omnichainIndexingStatusId: OmnichainIndexingStatusId): PrerequisiteResult;
1964
+
1778
1965
  /**
1779
1966
  * Serializes a {@link ReferralProgramRules} object.
1780
1967
  *
@@ -2118,4 +2305,4 @@ declare const SECONDS_PER_YEAR: Duration;
2118
2305
  declare function isValidDuration(duration: Duration): boolean;
2119
2306
  declare function validateDuration(duration: Duration): void;
2120
2307
 
2121
- export { type AdminAction, type AdminActionDisqualification, type AdminActionType, AdminActionTypes, type AdminActionWarning, type AggregatedReferrerMetricsPieSplit, type AggregatedReferrerMetricsRevShareCap, type AwardedReferrerMetricsPieSplit, type AwardedReferrerMetricsRevShareCap, type BaseReferralProgramEditionSummary, type BaseReferralProgramRules, type BaseReferrerLeaderboardPage, type ClientOptions, DEFAULT_ENSNODE_API_URL, ENSReferralsClient, MAX_EDITIONS_PER_REQUEST, REFERRAL_PROGRAM_EDITION_SLUG_PATTERN, REFERRERS_PER_LEADERBOARD_PAGE_DEFAULT, REFERRERS_PER_LEADERBOARD_PAGE_MAX, type RankedReferrerMetricsPieSplit, type RankedReferrerMetricsRevShareCap, type ReferralEvent, type ReferralProgramAwardModel, ReferralProgramAwardModels, type ReferralProgramEditionConfig, type ReferralProgramEditionConfigSet, type ReferralProgramEditionSlug, type ReferralProgramEditionStatusId, ReferralProgramEditionStatuses, type ReferralProgramEditionSummariesData, type ReferralProgramEditionSummariesResponse, type ReferralProgramEditionSummariesResponseCode, ReferralProgramEditionSummariesResponseCodes, type ReferralProgramEditionSummariesResponseError, type ReferralProgramEditionSummariesResponseOk, type ReferralProgramEditionSummary, type ReferralProgramEditionSummaryPieSplit, type ReferralProgramEditionSummaryRevShareCap, type ReferralProgramEditionSummaryUnrecognized, type ReferralProgramRules, type ReferralProgramRulesPieSplit, type ReferralProgramRulesRevShareCap, type ReferralProgramRulesUnrecognized, type ReferrerEditionMetrics, type ReferrerEditionMetricsPieSplit, type ReferrerEditionMetricsRankedPieSplit, type ReferrerEditionMetricsRankedRevShareCap, type ReferrerEditionMetricsRevShareCap, type ReferrerEditionMetricsTypeId, ReferrerEditionMetricsTypeIds, type ReferrerEditionMetricsUnrankedPieSplit, type ReferrerEditionMetricsUnrankedRevShareCap, type ReferrerEditionMetricsUnrecognized, type ReferrerLeaderboard, type ReferrerLeaderboardPage, type ReferrerLeaderboardPageContext, type ReferrerLeaderboardPageParams, type ReferrerLeaderboardPagePieSplit, type ReferrerLeaderboardPageRequest, type ReferrerLeaderboardPageResponse, type ReferrerLeaderboardPageResponseCode, ReferrerLeaderboardPageResponseCodes, type ReferrerLeaderboardPageResponseError, type ReferrerLeaderboardPageResponseOk, type ReferrerLeaderboardPageRevShareCap, type ReferrerLeaderboardPageUnrecognized, type ReferrerLeaderboardPieSplit, type ReferrerLeaderboardRevShareCap, type ReferrerMetrics, type ReferrerMetricsEditionsData, type ReferrerMetricsEditionsRequest, type ReferrerMetricsEditionsResponse, type ReferrerMetricsEditionsResponseCode, ReferrerMetricsEditionsResponseCodes, type ReferrerMetricsEditionsResponseError, type ReferrerMetricsEditionsResponseOk, type ReferrerMetricsForComparison, type ReferrerMetricsRevShareCap, type ReferrerRank, type ReferrerScore, SECONDS_PER_YEAR, type ScoredReferrerMetricsPieSplit, type SerializedAggregatedReferrerMetricsPieSplit, type SerializedAggregatedReferrerMetricsRevShareCap, type SerializedAwardedReferrerMetricsPieSplit, type SerializedAwardedReferrerMetricsRevShareCap, type SerializedReferralProgramEditionSummariesData, type SerializedReferralProgramEditionSummariesResponse, type SerializedReferralProgramEditionSummariesResponseError, type SerializedReferralProgramEditionSummariesResponseOk, type SerializedReferralProgramEditionSummary, type SerializedReferralProgramEditionSummaryPieSplit, type SerializedReferralProgramEditionSummaryRevShareCap, type SerializedReferralProgramRules, type SerializedReferralProgramRulesPieSplit, type SerializedReferralProgramRulesRevShareCap, type SerializedReferrerEditionMetrics, type SerializedReferrerEditionMetricsPieSplit, type SerializedReferrerEditionMetricsRankedPieSplit, type SerializedReferrerEditionMetricsRankedRevShareCap, type SerializedReferrerEditionMetricsRevShareCap, type SerializedReferrerEditionMetricsUnrankedPieSplit, type SerializedReferrerEditionMetricsUnrankedRevShareCap, type SerializedReferrerLeaderboardPage, type SerializedReferrerLeaderboardPagePieSplit, type SerializedReferrerLeaderboardPageResponse, type SerializedReferrerLeaderboardPageResponseError, type SerializedReferrerLeaderboardPageResponseOk, type SerializedReferrerLeaderboardPageRevShareCap, type SerializedReferrerMetricsEditionsData, type SerializedReferrerMetricsEditionsResponse, type SerializedReferrerMetricsEditionsResponseError, type SerializedReferrerMetricsEditionsResponseOk, type SerializedUnrankedReferrerMetricsPieSplit, type SerializedUnrankedReferrerMetricsRevShareCap, type UnrankedReferrerMetricsPieSplit, type UnrankedReferrerMetricsRevShareCap, buildAggregatedReferrerMetricsPieSplit, buildAggregatedReferrerMetricsRevShareCap, buildAwardedReferrerMetricsPieSplit, buildAwardedReferrerMetricsRevShareCap, buildEditionSummary, buildEditionSummaryPieSplit, buildEditionSummaryRevShareCap, buildEnsReferralUrl, buildLeaderboardPagePieSplit, buildLeaderboardPageRevShareCap, buildRankedReferrerMetricsPieSplit, buildRankedReferrerMetricsRevShareCap, buildReferralProgramEditionConfigSet, buildReferralProgramRulesPieSplit, buildReferralProgramRulesRevShareCap, buildReferrerLeaderboardPageContext, buildReferrerLeaderboardPageParams, buildReferrerLeaderboardPieSplit, buildReferrerLeaderboardRevShareCap, buildReferrerMetrics, buildReferrerMetricsRevShareCap, buildScoredReferrerMetricsPieSplit, buildUnrankedReferrerMetricsPieSplit, buildUnrankedReferrerMetricsRevShareCap, calcBaseReferralProgramEditionStatus, calcBaseRevenueContribution, calcReferralProgramEditionStatusPieSplit, calcReferralProgramEditionStatusRevShareCap, calcReferrerAwardPoolSharePieSplit, calcReferrerScorePieSplit, compareReferrerMetrics, deserializeReferralProgramEditionConfigSetArray, deserializeReferralProgramEditionSummariesResponse, deserializeReferrerLeaderboardPageResponse, deserializeReferrerMetricsEditionsResponse, getReferrerEditionMetrics, getReferrerLeaderboardPage, isFiniteNonNegativeNumber, isInteger, isNonNegativeInteger, isPositiveInteger, isReferrerQualifiedRevShareCap, isValidDuration, isValidReferrerScore, serializeReferralProgramEditionSummariesResponse, serializeReferralProgramEditionSummary, serializeReferralProgramRules, serializeReferrerLeaderboardPageResponse, serializeReferrerMetricsEditionsResponse, sliceReferrers, sortReferrerMetrics, validateAggregatedReferrerMetricsPieSplit, validateAggregatedReferrerMetricsRevShareCap, validateAwardedReferrerMetricsPieSplit, validateAwardedReferrerMetricsRevShareCap, validateBaseReferralProgramEditionSummary, validateBaseReferralProgramRules, validateDuration, validateEditionSummaryPieSplit, validateEditionSummaryRevShareCap, validateNonNegativeInteger, validateNormalizedAddress, validateRankedReferrerMetricsPieSplit, validateRankedReferrerMetricsRevShareCap, validateReferralProgramEditionConfigSet, validateReferralProgramRulesPieSplit, validateReferralProgramRulesRevShareCap, validateReferrerLeaderboardPageContext, validateReferrerMetrics, validateReferrerMetricsRevShareCap, validateReferrerRank, validateReferrerScore, validateScoredReferrerMetricsPieSplit, validateUnixTimestamp, validateUnrankedReferrerMetricsPieSplit, validateUnrankedReferrerMetricsRevShareCap };
2308
+ export { type AdminAction, type AdminActionDisqualification, type AdminActionType, AdminActionTypes, type AdminActionWarning, type AggregatedReferrerMetricsPieSplit, type AggregatedReferrerMetricsRevShareCap, type AwardedReferrerMetricsPieSplit, type AwardedReferrerMetricsRevShareCap, type BaseReferralProgramEditionConfig, type BaseReferralProgramEditionSummary, type BaseReferralProgramRules, type BaseReferrerLeaderboardPage, type ClientOptions, DEFAULT_ENSNODE_API_URL, ENSReferralsClient, MAX_EDITIONS_PER_REQUEST, REFERRAL_PROGRAM_EDITION_SLUG_PATTERN, REFERRERS_PER_LEADERBOARD_PAGE_DEFAULT, REFERRERS_PER_LEADERBOARD_PAGE_MAX, type RankedReferrerMetricsPieSplit, type RankedReferrerMetricsRevShareCap, type ReferralAccountingRecordRevShareCap, type ReferralEditionSnapshot, type ReferralEditionSnapshotPieSplit, type ReferralEditionSnapshotRevShareCap, type ReferralEvent, type ReferralProgramAwardModel, ReferralProgramAwardModels, type ReferralProgramEditionConfig, type ReferralProgramEditionConfigSet, type ReferralProgramEditionSlug, type ReferralProgramEditionStatusId, ReferralProgramEditionStatuses, type ReferralProgramEditionSummariesData, type ReferralProgramEditionSummariesResponse, type ReferralProgramEditionSummariesResponseCode, ReferralProgramEditionSummariesResponseCodes, type ReferralProgramEditionSummariesResponseError, type ReferralProgramEditionSummariesResponseOk, type ReferralProgramEditionSummary, type ReferralProgramEditionSummaryPieSplit, type ReferralProgramEditionSummaryRevShareCap, type ReferralProgramEditionSummaryUnrecognized, type ReferralProgramRules, type ReferralProgramRulesPieSplit, type ReferralProgramRulesRevShareCap, type ReferralProgramRulesUnrecognized, type ReferrerEditionMetrics, type ReferrerEditionMetricsPieSplit, type ReferrerEditionMetricsRankedPieSplit, type ReferrerEditionMetricsRankedRevShareCap, type ReferrerEditionMetricsRevShareCap, type ReferrerEditionMetricsTypeId, ReferrerEditionMetricsTypeIds, type ReferrerEditionMetricsUnrankedPieSplit, type ReferrerEditionMetricsUnrankedRevShareCap, type ReferrerEditionMetricsUnrecognized, type ReferrerLeaderboard, type ReferrerLeaderboardPage, type ReferrerLeaderboardPageContext, type ReferrerLeaderboardPageParams, type ReferrerLeaderboardPagePieSplit, type ReferrerLeaderboardPageRequest, type ReferrerLeaderboardPageResponse, type ReferrerLeaderboardPageResponseCode, ReferrerLeaderboardPageResponseCodes, type ReferrerLeaderboardPageResponseError, type ReferrerLeaderboardPageResponseOk, type ReferrerLeaderboardPageRevShareCap, type ReferrerLeaderboardPageUnrecognized, type ReferrerLeaderboardPieSplit, type ReferrerLeaderboardRevShareCap, type ReferrerMetrics, type ReferrerMetricsEditionsData, type ReferrerMetricsEditionsRequest, type ReferrerMetricsEditionsResponse, type ReferrerMetricsEditionsResponseCode, ReferrerMetricsEditionsResponseCodes, type ReferrerMetricsEditionsResponseError, type ReferrerMetricsEditionsResponseOk, type ReferrerMetricsForComparison, type ReferrerMetricsRevShareCap, type ReferrerRank, type ReferrerScore, SECONDS_PER_YEAR, type ScoredReferrerMetricsPieSplit, type SerializedAggregatedReferrerMetricsPieSplit, type SerializedAggregatedReferrerMetricsRevShareCap, type SerializedAwardedReferrerMetricsPieSplit, type SerializedAwardedReferrerMetricsRevShareCap, type SerializedReferralProgramEditionSummariesData, type SerializedReferralProgramEditionSummariesResponse, type SerializedReferralProgramEditionSummariesResponseError, type SerializedReferralProgramEditionSummariesResponseOk, type SerializedReferralProgramEditionSummary, type SerializedReferralProgramEditionSummaryPieSplit, type SerializedReferralProgramEditionSummaryRevShareCap, type SerializedReferralProgramRules, type SerializedReferralProgramRulesPieSplit, type SerializedReferralProgramRulesRevShareCap, type SerializedReferrerEditionMetrics, type SerializedReferrerEditionMetricsPieSplit, type SerializedReferrerEditionMetricsRankedPieSplit, type SerializedReferrerEditionMetricsRankedRevShareCap, type SerializedReferrerEditionMetricsRevShareCap, type SerializedReferrerEditionMetricsUnrankedPieSplit, type SerializedReferrerEditionMetricsUnrankedRevShareCap, type SerializedReferrerLeaderboardPage, type SerializedReferrerLeaderboardPagePieSplit, type SerializedReferrerLeaderboardPageResponse, type SerializedReferrerLeaderboardPageResponseError, type SerializedReferrerLeaderboardPageResponseOk, type SerializedReferrerLeaderboardPageRevShareCap, type SerializedReferrerMetricsEditionsData, type SerializedReferrerMetricsEditionsResponse, type SerializedReferrerMetricsEditionsResponseError, type SerializedReferrerMetricsEditionsResponseOk, type SerializedUnrankedReferrerMetricsPieSplit, type SerializedUnrankedReferrerMetricsRevShareCap, type TentativeReferralAwardRevShareCap, type UnrankedReferrerMetricsPieSplit, type UnrankedReferrerMetricsRevShareCap, buildAggregatedReferrerMetricsPieSplit, buildAggregatedReferrerMetricsRevShareCap, buildAwardedReferrerMetricsPieSplit, buildAwardedReferrerMetricsRevShareCap, buildEditionSummary, buildEditionSummaryPieSplit, buildEditionSummaryRevShareCap, buildEnsReferralUrl, buildLeaderboardPagePieSplit, buildLeaderboardPageRevShareCap, buildRankedReferrerMetricsPieSplit, buildRankedReferrerMetricsRevShareCap, buildReferralEditionSnapshotPieSplit, buildReferralEditionSnapshotRevShareCap, buildReferralProgramEditionConfigSet, buildReferralProgramRulesPieSplit, buildReferralProgramRulesRevShareCap, buildReferrerLeaderboardPageContext, buildReferrerLeaderboardPageParams, buildReferrerMetrics, buildReferrerMetricsRevShareCap, buildScoredReferrerMetricsPieSplit, buildUnrankedReferrerMetricsPieSplit, buildUnrankedReferrerMetricsRevShareCap, calcBaseReferralProgramEditionStatus, calcBaseRevenueContribution, calcReferralProgramEditionStatusPieSplit, calcReferralProgramEditionStatusRevShareCap, calcReferrerAwardPoolSharePieSplit, calcReferrerScorePieSplit, compareReferrerMetrics, deserializeReferralProgramEditionConfigSetArray, deserializeReferralProgramEditionSummariesResponse, deserializeReferrerLeaderboardPageResponse, deserializeReferrerMetricsEditionsResponse, findOverlappingEditionPair, getReferrerEditionMetrics, getReferrerLeaderboardPage, hasEnsAnalyticsConfigSupport, hasEnsAnalyticsIndexingStatusSupport, isFiniteNonNegativeNumber, isInteger, isNonNegativeInteger, isPositiveInteger, isReferrerQualifiedRevShareCap, isValidDuration, isValidReferrerScore, serializeReferralProgramEditionSummariesResponse, serializeReferralProgramEditionSummary, serializeReferralProgramRules, serializeReferrerLeaderboardPageResponse, serializeReferrerMetricsEditionsResponse, sliceReferrers, sortReferrerMetrics, validateAggregatedReferrerMetricsPieSplit, validateAggregatedReferrerMetricsRevShareCap, validateAwardedReferrerMetricsPieSplit, validateAwardedReferrerMetricsRevShareCap, validateBaseReferralProgramEditionSummary, validateBaseReferralProgramRules, validateDuration, validateEditionSummaryPieSplit, validateEditionSummaryRevShareCap, validateNonNegativeInteger, validateNormalizedAddress, validateRankedReferrerMetricsPieSplit, validateRankedReferrerMetricsRevShareCap, validateReferralProgramEditionConfigSet, validateReferralProgramRulesPieSplit, validateReferralProgramRulesRevShareCap, validateReferrerLeaderboardPageContext, validateReferrerMetrics, validateReferrerMetricsRevShareCap, validateReferrerRank, validateReferrerScore, validateScoredReferrerMetricsPieSplit, validateUnixTimestamp, validateUnrankedReferrerMetricsPieSplit, validateUnrankedReferrerMetricsRevShareCap };