@intent-engine/client 0.1.42 → 0.1.43

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 (83) hide show
  1. package/dist/src/accounts.d.ts +13 -2
  2. package/dist/src/accounts.js +25 -8
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/client-claims.js +3 -3
  5. package/dist/src/client-claims.js.map +1 -1
  6. package/dist/src/client-committee.d.ts +4 -0
  7. package/dist/src/client-committee.js +14 -2
  8. package/dist/src/client-committee.js.map +1 -1
  9. package/dist/src/client-errors.d.ts +6 -0
  10. package/dist/src/client-errors.js +13 -0
  11. package/dist/src/client-errors.js.map +1 -1
  12. package/dist/src/client-intents.js +8 -4
  13. package/dist/src/client-intents.js.map +1 -1
  14. package/dist/src/client-reads.js +3 -3
  15. package/dist/src/client-reads.js.map +1 -1
  16. package/dist/src/client-settle.d.ts +5 -1
  17. package/dist/src/client-settle.js +41 -10
  18. package/dist/src/client-settle.js.map +1 -1
  19. package/dist/src/client-types.d.ts +18 -4
  20. package/dist/src/client-types.js.map +1 -1
  21. package/dist/src/client.d.ts +4 -3
  22. package/dist/src/client.js +8 -4
  23. package/dist/src/client.js.map +1 -1
  24. package/dist/src/confirm-release.d.ts +6 -2
  25. package/dist/src/confirm-release.js +19 -4
  26. package/dist/src/confirm-release.js.map +1 -1
  27. package/dist/src/delivery-openings.d.ts +84 -0
  28. package/dist/src/delivery-openings.js +162 -0
  29. package/dist/src/delivery-openings.js.map +1 -0
  30. package/dist/src/funding.js +16 -12
  31. package/dist/src/funding.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -0
  33. package/dist/src/index.js +1 -0
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/job-deliveries.d.ts +49 -5
  36. package/dist/src/job-deliveries.js +128 -21
  37. package/dist/src/job-deliveries.js.map +1 -1
  38. package/dist/src/job-memos.d.ts +5 -2
  39. package/dist/src/job-memos.js +16 -12
  40. package/dist/src/job-memos.js.map +1 -1
  41. package/dist/src/job-origins.d.ts +2 -2
  42. package/dist/src/job-origins.js +2 -2
  43. package/dist/src/job-origins.js.map +1 -1
  44. package/dist/src/job-pay.js +2 -2
  45. package/dist/src/job-pay.js.map +1 -1
  46. package/dist/src/job-proofs.js +2 -2
  47. package/dist/src/job-proofs.js.map +1 -1
  48. package/dist/src/job-scan.d.ts +6 -1
  49. package/dist/src/job-scan.js +13 -0
  50. package/dist/src/job-scan.js.map +1 -1
  51. package/dist/src/job-specs.d.ts +1 -0
  52. package/dist/src/job-specs.js +1 -0
  53. package/dist/src/job-specs.js.map +1 -1
  54. package/dist/src/jobs.d.ts +3 -2
  55. package/dist/src/jobs.js +3 -2
  56. package/dist/src/jobs.js.map +1 -1
  57. package/dist/src/ledger.d.ts +11 -4
  58. package/dist/src/ledger.js +46 -2
  59. package/dist/src/ledger.js.map +1 -1
  60. package/dist/src/release-reads.d.ts +8 -1
  61. package/dist/src/release-reads.js +34 -1
  62. package/dist/src/release-reads.js.map +1 -1
  63. package/dist/src/reputation.d.ts +16 -0
  64. package/dist/src/reputation.js +110 -36
  65. package/dist/src/reputation.js.map +1 -1
  66. package/dist/src/rpc-shapes.d.ts +7 -0
  67. package/dist/src/rpc-transport.js +14 -3
  68. package/dist/src/rpc-transport.js.map +1 -1
  69. package/dist/src/simple-work.d.ts +1 -1
  70. package/dist/src/simple-work.js +3 -3
  71. package/dist/src/simple-work.js.map +1 -1
  72. package/dist/src/svm.js +3 -1
  73. package/dist/src/svm.js.map +1 -1
  74. package/dist/src/transaction-keys.d.ts +5 -1
  75. package/dist/src/transaction-keys.js +67 -13
  76. package/dist/src/transaction-keys.js.map +1 -1
  77. package/dist/src/trust.d.ts +1 -0
  78. package/dist/src/trust.js +43 -28
  79. package/dist/src/trust.js.map +1 -1
  80. package/dist/src/unopened.d.ts +53 -0
  81. package/dist/src/unopened.js +169 -0
  82. package/dist/src/unopened.js.map +1 -0
  83. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import { SIGNATURE_PAGE } from "./job-scan.js";
