@bananapus/nana-sdk-core 2.20.0 → 2.22.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.
Files changed (57) hide show
  1. package/dist/cjs/bendystrawOperations.d.ts +4 -1
  2. package/dist/cjs/bendystrawOperations.d.ts.map +1 -1
  3. package/dist/cjs/bendystrawOperations.js +4 -1
  4. package/dist/cjs/bendystrawOperations.js.map +1 -1
  5. package/dist/cjs/jbcenter/ensureDeployed.d.ts +5 -0
  6. package/dist/cjs/jbcenter/ensureDeployed.d.ts.map +1 -1
  7. package/dist/cjs/jbcenter/ensureDeployed.js +13 -15
  8. package/dist/cjs/jbcenter/ensureDeployed.js.map +1 -1
  9. package/dist/cjs/jbcenter/rateLimit.d.ts +80 -0
  10. package/dist/cjs/jbcenter/rateLimit.d.ts.map +1 -0
  11. package/dist/cjs/jbcenter/rateLimit.js +158 -0
  12. package/dist/cjs/jbcenter/rateLimit.js.map +1 -0
  13. package/dist/cjs/jbcenter.d.ts +47 -5
  14. package/dist/cjs/jbcenter.d.ts.map +1 -1
  15. package/dist/cjs/jbcenter.js +57 -8
  16. package/dist/cjs/jbcenter.js.map +1 -1
  17. package/dist/cjs/pause.d.ts +6 -0
  18. package/dist/cjs/pause.d.ts.map +1 -0
  19. package/dist/cjs/pause.js +25 -0
  20. package/dist/cjs/pause.js.map +1 -0
  21. package/dist/cjs/review/relayr.d.ts +200 -0
  22. package/dist/cjs/review/relayr.d.ts.map +1 -1
  23. package/dist/cjs/review/relayr.js +260 -5
  24. package/dist/cjs/review/relayr.js.map +1 -1
  25. package/dist/cjs/safeService.d.ts +23 -9
  26. package/dist/cjs/safeService.d.ts.map +1 -1
  27. package/dist/cjs/safeService.js +77 -37
  28. package/dist/cjs/safeService.js.map +1 -1
  29. package/dist/esm/bendystrawOperations.d.ts +4 -1
  30. package/dist/esm/bendystrawOperations.d.ts.map +1 -1
  31. package/dist/esm/bendystrawOperations.js +4 -1
  32. package/dist/esm/bendystrawOperations.js.map +1 -1
  33. package/dist/esm/jbcenter/ensureDeployed.d.ts +5 -0
  34. package/dist/esm/jbcenter/ensureDeployed.d.ts.map +1 -1
  35. package/dist/esm/jbcenter/ensureDeployed.js +13 -15
  36. package/dist/esm/jbcenter/ensureDeployed.js.map +1 -1
  37. package/dist/esm/jbcenter/rateLimit.d.ts +80 -0
  38. package/dist/esm/jbcenter/rateLimit.d.ts.map +1 -0
  39. package/dist/esm/jbcenter/rateLimit.js +151 -0
  40. package/dist/esm/jbcenter/rateLimit.js.map +1 -0
  41. package/dist/esm/jbcenter.d.ts +47 -5
  42. package/dist/esm/jbcenter.d.ts.map +1 -1
  43. package/dist/esm/jbcenter.js +51 -7
  44. package/dist/esm/jbcenter.js.map +1 -1
  45. package/dist/esm/pause.d.ts +6 -0
  46. package/dist/esm/pause.d.ts.map +1 -0
  47. package/dist/esm/pause.js +22 -0
  48. package/dist/esm/pause.js.map +1 -0
  49. package/dist/esm/review/relayr.d.ts +200 -0
  50. package/dist/esm/review/relayr.d.ts.map +1 -1
  51. package/dist/esm/review/relayr.js +253 -6
  52. package/dist/esm/review/relayr.js.map +1 -1
  53. package/dist/esm/safeService.d.ts +23 -9
  54. package/dist/esm/safeService.d.ts.map +1 -1
  55. package/dist/esm/safeService.js +75 -35
  56. package/dist/esm/safeService.js.map +1 -1
  57. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JBCenterClient = exports.JBCenterRpcError = exports.JBCenterTimeoutError = exports.JBCenterRequestError = exports.JBCENTER_SPONSORED_CHAIN_IDS = exports.describeCenterRefusal = exports.publishSignedIntent = exports.JBCenterIntentMismatchError = exports.ensureDeployed = exports.EnsureDeployedError = exports.mergeSearch = exports.isFullyDeployed = exports.intentRow = exports.intentPath = exports.deployedChains = exports.intentCalls = exports.decodeDeploymentCall = exports.JBCENTER_RPC_METHODS = exports.MAX_JBCENTER_RESPONSE_BYTES = exports.JBCENTER_PIN_TIMEOUT_MS = exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS = exports.JBCENTER_REQUEST_TIMEOUT_MS = exports.JBCENTER_DEFAULT_URL = void 0;
