@antseed/node 0.2.95 → 0.2.97

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.
Files changed (71) hide show
  1. package/dist/discovery/announcer.d.ts +2 -0
  2. package/dist/discovery/announcer.d.ts.map +1 -1
  3. package/dist/discovery/announcer.js +6 -2
  4. package/dist/discovery/announcer.js.map +1 -1
  5. package/dist/index.d.ts +9 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/node.d.ts +29 -0
  10. package/dist/node.d.ts.map +1 -1
  11. package/dist/node.js +96 -0
  12. package/dist/node.js.map +1 -1
  13. package/dist/p2p/sweep-codec.d.ts +6 -0
  14. package/dist/p2p/sweep-codec.d.ts.map +1 -0
  15. package/dist/p2p/sweep-codec.js +73 -0
  16. package/dist/p2p/sweep-codec.js.map +1 -0
  17. package/dist/p2p/sweep-mux.d.ts +27 -0
  18. package/dist/p2p/sweep-mux.d.ts.map +1 -0
  19. package/dist/p2p/sweep-mux.js +70 -0
  20. package/dist/p2p/sweep-mux.js.map +1 -0
  21. package/dist/payments/buyer-free-usage-manager.d.ts +5 -0
  22. package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -1
  23. package/dist/payments/buyer-free-usage-manager.js +22 -3
  24. package/dist/payments/buyer-free-usage-manager.js.map +1 -1
  25. package/dist/payments/buyer-payment-manager.d.ts +7 -0
  26. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  27. package/dist/payments/buyer-payment-manager.js +45 -14
  28. package/dist/payments/buyer-payment-manager.js.map +1 -1
  29. package/dist/payments/chain-config.d.ts +3 -0
  30. package/dist/payments/chain-config.d.ts.map +1 -1
  31. package/dist/payments/chain-config.js +5 -1
  32. package/dist/payments/chain-config.js.map +1 -1
  33. package/dist/payments/deposit-relayer.d.ts +49 -0
  34. package/dist/payments/deposit-relayer.d.ts.map +1 -0
  35. package/dist/payments/deposit-relayer.js +184 -0
  36. package/dist/payments/deposit-relayer.js.map +1 -0
  37. package/dist/payments/evm/deposit-relay-client.d.ts +74 -0
  38. package/dist/payments/evm/deposit-relay-client.d.ts.map +1 -0
  39. package/dist/payments/evm/deposit-relay-client.js +114 -0
  40. package/dist/payments/evm/deposit-relay-client.js.map +1 -0
  41. package/dist/payments/evm/signatures.d.ts +48 -0
  42. package/dist/payments/evm/signatures.d.ts.map +1 -1
  43. package/dist/payments/evm/signatures.js +56 -1
  44. package/dist/payments/evm/signatures.js.map +1 -1
  45. package/dist/payments/seller-free-usage-manager.js +1 -1
  46. package/dist/payments/seller-free-usage-manager.js.map +1 -1
  47. package/dist/payments/seller-payment-manager.d.ts +2 -5
  48. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  49. package/dist/payments/seller-payment-manager.js +54 -88
  50. package/dist/payments/seller-payment-manager.js.map +1 -1
  51. package/dist/proxy/index.d.ts +1 -1
  52. package/dist/proxy/index.d.ts.map +1 -1
  53. package/dist/proxy/index.js +1 -1
  54. package/dist/proxy/index.js.map +1 -1
  55. package/dist/proxy/service-api-adapter.d.ts +1 -1
  56. package/dist/proxy/service-api-adapter.d.ts.map +1 -1
  57. package/dist/proxy/service-api-adapter.js +1 -1
  58. package/dist/proxy/service-api-adapter.js.map +1 -1
  59. package/dist/types/protocol.d.ts +46 -0
  60. package/dist/types/protocol.d.ts.map +1 -1
  61. package/dist/types/protocol.js +9 -0
  62. package/dist/types/protocol.js.map +1 -1
  63. package/dist/utils/debug.d.ts +2 -0
  64. package/dist/utils/debug.d.ts.map +1 -1
  65. package/dist/utils/debug.js +30 -2
  66. package/dist/utils/debug.js.map +1 -1
  67. package/package.json +1 -1
  68. package/dist/payments/evm/subpool-client.d.ts +0 -32
  69. package/dist/payments/evm/subpool-client.d.ts.map +0 -1
  70. package/dist/payments/evm/subpool-client.js +0 -158
  71. package/dist/payments/evm/subpool-client.js.map +0 -1