1
+ import { SIGNATURE_PAGE, signaturePage } from "./job-scan.js";
2
2
  import { TRANSACTION_FETCHES } from "./transport.js";
3
3
  export const FUNDING_PAGES = 2;
4
4
  export const FUNDING_READS = 16;
@@ -12,12 +12,12 @@ async function listedOldestFirst(transport, wallet) {
12
12
  const listed = [];
13
13
  let before;
14
14
  for (let page = 1; page <= FUNDING_PAGES; page++) {
15
- const found = await signaturesOf.call(transport, wallet, SIGNATURE_PAGE, before);
16
- listed.push(...found);
17
- if (found.length < SIGNATURE_PAGE) {
15
+ const found = await signaturePage(transport, signaturesOf, wallet, SIGNATURE_PAGE, before);
16
+ listed.push(...found.listed);
17
+ if (found.last) {
18
18
  return listed.filter(({ failed }) => !failed).reverse();
19
19
  }
20
- before = found[found.length - 1]?.signature;
20
+ before = found.listed[found.listed.length - 1]?.signature;
21
21
  }
22
22
  return BUSY;
23
23
  }
@@ -38,9 +38,11 @@ async function readFunder(transport, wallet, covered) {
38
38
  if (transactionsOf === undefined || oldest === null) {
39
39
  return { funder: null, complete: false };
40
40
  }
41
- const reads = oldest.slice(0, FUNDING_READS);
42
- for (let at = 0; at < reads.length; at += TRANSACTION_FETCHES) {
43
- const batch = reads.slice(at, at + TRANSACTION_FETCHES);
41
+ let reads = 0;
42
+ let at = 0;
43
+ while (at < oldest.length && reads < FUNDING_READS) {
44
+ const batch = oldest.slice(at, at + TRANSACTION_FETCHES);
45
+ at += batch.length;
44
46
  const found = await transactionsOf.call(transport, batch);
45
47
  if (found.length < batch.length) {
46
48
  return { funder: null, complete: false };
@@ -49,13 +51,15 @@ async function readFunder(transport, wallet, covered) {
49
51
  if (transaction.unread === true) {
50
52
  return { funder: null, complete: false };
51
53
  }
52
- const into = transaction.transfers?.find(({ from, to, lamports }) => to === wallet && from !== wallet && lamports > 0n);
53
- if (into !== undefined) {
54
- return { funder: into.from, complete: await covered() };
54
+ const into = (transaction.transfers ?? []).filter(({ from, to }) => to === wallet && from !== wallet);
55
+ const funding = into.find(({ lamports }) => lamports > 0n);
56
+ if (funding !== undefined) {
57
+ return { funder: funding.from, complete: await covered() };
55
58
  }
59
+ reads += into.length === 0 ? 1 : 0;
56
60
  }
57
61
  }
58
- return { funder: null, complete: oldest.length <= FUNDING_READS && (await covered()) };
62
+ return { funder: null, complete: at >= oldest.length && (await covered()) };
59
63
  }
60
64
  export function fundingLookup(transport, covered) {
61
65
  const known = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"funding.js","sourceRoot":"","sources":["../../src/funding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"funding.js","sourceRoot":"","sources":["../../src/funding.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export * from "./setup.js";
12
12
  export * from "./simple.js";
13
13
  export * from "./transport.js";
14
14
  export * from "./trust.js";
15
+ export * from "./unopened.js";
package/dist/src/index.js CHANGED
@@ -12,4 +12,5 @@ export * from "./setup.js";
12
12
  export * from "./simple.js";
13
13
  export * from "./transport.js";
14
14
  export * from "./trust.js";
15
+ export * from "./unopened.js";
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -1,17 +1,29 @@
1
- import type { Address, Instruction, Signature, TransactionSigner } from "@solana/kit";
2
- import type { Transport } from "./transport.js";
1
+ import { type Address, type Instruction, type Signature, type TransactionSigner } from "@solana/kit";
2
+ import { type DeliveryOpener, type Opening, type SealedKey } from "@intent-engine/core";
3
+ import type { EngineTransaction, Transport } from "./transport.js";
3
4
  export type DeliverInput = {
4
5
  worker: TransactionSigner;
5
6
  intent: Address;
6
7
  sha256: string;
7
8
  url: string;
9
+ saltSignature?: Uint8Array;
10
+ };
11
+ export type SealedFor = {
12
+ wallet: Address;
13
+ kind: SealedKey;
14
+ key: string;
8
15
  };
9
16
  export type DeliveryPlan = {
10
17
  attestor: Address;
11
18
  instructions: Instruction[];
12
19
  commitment: string;
20
+ check: string;
21
+ salt: string;
13
22
  sealedTo: Address[];
23
+ sealedKeys: SealedKey[];
24
+ sealedFor: SealedFor[];
14
25
  };
26
+ export type DeliveryOpeners = DeliveryOpener | readonly DeliveryOpener[];
15
27
  export type Delivery = {
16
28
  intent: Address;
17
29
  worker: Address;
@@ -21,10 +33,19 @@ export type Delivery = {
21
33
  slot: bigint;
22
34
  blockTime: bigint | null;
23
35
  commitment: string;
36
+ check: string;
37
+ salt: string;
24
38
  sealed: string;
25
39
  };
40
+ export type PublishedOpening = {
41
+ opening: Opening;
42
+ signature: string;
43
+ slot: bigint;
44
+ by: Address;
45
+ };
26
46
  export type DeliveryRecord = {
27
47
  deliveries: Delivery[];
48
+ openings: PublishedOpening[];
28
49
  complete: boolean;
29
50
  pages: number;
30
51
  };
@@ -32,11 +53,34 @@ export declare class NotDeliverable extends Error {
32
53
  readonly intent: Address;
33
54
  constructor(intent: Address, reason: string);
34
55
  }
56
+ export declare const cannotSignMessages: (worker: Address) => string;
57
+ export declare class NoMessageSigner extends Error {
58
+ readonly worker: Address;
59
+ constructor(worker: Address);
60
+ }
61
+ export declare const saltSignatureRefused: (worker: Address) => string;
62
+ export declare class BadSaltSignature extends Error {
63
+ readonly worker: Address;
64
+ constructor(worker: Address);
65
+ }
66
+ export declare function deliverySalt(worker: TransactionSigner, intent: Address, sha256: string, saltSignature?: Uint8Array): Promise<string>;
35
67
  export declare function deliveryInstructions(transport: Transport, input: DeliverInput): Promise<DeliveryPlan>;
36
- export declare function deliveryRecord(transport: Transport, judge: Address, intent?: Address, pages?: number, keypair?: Uint8Array): Promise<DeliveryRecord>;
37
- export declare function judgedDeliveries(transport: Transport, judge: Address, judged: ReadonlySet<Address>, floor: bigint | null, covered: () => Promise<boolean>, pages: number, keypair?: Uint8Array): Promise<DeliveryRecord>;
68
+ export declare function deliveryRecord(transport: Transport, judge: Address, intent?: Address, pages?: number, keypair?: DeliveryOpeners): Promise<DeliveryRecord>;
69
+ export declare function openingsIn(transactions: readonly EngineTransaction[], judged?: ReadonlySet<Address>): PublishedOpening[];
70
+ export declare function deliveriesIn(transactions: readonly EngineTransaction[], judged?: ReadonlySet<Address>): Delivery[];
71
+ export declare function judgedDeliveries(transport: Transport, judge: Address, judged: ReadonlySet<Address>, floor: bigint | null, covered: () => Promise<boolean>, pages: number, keypair?: DeliveryOpeners): Promise<DeliveryRecord>;
72
+ export declare function openersOf(keys: DeliveryOpeners | undefined): readonly DeliveryOpener[];
38
73
  export declare function deliveriesOf(transport: Transport, judge: Address, intent?: Address): Promise<Delivery[]>;
39
- export declare function commitmentOf(intent: Address, worker: Address, sha256: string): string;
74
+ export declare const earlier: (a: {
75
+ slot: bigint;
76
+ signature: string;
77
+ }, b: {
78
+ slot: bigint;
79
+ signature: string;
80
+ }) => boolean;
81
+ export declare function commitmentOf(intent: Address, worker: Address, salt: string, sha256: string): string;
82
+ export declare function saltCheckOf(salt: string): string;
83
+ export declare function opensWith(delivery: Delivery, salt: string, sha256: string): boolean;
40
84
  export declare function announces(delivery: Delivery, sha256: string): boolean;
41
85
  export declare function withWork(delivery: Delivery, sha256: string): Delivery | null;
42
86
  export declare function firstDelivery(deliveries: readonly Delivery[], sha256: string): Delivery | null;
@@ -1,7 +1,10 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { createSignableMessage, getPublicKeyFromAddress, isMessagePartialSigner, verifySignature, } from "@solana/kit";
2
3
  import { getTransferSolInstruction } from "@solana-program/system";
3
- import { commitmentPreimage, deliveryCommitment, deliveryMemoV2, DELIVERY_V2_MEMO_PREFIX, IntentStatus, isMemoUrl, isSha256Hex, MEMO_URL_RULE, openUrl, parseDeliveryMemoV2, sealUrl, } from "@intent-engine/core";
4
+ import { AccountVersionError, commitmentPreimage, deliveryKeyOf, DELIVERY_MEMO_MARK, encryptionKeyText, isEncryptionKeyText, deliveryMemo, IntentStatus, isMemoUrl, isSaltHex, isSha256Hex, MEMO_URL_RULE, openDelivery, parseDeliveryMemo, parseEncryptionKey, parseOpeningMemo, saltCheckPreimage, saltMessage, saltOfSignature, sealDelivery, sealedKeys, x25519PublicOf, } from "@intent-engine/core";
4
5
  import { chainTime } from "./accounts.js";
6
+ import { isDevice } from "./ledger.js";
7
+ import { loadProfile } from "./client-claims.js";
5
8
  import { loadCommittee } from "./client-committee.js";
6
9
  import { memoInstruction } from "./job-memos.js";
7
10
  import { historyCovers, openProofEscrows, proofAt } from "./job-proofs.js";
@@ -15,6 +18,63 @@ export class NotDeliverable extends Error {
15
18
  this.intent = intent;
16
19
  }
17
20
  }
21
+ export const cannotSignMessages = (worker) => `the wallet ${worker} cannot sign messages, and a delivery derives its salt from the wallet's own signature over the intent and the work's sha256; announce with a key file or a wallet that signs messages; nothing was sent`;
22
+ export class NoMessageSigner extends Error {
23
+ worker;
24
+ constructor(worker) {
25
+ super(cannotSignMessages(worker));
26
+ this.name = "NoMessageSigner";
27
+ this.worker = worker;
28
+ }
29
+ }
30
+ export const saltSignatureRefused = (worker) => `the salt signature is not ${worker}'s ed25519 signature of the salt message for this intent and sha256; nothing was sent`;
31
+ export class BadSaltSignature extends Error {
32
+ worker;
33
+ constructor(worker) {
34
+ super(saltSignatureRefused(worker));
35
+ this.name = "BadSaltSignature";
36
+ this.worker = worker;
37
+ }
38
+ }
39
+ async function signedBy(worker, signature, message) {
40
+ if (signature.length !== 64) {
41
+ return false;
42
+ }
43
+ try {
44
+ return await verifySignature(await getPublicKeyFromAddress(worker), signature, message);
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ }
50
+ export async function deliverySalt(worker, intent, sha256, saltSignature) {
51
+ const message = saltMessage(intent, sha256);
52
+ if (saltSignature !== undefined) {
53
+ if (!(await signedBy(worker.address, saltSignature, message))) {
54
+ throw new BadSaltSignature(worker.address);
55
+ }
56
+ return saltOfSignature(saltSignature);
57
+ }
58
+ if (!isMessagePartialSigner(worker) || isDevice(worker)) {
59
+ throw new NoMessageSigner(worker.address);
60
+ }
61
+ const [signed] = await worker.signMessages([createSignableMessage(message)]);
62
+ const signature = signed?.[worker.address];
63
+ if (signature === undefined || signature.length !== 64) {
64
+ throw new NoMessageSigner(worker.address);
65
+ }
66
+ return saltOfSignature(signature);
67
+ }
68
+ async function recipientOf(transport, wallet) {
69
+ const profile = await loadProfile(transport, wallet).catch((error) => {
70
+ if (error instanceof AccountVersionError) {
71
+ return null;
72
+ }
73
+ throw error;
74
+ });
75
+ const key = profile?.encryptionKey ?? null;
76
+ return { wallet, encryptionKey: key === null || !isEncryptionKeyText(key) ? null : parseEncryptionKey(key) };
77
+ }
18
78
  export async function deliveryInstructions(transport, input) {
19
79
  const { worker, intent } = input;
20
80
  const sha256 = input.sha256.toLowerCase();
@@ -34,9 +94,18 @@ export async function deliveryInstructions(transport, input) {
34
94
  const attestor = proof.params.attestor;
35
95
  const notify = getTransferSolInstruction({ source: worker, destination: attestor, amount: 0n });
36
96
  const sealedTo = [...((await loadCommittee(transport, attestor))?.members ?? [attestor])];
37
- const commitment = await deliveryCommitment({ intent, worker: worker.address, sha256 });
38
- const blob = await sealUrl(input.url, sealedTo, intent);
39
- return { attestor, instructions: [memoInstruction(worker, deliveryMemoV2({ intent, commitment, blob })), notify], commitment, sealedTo };
97
+ const salt = await deliverySalt(worker, intent, sha256, input.saltSignature);
98
+ const commitment = commitmentOf(intent, worker.address, salt, sha256);
99
+ const check = saltCheckOf(salt);
100
+ const recipients = await Promise.all(sealedTo.map((wallet) => recipientOf(transport, wallet)));
101
+ const blob = await sealDelivery({ salt, url: input.url }, recipients, intent);
102
+ const instructions = [memoInstruction(worker, deliveryMemo({ intent, commitment, check, blob })), notify];
103
+ const kinds = sealedKeys(blob) ?? [];
104
+ const sealedFor = recipients.map(({ wallet, encryptionKey }, at) => {
105
+ const kind = kinds[at] ?? "wallet";
106
+ return { wallet, kind, key: encryptionKeyText(kind === "profile" && encryptionKey !== null ? encryptionKey : x25519PublicOf(wallet)) };
107
+ });
108
+ return { attestor, instructions, commitment, check, salt, sealedTo, sealedKeys: kinds, sealedFor };
40
109
  }
41
110
  export async function deliveryRecord(transport, judge, intent, pages = DELIVERY_PAGES, keypair) {
42
111
  let proofs;
@@ -49,41 +118,79 @@ export async function deliveryRecord(transport, judge, intent, pages = DELIVERY_
49
118
  }
50
119
  const [first] = proofs;
51
120
  if (first === undefined) {
52
- return { deliveries: [], complete: true, pages: 0 };
121
+ return { deliveries: [], openings: [], complete: true, pages: 0 };
53
122
  }
54
123
  const judged = new Set(proofs.map(({ address }) => address));
55
124
  const oldest = proofs.reduce((low, proof) => (proof.intent.createdAt < low.intent.createdAt ? proof : low), first);
56
125
  const floor = oldest.intent.createdAt;
57
126
  return judgedDeliveries(transport, judge, judged, floor, () => historyCovers(transport, oldest.address, floor), pages, keypair);
58
127
  }
59
- export async function judgedDeliveries(transport, judge, judged, floor, covered, pages, keypair) {
60
- const scanned = await scan(transport, judge, { floor, memo: DELIVERY_V2_MEMO_PREFIX, pages, covered });
61
- const { transactions, complete } = scanned;
62
- const found = transactions.flatMap(({ signature, slot, blockTime, failed, memos, feePayer }) => failed || feePayer === undefined
128
+ export function openingsIn(transactions, judged) {
129
+ return transactions.flatMap(({ signature, slot, failed, memos, feePayer }) => failed || feePayer === undefined
130
+ ? []
131
+ : (memos ?? []).slice(0, MEMOS_PER_TRANSACTION).flatMap((text) => {
132
+ const opening = parseOpeningMemo(text);
133
+ return opening === null || (judged !== undefined && !judged.has(opening.intent)) ? [] : [{ opening, signature, slot, by: feePayer }];
134
+ }));
135
+ }
136
+ export function deliveriesIn(transactions, judged) {
137
+ return transactions.flatMap(({ signature, slot, blockTime, failed, memos, feePayer }) => failed || feePayer === undefined
63
138
  ? []
64
139
  : (memos ?? []).slice(0, MEMOS_PER_TRANSACTION).flatMap((text) => {
65
140
  const at = { worker: feePayer, signature: signature, slot, blockTime };
66
- const sealed = parseDeliveryMemoV2(text);
67
- return sealed === null || !judged.has(sealed.intent)
141
+ const sealed = parseDeliveryMemo(text);
142
+ return sealed === null || (judged !== undefined && !judged.has(sealed.intent))
68
143
  ? []
69
- : [{ intent: sealed.intent, sha256: "", url: "", ...at, commitment: sealed.commitment, sealed: sealed.blob }];
144
+ : [{ intent: sealed.intent, sha256: "", url: "", ...at, commitment: sealed.commitment, check: sealed.check, salt: "", sealed: sealed.blob }];
70
145
  }));
71
- const deliveries = keypair === undefined ? found : await Promise.all(found.map((delivery) => opened(delivery, keypair)));
72
- return { deliveries, complete: complete && !transactions.some(({ unread }) => unread === true), pages: scanned.pages };
73
146
  }
74
- async function opened(delivery, keypair) {
75
- const url = await openUrl(delivery.sealed, keypair, delivery.intent).catch(() => null);
76
- return url === null ? delivery : { ...delivery, url };
147
+ export async function judgedDeliveries(transport, judge, judged, floor, covered, pages, keypair) {
148
+ const scanned = await scan(transport, judge, { floor, memo: DELIVERY_MEMO_MARK, pages, covered });
149
+ const { transactions, complete } = scanned;
150
+ const found = deliveriesIn(transactions, judged);
151
+ const keys = await Promise.all(openersOf(keypair).map(deliveryKeyOf));
152
+ const deliveries = keys.length === 0 ? found : await Promise.all(found.map((delivery) => opened(delivery, keys)));
153
+ return {
154
+ deliveries,
155
+ openings: openingsIn(transactions, judged),
156
+ complete: complete && !transactions.some(({ unread }) => unread === true),
157
+ pages: scanned.pages,
158
+ };
159
+ }
160
+ export function openersOf(keys) {
161
+ if (keys === undefined) {
162
+ return [];
163
+ }
164
+ return keys instanceof Uint8Array || !Array.isArray(keys) ? [keys] : keys;
165
+ }
166
+ async function opened(delivery, keys) {
167
+ let open = null;
168
+ for (const key of keys) {
169
+ open ??= await openDelivery(delivery.sealed, key, delivery.intent).catch(() => null);
170
+ }
171
+ if (open === null) {
172
+ return delivery;
173
+ }
174
+ return saltCheckOf(open.salt) === delivery.check ? { ...delivery, url: open.url, salt: open.salt } : { ...delivery, url: open.url };
77
175
  }
78
176
  export async function deliveriesOf(transport, judge, intent) {
79
177
  return (await deliveryRecord(transport, judge, intent)).deliveries;
80
178
  }
81
- const earlier = (a, b) => a.slot < b.slot || (a.slot === b.slot && a.signature < b.signature);
82
- export function commitmentOf(intent, worker, sha256) {
83
- return createHash("sha256").update(commitmentPreimage({ intent, worker, sha256 })).digest("hex");
179
+ export const earlier = (a, b) => a.slot < b.slot || (a.slot === b.slot && a.signature < b.signature);
180
+ export function commitmentOf(intent, worker, salt, sha256) {
181
+ return createHash("sha256").update(commitmentPreimage({ intent, worker, salt, sha256 })).digest("hex");
182
+ }
183
+ export function saltCheckOf(salt) {
184
+ return createHash("sha256").update(saltCheckPreimage(salt)).digest("hex").slice(0, 32);
185
+ }
186
+ export function opensWith(delivery, salt, sha256) {
187
+ return (isSaltHex(salt) &&
188
+ isSha256Hex(sha256) &&
189
+ delivery.check === saltCheckOf(salt) &&
190
+ delivery.commitment === commitmentOf(delivery.intent, delivery.worker, salt, sha256));
84
191
  }
85
192
  export function announces(delivery, sha256) {
86
- return isSha256Hex(sha256) && delivery.commitment === commitmentOf(delivery.intent, delivery.worker, sha256);
193
+ return opensWith(delivery, delivery.salt, sha256);
87
194
  }
88
195
  export function withWork(delivery, sha256) {
89
196
  return announces(delivery, sha256) ? { ...delivery, sha256 } : null;
@@ -1 +1 @@
1
- {"version":3,"file":"job-deliveries.js","sourceRoot":"","sources":["../../src/job-deliveries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-deliveries.js","sourceRoot":"","sources":["../../src/job-deliveries.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  import { type Address, type Instruction, type TransactionSigner } from "@solana/kit";
2
+ import { type ReleaseRecord } from "@intent-engine/core";
2
3
  import { type EngineTransaction } from "./transport.js";
3
4
  export declare const RELEASE_MARK = " release:";
4
5
  export type FollowUp = {
5
6
  sha256: string;
6
7
  release: string;
8
+ salt?: string;
7
9
  };
8
- export declare function followUpMemo(sha256: string, release: string): string;
10
+ export declare function followUpMemo(sha256: string, release: string, salt?: string): string;
9
11
  export declare function parseFollowUpMemo(text: string): FollowUp | null;
10
12
  export declare function memosSignedBy(transaction: EngineTransaction, signer: Address): string[];
11
13
  export declare function releaseSigners(release: EngineTransaction, attestor: Address): Address[];
12
14
  export declare function followUpOf(transactions: readonly EngineTransaction[], release: string, attestor: Address, signers?: readonly Address[]): (FollowUp & {
13
15
  signature: string;
14
16
  }) | null;
17
+ export declare function recordedRelease(transactions: readonly EngineTransaction[], release: EngineTransaction, attestor: Address): ReleaseRecord | null;
15
18
  export declare function recordedDelivery(transactions: readonly EngineTransaction[], release: EngineTransaction, attestor: Address): string | null;
16
- export declare function followUpInstructions(judge: TransactionSigner, intent: Address, sha256: string, release: string): Instruction[];
19
+ export declare function followUpInstructions(judge: TransactionSigner, intent: Address, sha256: string, release: string, salt?: string): Instruction[];
17
20
  export declare function memoInstruction(signer: TransactionSigner, text: string): Instruction;
@@ -1,23 +1,23 @@
1
1
  import { AccountRole } from "@solana/kit";
2
2
  import { getTransferSolInstruction } from "@solana-program/system";
3
- import { decodeEvent, parseReleaseMemo, releaseMemo } from "@intent-engine/core";
3
+ import { decodeEvent, parseRelease, releaseMemo } from "@intent-engine/core";
4
4
  import { MEMO_PROGRAM_ADDRESS } from "./transport.js";
5
5
  export const RELEASE_MARK = " release:";
6
6
  const BASE58_SIGNATURE = /^[1-9A-HJ-NP-Za-km-z]{32,88}$/;
7
- export function followUpMemo(sha256, release) {
7
+ export function followUpMemo(sha256, release, salt) {
8
8
  if (!BASE58_SIGNATURE.test(release)) {
9
9
  throw new RangeError("a follow-up names its release by a base58 signature");
10
10
  }
11
- return `${releaseMemo(sha256)}${RELEASE_MARK}${release}`;
11
+ return `${releaseMemo(sha256, salt)}${RELEASE_MARK}${release}`;
12
12
  }
13
13
  export function parseFollowUpMemo(text) {
14
14
  const at = text.indexOf(RELEASE_MARK);
15
15
  if (at < 0) {
16
16
  return null;
17
17
  }
18
- const sha256 = parseReleaseMemo(text.slice(0, at));
18
+ const recorded = parseRelease(text.slice(0, at));
19
19
  const release = text.slice(at + RELEASE_MARK.length);
20
- return sha256 === null || !BASE58_SIGNATURE.test(release) ? null : { sha256, release };
20
+ return recorded === null || !BASE58_SIGNATURE.test(release) ? null : { ...recorded, release };
21
21
  }
22
22
  export function memosSignedBy(transaction, signer) {
23
23
  return (transaction.memos ?? []).filter((_, i) => transaction.memoSigners?.[i]?.includes(signer) === true);
@@ -43,19 +43,23 @@ export function followUpOf(transactions, release, attestor, signers = [attestor]
43
43
  }
44
44
  return null;
45
45
  }
46
- export function recordedDelivery(transactions, release, attestor) {
46
+ export function recordedRelease(transactions, release, attestor) {
47
47
  const signers = releaseSigners(release, attestor);
48
48
  const inline = signers
49
49
  .flatMap((signer) => memosSignedBy(release, signer))
50
- .map(parseReleaseMemo)
51
- .find((hash) => hash !== null);
52
- if (inline !== undefined) {
50
+ .map(parseRelease)
51
+ .find((recorded) => recorded !== null);
52
+ if (inline !== undefined && inline !== null) {
53
53
  return inline;
54
54
  }
55
- return followUpOf(transactions, release.signature, attestor, signers)?.sha256 ?? null;
55
+ const followUp = followUpOf(transactions, release.signature, attestor, signers);
56
+ return followUp === null ? null : followUp.salt === undefined ? { sha256: followUp.sha256 } : { sha256: followUp.sha256, salt: followUp.salt };
57
+ }
58
+ export function recordedDelivery(transactions, release, attestor) {
59
+ return recordedRelease(transactions, release, attestor)?.sha256 ?? null;
56
60
  }
57
- export function followUpInstructions(judge, intent, sha256, release) {
58
- return [memoInstruction(judge, followUpMemo(sha256, release)), getTransferSolInstruction({ source: judge, destination: intent, amount: 0n })];
61
+ export function followUpInstructions(judge, intent, sha256, release, salt) {
62
+ return [memoInstruction(judge, followUpMemo(sha256, release, salt)), getTransferSolInstruction({ source: judge, destination: intent, amount: 0n })];
59
63
  }
60
64
  export function memoInstruction(signer, text) {
61
65
  const meta = { address: signer.address, role: AccountRole.READONLY_SIGNER, signer };
@@ -1 +1 @@
1
- {"version":3,"file":"job-memos.js","sourceRoot":"","sources":["../../src/job-memos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-memos.js","sourceRoot":"","sources":["../../src/job-memos.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "@solana/kit";
2
- import { type DeliveryRecord } from "./job-deliveries.js";
2
+ import { type DeliveryOpeners, type DeliveryRecord } from "./job-deliveries.js";
3
3
  import type { EngineTransaction, Transport } from "./transport.js";
4
4
  export type EscrowProof = {
5
5
  attestor: Address;
@@ -27,4 +27,4 @@ export type Lifecycle = {
27
27
  from: bigint | null;
28
28
  to: bigint;
29
29
  };
30
- export declare function lifecycleDeliveries(transport: Transport, judge: Address, lifecycle: Lifecycle, pages?: number): Promise<DeliveryRecord>;
30
+ export declare function lifecycleDeliveries(transport: Transport, judge: Address, lifecycle: Lifecycle, pages?: number, keypair?: DeliveryOpeners): Promise<DeliveryRecord>;
@@ -43,11 +43,11 @@ export async function originDeliveries(transport, judge, origin, pages = DELIVER
43
43
  const covered = async () => firstAvailableSlot !== undefined && (await firstAvailableSlot.call(transport)) <= origin.slot;
44
44
  return judgedDeliveries(transport, judge, new Set([origin.intent]), origin.createdAt, covered, pages);
45
45
  }
46
- export async function lifecycleDeliveries(transport, judge, lifecycle, pages = DELIVERY_PAGES) {
46
+ export async function lifecycleDeliveries(transport, judge, lifecycle, pages = DELIVERY_PAGES, keypair) {
47
47
  const { firstAvailableSlot } = transport;
48
48
  const { from, to } = lifecycle;
49
49
  const covered = async () => from !== null && firstAvailableSlot !== undefined && (await firstAvailableSlot.call(transport)) <= from;
50
- const record = await judgedDeliveries(transport, judge, new Set([lifecycle.intent]), lifecycle.createdAt, covered, pages);
50
+ const record = await judgedDeliveries(transport, judge, new Set([lifecycle.intent]), lifecycle.createdAt, covered, pages, keypair);
51
51
  return { ...record, deliveries: record.deliveries.filter(({ slot }) => (from === null || slot >= from) && slot <= to) };
52
52
  }
53
53
  //# sourceMappingURL=job-origins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-origins.js","sourceRoot":"","sources":["../../src/job-origins.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,wCAAwC,EACxC,iCAAiC,EACjC,uCAAuC,EACvC,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOrD,MAAM,qBAAqB,GAAkC;IAC3D,iCAAiC,EAAE;IACnC,wCAAwC,EAAE;IAC1C,uCAAuC,EAAE;CAC1C,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAI9B,MAAM,UAAU,WAAW,CAAC,WAA8B;IACxD,OAAO;QACL,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnH,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KAC7G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,IAAwB,EAAW,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9I,MAAM,UAAU,aAAa,CAAC,WAA8B,EAAE,MAAe;IAC3E,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1H,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAoB,EAAE,MAAe,EAAE,KAAK,GAAW,cAAc;IACtG,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,CAAC,WAA8B,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;AAC1J,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAoB,EAAE,KAAc,EAAE,MAAoB,EAAE,KAAK,GAAW,cAAc;IAC/H,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;IAC1H,OAAO,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACxG,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAoB,EAAE,KAAc,EAAE,SAAoB,EAAE,KAAK,GAAW,cAAc;IAClI,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,kBAAkB,KAAK,SAAS,IAAI,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IACpI,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1H,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1H,CAAC"}
1
+ {"version":3,"file":"job-origins.js","sourceRoot":"","sources":["../../src/job-origins.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { decodeParams, feeBpsFor, formatAmount, getIntentDecoder, Kind, kindBit, PAUSE_FILL, splitFees, } from "@intent-engine/core";
1
+ import { decodeParams, formatAmount, getIntentDecoder, Kind, kindBit, PAUSE_FILL, splitFees, } from "@intent-engine/core";
2
2
  import { mintOf } from "./accounts.js";
3
3
  export function releaseNet(intent, terms) {
4
4
  if ((terms.paused & PAUSE_FILL) !== 0 || (terms.fillDisabledKinds & kindBit(Kind.AttestedResult)) !== 0n || intent.agentFee !== 0n) {
@@ -13,7 +13,7 @@ export function releaseNet(intent, terms) {
13
13
  return null;
14
14
  }
15
15
  try {
16
- return splitFees(amountIn - params.judgeFee, feeBpsFor(terms, intent.kind), intent.partnerBps, intent.partnerCutBps).net;
16
+ return splitFees(amountIn - params.judgeFee, intent.feeBps, intent.partnerBps, intent.partnerCutBps).net;
17
17
  }
18
18
  catch {
19
19
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"job-pay.js","sourceRoot":"","sources":["../../src/job-pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-pay.js","sourceRoot":"","sources":["../../src/job-pay.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEZ,YAAY,EACZ,gBAAgB,EAEhB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQvC,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,KAAe;IACxD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACnI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,UAA8C,EAAE,IAAa;IAClF,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAoB,EACpB,IAAoB,EACpB,KAAe,EACf,UAAU,GAAuC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ;IAEzG,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,SAAS,CAAC,OAAO,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAU,CAAC,CAAC;KACzF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAClH,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9G,CAAC,CAAC,CAAC;AACL,CAAC"}