3
+ exports.JBCenterClient = exports.JBCenterRpcError = exports.JBCenterTimeoutError = exports.JBCenterRequestError = exports.JBCENTER_SPONSORED_CHAIN_IDS = exports.retryAfterOf = exports.isRateLimited = exports.errorChain = exports.createJBCenterLimiter = exports.JBCENTER_MAX_RATE_LIMIT_PAUSE_MS = exports.describeCenterRefusal = exports.publishSignedIntent = exports.JBCenterIntentMismatchError = exports.ensureDeployed = exports.EnsureDeployedError = exports.mergeSearch = exports.isFullyDeployed = exports.intentRow = exports.intentPath = exports.deployedChains = exports.intentCalls = exports.decodeDeploymentCall = exports.JBCENTER_BLOCK_LAG_RETRY_DELAYS_MS = exports.JBCENTER_RPC_METHODS = exports.MAX_JBCENTER_RESPONSE_BYTES = exports.JBCENTER_PIN_TIMEOUT_MS = exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS = exports.JBCENTER_REQUEST_TIMEOUT_MS = exports.JBCENTER_DEFAULT_URL = void 0;
4
4
  exports.createJBCenterDeploymentCall = createJBCenterDeploymentCall;
5
5
  exports.sponsorableChains = sponsorableChains;
6
6
  exports.unsponsoredChains = unsponsoredChains;
@@ -9,6 +9,7 @@ exports.createJBCenterClient = createJBCenterClient;
9
9
  exports.createJBCenterRpcProvider = createJBCenterRpcProvider;
10
10
  const viem_1 = require("viem");
11
11
  const setupCalls_js_1 = require("./jbcenter/setupCalls.js");
12
+ const pause_js_1 = require("./pause.js");
12
13
  const untrusted_js_1 = require("./untrusted.js");
13
14
  exports.JBCENTER_DEFAULT_URL = "https://juicebox.center";
14
15
  exports.JBCENTER_REQUEST_TIMEOUT_MS = 15_000;
@@ -44,6 +45,25 @@ exports.JBCENTER_RPC_METHODS = [
44
45
  "eth_syncing",
45
46
  "net_version",
46
47
  ];
48
+ /**
49
+ * The waits, in milliseconds, before each retry of a read that a node behind
50
+ * the head could not answer: JSON-RPC -32001. JB Center load balances reads
51
+ * across nodes that import blocks at slightly different times, so a read
52
+ * pinned to a block one node has imported can land on a sibling that has not,
53
+ * which answers -32001 ("Requested resource not found." in viem). Waiting out
54
+ * the lag is the only correct answer: reading `latest` instead would read
55
+ * state older than the block the read pins. Base mines every two seconds, so
56
+ * these waits cover a few blocks of drift.
57
+ */
58
+ exports.JBCENTER_BLOCK_LAG_RETRY_DELAYS_MS = [
59
+ 250, 500, 1_000, 2_000, 2_000,
60
+ ];
61
+ /** A read pinned past the head of the node that answered it: JSON-RPC -32001. */
62
+ function isBehindHead(error) {
63
+ return (typeof error === "object" &&
64
+ error !== null &&
65
+ error.code === -32001);
66
+ }
47
67
  var decode_js_1 = require("./jbcenter/decode.js");
48
68
  Object.defineProperty(exports, "decodeDeploymentCall", { enumerable: true, get: function () { return decode_js_1.decodeDeploymentCall; } });
49
69
  var setupCalls_js_2 = require("./jbcenter/setupCalls.js");
