open-agentpay 0.1.0 → 0.2.5
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/LICENSE +201 -0
- package/README.md +125 -4
- package/dist/client/client.d.ts +37 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +90 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/errors.d.ts +23 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +38 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/interfaces.d.ts +34 -0
- package/dist/client/interfaces.d.ts.map +1 -0
- package/dist/client/interfaces.js +5 -0
- package/dist/client/interfaces.js.map +1 -0
- package/dist/client/signer.d.ts +136 -0
- package/dist/client/signer.d.ts.map +1 -0
- package/dist/client/signer.js +300 -0
- package/dist/client/signer.js.map +1 -0
- package/dist/client/transport.d.ts +44 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +389 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/core/codecs.d.ts +35 -0
- package/dist/core/codecs.d.ts.map +1 -0
- package/dist/core/codecs.js +177 -0
- package/dist/core/codecs.js.map +1 -0
- package/dist/core/errors.d.ts +33 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +48 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/interop.d.ts +10 -0
- package/dist/core/interop.d.ts.map +1 -0
- package/dist/core/interop.js +28 -0
- package/dist/core/interop.js.map +1 -0
- package/dist/core/models.d.ts +155 -0
- package/dist/core/models.d.ts.map +1 -0
- package/dist/core/models.js +463 -0
- package/dist/core/models.js.map +1 -0
- package/dist/core/state.d.ts +82 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +87 -0
- package/dist/core/state.js.map +1 -0
- package/dist/evm/constants.d.ts +52 -0
- package/dist/evm/constants.d.ts.map +1 -0
- package/dist/evm/constants.js +72 -0
- package/dist/evm/constants.js.map +1 -0
- package/dist/evm/eip3009.d.ts +43 -0
- package/dist/evm/eip3009.d.ts.map +1 -0
- package/dist/evm/eip3009.js +145 -0
- package/dist/evm/eip3009.js.map +1 -0
- package/dist/evm/index.d.ts +3 -0
- package/dist/evm/index.d.ts.map +1 -0
- package/dist/evm/index.js +3 -0
- package/dist/evm/index.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/index.d.ts +4 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +4 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain.d.ts +40 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +68 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/mcp.d.ts +29 -0
- package/dist/integrations/mcp.d.ts.map +1 -0
- package/dist/integrations/mcp.js +73 -0
- package/dist/integrations/mcp.js.map +1 -0
- package/dist/integrations/vercel-ai.d.ts +31 -0
- package/dist/integrations/vercel-ai.d.ts.map +1 -0
- package/dist/integrations/vercel-ai.js +50 -0
- package/dist/integrations/vercel-ai.js.map +1 -0
- package/dist/policy/db.d.ts +14 -0
- package/dist/policy/db.d.ts.map +1 -0
- package/dist/policy/db.js +86 -0
- package/dist/policy/db.js.map +1 -0
- package/dist/policy/errors.d.ts +31 -0
- package/dist/policy/errors.d.ts.map +1 -0
- package/dist/policy/errors.js +48 -0
- package/dist/policy/errors.js.map +1 -0
- package/dist/policy/evaluator.d.ts +22 -0
- package/dist/policy/evaluator.d.ts.map +1 -0
- package/dist/policy/evaluator.js +152 -0
- package/dist/policy/evaluator.js.map +1 -0
- package/dist/policy/index.d.ts +7 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +7 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/interfaces.d.ts +59 -0
- package/dist/policy/interfaces.d.ts.map +1 -0
- package/dist/policy/interfaces.js +7 -0
- package/dist/policy/interfaces.js.map +1 -0
- package/dist/policy/models.d.ts +161 -0
- package/dist/policy/models.d.ts.map +1 -0
- package/dist/policy/models.js +449 -0
- package/dist/policy/models.js.map +1 -0
- package/dist/policy/sqlite-engine.d.ts +28 -0
- package/dist/policy/sqlite-engine.d.ts.map +1 -0
- package/dist/policy/sqlite-engine.js +501 -0
- package/dist/policy/sqlite-engine.js.map +1 -0
- package/dist/state/buyer-coordinator.d.ts +33 -0
- package/dist/state/buyer-coordinator.d.ts.map +1 -0
- package/dist/state/buyer-coordinator.js +363 -0
- package/dist/state/buyer-coordinator.js.map +1 -0
- package/dist/state/errors.d.ts +45 -0
- package/dist/state/errors.d.ts.map +1 -0
- package/dist/state/errors.js +88 -0
- package/dist/state/errors.js.map +1 -0
- package/dist/state/guards.d.ts +24 -0
- package/dist/state/guards.d.ts.map +1 -0
- package/dist/state/guards.js +211 -0
- package/dist/state/guards.js.map +1 -0
- package/dist/state/index.d.ts +5 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +5 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/reconciliation.d.ts +105 -0
- package/dist/state/reconciliation.d.ts.map +1 -0
- package/dist/state/reconciliation.js +297 -0
- package/dist/state/reconciliation.js.map +1 -0
- package/package.json +98 -12
- package/index.d.ts +0 -2
- package/index.js +0 -8
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 V2 Protocol Errors & Error Codes.
|
|
3
|
+
*
|
|
4
|
+
* Adheres strictly to the x402 V2 specification and conformance test suite.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum X402ErrorCode {
|
|
7
|
+
MISSING_REQUIRED_FIELD = "MISSING_REQUIRED_FIELD",
|
|
8
|
+
NETWORK_NOT_WHITELISTED = "NETWORK_NOT_WHITELISTED",
|
|
9
|
+
INVALID_CAIP2_NETWORK = "INVALID_CAIP2_NETWORK",
|
|
10
|
+
INVALID_ADDRESS = "INVALID_ADDRESS",
|
|
11
|
+
INVALID_AMOUNT_FORMAT = "INVALID_AMOUNT_FORMAT",
|
|
12
|
+
INVALID_TIME_WINDOW = "INVALID_TIME_WINDOW",
|
|
13
|
+
INVALID_SCHEME = "INVALID_SCHEME",
|
|
14
|
+
INVALID_SIGNATURE = "INVALID_SIGNATURE",
|
|
15
|
+
INVALID_NONCE = "INVALID_NONCE",
|
|
16
|
+
MALFORMED_HEADER = "MALFORMED_HEADER",
|
|
17
|
+
UNSUPPORTED_VERSION = "UNSUPPORTED_VERSION",
|
|
18
|
+
CHALLENGE_EXPIRED = "CHALLENGE_EXPIRED"
|
|
19
|
+
}
|
|
20
|
+
export declare class X402Error extends Error {
|
|
21
|
+
readonly code?: X402ErrorCode;
|
|
22
|
+
constructor(message: string, code?: X402ErrorCode);
|
|
23
|
+
}
|
|
24
|
+
export declare class X402ValidationError extends X402Error {
|
|
25
|
+
constructor(message: string, code?: X402ErrorCode);
|
|
26
|
+
}
|
|
27
|
+
export declare class X402DecodeError extends X402Error {
|
|
28
|
+
constructor(message: string, code?: X402ErrorCode);
|
|
29
|
+
}
|
|
30
|
+
export declare class X402EncodeError extends X402Error {
|
|
31
|
+
constructor(message: string, code?: X402ErrorCode);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,aAAa;IACvB,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;CACxC;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;CAMlD;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;CAIlD;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;CAIlD;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;CAIlD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 V2 Protocol Errors & Error Codes.
|
|
3
|
+
*
|
|
4
|
+
* Adheres strictly to the x402 V2 specification and conformance test suite.
|
|
5
|
+
*/
|
|
6
|
+
export var X402ErrorCode;
|
|
7
|
+
(function (X402ErrorCode) {
|
|
8
|
+
X402ErrorCode["MISSING_REQUIRED_FIELD"] = "MISSING_REQUIRED_FIELD";
|
|
9
|
+
X402ErrorCode["NETWORK_NOT_WHITELISTED"] = "NETWORK_NOT_WHITELISTED";
|
|
10
|
+
X402ErrorCode["INVALID_CAIP2_NETWORK"] = "INVALID_CAIP2_NETWORK";
|
|
11
|
+
X402ErrorCode["INVALID_ADDRESS"] = "INVALID_ADDRESS";
|
|
12
|
+
X402ErrorCode["INVALID_AMOUNT_FORMAT"] = "INVALID_AMOUNT_FORMAT";
|
|
13
|
+
X402ErrorCode["INVALID_TIME_WINDOW"] = "INVALID_TIME_WINDOW";
|
|
14
|
+
X402ErrorCode["INVALID_SCHEME"] = "INVALID_SCHEME";
|
|
15
|
+
X402ErrorCode["INVALID_SIGNATURE"] = "INVALID_SIGNATURE";
|
|
16
|
+
X402ErrorCode["INVALID_NONCE"] = "INVALID_NONCE";
|
|
17
|
+
X402ErrorCode["MALFORMED_HEADER"] = "MALFORMED_HEADER";
|
|
18
|
+
X402ErrorCode["UNSUPPORTED_VERSION"] = "UNSUPPORTED_VERSION";
|
|
19
|
+
X402ErrorCode["CHALLENGE_EXPIRED"] = "CHALLENGE_EXPIRED";
|
|
20
|
+
})(X402ErrorCode || (X402ErrorCode = {}));
|
|
21
|
+
export class X402Error extends Error {
|
|
22
|
+
code;
|
|
23
|
+
constructor(message, code) {
|
|
24
|
+
super(message);
|
|
25
|
+
this.name = 'X402Error';
|
|
26
|
+
this.code = code;
|
|
27
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class X402ValidationError extends X402Error {
|
|
31
|
+
constructor(message, code) {
|
|
32
|
+
super(message, code);
|
|
33
|
+
this.name = 'X402ValidationError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class X402DecodeError extends X402Error {
|
|
37
|
+
constructor(message, code) {
|
|
38
|
+
super(message, code);
|
|
39
|
+
this.name = 'X402DecodeError';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export class X402EncodeError extends X402Error {
|
|
43
|
+
constructor(message, code) {
|
|
44
|
+
super(message, code);
|
|
45
|
+
this.name = 'X402EncodeError';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,aAaX;AAbD,WAAY,aAAa;IACvB,kEAAiD,CAAA;IACjD,oEAAmD,CAAA;IACnD,gEAA+C,CAAA;IAC/C,oDAAmC,CAAA;IACnC,gEAA+C,CAAA;IAC/C,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAC/B,sDAAqC,CAAA;IACrC,4DAA2C,CAAA;IAC3C,wDAAuC,CAAA;AACzC,CAAC,EAbW,aAAa,KAAb,aAAa,QAaxB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAiB;IAE9B,YAAY,OAAe,EAAE,IAAoB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe,EAAE,IAAoB;QAC/C,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe,EAAE,IAAoB;QAC/C,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe,EAAE,IAAoB;QAC/C,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { X402DecodeError, X402EncodeError, X402Error, X402ErrorCode, X402ValidationError, } from './errors.js';
|
|
2
|
+
export { type ChallengePaymentRequest, PaymentAuthorization, type PaymentAuthorizationInput, PaymentChallenge, type PaymentChallengeInput, SQLITE_MAX_INT, SignatureData, type SignatureDataInput, WALLET_FIAT_CURRENCIES, WalletAuthorization, type WalletAuthorizationInput, validateCaip2, validateEvmAddress, } from './models.js';
|
|
3
|
+
export { HEADER_PAYMENT_REQUIRED, HEADER_PAYMENT_SIGNATURE, type HeadersLike, base64urlDecode, base64urlEncode, decodeAuthorization, decodeChallenge, encodeAuthorization, encodeChallenge, encodeWalletAuthorization, extractAuthorizationFromHeaders, extractChallengeFromHeaders, injectAuthorizationToHeaders, } from './codecs.js';
|
|
4
|
+
export { BudgetLedgerState, BuyerIntentRecord, type BuyerIntentRecordInput, FulfillmentState, PaymentIntentState, SettlementState, } from './state.js';
|
|
5
|
+
export { fromOfficialAuthorization, fromOfficialChallenge, toOfficialChallenge, } from './interop.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,WAAW,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { X402DecodeError, X402EncodeError, X402Error, X402ErrorCode, X402ValidationError, } from './errors.js';
|
|
2
|
+
export { PaymentAuthorization, PaymentChallenge, SQLITE_MAX_INT, SignatureData, WALLET_FIAT_CURRENCIES, WalletAuthorization, validateCaip2, validateEvmAddress, } from './models.js';
|
|
3
|
+
export { HEADER_PAYMENT_REQUIRED, HEADER_PAYMENT_SIGNATURE, base64urlDecode, base64urlEncode, decodeAuthorization, decodeChallenge, encodeAuthorization, encodeChallenge, encodeWalletAuthorization, extractAuthorizationFromHeaders, extractChallengeFromHeaders, injectAuthorizationToHeaders, } from './codecs.js';
|
|
4
|
+
export { BudgetLedgerState, BuyerIntentRecord, FulfillmentState, PaymentIntentState, SettlementState, } from './state.js';
|
|
5
|
+
export { fromOfficialAuthorization, fromOfficialChallenge, toOfficialChallenge, } from './interop.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,oBAAoB,EAEpB,gBAAgB,EAEhB,cAAc,EACd,aAAa,EAEb,sBAAsB,EACtB,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EAExB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 Upstream Interoperability Module.
|
|
3
|
+
*
|
|
4
|
+
* Provides adapter functions between AgentPay native models and external plain object/x402 representations.
|
|
5
|
+
*/
|
|
6
|
+
import { PaymentAuthorization, PaymentChallenge } from './models.js';
|
|
7
|
+
export declare function toOfficialChallenge(challenge: PaymentChallenge): Record<string, unknown>;
|
|
8
|
+
export declare function fromOfficialChallenge(obj: unknown): PaymentChallenge;
|
|
9
|
+
export declare function fromOfficialAuthorization(obj: unknown): PaymentAuthorization;
|
|
10
|
+
//# sourceMappingURL=interop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interop.d.ts","sourceRoot":"","sources":["../../src/core/interop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAQpE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAQ5E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 Upstream Interoperability Module.
|
|
3
|
+
*
|
|
4
|
+
* Provides adapter functions between AgentPay native models and external plain object/x402 representations.
|
|
5
|
+
*/
|
|
6
|
+
import { PaymentAuthorization, PaymentChallenge } from './models.js';
|
|
7
|
+
export function toOfficialChallenge(challenge) {
|
|
8
|
+
return challenge.toJSON();
|
|
9
|
+
}
|
|
10
|
+
export function fromOfficialChallenge(obj) {
|
|
11
|
+
if (obj instanceof PaymentChallenge) {
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
14
|
+
if (obj && typeof obj === 'object') {
|
|
15
|
+
return PaymentChallenge.modelValidate(obj);
|
|
16
|
+
}
|
|
17
|
+
throw new TypeError(`Cannot convert object of type ${typeof obj} to PaymentChallenge`);
|
|
18
|
+
}
|
|
19
|
+
export function fromOfficialAuthorization(obj) {
|
|
20
|
+
if (obj instanceof PaymentAuthorization) {
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
if (obj && typeof obj === 'object') {
|
|
24
|
+
return PaymentAuthorization.modelValidate(obj);
|
|
25
|
+
}
|
|
26
|
+
throw new TypeError(`Cannot convert object of type ${typeof obj} to PaymentAuthorization`);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=interop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../../src/core/interop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,UAAU,mBAAmB,CAAC,SAA2B;IAC7D,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,iCAAiC,OAAO,GAAG,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,iCAAiC,OAAO,GAAG,0BAA0B,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core x402 V2 Protocol Models.
|
|
3
|
+
*
|
|
4
|
+
* Defines frozen, byte-conforming value objects for x402 V2
|
|
5
|
+
* PaymentChallenge, PaymentAuthorization, WalletAuthorization, and SignatureData.
|
|
6
|
+
*/
|
|
7
|
+
/** Maximum signed 64-bit integer for base units */
|
|
8
|
+
export declare const SQLITE_MAX_INT = 9223372036854775807n;
|
|
9
|
+
/** Supported fiat base currencies for AgentPay internal virtual wallet */
|
|
10
|
+
export declare const WALLET_FIAT_CURRENCIES: Set<string>;
|
|
11
|
+
export declare function validateEvmAddress(value: unknown, fieldName: string): `0x${string}`;
|
|
12
|
+
export declare function validateCaip2(value: unknown): string;
|
|
13
|
+
export interface SignatureDataInput {
|
|
14
|
+
v: number;
|
|
15
|
+
r: string;
|
|
16
|
+
s: string;
|
|
17
|
+
serialized?: string | null;
|
|
18
|
+
compact?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare class SignatureData {
|
|
21
|
+
readonly v: number;
|
|
22
|
+
readonly r: `0x${string}`;
|
|
23
|
+
readonly s: `0x${string}`;
|
|
24
|
+
readonly serialized: string;
|
|
25
|
+
readonly compact: `0x${string}`;
|
|
26
|
+
constructor(input: SignatureDataInput);
|
|
27
|
+
static fromRawSignature(r: string | bigint, s: string | bigint, v: number, serialized?: string): SignatureData;
|
|
28
|
+
toJSON(): Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface ChallengePaymentRequest {
|
|
31
|
+
readonly intentId: string;
|
|
32
|
+
readonly amount: bigint;
|
|
33
|
+
readonly payee: string;
|
|
34
|
+
readonly asset: string;
|
|
35
|
+
readonly network: string;
|
|
36
|
+
readonly domain: string | null;
|
|
37
|
+
readonly ttlSeconds: number;
|
|
38
|
+
readonly isAgentpayWallet: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface PaymentChallengeInput {
|
|
41
|
+
version?: string;
|
|
42
|
+
challengeId?: string;
|
|
43
|
+
challenge_id?: string;
|
|
44
|
+
scheme?: string;
|
|
45
|
+
network?: string | null;
|
|
46
|
+
asset?: string | null;
|
|
47
|
+
assetSymbol?: string | null;
|
|
48
|
+
asset_symbol?: string | null;
|
|
49
|
+
decimals?: number;
|
|
50
|
+
amount: string | bigint | number;
|
|
51
|
+
payee?: string | null;
|
|
52
|
+
validAfter?: number | string;
|
|
53
|
+
valid_after?: number | string;
|
|
54
|
+
validBefore?: number | string;
|
|
55
|
+
valid_before?: number | string;
|
|
56
|
+
facilitatorUrl?: string | null;
|
|
57
|
+
facilitator_url?: string | null;
|
|
58
|
+
resourceUri?: string | null;
|
|
59
|
+
resource_uri?: string | null;
|
|
60
|
+
extensions?: Record<string, unknown> | null;
|
|
61
|
+
[key: string]: unknown;
|
|
62
|
+
}
|
|
63
|
+
export declare class PaymentChallenge {
|
|
64
|
+
readonly version: string;
|
|
65
|
+
readonly challengeId: string;
|
|
66
|
+
readonly scheme: string;
|
|
67
|
+
readonly network: string | null;
|
|
68
|
+
readonly asset: string | null;
|
|
69
|
+
readonly assetSymbol: string | null;
|
|
70
|
+
readonly decimals: number;
|
|
71
|
+
readonly amount: string;
|
|
72
|
+
readonly payee: string | null;
|
|
73
|
+
readonly validAfter: number;
|
|
74
|
+
readonly validBefore: number;
|
|
75
|
+
readonly facilitatorUrl: string | null;
|
|
76
|
+
readonly resourceUri: string | null;
|
|
77
|
+
readonly extensions: Record<string, unknown> | null;
|
|
78
|
+
get challenge_id(): string;
|
|
79
|
+
get asset_symbol(): string | null;
|
|
80
|
+
get valid_after(): number;
|
|
81
|
+
get valid_before(): number;
|
|
82
|
+
get facilitator_url(): string | null;
|
|
83
|
+
get resource_uri(): string | null;
|
|
84
|
+
constructor(data: PaymentChallengeInput);
|
|
85
|
+
static modelValidate(obj: unknown): PaymentChallenge;
|
|
86
|
+
get amountBaseUnits(): bigint;
|
|
87
|
+
get amount_base_units(): bigint;
|
|
88
|
+
isExpired(currentTimeSeconds: number): boolean;
|
|
89
|
+
is_expired(currentTimeSeconds: number): boolean;
|
|
90
|
+
toPaymentRequest(options?: {
|
|
91
|
+
intentId?: string;
|
|
92
|
+
domain?: string | null;
|
|
93
|
+
ttlSeconds?: number;
|
|
94
|
+
}): ChallengePaymentRequest;
|
|
95
|
+
toJSON(): Record<string, unknown>;
|
|
96
|
+
}
|
|
97
|
+
export interface PaymentAuthorizationInput {
|
|
98
|
+
version?: string;
|
|
99
|
+
challengeId?: string;
|
|
100
|
+
challenge_id?: string;
|
|
101
|
+
payer: string;
|
|
102
|
+
scheme?: string;
|
|
103
|
+
nonce: string;
|
|
104
|
+
validAfter?: number | string;
|
|
105
|
+
valid_after?: number | string;
|
|
106
|
+
validBefore?: number | string;
|
|
107
|
+
valid_before?: number | string;
|
|
108
|
+
signature: SignatureData | SignatureDataInput | string;
|
|
109
|
+
}
|
|
110
|
+
export declare class PaymentAuthorization {
|
|
111
|
+
readonly version: string;
|
|
112
|
+
readonly challengeId: string;
|
|
113
|
+
readonly payer: `0x${string}`;
|
|
114
|
+
readonly scheme: string;
|
|
115
|
+
readonly nonce: `0x${string}`;
|
|
116
|
+
readonly validAfter: number;
|
|
117
|
+
readonly validBefore: number;
|
|
118
|
+
readonly signature: SignatureData | string;
|
|
119
|
+
get challenge_id(): string;
|
|
120
|
+
get valid_after(): number;
|
|
121
|
+
get valid_before(): number;
|
|
122
|
+
constructor(data: PaymentAuthorizationInput);
|
|
123
|
+
static modelValidate(obj: unknown): PaymentAuthorization;
|
|
124
|
+
toJSON(): Record<string, unknown>;
|
|
125
|
+
}
|
|
126
|
+
export interface WalletAuthorizationInput {
|
|
127
|
+
version?: string;
|
|
128
|
+
challengeId?: string;
|
|
129
|
+
challenge_id?: string;
|
|
130
|
+
scheme?: string;
|
|
131
|
+
nonce: string;
|
|
132
|
+
validAfter?: number;
|
|
133
|
+
valid_after?: number;
|
|
134
|
+
validBefore?: number;
|
|
135
|
+
valid_before?: number;
|
|
136
|
+
amount: string;
|
|
137
|
+
resourceUri?: string;
|
|
138
|
+
resource_uri?: string;
|
|
139
|
+
requestBinding?: string;
|
|
140
|
+
request_binding?: string;
|
|
141
|
+
}
|
|
142
|
+
export declare class WalletAuthorization {
|
|
143
|
+
readonly version: string;
|
|
144
|
+
readonly challengeId: string;
|
|
145
|
+
readonly scheme: string;
|
|
146
|
+
readonly nonce: `0x${string}`;
|
|
147
|
+
readonly validAfter: number;
|
|
148
|
+
readonly validBefore: number;
|
|
149
|
+
readonly amount: string;
|
|
150
|
+
readonly resourceUri: string;
|
|
151
|
+
readonly requestBinding: string;
|
|
152
|
+
constructor(data: WalletAuthorizationInput);
|
|
153
|
+
toJSON(): Record<string, unknown>;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/core/models.ts"],"names":[],"mappings":"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"}
|