@@ -24,10 +24,19 @@ export declare enum MessageType {
24
24
  RatingQuery = 113,
25
25
  RatingResponse = 114,
26
26
  VerificationResponseAuth = 128,
27
+ SweepRequest = 160,
28
+ SweepReceipt = 161,
27
29
  Disconnect = 240,
28
30
  Error = 255
29
31
  }
30
32
  export declare const CONNECTION_CAPABILITY_RESPONSE_AUTH_V1: "verification.response-auth.v1";
33
+ export declare const CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1: "payments.relays-sweeps.v1";
34
+ export declare function peerRelaysSweeps(peer: {
35
+ capabilities?: string[];
36
+ metadata?: {
37
+ capabilities?: string[];
38
+ };
39
+ }): boolean;
31
40
  export interface FramedMessage {
32
41
  type: MessageType;
33
42
  messageId: number;
@@ -168,6 +177,43 @@ export interface NeedAuthPayload {
168
177
  /** Service/model name for service-specific pricing validation. */
169
178
  service?: string;
170
179
  }
180
+ /**
181
+ * Buyer broadcasts a signed gasless deposit sweep for permissionless relayers
182
+ * (sellers by default) to submit on-chain. Carries everything
183
+ * AntseedDepositRelay.sweepDeposit needs; the relayer earns the contract's
184
+ * fixed, immutable FEE in USDC. The single EIP-3009 signature — addressed to
185
+ * the relay contract — is the buyer's consent to those terms. Replay-safe via
186
+ * the EIP-3009 nonce; losing a submission race is harmless.
187
+ */
188
+ export interface SweepRequestPayload {
189
+ version: 1;
190
+ evmChainId: number;
191
+ /** AntseedDepositRelay address the buyer signed against. Relayers must only
192
+ * submit when this matches their own configured relay address. */
193
+ relayAddress: string;
194
+ from: string;
195
+ /** Total USDC pulled via EIP-3009, base units (uint256 decimal string). */
196
+ amount: string;
197
+ validAfter: number;
198
+ validBefore: number;
199
+ /** EIP-3009 authorization nonce (bytes32 hex). Also the correlation key. */
200
+ nonce: string;
201
+ /** Buyer signature over the USDC ReceiveWithAuthorization typed data. */
202
+ sig3009: string;
203
+ }
204
+ export type SweepReceiptStatus = 'submitted' | 'confirmed' | 'rejected';
205
+ /**
206
+ * Optional relayer progress report for a SweepRequest, correlated by the
207
+ * EIP-3009 nonce. Purely informational — the buyer's source of truth is its
208
+ * Deposits balance on-chain.
209
+ */
210
+ export interface SweepReceiptPayload {
211
+ version: 1;
212
+ authNonce: string;
213
+ status: SweepReceiptStatus;
214
+ txHash?: string;
215
+ reason?: string;
216
+ }
171
217
  /**
172
218
  * Seller-signed commitment for one completed inference response.
173
219
  * Carries hashes and context only; plaintext request/response bytes stay local.
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"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"}
@@ -30,10 +30,19 @@ export var MessageType;
30
30
  MessageType[MessageType["RatingResponse"] = 114] = "RatingResponse";
31
31
  // Verification / attestation protocol (0x80-0x8F)
32
32
  MessageType[MessageType["VerificationResponseAuth"] = 128] = "VerificationResponseAuth";
33
+ // 0x90-0x9F reserved: delegated-verification protocol (feat/verifier-network)
34
+ // Deposit sweep protocol (0xA0-0xAF)
35
+ MessageType[MessageType["SweepRequest"] = 160] = "SweepRequest";
36
+ MessageType[MessageType["SweepReceipt"] = 161] = "SweepReceipt";
33
37
  MessageType[MessageType["Disconnect"] = 240] = "Disconnect";
34
38
  MessageType[MessageType["Error"] = 255] = "Error";
35
39
  })(MessageType || (MessageType = {}));
36
40
  export const CONNECTION_CAPABILITY_RESPONSE_AUTH_V1 = 'verification.response-auth.v1';
41
+ export const CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1 = 'payments.relays-sweeps.v1';
42
+ export function peerRelaysSweeps(peer) {
43
+ return peer.capabilities?.includes(CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1) === true
44
+ || peer.metadata?.capabilities?.includes(CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1) === true;
45
+ }
37
46
  export const FRAME_HEADER_SIZE = 9;
38
47
  export const MAX_PAYLOAD_SIZE = 64 * 1024 * 1024;
39
48
  export const PAYMENT_CODE_CHANNEL_EXHAUSTED = 'channel_exhausted';
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAsCX;AAtCD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,sDAAe,CAAA;IAEf,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,kDAAkD;IAClD,uFAA+B,CAAA;IAE/B,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EAtCW,WAAW,KAAX,WAAW,QAsCtB;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,+BAAwC,CAAC;AAQ/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA+GjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAA4B,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA4CX;AA5CD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,sDAAe,CAAA;IAEf,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,kDAAkD;IAClD,uFAA+B,CAAA;IAE/B,8EAA8E;IAE9E,qCAAqC;IACrC,+DAAmB,CAAA;IACnB,+DAAmB,CAAA;IAEnB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EA5CW,WAAW,KAAX,WAAW,QA4CtB;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,+BAAwC,CAAC;AAC/F,MAAM,CAAC,MAAM,sCAAsC,GAAG,2BAAoC,CAAC;AAE3F,MAAM,UAAU,gBAAgB,CAAC,IAAyE;IACxG,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI;WAC9E,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA+GjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAA4B,CAAC"}
@@ -1,3 +1,5 @@
1
+ export declare function getDebugFilters(): readonly string[];
2
+ export declare function shouldEmitDebugLine(line: string): boolean;
1
3
  export declare function isDebugEnabled(): boolean;
2
4
  export declare function debugLog(...args: unknown[]): void;
3
5
  export declare function debugWarn(...args: unknown[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,IAAI,OAAO,CAaxC;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIjD;AAED,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIlD"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAWnD;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASzD;AAMD,wBAAgB,cAAc,IAAI,OAAO,CAaxC;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIjD;AAED,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIlD"}
@@ -1,6 +1,34 @@
1
1
  function normalizeDebugValue(value) {
2
2
  return (value ?? '').trim().toLowerCase();
3
3
  }
4
+ let cachedDebugFilters = null;
5
+ export function getDebugFilters() {
6
+ if (cachedDebugFilters) {
7
+ return cachedDebugFilters;
8
+ }
9
+ const raw = process.env['ANTSEED_LOG_FILTER'] ?? process.env['ANTSEED_DEBUG_FILTER'] ?? '';
10
+ cachedDebugFilters = raw
11
+ .split(',')
12
+ .map((part) => part.trim().toLowerCase())
13
+ .filter((part) => part.length > 0);
14
+ return cachedDebugFilters;
15
+ }
16
+ function getDebugSource(line) {
17
+ const match = /^\s*\[([^\]]{1,48})\]/.exec(line);
18
+ return match?.[1]?.trim().toLowerCase() ?? null;
19
+ }
20
+ export function shouldEmitDebugLine(line) {
21
+ const filters = getDebugFilters();
22
+ if (filters.length === 0) {
23
+ return true;
24
+ }
25
+ const normalizedLine = line.toLowerCase();
26
+ const source = getDebugSource(line);
27
+ return filters.some((filter) => source === filter || normalizedLine.includes(filter));
28
+ }
29
+ function shouldEmitDebug(args) {
30
+ return shouldEmitDebugLine(args.map((arg) => typeof arg === 'string' ? arg : String(arg)).join(' '));
31
+ }
4
32
  export function isDebugEnabled() {
5
33
  const fromAntseed = normalizeDebugValue(process.env['ANTSEED_DEBUG']);
6
34
  if (fromAntseed === '1' ||
@@ -13,12 +41,12 @@ export function isDebugEnabled() {
13
41
  return fromDebug === '*' || fromDebug.includes('antseed');
14
42
  }
15
43
  export function debugLog(...args) {
16
- if (isDebugEnabled()) {
44
+ if (isDebugEnabled() && shouldEmitDebug(args)) {
17
45
  console.log(...args);
18
46
  }
19
47
  }
20
48
  export function debugWarn(...args) {
21
- if (isDebugEnabled()) {
49
+ if (isDebugEnabled() && shouldEmitDebug(args)) {
22
50
  console.warn(...args);
23
51
  }
24
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,SAAS,mBAAmB,CAAC,KAAyB;IACpD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACtE,IACE,WAAW,KAAK,GAAG;QACnB,WAAW,KAAK,MAAM;QACtB,WAAW,KAAK,KAAK;QACrB,WAAW,KAAK,IAAI,EACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,OAAO,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAe;IACzC,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,IAAe;IAC1C,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/node",
3
- "version": "0.2.95",
3
+ "version": "0.2.97",
4
4
  "description": "Antseed Network protocol SDK — P2P inference marketplace",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,32 +0,0 @@
1
- import { type AbstractSigner } from 'ethers';
2
- import { BaseEvmClient } from './base-evm-client.js';
3
- export interface SubPoolClientConfig {
4
- rpcUrl: string;
5
- fallbackRpcUrls?: string[];
6
- contractAddress: string;
7
- usdcAddress: string;
8
- evmChainId?: number;
9
- }
10
- export declare class SubPoolClient extends BaseEvmClient {
11
- private readonly _usdcAddress;
12
- constructor(config: SubPoolClientConfig);
13
- subscribe(signer: AbstractSigner, tierId: number): Promise<string>;
14
- renewSubscription(signer: AbstractSigner, monthlyFee: bigint): Promise<string>;
15
- cancelSubscription(signer: AbstractSigner): Promise<string>;
16
- isSubscriptionActive(buyer: string): Promise<boolean>;
17
- getRemainingDailyBudget(buyer: string): Promise<bigint>;
18
- recordTokenUsage(signer: AbstractSigner, buyer: string, tokens: bigint): Promise<string>;
19
- optIn(signer: AbstractSigner, tokenId: number): Promise<string>;
20
- optOut(signer: AbstractSigner, tokenId: number): Promise<string>;
21
- claimRevenue(signer: AbstractSigner): Promise<string>;
22
- getProjectedRevenue(seller: string): Promise<bigint>;
23
- getTier(tierId: number): Promise<{
24
- monthlyFee: bigint;
25
- dailyTokenBudget: bigint;
26
- active: boolean;
27
- }>;
28
- getOptedInPeerCount(): Promise<bigint>;
29
- currentEpoch(): Promise<bigint>;
30
- currentEpochRevenue(): Promise<bigint>;
31
- }
32
- //# sourceMappingURL=subpool-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subpool-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/subpool-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2BD,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,mBAAmB;IAOjC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBlE,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB9E,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAW3D,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAaxF,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW/D,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAahE,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAWrD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAMnG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI7C"}
@@ -1,158 +0,0 @@
1
- import { Contract } from 'ethers';
2
- import { BaseEvmClient } from './base-evm-client.js';
3
- const ERC20_ABI = [
4
- 'function approve(address spender, uint256 amount) external returns (bool)',
5
- ];
6
- const SUBPOOL_ABI = [
7
- 'function subscribe(uint256 tierId) external',
8
- 'function renewSubscription() external',
9
- 'function cancelSubscription() external',
10
- 'function isSubscriptionActive(address buyer) external view returns (bool)',
11
- 'function getRemainingDailyBudget(address buyer) external view returns (uint256)',
12
- 'function recordTokenUsage(address buyer, uint256 tokens) external',
13
- 'function optIn(uint256 tokenId) external',
14
- 'function optOut(uint256 tokenId) external',
15
- 'function claimRevenue() external',
16
- 'function distributeRevenue() external',
17
- 'function getProjectedRevenue(address seller) external view returns (uint256)',
18
- 'function getTier(uint256 tierId) external view returns (uint256 monthlyFee, uint256 dailyTokenBudget, bool active)',
19
- 'function getOptedInPeerCount() external view returns (uint256)',
20
- 'function currentEpoch() external view returns (uint256)',
21
- 'function currentEpochRevenue() external view returns (uint256)',
22
- 'function epochDuration() external view returns (uint256)',
23
- 'function epochStart() external view returns (uint256)',
24
- 'function tierCount() external view returns (uint256)',
25
- ];
26
- export class SubPoolClient extends BaseEvmClient {
27
- _usdcAddress;
28
- constructor(config) {
29
- super(config.rpcUrl, config.contractAddress, config.fallbackRpcUrls, config.evmChainId);
30
- this._usdcAddress = config.usdcAddress;
31
- }
32
- // ─── Subscription Methods ──────────────────────────────────────────
33
- async subscribe(signer, tierId) {
34
- const connected = this._ensureConnected(signer);
35
- const signerAddress = await connected.getAddress();
36
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
37
- // Fetch tier fee and approve USDC
38
- const [monthlyFee] = await contract.getFunction('getTier')(tierId);
39
- const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
40
- const approveNonce = await this._reserveNonce(signerAddress);
41
- const approveTx = await usdc.getFunction('approve')(this._contractAddress, monthlyFee, { nonce: approveNonce });
42
- const approveReceipt = await approveTx.wait();
43
- if (!approveReceipt)
44
- throw new Error('Transaction was dropped or replaced');
45
- const nonce = await this._reserveNonce(signerAddress);
46
- const tx = await contract.getFunction('subscribe')(tierId, { nonce });
47
- const receipt = await tx.wait();
48
- if (!receipt)
49
- throw new Error('Transaction was dropped or replaced');
50
- return receipt.hash;
51
- }
52
- async renewSubscription(signer, monthlyFee) {
53
- const connected = this._ensureConnected(signer);
54
- const signerAddress = await connected.getAddress();
55
- // Approve USDC for renewal
56
- const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
57
- const approveNonce = await this._reserveNonce(signerAddress);
58
- const approveTx = await usdc.getFunction('approve')(this._contractAddress, monthlyFee, { nonce: approveNonce });
59
- const approveReceipt = await approveTx.wait();
60
- if (!approveReceipt)
61
- throw new Error('Transaction was dropped or replaced');
62
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
63
- const nonce = await this._reserveNonce(signerAddress);
64
- const tx = await contract.getFunction('renewSubscription')({ nonce });
65
- const receipt = await tx.wait();
66
- if (!receipt)
67
- throw new Error('Transaction was dropped or replaced');
68
- return receipt.hash;
69
- }
70
- async cancelSubscription(signer) {
71
- const connected = this._ensureConnected(signer);
72
- const signerAddress = await connected.getAddress();
73
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
74
- const nonce = await this._reserveNonce(signerAddress);
75
- const tx = await contract.getFunction('cancelSubscription')({ nonce });
76
- const receipt = await tx.wait();
77
- if (!receipt)
78
- throw new Error('Transaction was dropped or replaced');
79
- return receipt.hash;
80
- }
81
- async isSubscriptionActive(buyer) {
82
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
83
- return contract.getFunction('isSubscriptionActive')(buyer);
84
- }
85
- async getRemainingDailyBudget(buyer) {
86
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
87
- return contract.getFunction('getRemainingDailyBudget')(buyer);
88
- }
89
- async recordTokenUsage(signer, buyer, tokens) {
90
- const connected = this._ensureConnected(signer);
91
- const signerAddress = await connected.getAddress();
92
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
93
- const nonce = await this._reserveNonce(signerAddress);
94
- const tx = await contract.getFunction('recordTokenUsage')(buyer, tokens, { nonce });
95
- const receipt = await tx.wait();
96
- if (!receipt)
97
- throw new Error('Transaction was dropped or replaced');
98
- return receipt.hash;
99
- }
100
- // ─── Peer Methods ──────────────────────────────────────────────────
101
- async optIn(signer, tokenId) {
102
- const connected = this._ensureConnected(signer);
103
- const signerAddress = await connected.getAddress();
104
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
105
- const nonce = await this._reserveNonce(signerAddress);
106
- const tx = await contract.getFunction('optIn')(tokenId, { nonce });
107
- const receipt = await tx.wait();
108
- if (!receipt)
109
- throw new Error('Transaction was dropped or replaced');
110
- return receipt.hash;
111
- }
112
- async optOut(signer, tokenId) {
113
- const connected = this._ensureConnected(signer);
114
- const signerAddress = await connected.getAddress();
115
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
116
- const nonce = await this._reserveNonce(signerAddress);
117
- const tx = await contract.getFunction('optOut')(tokenId, { nonce });
118
- const receipt = await tx.wait();
119
- if (!receipt)
120
- throw new Error('Transaction was dropped or replaced');
121
- return receipt.hash;
122
- }
123
- // ─── Revenue Methods ───────────────────────────────────────────────
124
- async claimRevenue(signer) {
125
- const connected = this._ensureConnected(signer);
126
- const signerAddress = await connected.getAddress();
127
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, connected);
128
- const nonce = await this._reserveNonce(signerAddress);
129
- const tx = await contract.getFunction('claimRevenue')({ nonce });
130
- const receipt = await tx.wait();
131
- if (!receipt)
132
- throw new Error('Transaction was dropped or replaced');
133
- return receipt.hash;
134
- }
135
- async getProjectedRevenue(seller) {
136
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
137
- return contract.getFunction('getProjectedRevenue')(seller);
138
- }
139
- // ─── View Methods ──────────────────────────────────────────────────
140
- async getTier(tierId) {
141
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
142
- const [monthlyFee, dailyTokenBudget, active] = await contract.getFunction('getTier')(tierId);
143
- return { monthlyFee, dailyTokenBudget, active };
144
- }
145
- async getOptedInPeerCount() {
146
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
147
- return contract.getFunction('getOptedInPeerCount')();
148
- }
149
- async currentEpoch() {
150
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
151
- return contract.getFunction('currentEpoch')();
152
- }
153
- async currentEpochRevenue() {
154
- const contract = new Contract(this._contractAddress, SUBPOOL_ABI, this._provider);
155
- return contract.getFunction('currentEpochRevenue')();
156
- }
157
- }
158
- //# sourceMappingURL=subpool-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subpool-client.js","sourceRoot":"","sources":["../../../src/payments/evm/subpool-client.ts"],"names":[],"mappings":"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"}