@namehash/ens-referrals 1.11.0 → 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.cts 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
 
@@ -802,7 +803,22 @@ interface ReferrerLeaderboardPieSplit {
802
803
  */
803
804
  accurateAsOf: UnixTimestamp;
804
805
  }
805
- 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;
806
822
 
807
823
  /**
808
824
  * Edition summary for a `pie-split` referral program edition.
@@ -826,6 +842,115 @@ declare const validateEditionSummaryPieSplit: (summary: ReferralProgramEditionSu
826
842
  */
827
843
  declare function buildEditionSummaryPieSplit(slug: ReferralProgramEditionSlug, displayName: string, rules: ReferralProgramRulesPieSplit, leaderboard: ReferrerLeaderboardPieSplit): ReferralProgramEditionSummaryPieSplit;
828
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
+
829
954
  /**
830
955
  * Extends {@link ReferrerMetrics} with computed base revenue contribution.
831
956
  */
@@ -997,6 +1122,22 @@ interface ReferralEvent {
997
1122
  * Revenue contribution in ETH from this single referral event.
998
1123
  */
999
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;
1000
1141
  }
1001
1142
 
1002
1143
  /**
@@ -1037,7 +1178,28 @@ interface ReferrerLeaderboardRevShareCap {
1037
1178
  accurateAsOf: UnixTimestamp;
1038
1179
  }
1039
1180
  /**
1040
- * 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"
1041
1203
  * race algorithm over individual referral events.
1042
1204
  *
1043
1205
  * Events are processed in chronological order. When a referrer first crosses the qualification
@@ -1049,7 +1211,7 @@ interface ReferrerLeaderboardRevShareCap {
1049
1211
  * @param rules - The {@link ReferralProgramRulesRevShareCap} defining the program parameters.
1050
1212
  * @param accurateAsOf - Timestamp indicating data freshness.
1051
1213
  */
1052
- declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferrerLeaderboardRevShareCap;
1214
+ declare const buildReferralEditionSnapshotRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferralEditionSnapshotRevShareCap;
1053
1215
 
1054
1216
  /**
1055
1217
  * Represents a leaderboard for any number of referrers.
@@ -1057,6 +1219,12 @@ declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rul
1057
1219
  * Use `awardModel` to narrow the specific variant at runtime.
1058
1220
  */
1059
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;
1060
1228
 
1061
1229
  /**
1062
1230
  * The default number of referrers per leaderboard page.
@@ -1785,6 +1953,15 @@ declare function deserializeReferralProgramEditionConfigSetArray(maybeArray: unk
1785
1953
  */
1786
1954
  declare function deserializeReferralProgramEditionSummariesResponse(maybeResponse: SerializedReferralProgramEditionSummariesResponse, valueLabel?: string): ReferralProgramEditionSummariesResponse;
1787
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
+
1788
1965
  /**
1789
1966
  * Serializes a {@link ReferralProgramRules} object.
1790
1967
  *
@@ -2128,4 +2305,4 @@ declare const SECONDS_PER_YEAR: Duration;
2128
2305
  declare function isValidDuration(duration: Duration): boolean;
2129
2306
  declare function validateDuration(duration: Duration): void;
2130
2307
 
2131
- 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 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, findOverlappingEditionPair, 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 };
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
 
@@ -802,7 +803,22 @@ interface ReferrerLeaderboardPieSplit {
802
803
  */
803
804
  accurateAsOf: UnixTimestamp;
804
805
  }
805
- 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;
806
822
 
807
823
  /**
808
824
  * Edition summary for a `pie-split` referral program edition.
@@ -826,6 +842,115 @@ declare const validateEditionSummaryPieSplit: (summary: ReferralProgramEditionSu
826
842
  */
827
843
  declare function buildEditionSummaryPieSplit(slug: ReferralProgramEditionSlug, displayName: string, rules: ReferralProgramRulesPieSplit, leaderboard: ReferrerLeaderboardPieSplit): ReferralProgramEditionSummaryPieSplit;
828
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
+
829
954
  /**
830
955
  * Extends {@link ReferrerMetrics} with computed base revenue contribution.
831
956
  */
@@ -997,6 +1122,22 @@ interface ReferralEvent {
997
1122
  * Revenue contribution in ETH from this single referral event.
998
1123
  */
999
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;
1000
1141
  }
1001
1142
 
1002
1143
  /**
@@ -1037,7 +1178,28 @@ interface ReferrerLeaderboardRevShareCap {
1037
1178
  accurateAsOf: UnixTimestamp;
1038
1179
  }
1039
1180
  /**
1040
- * 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"
1041
1203
  * race algorithm over individual referral events.
1042
1204
  *
1043
1205
  * Events are processed in chronological order. When a referrer first crosses the qualification
@@ -1049,7 +1211,7 @@ interface ReferrerLeaderboardRevShareCap {
1049
1211
  * @param rules - The {@link ReferralProgramRulesRevShareCap} defining the program parameters.
1050
1212
  * @param accurateAsOf - Timestamp indicating data freshness.
1051
1213
  */
1052
- declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferrerLeaderboardRevShareCap;
1214
+ declare const buildReferralEditionSnapshotRevShareCap: (events: ReferralEvent[], rules: ReferralProgramRulesRevShareCap, accurateAsOf: UnixTimestamp) => ReferralEditionSnapshotRevShareCap;
1053
1215
 
1054
1216
  /**
1055
1217
  * Represents a leaderboard for any number of referrers.
@@ -1057,6 +1219,12 @@ declare const buildReferrerLeaderboardRevShareCap: (events: ReferralEvent[], rul
1057
1219
  * Use `awardModel` to narrow the specific variant at runtime.
1058
1220
  */
1059
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;
1060
1228
 
1061
1229
  /**
1062
1230
  * The default number of referrers per leaderboard page.
@@ -1785,6 +1953,15 @@ declare function deserializeReferralProgramEditionConfigSetArray(maybeArray: unk
1785
1953
  */
1786
1954
  declare function deserializeReferralProgramEditionSummariesResponse(maybeResponse: SerializedReferralProgramEditionSummariesResponse, valueLabel?: string): ReferralProgramEditionSummariesResponse;
1787
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
+
1788
1965
  /**
1789
1966
  * Serializes a {@link ReferralProgramRules} object.
1790
1967
  *
@@ -2128,4 +2305,4 @@ declare const SECONDS_PER_YEAR: Duration;
2128
2305
  declare function isValidDuration(duration: Duration): boolean;
2129
2306
  declare function validateDuration(duration: Duration): void;
2130
2307
 
2131
- 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 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, findOverlappingEditionPair, 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 };