@bananapus/nana-sdk-core 2.25.0 → 2.27.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 (65) hide show
  1. package/dist/cjs/review/contractWrite.d.ts +12 -1
  2. package/dist/cjs/review/contractWrite.d.ts.map +1 -1
  3. package/dist/cjs/review/contractWrite.js +28 -2
  4. package/dist/cjs/review/contractWrite.js.map +1 -1
  5. package/dist/cjs/review/decode.d.ts +4 -3
  6. package/dist/cjs/review/decode.d.ts.map +1 -1
  7. package/dist/cjs/review/decode.js +28 -10
  8. package/dist/cjs/review/decode.js.map +1 -1
  9. package/dist/cjs/review/index.d.ts +1 -0
  10. package/dist/cjs/review/index.d.ts.map +1 -1
  11. package/dist/cjs/review/index.js +1 -0
  12. package/dist/cjs/review/index.js.map +1 -1
  13. package/dist/cjs/review/writeRecovery.d.ts +106 -0
  14. package/dist/cjs/review/writeRecovery.d.ts.map +1 -0
  15. package/dist/cjs/review/writeRecovery.js +385 -0
  16. package/dist/cjs/review/writeRecovery.js.map +1 -0
  17. package/dist/cjs/safeService.d.ts +16 -9
  18. package/dist/cjs/safeService.d.ts.map +1 -1
  19. package/dist/cjs/safeService.js +33 -26
  20. package/dist/cjs/safeService.js.map +1 -1
  21. package/dist/cjs/v6/sticky.d.ts +319 -2
  22. package/dist/cjs/v6/sticky.d.ts.map +1 -1
  23. package/dist/cjs/v6/sticky.js +862 -1
  24. package/dist/cjs/v6/sticky.js.map +1 -1
  25. package/dist/cjs/v6/suckers.d.ts +32 -0
  26. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  27. package/dist/cjs/v6/suckers.js +70 -0
  28. package/dist/cjs/v6/suckers.js.map +1 -1
  29. package/dist/cjs/v6/tokens.d.ts +8 -0
  30. package/dist/cjs/v6/tokens.d.ts.map +1 -1
  31. package/dist/cjs/v6/tokens.js +14 -0
  32. package/dist/cjs/v6/tokens.js.map +1 -1
  33. package/dist/esm/review/contractWrite.d.ts +12 -1
  34. package/dist/esm/review/contractWrite.d.ts.map +1 -1
  35. package/dist/esm/review/contractWrite.js +26 -2
  36. package/dist/esm/review/contractWrite.js.map +1 -1
  37. package/dist/esm/review/decode.d.ts +4 -3
  38. package/dist/esm/review/decode.d.ts.map +1 -1
  39. package/dist/esm/review/decode.js +29 -11
  40. package/dist/esm/review/decode.js.map +1 -1
  41. package/dist/esm/review/index.d.ts +1 -0
  42. package/dist/esm/review/index.d.ts.map +1 -1
  43. package/dist/esm/review/index.js +1 -0
  44. package/dist/esm/review/index.js.map +1 -1
  45. package/dist/esm/review/writeRecovery.d.ts +106 -0
  46. package/dist/esm/review/writeRecovery.d.ts.map +1 -0
  47. package/dist/esm/review/writeRecovery.js +378 -0
  48. package/dist/esm/review/writeRecovery.js.map +1 -0
  49. package/dist/esm/safeService.d.ts +16 -9
  50. package/dist/esm/safeService.d.ts.map +1 -1
  51. package/dist/esm/safeService.js +33 -26
  52. package/dist/esm/safeService.js.map +1 -1
  53. package/dist/esm/v6/sticky.d.ts +319 -2
  54. package/dist/esm/v6/sticky.d.ts.map +1 -1
  55. package/dist/esm/v6/sticky.js +821 -1
  56. package/dist/esm/v6/sticky.js.map +1 -1
  57. package/dist/esm/v6/suckers.d.ts +32 -0
  58. package/dist/esm/v6/suckers.d.ts.map +1 -1
  59. package/dist/esm/v6/suckers.js +71 -2
  60. package/dist/esm/v6/suckers.js.map +1 -1
  61. package/dist/esm/v6/tokens.d.ts +8 -0
  62. package/dist/esm/v6/tokens.d.ts.map +1 -1
  63. package/dist/esm/v6/tokens.js +13 -0
  64. package/dist/esm/v6/tokens.js.map +1 -1
  65. package/package.json +1 -1
@@ -1,5 +1,12 @@
1
1
  import type { Address } from "viem";
2
2
  export type ReviewedWritePhase = "review" | "simulating" | "signing";
3
+ /** The wallet returned a hash, but the application's submission handoff failed. */
4
+ export declare class SubmittedContractWriteError<THash = unknown> extends Error {
5
+ readonly hash: THash;
6
+ readonly name = "SubmittedContractWriteError";
7
+ readonly cause: unknown;
8
+ constructor(hash: THash, cause: unknown);
9
+ }
3
10
  /**
4
11
  * Whether a wallet error proves that nothing was broadcast. Only an explicit
5
12
  * rejection does: EIP-1193 code 4001, or viem's `UserRejectedRequestError`,
@@ -26,6 +33,10 @@ export type ReviewedContractWriteOptions<TRequest extends {
26
33
  onBeforeWriteAborted?: () => unknown | Promise<unknown>;
27
34
  /** Clear that intent only when the wallet explicitly rejects the write. */
28
35
  onWriteRejected?: () => unknown | Promise<unknown>;
36
+ /** The invoked wallet may have broadcast without returning its identity. */
37
+ onWriteUncertain?: (error: unknown) => unknown | Promise<unknown>;
38
+ /** Persist the returned identity before following its receipt. */
39
+ onWriteSubmitted?: (hash: THash) => unknown | Promise<unknown>;
29
40
  write: (simulated: TSimulated) => Promise<THash>;
30
41
  onPhase?: (phase: ReviewedWritePhase) => void;
