@antseed/node 0.2.93 → 0.2.95
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-request-handler.d.ts +4 -1
- package/dist/buyer-request-handler.d.ts.map +1 -1
- package/dist/buyer-request-handler.js +83 -4
- package/dist/buyer-request-handler.js.map +1 -1
- package/dist/discovery/http-metadata-resolver.d.ts +7 -0
- package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
- package/dist/discovery/http-metadata-resolver.js +16 -3
- package/dist/discovery/http-metadata-resolver.js.map +1 -1
- package/dist/discovery/index.d.ts +1 -0
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +1 -0
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/verification-links.d.ts +16 -0
- package/dist/discovery/verification-links.d.ts.map +1 -0
- package/dist/discovery/verification-links.js +71 -0
- package/dist/discovery/verification-links.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +25 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +247 -21
- package/dist/node.js.map +1 -1
- package/dist/p2p/payment-codec.d.ts +9 -1
- package/dist/p2p/payment-codec.d.ts.map +1 -1
- package/dist/p2p/payment-codec.js +67 -0
- package/dist/p2p/payment-codec.js.map +1 -1
- package/dist/p2p/payment-mux.d.ts +13 -1
- package/dist/p2p/payment-mux.d.ts.map +1 -1
- package/dist/p2p/payment-mux.js +44 -0
- package/dist/p2p/payment-mux.js.map +1 -1
- package/dist/payments/buyer-free-usage-manager.d.ts +39 -0
- package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -0
- package/dist/payments/buyer-free-usage-manager.js +280 -0
- package/dist/payments/buyer-free-usage-manager.js.map +1 -0
- package/dist/payments/buyer-payment-manager.d.ts +2 -4
- package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
- package/dist/payments/buyer-payment-manager.js +34 -110
- package/dist/payments/buyer-payment-manager.js.map +1 -1
- package/dist/payments/buyer-payment-negotiator.d.ts +6 -2
- package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
- package/dist/payments/buyer-payment-negotiator.js +41 -13
- package/dist/payments/buyer-payment-negotiator.js.map +1 -1
- package/dist/payments/chain-config.d.ts +3 -2
- package/dist/payments/chain-config.d.ts.map +1 -1
- package/dist/payments/chain-config.js +4 -4
- package/dist/payments/chain-config.js.map +1 -1
- package/dist/payments/channel-session-state.d.ts +2 -1
- package/dist/payments/channel-session-state.d.ts.map +1 -1
- package/dist/payments/channel-session-state.js +4 -3
- package/dist/payments/channel-session-state.js.map +1 -1
- package/dist/payments/channel-store.d.ts +31 -15
- package/dist/payments/channel-store.d.ts.map +1 -1
- package/dist/payments/channel-store.js +74 -35
- package/dist/payments/channel-store.js.map +1 -1
- package/dist/payments/channel-usage-accounting.d.ts +18 -0
- package/dist/payments/channel-usage-accounting.d.ts.map +1 -0
- package/dist/payments/channel-usage-accounting.js +66 -0
- package/dist/payments/channel-usage-accounting.js.map +1 -0
- package/dist/payments/evm/free-usage-client.d.ts +34 -0
- package/dist/payments/evm/free-usage-client.d.ts.map +1 -0
- package/dist/payments/evm/free-usage-client.js +61 -0
- package/dist/payments/evm/free-usage-client.js.map +1 -0
- package/dist/payments/evm/signatures.d.ts +70 -0
- package/dist/payments/evm/signatures.d.ts.map +1 -1
- package/dist/payments/evm/signatures.js +89 -0
- package/dist/payments/evm/signatures.js.map +1 -1
- package/dist/payments/index.d.ts +10 -6
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +7 -4
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/seller-free-usage-manager.d.ts +44 -0
- package/dist/payments/seller-free-usage-manager.d.ts.map +1 -0
- package/dist/payments/seller-free-usage-manager.js +350 -0
- package/dist/payments/seller-free-usage-manager.js.map +1 -0
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +21 -20
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/payments/types.d.ts +2 -0
- package/dist/payments/types.d.ts.map +1 -1
- package/dist/reputation/on-chain-reputation.d.ts +35 -3
- package/dist/reputation/on-chain-reputation.d.ts.map +1 -1
- package/dist/reputation/on-chain-reputation.js +87 -7
- package/dist/reputation/on-chain-reputation.js.map +1 -1
- package/dist/seller-request-handler.d.ts +2 -0
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +8 -0
- package/dist/seller-request-handler.js.map +1 -1
- package/dist/storage/migrations/channels/004_add_channel_kind.d.ts +3 -0
- package/dist/storage/migrations/channels/004_add_channel_kind.d.ts.map +1 -0
- package/dist/storage/migrations/channels/004_add_channel_kind.js +16 -0
- package/dist/storage/migrations/channels/004_add_channel_kind.js.map +1 -0
- package/dist/storage/migrations/channels/index.d.ts.map +1 -1
- package/dist/storage/migrations/channels/index.js +2 -1
- package/dist/storage/migrations/channels/index.js.map +1 -1
- package/dist/types/peer.d.ts +15 -1
- package/dist/types/peer.d.ts.map +1 -1
- package/dist/types/peer.js.map +1 -1
- package/dist/types/protocol.d.ts +47 -0
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +4 -0
- package/dist/types/protocol.js.map +1 -1
- package/dist/verification/samples.js +1 -1
- package/dist/verification/samples.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-session-state.d.ts","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-session-state.d.ts","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,OAAO,cAAc,CAAC,MAAM,GAC5B,OAAO,cAAc,CAAC,OAAO,GAC7B,OAAO,cAAc,CAAC,OAAO,GAC7B,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAI7F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAqBhF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAGT"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CHANNEL_STATUS } from './channel-store.js';
|
|
1
2
|
const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
2
3
|
export function classifyOnChainChannel(channel) {
|
|
3
4
|
const exists = channel.buyer !== ZERO_ADDRESS
|
|
@@ -8,13 +9,13 @@ export function classifyOnChainChannel(channel) {
|
|
|
8
9
|
return { exists: false, status: 'missing' };
|
|
9
10
|
}
|
|
10
11
|
if (channel.status === 1) {
|
|
11
|
-
return { exists: true, status:
|
|
12
|
+
return { exists: true, status: CHANNEL_STATUS.ACTIVE, channel };
|
|
12
13
|
}
|
|
13
14
|
if (channel.status === 2) {
|
|
14
|
-
return { exists: true, status:
|
|
15
|
+
return { exists: true, status: CHANNEL_STATUS.SETTLED, channel };
|
|
15
16
|
}
|
|
16
17
|
if (channel.status === 3) {
|
|
17
|
-
return { exists: true, status:
|
|
18
|
+
return { exists: true, status: CHANNEL_STATUS.TIMEOUT, channel };
|
|
18
19
|
}
|
|
19
20
|
return { exists: true, status: 'unknown', channel };
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-session-state.js","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel-session-state.js","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapD,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,YAAY;WACxC,OAAO,CAAC,MAAM,KAAK,YAAY;WAC/B,OAAO,CAAC,OAAO,GAAG,EAAE;WACpB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,YAAoB,EACpB,aAAqB;IAErB,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;WAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
+
import type { SpendingAuthMetadata, SpendingAuthServiceMetadata } from './evm/signatures.js';
|
|
1
2
|
export declare const CHANNEL_STATUS: {
|
|
2
3
|
readonly ACTIVE: "active";
|
|
3
4
|
readonly SETTLED: "settled";
|
|
4
5
|
readonly TIMEOUT: "timeout";
|
|
5
6
|
readonly GHOST: "ghost";
|
|
6
7
|
};
|
|
8
|
+
export declare const CHANNEL_KIND: {
|
|
9
|
+
readonly PAID: "paid";
|
|
10
|
+
readonly FREE: "free";
|
|
11
|
+
};
|
|
12
|
+
export declare const CHANNEL_ROLE: {
|
|
13
|
+
readonly BUYER: "buyer";
|
|
14
|
+
readonly SELLER: "seller";
|
|
15
|
+
};
|
|
16
|
+
export type ChannelStatus = typeof CHANNEL_STATUS[keyof typeof CHANNEL_STATUS];
|
|
17
|
+
export type ChannelKind = typeof CHANNEL_KIND[keyof typeof CHANNEL_KIND];
|
|
18
|
+
export type ChannelRole = typeof CHANNEL_ROLE[keyof typeof CHANNEL_ROLE];
|
|
7
19
|
export interface StoredChannel {
|
|
8
20
|
sessionId: string;
|
|
9
21
|
peerId: string;
|
|
10
|
-
role:
|
|
22
|
+
role: ChannelRole;
|
|
23
|
+
channelKind?: ChannelKind;
|
|
11
24
|
sellerEvmAddr: string;
|
|
12
25
|
buyerEvmAddr: string;
|
|
13
26
|
nonce: number;
|
|
@@ -20,7 +33,7 @@ export interface StoredChannel {
|
|
|
20
33
|
reservedAt: number;
|
|
21
34
|
settledAt: number | null;
|
|
22
35
|
settledAmount: string | null;
|
|
23
|
-
status:
|
|
36
|
+
status: ChannelStatus;
|
|
24
37
|
latestBuyerSig: string | null;
|
|
25
38
|
latestSpendingAuthSig: string | null;
|
|
26
39
|
latestMetadata: string | null;
|
|
@@ -57,22 +70,22 @@ export declare class ChannelStore {
|
|
|
57
70
|
private _prepareStatements;
|
|
58
71
|
upsertChannel(channel: StoredChannel): void;
|
|
59
72
|
getChannel(sessionId: string): StoredChannel | null;
|
|
60
|
-
getActiveChannelByPeer(peerId: string, role:
|
|
61
|
-
getActiveChannelByPeerAndBuyer(peerId: string, role:
|
|
62
|
-
getLatestChannel(peerId: string, role:
|
|
63
|
-
getLatestChannelByPeerAndBuyer(peerId: string, role:
|
|
64
|
-
updateChannelStatus(sessionId: string, status:
|
|
73
|
+
getActiveChannelByPeer(peerId: string, role: ChannelRole, channelKind?: ChannelKind): StoredChannel | null;
|
|
74
|
+
getActiveChannelByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel | null;
|
|
75
|
+
getLatestChannel(peerId: string, role: ChannelRole, channelKind?: ChannelKind): StoredChannel | null;
|
|
76
|
+
getLatestChannelByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel | null;
|
|
77
|
+
updateChannelStatus(sessionId: string, status: ChannelStatus, settledAmount?: string): void;
|
|
65
78
|
updateTokensDelivered(sessionId: string, tokens: string, requestCount: number): void;
|
|
66
|
-
getMaxNonce(role:
|
|
79
|
+
getMaxNonce(role: ChannelRole): number;
|
|
67
80
|
/** List all channels ordered by most recent first. */
|
|
68
|
-
listAllChannels(limit?: number): StoredChannel[];
|
|
81
|
+
listAllChannels(limit?: number, channelKind?: ChannelKind): StoredChannel[];
|
|
69
82
|
/** Get all active channels for a given role (buyer or seller). */
|
|
70
|
-
getActiveChannels(role:
|
|
71
|
-
getActiveChannelsByBuyer(role:
|
|
83
|
+
getActiveChannels(role: ChannelRole, channelKind?: ChannelKind): StoredChannel[];
|
|
84
|
+
getActiveChannelsByBuyer(role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel[];
|
|
72
85
|
/** All channels for a given buyer (any status), ordered by most recent first. */
|
|
73
|
-
getAllChannelsByBuyer(role:
|
|
86
|
+
getAllChannelsByBuyer(role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel[];
|
|
74
87
|
/** Aggregate totals across all channels for a given peer and role. */
|
|
75
|
-
getTotalsByPeer(peerId: string, role:
|
|
88
|
+
getTotalsByPeer(peerId: string, role: ChannelRole, channelKind?: ChannelKind): {
|
|
76
89
|
totalSessions: number;
|
|
77
90
|
totalRequests: number;
|
|
78
91
|
totalInputTokens: number;
|
|
@@ -81,7 +94,7 @@ export declare class ChannelStore {
|
|
|
81
94
|
firstSessionAt: number | null;
|
|
82
95
|
lastSessionAt: number | null;
|
|
83
96
|
};
|
|
84
|
-
getTotalsByPeerAndBuyer(peerId: string, role:
|
|
97
|
+
getTotalsByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): {
|
|
85
98
|
totalSessions: number;
|
|
86
99
|
totalRequests: number;
|
|
87
100
|
totalInputTokens: number;
|
|
@@ -90,7 +103,7 @@ export declare class ChannelStore {
|
|
|
90
103
|
firstSessionAt: number | null;
|
|
91
104
|
lastSessionAt: number | null;
|
|
92
105
|
};
|
|
93
|
-
getTimedOutChannels(timeoutSeconds: number): StoredChannel[];
|
|
106
|
+
getTimedOutChannels(timeoutSeconds: number, channelKind?: ChannelKind): StoredChannel[];
|
|
94
107
|
insertReceipt(receipt: Omit<StoredReceipt, 'id'>): void;
|
|
95
108
|
getReceipts(sessionId: string): StoredReceipt[];
|
|
96
109
|
/** Atomically update tokens delivered and insert receipt in a single transaction. */
|
|
@@ -98,7 +111,10 @@ export declare class ChannelStore {
|
|
|
98
111
|
/** Update receipt ack directly by composite key (no load-all-then-filter). */
|
|
99
112
|
updateReceiptAck(sessionId: string, runningTotal: string, requestCount: number, buyerAckSig: string): void;
|
|
100
113
|
replaceServiceTotals(sessionId: string, totals: Omit<StoredChannelServiceTotal, 'sessionId' | 'updatedAt'>[]): void;
|
|
114
|
+
replaceMetadataServiceTotals(sessionId: string, services?: readonly SpendingAuthServiceMetadata[]): void;
|
|
101
115
|
getServiceTotals(sessionId: string): StoredChannelServiceTotal[];
|
|
116
|
+
getMetadataServiceTotals(sessionId: string): SpendingAuthServiceMetadata[];
|
|
117
|
+
getChannelMetadata(channel: StoredChannel): SpendingAuthMetadata;
|
|
102
118
|
close(): void;
|
|
103
119
|
}
|
|
104
120
|
//# sourceMappingURL=channel-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,14 @@ export const CHANNEL_STATUS = {
|
|
|
9
9
|
TIMEOUT: 'timeout',
|
|
10
10
|
GHOST: 'ghost',
|
|
11
11
|
};
|
|
12
|
+
export const CHANNEL_KIND = {
|
|
13
|
+
PAID: 'paid',
|
|
14
|
+
FREE: 'free',
|
|
15
|
+
};
|
|
16
|
+
export const CHANNEL_ROLE = {
|
|
17
|
+
BUYER: 'buyer',
|
|
18
|
+
SELLER: 'seller',
|
|
19
|
+
};
|
|
12
20
|
export class ChannelStore {
|
|
13
21
|
_db;
|
|
14
22
|
// ── Cached prepared statements (compiled once, reused every call) ──
|
|
@@ -46,19 +54,20 @@ export class ChannelStore {
|
|
|
46
54
|
return {
|
|
47
55
|
upsert: this._db.prepare(`
|
|
48
56
|
INSERT INTO payment_channels (
|
|
49
|
-
session_id, peer_id, role, seller_evm_addr, buyer_evm_addr,
|
|
57
|
+
session_id, peer_id, role, channel_kind, seller_evm_addr, buyer_evm_addr,
|
|
50
58
|
nonce, auth_max, deadline, previous_session_id, previous_consumption,
|
|
51
59
|
tokens_delivered, request_count, reserved_at, settled_at, settled_amount,
|
|
52
60
|
status, latest_buyer_sig, latest_metadata_auth_sig, latest_metadata,
|
|
53
61
|
created_at, updated_at
|
|
54
62
|
) VALUES (
|
|
55
|
-
@sessionId, @peerId, @role, @sellerEvmAddr, @buyerEvmAddr,
|
|
63
|
+
@sessionId, @peerId, @role, @channelKind, @sellerEvmAddr, @buyerEvmAddr,
|
|
56
64
|
@nonce, @authMax, @deadline, @previousSessionId, @previousConsumption,
|
|
57
65
|
@tokensDelivered, @requestCount, @reservedAt, @settledAt, @settledAmount,
|
|
58
66
|
@status, @latestBuyerSig, @latestSpendingAuthSig, @latestMetadata,
|
|
59
67
|
@createdAt, @updatedAt
|
|
60
68
|
)
|
|
61
69
|
ON CONFLICT(session_id) DO UPDATE SET
|
|
70
|
+
channel_kind = @channelKind,
|
|
62
71
|
auth_max = @authMax,
|
|
63
72
|
previous_consumption = @previousConsumption,
|
|
64
73
|
tokens_delivered = @tokensDelivered,
|
|
@@ -72,16 +81,16 @@ export class ChannelStore {
|
|
|
72
81
|
updated_at = @updatedAt
|
|
73
82
|
`),
|
|
74
83
|
getById: this._db.prepare('SELECT * FROM payment_channels WHERE session_id = ?'),
|
|
75
|
-
getActiveByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
|
|
76
|
-
getActiveByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
|
|
77
|
-
getLatestByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? ORDER BY created_at DESC LIMIT 1'),
|
|
78
|
-
getLatestByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? ORDER BY created_at DESC LIMIT 1'),
|
|
84
|
+
getActiveByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
|
|
85
|
+
getActiveByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
|
|
86
|
+
getLatestByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND channel_kind = ? ORDER BY created_at DESC LIMIT 1'),
|
|
87
|
+
getLatestByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ? ORDER BY created_at DESC LIMIT 1'),
|
|
79
88
|
updateStatusWithAmount: this._db.prepare('UPDATE payment_channels SET status = ?, settled_at = ?, settled_amount = ?, updated_at = ? WHERE session_id = ?'),
|
|
80
89
|
updateStatus: this._db.prepare('UPDATE payment_channels SET status = ?, updated_at = ? WHERE session_id = ?'),
|
|
81
90
|
updateTokens: this._db.prepare('UPDATE payment_channels SET tokens_delivered = ?, request_count = ?, updated_at = ? WHERE session_id = ?'),
|
|
82
91
|
getMaxNonce: this._db.prepare('SELECT MAX(nonce) as max_nonce FROM payment_channels WHERE role = ?'),
|
|
83
|
-
listAll: this._db.prepare('SELECT * FROM payment_channels ORDER BY updated_at DESC LIMIT ?'),
|
|
84
|
-
getTimedOut: this._db.prepare('SELECT * FROM payment_channels WHERE status = ? AND updated_at < ? ORDER BY updated_at LIMIT 100'),
|
|
92
|
+
listAll: this._db.prepare('SELECT * FROM payment_channels WHERE channel_kind = ? ORDER BY updated_at DESC LIMIT ?'),
|
|
93
|
+
getTimedOut: this._db.prepare('SELECT * FROM payment_channels WHERE channel_kind = ? AND status = ? AND updated_at < ? ORDER BY updated_at LIMIT 100'),
|
|
85
94
|
insertReceipt: this._db.prepare(`
|
|
86
95
|
INSERT INTO payment_receipts (
|
|
87
96
|
session_id, running_total, request_count, response_hash,
|
|
@@ -93,8 +102,8 @@ export class ChannelStore {
|
|
|
93
102
|
`),
|
|
94
103
|
getReceipts: this._db.prepare('SELECT * FROM payment_receipts WHERE session_id = ? ORDER BY created_at'),
|
|
95
104
|
updateReceiptAck: this._db.prepare('UPDATE payment_receipts SET buyer_ack_sig = ? WHERE session_id = ? AND running_total = ? AND request_count = ?'),
|
|
96
|
-
getActiveChannels: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND status = ? ORDER BY created_at DESC'),
|
|
97
|
-
getActiveChannelsByBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND status = ? ORDER BY created_at DESC'),
|
|
105
|
+
getActiveChannels: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC'),
|
|
106
|
+
getActiveChannelsByBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC'),
|
|
98
107
|
getTotalsByPeerAndBuyer: this._db.prepare(`
|
|
99
108
|
SELECT
|
|
100
109
|
COUNT(*) as total_sessions,
|
|
@@ -105,7 +114,7 @@ export class ChannelStore {
|
|
|
105
114
|
MIN(reserved_at) as first_session_at,
|
|
106
115
|
MAX(updated_at) as last_session_at
|
|
107
116
|
FROM payment_channels
|
|
108
|
-
WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ?
|
|
117
|
+
WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ?
|
|
109
118
|
`),
|
|
110
119
|
deleteServiceTotals: this._db.prepare('DELETE FROM payment_channel_service_totals WHERE session_id = ?'),
|
|
111
120
|
insertServiceTotal: this._db.prepare(`
|
|
@@ -128,6 +137,7 @@ export class ChannelStore {
|
|
|
128
137
|
sessionId: channel.sessionId,
|
|
129
138
|
peerId: channel.peerId,
|
|
130
139
|
role: channel.role,
|
|
140
|
+
channelKind: channel.channelKind ?? CHANNEL_KIND.PAID,
|
|
131
141
|
sellerEvmAddr: channel.sellerEvmAddr,
|
|
132
142
|
buyerEvmAddr: channel.buyerEvmAddr,
|
|
133
143
|
nonce: channel.nonce,
|
|
@@ -152,20 +162,20 @@ export class ChannelStore {
|
|
|
152
162
|
const row = this._stmts.getById.get(sessionId);
|
|
153
163
|
return row ? rowToChannel(row) : null;
|
|
154
164
|
}
|
|
155
|
-
getActiveChannelByPeer(peerId, role) {
|
|
156
|
-
const row = this._stmts.getActiveByPeer.get(peerId, role, CHANNEL_STATUS.ACTIVE);
|
|
165
|
+
getActiveChannelByPeer(peerId, role, channelKind = CHANNEL_KIND.PAID) {
|
|
166
|
+
const row = this._stmts.getActiveByPeer.get(peerId, role, channelKind, CHANNEL_STATUS.ACTIVE);
|
|
157
167
|
return row ? rowToChannel(row) : null;
|
|
158
168
|
}
|
|
159
|
-
getActiveChannelByPeerAndBuyer(peerId, role, buyerEvmAddr) {
|
|
160
|
-
const row = this._stmts.getActiveByPeerAndBuyer.get(peerId, role, buyerEvmAddr, CHANNEL_STATUS.ACTIVE);
|
|
169
|
+
getActiveChannelByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
|
|
170
|
+
const row = this._stmts.getActiveByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind, CHANNEL_STATUS.ACTIVE);
|
|
161
171
|
return row ? rowToChannel(row) : null;
|
|
162
172
|
}
|
|
163
|
-
getLatestChannel(peerId, role) {
|
|
164
|
-
const row = this._stmts.getLatestByPeer.get(peerId, role);
|
|
173
|
+
getLatestChannel(peerId, role, channelKind = CHANNEL_KIND.PAID) {
|
|
174
|
+
const row = this._stmts.getLatestByPeer.get(peerId, role, channelKind);
|
|
165
175
|
return row ? rowToChannel(row) : null;
|
|
166
176
|
}
|
|
167
|
-
getLatestChannelByPeerAndBuyer(peerId, role, buyerEvmAddr) {
|
|
168
|
-
const row = this._stmts.getLatestByPeerAndBuyer.get(peerId, role, buyerEvmAddr);
|
|
177
|
+
getLatestChannelByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
|
|
178
|
+
const row = this._stmts.getLatestByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind);
|
|
169
179
|
return row ? rowToChannel(row) : null;
|
|
170
180
|
}
|
|
171
181
|
updateChannelStatus(sessionId, status, settledAmount) {
|
|
@@ -185,28 +195,28 @@ export class ChannelStore {
|
|
|
185
195
|
return row?.max_nonce ?? 0;
|
|
186
196
|
}
|
|
187
197
|
/** List all channels ordered by most recent first. */
|
|
188
|
-
listAllChannels(limit = 100) {
|
|
189
|
-
const rows = this._stmts.listAll.all(limit);
|
|
198
|
+
listAllChannels(limit = 100, channelKind = CHANNEL_KIND.PAID) {
|
|
199
|
+
const rows = this._stmts.listAll.all(channelKind, limit);
|
|
190
200
|
return rows.map(rowToChannel);
|
|
191
201
|
}
|
|
192
202
|
/** Get all active channels for a given role (buyer or seller). */
|
|
193
|
-
getActiveChannels(role) {
|
|
194
|
-
const rows = this._stmts.getActiveChannels.all(role, CHANNEL_STATUS.ACTIVE);
|
|
203
|
+
getActiveChannels(role, channelKind = CHANNEL_KIND.PAID) {
|
|
204
|
+
const rows = this._stmts.getActiveChannels.all(role, channelKind, CHANNEL_STATUS.ACTIVE);
|
|
195
205
|
return rows.map(rowToChannel);
|
|
196
206
|
}
|
|
197
|
-
getActiveChannelsByBuyer(role, buyerEvmAddr) {
|
|
198
|
-
const rows = this._stmts.getActiveChannelsByBuyer.all(role, buyerEvmAddr, CHANNEL_STATUS.ACTIVE);
|
|
207
|
+
getActiveChannelsByBuyer(role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
|
|
208
|
+
const rows = this._stmts.getActiveChannelsByBuyer.all(role, buyerEvmAddr, channelKind, CHANNEL_STATUS.ACTIVE);
|
|
199
209
|
return rows.map(rowToChannel);
|
|
200
210
|
}
|
|
201
211
|
/** All channels for a given buyer (any status), ordered by most recent first. */
|
|
202
|
-
getAllChannelsByBuyer(role, buyerEvmAddr) {
|
|
212
|
+
getAllChannelsByBuyer(role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
|
|
203
213
|
const rows = this._db
|
|
204
|
-
.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? ORDER BY created_at DESC')
|
|
205
|
-
.all(role, buyerEvmAddr);
|
|
214
|
+
.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND channel_kind = ? ORDER BY created_at DESC')
|
|
215
|
+
.all(role, buyerEvmAddr, channelKind);
|
|
206
216
|
return rows.map(rowToChannel);
|
|
207
217
|
}
|
|
208
218
|
/** Aggregate totals across all channels for a given peer and role. */
|
|
209
|
-
getTotalsByPeer(peerId, role) {
|
|
219
|
+
getTotalsByPeer(peerId, role, channelKind = CHANNEL_KIND.PAID) {
|
|
210
220
|
const row = this._db.prepare(`
|
|
211
221
|
SELECT
|
|
212
222
|
COUNT(*) as total_sessions,
|
|
@@ -217,8 +227,8 @@ export class ChannelStore {
|
|
|
217
227
|
MIN(reserved_at) as first_session_at,
|
|
218
228
|
MAX(updated_at) as last_session_at
|
|
219
229
|
FROM payment_channels
|
|
220
|
-
WHERE peer_id = ? AND role = ?
|
|
221
|
-
`).get(peerId, role);
|
|
230
|
+
WHERE peer_id = ? AND role = ? AND channel_kind = ?
|
|
231
|
+
`).get(peerId, role, channelKind);
|
|
222
232
|
return {
|
|
223
233
|
totalSessions: row.total_sessions,
|
|
224
234
|
totalRequests: row.total_requests,
|
|
@@ -229,8 +239,8 @@ export class ChannelStore {
|
|
|
229
239
|
lastSessionAt: row.last_session_at,
|
|
230
240
|
};
|
|
231
241
|
}
|
|
232
|
-
getTotalsByPeerAndBuyer(peerId, role, buyerEvmAddr) {
|
|
233
|
-
const row = this._stmts.getTotalsByPeerAndBuyer.get(peerId, role, buyerEvmAddr);
|
|
242
|
+
getTotalsByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
|
|
243
|
+
const row = this._stmts.getTotalsByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind);
|
|
234
244
|
return {
|
|
235
245
|
totalSessions: row.total_sessions,
|
|
236
246
|
totalRequests: row.total_requests,
|
|
@@ -242,9 +252,9 @@ export class ChannelStore {
|
|
|
242
252
|
};
|
|
243
253
|
}
|
|
244
254
|
// ── Timeout queries ───────────────────────────────────────────
|
|
245
|
-
getTimedOutChannels(timeoutSeconds) {
|
|
255
|
+
getTimedOutChannels(timeoutSeconds, channelKind = CHANNEL_KIND.PAID) {
|
|
246
256
|
const cutoff = Date.now() - timeoutSeconds * 1000;
|
|
247
|
-
const rows = this._stmts.getTimedOut.all(CHANNEL_STATUS.ACTIVE, cutoff);
|
|
257
|
+
const rows = this._stmts.getTimedOut.all(channelKind, CHANNEL_STATUS.ACTIVE, cutoff);
|
|
248
258
|
return rows.map(rowToChannel);
|
|
249
259
|
}
|
|
250
260
|
// ── Receipt CRUD ──────────────────────────────────────────────
|
|
@@ -280,10 +290,38 @@ export class ChannelStore {
|
|
|
280
290
|
updatedAt,
|
|
281
291
|
})));
|
|
282
292
|
}
|
|
293
|
+
replaceMetadataServiceTotals(sessionId, services = []) {
|
|
294
|
+
this.replaceServiceTotals(sessionId, services.map((service) => ({
|
|
295
|
+
serviceId: service.serviceId,
|
|
296
|
+
cumulativeAmount: service.cumulativeAmount.toString(),
|
|
297
|
+
cumulativeInputTokens: service.cumulativeInputTokens.toString(),
|
|
298
|
+
cumulativeCachedInputTokens: service.cumulativeCachedInputTokens.toString(),
|
|
299
|
+
cumulativeOutputTokens: service.cumulativeOutputTokens.toString(),
|
|
300
|
+
cumulativeRequestCount: service.cumulativeRequestCount.toString(),
|
|
301
|
+
})));
|
|
302
|
+
}
|
|
283
303
|
getServiceTotals(sessionId) {
|
|
284
304
|
const rows = this._stmts.getServiceTotals.all(sessionId);
|
|
285
305
|
return rows.map(rowToServiceTotal);
|
|
286
306
|
}
|
|
307
|
+
getMetadataServiceTotals(sessionId) {
|
|
308
|
+
return this.getServiceTotals(sessionId).map((total) => ({
|
|
309
|
+
serviceId: total.serviceId,
|
|
310
|
+
cumulativeAmount: BigInt(total.cumulativeAmount),
|
|
311
|
+
cumulativeInputTokens: BigInt(total.cumulativeInputTokens),
|
|
312
|
+
cumulativeCachedInputTokens: BigInt(total.cumulativeCachedInputTokens),
|
|
313
|
+
cumulativeOutputTokens: BigInt(total.cumulativeOutputTokens),
|
|
314
|
+
cumulativeRequestCount: BigInt(total.cumulativeRequestCount),
|
|
315
|
+
}));
|
|
316
|
+
}
|
|
317
|
+
getChannelMetadata(channel) {
|
|
318
|
+
return {
|
|
319
|
+
cumulativeInputTokens: BigInt(channel.tokensDelivered),
|
|
320
|
+
cumulativeOutputTokens: BigInt(channel.previousConsumption),
|
|
321
|
+
cumulativeRequestCount: BigInt(channel.requestCount),
|
|
322
|
+
services: this.getMetadataServiceTotals(channel.sessionId),
|
|
323
|
+
};
|
|
324
|
+
}
|
|
287
325
|
// ── Lifecycle ─────────────────────────────────────────────────
|
|
288
326
|
close() {
|
|
289
327
|
this._db.close();
|
|
@@ -294,6 +332,7 @@ function rowToChannel(row) {
|
|
|
294
332
|
sessionId: row.session_id,
|
|
295
333
|
peerId: row.peer_id,
|
|
296
334
|
role: row.role,
|
|
335
|
+
channelKind: (row.channel_kind ?? CHANNEL_KIND.PAID),
|
|
297
336
|
sellerEvmAddr: row.seller_evm_addr,
|
|
298
337
|
buyerEvmAddr: row.buyer_evm_addr,
|
|
299
338
|
nonce: row.nonce,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ServiceMetadataDelta, type SpendingAuthMetadata } from './evm/signatures.js';
|
|
2
|
+
export declare class RequestServiceTracker {
|
|
3
|
+
private readonly _limit;
|
|
4
|
+
private readonly _services;
|
|
5
|
+
constructor(_limit?: number);
|
|
6
|
+
track(requestId: string, service: string): void;
|
|
7
|
+
get(requestId: string | undefined): string | undefined;
|
|
8
|
+
take(requestId: string | undefined): string | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare class CountedRequestTracker {
|
|
11
|
+
private readonly _limit;
|
|
12
|
+
private readonly _requestIds;
|
|
13
|
+
constructor(_limit?: number);
|
|
14
|
+
has(requestId: string | undefined): boolean;
|
|
15
|
+
mark(requestId: string | undefined): void;
|
|
16
|
+
}
|
|
17
|
+
export declare function advanceUsageMetadata(previous: SpendingAuthMetadata | undefined, service: string | undefined, delta: ServiceMetadataDelta): SpendingAuthMetadata;
|
|
18
|
+
//# sourceMappingURL=channel-usage-accounting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-usage-accounting.d.ts","sourceRoot":"","sources":["../../src/payments/channel-usage-accounting.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAgB7B,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAE1B,MAAM,SAAgC;IAEnE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAKtD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;CAMxD;AAED,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAEpB,MAAM,SAAgC;IAEnE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAI3C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAK1C;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,oBAAoB,GAC1B,oBAAoB,CAStB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { withServiceMetadata, ZERO_METADATA, } from './evm/signatures.js';
|
|
2
|
+
const DEFAULT_REQUEST_TRACKER_LIMIT = 512;
|
|
3
|
+
function trimOldestMapEntry(map, limit) {
|
|
4
|
+
if (map.size < limit)
|
|
5
|
+
return;
|
|
6
|
+
const oldest = map.keys().next().value;
|
|
7
|
+
if (oldest !== undefined)
|
|
8
|
+
map.delete(oldest);
|
|
9
|
+
}
|
|
10
|
+
function trimOldestSetEntry(set, limit) {
|
|
11
|
+
if (set.size < limit)
|
|
12
|
+
return;
|
|
13
|
+
const oldest = set.values().next().value;
|
|
14
|
+
if (oldest !== undefined)
|
|
15
|
+
set.delete(oldest);
|
|
16
|
+
}
|
|
17
|
+
export class RequestServiceTracker {
|
|
18
|
+
_limit;
|
|
19
|
+
_services = new Map();
|
|
20
|
+
constructor(_limit = DEFAULT_REQUEST_TRACKER_LIMIT) {
|
|
21
|
+
this._limit = _limit;
|
|
22
|
+
}
|
|
23
|
+
track(requestId, service) {
|
|
24
|
+
trimOldestMapEntry(this._services, this._limit);
|
|
25
|
+
this._services.set(requestId, service);
|
|
26
|
+
}
|
|
27
|
+
get(requestId) {
|
|
28
|
+
if (!requestId)
|
|
29
|
+
return undefined;
|
|
30
|
+
return this._services.get(requestId);
|
|
31
|
+
}
|
|
32
|
+
take(requestId) {
|
|
33
|
+
if (!requestId)
|
|
34
|
+
return undefined;
|
|
35
|
+
const service = this._services.get(requestId);
|
|
36
|
+
this._services.delete(requestId);
|
|
37
|
+
return service;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class CountedRequestTracker {
|
|
41
|
+
_limit;
|
|
42
|
+
_requestIds = new Set();
|
|
43
|
+
constructor(_limit = DEFAULT_REQUEST_TRACKER_LIMIT) {
|
|
44
|
+
this._limit = _limit;
|
|
45
|
+
}
|
|
46
|
+
has(requestId) {
|
|
47
|
+
return requestId != null && this._requestIds.has(requestId);
|
|
48
|
+
}
|
|
49
|
+
mark(requestId) {
|
|
50
|
+
if (!requestId)
|
|
51
|
+
return;
|
|
52
|
+
trimOldestSetEntry(this._requestIds, this._limit);
|
|
53
|
+
this._requestIds.add(requestId);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export function advanceUsageMetadata(previous, service, delta) {
|
|
57
|
+
const prev = previous ?? ZERO_METADATA;
|
|
58
|
+
const totals = {
|
|
59
|
+
cumulativeInputTokens: prev.cumulativeInputTokens + delta.inputTokens,
|
|
60
|
+
cumulativeOutputTokens: prev.cumulativeOutputTokens + delta.outputTokens,
|
|
61
|
+
cumulativeRequestCount: prev.cumulativeRequestCount + delta.requests,
|
|
62
|
+
services: prev.services ?? [],
|
|
63
|
+
};
|
|
64
|
+
return withServiceMetadata(totals, service, delta);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=channel-usage-accounting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-usage-accounting.js","sourceRoot":"","sources":["../../src/payments/channel-usage-accounting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type AbstractSigner } from 'ethers';
|
|
2
|
+
import { BaseEvmClient } from './base-evm-client.js';
|
|
3
|
+
export interface FreeUsageClientConfig {
|
|
4
|
+
rpcUrl: string;
|
|
5
|
+
fallbackRpcUrls?: string[];
|
|
6
|
+
contractAddress: string;
|
|
7
|
+
evmChainId?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface FreeUsageAgentStats {
|
|
10
|
+
channelCount: number;
|
|
11
|
+
lastSettledAt: number;
|
|
12
|
+
}
|
|
13
|
+
export interface FreeUsageChannelInfo {
|
|
14
|
+
buyer: string;
|
|
15
|
+
seller: string;
|
|
16
|
+
latestSequence: bigint;
|
|
17
|
+
metadataHash: string;
|
|
18
|
+
deadline: bigint;
|
|
19
|
+
updatedAt: bigint;
|
|
20
|
+
closedAt: bigint;
|
|
21
|
+
status: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class FreeUsageClient extends BaseEvmClient {
|
|
24
|
+
constructor(config: FreeUsageClientConfig);
|
|
25
|
+
open(signer: AbstractSigner, buyer: string, salt: string, deadline: bigint, buyerSig: string): Promise<string>;
|
|
26
|
+
record(signer: AbstractSigner, channelId: string, sequence: bigint, metadata: string, deadline: bigint, buyerSig: string): Promise<string>;
|
|
27
|
+
close(signer: AbstractSigner, channelId: string, sequence: bigint, metadata: string, deadline: bigint, buyerSig: string): Promise<string>;
|
|
28
|
+
getSession(channelId: string): Promise<FreeUsageChannelInfo>;
|
|
29
|
+
computeChannelId(buyer: string, seller: string, salt: string): string;
|
|
30
|
+
getAgentStats(agentId: number): Promise<FreeUsageAgentStats>;
|
|
31
|
+
activeChannelCount(seller: string): Promise<bigint>;
|
|
32
|
+
domainSeparator(): Promise<string>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=free-usage-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free-usage-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/free-usage-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,MAAM,EAAE,qBAAqB;IAInC,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,MAAM,CACV,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAelE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/D,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS5D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAIzC"}
|