@bananapus/nana-sdk-core 2.24.4 → 2.25.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/dist/cjs/jbcenter/publish.d.ts +6 -5
- package/dist/cjs/jbcenter/publish.d.ts.map +1 -1
- package/dist/cjs/jbcenter/publish.js +37 -18
- package/dist/cjs/jbcenter/publish.js.map +1 -1
- package/dist/cjs/jbcenter/rateLimit.d.ts +12 -2
- package/dist/cjs/jbcenter/rateLimit.d.ts.map +1 -1
- package/dist/cjs/jbcenter/rateLimit.js +20 -3
- package/dist/cjs/jbcenter/rateLimit.js.map +1 -1
- package/dist/cjs/jbcenter.d.ts +1 -1
- package/dist/cjs/jbcenter.d.ts.map +1 -1
- package/dist/cjs/jbcenter.js +2 -1
- package/dist/cjs/jbcenter.js.map +1 -1
- package/dist/cjs/review/contractWrite.d.ts +3 -1
- package/dist/cjs/review/contractWrite.d.ts.map +1 -1
- package/dist/cjs/review/contractWrite.js +13 -11
- package/dist/cjs/review/contractWrite.js.map +1 -1
- package/dist/cjs/review/index.d.ts +1 -0
- package/dist/cjs/review/index.d.ts.map +1 -1
- package/dist/cjs/review/index.js +1 -0
- package/dist/cjs/review/index.js.map +1 -1
- package/dist/cjs/review/relayr.d.ts +54 -12
- package/dist/cjs/review/relayr.d.ts.map +1 -1
- package/dist/cjs/review/relayr.js +175 -43
- package/dist/cjs/review/relayr.js.map +1 -1
- package/dist/cjs/review/safeRelayr.d.ts +1 -1
- package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
- package/dist/cjs/review/safeRelayr.js +27 -3
- package/dist/cjs/review/safeRelayr.js.map +1 -1
- package/dist/cjs/review/transaction-message.d.ts +3 -0
- package/dist/cjs/review/transaction-message.d.ts.map +1 -0
- package/dist/cjs/review/transaction-message.js +19 -0
- package/dist/cjs/review/transaction-message.js.map +1 -0
- package/dist/cjs/safeService.d.ts +152 -1
- package/dist/cjs/safeService.d.ts.map +1 -1
- package/dist/cjs/safeService.js +325 -1
- package/dist/cjs/safeService.js.map +1 -1
- package/dist/esm/jbcenter/publish.d.ts +6 -5
- package/dist/esm/jbcenter/publish.d.ts.map +1 -1
- package/dist/esm/jbcenter/publish.js +37 -18
- package/dist/esm/jbcenter/publish.js.map +1 -1
- package/dist/esm/jbcenter/rateLimit.d.ts +12 -2
- package/dist/esm/jbcenter/rateLimit.d.ts.map +1 -1
- package/dist/esm/jbcenter/rateLimit.js +19 -3
- package/dist/esm/jbcenter/rateLimit.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +1 -1
- package/dist/esm/jbcenter.d.ts.map +1 -1
- package/dist/esm/jbcenter.js +1 -1
- package/dist/esm/jbcenter.js.map +1 -1
- package/dist/esm/review/contractWrite.d.ts +3 -1
- package/dist/esm/review/contractWrite.d.ts.map +1 -1
- package/dist/esm/review/contractWrite.js +13 -11
- package/dist/esm/review/contractWrite.js.map +1 -1
- package/dist/esm/review/index.d.ts +1 -0
- package/dist/esm/review/index.d.ts.map +1 -1
- package/dist/esm/review/index.js +1 -0
- package/dist/esm/review/index.js.map +1 -1
- package/dist/esm/review/relayr.d.ts +54 -12
- package/dist/esm/review/relayr.d.ts.map +1 -1
- package/dist/esm/review/relayr.js +170 -42
- package/dist/esm/review/relayr.js.map +1 -1
- package/dist/esm/review/safeRelayr.d.ts +1 -1
- package/dist/esm/review/safeRelayr.d.ts.map +1 -1
- package/dist/esm/review/safeRelayr.js +28 -4
- package/dist/esm/review/safeRelayr.js.map +1 -1
- package/dist/esm/review/transaction-message.d.ts +3 -0
- package/dist/esm/review/transaction-message.d.ts.map +1 -0
- package/dist/esm/review/transaction-message.js +16 -0
- package/dist/esm/review/transaction-message.js.map +1 -0
- package/dist/esm/safeService.d.ts +152 -1
- package/dist/esm/safeService.d.ts.map +1 -1
- package/dist/esm/safeService.js +314 -2
- package/dist/esm/safeService.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ export declare const RELAYR_PAYMENT_ADDRESS: Address;
|
|
|
15
15
|
export declare const RELAYR_PAYMENT_SELECTOR = "0x103903a7";
|
|
16
16
|
/** keccak256 of the payment contract's runtime code. */
|
|
17
17
|
export declare const RELAYR_PAYMENT_CODE_HASH: Hex;
|
|
18
|
+
/** Prepayment(bytes16 indexed payment_uuid, uint256 amount, uint40 deadline). */
|
|
19
|
+
export declare const RELAYR_PAYMENT_EVENT: Hex;
|
|
18
20
|
/** The token Relayr quotes for a payment in the chain's native currency. */
|
|
19
21
|
export declare const RELAYR_NATIVE_TOKEN: Address;
|
|
20
22
|
/** The gas a payment is simulated and sent with. */
|
|
@@ -184,6 +186,8 @@ export type RelayrProofClient = {
|
|
|
184
186
|
}): Promise<{
|
|
185
187
|
hash: Hex | null;
|
|
186
188
|
}>;
|
|
189
|
+
/** Required only to authenticate a successful wallet-wrapped payment. */
|
|
190
|
+
getCode?: PublicClient["getCode"];
|
|
187
191
|
};
|
|
188
192
|
/**
|
|
189
193
|
* The chain or Relayr contradicts the expected transaction: this evidence can
|
|
@@ -196,6 +200,21 @@ export declare class RelayrProofError extends Error {
|
|
|
196
200
|
export declare class RelayrProofUnavailableError extends Error {
|
|
197
201
|
readonly name = "RelayrProofUnavailableError";
|
|
198
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* A synchronous final guard refused after saving a payment attempt and before
|
|
205
|
+
* invoking the wallet. Construct only around that guard, never around the
|
|
206
|
+
* persistence callback or wallet call: their failures may hide a submission.
|
|
207
|
+
*/
|
|
208
|
+
export declare class RelayrPaymentNotSentError extends Error {
|
|
209
|
+
readonly name = "RelayrPaymentNotSentError";
|
|
210
|
+
constructor(cause: unknown);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Normalize only errors from an invoked wallet: its result cannot prove a
|
|
214
|
+
* local guard refused before invocation. Preserve a branded error privately
|
|
215
|
+
* as `walletError`, not `cause`, which the rejection classifier traverses.
|
|
216
|
+
*/
|
|
217
|
+
export declare function relayrWalletPaymentError(error: unknown): unknown;
|
|
199
218
|
/**
|
|
200
219
|
* The payment at `hash` is exactly the reviewed payment, canonically included,
|
|
201
220
|
* and reverted, so that one transaction paid nothing. It does not show that
|
|
@@ -317,8 +336,16 @@ export declare function relayrPaymentOptions(quote: Pick<RelayrQuote, "bundle_uu
|
|
|
317
336
|
/**
|
|
318
337
|
* Prove the payment chain runs Relayr's payment contract: the code at
|
|
319
338
|
* {@link RELAYR_PAYMENT_ADDRESS} hashes to {@link RELAYR_PAYMENT_CODE_HASH}.
|
|
339
|
+
* Pin a receipt's block for recovery; omit it for the latest pre-send check.
|
|
320
340
|
*/
|
|
321
|
-
export declare function requireRelayrPaymentRuntime(client: Pick<PublicClient, "getCode"
|
|
341
|
+
export declare function requireRelayrPaymentRuntime(client: Pick<PublicClient, "getCode">, blockNumber?: bigint): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* Exactly one matching Prepayment from the pinned payment contract. The
|
|
344
|
+
* caller separately proves the receipt's chain, canonical inclusion, success
|
|
345
|
+
* and runtime. This event proves bundle funding, not the debited account.
|
|
346
|
+
* Uses the pinned runtime's event; older Relayr source has another event.
|
|
347
|
+
*/
|
|
348
|
+
export declare function hasRelayrPaymentEvent(logs: unknown, bundleUuid: string, amount: bigint, deadline: bigint): boolean;
|
|
322
349
|
/**
|
|
323
350
|
* Simulate the exact payment from `from` with the gas it is sent with,
|
|
324
351
|
* without CCIP-read. Relayr's contract returns nothing, so a revert or any
|
|
@@ -358,14 +385,17 @@ type ReviewedPayment = Pick<RelayrPaymentDetails, "chainId" | "target" | "callda
|
|
|
358
385
|
amount: bigint | string;
|
|
359
386
|
};
|
|
360
387
|
/**
|
|
361
|
-
* Prove
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
388
|
+
* Prove funding from a canonical successful transaction. A direct payment
|
|
389
|
+
* must exactly match `from`, contract, calldata and value. A wallet-wrapped
|
|
390
|
+
* payment instead requires the pinned runtime and its unique exact payment
|
|
391
|
+
* event; this proves bundle funding, not whose account was debited.
|
|
392
|
+
* Pass the hash that was mined: when a wallet speeds a payment up, viem's
|
|
393
|
+
* receipt is the replacement's, so verify
|
|
365
394
|
* its `transactionHash`, not the hash the wallet first returned.
|
|
366
395
|
*
|
|
367
|
-
* Throws {@link RelayrPaymentRevertedError}
|
|
368
|
-
*
|
|
396
|
+
* Throws {@link RelayrPaymentRevertedError} only for an exact direct payment
|
|
397
|
+
* that canonically reverted. A wrapped revert cannot prove an inner payment.
|
|
398
|
+
* That transaction paid nothing, but the bundle may still be paid by another, so
|
|
369
399
|
* only {@link requireRelayrPaymentRetry} clears the quote to be paid again.
|
|
370
400
|
* {@link RelayrProofError} means the transaction is a different one: never pay
|
|
371
401
|
* again. Any other error means the proof is unavailable for now.
|
|
@@ -433,6 +463,15 @@ export declare function verifyRelayrDestination(client: RelayrProofClient, { ent
|
|
|
433
463
|
entry: RelayrEntry;
|
|
434
464
|
hash: Hex;
|
|
435
465
|
}): Promise<TransactionReceipt>;
|
|
466
|
+
/**
|
|
467
|
+
* Bind Relayr's status records to a quote in binding order, using the same
|
|
468
|
+
* inventory, request and optional account checks as {@link relayrDestinationHashes}.
|
|
469
|
+
* Missing or malformed hashes do not prevent a record from naming its call;
|
|
470
|
+
* available hashes must still be unique. These records describe progress,
|
|
471
|
+
* not execution proof: verify each reported hash with {@link verifyRelayrDestination}.
|
|
472
|
+
* Throws on incomplete or contradictory bindings; never pay again on an error.
|
|
473
|
+
*/
|
|
474
|
+
export declare function relayrDestinationRecords(expected: Parameters<typeof matchingDestinationRecords>[0]): RelayrTransactionRecord[];
|
|
436
475
|
/**
|
|
437
476
|
* Bind Relayr's reported destination hashes to a quote. `bindings` are the
|
|
438
477
|
* quote's {@link RelayrQuote.expectedTransactions}; `records` are Relayr's
|
|
@@ -450,11 +489,13 @@ export declare function verifyRelayrDestination(client: RelayrProofClient, { ent
|
|
|
450
489
|
* {@link RelayrProofError} when Relayr contradicts a binding and another error
|
|
451
490
|
* while the reported inventory is incomplete. Never pay again on any error.
|
|
452
491
|
*/
|
|
453
|
-
export declare function relayrDestinationHashes(
|
|
492
|
+
export declare function relayrDestinationHashes(expected: Parameters<typeof matchingDestinationRecords>[0]): Hex[];
|
|
493
|
+
/** Yield in binding order so callers can validate each result before the next match. */
|
|
494
|
+
declare function matchingDestinationRecords({ bindings, records, account, }: {
|
|
454
495
|
bindings: readonly RelayrTransactionBinding[];
|
|
455
496
|
records: readonly RelayrTransactionRecord[];
|
|
456
497
|
account?: Address;
|
|
457
|
-
}):
|
|
498
|
+
}): Generator<RelayrTransactionRecord>;
|
|
458
499
|
/**
|
|
459
500
|
* Validate all bindings with {@link relayrDestinationHashes}, then prove each
|
|
460
501
|
* destination with {@link verifyRelayrDestination}. Returns canonical receipts
|
|
@@ -695,9 +736,10 @@ export declare function relayrRetryOption(payments: readonly Pick<RelayrSentPaym
|
|
|
695
736
|
* Where a failed payment attempt leaves its quote: `reverted` when the
|
|
696
737
|
* payment reverted onchain, or when the wallet declined to pay a quote paid
|
|
697
738
|
* before, which stays on {@link requireRelayrPaymentRetry}'s rule; `unpaid`
|
|
698
|
-
* when the wallet declined its first payment
|
|
699
|
-
* the
|
|
700
|
-
*
|
|
739
|
+
* when the wallet declined its first payment. A typed final guard refusal
|
|
740
|
+
* before the wallet call has the same outcome. Null means nothing is known,
|
|
741
|
+
* and the journal stays as it is. `sending` is whether the attempt's marker
|
|
742
|
+
* was saved, and `paid` whether the quote was paid before.
|
|
701
743
|
*/
|
|
702
744
|
export declare function relayrPaymentAttemptOutcome(error: unknown, { sending, paid }: {
|
|
703
745
|
sending: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AAYlC,yBAAyB;AACzB,eAAO,MAAM,UAAU,iCAAiC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EACe,OAAO,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,wBAAwB,EACqC,GAAG,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EACkB,OAAO,CAAC;AAE1D,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,UAAW,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAe,CAAC;AAE9D,uDAAuD;AACvD,eAAO,MAAM,qBAAqB;;;;;;;;;;;EAQxB,CAAC;AAEX,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;CAUxB,CAAC;AAQX,wDAAwD;AACxD,eAAO,MAAM,cAAc,QACwC,CAAC;AAuBpE,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,WAAW,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC1D,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC;YAAC,WAAW,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,GAAG,CAAA;aAAE,CAAA;SAAE,CAAC;KACrD,CAAC;CACH,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,oEAAoE;IACpE,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,mEAAmE;IACnE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAC3C,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;IACH,qBAAqB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC;AAEF;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;CAC5C;AAED,2GAA2G;AAC3G,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;CAC/C;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;IAK5D,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAL1B,QAAQ,CAAC,IAAI,gCAAgC;gBAG3C,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM;CAI3B;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB;IAKhE,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAL1B,QAAQ,CAAC,IAAI,oCAAoC;gBAG/C,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM;CAI3B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,SAAS,CAAC;AAEd;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAK9C,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAJ5C,QAAQ,CAAC,IAAI,6BAA6B;gBAGxC,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,yBAAyB;CAI7C;AAsLD,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAIzE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,WAAW,EAAE,GAC9B,mBAAmB,CAuBrB;AAkCD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,EACE,KAAK,EAAE,WAA8B,GACtC,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GAC1C,OAAO,CAAC,YAAY,CAAC,CAWvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,EAC5B,EACE,KAAK,EAAE,WAA8B,GACtC,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GAC1C,OAAO,CAAC,WAAW,CAAC,CA0GtB;AAuBD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAA2B,GACtC,OAAO,CAET;AAcD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,EACE,UAAU,EACV,mBAAmB,EACnB,UAA+B,GAChC,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,oBAAoB,CAsDtB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,cAAc,CAAC,EACxD,mBAAmB,EAAE,SAAS,MAAM,EAAE,EACtC,UAAU,CAAC,EAAE,MAAM,GAClB,aAAa,EAAE,CA8BjB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAuBf;AA4BD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EACrC,EACE,IAAI,EACJ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;CACvE,GACA,OAAO,CAAC,IAAI,CAAC,CAmBf;AAOD,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,aAAa,SAAiB,GAC7B,qBAAqB,CAcvB;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,uBAAuB,GAC9B,GAAG,GAAG,IAAI,CAIZ;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,uBAAuB,GAC9B,MAAM,GAAG,IAAI,CAKf;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,GACpD,oBAAoB,GAAG,IAAI,CA2B7B;AAiFD;;;GAGG;AACH,KAAK,eAAe,GAAG,IAAI,CACzB,oBAAoB,EACpB,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CACjD,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AA6ChC;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,EACE,IAAI,EACJ,IAAI,EACJ,OAAO,GACR,EAAE;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACxD,OAAO,CAAC,kBAAkB,CAAC,CA6B7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,iBAAiB,EACzB,EACE,MAAM,EACN,IAAI,EACJ,OAAO,GACR,EAAE;IAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,EACtE,EACE,KAAK,EAAE,WAA8B,EACrC,UAA+B,GAChC,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,EACE,KAAK,EAAE,WAA8B,GACtC,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CAef;AA8CD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,iBAAiB,EACzB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,GACjD,OAAO,CAAC,kBAAkB,CAAC,CAwB7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,GAAG,EAAE,CA+DR;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,EAC7D,QAAQ,EAAE;IACR,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAqBtC;AAWD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC;QACjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACvE,YAAY,CAAC,IAAI,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,OAAO,mBAAmB,CAAC;QAChC,YAAY,EAAE,QAAQ,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1C;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,EAC/C,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAC/C,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkBjD;AA6CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EACH,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,GACzD,SAAS,EACb,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACpC,mBAAmB,EAAE,GAAG,IAAI,CAsB9B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,qBAAqB,GAAG,SAAS,EACjE,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyC/B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,kBAAkB,EAAE,GACpC,qBAAqB,CAcvB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,qBAAqB,GAAG,SAAS,EACjE,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI,GAAG,SAAS,GAC1D,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAC/C,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AA0DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,EACE,MAAM,EACN,OAAO,GACR,GAAE;IACD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,GACL,OAAO,CAAC,oBAAoB,CAAC,CAsB/B;AAOD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,oBAAoB,EACpB,QAAQ,GAAG,UAAU,CACtB,GAAG;IACF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,GAAG,GACR,iBAAiB,CAOnB;AAED,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAmC3C;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,OAAO,GACd,iBAAiB,EAAE,GAAG,IAAI,CAQ5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EACJ,SAAS,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,EAAE,GACrE,SAAS,EACb,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAC5C,aAAa,CA8Bf;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACrD,UAAU,GAAG,QAAQ,GAAG,IAAI,CAM9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,EAC7D,EACE,QAAQ,EACR,IAAI,EACJ,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,EAC7D,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,EAClD,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,GAAG,SAAS,EACpE,KAAK,GAAE,MAAmB,GACzB,OAAO,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,cAAc,CAAC,EACxD,mBAAmB,EAAE,SAAS,MAAM,EAAE,GACrC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,EAAE,CAmB5D;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GACjD,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;AAE1C,sEAAsE;AACtE,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,0DAA0D;IAC1D,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAyFF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,EAC/D,KAAK,EAAE,aAAa,EACpB,EACE,KAAK,EAAE,WAA8B,EACrC,KAAK,GACN,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,OAAO,CAAC;IACT,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACzC,OAAO,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;CAC3C,CAAC,CAmCD"}
|
|
1
|
+
{"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MAX_RELAYR_SENT_PAYMENTS = exports.RelayrPaymentRetryError = exports.RelayrDestinationRevertedError = exports.RelayrPaymentRevertedError = exports.RelayrProofUnavailableError = exports.RelayrProofError = exports.RELAYR_UUID_RE = exports.FORWARD_REQUEST_TYPES = exports.TRUSTED_FORWARDER_ABI = exports.RELAYR_FORWARDER_DEADLINE_SECONDS = exports.RELAYR_PAYMENT_GAS = exports.RELAYR_NATIVE_TOKEN = exports.RELAYR_PAYMENT_CODE_HASH = exports.RELAYR_PAYMENT_SELECTOR = exports.RELAYR_PAYMENT_ADDRESS = exports.RELAYR_API = void 0;
|
|
3
|
+
exports.MAX_RELAYR_SENT_PAYMENTS = exports.RelayrPaymentRetryError = exports.RelayrDestinationRevertedError = exports.RelayrPaymentRevertedError = exports.RelayrPaymentNotSentError = exports.RelayrProofUnavailableError = exports.RelayrProofError = exports.RELAYR_UUID_RE = exports.FORWARD_REQUEST_TYPES = exports.TRUSTED_FORWARDER_ABI = exports.RELAYR_FORWARDER_DEADLINE_SECONDS = exports.RELAYR_PAYMENT_GAS = exports.RELAYR_NATIVE_TOKEN = exports.RELAYR_PAYMENT_EVENT = exports.RELAYR_PAYMENT_CODE_HASH = exports.RELAYR_PAYMENT_SELECTOR = exports.RELAYR_PAYMENT_ADDRESS = exports.RELAYR_API = void 0;
|
|
4
|
+
exports.relayrWalletPaymentError = relayrWalletPaymentError;
|
|
4
5
|
exports.relayrSupportsChain = relayrSupportsChain;
|
|
5
6
|
exports.relayrSupportsChains = relayrSupportsChains;
|
|
6
7
|
exports.relayrPaymentChains = relayrPaymentChains;
|
|
@@ -11,6 +12,7 @@ exports.quoteExpired = quoteExpired;
|
|
|
11
12
|
exports.relayrPaymentDetails = relayrPaymentDetails;
|
|
12
13
|
exports.relayrPaymentOptions = relayrPaymentOptions;
|
|
13
14
|
exports.requireRelayrPaymentRuntime = requireRelayrPaymentRuntime;
|
|
15
|
+
exports.hasRelayrPaymentEvent = hasRelayrPaymentEvent;
|
|
14
16
|
exports.simulateRelayrPayment = simulateRelayrPayment;
|
|
15
17
|
exports.relayrStateIsSuccess = relayrStateIsSuccess;
|
|
16
18
|
exports.relayrStateIsPending = relayrStateIsPending;
|
|
@@ -23,6 +25,7 @@ exports.verifyRelayrPayment = verifyRelayrPayment;
|
|
|
23
25
|
exports.requireRelayrPaymentRetry = requireRelayrPaymentRetry;
|
|
24
26
|
exports.requireRelayrBundleUnpaid = requireRelayrBundleUnpaid;
|
|
25
27
|
exports.verifyRelayrDestination = verifyRelayrDestination;
|
|
28
|
+
exports.relayrDestinationRecords = relayrDestinationRecords;
|
|
26
29
|
exports.relayrDestinationHashes = relayrDestinationHashes;
|
|
27
30
|
exports.verifyRelayrDestinations = verifyRelayrDestinations;
|
|
28
31
|
exports.atCanonicalFinalizedBlock = atCanonicalFinalizedBlock;
|
|
@@ -68,6 +71,8 @@ exports.RELAYR_PAYMENT_ADDRESS = "0x1c05f7841379d4393574c0ffa17908ec40ffd97d";
|
|
|
68
71
|
exports.RELAYR_PAYMENT_SELECTOR = "0x103903a7";
|
|
69
72
|
/** keccak256 of the payment contract's runtime code. */
|
|
70
73
|
exports.RELAYR_PAYMENT_CODE_HASH = "0x6006b5acadb4cd60aa5c00cb844c34563e182dff83d4f4ff4fde226f7df16fa6";
|
|
74
|
+
/** Prepayment(bytes16 indexed payment_uuid, uint256 amount, uint40 deadline). */
|
|
75
|
+
exports.RELAYR_PAYMENT_EVENT = "0xb96b060a9c075a83da0cf1f9405deeb5df21df681a762de16c3d5eaf99531cd8";
|
|
71
76
|
/** The token Relayr quotes for a payment in the chain's native currency. */
|
|
72
77
|
exports.RELAYR_NATIVE_TOKEN = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
73
78
|
/** The gas a payment is simulated and sent with. */
|
|
@@ -137,6 +142,31 @@ class RelayrProofUnavailableError extends Error {
|
|
|
137
142
|
}
|
|
138
143
|
}
|
|
139
144
|
exports.RelayrProofUnavailableError = RelayrProofUnavailableError;
|
|
145
|
+
/**
|
|
146
|
+
* A synchronous final guard refused after saving a payment attempt and before
|
|
147
|
+
* invoking the wallet. Construct only around that guard, never around the
|
|
148
|
+
* persistence callback or wallet call: their failures may hide a submission.
|
|
149
|
+
*/
|
|
150
|
+
class RelayrPaymentNotSentError extends Error {
|
|
151
|
+
constructor(cause) {
|
|
152
|
+
super(cause instanceof Error
|
|
153
|
+
? cause.message
|
|
154
|
+
: "The payment was not sent. Review the payment again.");
|
|
155
|
+
this.name = "RelayrPaymentNotSentError";
|
|
156
|
+
withCause(this, cause);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.RelayrPaymentNotSentError = RelayrPaymentNotSentError;
|
|
160
|
+
/**
|
|
161
|
+
* Normalize only errors from an invoked wallet: its result cannot prove a
|
|
162
|
+
* local guard refused before invocation. Preserve a branded error privately
|
|
163
|
+
* as `walletError`, not `cause`, which the rejection classifier traverses.
|
|
164
|
+
*/
|
|
165
|
+
function relayrWalletPaymentError(error) {
|
|
166
|
+
return error instanceof RelayrPaymentNotSentError
|
|
167
|
+
? withHidden(new Error(error.message), "walletError", error)
|
|
168
|
+
: error;
|
|
169
|
+
}
|
|
140
170
|
/**
|
|
141
171
|
* The payment at `hash` is exactly the reviewed payment, canonically included,
|
|
142
172
|
* and reverted, so that one transaction paid nothing. It does not show that
|
|
@@ -650,13 +680,14 @@ function relayrPaymentOptions(quote, destinationChainIds, nowSeconds) {
|
|
|
650
680
|
/**
|
|
651
681
|
* Prove the payment chain runs Relayr's payment contract: the code at
|
|
652
682
|
* {@link RELAYR_PAYMENT_ADDRESS} hashes to {@link RELAYR_PAYMENT_CODE_HASH}.
|
|
683
|
+
* Pin a receipt's block for recovery; omit it for the latest pre-send check.
|
|
653
684
|
*/
|
|
654
|
-
async function requireRelayrPaymentRuntime(client) {
|
|
685
|
+
async function requireRelayrPaymentRuntime(client, blockNumber) {
|
|
655
686
|
let code;
|
|
656
687
|
try {
|
|
657
688
|
code = await client.getCode({
|
|
658
689
|
address: exports.RELAYR_PAYMENT_ADDRESS,
|
|
659
|
-
blockTag: "latest",
|
|
690
|
+
...(blockNumber === undefined ? { blockTag: "latest" } : { blockNumber }),
|
|
660
691
|
});
|
|
661
692
|
}
|
|
662
693
|
catch (cause) {
|
|
@@ -671,6 +702,40 @@ async function requireRelayrPaymentRuntime(client) {
|
|
|
671
702
|
throw new Error("Relayr payment contract code is not recognized.");
|
|
672
703
|
}
|
|
673
704
|
}
|
|
705
|
+
/**
|
|
706
|
+
* Exactly one matching Prepayment from the pinned payment contract. The
|
|
707
|
+
* caller separately proves the receipt's chain, canonical inclusion, success
|
|
708
|
+
* and runtime. This event proves bundle funding, not the debited account.
|
|
709
|
+
* Uses the pinned runtime's event; older Relayr source has another event.
|
|
710
|
+
*/
|
|
711
|
+
function hasRelayrPaymentEvent(logs, bundleUuid, amount, deadline) {
|
|
712
|
+
if (!Array.isArray(logs) ||
|
|
713
|
+
logs.length > 1_024 ||
|
|
714
|
+
typeof bundleUuid !== "string" ||
|
|
715
|
+
!exports.RELAYR_UUID_RE.test(bundleUuid) ||
|
|
716
|
+
typeof amount !== "bigint" ||
|
|
717
|
+
amount < 0n ||
|
|
718
|
+
amount >= 1n << 256n ||
|
|
719
|
+
typeof deadline !== "bigint" ||
|
|
720
|
+
deadline < 0n ||
|
|
721
|
+
deadline >= 1n << 40n)
|
|
722
|
+
return false;
|
|
723
|
+
const matching = logs.filter((log) => {
|
|
724
|
+
if (log === null || typeof log !== "object" || Array.isArray(log))
|
|
725
|
+
return false;
|
|
726
|
+
return (typeof log.address === "string" &&
|
|
727
|
+
log.address.toLowerCase() === exports.RELAYR_PAYMENT_ADDRESS &&
|
|
728
|
+
Array.isArray(log.topics) &&
|
|
729
|
+
log.topics[0] === exports.RELAYR_PAYMENT_EVENT);
|
|
730
|
+
});
|
|
731
|
+
const event = matching[0];
|
|
732
|
+
return (matching.length === 1 &&
|
|
733
|
+
event.removed !== true &&
|
|
734
|
+
event.topics.length === 2 &&
|
|
735
|
+
event.topics[1] === `0x${bundleUuid.replaceAll("-", "").padEnd(64, "0")}` &&
|
|
736
|
+
event.data ===
|
|
737
|
+
`0x${amount.toString(16).padStart(64, "0")}${deadline.toString(16).padStart(64, "0")}`);
|
|
738
|
+
}
|
|
674
739
|
/**
|
|
675
740
|
* The node's own words for a failure: a viem error's `details` in its first
|
|
676
741
|
* eight causes. Its `message` is never read, since over HTTP it quotes the
|
|
@@ -796,22 +861,14 @@ function relayrForwardRequest(entry) {
|
|
|
796
861
|
return null;
|
|
797
862
|
}
|
|
798
863
|
}
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
* canonically included. Returns its receipt, successful or reverted. A
|
|
802
|
-
* transaction hash commits to its sender, target, calldata, value and chain,
|
|
803
|
-
* so any difference there is a {@link RelayrProofError}. A receipt,
|
|
804
|
-
* transaction and block that disagree (a lagging node, a reorg) prove nothing
|
|
805
|
-
* either way.
|
|
806
|
-
*/
|
|
807
|
-
async function proveTransaction(client, expected, words) {
|
|
808
|
-
const hash = expected.hash.toLowerCase();
|
|
864
|
+
async function readTransaction(client, expectedHash, words) {
|
|
865
|
+
const hash = expectedHash.toLowerCase();
|
|
809
866
|
let transaction;
|
|
810
867
|
let receipt;
|
|
811
868
|
try {
|
|
812
869
|
[transaction, receipt] = await Promise.all([
|
|
813
|
-
client.getTransaction({ hash:
|
|
814
|
-
client.getTransactionReceipt({ hash:
|
|
870
|
+
client.getTransaction({ hash: expectedHash }),
|
|
871
|
+
client.getTransactionReceipt({ hash: expectedHash }),
|
|
815
872
|
]);
|
|
816
873
|
}
|
|
817
874
|
catch (cause) {
|
|
@@ -821,6 +878,9 @@ async function proveTransaction(client, expected, words) {
|
|
|
821
878
|
receipt?.transactionHash?.toLowerCase() !== hash) {
|
|
822
879
|
throw new RelayrProofUnavailableError(words.unavailable);
|
|
823
880
|
}
|
|
881
|
+
return { transaction, receipt };
|
|
882
|
+
}
|
|
883
|
+
function requireExpectedTransaction(transaction, expected, words) {
|
|
824
884
|
if (transaction.chainId !== expected.chainId ||
|
|
825
885
|
!sameAddress(transaction.to, expected.to) ||
|
|
826
886
|
typeof transaction.input !== "string" ||
|
|
@@ -830,7 +890,9 @@ async function proveTransaction(client, expected, words) {
|
|
|
830
890
|
!sameAddress(transaction.from, expected.from))) {
|
|
831
891
|
throw new RelayrProofError(words.mismatch);
|
|
832
892
|
}
|
|
833
|
-
|
|
893
|
+
}
|
|
894
|
+
async function proveReceipt(client, { transaction, receipt }, target, words) {
|
|
895
|
+
if (!sameAddress(receipt.to, target) ||
|
|
834
896
|
typeof receipt.blockHash !== "string" ||
|
|
835
897
|
!(0, untrusted_js_1.isBytes32)(receipt.blockHash) ||
|
|
836
898
|
transaction.blockHash?.toLowerCase() !== receipt.blockHash.toLowerCase() ||
|
|
@@ -851,6 +913,15 @@ async function proveTransaction(client, expected, words) {
|
|
|
851
913
|
}
|
|
852
914
|
return receipt;
|
|
853
915
|
}
|
|
916
|
+
/**
|
|
917
|
+
* Prove the exact transaction and its canonical inclusion. Identity
|
|
918
|
+
* differences contradict the proof; inconsistent RPC answers prove nothing.
|
|
919
|
+
*/
|
|
920
|
+
async function proveTransaction(client, expected, words) {
|
|
921
|
+
const proof = await readTransaction(client, expected.hash, words);
|
|
922
|
+
requireExpectedTransaction(proof.transaction, expected, words);
|
|
923
|
+
return proveReceipt(client, proof, expected.to, words);
|
|
924
|
+
}
|
|
854
925
|
/** A reviewed payment's parts, or null unless it is an authenticated Relayr payment. */
|
|
855
926
|
function readReviewedPayment(payment) {
|
|
856
927
|
const bundleUuid = uuidOf(payment?.bundleUuid);
|
|
@@ -881,14 +952,17 @@ function verifiablePayment(hashes, from, payment) {
|
|
|
881
952
|
: null;
|
|
882
953
|
}
|
|
883
954
|
/**
|
|
884
|
-
* Prove
|
|
885
|
-
*
|
|
886
|
-
*
|
|
887
|
-
*
|
|
955
|
+
* Prove funding from a canonical successful transaction. A direct payment
|
|
956
|
+
* must exactly match `from`, contract, calldata and value. A wallet-wrapped
|
|
957
|
+
* payment instead requires the pinned runtime and its unique exact payment
|
|
958
|
+
* event; this proves bundle funding, not whose account was debited.
|
|
959
|
+
* Pass the hash that was mined: when a wallet speeds a payment up, viem's
|
|
960
|
+
* receipt is the replacement's, so verify
|
|
888
961
|
* its `transactionHash`, not the hash the wallet first returned.
|
|
889
962
|
*
|
|
890
|
-
* Throws {@link RelayrPaymentRevertedError}
|
|
891
|
-
*
|
|
963
|
+
* Throws {@link RelayrPaymentRevertedError} only for an exact direct payment
|
|
964
|
+
* that canonically reverted. A wrapped revert cannot prove an inner payment.
|
|
965
|
+
* That transaction paid nothing, but the bundle may still be paid by another, so
|
|
892
966
|
* only {@link requireRelayrPaymentRetry} clears the quote to be paid again.
|
|
893
967
|
* {@link RelayrProofError} means the transaction is a different one: never pay
|
|
894
968
|
* again. Any other error means the proof is unavailable for now.
|
|
@@ -897,18 +971,51 @@ async function verifyRelayrPayment(client, { hash, from, payment, }) {
|
|
|
897
971
|
const reviewed = verifiablePayment([hash], from, payment);
|
|
898
972
|
if (!reviewed)
|
|
899
973
|
throw new Error(UNVERIFIABLE);
|
|
900
|
-
const
|
|
901
|
-
hash,
|
|
902
|
-
chainId: reviewed.chainId,
|
|
903
|
-
from,
|
|
904
|
-
to: exports.RELAYR_PAYMENT_ADDRESS,
|
|
905
|
-
data: reviewed.calldata,
|
|
906
|
-
value: reviewed.amount,
|
|
907
|
-
}, {
|
|
974
|
+
const words = {
|
|
908
975
|
unavailable: `Could not read Relayr payment ${hash} on chain ${reviewed.chainId}. Do not pay again; check it later.`,
|
|
909
976
|
mismatch: "The funding transaction does not match the reviewed Relayr payment. Do not pay again; inspect the wallet's activity and the saved bundle.",
|
|
910
977
|
notCanonical: "The Relayr funding receipt is no longer canonical. Do not pay again; check it later.",
|
|
911
|
-
}
|
|
978
|
+
};
|
|
979
|
+
const proof = await readTransaction(client, hash, words);
|
|
980
|
+
const { transaction } = proof;
|
|
981
|
+
if (sameAddress(transaction.to, exports.RELAYR_PAYMENT_ADDRESS)) {
|
|
982
|
+
// A direct call retains all reviewed identity checks, even if its logs
|
|
983
|
+
// contain a payment event (e.g. trailing calldata or another sender).
|
|
984
|
+
requireExpectedTransaction(transaction, {
|
|
985
|
+
hash,
|
|
986
|
+
chainId: reviewed.chainId,
|
|
987
|
+
from,
|
|
988
|
+
to: exports.RELAYR_PAYMENT_ADDRESS,
|
|
989
|
+
data: reviewed.calldata,
|
|
990
|
+
value: reviewed.amount,
|
|
991
|
+
}, words);
|
|
992
|
+
}
|
|
993
|
+
else {
|
|
994
|
+
if (transaction.chainId !== reviewed.chainId ||
|
|
995
|
+
!isAddressLike(transaction.to))
|
|
996
|
+
throw new RelayrProofError(words.mismatch);
|
|
997
|
+
const receipt = await proveReceipt(client, proof, transaction.to, words);
|
|
998
|
+
if (receipt.status !== "success")
|
|
999
|
+
throw new RelayrProofUnavailableError(words.unavailable);
|
|
1000
|
+
if (!hasRelayrPaymentEvent(receipt.logs, reviewed.bundleUuid, reviewed.amount, reviewed.deadline))
|
|
1001
|
+
throw new RelayrProofError(words.mismatch);
|
|
1002
|
+
if (receipt.logs.some((log) => typeof log?.transactionHash !== "string" ||
|
|
1003
|
+
log.transactionHash.toLowerCase() !== hash.toLowerCase() ||
|
|
1004
|
+
typeof log.blockHash !== "string" ||
|
|
1005
|
+
log.blockHash.toLowerCase() !== receipt.blockHash.toLowerCase() ||
|
|
1006
|
+
log.blockNumber !== receipt.blockNumber))
|
|
1007
|
+
throw new RelayrProofUnavailableError(words.unavailable);
|
|
1008
|
+
if (!client.getCode)
|
|
1009
|
+
throw new RelayrProofUnavailableError(words.unavailable);
|
|
1010
|
+
try {
|
|
1011
|
+
await requireRelayrPaymentRuntime({ getCode: client.getCode }, receipt.blockNumber);
|
|
1012
|
+
}
|
|
1013
|
+
catch (cause) {
|
|
1014
|
+
throw withCause(new RelayrProofUnavailableError(words.unavailable), cause);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
// Check canonicality after runtime/event reads too, bracketing a reorg.
|
|
1018
|
+
const receipt = await proveReceipt(client, proof, transaction.to, words);
|
|
912
1019
|
if (receipt.status === "reverted") {
|
|
913
1020
|
throw new RelayrPaymentRevertedError("The Relayr funding transaction reverted onchain.", hash, reviewed.chainId);
|
|
914
1021
|
}
|
|
@@ -1032,6 +1139,19 @@ async function verifyRelayrDestination(client, { entry, hash }) {
|
|
|
1032
1139
|
}
|
|
1033
1140
|
return receipt;
|
|
1034
1141
|
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Bind Relayr's status records to a quote in binding order, using the same
|
|
1144
|
+
* inventory, request and optional account checks as {@link relayrDestinationHashes}.
|
|
1145
|
+
* Missing or malformed hashes do not prevent a record from naming its call;
|
|
1146
|
+
* available hashes must still be unique. These records describe progress,
|
|
1147
|
+
* not execution proof: verify each reported hash with {@link verifyRelayrDestination}.
|
|
1148
|
+
* Throws on incomplete or contradictory bindings; never pay again on an error.
|
|
1149
|
+
*/
|
|
1150
|
+
function relayrDestinationRecords(expected) {
|
|
1151
|
+
const records = Array.from(matchingDestinationRecords(expected));
|
|
1152
|
+
requireUniqueDestinationHashes(records.flatMap((record) => relayrDestinationHash(record) ?? []));
|
|
1153
|
+
return records;
|
|
1154
|
+
}
|
|
1035
1155
|
/**
|
|
1036
1156
|
* Bind Relayr's reported destination hashes to a quote. `bindings` are the
|
|
1037
1157
|
* quote's {@link RelayrQuote.expectedTransactions}; `records` are Relayr's
|
|
@@ -1049,7 +1169,18 @@ async function verifyRelayrDestination(client, { entry, hash }) {
|
|
|
1049
1169
|
* {@link RelayrProofError} when Relayr contradicts a binding and another error
|
|
1050
1170
|
* while the reported inventory is incomplete. Never pay again on any error.
|
|
1051
1171
|
*/
|
|
1052
|
-
function relayrDestinationHashes(
|
|
1172
|
+
function relayrDestinationHashes(expected) {
|
|
1173
|
+
const hashes = Array.from(matchingDestinationRecords(expected), (record) => {
|
|
1174
|
+
const hash = relayrDestinationHash(record);
|
|
1175
|
+
if (!hash)
|
|
1176
|
+
throw new Error(NOT_IDENTIFIED);
|
|
1177
|
+
return hash;
|
|
1178
|
+
});
|
|
1179
|
+
requireUniqueDestinationHashes(hashes);
|
|
1180
|
+
return hashes;
|
|
1181
|
+
}
|
|
1182
|
+
/** Yield in binding order so callers can validate each result before the next match. */
|
|
1183
|
+
function* matchingDestinationRecords({ bindings, records, account, }) {
|
|
1053
1184
|
const ids = bindings.map((binding) => uuidOf(binding?.txUuid));
|
|
1054
1185
|
if (!bindings.length ||
|
|
1055
1186
|
ids.some((id) => id === null) ||
|
|
@@ -1076,7 +1207,7 @@ function relayrDestinationHashes({ bindings, records, account, }) {
|
|
|
1076
1207
|
new Set(recordIds).size !== records.length) {
|
|
1077
1208
|
throw new RelayrProofError("Relayr's status names a transaction this quote did not bind. Keep the original bundle pending; do not pay again.");
|
|
1078
1209
|
}
|
|
1079
|
-
const
|
|
1210
|
+
for (const [index, binding] of bindings.entries()) {
|
|
1080
1211
|
const matches = records.filter((record, recordIndex) => relayrRecordChain(record) === binding.chain &&
|
|
1081
1212
|
(record.request !== undefined && record.request !== null
|
|
1082
1213
|
? isRequestFor(record.request, binding.entry, "when-present")
|
|
@@ -1084,15 +1215,13 @@ function relayrDestinationHashes({ bindings, records, account, }) {
|
|
|
1084
1215
|
if (matches.length !== 1) {
|
|
1085
1216
|
throw new RelayrProofError("Relayr's destination call does not match the signed request. Keep the original bundle pending; do not pay again.");
|
|
1086
1217
|
}
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
});
|
|
1218
|
+
yield matches[0];
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
function requireUniqueDestinationHashes(hashes) {
|
|
1092
1222
|
if (new Set(hashes.map((hash) => hash.toLowerCase())).size !== hashes.length) {
|
|
1093
1223
|
throw new RelayrProofError("Relayr reported one destination transaction for two signed calls. Keep the original bundle pending; do not pay again.");
|
|
1094
1224
|
}
|
|
1095
|
-
return hashes;
|
|
1096
1225
|
}
|
|
1097
1226
|
/**
|
|
1098
1227
|
* Validate all bindings with {@link relayrDestinationHashes}, then prove each
|
|
@@ -1459,14 +1588,17 @@ function relayrRetryOption(payments, options) {
|
|
|
1459
1588
|
* Where a failed payment attempt leaves its quote: `reverted` when the
|
|
1460
1589
|
* payment reverted onchain, or when the wallet declined to pay a quote paid
|
|
1461
1590
|
* before, which stays on {@link requireRelayrPaymentRetry}'s rule; `unpaid`
|
|
1462
|
-
* when the wallet declined its first payment
|
|
1463
|
-
* the
|
|
1464
|
-
*
|
|
1591
|
+
* when the wallet declined its first payment. A typed final guard refusal
|
|
1592
|
+
* before the wallet call has the same outcome. Null means nothing is known,
|
|
1593
|
+
* and the journal stays as it is. `sending` is whether the attempt's marker
|
|
1594
|
+
* was saved, and `paid` whether the quote was paid before.
|
|
1465
1595
|
*/
|
|
1466
1596
|
function relayrPaymentAttemptOutcome(error, { sending, paid }) {
|
|
1467
1597
|
if (error instanceof RelayrPaymentRevertedError)
|
|
1468
1598
|
return "reverted";
|
|
1469
|
-
if (sending &&
|
|
1599
|
+
if (sending &&
|
|
1600
|
+
(error instanceof RelayrPaymentNotSentError ||
|
|
1601
|
+
(0, contractWrite_js_1.isDefiniteWalletRejection)(error))) {
|
|
1470
1602
|
return paid ? "reverted" : "unpaid";
|
|
1471
1603
|
}
|
|
1472
1604
|
return null;
|