@atumlabs/mppx-atum-escrow 0.1.1 → 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.
- package/CHANGELOG.md +50 -0
- package/README.md +212 -47
- package/dist/chunk-4YD6566T.js +371 -0
- package/dist/chunk-Z3AUNEU5.js +2645 -0
- package/dist/{chunk-2MWWLU75.js → chunk-ZFA5SSUP.js} +1691 -1653
- package/dist/client.d.ts +21 -16
- package/dist/client.js +4 -2
- package/dist/index.d.ts +19 -18
- package/dist/index.js +19 -3
- package/dist/internal-9tB7y-A7.d.ts +365 -0
- package/dist/server.d.ts +234 -17
- package/dist/server.js +18 -2
- package/package.json +7 -4
- package/dist/chunk-L62WG2VU.js +0 -131
- package/dist/chunk-W6D2D767.js +0 -1410
- package/dist/internal-CjcEyEsm.d.ts +0 -842
|
@@ -1,842 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
import { Challenge, Credential } from 'mppx';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* A message that has been cryptographically signed to prove authorization.
|
|
6
|
-
* The signature proves you control the wallet that's sending funds.
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
type SignedMessage$1 = {
|
|
10
|
-
/**
|
|
11
|
-
* The data that was signed. Format depends on the blockchain:
|
|
12
|
-
* - EVM: Hex-encoded message hash (with 0x prefix)
|
|
13
|
-
* - Solana: Base64 encoded message
|
|
14
|
-
* - Tron: Hex-encoded message hash (possibly without 0x prefix)
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
message: string;
|
|
18
|
-
/**
|
|
19
|
-
* Optional: If 'message' contains a hash, this field contains the original data
|
|
20
|
-
* before it was hashed. Useful for verification and debugging.
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
message_prehash?: string;
|
|
24
|
-
/**
|
|
25
|
-
* The cryptographic signature proving you authorized this message.
|
|
26
|
-
* Format varies by blockchain (hex for EVM/Tron, base58 for Solana).
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
signature: string;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
interface Logger {
|
|
33
|
-
debug(obj: unknown, msg?: string): void;
|
|
34
|
-
info(obj: unknown, msg?: string): void;
|
|
35
|
-
warn(obj: unknown, msg?: string): void;
|
|
36
|
-
error(obj: unknown, msg?: string): void;
|
|
37
|
-
child(bindings: Record<string, unknown>): Logger;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
interface Counter {
|
|
41
|
-
add(value: number, attributes?: Record<string, unknown>): void;
|
|
42
|
-
}
|
|
43
|
-
interface Histogram {
|
|
44
|
-
record(value: number, attributes?: Record<string, unknown>): void;
|
|
45
|
-
}
|
|
46
|
-
interface InstrumentOptions {
|
|
47
|
-
description?: string;
|
|
48
|
-
unit?: string;
|
|
49
|
-
}
|
|
50
|
-
interface Meter {
|
|
51
|
-
createCounter(name: string, options?: InstrumentOptions): Counter;
|
|
52
|
-
createHistogram(name: string, options?: InstrumentOptions): Histogram;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Resolves the `issued_at` timestamp for a Solana deposit authorization from the
|
|
57
|
-
* cluster's on-chain clock instead of the local wall clock.
|
|
58
|
-
*
|
|
59
|
-
* The escrow validates `now_sec >= issued_at` against Solana's `Clock` sysvar
|
|
60
|
-
* (crates/replay/src/check.rs). That on-chain clock is global consensus and only
|
|
61
|
-
* moves forward, so a value read at build time is a safe lower bound at
|
|
62
|
-
* settlement, which removes the `Escrow_FutureTransaction` failure that a raw
|
|
63
|
-
* `Date.now()` (client wall clock, possibly ahead of the lagging cluster clock)
|
|
64
|
-
* can trigger.
|
|
65
|
-
*
|
|
66
|
-
* The read is best-effort: on any failure, timeout, or unresolved RPC it falls
|
|
67
|
-
* back to `Date.now()` minus a skew buffer, so a flaky public endpoint degrades
|
|
68
|
-
* to the previous behavior rather than blocking the payment.
|
|
69
|
-
*/
|
|
70
|
-
|
|
71
|
-
/** Reads the cluster's on-chain unix timestamp (seconds) from an RPC endpoint. */
|
|
72
|
-
type SolanaClusterUnixTimeReader = (rpcUrl: string, timeoutMs: number) => Promise<bigint>;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Chain defaults returned by the payment gateway /defaults endpoint.
|
|
76
|
-
*/
|
|
77
|
-
interface ChainDefaults {
|
|
78
|
-
escrowContract: string;
|
|
79
|
-
quoteSelector: string;
|
|
80
|
-
fulfillmentVerifierAccount: string;
|
|
81
|
-
fulfillmentVerifierEndpoint: string;
|
|
82
|
-
fulfillmentProxy: string;
|
|
83
|
-
permit2Contract?: string;
|
|
84
|
-
/**
|
|
85
|
-
* V3 Solana escrow domain-separation fields, surfaced by payment-gw
|
|
86
|
-
* `/defaults` for Solana source chains. Used to build the EscrowDomain that the
|
|
87
|
-
* V3 deposit hash binds to. Absent for EVM/Tron.
|
|
88
|
-
*/
|
|
89
|
-
svmSignatureClusterId?: string;
|
|
90
|
-
svmSignatureDomainVersion?: number;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/** Result of signing a sender_auth message. */
|
|
94
|
-
interface SenderSignature {
|
|
95
|
-
/** 0x-prefixed signature hex (65-byte secp256k1 for EVM/Tron, 64-byte ed25519 for Solana). */
|
|
96
|
-
signature: string;
|
|
97
|
-
/**
|
|
98
|
-
* base58 signer public key for non-recoverable schemes (Solana), attached to
|
|
99
|
-
* the signed message's payload.delegate_signer. Absent for EVM/Tron, whose
|
|
100
|
-
* secp256k1 signatures are recoverable.
|
|
101
|
-
*/
|
|
102
|
-
delegateSigner?: string;
|
|
103
|
-
}
|
|
104
|
-
/** Signs a single sender_auth signed message for a payment request. */
|
|
105
|
-
interface SenderSigner {
|
|
106
|
-
sign(signedMessage: SignedMessage$1): Promise<SenderSignature>;
|
|
107
|
-
}
|
|
108
|
-
/** Turnkey provider configuration (shared by the SDK and the CLI env loader). */
|
|
109
|
-
interface TurnkeyConfig {
|
|
110
|
-
organizationId: string;
|
|
111
|
-
walletId: string;
|
|
112
|
-
apiPublicKey: string;
|
|
113
|
-
apiPrivateKey: string;
|
|
114
|
-
/**
|
|
115
|
-
* Chain-native address the signer is expected to resolve to. Verified against
|
|
116
|
-
* the address Turnkey returns at initialize(); a mismatch fails fast rather
|
|
117
|
-
* than signing as the wrong depositor.
|
|
118
|
-
*/
|
|
119
|
-
pinnedAddress?: string;
|
|
120
|
-
/**
|
|
121
|
-
* Optional observability threaded to the Turnkey network path (default noop).
|
|
122
|
-
* SDK consumers can wire their own logger and meter; the CLI leaves them unset.
|
|
123
|
-
*/
|
|
124
|
-
logger?: Logger;
|
|
125
|
-
meter?: Meter;
|
|
126
|
-
}
|
|
127
|
-
/** Options selecting a sender-signing provider. Defaults to the private-key provider. */
|
|
128
|
-
type SenderSignerOptions = {
|
|
129
|
-
provider?: 'raw';
|
|
130
|
-
privateKey: string;
|
|
131
|
-
pinnedAddress?: string;
|
|
132
|
-
} | ({
|
|
133
|
-
provider: 'turnkey';
|
|
134
|
-
} & TurnkeyConfig);
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* This file was automatically generated by json-schema-to-typescript.
|
|
138
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
139
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
140
|
-
*/
|
|
141
|
-
/**
|
|
142
|
-
* The signature method used for authorizing this payment:
|
|
143
|
-
* - `EVM_PERMIT2`: Gasless token approvals for Ethereum/EVM chains
|
|
144
|
-
* - `EVM_PERMIT2_ESCROW`: Gasless approvals with escrow support
|
|
145
|
-
* - `SOLANA`: Standard Solana transaction signatures
|
|
146
|
-
* - `TRON`: Tron transaction signatures
|
|
147
|
-
*
|
|
148
|
-
* This interface was referenced by `PaymentRequest`'s JSON-Schema
|
|
149
|
-
* via the `definition` "SenderAuthMessageScheme".
|
|
150
|
-
*/
|
|
151
|
-
type SenderAuthMessageScheme = "EVM_PERMIT2" | "EVM_PERMIT2_ESCROW" | "SOLANA" | "TRON";
|
|
152
|
-
/**
|
|
153
|
-
* Structured payment request with sender authorization and W3C Verifiable Credentials
|
|
154
|
-
*/
|
|
155
|
-
interface PaymentRequest {
|
|
156
|
-
/**
|
|
157
|
-
* Semver-shaped declaration version (MAJOR.MINOR). The major component is locked to this schema's parent directory (v1 → major must be 1). Producers MUST emit the canonical value exported by the bindings' Version constant; the canonical bumps on each additive minor evolution.
|
|
158
|
-
*/
|
|
159
|
-
version: string;
|
|
160
|
-
/**
|
|
161
|
-
* Unique identifier for this payment request (used for idempotency)
|
|
162
|
-
*/
|
|
163
|
-
request_id: string;
|
|
164
|
-
source: OwnedAsset;
|
|
165
|
-
/**
|
|
166
|
-
* Array of destination assets (at least one required)
|
|
167
|
-
*
|
|
168
|
-
* @minItems 1
|
|
169
|
-
*/
|
|
170
|
-
destination: [OwnedAsset, ...OwnedAsset[]];
|
|
171
|
-
/**
|
|
172
|
-
* The exact amount to be fulfilled (in the smallest unit, e.g., wei for ETH, cents for USD).
|
|
173
|
-
*/
|
|
174
|
-
fulfillment_amount: string;
|
|
175
|
-
/**
|
|
176
|
-
* The maximum amount willing to be spent from the source (in the smallest unit).
|
|
177
|
-
*/
|
|
178
|
-
max_source_amount?: string;
|
|
179
|
-
/**
|
|
180
|
-
* The deadline for receiving price quotes from settlement providers. After this point in time, no new quotes will be accepted.
|
|
181
|
-
*/
|
|
182
|
-
quote_deadline: string;
|
|
183
|
-
/**
|
|
184
|
-
* The final deadline for completing the payment. If not completed by this time, the payment will be cancelled and eligible for a refund.
|
|
185
|
-
*/
|
|
186
|
-
fulfillment_deadline: string;
|
|
187
|
-
/**
|
|
188
|
-
* Policy requirements for settler authentication. Keys are policy names, values indicate if the policy is required.
|
|
189
|
-
*/
|
|
190
|
-
settler_auth_required?: {
|
|
191
|
-
[k: string]: boolean;
|
|
192
|
-
};
|
|
193
|
-
sender_auth?: SenderAuth;
|
|
194
|
-
originator_auth?: VerifiableCredentialAuth1;
|
|
195
|
-
/**
|
|
196
|
-
* Ethereum address or public key of a trusted service that will automatically select the best exchange rate for your payment. Leave empty to use the default selector.
|
|
197
|
-
*/
|
|
198
|
-
quote_selector?: string;
|
|
199
|
-
/**
|
|
200
|
-
* Optional third-party service that will independently verify your payment was delivered. Useful for high-value payments or when extra confirmation is needed.
|
|
201
|
-
*/
|
|
202
|
-
fulfillment_verifier?: {
|
|
203
|
-
/**
|
|
204
|
-
* The wallet address or public key of the verification service
|
|
205
|
-
*/
|
|
206
|
-
account: string;
|
|
207
|
-
/**
|
|
208
|
-
* The API endpoint URL where the verification service can be reached
|
|
209
|
-
*/
|
|
210
|
-
endpoint: string;
|
|
211
|
-
[k: string]: unknown;
|
|
212
|
-
};
|
|
213
|
-
/**
|
|
214
|
-
* Custom escrow contract address if not using the default. Only needed for advanced use cases.
|
|
215
|
-
*/
|
|
216
|
-
escrow_contract_address?: string;
|
|
217
|
-
/**
|
|
218
|
-
* Contract address on the destination blockchain that will handle the payment delivery. Usually provided by the payment gateway.
|
|
219
|
-
*/
|
|
220
|
-
fulfillment_proxy?: string;
|
|
221
|
-
/**
|
|
222
|
-
* Optional settler filtering requirements. If whitelist is present, only whitelisted settlers may win. If blacklist is present, blacklisted settlers are excluded. Both can be specified; blacklist takes precedence (a settler in both lists is rejected).
|
|
223
|
-
*/
|
|
224
|
-
settler_requirements?: {
|
|
225
|
-
/**
|
|
226
|
-
* List of settler DIDs permitted to fulfill this request. If present and non-empty, only these settlers may win. Use W3C DID format (e.g., did:pkh:eip155:1:0xABC...).
|
|
227
|
-
*
|
|
228
|
-
* @minItems 1
|
|
229
|
-
* @maxItems 100
|
|
230
|
-
*/
|
|
231
|
-
whitelist?: [string, ...string[]];
|
|
232
|
-
/**
|
|
233
|
-
* List of settler DIDs excluded from fulfilling this request. If present and non-empty, these settlers are rejected. Use W3C DID format (e.g., did:pkh:eip155:1:0xABC...).
|
|
234
|
-
*
|
|
235
|
-
* @minItems 1
|
|
236
|
-
* @maxItems 100
|
|
237
|
-
*/
|
|
238
|
-
blacklist?: [string, ...string[]];
|
|
239
|
-
[k: string]: unknown;
|
|
240
|
-
};
|
|
241
|
-
/**
|
|
242
|
-
* DEPRECATED: document-level JSON-LD context URLs for the inline VP-style signing envelope (alongside top-level `proof` + `verifiableCredential`). Superseded by the `presentation` field (PaymentRequestEnvelope / PRE), which carries its own self-contained `@context`. Kept for one rollout cycle for back-compat with pre-PRE producers; slated for removal in a future version. Present when the originator wraps the request in a W3C Data Integrity envelope so a downstream verifier can recover the signer identity. Enforcement is operator policy.
|
|
243
|
-
*/
|
|
244
|
-
"@context"?: string[];
|
|
245
|
-
proof?: DataIntegrityProof;
|
|
246
|
-
presentation?: PaymentRequestEnvelope;
|
|
247
|
-
/**
|
|
248
|
-
* DEPRECATED: document-level credentials array for the inline VP-style signing envelope (alongside top-level `@context` + `proof`). Superseded by the `presentation` field (PaymentRequestEnvelope / PRE), which carries its credentials inside `presentation.verifiableCredential` under a holder-signed envelope the requester perimeter re-verifies. Kept for one rollout cycle for back-compat; slated for removal in a future version. Array of W3C Verifiable Credentials for identity attestation (e.g., KnownToAtum). Distinct from the single VC carried inside originator_auth.
|
|
249
|
-
*/
|
|
250
|
-
verifiableCredential?: VerifiableCredential[];
|
|
251
|
-
[k: string]: unknown;
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Represents a cryptocurrency or token in a specific wallet. This tells the system what asset you're sending/receiving and which wallet to use.
|
|
255
|
-
*
|
|
256
|
-
* This interface was referenced by `PaymentRequest`'s JSON-Schema
|
|
257
|
-
* via the `definition` "OwnedAsset".
|
|
258
|
-
*/
|
|
259
|
-
interface OwnedAsset {
|
|
260
|
-
/**
|
|
261
|
-
* A unique identifier for the asset using CAIP-19 format. CAIP-19 is a standard way to identify blockchain assets: {chain_id}/{asset_namespace}:{asset_reference}. Examples: Ethereum USDC: 'eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', Arbitrum USDC: 'eip155:42161/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831', Solana USDC: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', Tron USDT: 'tron:mainnet/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
|
|
262
|
-
*/
|
|
263
|
-
asset_identifier: string;
|
|
264
|
-
/**
|
|
265
|
-
* The wallet address that owns this asset. Format depends on the blockchain: Ethereum/EVM: 0x-prefixed hex address (42 characters), Solana: Base58 encoded address, Tron: T-prefixed Base58 address
|
|
266
|
-
*/
|
|
267
|
-
account: string;
|
|
268
|
-
[k: string]: unknown;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Authorization from the asset owner to execute the payment. The exact format depends on the source blockchain's authorization mechanism.
|
|
272
|
-
*
|
|
273
|
-
* This interface was referenced by `PaymentRequest`'s JSON-Schema
|
|
274
|
-
* via the `definition` "SenderAuth".
|
|
275
|
-
*/
|
|
276
|
-
interface SenderAuth {
|
|
277
|
-
verifiable_credential?: VerifiableCredentialAuth;
|
|
278
|
-
message_scheme: SenderAuthMessageScheme;
|
|
279
|
-
/**
|
|
280
|
-
* Array of signed messages (at least one required)
|
|
281
|
-
*
|
|
282
|
-
* @minItems 1
|
|
283
|
-
*/
|
|
284
|
-
signed_messages: [SignedMessage, ...SignedMessage[]];
|
|
285
|
-
[k: string]: unknown;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* @deprecated
|
|
289
|
-
* DEPRECATED: inner-document credential carrier. Credentials MUST ride ONLY in the holder-signed PaymentRequestEnvelope (PRE); the inner PaymentRequest carries no credential and its Data Integrity signature EXCLUDES this field (stripped before canonicalization on both producer and verifier). Populated only for one back-compat rollout cycle, then removed.
|
|
290
|
-
*/
|
|
291
|
-
interface VerifiableCredentialAuth {
|
|
292
|
-
verifiable_credential: VerifiableCredential;
|
|
293
|
-
/**
|
|
294
|
-
* Reference to verification method from the DID Document
|
|
295
|
-
*/
|
|
296
|
-
verification_method_id: string;
|
|
297
|
-
/**
|
|
298
|
-
* Cryptographic signature matching the verification method type
|
|
299
|
-
*/
|
|
300
|
-
signature: string;
|
|
301
|
-
[k: string]: unknown;
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* W3C Verifiable Credential structure conforming to the W3C Verifiable Credentials Data Model v1.1
|
|
305
|
-
*
|
|
306
|
-
* This interface was referenced by `PaymentRequest`'s JSON-Schema
|
|
307
|
-
* via the `definition` "VerifiableCredential".
|
|
308
|
-
*/
|
|
309
|
-
interface VerifiableCredential {
|
|
310
|
-
/**
|
|
311
|
-
* JSON-LD context array, must include 'https://www.w3.org/2018/credentials/v1'
|
|
312
|
-
*/
|
|
313
|
-
"@context": string[];
|
|
314
|
-
/**
|
|
315
|
-
* Unique identifier for this credential
|
|
316
|
-
*/
|
|
317
|
-
id: string;
|
|
318
|
-
/**
|
|
319
|
-
* Credential types, must include 'VerifiableCredential'
|
|
320
|
-
*/
|
|
321
|
-
type: string[];
|
|
322
|
-
/**
|
|
323
|
-
* DID or issuer object of the credential issuer
|
|
324
|
-
*/
|
|
325
|
-
issuer: string | {
|
|
326
|
-
[k: string]: unknown;
|
|
327
|
-
};
|
|
328
|
-
/**
|
|
329
|
-
* When the credential was issued
|
|
330
|
-
*/
|
|
331
|
-
issuanceDate: string;
|
|
332
|
-
/**
|
|
333
|
-
* When the credential expires
|
|
334
|
-
*/
|
|
335
|
-
expirationDate?: string;
|
|
336
|
-
/**
|
|
337
|
-
* Claims about the credential subject (structure varies by issuer)
|
|
338
|
-
*/
|
|
339
|
-
credentialSubject: {
|
|
340
|
-
[k: string]: unknown;
|
|
341
|
-
};
|
|
342
|
-
/**
|
|
343
|
-
* Information for credential revocation checking
|
|
344
|
-
*/
|
|
345
|
-
credentialStatus?: {
|
|
346
|
-
[k: string]: unknown;
|
|
347
|
-
};
|
|
348
|
-
/**
|
|
349
|
-
* Cryptographic proof of credential integrity
|
|
350
|
-
*/
|
|
351
|
-
proof: {
|
|
352
|
-
[k: string]: unknown;
|
|
353
|
-
};
|
|
354
|
-
[k: string]: unknown;
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* A message that has been cryptographically signed to prove authorization. The signature proves you control the wallet that's sending funds.
|
|
358
|
-
*
|
|
359
|
-
* This interface was referenced by `PaymentRequest`'s JSON-Schema
|
|
360
|
-
* via the `definition` "SignedMessage".
|
|
361
|
-
*/
|
|
362
|
-
interface SignedMessage {
|
|
363
|
-
/**
|
|
364
|
-
* The data that was signed. Format depends on the blockchain:
|
|
365
|
-
* - EVM: Hex-encoded message hash (with 0x prefix)
|
|
366
|
-
* - Solana: Hex-encoded message hash (with 0x prefix)
|
|
367
|
-
* - Tron: Hex-encoded message hash (possibly without 0x prefix)
|
|
368
|
-
*/
|
|
369
|
-
message: string;
|
|
370
|
-
/**
|
|
371
|
-
* Optional: If 'message' contains a hash, this field contains the original data before it was hashed. Useful for verification and debugging.
|
|
372
|
-
*/
|
|
373
|
-
message_prehash?: string;
|
|
374
|
-
/**
|
|
375
|
-
* The cryptographic signature proving you authorized this message. Format varies by blockchain (hex for EVM/Tron, base58 for Solana).
|
|
376
|
-
*/
|
|
377
|
-
signature: string;
|
|
378
|
-
/**
|
|
379
|
-
* Optional chain-specific payload containing additional signing context (e.g., delegate_signer for Solana). Preserved through the pipeline for downstream consumers.
|
|
380
|
-
*/
|
|
381
|
-
payload?: {
|
|
382
|
-
[k: string]: unknown;
|
|
383
|
-
};
|
|
384
|
-
[k: string]: unknown;
|
|
385
|
-
}
|
|
386
|
-
/**
|
|
387
|
-
* DEPRECATED: legacy bare-signature carrier for a single issuer-signed VC about the originator. Superseded by the `presentation` field (PaymentRequestEnvelope / PRE), which carries the originator's credentials inside a holder-signed W3C VerifiablePresentation envelope that the requester perimeter re-verifies. Kept populated alongside `presentation` for one rollout cycle; slated for removal in a future version. New producers SHOULD emit `presentation` and treat this field as read-only fallback.
|
|
388
|
-
*/
|
|
389
|
-
interface VerifiableCredentialAuth1 {
|
|
390
|
-
verifiable_credential: VerifiableCredential;
|
|
391
|
-
/**
|
|
392
|
-
* Reference to verification method from the DID Document
|
|
393
|
-
*/
|
|
394
|
-
verification_method_id: string;
|
|
395
|
-
/**
|
|
396
|
-
* Cryptographic signature matching the verification method type
|
|
397
|
-
*/
|
|
398
|
-
signature: string;
|
|
399
|
-
[k: string]: unknown;
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
* DEPRECATED: document-level W3C Data Integrity proof for the inline VP-style signing envelope (alongside top-level `@context` + `verifiableCredential`). Superseded by the `presentation` field (PaymentRequestEnvelope / PRE), whose holder-signed proof binds challenge=request_hash (content hash of the request) and domain=did:web:<env>.atum.network and is re-verified by the requester perimeter. Kept for one rollout cycle for back-compat; slated for removal in a future version. When present, attests that the document was emitted by the signer identified in proof.verificationMethod. Distinct from sender_auth (which authorizes the on-chain transfer) and originator_auth (the legacy single-VC carrier).
|
|
403
|
-
*/
|
|
404
|
-
interface DataIntegrityProof {
|
|
405
|
-
/**
|
|
406
|
-
* Proof type identifier (e.g., EcdsaSecp256k1RecoverySignature2020)
|
|
407
|
-
*/
|
|
408
|
-
type: string;
|
|
409
|
-
/**
|
|
410
|
-
* ISO 8601 timestamp when the proof was created
|
|
411
|
-
*/
|
|
412
|
-
created: string;
|
|
413
|
-
/**
|
|
414
|
-
* DID URL identifying the verification method (e.g., did:pkh:eip155:1:0x...#blockchainAccountId)
|
|
415
|
-
*/
|
|
416
|
-
verificationMethod: string;
|
|
417
|
-
/**
|
|
418
|
-
* Purpose of the proof (e.g., assertionMethod, authentication)
|
|
419
|
-
*/
|
|
420
|
-
proofPurpose: string;
|
|
421
|
-
/**
|
|
422
|
-
* Detached JWS signature (header..signature format for ES256K-R)
|
|
423
|
-
*/
|
|
424
|
-
jws?: string;
|
|
425
|
-
/**
|
|
426
|
-
* Alternative to jws: base-encoded proof value
|
|
427
|
-
*/
|
|
428
|
-
proofValue?: string;
|
|
429
|
-
[k: string]: unknown;
|
|
430
|
-
}
|
|
431
|
-
/**
|
|
432
|
-
* Optional originator-side W3C VerifiablePresentation envelope (PaymentRequestEnvelope) carrying issuer-signed credentials about the originator, holder-signed under proofPurpose 'authentication' with proof.challenge bound to request_hash (content hash of the request) and proof.domain bound to the network-wide did:web:<env>.atum.network. Additive + back-compat: older requests omit it. The requester perimeter (payment-gw) re-verifies it before persisting; the holder MUST equal the recovered signer of the inner PaymentRequest proof. Mirror of the settler-side FulfillmentQuoteEnvelope. Distinct from originator_auth (legacy bare-signature VC carrier kept populated alongside this for one rollout cycle) and from the document-level verifiableCredential array.
|
|
433
|
-
*/
|
|
434
|
-
interface PaymentRequestEnvelope {
|
|
435
|
-
/**
|
|
436
|
-
* Semver-shaped declaration version (MAJOR.MINOR) of the PaymentRequestEnvelope declaration.
|
|
437
|
-
*/
|
|
438
|
-
version?: string;
|
|
439
|
-
/**
|
|
440
|
-
* JSON-LD context array. MUST include BOTH the W3C VC v1 context and the PaymentRequestEnvelope v1 context, or JSON-LD expansion drops envelope-specific terms (challenge, domain, holder) during URDNA2015 canonicalization.
|
|
441
|
-
*/
|
|
442
|
-
"@context": string[];
|
|
443
|
-
/**
|
|
444
|
-
* MUST contain 'VerifiablePresentation' per W3C VC Data Model v1.1.
|
|
445
|
-
*/
|
|
446
|
-
type: string[];
|
|
447
|
-
/**
|
|
448
|
-
* did:pkh URI of the originator presenting the credentials. The verifier asserts holder equals the recovered signer of the inner PaymentRequest.
|
|
449
|
-
*/
|
|
450
|
-
holder: string;
|
|
451
|
-
/**
|
|
452
|
-
* Array of issuer-signed credentials about the originator. One VC per concern (psp-role / KYC / jurisdiction) per the locked design.
|
|
453
|
-
*
|
|
454
|
-
* @minItems 1
|
|
455
|
-
* @maxItems 16
|
|
456
|
-
*/
|
|
457
|
-
verifiableCredential: [VerifiableCredential] | [VerifiableCredential, VerifiableCredential] | [VerifiableCredential, VerifiableCredential, VerifiableCredential] | [VerifiableCredential, VerifiableCredential, VerifiableCredential, VerifiableCredential] | [VerifiableCredential, VerifiableCredential, VerifiableCredential, VerifiableCredential, VerifiableCredential] | [
|
|
458
|
-
VerifiableCredential,
|
|
459
|
-
VerifiableCredential,
|
|
460
|
-
VerifiableCredential,
|
|
461
|
-
VerifiableCredential,
|
|
462
|
-
VerifiableCredential,
|
|
463
|
-
VerifiableCredential
|
|
464
|
-
] | [
|
|
465
|
-
VerifiableCredential,
|
|
466
|
-
VerifiableCredential,
|
|
467
|
-
VerifiableCredential,
|
|
468
|
-
VerifiableCredential,
|
|
469
|
-
VerifiableCredential,
|
|
470
|
-
VerifiableCredential,
|
|
471
|
-
VerifiableCredential
|
|
472
|
-
] | [
|
|
473
|
-
VerifiableCredential,
|
|
474
|
-
VerifiableCredential,
|
|
475
|
-
VerifiableCredential,
|
|
476
|
-
VerifiableCredential,
|
|
477
|
-
VerifiableCredential,
|
|
478
|
-
VerifiableCredential,
|
|
479
|
-
VerifiableCredential,
|
|
480
|
-
VerifiableCredential
|
|
481
|
-
] | [
|
|
482
|
-
VerifiableCredential,
|
|
483
|
-
VerifiableCredential,
|
|
484
|
-
VerifiableCredential,
|
|
485
|
-
VerifiableCredential,
|
|
486
|
-
VerifiableCredential,
|
|
487
|
-
VerifiableCredential,
|
|
488
|
-
VerifiableCredential,
|
|
489
|
-
VerifiableCredential,
|
|
490
|
-
VerifiableCredential
|
|
491
|
-
] | [
|
|
492
|
-
VerifiableCredential,
|
|
493
|
-
VerifiableCredential,
|
|
494
|
-
VerifiableCredential,
|
|
495
|
-
VerifiableCredential,
|
|
496
|
-
VerifiableCredential,
|
|
497
|
-
VerifiableCredential,
|
|
498
|
-
VerifiableCredential,
|
|
499
|
-
VerifiableCredential,
|
|
500
|
-
VerifiableCredential,
|
|
501
|
-
VerifiableCredential
|
|
502
|
-
] | [
|
|
503
|
-
VerifiableCredential,
|
|
504
|
-
VerifiableCredential,
|
|
505
|
-
VerifiableCredential,
|
|
506
|
-
VerifiableCredential,
|
|
507
|
-
VerifiableCredential,
|
|
508
|
-
VerifiableCredential,
|
|
509
|
-
VerifiableCredential,
|
|
510
|
-
VerifiableCredential,
|
|
511
|
-
VerifiableCredential,
|
|
512
|
-
VerifiableCredential,
|
|
513
|
-
VerifiableCredential
|
|
514
|
-
] | [
|
|
515
|
-
VerifiableCredential,
|
|
516
|
-
VerifiableCredential,
|
|
517
|
-
VerifiableCredential,
|
|
518
|
-
VerifiableCredential,
|
|
519
|
-
VerifiableCredential,
|
|
520
|
-
VerifiableCredential,
|
|
521
|
-
VerifiableCredential,
|
|
522
|
-
VerifiableCredential,
|
|
523
|
-
VerifiableCredential,
|
|
524
|
-
VerifiableCredential,
|
|
525
|
-
VerifiableCredential,
|
|
526
|
-
VerifiableCredential
|
|
527
|
-
] | [
|
|
528
|
-
VerifiableCredential,
|
|
529
|
-
VerifiableCredential,
|
|
530
|
-
VerifiableCredential,
|
|
531
|
-
VerifiableCredential,
|
|
532
|
-
VerifiableCredential,
|
|
533
|
-
VerifiableCredential,
|
|
534
|
-
VerifiableCredential,
|
|
535
|
-
VerifiableCredential,
|
|
536
|
-
VerifiableCredential,
|
|
537
|
-
VerifiableCredential,
|
|
538
|
-
VerifiableCredential,
|
|
539
|
-
VerifiableCredential,
|
|
540
|
-
VerifiableCredential
|
|
541
|
-
] | [
|
|
542
|
-
VerifiableCredential,
|
|
543
|
-
VerifiableCredential,
|
|
544
|
-
VerifiableCredential,
|
|
545
|
-
VerifiableCredential,
|
|
546
|
-
VerifiableCredential,
|
|
547
|
-
VerifiableCredential,
|
|
548
|
-
VerifiableCredential,
|
|
549
|
-
VerifiableCredential,
|
|
550
|
-
VerifiableCredential,
|
|
551
|
-
VerifiableCredential,
|
|
552
|
-
VerifiableCredential,
|
|
553
|
-
VerifiableCredential,
|
|
554
|
-
VerifiableCredential,
|
|
555
|
-
VerifiableCredential
|
|
556
|
-
] | [
|
|
557
|
-
VerifiableCredential,
|
|
558
|
-
VerifiableCredential,
|
|
559
|
-
VerifiableCredential,
|
|
560
|
-
VerifiableCredential,
|
|
561
|
-
VerifiableCredential,
|
|
562
|
-
VerifiableCredential,
|
|
563
|
-
VerifiableCredential,
|
|
564
|
-
VerifiableCredential,
|
|
565
|
-
VerifiableCredential,
|
|
566
|
-
VerifiableCredential,
|
|
567
|
-
VerifiableCredential,
|
|
568
|
-
VerifiableCredential,
|
|
569
|
-
VerifiableCredential,
|
|
570
|
-
VerifiableCredential,
|
|
571
|
-
VerifiableCredential
|
|
572
|
-
] | [
|
|
573
|
-
VerifiableCredential,
|
|
574
|
-
VerifiableCredential,
|
|
575
|
-
VerifiableCredential,
|
|
576
|
-
VerifiableCredential,
|
|
577
|
-
VerifiableCredential,
|
|
578
|
-
VerifiableCredential,
|
|
579
|
-
VerifiableCredential,
|
|
580
|
-
VerifiableCredential,
|
|
581
|
-
VerifiableCredential,
|
|
582
|
-
VerifiableCredential,
|
|
583
|
-
VerifiableCredential,
|
|
584
|
-
VerifiableCredential,
|
|
585
|
-
VerifiableCredential,
|
|
586
|
-
VerifiableCredential,
|
|
587
|
-
VerifiableCredential,
|
|
588
|
-
VerifiableCredential
|
|
589
|
-
];
|
|
590
|
-
proof: VPDataIntegrityProof;
|
|
591
|
-
[k: string]: unknown;
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* Holder-signed W3C Data Integrity proof. proofPurpose MUST be 'authentication'; challenge MUST equal request_hash (the content hash of the inner PaymentRequest); domain MUST equal the network-wide did:web:<env>.atum.network.
|
|
595
|
-
*/
|
|
596
|
-
interface VPDataIntegrityProof {
|
|
597
|
-
/**
|
|
598
|
-
* Proof type identifier. MUST be one of EcdsaSecp256k1RecoverySignature2020 (secp256k1) or Ed25519Signature2020 (ed25519).
|
|
599
|
-
*/
|
|
600
|
-
type: string;
|
|
601
|
-
/**
|
|
602
|
-
* ISO 8601 timestamp when the proof was created.
|
|
603
|
-
*/
|
|
604
|
-
created: string;
|
|
605
|
-
/**
|
|
606
|
-
* DID URL identifying the verification method (e.g., did:pkh:eip155:1:0x...#blockchainAccountId). The recovered identity MUST match the holder field.
|
|
607
|
-
*/
|
|
608
|
-
verificationMethod: string;
|
|
609
|
-
/**
|
|
610
|
-
* Always 'authentication' for VerifiablePresentation proofs per W3C VC Data Model §5.6.
|
|
611
|
-
*/
|
|
612
|
-
proofPurpose: "authentication";
|
|
613
|
-
/**
|
|
614
|
-
* Replay-binding challenge. The verifier requires this to equal request_id (originator-side correlation id).
|
|
615
|
-
*/
|
|
616
|
-
challenge: string;
|
|
617
|
-
/**
|
|
618
|
-
* Replay-binding domain. The verifier requires this to equal the network-wide did:web:<env>.atum.network.
|
|
619
|
-
*/
|
|
620
|
-
domain: string;
|
|
621
|
-
/**
|
|
622
|
-
* Detached JWS signature in header..signature format. Used by the EcdsaSecp256k1RecoverySignature2020 cryptosuite.
|
|
623
|
-
*/
|
|
624
|
-
jws?: string;
|
|
625
|
-
/**
|
|
626
|
-
* Multibase z-base58btc-encoded 64-byte signature. Used by the Ed25519Signature2020 cryptosuite.
|
|
627
|
-
*/
|
|
628
|
-
proofValue?: string;
|
|
629
|
-
[k: string]: unknown;
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
/**
|
|
633
|
-
* This file was automatically generated by json-schema-to-typescript.
|
|
634
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
635
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
636
|
-
*/
|
|
637
|
-
/**
|
|
638
|
-
* The MPP `charge` challenge request — the method-specific `request` blob inside an mppx Challenge. It carries the source option the payer funds from plus the destination/corridor block (the reused `extra`). MPP has no x402 `accepts[]` envelope, so the source option that x402 carried at the `accepts[]` top level rides here alongside `extra`. One source option per challenge; a 402 may advertise several challenges to offer several source options.
|
|
639
|
-
*/
|
|
640
|
-
interface AtumEscrowRequest {
|
|
641
|
-
/**
|
|
642
|
-
* The source chain/token/cap the payer funds from.
|
|
643
|
-
*/
|
|
644
|
-
source: {
|
|
645
|
-
/**
|
|
646
|
-
* CAIP-2 source chain id (e.g. eip155:8453).
|
|
647
|
-
*/
|
|
648
|
-
network: string;
|
|
649
|
-
/**
|
|
650
|
-
* Source token address (EVM hex or base58).
|
|
651
|
-
*/
|
|
652
|
-
asset: string;
|
|
653
|
-
/**
|
|
654
|
-
* Source spend cap (fulfillmentAmount + markup), in atomic token units — the authoritative `max_source_amount` the payer signs.
|
|
655
|
-
*/
|
|
656
|
-
amount: string;
|
|
657
|
-
};
|
|
658
|
-
extra: AtumEscrowExtra;
|
|
659
|
-
}
|
|
660
|
-
/**
|
|
661
|
-
* The `extra.atum` object carried inside an atum-escrow x402 PaymentRequirements entry (accepts[]): the merchant's receive-side plus the contract/role addresses and deadline budgets. Scheme-specific data the standard x402 `extra` bag treats as opaque, so it is owned here and shared by all role mechanisms. Addresses are chain-general: an EVM `0x`-prefixed hex address, or a Tron/Solana base58 address, depending on the source/destination chain.
|
|
662
|
-
*/
|
|
663
|
-
interface AtumEscrowExtra {
|
|
664
|
-
/**
|
|
665
|
-
* Where the merchant receives (CAIP-2 chain, token, account).
|
|
666
|
-
*/
|
|
667
|
-
destination: {
|
|
668
|
-
/**
|
|
669
|
-
* CAIP-2 destination chain id (e.g. eip155:42161).
|
|
670
|
-
*/
|
|
671
|
-
network: string;
|
|
672
|
-
/**
|
|
673
|
-
* Destination token address (EVM hex or base58).
|
|
674
|
-
*/
|
|
675
|
-
asset: string;
|
|
676
|
-
/**
|
|
677
|
-
* Merchant receive account (EVM hex or base58).
|
|
678
|
-
*/
|
|
679
|
-
account: string;
|
|
680
|
-
};
|
|
681
|
-
/**
|
|
682
|
-
* Exact amount the merchant receives, in atomic token units.
|
|
683
|
-
*/
|
|
684
|
-
fulfillmentAmount: string;
|
|
685
|
-
/**
|
|
686
|
-
* Source-chain escrow contract (the x402 payTo).
|
|
687
|
-
*/
|
|
688
|
-
escrow: string;
|
|
689
|
-
/**
|
|
690
|
-
* Destination-chain fulfillment proxy contract.
|
|
691
|
-
*/
|
|
692
|
-
fulfillmentProxy: string;
|
|
693
|
-
/**
|
|
694
|
-
* Reserver role address (escrow deposit witness).
|
|
695
|
-
*/
|
|
696
|
-
reserver: string;
|
|
697
|
-
/**
|
|
698
|
-
* Releaser role address (escrow deposit witness).
|
|
699
|
-
*/
|
|
700
|
-
releaser: string;
|
|
701
|
-
/**
|
|
702
|
-
* Source-chain fulfillment-verifier endpoint the payment request carries. The verifier account and the quote selector are the releaser and reserver respectively, so only the endpoint is not otherwise present in this object.
|
|
703
|
-
*/
|
|
704
|
-
fulfillmentVerifierEndpoint: string;
|
|
705
|
-
/**
|
|
706
|
-
* Recommended quote-deadline budget in seconds, relative to signing time.
|
|
707
|
-
*/
|
|
708
|
-
quoteDeadlineSeconds: number;
|
|
709
|
-
/**
|
|
710
|
-
* Recommended fulfillment-deadline budget in seconds, relative to signing time.
|
|
711
|
-
*/
|
|
712
|
-
fulfillmentDeadlineSeconds: number;
|
|
713
|
-
/**
|
|
714
|
-
* Tron-only: the Permit2 contract address the deposit authorization is signed against (the TIP-712 verifying contract). Present only when the source chain is Tron; on EVM the canonical Permit2 address is well-known, and Solana does not use Permit2.
|
|
715
|
-
*/
|
|
716
|
-
permit2?: string;
|
|
717
|
-
/**
|
|
718
|
-
* Solana-only: cluster identifier used to domain-separate the deposit authorization. Present only when the source chain is Solana; omitted for EVM/Tron.
|
|
719
|
-
*/
|
|
720
|
-
svmSignatureClusterId?: string;
|
|
721
|
-
/**
|
|
722
|
-
* Solana-only: signature domain version used to domain-separate the deposit authorization. Present only when the source chain is Solana; omitted for EVM/Tron.
|
|
723
|
-
*/
|
|
724
|
-
svmSignatureDomainVersion?: number;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
/**
|
|
728
|
-
* Shared internals for the Atum escrow MPP method: the wire schemas, the method
|
|
729
|
-
* definition, the shared types, and the pure chain/address helpers used by both
|
|
730
|
-
* the payer ({@link ./client}) and merchant ({@link ./server}) sides.
|
|
731
|
-
*
|
|
732
|
-
* This module is not a public entry point — consumers import from the package
|
|
733
|
-
* root, `/client`, or `/server`. The helpers here are exported only so the
|
|
734
|
-
* client and server modules can share them.
|
|
735
|
-
*
|
|
736
|
-
* @internal
|
|
737
|
-
*/
|
|
738
|
-
|
|
739
|
-
/** The method name advertised in MPP challenges and credentials. */
|
|
740
|
-
declare const METHOD_NAME = "atum-escrow";
|
|
741
|
-
/** The MPP intent this method implements. */
|
|
742
|
-
declare const INTENT = "charge";
|
|
743
|
-
/**
|
|
744
|
-
* Schema for the `charge` challenge request — the method-specific data a merchant
|
|
745
|
-
* publishes in an MPP `402` challenge. It describes what the merchant receives and the
|
|
746
|
-
* source option the payer may fund from, so the payer can build the payment offline.
|
|
747
|
-
*/
|
|
748
|
-
declare const ChargeRequestSchema: z.ZodMiniObject<{
|
|
749
|
-
source: z.ZodMiniObject<{
|
|
750
|
-
network: z.ZodMiniString<string>;
|
|
751
|
-
asset: z.ZodMiniString<string>;
|
|
752
|
-
amount: z.ZodMiniString<string>;
|
|
753
|
-
}, z.core.$strip>;
|
|
754
|
-
extra: z.ZodMiniObject<{
|
|
755
|
-
destination: z.ZodMiniObject<{
|
|
756
|
-
network: z.ZodMiniString<string>;
|
|
757
|
-
asset: z.ZodMiniString<string>;
|
|
758
|
-
account: z.ZodMiniString<string>;
|
|
759
|
-
}, z.core.$strip>;
|
|
760
|
-
fulfillmentAmount: z.ZodMiniString<string>;
|
|
761
|
-
escrow: z.ZodMiniString<string>;
|
|
762
|
-
fulfillmentProxy: z.ZodMiniString<string>;
|
|
763
|
-
reserver: z.ZodMiniString<string>;
|
|
764
|
-
releaser: z.ZodMiniString<string>;
|
|
765
|
-
fulfillmentVerifierEndpoint: z.ZodMiniString<string>;
|
|
766
|
-
quoteDeadlineSeconds: z.ZodMiniNumber<number>;
|
|
767
|
-
fulfillmentDeadlineSeconds: z.ZodMiniNumber<number>;
|
|
768
|
-
permit2: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
769
|
-
svmSignatureClusterId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
770
|
-
svmSignatureDomainVersion: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
771
|
-
}, z.core.$strip>;
|
|
772
|
-
}, z.core.$strip>;
|
|
773
|
-
/**
|
|
774
|
-
* Schema for the `charge` credential payload — the signed payment the payer returns in
|
|
775
|
-
* the MPP credential. It carries the Atum payment request; the request's signatures and
|
|
776
|
-
* terms are verified in full during server verification and by the Atum Payment Gateway,
|
|
777
|
-
* so this envelope validates only that the request is present.
|
|
778
|
-
*/
|
|
779
|
-
declare const CredentialPayloadSchema: z.ZodMiniObject<{
|
|
780
|
-
paymentRequest: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
781
|
-
}, z.core.$strip>;
|
|
782
|
-
/**
|
|
783
|
-
* The `charge` challenge request — the canonical `AtumEscrowRequest` shape (source option
|
|
784
|
-
* + the destination/corridor `extra`). The runtime schema above is verified against this
|
|
785
|
-
* type at compile time (below), so the validator and the canonical schema cannot drift.
|
|
786
|
-
*/
|
|
787
|
-
type ChargeRequest = AtumEscrowRequest;
|
|
788
|
-
/** The `charge` credential payload, carrying the signed Atum payment request. */
|
|
789
|
-
interface ChargeCredentialPayload {
|
|
790
|
-
/** The signed Atum payment request: source/destination, amounts, and authorizations. */
|
|
791
|
-
paymentRequest: PaymentRequest;
|
|
792
|
-
}
|
|
793
|
-
/**
|
|
794
|
-
* The MPP challenge for this method. Uses the schema's inferred type for the request
|
|
795
|
-
* (equal to {@link ChargeRequest} by the compile-time guard above, and compatible with
|
|
796
|
-
* the framework's `Record<string, unknown>` request constraint).
|
|
797
|
-
*/
|
|
798
|
-
type AtumEscrowChallenge = Challenge.Challenge<z.infer<typeof ChargeRequestSchema>, "charge", "atum-escrow">;
|
|
799
|
-
/** The MPP credential for this method. */
|
|
800
|
-
type AtumEscrowCredential = Credential.Credential<ChargeCredentialPayload, AtumEscrowChallenge>;
|
|
801
|
-
/**
|
|
802
|
-
* The base `atum-escrow` charge method. Extend it with `registerClient` on the payer side
|
|
803
|
-
* and `registerServer` on the merchant side.
|
|
804
|
-
*/
|
|
805
|
-
declare const atumEscrowChargeMethod: {
|
|
806
|
-
readonly name: "atum-escrow";
|
|
807
|
-
readonly intent: "charge";
|
|
808
|
-
readonly schema: {
|
|
809
|
-
readonly request: z.ZodMiniObject<{
|
|
810
|
-
source: z.ZodMiniObject<{
|
|
811
|
-
network: z.ZodMiniString<string>;
|
|
812
|
-
asset: z.ZodMiniString<string>;
|
|
813
|
-
amount: z.ZodMiniString<string>;
|
|
814
|
-
}, z.core.$strip>;
|
|
815
|
-
extra: z.ZodMiniObject<{
|
|
816
|
-
destination: z.ZodMiniObject<{
|
|
817
|
-
network: z.ZodMiniString<string>;
|
|
818
|
-
asset: z.ZodMiniString<string>;
|
|
819
|
-
account: z.ZodMiniString<string>;
|
|
820
|
-
}, z.core.$strip>;
|
|
821
|
-
fulfillmentAmount: z.ZodMiniString<string>;
|
|
822
|
-
escrow: z.ZodMiniString<string>;
|
|
823
|
-
fulfillmentProxy: z.ZodMiniString<string>;
|
|
824
|
-
reserver: z.ZodMiniString<string>;
|
|
825
|
-
releaser: z.ZodMiniString<string>;
|
|
826
|
-
fulfillmentVerifierEndpoint: z.ZodMiniString<string>;
|
|
827
|
-
quoteDeadlineSeconds: z.ZodMiniNumber<number>;
|
|
828
|
-
fulfillmentDeadlineSeconds: z.ZodMiniNumber<number>;
|
|
829
|
-
permit2: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
830
|
-
svmSignatureClusterId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
831
|
-
svmSignatureDomainVersion: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
832
|
-
}, z.core.$strip>;
|
|
833
|
-
}, z.core.$strip>;
|
|
834
|
-
readonly credential: {
|
|
835
|
-
readonly payload: z.ZodMiniObject<{
|
|
836
|
-
paymentRequest: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
837
|
-
}, z.core.$strip>;
|
|
838
|
-
};
|
|
839
|
-
};
|
|
840
|
-
};
|
|
841
|
-
|
|
842
|
-
export { type AtumEscrowChallenge as A, type ChargeCredentialPayload as C, INTENT as I, METHOD_NAME as M, type PaymentRequest as P, type SenderSigner as S, type AtumEscrowCredential as a, type AtumEscrowRequest as b, type ChargeRequest as c, ChargeRequestSchema as d, CredentialPayloadSchema as e, type SenderSignerOptions as f, atumEscrowChargeMethod as g, type SolanaClusterUnixTimeReader as h, type ChainDefaults as i };
|