@@ -62,6 +82,12 @@ Object.defineProperty(exports, "JBCenterIntentMismatchError", { enumerable: true
62
82
  Object.defineProperty(exports, "publishSignedIntent", { enumerable: true, get: function () { return publish_js_1.publishSignedIntent; } });
63
83
  var refusal_js_1 = require("./jbcenter/refusal.js");
64
84
  Object.defineProperty(exports, "describeCenterRefusal", { enumerable: true, get: function () { return refusal_js_1.describeCenterRefusal; } });
85
+ var rateLimit_js_1 = require("./jbcenter/rateLimit.js");
86
+ Object.defineProperty(exports, "JBCENTER_MAX_RATE_LIMIT_PAUSE_MS", { enumerable: true, get: function () { return rateLimit_js_1.JBCENTER_MAX_RATE_LIMIT_PAUSE_MS; } });
87
+ Object.defineProperty(exports, "createJBCenterLimiter", { enumerable: true, get: function () { return rateLimit_js_1.createJBCenterLimiter; } });
88
+ Object.defineProperty(exports, "errorChain", { enumerable: true, get: function () { return rateLimit_js_1.errorChain; } });
89
+ Object.defineProperty(exports, "isRateLimited", { enumerable: true, get: function () { return rateLimit_js_1.isRateLimited; } });
90
+ Object.defineProperty(exports, "retryAfterOf", { enumerable: true, get: function () { return rateLimit_js_1.retryAfterOf; } });
65
91
  /** Freeze a typed viem contract request into the call signed by JB Center. */
66
92
  function createJBCenterDeploymentCall(request) {
67
93
  const { chainId, address, ...parameters } = request;
@@ -489,19 +515,42 @@ class JBCenterClient {
489
515
  }
490
516
  return body.result;
491
517
  }
492
- /** Returns an EIP-1193-shaped provider suitable for viem's `custom`. */
493
- rpcProvider(chainId) {
518
+ /**
519
+ * Returns an EIP-1193-shaped provider suitable for viem's `custom`. It asks
520
+ * again for a read a node behind the head could not answer, as
521
+ * {@link JBCenterRpcProviderOptions} describes.
522
+ */
523
+ rpcProvider(chainId, options = {}) {
494
524
  if (!Number.isSafeInteger(chainId) || chainId <= 0) {
495
525
  throw new TypeError("chainId must be a positive safe integer");
496
526
  }
527
+ const given = options.blockLagRetryDelaysMs ?? exports.JBCENTER_BLOCK_LAG_RETRY_DELAYS_MS;
528
+ if (!Array.isArray(given) ||
529
+ !given.every((ms) => Number.isFinite(ms) && ms >= 0)) {
530
+ throw new TypeError("blockLagRetryDelaysMs must be a list of finite waits of 0 ms or more");
531
+ }
532
+ // The provider keeps its own copy, so the waits it checked are the waits it uses.
533
+ const delays = [...given];
534
+ const { limiter } = options;
497
535
  return {
498
- request: async (request, options) => {
536
+ request: async (request, requestOptions) => {
499
537
  if (!exports.JBCENTER_RPC_METHODS.includes(request.method)) {
500
538
  throw new TypeError("JB Center RPC method is not supported");
501
539
  }
502
- return this.rpc(chainId, request, {
503
- signal: options?.signal,
504
- });
540
+ const signal = requestOptions?.signal;
541
+ const ask = () => this.rpc(chainId, request, requestOptions);
542
+ for (let attempt = 0;; attempt += 1) {
543
+ // A request whose signal has aborted is not sent.
544
+ signal?.throwIfAborted();
545
+ try {
546
+ return await (limiter ? limiter.run(ask, { signal }) : ask());
547
+ }
548
+ catch (error) {
549
+ if (attempt >= delays.length || !isBehindHead(error))
550
+ throw error;
551
+ await (0, pause_js_1.pause)(delays[attempt], signal, () => signal?.reason);
552
+ }
553
+ }
505
554
  },
506
555
  };
507
556
  }
@@ -571,6 +620,6 @@ function createJBCenterClient(options = {}) {
571
620
  return new JBCenterClient(options);
572
621
  }
573
622
  function createJBCenterRpcProvider(chainId, options = {}) {
574
- return new JBCenterClient(options).rpcProvider(chainId);
623
+ return new JBCenterClient(options).rpcProvider(chainId, options);
575
624
  }
576
625
  //# sourceMappingURL=jbcenter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Waits `ms`, at most {@link MAX_TIMER_MS}, or rejects with `aborted()` once
3
+ * `signal` aborts: at once when it already has.
4
+ */
5
+ export declare function pause(ms: number, signal: AbortSignal | undefined, aborted: () => unknown): Promise<void>;
6
+ //# sourceMappingURL=pause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause.d.ts","sourceRoot":"","sources":["../../src/pause.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,KAAK,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,EAAE,MAAM,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pause = pause;
4
+ /** The longest delay setTimeout holds (about 24.8 days): a longer one fires at once. */
5
+ const MAX_TIMER_MS = 2_147_483_647;
6
+ /**
7
+ * Waits `ms`, at most {@link MAX_TIMER_MS}, or rejects with `aborted()` once
8
+ * `signal` aborts: at once when it already has.
9
+ */
10
+ function pause(ms, signal, aborted) {
11
+ return new Promise((resolve, reject) => {
12
+ function onAbort() {
13
+ clearTimeout(timer);
14
+ reject(aborted());
15
+ }
16
+ const timer = setTimeout(() => {
17
+ signal?.removeEventListener("abort", onAbort);
18
+ resolve();
19
+ }, Math.min(ms, MAX_TIMER_MS));
20
+ signal?.addEventListener("abort", onAbort, { once: true });
21
+ if (signal?.aborted)
22
+ onAbort();
23
+ });
24
+ }
25
+ //# sourceMappingURL=pause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause.js","sourceRoot":"","sources":["../../src/pause.ts"],"names":[],"mappings":";;AAOA,sBAoBC;AA3BD,wFAAwF;AACxF,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC;;;GAGG;AACH,SAAgB,KAAK,CACnB,EAAU,EACV,MAA+B,EAC/B,OAAsB;IAEtB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,SAAS,OAAO;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE;YACH,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAC3B,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type Address, type Hex, type PublicClient, type TransactionReceipt } from "viem";
2
+ import { erc2771ForwarderAbi } from "../generated/juicebox.js";
2
3
  /** Relayr's HTTP API. */
3
4
  export declare const RELAYR_API = "https://api.relayr.ba5ed.com";
4
5
  /**
@@ -448,5 +449,204 @@ export declare function verifyRelayrDestinations(clientFor: (chainId: number) =>
448
449
  records: readonly RelayrTransactionRecord[];
449
450
  account?: Address;
450
451
  }): Promise<RelayrVerifiedDestination[]>;
452
+ /**
453
+ * The reads that classify signed forward requests at a canonical finalized
454
+ * block. Typed by the fields they read, so a PublicClient for any chain, with
455
+ * that chain's formatters, satisfies it.
456
+ */
457
+ export type RelayrFinalizedClient = {
458
+ getBlock(args: {
459
+ blockTag: "finalized";
460
+ }): Promise<{
461
+ number: bigint | null;
462
+ hash: Hex | null;
463
+ timestamp: bigint;
464
+ }>;
465
+ getBlock(args: {
466
+ blockNumber: bigint;
467
+ }): Promise<{
468
+ hash: Hex | null;
469
+ }>;
470
+ readContract(args: {
471
+ address: Address;
472
+ abi: typeof erc2771ForwarderAbi;
473
+ functionName: "nonces";
474
+ args: readonly [Address];
475
+ blockNumber: bigint;
476
+ }): Promise<bigint>;
477
+ };
478
+ /**
479
+ * A signed forward request as these rules read it: its chain, its signer (the
480
+ * request's `from`, whose forwarder nonce it uses), its deadline in seconds,
481
+ * and the forwarder nonce it was signed with, when that was saved.
482
+ */
483
+ export type RelayrSignedRequest = {
484
+ chainId: number;
485
+ signer: Address;
486
+ deadline: number | bigint;
487
+ nonce?: string | bigint;
488
+ };
489
+ /**
490
+ * One signed request at a canonical finalized block on its chain (ruling
491
+ * R114). It is dead once the forwarder's nonce for its signer moved past the
492
+ * nonce it was signed with (it, or another request at that nonce, may have
493
+ * run), or once its deadline is strictly earlier than that block's timestamp.
494
+ * `unused`: the nonce still equals the saved one. Anything unknown is live: a
495
+ * failed read, a node without a finalized block, a block no longer canonical,
496
+ * and a request saved without its nonce until its deadline passes.
497
+ */
498
+ export type RelayrRequestState = {
499
+ live: true;
500
+ deadline: number;
501
+ } | {
502
+ live: false;
503
+ mayHaveRun: boolean;
504
+ unused: boolean;
505
+ };
506
+ /**
507
+ * What a set of requests allows together (ruling R114). While any one is live
508
+ * the set holds until `until`, the deadline of its last live request.
509
+ * `mayHaveRun` says whether a dead one's nonce moved or was never saved, and,
510
+ * once every one is dead, `unused` whether there is at least one and every
511
+ * nonce still equals the saved one.
512
+ */
513
+ export type RelayrRequestsVerdict = {
514
+ live: true;
515
+ until: number;
516
+ mayHaveRun: boolean;
517
+ } | {
518
+ live: false;
519
+ mayHaveRun: boolean;
520
+ unused: boolean;
521
+ };
522
+ /**
523
+ * Why a session whose requests are all dead can be discarded (ruling R114):
524
+ *
525
+ * - `ran`: a request's nonce moved past the one it was signed with, or the
526
+ * session saved no nonces, so one may have run;
527
+ * - `changed`: none ran, and the action's recheck refuses its calls;
528
+ * - `expired`: none ran, and no recheck could run, as in an account view. The
529
+ * action itself still signs them again at their saved nonces.
530
+ */
531
+ export type RelayrDiscardReason = "ran" | "changed" | "expired";
532
+ /**
533
+ * What a session whose bundle won't run as signed does next, from its
534
+ * requests' verdict (rulings R104 and R114). Discard ends only the session,
535
+ * never what the action saved.
536
+ *
537
+ * - `hold`: a request can still run and one may already have run. No new
538
+ * signature, no new quote and no Discard until `until`.
539
+ * - `refresh`: a request can still run and none moved (R114 (a)). Until
540
+ * `until`, the session may quote or pay its saved requests again while they
541
+ * still verify and the action's recheck passes, or sign each again at its
542
+ * saved nonce, in `nonces` (null when it saved none): the forwarder runs one
543
+ * request per nonce, so an old request and its refresh never both run. A
544
+ * signature at any other nonce waits until every request is dead.
545
+ * - `re-sign`: every request is dead and unused, and the recheck passed: sign
546
+ * the calls again at `nonces` (R104).
547
+ * - `discard`: every request is dead; Discard for `reason`. With `changed`,
548
+ * `error` is the recheck's refusal.
549
+ * - `reorg-hold`: every request is dead and none moved, but a finalized nonce
550
+ * is below a saved one (a reorg dropped an earlier forwarded transaction),
551
+ * or there are no saved nonces to sign at (`nonces` omitted or empty), or
552
+ * there were no requests. It holds until the nonce catches up.
553
+ * - `unchecked`: the recheck failed because the node could not answer (ruling
554
+ * R118): its cause chain holds a transport or JSON-RPC failure, or a revert
555
+ * without revert data, and no revert data. That decides nothing. Try again.
556
+ *
557
+ * `error` is never enumerable, so no JSON or log of an outcome shows it: an
558
+ * RPC error's URL can carry a key.
559
+ */
560
+ export type RelayrSessionOutcome = {
561
+ kind: "hold";
562
+ until: number;
563
+ } | {
564
+ kind: "refresh";
565
+ until: number;
566
+ nonces: string[] | null;
567
+ } | {
568
+ kind: "re-sign";
569
+ nonces: string[];
570
+ } | {
571
+ kind: "discard";
572
+ reason: RelayrDiscardReason;
573
+ error?: unknown;
574
+ } | {
575
+ kind: "reorg-hold";
576
+ } | {
577
+ kind: "unchecked";
578
+ error: unknown;
579
+ };
580
+ /**
581
+ * `read` at the chain's finalized block, with that block's timestamp, once
582
+ * the block at its number still has the same hash after the read. Null while
583
+ * any of it cannot be read: a node without the finalized tag, an RPC error, a
584
+ * malformed block, or a block that is no longer canonical.
585
+ */
586
+ export declare function atCanonicalFinalizedBlock<T>(client: Pick<RelayrFinalizedClient, "getBlock">, read: (blockNumber: bigint) => Promise<T>): Promise<{
587
+ value: T;
588
+ timestamp: bigint;
589
+ } | null>;
590
+ /**
591
+ * The requests a session published, each read from its entry (an `execute`
592
+ * on its chain's canonical forwarder, as {@link relayrForwardRequest} reads
593
+ * it), with the nonce it was signed with when `nonces` has one for every
594
+ * entry. Null when there are none, or one is not such a request: requests
595
+ * that can't be read can't be classified, so they never count as dead.
596
+ */
597
+ export declare function relayrSignedRequests(entries: readonly Pick<RelayrEntry, "chain" | "target" | "data">[] | undefined, nonces?: readonly (string | bigint)[]): RelayrSignedRequest[] | null;
598
+ /**
599
+ * The one classification of signed forward requests (ruling R114): each at a
600
+ * canonical finalized block on its chain, read once per chain and signer with
601
+ * `clientFor(chainId)`. Never throws for a chain it cannot read: its requests
602
+ * are live.
603
+ */
604
+ export declare function relayrRequestStates(clientFor: (chainId: number) => RelayrFinalizedClient | undefined, requests: readonly RelayrSignedRequest[]): Promise<RelayrRequestState[]>;
605
+ /**
606
+ * What `states` allow together. No states are neither run nor unused, so a
607
+ * session with none holds.
608
+ */
609
+ export declare function relayrRequestsVerdict(states: readonly RelayrRequestState[]): RelayrRequestsVerdict;
610
+ /**
611
+ * Ruling R117: whether every request is dead at a canonical finalized block
612
+ * on its chain, anything unknown counting as live. A saved session reserves
613
+ * its signers' forwarder nonces on its chains exactly while one of its
614
+ * requests is live, never by a device clock or a quote's expiry. Requests that
615
+ * can't be classified (null) or none at all are never dead.
616
+ */
617
+ export declare function relayrRequestsDead(clientFor: (chainId: number) => RelayrFinalizedClient | undefined, requests: readonly RelayrSignedRequest[] | null | undefined): Promise<boolean>;
618
+ /**
619
+ * Whether the chain's finalized block, still canonical, is past `deadline`
620
+ * (seconds, as a safe integer, decimal or 0x-hex digits, or a bigint): its
621
+ * timestamp is later. False while that is unknown, or the deadline can't be
622
+ * read.
623
+ */
624
+ export declare function relayrDeadlinePassed(client: Pick<RelayrFinalizedClient, "getBlock">, deadline: number | string | bigint): Promise<boolean>;
625
+ /** Whether `value` is a {@link RelayrDiscardReason}, for a reason read back from storage. */
626
+ export declare function isRelayrDiscardReason(value: unknown): value is RelayrDiscardReason;
627
+ /**
628
+ * What a session does next from its requests' `verdict` (see
629
+ * {@link RelayrSessionOutcome}), which was classified before the action's own
630
+ * recheck, since a request that ran would make the recheck refuse.
631
+ *
632
+ * `nonces` must be the saved nonces of exactly the requests that were
633
+ * classified into `verdict`, in the same order: `refresh` and `re-sign` hand
634
+ * them back to sign at, and nothing here can check them against the verdict.
635
+ * Without them (omitted, empty or not a list), a session whose requests are
636
+ * all dead and unused holds as `reorg-hold`, and is neither discarded nor
637
+ * signed again.
638
+ *
639
+ * `recheck`, the action's proof that its calls still apply, resolves when
640
+ * they do and throws when they don't; a value it resolves with is never read.
641
+ * It runs only once every request is dead and unused. Without one, as in an
642
+ * account view, such a session can be discarded as `expired`. A recheck that
643
+ * fails because the node could not answer decides nothing. Known limit: a
644
+ * reorg that drops an earlier forwarded transaction can leave a finalized
645
+ * nonce below a saved one, and the session holds until the nonce catches up.
646
+ */
647
+ export declare function relayrSessionOutcome(verdict: RelayrRequestsVerdict, { nonces, recheck, }?: {
648
+ nonces?: readonly string[] | null;
649
+ recheck?: () => Promise<void>;
650
+ }): Promise<RelayrSessionOutcome>;
451
651
  export {};
452
652
  //# sourceMappingURL=relayr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}