@antseed/node 0.2.151 → 0.2.153
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/buyer-identity-context.d.ts +2 -0
- package/dist/buyer-identity-context.d.ts.map +1 -1
- package/dist/buyer-identity-context.js +1 -0
- package/dist/buyer-identity-context.js.map +1 -1
- package/dist/discovery/announcer.d.ts +2 -0
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +11 -9
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/metering/index.d.ts +1 -1
- package/dist/metering/index.d.ts.map +1 -1
- package/dist/metering/index.js.map +1 -1
- package/dist/metering/storage.d.ts +66 -6
- package/dist/metering/storage.d.ts.map +1 -1
- package/dist/metering/storage.js +112 -12
- package/dist/metering/storage.js.map +1 -1
- package/dist/node.d.ts +30 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +93 -2
- package/dist/node.js.map +1 -1
- package/dist/p2p/identity.d.ts +7 -0
- package/dist/p2p/identity.d.ts.map +1 -1
- package/dist/p2p/identity.js +2 -2
- package/dist/p2p/identity.js.map +1 -1
- package/dist/payments/evm/ants-token-client.d.ts.map +1 -1
- package/dist/payments/evm/ants-token-client.js +3 -9
- package/dist/payments/evm/ants-token-client.js.map +1 -1
- package/dist/payments/evm/emissions-client.d.ts.map +1 -1
- package/dist/payments/evm/emissions-client.js +1 -3
- package/dist/payments/evm/emissions-client.js.map +1 -1
- package/dist/payments/evm/identity-client.d.ts.map +1 -1
- package/dist/payments/evm/identity-client.js +1 -3
- package/dist/payments/evm/identity-client.js.map +1 -1
- package/dist/payments/evm/seller-pools-client.d.ts +9 -0
- package/dist/payments/evm/seller-pools-client.d.ts.map +1 -1
- package/dist/payments/evm/seller-pools-client.js +23 -0
- package/dist/payments/evm/seller-pools-client.js.map +1 -1
- package/dist/payments/free-tier-delegation.d.ts +65 -0
- package/dist/payments/free-tier-delegation.d.ts.map +1 -0
- package/dist/payments/free-tier-delegation.js +145 -0
- package/dist/payments/free-tier-delegation.js.map +1 -0
- package/dist/payments/free-tier-program.d.ts +97 -0
- package/dist/payments/free-tier-program.d.ts.map +1 -0
- package/dist/payments/free-tier-program.js +267 -0
- package/dist/payments/free-tier-program.js.map +1 -0
- package/dist/payments/free-tier-stake-resolver.d.ts +79 -0
- package/dist/payments/free-tier-stake-resolver.d.ts.map +1 -0
- package/dist/payments/free-tier-stake-resolver.js +152 -0
- package/dist/payments/free-tier-stake-resolver.js.map +1 -0
- package/dist/payments/free-tier-stake.d.ts +101 -0
- package/dist/payments/free-tier-stake.d.ts.map +1 -0
- package/dist/payments/free-tier-stake.js +116 -0
- package/dist/payments/free-tier-stake.js.map +1 -0
- package/dist/payments/index.d.ts +7 -1
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +3 -0
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/seller-free-tier-limiter.d.ts +124 -6
- package/dist/payments/seller-free-tier-limiter.d.ts.map +1 -1
- package/dist/payments/seller-free-tier-limiter.js +342 -32
- package/dist/payments/seller-free-tier-limiter.js.map +1 -1
- package/dist/payments/seller-free-usage-manager.d.ts.map +1 -1
- package/dist/payments/seller-free-usage-manager.js +5 -1
- package/dist/payments/seller-free-usage-manager.js.map +1 -1
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +105 -19
- package/dist/seller-request-handler.js.map +1 -1
- package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts +3 -0
- package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts.map +1 -0
- package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js +21 -0
- package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js.map +1 -0
- package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts +8 -0
- package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts.map +1 -0
- package/dist/storage/migrations/metering/005_add_free_tier_scope.js +23 -0
- package/dist/storage/migrations/metering/005_add_free_tier_scope.js.map +1 -0
- package/dist/storage/migrations/metering/index.d.ts.map +1 -1
- package/dist/storage/migrations/metering/index.js +3 -1
- package/dist/storage/migrations/metering/index.js.map +1 -1
- package/dist/utils/file-lock.d.ts +12 -0
- package/dist/utils/file-lock.d.ts.map +1 -0
- package/dist/utils/file-lock.js +58 -0
- package/dist/utils/file-lock.js.map +1 -0
- package/package.json +11 -3
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Most positions a seller counts toward one buyer's tier; the strongest are counted first. */
|
|
2
|
+
export const MAX_FREE_TIER_COUNTED_POSITIONS = 64;
|
|
3
|
+
/** Epochs of power a max-locked position keeps (the seller pool's `MAX_STAKE_EPOCHS`). */
|
|
4
|
+
export const FREE_TIER_MAX_LOCK_EPOCHS = 104;
|
|
5
|
+
/** Unix seconds `epoch` starts. */
|
|
6
|
+
export function freeTierEpochStart(view, epoch) {
|
|
7
|
+
return view.genesis + epoch * view.epochDuration;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Power of `positions` at unix second `at`, in ANTS-epochs, as sellers count
|
|
11
|
+
* it: each position from activation, `ants × epochs left` (max lock:
|
|
12
|
+
* `ants × FREE_TIER_MAX_LOCK_EPOCHS`), until it closes or its code expires,
|
|
13
|
+
* summed over the strongest `MAX_FREE_TIER_COUNTED_POSITIONS`.
|
|
14
|
+
* Locks change at epoch boundaries; a code stops counting the second it expires.
|
|
15
|
+
*/
|
|
16
|
+
export function freeTierPowerAt(view, positions, at) {
|
|
17
|
+
const epoch = Math.floor((at - view.genesis) / view.epochDuration);
|
|
18
|
+
const counted = [];
|
|
19
|
+
for (const position of positions) {
|
|
20
|
+
if (position.expiresAt !== null && position.expiresAt <= at)
|
|
21
|
+
continue;
|
|
22
|
+
if (epoch < position.startEpoch || (position.closedAtEpoch !== null && epoch >= position.closedAtEpoch))
|
|
23
|
+
continue;
|
|
24
|
+
// A max-lock change made this epoch applies from the next one.
|
|
25
|
+
const locked = epoch <= view.currentEpoch ? position.maxLocked : position.maxLockedNext;
|
|
26
|
+
const power = position.ants * (locked ? FREE_TIER_MAX_LOCK_EPOCHS : Math.max(0, position.endEpoch - epoch));
|
|
27
|
+
if (power > 0)
|
|
28
|
+
counted.push({ id: position.id, power });
|
|
29
|
+
}
|
|
30
|
+
// Sellers count only the strongest positions (ties by lower id), so the projection does too.
|
|
31
|
+
counted.sort((a, b) => (a.power === b.power ? a.id - b.id : b.power - a.power));
|
|
32
|
+
let power = 0;
|
|
33
|
+
for (const position of counted.slice(0, MAX_FREE_TIER_COUNTED_POSITIONS))
|
|
34
|
+
power += position.power;
|
|
35
|
+
return power;
|
|
36
|
+
}
|
|
37
|
+
/** The tier `power` (ANTS-epochs) reaches, or null below the first. */
|
|
38
|
+
export function freeTierTierAt(tiers, power) {
|
|
39
|
+
let match = null;
|
|
40
|
+
for (const tier of tiers) {
|
|
41
|
+
if (power >= tier.minPower)
|
|
42
|
+
match = tier;
|
|
43
|
+
}
|
|
44
|
+
return match;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The future instants counted power can change, in order: each epoch start
|
|
48
|
+
* until the last lock ends, and each code expiry. `epochStart` marks the
|
|
49
|
+
* weekly lock run-down, as opposed to a code expiring.
|
|
50
|
+
*/
|
|
51
|
+
function changePoints(view, positions, now) {
|
|
52
|
+
const lastEpoch = Math.min(Math.max(view.currentEpoch, ...positions.map((position) => position.endEpoch)) + 1, view.currentEpoch + 10 * FREE_TIER_MAX_LOCK_EPOCHS);
|
|
53
|
+
const points = new Map();
|
|
54
|
+
for (let epoch = view.currentEpoch + 1; epoch <= lastEpoch; epoch++)
|
|
55
|
+
points.set(freeTierEpochStart(view, epoch), true);
|
|
56
|
+
for (const position of positions) {
|
|
57
|
+
if (position.expiresAt !== null && position.expiresAt > now && !points.has(position.expiresAt))
|
|
58
|
+
points.set(position.expiresAt, false);
|
|
59
|
+
}
|
|
60
|
+
return [...points].filter(([at]) => at > now).sort(([a], [b]) => a - b).map(([at, epochStart]) => ({ at, epochStart }));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The tier `pool`'s stake earns at `now` (unix seconds) under `tiers`, and
|
|
64
|
+
* when it first earns less: power shrinks every epoch as locks run down, and
|
|
65
|
+
* a staker's code stops counting when it expires.
|
|
66
|
+
*/
|
|
67
|
+
export function freeTierOutlook(view, pool, tiers, now = Math.floor(Date.now() / 1000)) {
|
|
68
|
+
const positions = pool?.positions ?? [];
|
|
69
|
+
const power = freeTierPowerAt(view, positions, now);
|
|
70
|
+
const tier = freeTierTierAt(tiers, power);
|
|
71
|
+
if (!tier)
|
|
72
|
+
return { power, tier, dropsAt: null, tierAfterDrop: null };
|
|
73
|
+
const rank = (candidate) => candidate ? tiers.indexOf(candidate) : -1;
|
|
74
|
+
for (const { at } of changePoints(view, positions, now)) {
|
|
75
|
+
// Stake still activating can raise power; only a lower tier is a drop.
|
|
76
|
+
const next = freeTierTierAt(tiers, freeTierPowerAt(view, positions, at));
|
|
77
|
+
if (rank(next) < rank(tier))
|
|
78
|
+
return { power, tier, dropsAt: at, tierAfterDrop: next };
|
|
79
|
+
}
|
|
80
|
+
return { power, tier, dropsAt: null, tierAfterDrop: null };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* How `pool`'s counted power changes from `now`, following the same rules as
|
|
84
|
+
* `freeTierPowerAt` (only the strongest positions count), so positions that
|
|
85
|
+
* are never counted do not make a steady stake look like it shrinks.
|
|
86
|
+
*/
|
|
87
|
+
export function freeTierStakeTrend(view, pool, now = Math.floor(Date.now() / 1000)) {
|
|
88
|
+
const power = freeTierPowerAt(view, pool.positions, now);
|
|
89
|
+
let previousAt = now;
|
|
90
|
+
let steady = power > 0;
|
|
91
|
+
let shrinking = false;
|
|
92
|
+
let endsAt = null;
|
|
93
|
+
// Stake still activating has no power yet, but it ends when its lock does.
|
|
94
|
+
let counting = power > 0;
|
|
95
|
+
for (const { at, epochStart } of changePoints(view, pool.positions, now)) {
|
|
96
|
+
const next = freeTierPowerAt(view, pool.positions, at);
|
|
97
|
+
if (next < power)
|
|
98
|
+
steady = false;
|
|
99
|
+
if (epochStart && !shrinking) {
|
|
100
|
+
// Lock run-down only: compare the positions still counting at `at` before and after the boundary,
|
|
101
|
+
// so a code expiring on the same boundary is not mistaken for shrinking.
|
|
102
|
+
const remaining = pool.positions.filter((position) => position.expiresAt === null || position.expiresAt > at);
|
|
103
|
+
if (freeTierPowerAt(view, remaining, at) < freeTierPowerAt(view, remaining, previousAt))
|
|
104
|
+
shrinking = true;
|
|
105
|
+
}
|
|
106
|
+
previousAt = at;
|
|
107
|
+
if (next > 0)
|
|
108
|
+
counting = true;
|
|
109
|
+
else if (counting) {
|
|
110
|
+
endsAt = at;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return { power, steady, shrinking, endsAt };
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=free-tier-stake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free-tier-stake.js","sourceRoot":"","sources":["../../src/payments/free-tier-stake.ts"],"names":[],"mappings":"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"}
|
package/dist/payments/index.d.ts
CHANGED
|
@@ -59,7 +59,13 @@ export type { BuyerFreeUsageConfig } from './buyer-free-usage-manager.js';
|
|
|
59
59
|
export { SellerFreeUsageManager } from './seller-free-usage-manager.js';
|
|
60
60
|
export type { SellerFreeUsageConfig } from './seller-free-usage-manager.js';
|
|
61
61
|
export { SellerFreeTierLimiter, DEFAULT_FREE_TIER_WINDOW_MS, normalizeRemoteIp } from './seller-free-tier-limiter.js';
|
|
62
|
-
export type { SellerFreeTierConfig, FreeTierDecision } from './seller-free-tier-limiter.js';
|
|
62
|
+
export type { SellerFreeTierConfig, SellerFreeTierProgramConfig, FreeTierDecision } from './seller-free-tier-limiter.js';
|
|
63
|
+
export { DEFAULT_FREE_TIER_STAKE_TIERS, FREE_TIER_EPOCHS_PER_YEAR, MAX_FREE_TIER_STAKE_TIERS, encodeFreeTierCapabilities, freeTierServiceScope, parseServiceFreeTierProgram, freeTierProgramForService, isPricedService, FREE_TIER_SERVED_HEADER, FREE_TIER_SERVED_COVERED, freeTierStakeTierForPower, normalizeFreeTierProgram, parseFreeTierProgram, powerToAntsEpochs, validateFreeTierStakeTiers, } from './free-tier-program.js';
|
|
64
|
+
export type { FreeTierBaseLimits, FreeTierProgram, FreeTierStakeTier } from './free-tier-program.js';
|
|
65
|
+
export { DEFAULT_FREE_TIER_DELEGATION_DAYS, FREE_TIER_DELEGATIONS_HEADER, FREE_TIER_DELEGATION_CODE_PREFIX, FREE_TIER_DELEGATION_TYPES, MAX_FREE_TIER_DELEGATIONS, acceptFreeTierDelegationCode, decodeFreeTierDelegationCode, decodeFreeTierDelegationsHeader, encodeFreeTierDelegationCode, encodeFreeTierDelegationsHeader, freeTierDelegationMessage, isFreeTierDelegationSigned, makeFreeTierDelegationDomain, verifyFreeTierDelegations, withFreeTierDelegation, } from './free-tier-delegation.js';
|
|
66
|
+
export type { FreeTierDelegation, VerifiedFreeTierDelegation } from './free-tier-delegation.js';
|
|
67
|
+
export { FreeTierStakeResolver, MAX_FREE_TIER_COUNTED_POSITIONS } from './free-tier-stake-resolver.js';
|
|
68
|
+
export type { FreeTierStakePosition, FreeTierStakeReader, FreeTierStakeResolverOptions, FreeTierStakeStanding } from './free-tier-stake-resolver.js';
|
|
63
69
|
export { BuyerPaymentNegotiator } from './buyer-payment-negotiator.js';
|
|
64
70
|
export type { BuyerNegotiatorConfig, Handle402Result, NegotiationEmitter } from './buyer-payment-negotiator.js';
|
|
65
71
|
export { SellerPaymentManager, DEFAULT_MIN_SETTLE_DELTA_STR } from './seller-payment-manager.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,OAAO,EACP,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGnH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EACL,cAAc,EACd,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/H,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1K,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,YAAY,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAC5G,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1I,YAAY,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACjG,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9H,YAAY,EACV,+BAA+B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,yBAAyB,EAC3G,cAAc,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,yBAAyB,GACzF,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,YAAY,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAG3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtH,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACzH,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACvG,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGrJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGhH,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/payments/index.js
CHANGED
|
@@ -42,6 +42,9 @@ export { BuyerPaymentManager } from './buyer-payment-manager.js';
|
|
|
42
42
|
export { BuyerFreeUsageManager } from './buyer-free-usage-manager.js';
|
|
43
43
|
export { SellerFreeUsageManager } from './seller-free-usage-manager.js';
|
|
44
44
|
export { SellerFreeTierLimiter, DEFAULT_FREE_TIER_WINDOW_MS, normalizeRemoteIp } from './seller-free-tier-limiter.js';
|
|
45
|
+
export { DEFAULT_FREE_TIER_STAKE_TIERS, FREE_TIER_EPOCHS_PER_YEAR, MAX_FREE_TIER_STAKE_TIERS, encodeFreeTierCapabilities, freeTierServiceScope, parseServiceFreeTierProgram, freeTierProgramForService, isPricedService, FREE_TIER_SERVED_HEADER, FREE_TIER_SERVED_COVERED, freeTierStakeTierForPower, normalizeFreeTierProgram, parseFreeTierProgram, powerToAntsEpochs, validateFreeTierStakeTiers, } from './free-tier-program.js';
|
|
46
|
+
export { DEFAULT_FREE_TIER_DELEGATION_DAYS, FREE_TIER_DELEGATIONS_HEADER, FREE_TIER_DELEGATION_CODE_PREFIX, FREE_TIER_DELEGATION_TYPES, MAX_FREE_TIER_DELEGATIONS, acceptFreeTierDelegationCode, decodeFreeTierDelegationCode, decodeFreeTierDelegationsHeader, encodeFreeTierDelegationCode, encodeFreeTierDelegationsHeader, freeTierDelegationMessage, isFreeTierDelegationSigned, makeFreeTierDelegationDomain, verifyFreeTierDelegations, withFreeTierDelegation, } from './free-tier-delegation.js';
|
|
47
|
+
export { FreeTierStakeResolver, MAX_FREE_TIER_COUNTED_POSITIONS } from './free-tier-stake-resolver.js';
|
|
45
48
|
// Buyer payment negotiator (402 handling, SpendingAuth flow, cost tracking)
|
|
46
49
|
export { BuyerPaymentNegotiator } from './buyer-payment-negotiator.js';
|
|
47
50
|
// Seller payment manager
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,57 @@
|
|
|
1
1
|
import { type FreeTierConsumption, type MeteringStorage } from '../metering/storage.js';
|
|
2
|
-
|
|
2
|
+
import { type FreeTierProgram, type FreeTierStakeTier } from './free-tier-program.js';
|
|
3
|
+
import type { FreeTierStakeResolver, FreeTierStakeStanding } from './free-tier-stake-resolver.js';
|
|
4
|
+
/** One free-tier program: base limits and the staked tiers above them. */
|
|
5
|
+
export interface SellerFreeTierProgramConfig {
|
|
3
6
|
/** Maximum zero-priced requests accepted from one buyer address per window. */
|
|
4
7
|
maxRequestsPerAddress?: number;
|
|
5
8
|
/** Maximum zero-priced requests accepted from one remote IP per window. */
|
|
6
9
|
maxRequestsPerIp?: number;
|
|
7
10
|
/** Sliding-window duration in milliseconds. Default: 24 hours. */
|
|
8
11
|
windowMs?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Larger allowances for buyers staked on this seller, by staking power.
|
|
14
|
+
* Default: `DEFAULT_FREE_TIER_STAKE_TIERS`. `[]` turns staked tiers off.
|
|
15
|
+
*/
|
|
16
|
+
stakeTiers?: FreeTierStakeTier[];
|
|
17
|
+
/**
|
|
18
|
+
* Serve only buyers whose stake reaches a tier. The base limits are still
|
|
19
|
+
* required: they are the allowance the tier multipliers apply to.
|
|
20
|
+
*/
|
|
21
|
+
stakersOnly?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface SellerFreeTierConfig extends SellerFreeTierProgramConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Programs for individual services, keyed by announced service id. A listed
|
|
26
|
+
* service uses only its own program and its own counters; the other
|
|
27
|
+
* zero-priced services use the seller-wide program above, or are not limited
|
|
28
|
+
* when there is none. On a priced service the program is a free allowance:
|
|
29
|
+
* requests it covers are served free, and the rest are paid as usual.
|
|
30
|
+
*/
|
|
31
|
+
services?: Record<string, SellerFreeTierProgramConfig>;
|
|
9
32
|
}
|
|
10
33
|
export interface FreeTierDecision extends FreeTierConsumption {
|
|
11
34
|
buyerAddress: string;
|
|
12
35
|
/** Normalized remote IP the decision was keyed on, or null when unknown. */
|
|
13
36
|
remoteIp: string | null;
|
|
37
|
+
/** Staked standing the decision used, or null for the base limits. */
|
|
38
|
+
standing: FreeTierStakeStanding | null;
|
|
39
|
+
/** Tier the standing earned under this program, or null for the base limits. */
|
|
40
|
+
tier: FreeTierStakeTier | null;
|
|
41
|
+
/** Limit that applied to the binding counter; null when unlimited. */
|
|
42
|
+
limit: number | null;
|
|
43
|
+
/** The program the request was decided under, as advertised. */
|
|
44
|
+
program: FreeTierProgram;
|
|
14
45
|
}
|
|
15
46
|
export interface FreeTierConsumeInput {
|
|
16
47
|
buyerPeerId: string;
|
|
17
48
|
service: string;
|
|
18
49
|
/** Raw socket remote address of the buyer connection, if known. */
|
|
19
50
|
remoteIp?: string | null;
|
|
51
|
+
/** Staked standing from `resolveStanding`; omitted or null applies the base limits. */
|
|
52
|
+
standing?: FreeTierStakeStanding | null;
|
|
53
|
+
/** The service is priced: only its own program applies, never the seller-wide one. */
|
|
54
|
+
paid?: boolean;
|
|
20
55
|
nowMs?: number;
|
|
21
56
|
}
|
|
22
57
|
export declare const DEFAULT_FREE_TIER_WINDOW_MS: number;
|
|
@@ -27,17 +62,100 @@ export declare const DEFAULT_FREE_TIER_WINDOW_MS: number;
|
|
|
27
62
|
*/
|
|
28
63
|
export declare function normalizeRemoteIp(remoteIp: string | null | undefined): string | null;
|
|
29
64
|
export declare class SellerFreeTierLimiter {
|
|
30
|
-
readonly
|
|
31
|
-
readonly
|
|
32
|
-
|
|
65
|
+
private readonly _default;
|
|
66
|
+
private readonly _services;
|
|
67
|
+
/** Longest window of any program: usage younger than this is never pruned. */
|
|
68
|
+
private readonly _retentionMs;
|
|
33
69
|
private readonly _storage;
|
|
34
70
|
private readonly _inMemoryUsage;
|
|
71
|
+
private _stakeResolver;
|
|
72
|
+
private _chainId;
|
|
73
|
+
/** Last verified delegations per buyer address, in insertion order for eviction. */
|
|
74
|
+
private readonly _delegations;
|
|
75
|
+
/** Priced services, whose allowances never admit a free-usage channel. */
|
|
76
|
+
private _paidServices;
|
|
77
|
+
/** Zero-priced services this seller offers, or null when not told: they decide channel admission. */
|
|
78
|
+
private _freeServices;
|
|
35
79
|
constructor(config: SellerFreeTierConfig, storage?: MeteringStorage | null);
|
|
80
|
+
/**
|
|
81
|
+
* @deprecated The seller-wide program's per-address limit, or null when it
|
|
82
|
+
* has none (including a limiter with only per-service programs). Use
|
|
83
|
+
* `program(service)` for the limits a service is served under.
|
|
84
|
+
*/
|
|
85
|
+
get maxRequestsPerAddress(): number | null;
|
|
86
|
+
/** @deprecated The seller-wide program's per-IP limit, or null. Use `program(service)`. */
|
|
87
|
+
get maxRequestsPerIp(): number | null;
|
|
88
|
+
/** @deprecated The seller-wide program's window, else the default window. Use `program(service)`. */
|
|
89
|
+
get windowMs(): number;
|
|
90
|
+
/**
|
|
91
|
+
* Enable staked tiers. Without a resolver every buyer gets the base limits.
|
|
92
|
+
* `chainId` is the EIP-712 domain delegations are verified against.
|
|
93
|
+
*/
|
|
94
|
+
setStakeResolver(resolver: FreeTierStakeResolver | null, chainId?: number): void;
|
|
95
|
+
/** Whether any program has staked tiers, so stake lookups are worth enabling. */
|
|
96
|
+
get hasStakeTiers(): boolean;
|
|
97
|
+
/** Whether staked tiers are live: configured and backed by on-chain reads. */
|
|
98
|
+
get stakeTiersActive(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether a program applies to `service`: its own, or for a zero-priced
|
|
101
|
+
* service the seller-wide one. A priced service has one only when configured.
|
|
102
|
+
*/
|
|
103
|
+
appliesTo(service: string, options?: {
|
|
104
|
+
paid?: boolean;
|
|
105
|
+
}): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Services that are priced. Their programs are free allowances on paid
|
|
108
|
+
* models, served without a free-usage channel, so channel admission ignores them.
|
|
109
|
+
*/
|
|
110
|
+
setPaidServices(services: Iterable<string>): void;
|
|
111
|
+
/** The zero-priced services this seller offers, so channel admission checks exactly their programs. */
|
|
112
|
+
setFreeServices(services: Iterable<string>): void;
|
|
113
|
+
/**
|
|
114
|
+
* The program `service` is served under, or the seller-wide program when
|
|
115
|
+
* `service` is omitted; tiers only when they are enforced. Null when none applies.
|
|
116
|
+
*/
|
|
117
|
+
program(service?: string, options?: {
|
|
118
|
+
paid?: boolean;
|
|
119
|
+
}): FreeTierProgram | null;
|
|
120
|
+
/**
|
|
121
|
+
* Peer-metadata capability strings advertising every program: the
|
|
122
|
+
* seller-wide one first, then services in id order. A program that would
|
|
123
|
+
* exceed `budget` strings is skipped whole, never advertised in part.
|
|
124
|
+
*/
|
|
125
|
+
capabilities(budget?: number): string[];
|
|
126
|
+
/**
|
|
127
|
+
* Staked standing for this buyer, or null for the base limits. Never throws.
|
|
128
|
+
*
|
|
129
|
+
* `delegationsHeader` is the buyer's `x-antseed-free-tier-delegations`
|
|
130
|
+
* value (from a request or a free usage open), or '' when a request carried
|
|
131
|
+
* none. Verified stakers are remembered for the buyer, so an open from an
|
|
132
|
+
* older buyer, which passes undefined, sees the standing of its requests.
|
|
133
|
+
*/
|
|
134
|
+
resolveStanding(buyerPeerId: string, delegationsHeader?: string): Promise<FreeTierStakeStanding | null>;
|
|
135
|
+
private _rememberDelegations;
|
|
136
|
+
/**
|
|
137
|
+
* One line per program: the seller-wide one for free models, then each
|
|
138
|
+
* service's own. A priced service's line is its free allowance before its
|
|
139
|
+
* price applies, as set by `setPaidServices`.
|
|
140
|
+
*/
|
|
141
|
+
describePrograms(): string[];
|
|
36
142
|
describe(): string;
|
|
143
|
+
/** Consume one request for `input.service`. Callers check `appliesTo` first. */
|
|
37
144
|
consume(input: FreeTierConsumeInput): FreeTierDecision;
|
|
38
|
-
/**
|
|
39
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Check channel-open admission without consuming an inference request.
|
|
147
|
+
* The channel serves every free service, so it is admitted when the program
|
|
148
|
+
* of some offered free service would still serve the buyer, or when one of
|
|
149
|
+
* them is not limited at all. Otherwise the first refusal (the seller-wide
|
|
150
|
+
* one when it applies) is reported. Without the offered services (see
|
|
151
|
+
* `setFreeServices`), every program of a zero-priced service is considered,
|
|
152
|
+
* and no seller-wide program means some free service is unlimited.
|
|
153
|
+
*/
|
|
154
|
+
check(input: Omit<FreeTierConsumeInput, 'service' | 'paid'>): FreeTierDecision | null;
|
|
155
|
+
private _policies;
|
|
156
|
+
private _policyFor;
|
|
40
157
|
private _evaluate;
|
|
158
|
+
private _bindingLimit;
|
|
41
159
|
private _evaluateInMemory;
|
|
42
160
|
private _pruneExpiredBuckets;
|
|
43
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-free-tier-limiter.d.ts","sourceRoot":"","sources":["../../src/payments/seller-free-tier-limiter.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"seller-free-tier-limiter.d.ts","sourceRoot":"","sources":["../../src/payments/seller-free-tier-limiter.ts"],"names":[],"mappings":"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"}
|