31
42
  /**
@@ -50,5 +61,5 @@ export type ReviewedContractWriteOptions<TRequest extends {
50
61
  */
51
62
  export declare function submitReviewedContractWrite<TRequest extends {
52
63
  chainId: number;
53
- }, TSimulated, THash>({ request, expectedAccount, review, switchChain, currentAccount, simulate, reverify, beforeWrite, beforeSend, onBeforeWriteAborted, onWriteRejected, write, onPhase, accountChangedError, guard, }: ReviewedContractWriteOptions<TRequest, TSimulated, THash>): Promise<THash>;
64
+ }, TSimulated, THash>({ request, expectedAccount, review, switchChain, currentAccount, simulate, reverify, beforeWrite, beforeSend, onBeforeWriteAborted, onWriteRejected, onWriteUncertain, onWriteSubmitted, write, onPhase, accountChangedError, guard, }: ReviewedContractWriteOptions<TRequest, TSimulated, THash>): Promise<THash>;
54
65
  //# sourceMappingURL=contractWrite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcjE;AAED,MAAM,MAAM,4BAA4B,CACtC,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,IACH;IACF,OAAO,EAAE,QAAQ,CAAC;IAClB,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,EACL,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,OAAO,EACP,mBAAoE,EACpE,KAAK,GACN,EAAE,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CA0C5E"}
1
+ {"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAErE,mFAAmF;AACnF,qBAAa,2BAA2B,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,KAAK;IAKnE,QAAQ,CAAC,IAAI,EAAE,KAAK;IAJtB,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,SAAiB,KAAK,EAAE,OAAO,CAAC;gBAGrB,IAAI,EAAE,KAAK,EACpB,KAAK,EAAE,OAAO;CAOjB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmBjE;AAED,MAAM,MAAM,4BAA4B,CACtC,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,IACH;IACF,OAAO,EAAE,QAAQ,CAAC;IAClB,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,EACL,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,mBAAoE,EACpE,KAAK,GACN,EAAE,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAoD5E"}
@@ -1,7 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubmittedContractWriteError = void 0;
3
4
  exports.isDefiniteWalletRejection = isDefiniteWalletRejection;
4
5
  exports.submitReviewedContractWrite = submitReviewedContractWrite;
6
+ /** The wallet returned a hash, but the application's submission handoff failed. */
7
+ class SubmittedContractWriteError extends Error {
8
+ constructor(hash, cause) {
9
+ super("The wallet returned a transaction identity, but recording it failed. Keep this transaction pending.");
10
+ this.hash = hash;
11
+ this.name = "SubmittedContractWriteError";
12
+ Object.defineProperty(this, "cause", { value: cause, configurable: true });
13
+ }
14
+ }
15
+ exports.SubmittedContractWriteError = SubmittedContractWriteError;
5
16
  /**
6
17
  * Whether a wallet error proves that nothing was broadcast. Only an explicit
7
18
  * rejection does: EIP-1193 code 4001, or viem's `UserRejectedRequestError`,
@@ -13,6 +24,9 @@ function isDefiniteWalletRejection(error) {
13
24
  let current = error;
14
25
  for (let depth = 0; depth < 8 && current && typeof current === "object"; depth += 1) {
15
26
  const item = current;
27
+ if (item.name === "SubmittedContractWriteError" ||
28
+ item.name === "SubmittedWritePersistenceError")
29
+ return false;
16
30
  if (item.code === 4001 || item.name === "UserRejectedRequestError") {
17
31
  return true;
18
32
  }
@@ -29,7 +43,7 @@ function isDefiniteWalletRejection(error) {
29
43
  * before the review opens, after a chain switch and again immediately before
30
44
  * signing.
31
45
  */
