@onchaindb/sdk 0.0.6 → 0.0.7-rc-2
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/client.d.ts +11 -40
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +103 -90
- package/dist/client.js.map +1 -1
- package/dist/database.d.ts +25 -3
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +68 -29
- package/dist/database.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/query-sdk/QueryBuilder.d.ts.map +1 -1
- package/dist/query-sdk/QueryBuilder.js +11 -29
- package/dist/query-sdk/QueryBuilder.js.map +1 -1
- package/dist/types.d.ts +41 -83
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -3
- package/dist/types.js.map +1 -1
- package/dist/x402/index.d.ts +3 -0
- package/dist/x402/index.d.ts.map +1 -0
- package/dist/x402/index.js +19 -0
- package/dist/x402/index.js.map +1 -0
- package/dist/x402/types.d.ts +115 -0
- package/dist/x402/types.d.ts.map +1 -0
- package/dist/x402/types.js +7 -0
- package/dist/x402/types.js.map +1 -0
- package/dist/x402/utils.d.ts +28 -0
- package/dist/x402/utils.d.ts.map +1 -0
- package/dist/x402/utils.js +216 -0
- package/dist/x402/utils.js.map +1 -0
- package/package.json +1 -1
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -27,10 +27,9 @@ class ValidationError extends OnChainDBError {
|
|
|
27
27
|
}
|
|
28
28
|
exports.ValidationError = ValidationError;
|
|
29
29
|
class PaymentRequiredError extends OnChainDBError {
|
|
30
|
-
constructor(message,
|
|
30
|
+
constructor(message, quote, details) {
|
|
31
31
|
super(message, 'PAYMENT_REQUIRED', 402, details);
|
|
32
|
-
this.
|
|
33
|
-
this.providedAmount = providedAmount;
|
|
32
|
+
this.quote = quote;
|
|
34
33
|
this.name = 'PaymentRequiredError';
|
|
35
34
|
}
|
|
36
35
|
}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgJA,MAAa,cAAe,SAAQ,KAAK;IACrC,YACI,OAAe,EACR,IAAY,EACZ,UAAmB,EACnB,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAVD,wCAUC;AAED,MAAa,gBAAiB,SAAQ,cAAc;IAChD,YACI,OAAe,EACR,aAAqB,EAC5B,OAAa;QAEb,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAHjD,kBAAa,GAAb,aAAa,CAAQ;QAI5B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AATD,4CASC;AAED,MAAa,eAAgB,SAAQ,cAAc;IAC/C,YAAY,OAAe,EAAE,OAAa;QACtC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AALD,0CAKC;AAED,MAAa,oBAAqB,SAAQ,cAAc;IACpD,YACI,OAAe,EACR,KAAgB,EACvB,OAAa;QAEb,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAH1C,UAAK,GAAL,KAAK,CAAW;QAIvB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ;AATD,oDASC;AAED,MAAa,wBAAyB,SAAQ,cAAc;IACxD,YACI,OAAe,EACR,MAAc,EACrB,OAAa;QAEb,KAAK,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAHrD,WAAM,GAAN,MAAM,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAC3C,CAAC;CACJ;AATD,4DASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/x402/index.ts"],"names":[],"mappings":"AAUA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/x402/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAUA,0CAAwB;AACxB,0CAAwB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export type PaymentScheme = 'exact';
|
|
2
|
+
export type ChainType = 'cosmos' | 'evm' | 'solana';
|
|
3
|
+
export type PaymentMethod = 'native' | 'x402-facilitator';
|
|
4
|
+
export interface X402PaymentRequirement {
|
|
5
|
+
scheme: PaymentScheme;
|
|
6
|
+
network: string;
|
|
7
|
+
maxAmountRequired: string;
|
|
8
|
+
payTo: string;
|
|
9
|
+
asset: string;
|
|
10
|
+
resource: string;
|
|
11
|
+
description: string;
|
|
12
|
+
mimeType: string;
|
|
13
|
+
maxTimeoutSeconds: number;
|
|
14
|
+
extra?: X402Extra;
|
|
15
|
+
}
|
|
16
|
+
export interface X402Extra {
|
|
17
|
+
x402Extension?: string;
|
|
18
|
+
quoteId?: string;
|
|
19
|
+
chainType?: ChainType;
|
|
20
|
+
chainId?: number;
|
|
21
|
+
paymentMethod?: PaymentMethod;
|
|
22
|
+
facilitator?: string;
|
|
23
|
+
tokenSymbol?: string;
|
|
24
|
+
tokenDecimals?: number;
|
|
25
|
+
costBreakdown?: Record<string, number>;
|
|
26
|
+
pricing?: {
|
|
27
|
+
baseAmount: string;
|
|
28
|
+
baseAsset: string;
|
|
29
|
+
premiumPercent?: number;
|
|
30
|
+
expiresAt?: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface X402PaymentRequiredResponse {
|
|
34
|
+
x402Version: 1;
|
|
35
|
+
error: string;
|
|
36
|
+
accepts: X402PaymentRequirement[];
|
|
37
|
+
}
|
|
38
|
+
export interface X402PaymentPayload {
|
|
39
|
+
x402Version: 1;
|
|
40
|
+
scheme: PaymentScheme;
|
|
41
|
+
network: string;
|
|
42
|
+
quoteId: string;
|
|
43
|
+
payload: X402NativePayload | X402EvmPayload | X402SolanaPayload;
|
|
44
|
+
}
|
|
45
|
+
export interface X402NativePayload {
|
|
46
|
+
txHash: string;
|
|
47
|
+
sender: string;
|
|
48
|
+
timestamp: number;
|
|
49
|
+
}
|
|
50
|
+
export interface X402EvmPayload {
|
|
51
|
+
signature: string;
|
|
52
|
+
authorization: {
|
|
53
|
+
from: string;
|
|
54
|
+
to: string;
|
|
55
|
+
value: string;
|
|
56
|
+
validAfter: number;
|
|
57
|
+
validBefore: number;
|
|
58
|
+
nonce: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface X402SolanaPayload {
|
|
62
|
+
transaction: string;
|
|
63
|
+
}
|
|
64
|
+
export interface X402PaymentResponse {
|
|
65
|
+
txHash: string;
|
|
66
|
+
network: string;
|
|
67
|
+
blockHeight: number;
|
|
68
|
+
amount: string;
|
|
69
|
+
confirmedAt: number;
|
|
70
|
+
}
|
|
71
|
+
export interface X402Quote {
|
|
72
|
+
quoteId: string;
|
|
73
|
+
totalCostTia: number;
|
|
74
|
+
amountRaw: string;
|
|
75
|
+
brokerAddress: string;
|
|
76
|
+
description: string;
|
|
77
|
+
expiresAt: number;
|
|
78
|
+
chainType: ChainType;
|
|
79
|
+
network: string;
|
|
80
|
+
asset: string;
|
|
81
|
+
tokenSymbol: string;
|
|
82
|
+
tokenDecimals: number;
|
|
83
|
+
paymentMethod: PaymentMethod;
|
|
84
|
+
facilitator?: string;
|
|
85
|
+
allOptions: X402PaymentRequirement[];
|
|
86
|
+
}
|
|
87
|
+
export interface X402PaymentResult {
|
|
88
|
+
txHash: string;
|
|
89
|
+
network: string;
|
|
90
|
+
sender: string;
|
|
91
|
+
chainType: ChainType;
|
|
92
|
+
paymentMethod: PaymentMethod;
|
|
93
|
+
}
|
|
94
|
+
export interface X402FacilitatorPaymentResult {
|
|
95
|
+
network: string;
|
|
96
|
+
chainType: 'evm' | 'solana';
|
|
97
|
+
paymentMethod: 'x402-facilitator';
|
|
98
|
+
evmAuthorization?: {
|
|
99
|
+
signature: string;
|
|
100
|
+
authorization: {
|
|
101
|
+
from: string;
|
|
102
|
+
to: string;
|
|
103
|
+
value: string;
|
|
104
|
+
validAfter: number;
|
|
105
|
+
validBefore: number;
|
|
106
|
+
nonce: string;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
solanaAuthorization?: {
|
|
110
|
+
transaction: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export type X402PaymentCallbackResult = X402PaymentResult | X402FacilitatorPaymentResult;
|
|
114
|
+
export declare function isFacilitatorPaymentResult(result: X402PaymentCallbackResult): result is X402FacilitatorPaymentResult;
|
|
115
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AAKpC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAKpD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAK1D,MAAM,WAAW,sBAAsB;IAEnC,MAAM,EAAE,aAAa,CAAC;IAEtB,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAKD,MAAM,WAAW,SAAS;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO,CAAC,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAKD,MAAM,WAAW,2BAA2B;IAExC,WAAW,EAAE,CAAC,CAAC;IAEf,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAKD,MAAM,WAAW,kBAAkB;IAE/B,WAAW,EAAE,CAAC,CAAC;IAEf,MAAM,EAAE,aAAa,CAAC;IAEtB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,iBAAiB,GAAG,cAAc,GAAG,iBAAiB,CAAC;CACnE;AAKD,MAAM,WAAW,iBAAiB;IAE9B,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,cAAc;IAE3B,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAKD,MAAM,WAAW,iBAAiB;IAE9B,WAAW,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,mBAAmB;IAEhC,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,SAAS;IAEtB,OAAO,EAAE,MAAM,CAAC;IAEhB,YAAY,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,SAAS,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,aAAa,CAAC;IAE7B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAKD,MAAM,WAAW,iBAAiB;IAE9B,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,SAAS,CAAC;IAErB,aAAa,EAAE,aAAa,CAAC;CAChC;AAMD,MAAM,WAAW,4BAA4B;IAEzC,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE5B,aAAa,EAAE,kBAAkB,CAAC;IAElC,gBAAgB,CAAC,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;KACL,CAAC;IAEF,mBAAmB,CAAC,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAKD,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG,4BAA4B,CAAC;AAKzF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,IAAI,4BAA4B,CAEpH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isFacilitatorPaymentResult = isFacilitatorPaymentResult;
|
|
4
|
+
function isFacilitatorPaymentResult(result) {
|
|
5
|
+
return result.paymentMethod === 'x402-facilitator' && !('txHash' in result && result.txHash);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":";;AAuPA,gEAEC;AAFD,SAAgB,0BAA0B,CAAC,MAAiC;IACxE,OAAO,MAAM,CAAC,aAAa,KAAK,kBAAkB,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { X402PaymentRequiredResponse, X402PaymentRequirement, X402Quote, X402PaymentPayload, X402PaymentResult, ChainType } from './types';
|
|
2
|
+
export declare function parseX402Response(data: any): X402PaymentRequiredResponse;
|
|
3
|
+
export declare function requirementToQuote(requirement: X402PaymentRequirement, allOptions: X402PaymentRequirement[]): X402Quote;
|
|
4
|
+
export declare function buildPaymentPayload(requirement: X402PaymentRequirement, payment: X402PaymentResult): X402PaymentPayload;
|
|
5
|
+
export declare function buildFacilitatorPaymentPayload(requirement: X402PaymentRequirement, authorization: FacilitatorAuthorization): X402PaymentPayload;
|
|
6
|
+
export interface EvmFacilitatorAuthorization {
|
|
7
|
+
type: 'evm';
|
|
8
|
+
signature: string;
|
|
9
|
+
authorization: {
|
|
10
|
+
from: string;
|
|
11
|
+
to: string;
|
|
12
|
+
value: string;
|
|
13
|
+
validAfter: number;
|
|
14
|
+
validBefore: number;
|
|
15
|
+
nonce: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface SolanaFacilitatorAuthorization {
|
|
19
|
+
type: 'solana';
|
|
20
|
+
transaction: string;
|
|
21
|
+
}
|
|
22
|
+
export type FacilitatorAuthorization = EvmFacilitatorAuthorization | SolanaFacilitatorAuthorization;
|
|
23
|
+
export declare function isFacilitatorNetwork(network: string): boolean;
|
|
24
|
+
export declare function encodePaymentHeader(payload: X402PaymentPayload): string;
|
|
25
|
+
export declare function decodePaymentResponse(header: string): any;
|
|
26
|
+
export declare function selectPaymentOption(options: X402PaymentRequirement[], preferredChainType?: ChainType, preferredNetwork?: string): X402PaymentRequirement;
|
|
27
|
+
export declare function groupPaymentOptions(options: X402PaymentRequirement[]): Record<ChainType, X402PaymentRequirement[]>;
|
|
28
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/x402/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,2BAA2B,EAC3B,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EAEZ,MAAM,SAAS,CAAC;AAKjB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,2BAA2B,CAkBxE;AA2BD,wBAAgB,kBAAkB,CAC9B,WAAW,EAAE,sBAAsB,EACnC,UAAU,EAAE,sBAAsB,EAAE,GACrC,SAAS,CAsCX;AAMD,wBAAgB,mBAAmB,CAC/B,WAAW,EAAE,sBAAsB,EACnC,OAAO,EAAE,iBAAiB,GAC3B,kBAAkB,CAcpB;AAMD,wBAAgB,8BAA8B,CAC1C,WAAW,EAAE,sBAAsB,EACnC,aAAa,EAAE,wBAAwB,GACxC,kBAAkB,CA2BpB;AAKD,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,KAAK,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAKD,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,QAAQ,CAAC;IAEf,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,GAAG,8BAA8B,CAAC;AAKpG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAKD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAOvE;AAKD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAWzD;AA6CD,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,sBAAsB,EAAE,EACjC,kBAAkB,CAAC,EAAE,SAAS,EAC9B,gBAAgB,CAAC,EAAE,MAAM,GAC1B,sBAAsB,CAwBxB;AAKD,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,sBAAsB,EAAE,GAClC,MAAM,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAuB7C"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseX402Response = parseX402Response;
|
|
4
|
+
exports.requirementToQuote = requirementToQuote;
|
|
5
|
+
exports.buildPaymentPayload = buildPaymentPayload;
|
|
6
|
+
exports.buildFacilitatorPaymentPayload = buildFacilitatorPaymentPayload;
|
|
7
|
+
exports.isFacilitatorNetwork = isFacilitatorNetwork;
|
|
8
|
+
exports.encodePaymentHeader = encodePaymentHeader;
|
|
9
|
+
exports.decodePaymentResponse = decodePaymentResponse;
|
|
10
|
+
exports.selectPaymentOption = selectPaymentOption;
|
|
11
|
+
exports.groupPaymentOptions = groupPaymentOptions;
|
|
12
|
+
function parseX402Response(data) {
|
|
13
|
+
if (!data || typeof data !== 'object') {
|
|
14
|
+
throw new Error('Invalid x402 response: not an object');
|
|
15
|
+
}
|
|
16
|
+
if (data.x402Version !== 1) {
|
|
17
|
+
throw new Error(`Unsupported x402 version: ${data.x402Version}`);
|
|
18
|
+
}
|
|
19
|
+
if (!Array.isArray(data.accepts) || data.accepts.length === 0) {
|
|
20
|
+
throw new Error('Invalid x402 response: no payment options');
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
x402Version: 1,
|
|
24
|
+
error: data.error || 'Payment required',
|
|
25
|
+
accepts: data.accepts.map(parsePaymentRequirement),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function parsePaymentRequirement(req) {
|
|
29
|
+
if (req.scheme !== 'exact') {
|
|
30
|
+
console.warn(`Non-standard scheme "${req.scheme}", treating as exact`);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
scheme: 'exact',
|
|
34
|
+
network: req.network,
|
|
35
|
+
maxAmountRequired: req.maxAmountRequired,
|
|
36
|
+
payTo: req.payTo,
|
|
37
|
+
asset: req.asset,
|
|
38
|
+
resource: req.resource,
|
|
39
|
+
description: req.description,
|
|
40
|
+
mimeType: req.mimeType || 'application/json',
|
|
41
|
+
maxTimeoutSeconds: req.maxTimeoutSeconds || 300,
|
|
42
|
+
extra: req.extra,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function requirementToQuote(requirement, allOptions) {
|
|
46
|
+
const extra = requirement.extra || {};
|
|
47
|
+
const amountRaw = requirement.maxAmountRequired;
|
|
48
|
+
let chainType = 'cosmos';
|
|
49
|
+
if (extra.chainType) {
|
|
50
|
+
chainType = extra.chainType;
|
|
51
|
+
}
|
|
52
|
+
else if (isEvmNetwork(requirement.network)) {
|
|
53
|
+
chainType = 'evm';
|
|
54
|
+
}
|
|
55
|
+
else if (isSolanaNetwork(requirement.network)) {
|
|
56
|
+
chainType = 'solana';
|
|
57
|
+
}
|
|
58
|
+
const decimals = extra.tokenDecimals || 6;
|
|
59
|
+
const totalCostTia = parseInt(amountRaw) / Math.pow(10, decimals);
|
|
60
|
+
const expiresAt = extra.pricing?.expiresAt ||
|
|
61
|
+
Math.floor(Date.now() / 1000) + requirement.maxTimeoutSeconds;
|
|
62
|
+
return {
|
|
63
|
+
quoteId: extra.quoteId || '',
|
|
64
|
+
totalCostTia,
|
|
65
|
+
amountRaw,
|
|
66
|
+
brokerAddress: requirement.payTo,
|
|
67
|
+
description: requirement.description,
|
|
68
|
+
expiresAt,
|
|
69
|
+
chainType,
|
|
70
|
+
network: requirement.network,
|
|
71
|
+
asset: requirement.asset,
|
|
72
|
+
tokenSymbol: extra.tokenSymbol || getTokenSymbol(requirement.asset),
|
|
73
|
+
tokenDecimals: decimals,
|
|
74
|
+
paymentMethod: (extra.paymentMethod || 'native'),
|
|
75
|
+
facilitator: extra.facilitator,
|
|
76
|
+
allOptions,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function buildPaymentPayload(requirement, payment) {
|
|
80
|
+
const extra = requirement.extra || {};
|
|
81
|
+
return {
|
|
82
|
+
x402Version: 1,
|
|
83
|
+
scheme: 'exact',
|
|
84
|
+
network: payment.network,
|
|
85
|
+
quoteId: extra.quoteId || '',
|
|
86
|
+
payload: {
|
|
87
|
+
txHash: payment.txHash.toLowerCase(),
|
|
88
|
+
sender: payment.sender,
|
|
89
|
+
timestamp: Math.floor(Date.now() / 1000),
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function buildFacilitatorPaymentPayload(requirement, authorization) {
|
|
94
|
+
const extra = requirement.extra || {};
|
|
95
|
+
if (authorization.type === 'evm') {
|
|
96
|
+
return {
|
|
97
|
+
x402Version: 1,
|
|
98
|
+
scheme: 'exact',
|
|
99
|
+
network: requirement.network,
|
|
100
|
+
quoteId: extra.quoteId || '',
|
|
101
|
+
payload: {
|
|
102
|
+
signature: authorization.signature,
|
|
103
|
+
authorization: authorization.authorization,
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
else if (authorization.type === 'solana') {
|
|
108
|
+
return {
|
|
109
|
+
x402Version: 1,
|
|
110
|
+
scheme: 'exact',
|
|
111
|
+
network: requirement.network,
|
|
112
|
+
quoteId: extra.quoteId || '',
|
|
113
|
+
payload: {
|
|
114
|
+
transaction: authorization.transaction,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
throw new Error(`Unsupported facilitator authorization type: ${authorization.type}`);
|
|
119
|
+
}
|
|
120
|
+
function isFacilitatorNetwork(network) {
|
|
121
|
+
return isEvmNetwork(network) || isSolanaNetwork(network);
|
|
122
|
+
}
|
|
123
|
+
function encodePaymentHeader(payload) {
|
|
124
|
+
const json = JSON.stringify(payload);
|
|
125
|
+
if (typeof Buffer !== 'undefined') {
|
|
126
|
+
return Buffer.from(json).toString('base64');
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return btoa(json);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function decodePaymentResponse(header) {
|
|
133
|
+
try {
|
|
134
|
+
if (typeof Buffer !== 'undefined') {
|
|
135
|
+
return JSON.parse(Buffer.from(header, 'base64').toString());
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return JSON.parse(atob(header));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return JSON.parse(header);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function isEvmNetwork(network) {
|
|
146
|
+
const evmNetworks = [
|
|
147
|
+
'ethereum', 'ethereum-sepolia',
|
|
148
|
+
'base', 'base-sepolia',
|
|
149
|
+
'polygon', 'polygon-amoy',
|
|
150
|
+
'arbitrum', 'arbitrum-sepolia',
|
|
151
|
+
'avalanche', 'avalanche-fuji',
|
|
152
|
+
];
|
|
153
|
+
return evmNetworks.includes(network.toLowerCase());
|
|
154
|
+
}
|
|
155
|
+
function isSolanaNetwork(network) {
|
|
156
|
+
return network.toLowerCase() === 'solana' || network.toLowerCase() === 'solana-devnet';
|
|
157
|
+
}
|
|
158
|
+
function getTokenSymbol(asset) {
|
|
159
|
+
const assetSymbols = {
|
|
160
|
+
'utia': 'TIA',
|
|
161
|
+
'native': 'ETH',
|
|
162
|
+
'0x833589fcd6edb6e08f4c7c32d4f71b54bda02913': 'USDC',
|
|
163
|
+
'0x036cbd53842c5426634e7929541ec2318f3dcf7e': 'USDC',
|
|
164
|
+
'0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'USDC',
|
|
165
|
+
'epjfwdd5aufqssqem2qn1xzybapC8g4weggkzwyTdt1v': 'USDC',
|
|
166
|
+
};
|
|
167
|
+
const normalized = asset.toLowerCase();
|
|
168
|
+
return assetSymbols[normalized] || 'TOKEN';
|
|
169
|
+
}
|
|
170
|
+
function selectPaymentOption(options, preferredChainType, preferredNetwork) {
|
|
171
|
+
if (preferredNetwork) {
|
|
172
|
+
const match = options.find(o => o.network.toLowerCase() === preferredNetwork.toLowerCase());
|
|
173
|
+
if (match)
|
|
174
|
+
return match;
|
|
175
|
+
}
|
|
176
|
+
if (preferredChainType) {
|
|
177
|
+
const match = options.find(o => {
|
|
178
|
+
const extra = o.extra || {};
|
|
179
|
+
if (extra.chainType === preferredChainType)
|
|
180
|
+
return true;
|
|
181
|
+
if (preferredChainType === 'evm' && isEvmNetwork(o.network))
|
|
182
|
+
return true;
|
|
183
|
+
if (preferredChainType === 'solana' && isSolanaNetwork(o.network))
|
|
184
|
+
return true;
|
|
185
|
+
if (preferredChainType === 'cosmos' && o.asset === 'utia')
|
|
186
|
+
return true;
|
|
187
|
+
return false;
|
|
188
|
+
});
|
|
189
|
+
if (match)
|
|
190
|
+
return match;
|
|
191
|
+
}
|
|
192
|
+
return options[0];
|
|
193
|
+
}
|
|
194
|
+
function groupPaymentOptions(options) {
|
|
195
|
+
const groups = {
|
|
196
|
+
cosmos: [],
|
|
197
|
+
evm: [],
|
|
198
|
+
solana: [],
|
|
199
|
+
};
|
|
200
|
+
for (const option of options) {
|
|
201
|
+
const extra = option.extra || {};
|
|
202
|
+
let chainType = 'cosmos';
|
|
203
|
+
if (extra.chainType) {
|
|
204
|
+
chainType = extra.chainType;
|
|
205
|
+
}
|
|
206
|
+
else if (isEvmNetwork(option.network)) {
|
|
207
|
+
chainType = 'evm';
|
|
208
|
+
}
|
|
209
|
+
else if (isSolanaNetwork(option.network)) {
|
|
210
|
+
chainType = 'solana';
|
|
211
|
+
}
|
|
212
|
+
groups[chainType].push(option);
|
|
213
|
+
}
|
|
214
|
+
return groups;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/x402/utils.ts"],"names":[],"mappings":"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"}
|