@perkos/agent-sdk 0.1.0 → 0.3.0

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.
@@ -0,0 +1,193 @@
1
+ import type { PaymentPayload, PaymentRequirements, ResourceInfo } from "@x402/core/types";
2
+ import type { AmountLike, PerkOSNetwork } from "./types.js";
3
+ import type { NayoriX402PaymentAsset, NayoriX402ProtectedRequest, NayoriX402Quote, NayoriX402VerifiedDirectPayment } from "./x402-direct.js";
4
+ export declare const NAYORI_X402_PAYMENT_INTENT_VERSION = 1;
5
+ export declare const NAYORI_X402_PAYMENT_INTENT_PREFIX = "nyi_";
6
+ type AssetLimits = Partial<Record<NayoriX402PaymentAsset, AmountLike>>;
7
+ export interface NayoriX402PaymentIntentInput {
8
+ readonly paymentRequirements: PaymentRequirements;
9
+ readonly quote: NayoriX402Quote;
10
+ readonly request: NayoriX402ProtectedRequest;
11
+ readonly payer: string;
12
+ readonly publicKey: string;
13
+ readonly fee: AmountLike;
14
+ readonly nonce: AmountLike;
15
+ readonly nowSeconds?: number;
16
+ readonly clockSkewSeconds?: number;
17
+ }
18
+ export interface NayoriX402PaymentIntent {
19
+ readonly version: typeof NAYORI_X402_PAYMENT_INTENT_VERSION;
20
+ readonly intentId: string;
21
+ readonly quoteId: string;
22
+ readonly merchantId: string;
23
+ readonly network: PerkOSNetwork;
24
+ readonly asset: NayoriX402PaymentAsset;
25
+ readonly amount: string;
26
+ readonly payTo: string;
27
+ readonly payer: string;
28
+ readonly publicKey: string;
29
+ readonly fee: string;
30
+ readonly nonce: string;
31
+ readonly method: string;
32
+ readonly url: string;
33
+ readonly bodySha256: string;
34
+ readonly issuedAt: number;
35
+ readonly expiresAt: number;
36
+ readonly quoteFingerprint: string;
37
+ }
38
+ export interface NayoriX402PaymentPolicyInput {
39
+ readonly allowedNetworks: readonly PerkOSNetwork[];
40
+ readonly allowedAssets: readonly NayoriX402PaymentAsset[];
41
+ readonly allowedRecipients: readonly string[];
42
+ readonly allowedOrigins: readonly string[];
43
+ readonly allowedMerchantIds?: readonly string[];
44
+ readonly maxPerTransaction: AssetLimits;
45
+ readonly maxPerSession: AssetLimits;
46
+ readonly maxFeePerTransaction: AmountLike;
47
+ readonly maxFeePerSession: AmountLike;
48
+ readonly minQuoteValiditySeconds?: number;
49
+ }
50
+ export interface NayoriX402PaymentAuthorization {
51
+ readonly intentId: string;
52
+ readonly asset: NayoriX402PaymentAsset;
53
+ readonly amount: bigint;
54
+ readonly fee: bigint;
55
+ readonly spentThisSession: bigint;
56
+ readonly reservedThisSession: bigint;
57
+ readonly remainingThisSession: bigint;
58
+ commit(): void;
59
+ release(): void;
60
+ }
61
+ export interface NayoriX402PaymentSessionUsage {
62
+ readonly asset: NayoriX402PaymentAsset;
63
+ readonly spent: bigint;
64
+ readonly reserved: bigint;
65
+ readonly remaining: bigint;
66
+ readonly feeSpent: bigint;
67
+ readonly feeReserved: bigint;
68
+ readonly feeRemaining: bigint;
69
+ }
70
+ export interface NayoriX402PaymentSignRequest {
71
+ readonly intent: NayoriX402PaymentIntent;
72
+ readonly transaction: string;
73
+ }
74
+ export interface NayoriX402SignedTransaction {
75
+ readonly transaction: string;
76
+ }
77
+ export interface NayoriX402PaymentSigner {
78
+ getAddress(): string | Promise<string>;
79
+ getPublicKey(): string | Promise<string>;
80
+ signTransaction(request: NayoriX402PaymentSignRequest): Promise<NayoriX402SignedTransaction>;
81
+ }
82
+ export interface LeatherSignTransactionParams {
83
+ readonly transaction: string;
84
+ readonly broadcast: false;
85
+ }
86
+ export type LeatherRequest = (method: "stx_signTransaction", params: LeatherSignTransactionParams) => Promise<unknown>;
87
+ export interface LeatherSignerOptions {
88
+ readonly network: PerkOSNetwork;
89
+ readonly address: string;
90
+ readonly publicKey: string;
91
+ readonly request: LeatherRequest;
92
+ }
93
+ export interface PolicySignerRequest extends NayoriX402PaymentSignRequest {
94
+ }
95
+ export type PolicySignerCallback = (request: PolicySignerRequest) => Promise<NayoriX402SignedTransaction | string>;
96
+ export interface PolicySignerOptions {
97
+ readonly network: PerkOSNetwork;
98
+ readonly address: string;
99
+ readonly publicKey: string;
100
+ readonly sign: PolicySignerCallback;
101
+ }
102
+ export interface NayoriX402SettlementRequest {
103
+ readonly signedQuote: string;
104
+ readonly paymentRequirements: PaymentRequirements;
105
+ readonly paymentPayload: PaymentPayload;
106
+ readonly request: {
107
+ readonly method: string;
108
+ readonly url: string;
109
+ readonly body?: string;
110
+ };
111
+ }
112
+ export interface NayoriX402PreparePaymentInput {
113
+ readonly signedQuote: string;
114
+ readonly paymentRequirements: PaymentRequirements;
115
+ readonly quote: NayoriX402Quote;
116
+ readonly request: {
117
+ readonly method: string;
118
+ readonly url: string;
119
+ readonly body?: string;
120
+ };
121
+ readonly fee: AmountLike;
122
+ readonly nonce: AmountLike;
123
+ readonly resource?: ResourceInfo;
124
+ }
125
+ export interface NayoriX402PreparedPayment {
126
+ readonly intent: NayoriX402PaymentIntent;
127
+ readonly settlementRequest: NayoriX402SettlementRequest;
128
+ readonly verifiedPayment: NayoriX402VerifiedDirectPayment;
129
+ }
130
+ export interface NayoriX402PaymentClientOptions {
131
+ readonly signer: NayoriX402PaymentSigner;
132
+ readonly policy: NayoriX402PaymentPolicy;
133
+ readonly nowSeconds?: () => number;
134
+ readonly clockSkewSeconds?: number;
135
+ }
136
+ export declare function createNayoriX402PaymentIntent(input: NayoriX402PaymentIntentInput): Promise<NayoriX402PaymentIntent>;
137
+ export declare class NayoriX402PaymentPolicy {
138
+ private readonly allowedNetworks;
139
+ private readonly allowedAssets;
140
+ private readonly allowedRecipients;
141
+ private readonly allowedOrigins;
142
+ private readonly allowedMerchantIds;
143
+ private readonly maxPerTransaction;
144
+ private readonly maxPerSession;
145
+ private readonly maxFeePerTransaction;
146
+ private readonly maxFeePerSession;
147
+ private readonly minQuoteValiditySeconds;
148
+ private readonly nowSeconds;
149
+ private readonly spent;
150
+ private readonly reserved;
151
+ private feeSpent;
152
+ private feeReserved;
153
+ private readonly active;
154
+ private readonly committed;
155
+ private readonly activeQuotes;
156
+ private readonly committedQuotes;
157
+ constructor(input: NayoriX402PaymentPolicyInput, nowSeconds?: () => number);
158
+ reserve(intent: NayoriX402PaymentIntent): NayoriX402PaymentAuthorization;
159
+ usage(asset: NayoriX402PaymentAsset): NayoriX402PaymentSessionUsage;
160
+ private finish;
161
+ }
162
+ export declare class LeatherSigner implements NayoriX402PaymentSigner {
163
+ private readonly network;
164
+ private readonly address;
165
+ private readonly publicKey;
166
+ private readonly request;
167
+ constructor(options: LeatherSignerOptions);
168
+ getAddress(): string;
169
+ getPublicKey(): string;
170
+ signTransaction(request: NayoriX402PaymentSignRequest): Promise<NayoriX402SignedTransaction>;
171
+ private assertIntent;
172
+ }
173
+ export declare class PolicySigner implements NayoriX402PaymentSigner {
174
+ private readonly network;
175
+ private readonly address;
176
+ private readonly publicKey;
177
+ private readonly sign;
178
+ constructor(options: PolicySignerOptions);
179
+ getAddress(): string;
180
+ getPublicKey(): string;
181
+ signTransaction(request: NayoriX402PaymentSignRequest): Promise<NayoriX402SignedTransaction>;
182
+ }
183
+ export declare function buildNayoriX402UnsignedPaymentTransaction(intent: NayoriX402PaymentIntent): Promise<string>;
184
+ export declare class NayoriX402PaymentClient {
185
+ private readonly signer;
186
+ private readonly policy;
187
+ private readonly nowSeconds;
188
+ private readonly clockSkewSeconds;
189
+ constructor(options: NayoriX402PaymentClientOptions);
190
+ preparePayment(input: NayoriX402PreparePaymentInput): Promise<NayoriX402PreparedPayment>;
191
+ }
192
+ export {};
193
+ //# sourceMappingURL=x402-paying.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402-paying.d.ts","sourceRoot":"","sources":["../src/x402-paying.ts"],"names":[],"mappings":"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"}