32
- async function submitReviewedContractWrite({ request, expectedAccount, review, switchChain, currentAccount, simulate, reverify, beforeWrite, beforeSend, onBeforeWriteAborted, onWriteRejected, write, onPhase, accountChangedError = "The connected account changed. Review again.", guard, }) {
46
+ async function submitReviewedContractWrite({ request, expectedAccount, review, switchChain, currentAccount, simulate, reverify, beforeWrite, beforeSend, onBeforeWriteAborted, onWriteRejected, onWriteUncertain, onWriteSubmitted, write, onPhase, accountChangedError = "The connected account changed. Review again.", guard, }) {
33
47
  guard?.();
34
48
  if (!expectedAccount)
35
49
  throw new Error("Connect a wallet first.");
@@ -58,16 +72,28 @@ async function submitReviewedContractWrite({ request, expectedAccount, review, s
58
72
  throw error;
59
73
  }
60
74
  // No await or caller callback may separate the final synchronous gates from write.
75
+ let hash;
61
76
  try {
62
- return await write(simulated);
77
+ hash = await write(simulated);
63
78
  }
64
79
  catch (error) {
65
80
  // The same-looking error from review/simulation never reaches this catch.
66
81
  // An RPC timeout or ambiguous submission must preserve the recovery lock.
67
82
  if (isDefiniteWalletRejection(error))
68
83
  await onWriteRejected?.();
84
+ else
85
+ await onWriteUncertain?.(error);
69
86
  throw error;
70
87
  }
88
+ // A persistence failure after the wallet returned a hash is never a wallet
89
+ // rejection, even if a callback happens to throw a rejection-shaped error.
90
+ try {
91
+ await onWriteSubmitted?.(hash);
92
+ }
93
+ catch (cause) {
94
+ throw new SubmittedContractWriteError(hash, cause);
95
+ }
96
+ return hash;
71
97
  }
72
98
  function assertExpectedAccount(current, expected, message) {
73
99
  if (!current || current.toLowerCase() !== expected.toLowerCase()) {
@@ -1 +1 @@
1
- {"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":";;AAWA,8DAcC;AA6CD,kEA8DC;AAhID;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACnD,KAAK,IAAI,CAAC,EACV,CAAC;QACD,MAAM,IAAI,GAAG,OAA8D,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAoCD;;;;;;;;GAQG;AACI,KAAK,UAAU,2BAA2B,CAI/C,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,OAAO,EACP,mBAAmB,GAAG,8CAA8C,EACpE,KAAK,GACqD;IAC1D,KAAK,EAAE,EAAE,CAAC;IACV,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACjE,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IACxB,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC9E,MAAM,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,IAAI,WAAW;QAAE,MAAM,WAAW,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QACrB,qBAAqB,CACnB,cAAc,EAAE,EAChB,eAAe,EACf,mBAAmB,CACpB,CAAC;QACF,UAAU,EAAE,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,WAAW;YAAE,MAAM,oBAAoB,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,mFAAmF;IACnF,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,yBAAyB,CAAC,KAAK,CAAC;YAAE,MAAM,eAAe,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA4B,EAC5B,QAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type AbiFunction } from "viem";
2
+ import { type StickySourceCollectorDeployment } from "../v6/sticky.js";
2
3
  import type { TransactionReviewCall, TransactionReviewRequest } from "./transactionReview.js";
3
4
  /** A decoded argument: numbered steps of `Label: value` rows. */
4
5
  export type PrettyStep = {
@@ -11,7 +12,7 @@ export type PrettyStep = {
11
12
  * generations names the generation: "JBBuybackHook (current)",
12
13
  * "JBBuybackHook (previous)".
13
14
  */
14
- export declare function knownAddressName(chainId: number, value: unknown): string | null;
15
+ export declare function knownAddressName(chainId: number, value: unknown, collectors?: readonly StickySourceCollectorDeployment[]): string | null;
15
16
  /**
16
17
  * One ABI value as review text. An address carries its known name
17
18
  * ("JBController | 0x…"), and long bytes are shortened; the raw payload keeps
@@ -125,7 +126,7 @@ export declare function describeSuckerClaim(chainId: number, value: unknown): Pr
125
126
  * so they are null. Any other target, a selector its ABI lacks, or a
126
127
  * non-canonical encoding is null too.
127
128
  */
128
- export declare function describeSafeInnerCall(chainId: number, to: unknown, data: unknown): PrettyStep[] | null;
129
+ export declare function describeSafeInnerCall(chainId: number, to: unknown, data: unknown, collectors?: readonly StickySourceCollectorDeployment[]): PrettyStep[] | null;
129
130
  /** A Safe proxy `initializer`: owners, threshold, setup hook and any payment. */
130
131
  export declare function describeSafeInitializer(chainId: number, value: unknown): PrettyStep[] | null;
131
132
  /** A `setPermissionsFor` grant, naming each permission id from the V6 catalog. */
@@ -134,5 +135,5 @@ export declare function describePermissionsData(chainId: number, value: unknown)
134
135
  * `setSplitGroupsOf` groups: each split's share, recipient, hook and lock,
135
136
  * with an honest total. A Sticky split names the holder group it pays.
136
137
  */
137
- export declare function describeSplitGroups(chainId: number, value: unknown): PrettyStep[] | null;
138
+ export declare function describeSplitGroups(chainId: number, value: unknown, collectors?: readonly StickySourceCollectorDeployment[]): PrettyStep[] | null;
138
139
  //# sourceMappingURL=decode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/review/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/review/decode.ts"],"names":[],"mappings":"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"}
@@ -78,13 +78,16 @@ function namedAddresses() {
78
78
  * generations names the generation: "JBBuybackHook (current)",
79
79
  * "JBBuybackHook (previous)".
80
80
  */
81
- function knownAddressName(chainId, value) {
81
+ function knownAddressName(chainId, value, collectors = sticky_js_1.STICKY_SOURCE_COLLECTOR_DEPLOYMENTS) {
82
82
  if (typeof value !== "string" || !/^0x[0-9a-f]{40}$/iu.test(value)) {
83
83
  return null;
84
84
  }
85
85
  if (value.toLowerCase() === uniswapV4Deployments_js_1.UNISWAP_PERMIT2_ADDRESS.toLowerCase()) {
86
86
  return "Permit2";
87
87
  }
88
+ const collector = (0, sticky_js_1.stickySourceCollectorAt)(chainId, value, collectors);
89
+ if (collector)
90
+ return `StickySourceCollector (home chain ${collector.destinationChainId})`;
88
91
  return namedAddresses().get(addressKey(chainId, value)) ?? null;
89
92
  }
90
93
  /** "Name | 0x…" for a known address, otherwise the address. */
@@ -846,6 +849,7 @@ function safeInnerAbiOf(contract) {
846
849
  ["JBBuybackHook", jbBuybackHookAbi_js_1.jbBuybackHookAbi],
847
850
  ["JBRouterTerminalRegistry", jbRouterTerminalRegistryAbi_js_1.jbRouterTerminalRegistryAbi],
848
851
  ["JBRouterTerminalGateway", jbRouterTerminalGatewayAbi_js_1.jbRouterTerminalGatewayAbi],
852
+ ["StickySourceCollector", sticky_js_1.stickySourceCollectorAbi],
849
853
  ]);
850
854
  return safeInnerAbis.get(contract);
851
855
  }
@@ -860,7 +864,7 @@ function safeInnerAbiOf(contract) {
860
864
  * so they are null. Any other target, a selector its ABI lacks, or a
861
865
  * non-canonical encoding is null too.
862
866
  */
863
- function describeSafeInnerCall(chainId, to, data) {
867
+ function describeSafeInnerCall(chainId, to, data, collectors = sticky_js_1.STICKY_SOURCE_COLLECTOR_DEPLOYMENTS) {
864
868
  if (typeof data !== "string" ||
865
869
  !/^0x(?:[0-9a-f]{2})+$/iu.test(data) ||
866
870
  data.length < 10) {
@@ -868,7 +872,7 @@ function describeSafeInnerCall(chainId, to, data) {
868
872
  }
869
873
  if (typeof to !== "string" || !/^0x[0-9a-f]{40}$/iu.test(to))
870
874
  return null;
871
- const target = knownAddressName(chainId, to);
875
+ const target = knownAddressName(chainId, to, collectors);
872
876
  const abi = target === null || target === "USDC"
873
877
  ? viem_1.erc20Abi
874
878
  : safeInnerAbiOf(target.replace(/ \([^)]*\)$/u, ""));
@@ -1037,7 +1041,7 @@ function isStickyHook(hook, chainId) {
1037
1041
  * `setSplitGroupsOf` groups: each split's share, recipient, hook and lock,
1038
1042
  * with an honest total. A Sticky split names the holder group it pays.
1039
1043
  */
1040
- function describeSplitGroups(chainId, value) {
1044
+ function describeSplitGroups(chainId, value, collectors = sticky_js_1.STICKY_SOURCE_COLLECTOR_DEPLOYMENTS) {
1041
1045
  if (!Array.isArray(value))
1042
1046
  return null;
1043
1047
  const steps = [];
@@ -1063,14 +1067,28 @@ function describeSplitGroups(chainId, value) {
1063
1067
  total += split.percent;
1064
1068
  // A Sticky split's projectId is its holder group and its beneficiary is the Sticky token.
1065
1069
  const sticky = typeof split.hook === "string" && isStickyHook(split.hook, chainId);
1070
+ const collector = typeof split.hook === "string"
1071
+ ? (0, sticky_js_1.stickySourceCollectorAt)(chainId, split.hook, collectors)
1072
+ : undefined;
1073
+ const collectorInvalid = collector &&
1074
+ (group.groupId !== 1n ||
1075
+ split.beneficiary.toLowerCase() === viem_1.zeroAddress ||
1076
+ (0, sticky_js_1.validateStickyGroupId)(split.projectId) !== null);
1066
1077
  const parts = [
1067
- sticky
1068
- ? `${(0, sticky_js_1.describeStickySplit)({ projectId: split.projectId })} → Sticky token ${addressLabel(chainId, split.beneficiary)}`
1069
- : split.projectId !== 0n
1070
- ? `project #${split.projectId} (beneficiary ${split.beneficiary})`
1071
- : addressLabel(chainId, split.beneficiary),
1078
+ collector
1079
+ ? collectorInvalid
1080
+ ? `Invalid Sticky collector split: group ${split.projectId}, Sticky token ${addressLabel(collector.destinationChainId, split.beneficiary)} on home chain ${collector.destinationChainId} (reserved group 1 and a valid reward group required); allocation rejected`
1081
+ : `${(0, sticky_js_1.describeStickySplit)({ projectId: split.projectId })} → Sticky token ${addressLabel(collector.destinationChainId, split.beneficiary)} on home chain ${collector.destinationChainId}`
1082
+ : sticky
1083
+ ? `${(0, sticky_js_1.describeStickySplit)({ projectId: split.projectId })} → Sticky token ${addressLabel(chainId, split.beneficiary)}`
1084
+ : split.projectId !== 0n
1085
+ ? `project #${split.projectId} (beneficiary ${split.beneficiary})`
1086
+ : addressLabel(chainId, split.beneficiary),
1072
1087
  ];
1073
- if (sticky) {
1088
+ if (collector) {
1089
+ parts.push(`via StickySourceCollector ${split.hook} (home chain ${collector.destinationChainId})`);
1090
+ }
1091
+ else if (sticky) {
1074
1092
  parts.push(`via StickyDistributor ${split.hook}`);
1075
1093
  }
1076
1094
  else if (typeof split.hook === "string" &&
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/review/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/review/decode.ts"],"names":[],"mappings":";;AAqIA,4CAmBC;AAoCD,sCAkBC;AAGD,gCAWC;AAGD,kCAEC;AAQD,4CAsBC;AAOD,8CAeC;AA2ED,oDA0HC;AA4KD,wEAuIC;AA0FD,wDA+HC;AAaD,kDAmDC;AAoCD,sDAyDC;AAKD,0DAwEC;AAKD,0DAiDC;AAsBD,kDAgGC;AA53CD,+BAec;AACd,0DAA2E;AAC3E,8EAAwE;AACxE,8FAAwF;AACxF,4EAAsE;AACtE,0EAAoE;AACpE,kFAA4E;AAC5E,8EAAwE;AACxE,wEAAkE;AAClE,kGAA4F;AAC5F,oGAA8F;AAC9F,oEAA8D;AAC9D,oEAA8D;AAC9D,0DAGkC;AAClC,wCAIoB;AAEpB,6DAAyD;AACzD,+CAQyB;AACzB,2EAGuC;AAgBvC;;;GAGG;AACH,SAAS,WAAW,CAClB,MAAc,EACd,IAAS;IAET,MAAM,OAAO,GAAG,IAAA,0BAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,IACE,IAAA,0BAAmB,EAAC,MAAM,EAAE,OAAgB,CAAC,CAAC,WAAW,EAAE;QAC3D,IAAI,CAAC,WAAW,EAAE,EAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,IAAI,YAA6C,CAAC;AAElD,MAAM,UAAU,GAAG,CAAC,OAAwB,EAAE,OAAe,EAAE,EAAE,CAC/D,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAExC,uEAAuE;AACvE,SAAS,cAAc;IACrB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,kEAAkE;IAClE,MAAM,GAAG,GAAG,CAAC,KAAmB,EAAE,IAAY,EAAE,EAAE;QAChD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,sCAAwB,CAAC,GAAG,CAE3C,CAAC;IACF,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5C,+BAAiB,CAAC,GAAG,CAA2C,CACjE,EAAE,CAAC;QACF,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,UAAU,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,GAAG,CAAC,iCAAc,EAAE,MAAM,CAAC,CAAC;IAC5B,GAAG,CACD,+DAAqD,EACrD,0BAA0B,CAC3B,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,OAAe,EACf,KAAc,EACd,aAAyD,+CAAmC;IAE5F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,iDAAuB,CAAC,WAAW,EAAE,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,mCAAuB,EACvC,OAAO,EACP,KAAgB,EAChB,UAAU,CACX,CAAC;IACF,IAAI,SAAS;QACX,OAAO,qCAAqC,SAAS,CAAC,kBAAkB,GAAG,CAAC;IAC9E,OAAO,cAAc,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;AAClE,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY,CAAC,OAAe,EAAE,OAAe;IACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED,2FAA2F;AAC3F,SAAS,aAAa,CAAC,OAAe,EAAE,QAAgB;IACtD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,kBAAW;QAC3C,CAAC,CAAC,gBAAgB,QAAQ,EAAE;QAC5B,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,gFAAgF;AAEhF,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC;QACH,OAAO,CACL,IAAI,CAAC,SAAS,CACZ,KAAK,EACL,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAChE,CAAC,CACF,IAAI,MAAM,CAAC,KAAK,CAAC,CACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,IAAY,EACZ,KAAc,EACd,OAAe;IAEf,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAClD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,4EAA4E;AAC5E,SAAgB,UAAU,CACxB,KAAc,EACd,IAAY,EACZ,KAAa;IAEb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6DAA6D;AAC7D,SAAgB,WAAW,CAAC,KAAK,GAAG,EAAE;IACpC,OAAO,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,UAAU,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,IAA2E;IAE3E,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACxB,CAAC,KAAK,EAAwB,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY;QAChC,IAAA,yBAAkB,EAAC,KAAK,CAAC,KAAK,QAAQ,CACzC,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC;YACjC,GAAG,EAAE,CAAC,IAAI,CAAC;YACX,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,OAAyE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,2JAA2J,CAAC;IACrK,CAAC;IACD,OAAO,mGACL,OAAO,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CACjE;QACC,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,mEACN,EAAE,CAAC;AACL,CAAC;AA6CD,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,OAAO;IACb,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,SAAS,EAAE;KACpB;CACO,CAAC;AAEX,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG;IACvB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,OAAO,EAAE;CACT,CAAC;AAEX,oFAAoF;AACpF,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAU,CAAC;AAEtE;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,KAAY,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,GAC1D,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBACtC,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,oBAAoB;wBAC5B,QAAQ,EAAE,IAAI,OAAO,EAAE;wBACvB,SAAS;wBACT,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;qBAC5D,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,oEAAoE;oBACpE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,GAC1D,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBACtC,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,oBAAoB;wBAC5B,QAAQ,EAAE,IAAI,OAAO,EAAE;wBACvB,SAAS;wBACT,UAAU,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;qBAC7D,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CACJ,GAAG,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACT,GAAG,WAAW,CACb;wBACE,QAAQ;wBACR,EAAE,IAAI,EAAE,OAAO,EAAE;wBACjB,EAAE,IAAI,EAAE,OAAO,EAAE;wBACjB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClB,EACD,IAAI,CACL,CAAC;oBACF,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,eAAe;wBACvB,KAAK;wBACL,IAAI,EAAE;4BACJ,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;4BACjB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;4BACjB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;4BACX,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;4BACnB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;yBACb;wBACD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC7C,SAAS;wBACT,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;qBAC5D,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,WAAW,CAC7D;wBACE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClB,EACD,IAAI,CACL,CAAC;oBACF,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,eAAe;wBACvB,QAAQ,EAAE,IAAI,OAAO,EAAE;wBACvB,UAAU,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;qBAC7D,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,WAAW,CACnD,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,IAAI,CACL,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnD,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,WAAW,CACvC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,IAAI,CACL,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrD,MAAM;gBACR,CAAC;gBACD;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,aAAa,GAAG,4CAA4C,CAAC;AACnE,MAAM,eAAe,GAAG,4CAA4C,CAAC;AACrE,MAAM,mBAAmB,GACvB,mEAAmE,CAAC;AACtE,MAAM,qBAAqB,GACzB,oDAAoD,CAAC;AAEvD,SAAS,WAAW,CAAC,OAAe,EAAE,OAAe;IACnD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa;QAAE,OAAO,kBAAkB,CAAC;IACvE,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;QAC9C,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,KAAK,mBAAmB;QAClC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,KAAK,EAAE;QACjB,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,KAAK,mBAAmB;QAClC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,oCAAoC;AACpC,SAAS,KAAK,CAAC,WAAoB;IACjC,OAAO,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,OAAwB;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,KAAK,GAAG,cAAkB;QAAE,OAAO,GAAG,KAAK,sBAAsB,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;AACzE,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAY;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,KAAK,GAAa,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,IAAI,GAAG,GAAG,MAAM,IAAI,EACpB,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,6FAA6F;AAC7F,MAAM,kBAAkB,GAAG;IACzB;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;YACV,QAAQ;YACR,EAAE,IAAI,EAAE,MAAM,EAAE;YAChB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,OAAO,EAAE;SAClB;KACF;CACO,CAAC;AAEX,oFAAoF;AACpF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAU;IAChD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CACrE,kBAAkB,EAClB,IAAI,CACL,CAAC;gBACF,IAAI,QAAQ,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,6CAA6C;oBACpD,IAAI,EAAE;wBACJ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7D,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;wBACxC,CAAC,aAAa,EAAE,GAAG,UAAU,uBAAuB,CAAC;wBACrD,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,qBAAqB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnE,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,WAAW,CACjD,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,IAAI,CACL,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE;wBACJ,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAC9C,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;wBAChC,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;qBAChC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,WAAW,CACrC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,IAAI,CACL,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,8BAA8B;oBACrC,IAAI,EAAE;wBACJ,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAC9C,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;qBAChC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAC/C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,IAAI,CACL,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,sBAAsB;oBAC7B,IAAI,EAAE;wBACJ,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAC9C,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC9C,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;qBACpC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAC5C,OAAe,EACf,IAAoC;IAEpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAChC,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAQ,CAAC;YAClC,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,GACxD,WAAW,CACT;wBACE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,OAAO,EAAE;wBACjB,EAAE,IAAI,EAAE,MAAM,EAAE;qBACjB,EACD,IAAI,CACL,CAAC;oBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,sCAAsC;wBAC7C,IAAI,EAAE;4BACJ,CAAC,OAAO,EAAE,KAAK,CAAC;4BAChB,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;4BACrC;gCACE,aAAa;gCACb,UAAU,KAAK,EAAE;oCACf,CAAC,CAAC,kDAAkD;oCACpD,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;6BAC1B;4BACD,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;4BAC/B,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;yBAC/C;qBACF,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW,CACnD;wBACE;4BACE,IAAI,EAAE,OAAO;4BACb,UAAU,EAAE;gCACV;oCACE,IAAI,EAAE,OAAO;oCACb,UAAU,EAAE;wCACV,EAAE,IAAI,EAAE,SAAS,EAAE;wCACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wCACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAClB,EAAE,IAAI,EAAE,QAAQ,EAAE;qCACnB;iCACF;gCACD,EAAE,IAAI,EAAE,SAAS,EAAE;gCACnB,EAAE,IAAI,EAAE,SAAS,EAAE;6BACpB;yBACF;wBACD,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClB,EACD,IAAI,CACL,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,yCAAyC;wBAChD,IAAI,EAAE;4BACJ,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5C,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACjC,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAC3C;gCACE,SAAS;gCACT,sEAAsE;gCACtE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;6BAChE;4BACD,CAAC,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;yBAC9C;qBACF,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CACrC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,IAAI,CACL,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,oBAAoB;wBAC3B,IAAI,EAAE;4BACJ,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;4BAChC,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;yBAC/C;qBACF,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,WAAW,CACtC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,IAAI,CACL,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,yBAAyB;wBAChC,IAAI,EAAE;4BACJ;gCACE,SAAS;gCACT,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;6BACvD;4BACD,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;yBAC/C;qBACF,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE,CACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAChC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAClD,CAAC;AAEJ,yDAAyD;AACzD,SAAS,eAAe,CACtB,KAA8B,EAC9B,OAAY;IAEZ,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,CAAiB,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACpC,gEAAgE;IAChE,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC;IACnC,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,IAAI,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IACD,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,gDAAgD;IAChD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACrE,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IACvE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAChC,MAAM,GAAG,GACP,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACpE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAS,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED,yDAAyD;AACzD,SAAS,YAAY,CAAC,OAA0B;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,OAA0B,EAC1B,KAAc;IAEd,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,GAAuB,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,sEAAsE;QACtE,yEAAyE;QACzE,aAAa;QACb,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,eAAe,CAC1B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACxC,KAAK,CAAC,OAAO,CACd,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP;4BACE,kBAAkB;4BAClB,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;yBAC/D;wBACD;4BACE,oBAAoB;4BACpB,IAAI,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,kCAAkC;gCACpC,CAAC,CAAC,yBAAyB;yBAC9B;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,eAAe,CAC7B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,KAAK,CAAC,OAAO,CACd,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,gCAAgC;wBACvC,IAAI,EAAE;4BACJ,GAAG,IAAI;4BACP,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACzC,CAAC,qBAAqB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;4BAC7D,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC7D;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,eAAe,CAC7B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACvC,KAAK,CAAC,OAAO,CACd,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,+BAA+B;wBACtC,IAAI,EAAE;4BACJ,GAAG,IAAI;4BACP,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BAC9C;gCACE,gCAAgC;gCAChC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI;6BACzD;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAC5B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EACvB,KAAK,CAAC,OAAO,CACd,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP;4BACE,WAAW;4BACX,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;gCACd,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gCAC5C,CAAC,CAAC,MAAM;yBACX;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EACH,sEAAsE;gBACxE,IAAI,EAAE;oBACJ,GAAG,IAAI;oBACP,GAAG,QAAQ,CAAC,GAAG,CACb,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CACb;wBACE,WAAW,CAAC,GAAG,CAAC,EAAE;wBAClB,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI;6BAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;6BAClB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;6BACvD,IAAI,CAAC,IAAI,CAAC,EAAE;qBACI,CACxB;iBACF;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,8BAA8B,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;gBACzF,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF,oEAAoE;AACpE,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,SAAgB,mBAAmB,CACjC,OAAe,EACf,KAAc;IAEd,MAAM,KAAK,GAAG,KAUN,CAAC;IACT,IACE,CAAC,KAAK;QACN,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,KAAK,CAAC,IAAI;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,QAAQ;QAChD,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,QAAQ;QAClD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE;QACzB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAuB;QAC/B,CAAC,gBAAgB,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC3D,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;KACrE,CAAC;IACF,IACE,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;QACvC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EACnC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC;QACR,cAAc;QACd,kDAAkD;KACnD,CAAC,CAAC;IACH,OAAO;QACL,EAAE,KAAK,EAAE,sDAAsD,EAAE,IAAI,EAAE;KACxE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,IAAI,aAAmD,CAAC;AAExD,4FAA4F;AAC5F,SAAS,cAAc,CAAC,QAAgB;IACtC,aAAa,KAAK,IAAI,GAAG,CAAc;QACrC,CAAC,cAAc,EAAE,oCAAe,CAAC;QACjC,CAAC,iBAAiB,EAAE,0CAAkB,CAAC;QACvC,CAAC,aAAa,EAAE,kCAAc,CAAC;QAC/B,CAAC,UAAU,EAAE,4BAAW,CAAC;QACzB,CAAC,eAAe,EAAE,sCAAgB,CAAC;QACnC,CAAC,UAAU,EAAE,4BAAW,CAAC;QACzB,CAAC,YAAY,EAAE,gCAAa,CAAC;QAC7B,CAAC,uBAAuB,EAAE,sDAAwB,CAAC;QACnD,CAAC,eAAe,EAAE,sCAAgB,CAAC;QACnC,CAAC,0BAA0B,EAAE,4DAA2B,CAAC;QACzD,CAAC,yBAAyB,EAAE,0DAA0B,CAAC;QACvD,CAAC,uBAAuB,EAAE,oCAAwB,CAAC;KACpD,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CACnC,OAAe,EACf,EAAW,EACX,IAAa,EACb,aAAyD,+CAAmC;IAE5F,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,EAAE,EAChB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,GAAG,GACP,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM;QAClC,CAAC,CAAE,eAAgB;QACnB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IACE,MAAM,KAAK,IAAI;QACf,CAAC,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,EACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CACnB,CAAC,KAAK,EAAwB,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC,KAAK,QAAQ,CACtE,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAW,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAAC;YACnC,GAAG,EAAE,CAAC,IAAI,CAAC;YACX,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,IAAI;SACL,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAuB,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,YAAY,KAAK,GAAG,CAAC,EAAE;QAClD,UAAU,CAAC,QAAQ,CAAC;KACrB,CAAC,CAAC;IACH,OAAO;QACL;YACE,KAAK,EACH,MAAM,KAAK,IAAI;gBACb,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,iDAAiD;gBAC7E,CAAC,CAAC,iBAAiB,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK;YAC/C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,iFAAiF;AACjF,SAAgB,uBAAuB,CACrC,OAAe,EACf,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC;YACH,OAAO,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,KAAY,EAAE,CAAC;iBACnE,IAAI,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,0EAA0E;IAC1E,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAAC;QACnC,GAAG,EAAE,wBAAc;QACnB,YAAY,EAAE,OAAO;QACrB,IAAI;KACL,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,CACJ,MAAM,EACN,SAAS,EACT,EAAE,EACF,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,OAAO,EACP,eAAe,EAChB,GAAG,IAAI,CAAC;IACT,MAAM,IAAI,GAAuB;QAC/B,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QACvC,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;KAC7D,CAAC;IACF,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,kBAAW,EAAE,CAAC;QACrC,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC;YACR,YAAY;YACZ,IAAI,KAAK,IAAI;gBACX,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,sDAAsD;SAC3D,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,GAAG,mBAAmB,EAAE,kCAAkC,CAAC;QACnE,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,kCAAwB,CAAC,WAAW,EAAE,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,8BAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,MAAM,cAAc,GAAG,IAAA,yBAAkB,EAAC;oBACxC,GAAG,EAAE,8BAAoB;oBACzB,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxD,IAAI,GAAG,2BAA2B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,EAAE,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,kBAAW,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC;YACR,oBAAoB;YACpB,GAAG,OAAO,OAAO,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,eAAe,oBAAoB;SAChG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,gFAAgF;AAEhF,kFAAkF;AAClF,SAAgB,uBAAuB,CACrC,OAAe,EACf,KAAc;IAEd,MAAM,IAAI,GAAG,KAIL,CAAC;IACT,IACE,CAAC,IAAI;QACL,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QACjC,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;YACjC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;QACrC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAClC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CACvB,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CACvD,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAyB,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAuB;QAC/B,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD;YACE,OAAO;YACP,SAAS,KAAK,EAAE;gBACd,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,YAAY,SAAS,EAAE;SAC5B;QACD;YACE,aAAa;YACb,KAAK,CAAC,MAAM;gBACV,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,8CAA8C;SACnD;KACF,CAAC;IACF,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YACR,SAAS;YACT,4DAA4D;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,gFAAgF;AAEhF,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,uCAAoB,CAAC;IACrD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,6FAA6F;AAC7F,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,IAAI,CAAC;QACH,OAAO,IAAA,yBAAa,EAAC,EAAE,IAAI,EAAE,IAAe,EAAE,EAAE,OAAoB,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,KAAc,EACd,aAAyD,+CAAmC;IAE5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAUjB,EAAE,CAAC;QACJ,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,KAAK,EAAE;YAClB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,IAAI;gBAC1B,CAAC,CAAC,cAAc,YAAY,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC5F,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IACE,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;gBAClC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;gBACrC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBACnC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;oBAC9B,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAC3C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;YACvB,0FAA0F;YAC1F,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,IAAA,mCAAuB,EAAC,OAAO,EAAE,KAAK,CAAC,IAAe,EAAE,UAAU,CAAC;gBACrE,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,gBAAgB,GACpB,SAAS;gBACT,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE;oBACnB,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,kBAAW;oBAC/C,IAAA,iCAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG;gBACZ,SAAS;oBACP,CAAC,CAAC,gBAAgB;wBAChB,CAAC,CAAC,yCAAyC,KAAK,CAAC,SAAS,kBAAkB,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,kBAAkB,SAAS,CAAC,kBAAkB,4EAA4E;wBACnQ,CAAC,CAAC,GAAG,IAAA,+BAAmB,EAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,mBAAmB,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,kBAAkB,SAAS,CAAC,kBAAkB,EAAE;oBAC1L,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,GAAG,IAAA,+BAAmB,EAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,mBAAmB,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;wBACrH,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE;4BACtB,CAAC,CAAC,YAAY,KAAK,CAAC,SAAS,iBAAiB,KAAK,CAAC,WAAW,GAAG;4BAClE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;aACjD,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CACR,6BAA6B,KAAK,CAAC,IAAI,gBAAgB,SAAS,CAAC,kBAAkB,GAAG,CACvF,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,IACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,kBAAW,EACxC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBACnE,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,SAAS,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,OAAO;YACP,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,uCAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gDAAgD,EAAE;SAClH,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC"}
@@ -4,4 +4,5 @@ export * from "./receipt.js";
4
4
  export * from "./simulation.js";
5
5
  export * from "./transactionReview.js";
6
6
  export * from "./transaction-message.js";
7
+ export * from "./writeRecovery.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/review/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/review/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
@@ -20,4 +20,5 @@ __exportStar(require("./receipt.js"), exports);
20
20
  __exportStar(require("./simulation.js"), exports);
21
21
  __exportStar(require("./transactionReview.js"), exports);
22
22
  __exportStar(require("./transaction-message.js"), exports);
23
+ __exportStar(require("./writeRecovery.js"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/review/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,+CAA6B;AAC7B,kDAAgC;AAChC,yDAAuC;AACvC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/review/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,+CAA6B;AAC7B,kDAAgC;AAChC,yDAAuC;AACvC,2DAAyC;AACzC,qDAAmC"}
@@ -0,0 +1,106 @@
1
+ import { type Address, type Hex, type PublicClient, type TransactionReceipt } from "viem";
2
+ import { type SafeServiceOptions } from "../safeService.js";
3
+ export type ReviewedWriteRecoveryInput = {
4
+ chainId: number;
5
+ account: Address;
6
+ safe: boolean;
7
+ call: {
8
+ to: Address;
9
+ data: Hex;
10
+ value?: bigint | string;
11
+ };
12
+ };
13
+ export type ReviewedWriteRecoveryRecord = Omit<ReviewedWriteRecoveryInput, "call"> & {
14
+ version: 1;
15
+ id: string;
16
+ call: {
17
+ to: Address;
18
+ data: Hex;
19
+ value: string;
20
+ };
21
+ /** The identity returned by the wallet, never an inferred historical match. */
22
+ hash?: Hex;
23
+ };
24
+ type RecoveryStorage = Pick<Storage, "getItem" | "setItem" | "removeItem">;
25
+ type RecoveryLocks = Pick<LockManager, "request">;
26
+ /** The wallet returned this identity, but storing it failed. Keep it in memory and retry submitted(hash, record). */
27
+ export declare class SubmittedWritePersistenceError extends Error {
28
+ readonly name = "SubmittedWritePersistenceError";
29
+ readonly record: ReviewedWriteRecoveryRecord;
30
+ readonly cause: unknown;
31
+ constructor(record: ReviewedWriteRecoveryRecord, cause: unknown);
32
+ }
33
+ declare function recordOf(value: unknown): ReviewedWriteRecoveryRecord;
34
+ /** Validate an existing domain journal's recovered record with the shared storage rules. */
35
+ export { recordOf as parseReviewedWriteRecoveryRecord };
36
+ /** Exact reviewed evidence, independent of the reservation and submission identities. */
37
+ export declare function sameReviewedWrite(record: ReviewedWriteRecoveryRecord, input: ReviewedWriteRecoveryInput): boolean;
38
+ /**
39
+ * One ordinary-write reservation per account/chain/target/selector. Use the
40
+ * existing domain journal instead when an action already has one. There is no
41
+ * expiry or nonce-based release: an unknown broadcast remains unknown.
42
+ *
43
+ * Every mutation must run inside withLock, including receipt-based clearing.
44
+ * Storage and native cross-tab exclusion are mandatory before opening a wallet.
45
+ */
46
+ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryInput, options?: {
47
+ storage?: RecoveryStorage;
48
+ locks?: RecoveryLocks;
49
+ }): {
50
+ read: () => ReviewedWriteRecoveryRecord | null;
51
+ reserve(actualCall?: ReviewedWriteRecoveryInput["call"]): ReviewedWriteRecoveryRecord;
52
+ submitted(hash: Hex, expected?: ReviewedWriteRecoveryRecord | undefined): ReviewedWriteRecoveryRecord;
53
+ rejected: () => void;
54
+ clear: (expected: ReviewedWriteRecoveryRecord) => void;
55
+ withLock<T>(work: () => Promise<T>, wait?: boolean): Promise<T>;
56
+ };
57
+ /** Minimal RPC reads; PublicClient instances for any chain satisfy this shape. */
58
+ export type ReviewedWriteReceiptClient = {
59
+ getChainId(): Promise<number>;
60
+ getTransaction(args: {
61
+ hash: Hex;
62
+ }): Promise<{
63
+ hash: Hex;
64
+ chainId?: number;
65
+ from: Address;
66
+ to: Address | null;
67
+ input: Hex;
68
+ blockHash: Hex | null;
69
+ blockNumber: bigint | null;
70
+ transactionIndex: number | null;
71
+ }>;
72
+ getTransactionReceipt(args: {
73
+ hash: Hex;
74
+ }): Promise<TransactionReceipt>;
75
+ getBlock(args: {
76
+ blockNumber: bigint;
77
+ }): Promise<{
78
+ hash: Hex | null;
79
+ number: bigint | null;
80
+ }>;
81
+ getBlock(args: {
82
+ blockTag: "finalized";
83
+ }): Promise<{
84
+ number: bigint | null;
85
+ hash: Hex | null;
86
+ timestamp: bigint;
87
+ }>;
88
+ };
89
+ /**
90
+ * Authenticate the saved wallet identity, canonical inclusion and Safe effect.
91
+ * Ordinary wallet wrappers are allowed: the wallet's returned hash binds their
92
+ * execution. A wallet-returned Safe proposal hash authenticates its execution
93
+ * event even through a wrapper; an immediate execution hash additionally needs
94
+ * exact reviewed calldata. A failure releases only after finality.
95
+ * Throws on missing or inconsistent evidence; the caller retains its record.
96
+ */
97
+ export declare function verifyReviewedWriteReceipt(client: ReviewedWriteReceiptClient, saved: ReviewedWriteRecoveryRecord, receipt: TransactionReceipt, proof?: {
98
+ calls: readonly ReviewedWriteRecoveryInput["call"][];
99
+ batch?: boolean;
100
+ }): Promise<"success" | "failed">;
101
+ /**
102
+ * Prove a stamped Safe call expired before execution. An advanced nonce, stale
103
+ * service result, UI phase or local clock never releases a saved write.
104
+ */
105
+ export declare function verifyReviewedWriteExpiry(client: Pick<PublicClient, "getChainId" | "getBlock" | "request">, saved: ReviewedWriteRecoveryRecord, service?: SafeServiceOptions): Promise<true>;
106
+ //# sourceMappingURL=writeRecovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeRecovery.d.ts","sourceRoot":"","sources":["../../../src/review/writeRecovery.ts"],"names":[],"mappings":"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"}