@chironbuilder/ootle-sdk 0.1.14 → 0.1.16

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.
@@ -7,8 +7,8 @@ export interface BurnClaimProofContents {
7
7
  }
8
8
  /**
9
9
  * The claim material an L1 wallet has as soon as it builds a burn (see tari_l1_wasm's
10
- * `WasmSignedBurn`). Everything except the kernel merkle proof, which only exists once the burn
11
- * is mined.
10
+ * `WasmSignedBurn`). Everything except the output's inclusion proof, which only exists once the
11
+ * burn is mined.
12
12
  */
13
13
  export interface L1BurnProofParts {
14
14
  /** The Ootle account public key `P` the burn was addressed to. */
@@ -19,29 +19,71 @@ export interface L1BurnProofParts {
19
19
  senderOffsetPublicKeyHex: string;
20
20
  encryptedDataHex: string;
21
21
  amount: bigint;
22
- kernel: {
23
- version: number;
24
- fee: bigint;
25
- lockHeight: bigint;
26
- excessHex: string;
27
- nonceHex: string;
28
- signatureHex: string;
29
- };
22
+ /** No longer part of a claim (tari-ootle#2709); kept so records written before it still load. */
23
+ kernel?: unknown;
30
24
  }
31
- /** A base node's `/generate_kernel_merkle_proof` response, passed through unchanged. */
32
- export interface KernelMerkleProof {
33
- /** base64 */
34
- block_hash: string;
35
- /** base64 */
36
- encoded_merkle_proof: string;
25
+ /** An L1 MMR inclusion proof, as a base node serialises it (hashes are hex). */
26
+ export interface L1MmrInclusionProof {
37
27
  leaf_index: number | string;
38
- block_height?: number | null;
28
+ mmr_size: number | string;
29
+ path: string[];
30
+ peaks: string[];
39
31
  }
40
- /** Joins an L1 burn's claim material with its kernel merkle proof into a claimable proof. */
41
- export declare function assembleBurnClaimProof(parts: L1BurnProofParts, merkle: KernelMerkleProof): BurnClaimProofContents;
32
+ /**
33
+ * A base node's `BurnOutputProof` (the `proof` of a `/generate_burn_output_proof` response, or
34
+ * `claim_proof.output_proof` of a `minotari_console_wallet` proof file). Byte fields are hex.
35
+ */
36
+ export interface BurnOutputProof {
37
+ block_hash: string;
38
+ block_height?: number | string;
39
+ output: {
40
+ version: number;
41
+ /** Consensus (borsh) encoded `OutputFeatures` */
42
+ features: string;
43
+ commitment: string;
44
+ rangeproof_hash: string;
45
+ script: string;
46
+ sender_offset_public_key: string;
47
+ metadata_signature: {
48
+ ephemeral_commitment: string;
49
+ ephemeral_pubkey: string;
50
+ u_a: string;
51
+ u_x: string;
52
+ u_y: string;
53
+ };
54
+ covenant: string;
55
+ encrypted_data: string;
56
+ minimum_value_promise: number | string;
57
+ };
58
+ normal_output_proof: L1MmrInclusionProof;
59
+ normal_output_mr: string;
60
+ block_output_proof: L1MmrInclusionProof;
61
+ }
62
+ type BurnOutputFeatures = MinotariBurnClaimProof["output"]["features"];
63
+ /**
64
+ * Decodes a burn output's consensus-encoded `OutputFeatures` into the fields a claim carries,
65
+ * refusing anything Ootle can't mint against (not a burn, or no confidential-output sidechain
66
+ * feature naming a claimant) -- the same checks as `claim_proof_from_l1`.
67
+ */
68
+ export declare function decodeBurnOutputFeatures(featuresHex: string): BurnOutputFeatures;
69
+ /**
70
+ * Converts a base node's `BurnOutputProof` plus the burn's ownership proof and value into the
71
+ * claim Ootle verifies (`claim_proof_from_l1`).
72
+ */
73
+ export declare function claimProofFromL1(outputProof: BurnOutputProof, ownershipProof: {
74
+ public_nonce: string;
75
+ signature: string;
76
+ }, value: bigint | string | number): MinotariBurnClaimProof;
77
+ /**
78
+ * Joins an L1 burn's claim material with its mined output's inclusion proof (a base node's
79
+ * `/generate_burn_output_proof` `proof`) into a claimable proof.
80
+ */
81
+ export declare function assembleBurnClaimProof(parts: L1BurnProofParts, outputProof: BurnOutputProof): BurnClaimProofContents;
42
82
  /**
43
83
  * Reads a proof file written by `minotari_console_wallet` into its `burn_proofs` directory
44
- * (`CompleteClaimBurnProof`). Its layout matches Ootle's except that `encrypted_data` is base64.
84
+ * (`CompleteClaimBurnProof`: `claim_proof` is a Minotari `BurnClaimProof` carrying the
85
+ * `output_proof`), converting it to Ootle's claim. A file already in Ootle's shape passes through.
45
86
  */
46
87
  export declare function parseConsoleWalletBurnProof(json: string | Record<string, unknown>): BurnClaimProofContents;
88
+ export {};
47
89
  //# sourceMappingURL=burnClaim.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"burnClaim.d.ts","sourceRoot":"","sources":["../src/burnClaim.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,gGAAgG;AAChG,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,sBAAsB,CAAC;IACpC,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,aAAa;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAUD,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,GAAG,sBAAsB,CAgCjH;AASD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB,CAc1G"}
1
+ {"version":3,"file":"burnClaim.d.ts","sourceRoot":"","sources":["../src/burnClaim.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,gGAAgG;AAChG,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,sBAAsB,CAAC;IACpC,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,iDAAiD;QACjD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE;YAClB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,gBAAgB,EAAE,MAAM,CAAC;YACzB,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAAC;KACxC,CAAC;IACF,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,mBAAmB,CAAC;CACzC;AAgFD,KAAK,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CA6BhF;AA6BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,eAAe,EAC5B,cAAc,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAC9B,sBAAsB,CA2BxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,GAAG,sBAAsB,CAWpH;AASD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB,CA2B1G"}
package/dist/burnClaim.js CHANGED
@@ -1,7 +1,12 @@
1
1
  // Claim proofs for Layer 1 (minotari) burns, in the exact serde shape Ootle's `ClaimBurn`
2
- // instruction deserialises (`tari_engine_types::confidential::MinotariBurnClaimProof`): byte fields
3
- // are hex, the merkle proof's two byte fields are base64, and every u64 is carried as a decimal
4
- // string -- a burn value can exceed 2^53, and the engine accepts strings for all of them.
2
+ // instruction deserialises (`tari_engine_types::confidential::MinotariBurnClaimProof`).
3
+ //
4
+ // Since tari-ootle#2709 (Ootle 0.42, Minotari 6.0.1-pre.1) a claim proves the L1 burn *output*
5
+ // rather than its kernel: the output's hashed fields plus a two-level MMR inclusion proof (output
6
+ // hash -> normal output MMR root -> last leaf of the block's `block_output_mr`). A base node serves
7
+ // that proof as a Minotari `BurnOutputProof` (`/generate_burn_output_proof?commitment=<hex>`); this
8
+ // module converts it the way `claim_proof_from_l1` (tari_ootle_app_utilities) does, and
9
+ // `burnClaim.test.ts` checks the conversion against vectors produced by that Rust function.
5
10
  const HEX_32 = /^[0-9a-f]{64}$/;
6
11
  function hex32(value, field) {
7
12
  const v = value.toLowerCase();
@@ -9,40 +14,192 @@ function hex32(value, field) {
9
14
  throw new Error(`${field} must be 32 bytes of hex`);
10
15
  return v;
11
16
  }
12
- /** Joins an L1 burn's claim material with its kernel merkle proof into a claimable proof. */
13
- export function assembleBurnClaimProof(parts, merkle) {
14
- if (!/^[0-9a-f]+$/i.test(parts.encryptedDataHex) || parts.encryptedDataHex.length % 2 !== 0) {
15
- throw new Error("encryptedDataHex must be hex");
17
+ function hexToBytes(hex, field) {
18
+ if (!/^[0-9a-f]*$/i.test(hex) || hex.length % 2 !== 0)
19
+ throw new Error(`${field} must be hex`);
20
+ const out = new Uint8Array(hex.length / 2);
21
+ for (let i = 0; i < out.length; i++)
22
+ out[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
23
+ return out;
24
+ }
25
+ function bytesToHex(bytes) {
26
+ let out = "";
27
+ for (const b of bytes)
28
+ out += b.toString(16).padStart(2, "0");
29
+ return out;
30
+ }
31
+ function bytesToBase64(bytes) {
32
+ let bin = "";
33
+ for (const b of bytes)
34
+ bin += String.fromCharCode(b);
35
+ return btoa(bin);
36
+ }
37
+ /** Reads the L1 consensus (borsh) encoding. Every read is bounds-checked. */
38
+ class BorshReader {
39
+ buf;
40
+ what;
41
+ pos = 0;
42
+ constructor(buf, what) {
43
+ this.buf = buf;
44
+ this.what = what;
45
+ }
46
+ take(n) {
47
+ if (this.pos + n > this.buf.length)
48
+ throw new Error(`${this.what}: truncated`);
49
+ const out = this.buf.subarray(this.pos, this.pos + n);
50
+ this.pos += n;
51
+ return out;
52
+ }
53
+ u8() {
54
+ return this.take(1)[0];
55
+ }
56
+ u32() {
57
+ const b = this.take(4);
58
+ return (b[0] | (b[1] << 8) | (b[2] << 16)) + b[3] * 0x1000000;
59
+ }
60
+ u64() {
61
+ const b = this.take(8);
62
+ let v = 0n;
63
+ for (let i = 7; i >= 0; i--)
64
+ v = (v << 8n) | BigInt(b[i]);
65
+ return v;
66
+ }
67
+ /** A `Vec<u8>` / `&[u8]`: u32 length, then the bytes. */
68
+ bytes(max) {
69
+ const n = this.u32();
70
+ if (n > max)
71
+ throw new Error(`${this.what}: byte string of ${n} exceeds ${max}`);
72
+ return this.take(n);
73
+ }
74
+ /** A compressed key or scalar, which L1 encodes as a 32-byte `&[u8]`. */
75
+ key(field) {
76
+ const b = this.bytes(32);
77
+ if (b.length !== 32)
78
+ throw new Error(`${this.what}: ${field} is ${b.length} bytes, expected 32`);
79
+ return bytesToHex(b);
80
+ }
81
+ option() {
82
+ const tag = this.u8();
83
+ if (tag > 1)
84
+ throw new Error(`${this.what}: invalid Option tag ${tag}`);
85
+ return tag === 1;
86
+ }
87
+ end() {
88
+ if (this.pos !== this.buf.length)
89
+ throw new Error(`${this.what}: ${this.buf.length - this.pos} trailing bytes`);
90
+ }
91
+ }
92
+ const OUTPUT_TYPE_BURN = 2;
93
+ /** `SideChainFeatureData::ConfidentialOutput` */
94
+ const SIDECHAIN_CONFIDENTIAL_OUTPUT = 2;
95
+ /** `CoinBaseExtra = MaxSizeBytes<258>` */
96
+ const COINBASE_EXTRA_MAX = 258;
97
+ /**
98
+ * Decodes a burn output's consensus-encoded `OutputFeatures` into the fields a claim carries,
99
+ * refusing anything Ootle can't mint against (not a burn, or no confidential-output sidechain
100
+ * feature naming a claimant) -- the same checks as `claim_proof_from_l1`.
101
+ */
102
+ export function decodeBurnOutputFeatures(featuresHex) {
103
+ const r = new BorshReader(hexToBytes(featuresHex, "burn output features"), "burn output features");
104
+ const version = r.u8();
105
+ const outputType = r.u8();
106
+ const maturity = r.u64();
107
+ r.bytes(COINBASE_EXTRA_MAX);
108
+ if (outputType !== OUTPUT_TYPE_BURN)
109
+ throw new Error(`the output is not a burn (output type ${outputType})`);
110
+ if (!r.option())
111
+ throw new Error("the burn output has no sidechain feature, so it names no claimant");
112
+ const variant = r.u8();
113
+ if (variant !== SIDECHAIN_CONFIDENTIAL_OUTPUT) {
114
+ throw new Error(`the burn output's sidechain feature is not a confidential output (variant ${variant})`);
115
+ }
116
+ const claimPublicKey = r.key("claim_public_key");
117
+ let sidechainId = null;
118
+ if (r.option()) {
119
+ const publicKey = r.key("sidechain public_key");
120
+ const nonce = r.key("sidechain knowledge_proof.public_nonce");
121
+ const signature = r.key("sidechain knowledge_proof.signature");
122
+ sidechainId = { public_key: publicKey, knowledge_proof: { public_nonce: nonce, signature } };
16
123
  }
124
+ const rangeProofType = r.u8();
125
+ r.end();
17
126
  return {
18
- claim_proof: {
19
- burn_public_key: hex32(parts.claimPublicKeyHex, "claimPublicKeyHex"),
20
- commitment: hex32(parts.commitmentHex, "commitmentHex"),
21
- ownership_proof: {
22
- public_nonce: hex32(parts.ownershipNonceHex, "ownershipNonceHex"),
23
- signature: hex32(parts.ownershipSignatureHex, "ownershipSignatureHex"),
24
- },
25
- encoded_merkle_proof: {
26
- block_hash: merkle.block_hash,
27
- encoded_merkle_proof: merkle.encoded_merkle_proof,
28
- leaf_index: String(merkle.leaf_index),
29
- },
30
- kernel: {
31
- version: parts.kernel.version,
32
- fee: parts.kernel.fee.toString(),
33
- lock_height: parts.kernel.lockHeight.toString(),
34
- excess: hex32(parts.kernel.excessHex, "kernel.excessHex"),
35
- excess_sig: {
36
- public_nonce: hex32(parts.kernel.nonceHex, "kernel.nonceHex"),
37
- signature: hex32(parts.kernel.signatureHex, "kernel.signatureHex"),
38
- },
39
- },
40
- value: parts.amount.toString(),
41
- sender_offset_public_key: hex32(parts.senderOffsetPublicKeyHex, "senderOffsetPublicKeyHex"),
127
+ version,
128
+ maturity: maturity.toString(),
129
+ claim_public_key: claimPublicKey,
130
+ sidechain_id: sidechainId,
131
+ range_proof_type: rangeProofType,
132
+ };
133
+ }
134
+ /** The L1 consensus (borsh) encoding of a `ComAndPubSignature`: five 32-byte fields, each length-prefixed. */
135
+ function encodeMetadataSignature(sig) {
136
+ const fields = [sig.ephemeral_commitment, sig.ephemeral_pubkey, sig.u_a, sig.u_x, sig.u_y];
137
+ const out = new Uint8Array(fields.length * 36);
138
+ fields.forEach((f, i) => {
139
+ out.set([32, 0, 0, 0], i * 36);
140
+ out.set(hexToBytes(hex32(f, "metadata_signature field"), "metadata_signature field"), i * 36 + 4);
141
+ });
142
+ return out;
143
+ }
144
+ function mmrProof(p) {
145
+ return {
146
+ leaf_index: String(p.leaf_index),
147
+ mmr_size: String(p.mmr_size),
148
+ path: p.path.map((h) => hex32(h, "MMR path hash")),
149
+ peaks: p.peaks.map((h) => hex32(h, "MMR peak hash")),
150
+ };
151
+ }
152
+ /** A `BoundedVec<u8, 1, N>` field: non-empty, at most `max` bytes, serialised as base64. */
153
+ function opaque(hex, field, max) {
154
+ const b = hexToBytes(hex, field);
155
+ if (b.length < 1 || b.length > max)
156
+ throw new Error(`burn output ${field} length ${b.length} is out of range`);
157
+ return bytesToBase64(b);
158
+ }
159
+ /**
160
+ * Converts a base node's `BurnOutputProof` plus the burn's ownership proof and value into the
161
+ * claim Ootle verifies (`claim_proof_from_l1`).
162
+ */
163
+ export function claimProofFromL1(outputProof, ownershipProof, value) {
164
+ const o = outputProof.output;
165
+ return {
166
+ commitment: hex32(o.commitment, "commitment"),
167
+ ownership_proof: {
168
+ public_nonce: hex32(ownershipProof.public_nonce, "ownership_proof.public_nonce"),
169
+ signature: hex32(ownershipProof.signature, "ownership_proof.signature"),
170
+ },
171
+ value: BigInt(value).toString(),
172
+ output: {
173
+ version: o.version,
174
+ features: decodeBurnOutputFeatures(o.features),
175
+ rangeproof_hash: hex32(o.rangeproof_hash, "rangeproof_hash"),
176
+ script: opaque(o.script, "script", 4096),
177
+ sender_offset_public_key: hex32(o.sender_offset_public_key, "sender_offset_public_key"),
178
+ metadata_signature: bytesToBase64(encodeMetadataSignature(o.metadata_signature)),
179
+ covenant: opaque(o.covenant, "covenant", 4096),
180
+ encrypted_data: opaque(o.encrypted_data, "encrypted data", 4096),
181
+ minimum_value_promise: BigInt(o.minimum_value_promise).toString(),
182
+ },
183
+ inclusion_proof: {
184
+ block_hash: hex32(outputProof.block_hash, "block_hash"),
185
+ normal_output_proof: mmrProof(outputProof.normal_output_proof),
186
+ normal_output_mr: hex32(outputProof.normal_output_mr, "normal_output_mr"),
187
+ block_output_proof: mmrProof(outputProof.block_output_proof),
42
188
  },
43
- encrypted_data: parts.encryptedDataHex.toLowerCase(),
44
189
  };
45
190
  }
191
+ /**
192
+ * Joins an L1 burn's claim material with its mined output's inclusion proof (a base node's
193
+ * `/generate_burn_output_proof` `proof`) into a claimable proof.
194
+ */
195
+ export function assembleBurnClaimProof(parts, outputProof) {
196
+ const commitment = hex32(parts.commitmentHex, "commitmentHex");
197
+ if (outputProof.output.commitment.toLowerCase() !== commitment) {
198
+ throw new Error("The base node's burn output proof is for a different commitment than this burn");
199
+ }
200
+ const claim = claimProofFromL1(outputProof, { public_nonce: parts.ownershipNonceHex, signature: parts.ownershipSignatureHex }, parts.amount);
201
+ return { claim_proof: claim, encrypted_data: bytesToHex(hexToBytes(parts.encryptedDataHex, "encryptedDataHex")) };
202
+ }
46
203
  function base64ToHex(b64) {
47
204
  const bin = atob(b64);
48
205
  let out = "";
@@ -52,7 +209,8 @@ function base64ToHex(b64) {
52
209
  }
53
210
  /**
54
211
  * Reads a proof file written by `minotari_console_wallet` into its `burn_proofs` directory
55
- * (`CompleteClaimBurnProof`). Its layout matches Ootle's except that `encrypted_data` is base64.
212
+ * (`CompleteClaimBurnProof`: `claim_proof` is a Minotari `BurnClaimProof` carrying the
213
+ * `output_proof`), converting it to Ootle's claim. A file already in Ootle's shape passes through.
56
214
  */
57
215
  export function parseConsoleWalletBurnProof(json) {
58
216
  const file = (typeof json === "string" ? JSON.parse(json) : json);
@@ -64,5 +222,14 @@ export function parseConsoleWalletBurnProof(json) {
64
222
  : /^[0-9a-f]+$/i.test(file.encrypted_data) && file.encrypted_data.length % 2 === 0
65
223
  ? file.encrypted_data.toLowerCase()
66
224
  : base64ToHex(file.encrypted_data);
67
- return { claim_proof: file.claim_proof, encrypted_data: encrypted };
225
+ const cp = file.claim_proof;
226
+ if (cp.output_proof) {
227
+ if (!cp.ownership_proof || cp.value === undefined)
228
+ throw new Error("Burn proof is missing its ownership proof or value");
229
+ return { claim_proof: claimProofFromL1(cp.output_proof, cp.ownership_proof, cp.value), encrypted_data: encrypted };
230
+ }
231
+ if (cp.inclusion_proof && cp.output)
232
+ return { claim_proof: cp, encrypted_data: encrypted };
233
+ throw new Error("This burn proof predates Ootle 0.42 (it proves the burn kernel, not the burn output). Regenerate it with a " +
234
+ "Minotari 6.0.1+ wallet, or claim the burn from its commitment.");
68
235
  }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type { TransactionExecuteOpts, WalletAccountApi } from "./accountApi.js";
2
2
  export { ACCOUNT_TEMPLATE_ADDRESS, componentAddressFromWalletAddress, deriveAccountComponentAddress, deriveComponentAddress, } from "./componentAddress.js";
3
- export type { BurnClaimProofContents, KernelMerkleProof, L1BurnProofParts } from "./burnClaim.js";
4
- export { assembleBurnClaimProof, parseConsoleWalletBurnProof } from "./burnClaim.js";
3
+ export type { BurnClaimProofContents, BurnOutputProof, L1BurnProofParts, L1MmrInclusionProof } from "./burnClaim.js";
4
+ export { assembleBurnClaimProof, claimProofFromL1, decodeBurnOutputFeatures, parseConsoleWalletBurnProof } from "./burnClaim.js";
5
5
  export type { ConfidentialSumResult, ScannedStealthOutput } from "./confidential.js";
6
6
  export { scanTransactionsForOwnedOutputs, sumConfidentialCommitments } from "./confidential.js";
7
7
  export type { DerivedAccountKeys } from "./derivation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAErF,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEhG,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEhI,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEpI,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACnJ,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE3F,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7I,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAEjI,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEhG,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEhI,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEpI,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACnJ,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE3F,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7I,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Public surface. Import from the package root ("@chironbuilder/ootle-sdk") rather than reaching
2
2
  // into individual files -- the module layout underneath is free to change; this file is not.
3
3
  export { ACCOUNT_TEMPLATE_ADDRESS, componentAddressFromWalletAddress, deriveAccountComponentAddress, deriveComponentAddress, } from "./componentAddress.js";
4
- export { assembleBurnClaimProof, parseConsoleWalletBurnProof } from "./burnClaim.js";
4
+ export { assembleBurnClaimProof, claimProofFromL1, decodeBurnOutputFeatures, parseConsoleWalletBurnProof } from "./burnClaim.js";
5
5
  export { scanTransactionsForOwnedOutputs, sumConfidentialCommitments } from "./confidential.js";
6
6
  export { deriveAccountKeys } from "./derivation.js";
7
7
  export { DomainSeparatedHasher, KEY_MANAGER_DOMAIN, KEY_MANAGER_DOMAIN_VERSION, keyManagerDomainHasher } from "./domainHash.js";
package/dist/wallet.d.ts CHANGED
@@ -151,6 +151,13 @@ export declare class OotleAccount implements WalletAccountApi {
151
151
  * address", it is NOT the on-chain account component address. See `getComponentAddress()`.
152
152
  */
153
153
  getWalletAddress(): Promise<string>;
154
+ /**
155
+ * This account's owner public key, synchronously. Named as the receiver of every revealed
156
+ * stealth output this account's `StealthTransfer`s create (tari-ootle#2645): the engine only
157
+ * hands a revealed bucket to a key whose badge is in the transaction's auth scope, and those
158
+ * transfers are always signed with the account key.
159
+ */
160
+ private get accountPublicKey();
154
161
  getPublicKey(): Promise<Uint8Array>;
155
162
  /**
156
163
  * The account's on-chain component address — what instructions use as the `account` argument
@@ -833,6 +840,28 @@ export declare class OotleAccount implements WalletAccountApi {
833
840
  commitment: string;
834
841
  fee: bigint;
835
842
  }>;
843
+ /**
844
+ * The fee `claimBurn(contents)` would pay, measured by dry-running the claim -- nothing is
845
+ * submitted. The indexer's dry run checks everything about the claim except the burn's L1
846
+ * inclusion (the burn output rules, its ownership proof, the claim-key signature), so this also
847
+ * tells a caller whether the claim is well formed before anything is spent.
848
+ */
849
+ estimateClaimBurnFee(contents: BurnClaimProofContents, memo?: string): Promise<bigint>;
850
+ /**
851
+ * `unshield()` for an account whose component doesn't exist on-chain yet. Everything runs in the
852
+ * fee phase, the way Tari's own wallet unshields into a new account: the stealth inputs reveal
853
+ * `amount + fee` (any excess returns as a stealth change output), `TakeFromBucket` splits off the
854
+ * fee for `PayFeeFromBucket`, and `CreateAccount` creates this account from the rest. The fee is
855
+ * measured with a dry run first, since a fee revealed from stealth funds is never refunded. With no
856
+ * change to pay the fee from (unshielding the whole private balance), the fee comes out of the
857
+ * unshielded amount instead, so the account receives `amount` less the fee.
858
+ *
859
+ * The seal key is authorized as a signer and named as the revealed output's receiver
860
+ * (tari-ootle#2645); each input's one-time key co-signs its key-path spend.
861
+ */
862
+ private unshieldIntoNewAccount;
863
+ /** Verifies a burn is ours and returns a builder for its claim transaction at a given fee. */
864
+ private prepareBurnClaim;
836
865
  /** Dry-runs a sealed claim and returns the fee it needs: what it was charged plus the allowance. */
837
866
  private estimateClaimFee;
838
867
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EA6BR,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,aAAa,EACb,mCAAmC,EACnC,WAAW,EAIX,mBAAmB,EACnB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAgBxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EAGL,KAAK,gBAAgB,EAYtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAsBrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAI3E;;;yFAGyF;AACzF,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC;AAahG,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5E,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf;;;wCAGoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;kCAE8B;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC;yEACqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB;sEACkE;IAClE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;oDACgD;IAChD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;mGAE+F;IAC/F,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACtC;AAED;;;4CAG4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB;iCAC6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;gFAC4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAmCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CASpF;AAoCD;;;GAGG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAgC;IAKhD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC,OAAO;IAOP,+FAA+F;IAC/F,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,YAAY;IAOrF,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAqB7C;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;;;;OAKG;IACH,OAAO,KAAK,gBAAgB,GAE3B;IAEK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzC;;;;;;;;OAQG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAkJ5C;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CACX,YAAY,EAAE,WAAW,EAAE,EAC3B,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;wBA8IqB,aAAa;gBAAU,aAAa;;wBA4DE,aAAa;;wBA09F4B,MAAM;;IA5iGlH;;;;;;;;;;;;;;;;;OAiBG;YACW,YAAY;IAgD1B;;;;;;;;;;;OAWG;YACW,UAAU;IAoCxB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAQ,EAAE,OAAO,GAAE,OAAiC;wBApH3G,aAAa;gBAAU,aAAa;;wBA4DE,aAAa;;wBA09F4B,MAAM;;IAh4FlH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,EAAE,OAAO,GAAE,OAAiC;wBApLjG,aAAa;gBAAU,aAAa;;wBA4DE,aAAa;;wBA09F4B,MAAM;;IArzFlH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,eAAe,CAAC,MAAM,SAAQ,EAAE,OAAO,SAAK,EAAE,YAAY,SAAM;IA0EtE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,MAAM,CACV,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,SAAS,EACf,IAAI,CAAC,EAAE,MAAM,EACb,mBAAmB,SAAK,EACxB,OAAO,GAAE,OAAiC,GACzC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD1G;;;;;;;;;;;;;;;OAeG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BzE;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAOxH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,QAAQ,CACZ,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,MAAM,SAAU,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,OAAiC,GACzC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAoFrC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,yBAAyB,CAC7B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,WAAW,EAAE,EACnC,iBAAiB,GAAE,MAAM,EAAO,EAChC,MAAM,SAAU,EAChB,OAAO,GAAE,OAAiC,GACzC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,6BAA6B,CACjC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,WAAW,EAAE,EACnC,iBAAiB,GAAE,MAAM,EAAO,EAChC,MAAM,SAAU,EAChB,OAAO,GAAE,OAAiC,GACzC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAgGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH;;;;;;;;;;;;;;;;;;OAkBG;YACW,2BAA2B;IAqFzC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;OAOG;YACW,kBAAkB;IAOhC;;;;;OAKG;YACW,qBAAqB;IAKnC;;;;OAIG;YACW,iBAAiB;IAiE/B;;;;;;;;;;;;;;;;;OAiBG;YACW,6BAA6B;IAkC3C;;;;;;;;;;;;OAYG;YACW,iBAAiB;IAoB/B;;;;;;;;;;;OAWG;YACW,mBAAmB;IAyCjC;;;;OAIG;YACW,cAAc;IA0BtB,iCAAiC,CACrC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,WAAW,EAAE,EACnC,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,GAAE,MAAM,EAAO,GAC/B,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAwFlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,QAAQ,CACZ,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,SAAS,EACf,OAAO,GAAE,OAAiC,EAC1C,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC;IA2G1B;;;;OAIG;YACW,mBAAmB;IAqCjC;;;;;OAKG;IACG,UAAU,CACd,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,GAAE,gBAAqB,EAC/B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IA2B3F;;;;;;;;;;;;;;;;;;;OAmBG;IACG,SAAS,CACb,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,SAAS,EACf,OAAO,GAAE,OAAiC,EAC1C,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAkD3B;;;;;;;;;;OAUG;IACG,UAAU,CACd,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,MAAM,SAAS,EACf,OAAO,GAAE,OAAiC,EAC1C,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,OAAO,CAAC,eAAe,CAAC;IAwC3B,kGAAkG;IAC5F,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,EAAE,OAAO,GAAE,OAAiC,GAAG,OAAO,CAAC,eAAe,CAAC;IASjI,gGAAgG;YAClF,SAAS;IAiEvB;;;;OAIG;YACW,eAAe;IAyB7B,oGAAoG;YACtF,iBAAiB;IAe/B;4FACwF;IAClF,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9C;;;;;;;OAOG;IACG,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuDnD;;;;OAIG;YACW,sBAAsB;IAUpC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,aAAa,CACjB,eAAe,EAAE,MAAM,EACvB,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,SAAU,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,mBAAmB,SAAK,EACxB,OAAO,GAAE,OAAiC,GACzC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IA2F5H;;;;;;;;;OASG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBrH;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CACb,QAAQ,EAAE,sBAAsB,EAChC,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,SAAgC,GACnC,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB7F;;;;;OAKG;IACG,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,SAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnH;;;;;;;;;;;OAWG;YACW,sBAAsB;IAsHpC,8FAA8F;YAChF,gBAAgB;IAgF9B,oGAAoG;YACtF,gBAAgB;IA4B9B;;;;;;;;OAQG;IACG,0BAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAI3F;;;;;;;;;;;;;;;OAeG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBrD;;;;;;;;;;;;;;OAcG;IACG,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;KAAE,CAAC;IA4D3H;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,oBAAoB,CACxB,eAAe,EAAE,MAAM,EACvB,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAC7F,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAoFnC;AAED;;;;;;;;;GASG;AACH;;;;;;;;;;;;;GAaG;AAIH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb;6DACyD;IACzD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,MAAM,CA2BT;AAoED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC5C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACzC,YAAY,EAAE,CAiBhB;AAoBD;;;;;;;;;;;GAWG;AACH;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAI9H;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAAE,GAC9B;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,CASpE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,oBAAoB,EAAE,EAC/B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAiBzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmB9C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAM,EAAO,GACrB,oBAAoB,CAetB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAOjD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpF;AA+HD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E;AAED;;0GAE0G;AAC1G,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,SAAS,GACjB,OAAO,CAAC,mCAAmC,CAAC,CAgC9C;AAmBD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,SAAI,EACX,YAAY,SAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpG;AAmBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5E;AAOD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGvG"}