@antseed/node 0.2.27 → 0.2.29
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/README.md +14 -13
- package/dist/buyer-request-handler.d.ts +41 -0
- package/dist/buyer-request-handler.d.ts.map +1 -0
- package/dist/buyer-request-handler.js +254 -0
- package/dist/buyer-request-handler.js.map +1 -0
- package/dist/discovery/announcer.d.ts +5 -4
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +11 -18
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/index.d.ts +0 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +0 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/metadata-codec.d.ts +2 -2
- package/dist/discovery/metadata-codec.d.ts.map +1 -1
- package/dist/discovery/metadata-codec.js +47 -72
- package/dist/discovery/metadata-codec.js.map +1 -1
- package/dist/discovery/metadata-validator.js +6 -6
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/peer-lookup.d.ts.map +1 -1
- package/dist/discovery/peer-lookup.js +1 -2
- package/dist/discovery/peer-lookup.js.map +1 -1
- package/dist/discovery/peer-metadata.d.ts +3 -5
- package/dist/discovery/peer-metadata.d.ts.map +1 -1
- package/dist/discovery/peer-metadata.js +1 -1
- package/dist/discovery/reputation-verifier.d.ts +2 -25
- package/dist/discovery/reputation-verifier.d.ts.map +1 -1
- package/dist/discovery/reputation-verifier.js +2 -48
- package/dist/discovery/reputation-verifier.js.map +1 -1
- package/dist/discovery/stats-verifier.d.ts +27 -0
- package/dist/discovery/stats-verifier.d.ts.map +1 -0
- package/dist/discovery/stats-verifier.js +38 -0
- package/dist/discovery/stats-verifier.js.map +1 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/metering/index.d.ts +1 -0
- package/dist/metering/index.d.ts.map +1 -1
- package/dist/metering/index.js +1 -0
- package/dist/metering/index.js.map +1 -1
- package/dist/metering/receipt-generator.d.ts +4 -4
- package/dist/metering/receipt-generator.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.d.ts +6 -6
- package/dist/metering/receipt-verifier.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.js +1 -1
- package/dist/metering/seller-session-tracker.d.ts +91 -0
- package/dist/metering/seller-session-tracker.d.ts.map +1 -0
- package/dist/metering/seller-session-tracker.js +261 -0
- package/dist/metering/seller-session-tracker.js.map +1 -0
- package/dist/metering/storage.d.ts +11 -5
- package/dist/metering/storage.d.ts.map +1 -1
- package/dist/metering/storage.js +28 -80
- package/dist/metering/storage.js.map +1 -1
- package/dist/node.d.ts +69 -117
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +240 -1269
- package/dist/node.js.map +1 -1
- package/dist/p2p/connection-auth.d.ts +2 -1
- package/dist/p2p/connection-auth.d.ts.map +1 -1
- package/dist/p2p/connection-auth.js +6 -6
- package/dist/p2p/connection-auth.js.map +1 -1
- package/dist/p2p/connection-manager.d.ts +3 -2
- package/dist/p2p/connection-manager.d.ts.map +1 -1
- package/dist/p2p/connection-manager.js +6 -6
- package/dist/p2p/connection-manager.js.map +1 -1
- package/dist/p2p/identity.d.ts +22 -15
- package/dist/p2p/identity.d.ts.map +1 -1
- package/dist/p2p/identity.js +66 -51
- package/dist/p2p/identity.js.map +1 -1
- package/dist/p2p/index.d.ts +1 -1
- package/dist/p2p/index.d.ts.map +1 -1
- package/dist/p2p/index.js +1 -1
- package/dist/p2p/index.js.map +1 -1
- package/dist/p2p/payment-codec.d.ts +4 -8
- package/dist/p2p/payment-codec.d.ts.map +1 -1
- package/dist/p2p/payment-codec.js +27 -57
- package/dist/p2p/payment-codec.js.map +1 -1
- package/dist/p2p/payment-mux.d.ts +4 -10
- package/dist/p2p/payment-mux.d.ts.map +1 -1
- package/dist/p2p/payment-mux.js +11 -33
- package/dist/p2p/payment-mux.js.map +1 -1
- package/dist/payments/balance-manager.d.ts +2 -2
- package/dist/payments/balance-manager.d.ts.map +1 -1
- package/dist/payments/balance-manager.js +5 -5
- package/dist/payments/balance-manager.js.map +1 -1
- package/dist/payments/buyer-payment-manager.d.ts +154 -21
- package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
- package/dist/payments/buyer-payment-manager.js +540 -166
- package/dist/payments/buyer-payment-manager.js.map +1 -1
- package/dist/payments/buyer-payment-negotiator.d.ts +84 -0
- package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -0
- package/dist/payments/buyer-payment-negotiator.js +624 -0
- package/dist/payments/buyer-payment-negotiator.js.map +1 -0
- package/dist/payments/chain-config.d.ts +10 -4
- package/dist/payments/chain-config.d.ts.map +1 -1
- package/dist/payments/chain-config.js +19 -9
- package/dist/payments/chain-config.js.map +1 -1
- package/dist/payments/channel-session-state.d.ts +13 -0
- package/dist/payments/channel-session-state.d.ts.map +1 -0
- package/dist/payments/channel-session-state.js +25 -0
- package/dist/payments/channel-session-state.js.map +1 -0
- package/dist/payments/channel-store.d.ts +87 -0
- package/dist/payments/channel-store.d.ts.map +1 -0
- package/dist/payments/channel-store.js +276 -0
- package/dist/payments/channel-store.js.map +1 -0
- package/dist/payments/evm/ants-token-client.d.ts +1 -1
- package/dist/payments/evm/ants-token-client.d.ts.map +1 -1
- package/dist/payments/evm/ants-token-client.js +3 -4
- package/dist/payments/evm/ants-token-client.js.map +1 -1
- package/dist/payments/evm/base-evm-client.d.ts +10 -1
- package/dist/payments/evm/base-evm-client.d.ts.map +1 -1
- package/dist/payments/evm/base-evm-client.js +34 -1
- package/dist/payments/evm/base-evm-client.js.map +1 -1
- package/dist/payments/evm/channels-client.d.ts +51 -0
- package/dist/payments/evm/channels-client.d.ts.map +1 -0
- package/dist/payments/evm/channels-client.js +101 -0
- package/dist/payments/evm/channels-client.js.map +1 -0
- package/dist/payments/evm/deposits-client.d.ts +30 -0
- package/dist/payments/evm/deposits-client.d.ts.map +1 -0
- package/dist/payments/evm/deposits-client.js +78 -0
- package/dist/payments/evm/deposits-client.js.map +1 -0
- package/dist/payments/evm/emissions-client.d.ts +3 -4
- package/dist/payments/evm/emissions-client.d.ts.map +1 -1
- package/dist/payments/evm/emissions-client.js +11 -30
- package/dist/payments/evm/emissions-client.js.map +1 -1
- package/dist/payments/evm/identity-client.d.ts +15 -23
- package/dist/payments/evm/identity-client.d.ts.map +1 -1
- package/dist/payments/evm/identity-client.js +68 -99
- package/dist/payments/evm/identity-client.js.map +1 -1
- package/dist/payments/evm/keypair.d.ts +3 -14
- package/dist/payments/evm/keypair.d.ts.map +1 -1
- package/dist/payments/evm/keypair.js +4 -20
- package/dist/payments/evm/keypair.js.map +1 -1
- package/dist/payments/evm/sessions-client.d.ts +30 -0
- package/dist/payments/evm/sessions-client.d.ts.map +1 -0
- package/dist/payments/evm/sessions-client.js +61 -0
- package/dist/payments/evm/sessions-client.js.map +1 -0
- package/dist/payments/evm/signatures.d.ts +43 -12
- package/dist/payments/evm/signatures.d.ts.map +1 -1
- package/dist/payments/evm/signatures.js +62 -45
- package/dist/payments/evm/signatures.js.map +1 -1
- package/dist/payments/evm/staking-client.d.ts +24 -0
- package/dist/payments/evm/staking-client.d.ts.map +1 -0
- package/dist/payments/evm/staking-client.js +54 -0
- package/dist/payments/evm/staking-client.js.map +1 -0
- package/dist/payments/evm/stats-client.d.ts +20 -0
- package/dist/payments/evm/stats-client.d.ts.map +1 -0
- package/dist/payments/evm/stats-client.js +25 -0
- package/dist/payments/evm/stats-client.js.map +1 -0
- package/dist/payments/index.d.ts +17 -10
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +15 -8
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/pricing.d.ts +25 -0
- package/dist/payments/pricing.d.ts.map +1 -0
- package/dist/payments/pricing.js +33 -0
- package/dist/payments/pricing.js.map +1 -0
- package/dist/payments/readiness.d.ts +4 -3
- package/dist/payments/readiness.d.ts.map +1 -1
- package/dist/payments/readiness.js +11 -18
- package/dist/payments/readiness.js.map +1 -1
- package/dist/payments/seller-payment-manager.d.ts +72 -47
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +558 -275
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/payments/session-store.d.ts +3 -0
- package/dist/payments/session-store.d.ts.map +1 -1
- package/dist/payments/session-store.js +31 -2
- package/dist/payments/session-store.js.map +1 -1
- package/dist/payments/types.d.ts +5 -3
- package/dist/payments/types.d.ts.map +1 -1
- package/dist/proxy/proxy-mux.d.ts.map +1 -1
- package/dist/proxy/proxy-mux.js +3 -2
- package/dist/proxy/proxy-mux.js.map +1 -1
- package/dist/proxy/request-codec.d.ts.map +1 -1
- package/dist/proxy/request-codec.js +3 -0
- package/dist/proxy/request-codec.js.map +1 -1
- package/dist/reputation/rating-manager.d.ts.map +1 -1
- package/dist/reputation/rating-manager.js +2 -4
- package/dist/reputation/rating-manager.js.map +1 -1
- package/dist/reputation/report-manager.d.ts.map +1 -1
- package/dist/reputation/report-manager.js +2 -4
- package/dist/reputation/report-manager.js.map +1 -1
- package/dist/routing/default-router.d.ts.map +1 -1
- package/dist/routing/default-router.js +4 -9
- package/dist/routing/default-router.js.map +1 -1
- package/dist/seller-request-handler.d.ts +54 -0
- package/dist/seller-request-handler.d.ts.map +1 -0
- package/dist/seller-request-handler.js +359 -0
- package/dist/seller-request-handler.js.map +1 -0
- package/dist/storage/migrate.d.ts +13 -0
- package/dist/storage/migrate.d.ts.map +1 -0
- package/dist/storage/migrate.js +28 -0
- package/dist/storage/migrate.js.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.js +45 -0
- package/dist/storage/migrations/channels/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts +3 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js +19 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js.map +1 -0
- package/dist/storage/migrations/channels/index.d.ts +3 -0
- package/dist/storage/migrations/channels/index.d.ts.map +1 -0
- package/dist/storage/migrations/channels/index.js +4 -0
- package/dist/storage/migrations/channels/index.js.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.js +80 -0
- package/dist/storage/migrations/metering/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/metering/index.d.ts +3 -0
- package/dist/storage/migrations/metering/index.d.ts.map +1 -0
- package/dist/storage/migrations/metering/index.js +3 -0
- package/dist/storage/migrations/metering/index.js.map +1 -0
- package/dist/types/capability.d.ts +1 -1
- package/dist/types/metering.d.ts +1 -1
- package/dist/types/peer.d.ts +10 -11
- package/dist/types/peer.d.ts.map +1 -1
- package/dist/types/peer.js +7 -3
- package/dist/types/peer.js.map +1 -1
- package/dist/types/protocol.d.ts +22 -70
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +1 -3
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/rating.d.ts +1 -1
- package/dist/types/rating.d.ts.map +1 -1
- package/dist/types/report.d.ts +1 -1
- package/dist/types/report.d.ts.map +1 -1
- package/dist/utils/response-usage.d.ts +10 -0
- package/dist/utils/response-usage.d.ts.map +1 -0
- package/dist/utils/response-usage.js +34 -0
- package/dist/utils/response-usage.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,86 +1,111 @@
|
|
|
1
1
|
import type { Identity } from '../p2p/identity.js';
|
|
2
2
|
import type { PaymentMux } from '../p2p/payment-mux.js';
|
|
3
|
-
import type { SpendingAuthPayload,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import type { SpendingAuthPayload, PaymentRequiredPayload } from '../types/protocol.js';
|
|
4
|
+
import { ChannelsClient } from './evm/channels-client.js';
|
|
5
|
+
import { ChannelStore, type StoredChannel } from './channel-store.js';
|
|
6
6
|
export interface SellerPaymentConfig {
|
|
7
7
|
rpcUrl: string;
|
|
8
|
-
|
|
9
|
-
usdcAddress: string;
|
|
8
|
+
channelsContractAddress: string;
|
|
10
9
|
chainId: number;
|
|
11
10
|
dataDir: string;
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/** Suggested USDC amount (base units) for proven-sign sessions. Default: 100000 ($0.10). */
|
|
17
|
-
provenSignAmountUsdc?: string;
|
|
11
|
+
/** Minimum USDC per request (base units). Default: "10000" ($0.01). */
|
|
12
|
+
minBudgetPerRequest?: string;
|
|
13
|
+
/** Whether to immediately settle when buyer disconnects. Default: true. */
|
|
14
|
+
settleOnDisconnect?: boolean;
|
|
18
15
|
}
|
|
19
16
|
/**
|
|
20
|
-
* Manages seller-side payment sessions
|
|
21
|
-
*
|
|
17
|
+
* Manages seller-side payment sessions.
|
|
18
|
+
* The buyer sends a single SpendingAuth signature with a monotonically
|
|
19
|
+
* increasing cumulativeAmount on every request.
|
|
20
|
+
* The seller tracks spending locally and settles/closes via the contract at session end.
|
|
22
21
|
*/
|
|
23
22
|
export declare class SellerPaymentManager {
|
|
24
23
|
private readonly _identity;
|
|
25
24
|
private readonly _signer;
|
|
26
|
-
private readonly
|
|
25
|
+
private readonly _channelsClient;
|
|
27
26
|
private readonly _config;
|
|
28
|
-
private readonly
|
|
27
|
+
private readonly _channelStore;
|
|
29
28
|
/** In-memory cache of active buyer peerIds for fast has-session checks. */
|
|
30
29
|
private readonly _activeBuyers;
|
|
31
|
-
/** Debounce: track sessions that already sent a top-up request. */
|
|
32
|
-
private readonly _topUpRequested;
|
|
33
|
-
/** Cached seller tokenRate (fetched once from escrow, used for top-up threshold). */
|
|
34
|
-
private _tokenRate;
|
|
35
|
-
/** Cached FIRST_SIGN_CAP from escrow contract. */
|
|
36
|
-
private _firstSignCap;
|
|
37
30
|
/** Per-buyer mutex to prevent concurrent handleSpendingAuth for the same buyer. */
|
|
38
31
|
private readonly _buyerLocks;
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
/** channelId -> highest accepted cumulativeAmount from buyer's SpendingAuth */
|
|
33
|
+
private readonly _acceptedCumulative;
|
|
34
|
+
/** channelId -> total USDC spent so far (sum of recordSpend calls) */
|
|
35
|
+
private readonly _spent;
|
|
36
|
+
/** channelId -> on-chain reserveMaxAmount (budget ceiling from ReserveAuth) */
|
|
37
|
+
private readonly _reserveMax;
|
|
38
|
+
/** channelId -> latest buyer-signed auth (both sigs + cumulative values + metadata) for settle/close */
|
|
39
|
+
private readonly _latestAuth;
|
|
40
|
+
/** channelId -> number of failed close() attempts. In-memory only; resets on node restart. */
|
|
41
|
+
private readonly _closeRetryCount;
|
|
42
|
+
/** Max close() retries before giving up (buyer must requestClose on-chain) */
|
|
43
|
+
private static readonly MAX_CLOSE_RETRIES;
|
|
44
|
+
constructor(identity: Identity, config: SellerPaymentConfig, channelStore: ChannelStore);
|
|
45
|
+
get channelsClient(): ChannelsClient;
|
|
41
46
|
/**
|
|
42
47
|
* Handle incoming SpendingAuth from a buyer.
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* 3. Reserve new session on-chain
|
|
46
|
-
* 4. Store and send AuthAck
|
|
48
|
+
* First auth: verify SpendingAuth, reserve on-chain, send AuthAck.
|
|
49
|
+
* Subsequent: verify SpendingAuth signature, validate monotonic increase, persist.
|
|
47
50
|
*/
|
|
48
|
-
handleSpendingAuth(buyerPeerId: string,
|
|
51
|
+
handleSpendingAuth(buyerPeerId: string, payload: SpendingAuthPayload, paymentMux: PaymentMux): Promise<'accepted' | 'reserved' | 'rejected'>;
|
|
49
52
|
private _handleSpendingAuthInner;
|
|
53
|
+
private _recoverOnChainSession;
|
|
54
|
+
private _activateSession;
|
|
50
55
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
56
|
+
* Validate and accept a SpendingAuth attached to an incoming request.
|
|
57
|
+
* Returns true if the buyer has sufficient budget to serve this request.
|
|
53
58
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
59
|
+
validateAndAcceptAuth(buyerPeerId: string, auth: SpendingAuthPayload): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Record USDC consumption after serving a request.
|
|
62
|
+
*/
|
|
63
|
+
recordSpend(sessionId: string, costUsdc: bigint): void;
|
|
64
|
+
/**
|
|
65
|
+
* Close a completed session on-chain using the latest buyer-signed dual signatures.
|
|
66
|
+
* Uses close() for final settlement (releases remaining deposit to buyer).
|
|
67
|
+
*/
|
|
68
|
+
settleSession(buyerPeerId: string, { cleanupOnFailure }?: {
|
|
69
|
+
cleanupOnFailure?: boolean | undefined;
|
|
70
|
+
}): Promise<void>;
|
|
56
71
|
onBuyerDisconnect(buyerPeerId: string): void;
|
|
57
72
|
/**
|
|
58
|
-
* Check for and
|
|
73
|
+
* Check for stale sessions and attempt to close them.
|
|
74
|
+
* The seller can only close() with a valid SpendingAuth — it cannot
|
|
75
|
+
* requestClose or withdraw (those are buyer-only on-chain).
|
|
76
|
+
* If the seller has no auths, the session remains open until the buyer
|
|
77
|
+
* calls requestClose → withdraw on-chain.
|
|
59
78
|
* Called periodically and on startup for recovery.
|
|
60
79
|
*/
|
|
61
80
|
checkTimeouts(): Promise<void>;
|
|
62
81
|
hasSession(buyerPeerId: string): boolean;
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
/** Retry init if on-chain data is missing and enough time has passed. */
|
|
72
|
-
ensureInitialized(): Promise<void>;
|
|
82
|
+
/** Get the active session for a buyer peer, or null. */
|
|
83
|
+
getChannelByPeer(buyerPeerId: string): StoredChannel | null;
|
|
84
|
+
/** Get total USDC spent for a session (sum of recordSpend calls). */
|
|
85
|
+
getCumulativeSpend(sessionId: string): bigint;
|
|
86
|
+
/** Get the highest accepted cumulative amount for a session. */
|
|
87
|
+
getAcceptedCumulative(sessionId: string): bigint;
|
|
88
|
+
/** Get the on-chain reserve budget ceiling for a session. */
|
|
89
|
+
getReserveMax(sessionId: string): bigint;
|
|
73
90
|
private static readonly DEFAULT_SUGGESTED_AMOUNT;
|
|
74
91
|
/**
|
|
75
92
|
* Build the PaymentRequired payload for a buyer that doesn't have a session.
|
|
76
|
-
* Returns null if on-chain data isn't available yet.
|
|
77
|
-
* For returning buyers (proven-sign eligible), uses the configured proven-sign
|
|
78
|
-
* amount instead of the first-sign amount (both default to $0.10).
|
|
79
93
|
*/
|
|
80
94
|
getPaymentRequirements(requestId: string, buyerPeerId?: string, pricing?: {
|
|
81
95
|
inputUsdPerMillion?: number;
|
|
82
96
|
outputUsdPerMillion?: number;
|
|
83
|
-
}):
|
|
97
|
+
}): PaymentRequiredPayload;
|
|
98
|
+
/**
|
|
99
|
+
* Handle a CloseRequested event for a channel this seller manages.
|
|
100
|
+
* If the seller has a stored SpendingAuth, immediately close the channel
|
|
101
|
+
* on-chain to claim earnings before the grace period expires.
|
|
102
|
+
*/
|
|
103
|
+
handleCloseRequested(channelId: string): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Poll for CloseRequested events and handle any that match active channels.
|
|
106
|
+
* Returns the block number to use as the next fromBlock cursor.
|
|
107
|
+
*/
|
|
108
|
+
pollCloseRequested(fromBlock: number): Promise<number>;
|
|
84
109
|
close(): void;
|
|
85
110
|
}
|
|
86
111
|
//# sourceMappingURL=seller-payment-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/seller-payment-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seller-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/seller-payment-manager.ts"],"names":[],"mappings":"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"}
|