@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
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { type SpendingAuthPayload, type AuthAckPayload, type PaymentRequiredPayload, type NeedAuthPayload } from '../types/protocol.js';
|
|
1
|
+
import { type SpendingAuthPayload, type AuthAckPayload, type FreeUsageOpenPayload, type FreeUsageAuthPayload, type FreeUsageAckPayload, type NeedFreeUsageAuthPayload, type PaymentRequiredPayload, type NeedAuthPayload } from '../types/protocol.js';
|
|
2
2
|
export declare function encodeSpendingAuth(payload: SpendingAuthPayload): Uint8Array;
|
|
3
3
|
export declare function encodeAuthAck(payload: AuthAckPayload): Uint8Array;
|
|
4
|
+
export declare function encodeFreeUsageOpen(payload: FreeUsageOpenPayload): Uint8Array;
|
|
5
|
+
export declare function encodeFreeUsageAuth(payload: FreeUsageAuthPayload): Uint8Array;
|
|
6
|
+
export declare function encodeFreeUsageAck(payload: FreeUsageAckPayload): Uint8Array;
|
|
7
|
+
export declare function encodeNeedFreeUsageAuth(payload: NeedFreeUsageAuthPayload): Uint8Array;
|
|
4
8
|
export declare function encodePaymentRequired(payload: PaymentRequiredPayload): Uint8Array;
|
|
5
9
|
export declare function encodeNeedAuth(payload: NeedAuthPayload): Uint8Array;
|
|
6
10
|
export declare function decodeSpendingAuth(data: Uint8Array): SpendingAuthPayload;
|
|
7
11
|
export declare function decodeAuthAck(data: Uint8Array): AuthAckPayload;
|
|
12
|
+
export declare function decodeFreeUsageOpen(data: Uint8Array): FreeUsageOpenPayload;
|
|
13
|
+
export declare function decodeFreeUsageAuth(data: Uint8Array): FreeUsageAuthPayload;
|
|
14
|
+
export declare function decodeFreeUsageAck(data: Uint8Array): FreeUsageAckPayload;
|
|
15
|
+
export declare function decodeNeedFreeUsageAuth(data: Uint8Array): NeedFreeUsageAuthPayload;
|
|
8
16
|
export declare function decodePaymentRequired(data: Uint8Array): PaymentRequiredPayload;
|
|
9
17
|
export declare function decodeNeedAuth(data: Uint8Array): NeedAuthPayload;
|
|
10
18
|
//# sourceMappingURL=payment-codec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-codec.d.ts","sourceRoot":"","sources":["../../src/p2p/payment-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-codec.d.ts","sourceRoot":"","sources":["../../src/p2p/payment-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AA0B9B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAE3E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAEjE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAE7E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAE7E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAE3E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAErF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,UAAU,CAEjF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CAEnE;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAcxE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAK9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,CAQ1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,CAY1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAOxE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG,wBAAwB,CAYlF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,sBAAsB,CAiB9E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAgBhE"}
|
|
@@ -9,6 +9,13 @@ function parsePaymentJson(data) {
|
|
|
9
9
|
payloadName: 'Payment payload',
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
|
+
function requireFiniteNumberField(obj, field) {
|
|
13
|
+
const value = typeof obj[field] === 'number' ? obj[field] : Number(requireStringField(obj, field));
|
|
14
|
+
if (!Number.isFinite(value)) {
|
|
15
|
+
throw new Error(`Payment payload field "${field}" must be a finite number`);
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
12
19
|
// --- Encoders ---
|
|
13
20
|
export function encodeSpendingAuth(payload) {
|
|
14
21
|
return encoder.encode(JSON.stringify(payload));
|
|
@@ -16,6 +23,18 @@ export function encodeSpendingAuth(payload) {
|
|
|
16
23
|
export function encodeAuthAck(payload) {
|
|
17
24
|
return encoder.encode(JSON.stringify(payload));
|
|
18
25
|
}
|
|
26
|
+
export function encodeFreeUsageOpen(payload) {
|
|
27
|
+
return encoder.encode(JSON.stringify(payload));
|
|
28
|
+
}
|
|
29
|
+
export function encodeFreeUsageAuth(payload) {
|
|
30
|
+
return encoder.encode(JSON.stringify(payload));
|
|
31
|
+
}
|
|
32
|
+
export function encodeFreeUsageAck(payload) {
|
|
33
|
+
return encoder.encode(JSON.stringify(payload));
|
|
34
|
+
}
|
|
35
|
+
export function encodeNeedFreeUsageAuth(payload) {
|
|
36
|
+
return encoder.encode(JSON.stringify(payload));
|
|
37
|
+
}
|
|
19
38
|
export function encodePaymentRequired(payload) {
|
|
20
39
|
return encoder.encode(JSON.stringify(payload));
|
|
21
40
|
}
|
|
@@ -47,6 +66,54 @@ export function decodeAuthAck(data) {
|
|
|
47
66
|
channelId: requireStringField(obj, 'channelId'),
|
|
48
67
|
};
|
|
49
68
|
}
|
|
69
|
+
export function decodeFreeUsageOpen(data) {
|
|
70
|
+
const obj = parsePaymentJson(data);
|
|
71
|
+
return {
|
|
72
|
+
channelId: requireStringField(obj, 'channelId'),
|
|
73
|
+
salt: requireStringField(obj, 'salt'),
|
|
74
|
+
deadline: requireFiniteNumberField(obj, 'deadline'),
|
|
75
|
+
openSig: requireStringField(obj, 'openSig'),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function decodeFreeUsageAuth(data) {
|
|
79
|
+
const obj = parsePaymentJson(data);
|
|
80
|
+
return {
|
|
81
|
+
channelId: requireStringField(obj, 'channelId'),
|
|
82
|
+
cumulativeInputTokens: requireStringField(obj, 'cumulativeInputTokens'),
|
|
83
|
+
cumulativeOutputTokens: requireStringField(obj, 'cumulativeOutputTokens'),
|
|
84
|
+
sequence: requireStringField(obj, 'sequence'),
|
|
85
|
+
metadataHash: requireStringField(obj, 'metadataHash'),
|
|
86
|
+
metadata: requireStringField(obj, 'metadata'),
|
|
87
|
+
deadline: requireFiniteNumberField(obj, 'deadline'),
|
|
88
|
+
usageSig: requireStringField(obj, 'usageSig'),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export function decodeFreeUsageAck(data) {
|
|
92
|
+
const obj = parsePaymentJson(data);
|
|
93
|
+
const result = {
|
|
94
|
+
channelId: requireStringField(obj, 'channelId'),
|
|
95
|
+
};
|
|
96
|
+
if (typeof obj.acceptedSequence === 'string')
|
|
97
|
+
result.acceptedSequence = obj.acceptedSequence;
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
export function decodeNeedFreeUsageAuth(data) {
|
|
101
|
+
const obj = parsePaymentJson(data);
|
|
102
|
+
const result = {
|
|
103
|
+
channelId: requireStringField(obj, 'channelId'),
|
|
104
|
+
requiredSequence: requireStringField(obj, 'requiredSequence'),
|
|
105
|
+
currentAcceptedSequence: requireStringField(obj, 'currentAcceptedSequence'),
|
|
106
|
+
};
|
|
107
|
+
if (typeof obj.requestId === 'string')
|
|
108
|
+
result.requestId = obj.requestId;
|
|
109
|
+
if (typeof obj.inputTokens === 'string')
|
|
110
|
+
result.inputTokens = obj.inputTokens;
|
|
111
|
+
if (typeof obj.outputTokens === 'string')
|
|
112
|
+
result.outputTokens = obj.outputTokens;
|
|
113
|
+
if (typeof obj.service === 'string')
|
|
114
|
+
result.service = obj.service;
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
50
117
|
export function decodePaymentRequired(data) {
|
|
51
118
|
const obj = parsePaymentJson(data);
|
|
52
119
|
const result = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-codec.js","sourceRoot":"","sources":["../../src/p2p/payment-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,
|
|
1
|
+
{"version":3,"file":"payment-codec.js","sourceRoot":"","sources":["../../src/p2p/payment-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PeerConnection } from './connection-manager.js';
|
|
2
|
-
import type { SpendingAuthPayload, AuthAckPayload, PaymentRequiredPayload, NeedAuthPayload } from '../types/protocol.js';
|
|
2
|
+
import type { SpendingAuthPayload, AuthAckPayload, FreeUsageOpenPayload, FreeUsageAuthPayload, FreeUsageAckPayload, NeedFreeUsageAuthPayload, PaymentRequiredPayload, NeedAuthPayload } from '../types/protocol.js';
|
|
3
3
|
import type { FramedMessage } from '../types/protocol.js';
|
|
4
4
|
export type PaymentMessageHandler<T> = (payload: T) => void | Promise<void>;
|
|
5
5
|
/**
|
|
@@ -12,15 +12,27 @@ export declare class PaymentMux {
|
|
|
12
12
|
private _messageIdCounter;
|
|
13
13
|
private _onSpendingAuth?;
|
|
14
14
|
private _onAuthAck?;
|
|
15
|
+
private _onFreeUsageOpen?;
|
|
16
|
+
private _onFreeUsageAuth?;
|
|
17
|
+
private _onFreeUsageAck?;
|
|
18
|
+
private _onNeedFreeUsageAuth?;
|
|
15
19
|
private _onPaymentRequired?;
|
|
16
20
|
private _onNeedAuth?;
|
|
17
21
|
constructor(connection: PeerConnection);
|
|
18
22
|
onSpendingAuth(handler: PaymentMessageHandler<SpendingAuthPayload>): void;
|
|
19
23
|
onAuthAck(handler: PaymentMessageHandler<AuthAckPayload>): void;
|
|
24
|
+
onFreeUsageOpen(handler: PaymentMessageHandler<FreeUsageOpenPayload>): void;
|
|
25
|
+
onFreeUsageAuth(handler: PaymentMessageHandler<FreeUsageAuthPayload>): void;
|
|
26
|
+
onFreeUsageAck(handler: PaymentMessageHandler<FreeUsageAckPayload>): void;
|
|
27
|
+
onNeedFreeUsageAuth(handler: PaymentMessageHandler<NeedFreeUsageAuthPayload>): void;
|
|
20
28
|
onPaymentRequired(handler: PaymentMessageHandler<PaymentRequiredPayload>): void;
|
|
21
29
|
onNeedAuth(handler: PaymentMessageHandler<NeedAuthPayload>): void;
|
|
22
30
|
sendSpendingAuth(payload: SpendingAuthPayload): void;
|
|
23
31
|
sendAuthAck(payload: AuthAckPayload): void;
|
|
32
|
+
sendFreeUsageOpen(payload: FreeUsageOpenPayload): void;
|
|
33
|
+
sendFreeUsageAuth(payload: FreeUsageAuthPayload): void;
|
|
34
|
+
sendFreeUsageAck(payload: FreeUsageAckPayload): void;
|
|
35
|
+
sendNeedFreeUsageAuth(payload: NeedFreeUsageAuthPayload): void;
|
|
24
36
|
sendPaymentRequired(payload: PaymentRequiredPayload): void;
|
|
25
37
|
sendNeedAuth(payload: NeedAuthPayload): void;
|
|
26
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-mux.d.ts","sourceRoot":"","sources":["../../src/p2p/payment-mux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-mux.d.ts","sourceRoot":"","sources":["../../src/p2p/payment-mux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAe1D,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,iBAAiB,CAAK;IAG9B,OAAO,CAAC,eAAe,CAAC,CAA6C;IACrE,OAAO,CAAC,UAAU,CAAC,CAAwC;IAC3D,OAAO,CAAC,gBAAgB,CAAC,CAA8C;IACvE,OAAO,CAAC,gBAAgB,CAAC,CAA8C;IACvE,OAAO,CAAC,eAAe,CAAC,CAA6C;IACrE,OAAO,CAAC,oBAAoB,CAAC,CAAkD;IAC/E,OAAO,CAAC,kBAAkB,CAAC,CAAgD;IAC3E,OAAO,CAAC,WAAW,CAAC,CAAyC;gBAEjD,UAAU,EAAE,cAAc;IAKtC,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAGzE,SAAS,CAAC,OAAO,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG,IAAI;IAG/D,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAG3E,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAG3E,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAGzE,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,GAAG,IAAI;IAGnF,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAG/E,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAAG,IAAI;IAKjE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAGpD,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAG1C,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAGtD,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAGtD,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAGpD,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAG9D,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAG1D,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAK5C;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCzD,mEAAmE;IACnE,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9C,OAAO,CAAC,KAAK;CASd"}
|
package/dist/p2p/payment-mux.js
CHANGED
|
@@ -5,6 +5,10 @@ import { debugLog } from '../utils/debug.js';
|
|
|
5
5
|
const MESSAGE_TYPE_NAME = {
|
|
6
6
|
[MessageType.SpendingAuth]: 'SpendingAuth',
|
|
7
7
|
[MessageType.AuthAck]: 'AuthAck',
|
|
8
|
+
[MessageType.FreeUsageOpen]: 'FreeUsageOpen',
|
|
9
|
+
[MessageType.FreeUsageAuth]: 'FreeUsageAuth',
|
|
10
|
+
[MessageType.FreeUsageAck]: 'FreeUsageAck',
|
|
11
|
+
[MessageType.NeedFreeUsageAuth]: 'NeedFreeUsageAuth',
|
|
8
12
|
[MessageType.PaymentRequired]: 'PaymentRequired',
|
|
9
13
|
[MessageType.NeedAuth]: 'NeedAuth',
|
|
10
14
|
};
|
|
@@ -19,6 +23,10 @@ export class PaymentMux {
|
|
|
19
23
|
// Handler registrations
|
|
20
24
|
_onSpendingAuth;
|
|
21
25
|
_onAuthAck;
|
|
26
|
+
_onFreeUsageOpen;
|
|
27
|
+
_onFreeUsageAuth;
|
|
28
|
+
_onFreeUsageAck;
|
|
29
|
+
_onNeedFreeUsageAuth;
|
|
22
30
|
_onPaymentRequired;
|
|
23
31
|
_onNeedAuth;
|
|
24
32
|
constructor(connection) {
|
|
@@ -31,6 +39,18 @@ export class PaymentMux {
|
|
|
31
39
|
onAuthAck(handler) {
|
|
32
40
|
this._onAuthAck = handler;
|
|
33
41
|
}
|
|
42
|
+
onFreeUsageOpen(handler) {
|
|
43
|
+
this._onFreeUsageOpen = handler;
|
|
44
|
+
}
|
|
45
|
+
onFreeUsageAuth(handler) {
|
|
46
|
+
this._onFreeUsageAuth = handler;
|
|
47
|
+
}
|
|
48
|
+
onFreeUsageAck(handler) {
|
|
49
|
+
this._onFreeUsageAck = handler;
|
|
50
|
+
}
|
|
51
|
+
onNeedFreeUsageAuth(handler) {
|
|
52
|
+
this._onNeedFreeUsageAuth = handler;
|
|
53
|
+
}
|
|
34
54
|
onPaymentRequired(handler) {
|
|
35
55
|
this._onPaymentRequired = handler;
|
|
36
56
|
}
|
|
@@ -44,6 +64,18 @@ export class PaymentMux {
|
|
|
44
64
|
sendAuthAck(payload) {
|
|
45
65
|
this._send(MessageType.AuthAck, codec.encodeAuthAck(payload));
|
|
46
66
|
}
|
|
67
|
+
sendFreeUsageOpen(payload) {
|
|
68
|
+
this._send(MessageType.FreeUsageOpen, codec.encodeFreeUsageOpen(payload));
|
|
69
|
+
}
|
|
70
|
+
sendFreeUsageAuth(payload) {
|
|
71
|
+
this._send(MessageType.FreeUsageAuth, codec.encodeFreeUsageAuth(payload));
|
|
72
|
+
}
|
|
73
|
+
sendFreeUsageAck(payload) {
|
|
74
|
+
this._send(MessageType.FreeUsageAck, codec.encodeFreeUsageAck(payload));
|
|
75
|
+
}
|
|
76
|
+
sendNeedFreeUsageAuth(payload) {
|
|
77
|
+
this._send(MessageType.NeedFreeUsageAuth, codec.encodeNeedFreeUsageAuth(payload));
|
|
78
|
+
}
|
|
47
79
|
sendPaymentRequired(payload) {
|
|
48
80
|
this._send(MessageType.PaymentRequired, codec.encodePaymentRequired(payload));
|
|
49
81
|
}
|
|
@@ -66,6 +98,18 @@ export class PaymentMux {
|
|
|
66
98
|
case MessageType.AuthAck:
|
|
67
99
|
await this._onAuthAck?.(codec.decodeAuthAck(frame.payload));
|
|
68
100
|
return true;
|
|
101
|
+
case MessageType.FreeUsageOpen:
|
|
102
|
+
await this._onFreeUsageOpen?.(codec.decodeFreeUsageOpen(frame.payload));
|
|
103
|
+
return true;
|
|
104
|
+
case MessageType.FreeUsageAuth:
|
|
105
|
+
await this._onFreeUsageAuth?.(codec.decodeFreeUsageAuth(frame.payload));
|
|
106
|
+
return true;
|
|
107
|
+
case MessageType.FreeUsageAck:
|
|
108
|
+
await this._onFreeUsageAck?.(codec.decodeFreeUsageAck(frame.payload));
|
|
109
|
+
return true;
|
|
110
|
+
case MessageType.NeedFreeUsageAuth:
|
|
111
|
+
await this._onNeedFreeUsageAuth?.(codec.decodeNeedFreeUsageAuth(frame.payload));
|
|
112
|
+
return true;
|
|
69
113
|
case MessageType.PaymentRequired:
|
|
70
114
|
await this._onPaymentRequired?.(codec.decodePaymentRequired(frame.payload));
|
|
71
115
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-mux.js","sourceRoot":"","sources":["../../src/p2p/payment-mux.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-mux.js","sourceRoot":"","sources":["../../src/p2p/payment-mux.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Identity } from '../p2p/identity.js';
|
|
2
|
+
import type { PaymentMux } from '../p2p/payment-mux.js';
|
|
3
|
+
import type { PeerInfo } from '../types/peer.js';
|
|
4
|
+
import type { FreeUsageAckPayload, NeedFreeUsageAuthPayload } from '../types/protocol.js';
|
|
5
|
+
import type { SellerAddressResolver } from '../discovery/seller-address-resolver.js';
|
|
6
|
+
import { type ChannelStore } from './channel-store.js';
|
|
7
|
+
export interface BuyerFreeUsageConfig {
|
|
8
|
+
chainId: number;
|
|
9
|
+
freeUsageContractAddress: string;
|
|
10
|
+
defaultAuthDurationSecs: number;
|
|
11
|
+
openAckTimeoutMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class BuyerFreeUsageManager {
|
|
14
|
+
private readonly _identity;
|
|
15
|
+
private readonly _config;
|
|
16
|
+
private readonly _sellerAddressResolver?;
|
|
17
|
+
private readonly _channelStore?;
|
|
18
|
+
private readonly _domain;
|
|
19
|
+
private readonly _sessions;
|
|
20
|
+
private readonly _sellerLocks;
|
|
21
|
+
private readonly _openAckWaiters;
|
|
22
|
+
private readonly _requestService;
|
|
23
|
+
constructor(identity: Identity, config: BuyerFreeUsageConfig, sellerAddressResolver?: SellerAddressResolver, channelStore?: ChannelStore);
|
|
24
|
+
private _hydrateFromStore;
|
|
25
|
+
trackRequestService(requestId: string, service: string): void;
|
|
26
|
+
prepareOpen(peer: PeerInfo, paymentMux: PaymentMux): Promise<void>;
|
|
27
|
+
waitForOpenAck(sellerPeerId: string, timeoutMs?: number): Promise<void>;
|
|
28
|
+
handleAck(sellerPeerId: string, payload: FreeUsageAckPayload): void;
|
|
29
|
+
onPeerDisconnect(sellerPeerId: string): void;
|
|
30
|
+
handleNeedAuth(sellerPeerId: string, payload: NeedFreeUsageAuthPayload, paymentMux: PaymentMux): Promise<void>;
|
|
31
|
+
private _handleNeedAuthInner;
|
|
32
|
+
private _resolveSellerAddr;
|
|
33
|
+
private _resolveOpenAckWaiters;
|
|
34
|
+
private _rejectOpenAckWaiters;
|
|
35
|
+
private _removeOpenAckWaiter;
|
|
36
|
+
private _retireOtherActiveSessions;
|
|
37
|
+
private _persistSession;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=buyer-free-usage-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buyer-free-usage-manager.d.ts","sourceRoot":"","sources":["../../src/payments/buyer-free-usage-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAYrF,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGnG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0BD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAwB;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;gBAG7D,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,oBAAoB,EAC5B,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,YAAY,CAAC,EAAE,YAAY;IAU7B,OAAO,CAAC,iBAAiB;IAyBzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvD,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDlE,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,SAA+D,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnI,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAanE,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtC,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;YAQF,oBAAoB;YA6DpB,kBAAkB;IAKhC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,eAAe;CAoCxB"}
|