@arcanetech/privacy-sdk-stellar 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/index.d.ts +306 -159
- package/dist/index.js +2295 -1804
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +49 -118
- package/dist/node.js +1260 -1568
- package/dist/node.js.map +1 -1
- package/dist/state/index.d.ts +7 -122
- package/dist/state/index.js +96 -490
- package/dist/state/index.js.map +1 -1
- package/dist/testing/index.d.ts +14 -32
- package/dist/transact/index.d.ts +362 -61
- package/dist/transact/index.js +2371 -940
- package/dist/transact/index.js.map +1 -1
- package/generated/contract/README.md +4 -4
- package/generated/contract/dist/index.d.ts +231 -256
- package/generated/contract/dist/index.js +71 -57
- package/generated/contract/package.json +1 -1
- package/generated/contract/src/index.ts +211 -242
- package/generated/registry/README.md +4 -4
- package/generated/registry/dist/index.d.ts +56 -123
- package/generated/registry/dist/index.js +39 -37
- package/generated/registry/package.json +1 -1
- package/generated/registry/src/index.ts +56 -132
- package/package.json +2 -2
|
@@ -31,71 +31,7 @@ if (typeof window !== "undefined") {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
export const networks = {
|
|
35
|
-
testnet: {
|
|
36
|
-
networkPassphrase: "Test SDF Network ; September 2015",
|
|
37
|
-
contractId: "CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON",
|
|
38
|
-
}
|
|
39
|
-
} as const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Per-application audit public key allowlist entry (runtime/config state).
|
|
44
|
-
*/
|
|
45
|
-
export interface AppAuditState {
|
|
46
|
-
audit_public_key_x: Buffer;
|
|
47
|
-
audit_public_key_y: Buffer;
|
|
48
|
-
enabled: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Ephemeral BabyJubJub / ECDH point (not hashed into the Merkle tree).
|
|
54
|
-
*/
|
|
55
|
-
export interface EphemeralKeyCoords {
|
|
56
|
-
x: Buffer;
|
|
57
|
-
y: Buffer;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Admin-managed, nonce-keyed ZK circuit configuration: verification key plus every dynamic
|
|
63
|
-
* shape parameter of the `Transaction(...)` circuit instantiation used to verify a `transact`
|
|
64
|
-
* call for that nonce (see `circuits/main.circom` / `libs/zk::ZkLayoutParams`).
|
|
65
|
-
*/
|
|
66
|
-
export interface ZkConfig {
|
|
67
|
-
audit_offset: u32;
|
|
68
|
-
deprecated: boolean;
|
|
69
|
-
n_audit_slots: u32;
|
|
70
|
-
n_ins: u32;
|
|
71
|
-
n_outs: u32;
|
|
72
|
-
note_audit_len: u32;
|
|
73
|
-
note_output_len: u32;
|
|
74
|
-
output_note_offset: u32;
|
|
75
|
-
public_n_inputs: u32;
|
|
76
|
-
public_n_outputs: u32;
|
|
77
|
-
vk_bytes: Buffer;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Persistent storage key for the per-nonce [`ZkConfig`] registry.
|
|
82
|
-
*/
|
|
83
|
-
export type ZkConfigKey = {tag: "Config", values: readonly [u64]};
|
|
84
34
|
|
|
85
|
-
/**
|
|
86
|
-
* Storage key for tree leaves — each leaf stored by index for O(1) write on deposit.
|
|
87
|
-
*/
|
|
88
|
-
export type TreeDataKey = {tag: "Leaf", values: readonly [u32]} | {tag: "LeafCount", values: void} | {tag: "LeafEphemeral", values: readonly [u32]} | {tag: "PairwiseFrontier", values: void};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Storage key for nullifiers — each nullifier hash maps to bool (consumed or not).
|
|
92
|
-
*/
|
|
93
|
-
export type NulifierDataKey = {tag: "Nulifier", values: readonly [Buffer]};
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Ring buffer of historical Merkle roots (for proofs generated against recent states).
|
|
97
|
-
*/
|
|
98
|
-
export type RootHistoryKey = {tag: "CurrentRootIndex", values: void} | {tag: "Root", values: readonly [u32]};
|
|
99
35
|
|
|
100
36
|
export const Errors = {
|
|
101
37
|
1: {message:"NullifierUsed"},
|
|
@@ -123,11 +59,11 @@ export const Errors = {
|
|
|
123
59
|
*/
|
|
124
60
|
12: {message:"KytRegistryMissing"},
|
|
125
61
|
/**
|
|
126
|
-
*
|
|
62
|
+
* Reserved (H1): on-chain application audit-key allowlist removed. Do not reuse.
|
|
127
63
|
*/
|
|
128
64
|
13: {message:"UnknownAuditPublicKey"},
|
|
129
65
|
/**
|
|
130
|
-
*
|
|
66
|
+
* Reserved (H1): on-chain application audit-key allowlist removed. Do not reuse.
|
|
131
67
|
*/
|
|
132
68
|
14: {message:"InvalidAuditPublicKey"},
|
|
133
69
|
/**
|
|
@@ -147,71 +83,102 @@ export const Errors = {
|
|
|
147
83
|
* `n_audit_slots`, an `audit_offset`/`output_note_offset` that doesn't match the
|
|
148
84
|
* formula-derived value, or a VK whose `ic` length doesn't match the shape).
|
|
149
85
|
*/
|
|
150
|
-
18: {message:"InvalidZkConfig"}
|
|
86
|
+
18: {message:"InvalidZkConfig"},
|
|
87
|
+
/**
|
|
88
|
+
* `__constructor` was called with `tree_depth > MAX_TREE_DEPTH`.
|
|
89
|
+
*/
|
|
90
|
+
19: {message:"InvalidTreeDepth"},
|
|
91
|
+
/**
|
|
92
|
+
* Duplicate nullifier hashes appear in a single `transact` public-signal vector (C3).
|
|
93
|
+
*/
|
|
94
|
+
20: {message:"DuplicateNullifier"},
|
|
95
|
+
/**
|
|
96
|
+
* Calldata escrow recipient does not match the public-signal escrow limbs.
|
|
97
|
+
*/
|
|
98
|
+
21: {message:"EscrowRecipientMismatch"},
|
|
99
|
+
/**
|
|
100
|
+
* A sweep (non-zero public escrow recipient) requires a registry record for that account.
|
|
101
|
+
*/
|
|
102
|
+
22: {message:"SweepRequiresRegisteredRecipient"}
|
|
151
103
|
}
|
|
152
104
|
|
|
153
105
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Admin-managed, nonce-keyed ZK circuit configuration: verification key plus every dynamic
|
|
108
|
+
* shape parameter of the `Transaction(...)` circuit instantiation used to verify a `transact`
|
|
109
|
+
* call for that nonce (see `circuits/main.circom` / `libs/zk::ZkLayoutParams`).
|
|
110
|
+
*/
|
|
111
|
+
export interface ZkConfig {
|
|
112
|
+
audit_offset: u32;
|
|
113
|
+
deprecated: boolean;
|
|
114
|
+
n_audit_slots: u32;
|
|
115
|
+
n_ins: u32;
|
|
116
|
+
n_outs: u32;
|
|
117
|
+
note_audit_len: u32;
|
|
118
|
+
note_output_len: u32;
|
|
119
|
+
output_note_offset: u32;
|
|
120
|
+
public_n_inputs: u32;
|
|
121
|
+
public_n_outputs: u32;
|
|
122
|
+
vk_bytes: Buffer;
|
|
161
123
|
}
|
|
162
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Storage key for tree leaves — each leaf stored by index for O(1) write on deposit.
|
|
127
|
+
*/
|
|
128
|
+
export type TreeDataKey = {tag: "Leaf", values: readonly [u32]} | {tag: "LeafCount", values: void} | {tag: "LeafEphemeral", values: readonly [u32]} | {tag: "PairwiseFrontier", values: void};
|
|
163
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Persistent storage key for the per-nonce [`ZkConfig`] registry.
|
|
132
|
+
*/
|
|
133
|
+
export type ZkConfigKey = {tag: "Config", values: readonly [u64]};
|
|
164
134
|
|
|
165
|
-
export interface AuditSlotEventPayload {
|
|
166
|
-
ciphertext: Buffer;
|
|
167
|
-
ephemeral_x: Buffer;
|
|
168
|
-
ephemeral_y: Buffer;
|
|
169
|
-
tag: Buffer;
|
|
170
|
-
}
|
|
171
135
|
|
|
172
136
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
137
|
+
/**
|
|
138
|
+
* Ring buffer of historical Merkle roots (for proofs generated against recent states).
|
|
139
|
+
*/
|
|
140
|
+
export type RootHistoryKey = {tag: "CurrentRootIndex", values: void} | {tag: "Root", values: readonly [u32]};
|
|
176
141
|
|
|
177
142
|
|
|
178
143
|
/**
|
|
179
|
-
*
|
|
144
|
+
* Storage key for nullifiers — each nullifier hash maps to bool (consumed or not).
|
|
180
145
|
*/
|
|
181
|
-
export
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
*
|
|
146
|
+
export type NulifierDataKey = {tag: "Nulifier", values: readonly [Buffer]};
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Ephemeral BabyJubJub / ECDH point (not hashed into the Merkle tree).
|
|
186
151
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
value: i128;
|
|
152
|
+
export interface EphemeralKeyCoords {
|
|
153
|
+
x: Buffer;
|
|
154
|
+
y: Buffer;
|
|
191
155
|
}
|
|
192
156
|
|
|
193
157
|
|
|
194
|
-
export interface PendingNotePayload {
|
|
195
|
-
notes: Array<PlaintextNote>;
|
|
196
|
-
}
|
|
197
158
|
|
|
198
159
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
export interface AuditSlotEventPayload {
|
|
163
|
+
ciphertext: Buffer;
|
|
164
|
+
ephemeral_x: Buffer;
|
|
165
|
+
ephemeral_y: Buffer;
|
|
166
|
+
tag: Buffer;
|
|
203
167
|
}
|
|
204
168
|
|
|
205
|
-
export type OptionalPrivateAddressRegistration = {tag: "None", values: void} | {tag: "Some", values: readonly [PrivateAddressRegistration]};
|
|
206
169
|
|
|
170
|
+
export interface OutputNoteEventPayload {
|
|
171
|
+
ciphertext: Buffer;
|
|
172
|
+
ephemeral_x: Buffer;
|
|
173
|
+
ephemeral_y: Buffer;
|
|
174
|
+
output_index: u32;
|
|
175
|
+
tag: Buffer;
|
|
176
|
+
}
|
|
207
177
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
private_address_registration: OptionalPrivateAddressRegistration;
|
|
213
|
-
temp_public_key_x: Buffer;
|
|
214
|
-
temp_public_key_y: Buffer;
|
|
178
|
+
|
|
179
|
+
export interface KytPassageRecord {
|
|
180
|
+
consumed: boolean;
|
|
181
|
+
expires_at_ledger: u32;
|
|
215
182
|
}
|
|
216
183
|
|
|
217
184
|
|
|
@@ -223,103 +190,108 @@ export interface PrivateAddressRecord {
|
|
|
223
190
|
}
|
|
224
191
|
|
|
225
192
|
|
|
226
|
-
export interface PendingNullifierRecord {
|
|
227
|
-
created_at_ledger: u32;
|
|
228
|
-
created_by: string;
|
|
229
|
-
encrypted_private_key: Buffer;
|
|
230
|
-
note: PlaintextNote;
|
|
231
|
-
owner: string;
|
|
232
|
-
temp_public_key_x: Buffer;
|
|
233
|
-
temp_public_key_y: Buffer;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
export interface KytPassageRecord {
|
|
238
|
-
expires_at_ledger: u32;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
193
|
export interface KytPassageAuthorization {
|
|
243
194
|
expiration_ledger: u32;
|
|
244
195
|
signature: Buffer;
|
|
245
196
|
}
|
|
246
197
|
|
|
247
|
-
export interface Client {
|
|
248
|
-
/**
|
|
249
|
-
* Construct and simulate a add_zk_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
250
|
-
* Registers a new per-nonce ZK circuit configuration (VK + full circuit shape). Admin-only;
|
|
251
|
-
* fails if `nonce` already has a config. Validates `n_outs` is even (leaves are inserted
|
|
252
|
-
* pairwise via `PairwiseLeanIMT::insert_two`), `n_audit_slots >= n_ins + n_outs`, that
|
|
253
|
-
* `audit_offset`/`output_note_offset` match the formula-derived layout, and that the VK's
|
|
254
|
-
* `ic` length matches the resulting total public-signal count.
|
|
255
|
-
*/
|
|
256
|
-
add_zk_config: ({admin, nonce, vk_bytes, n_ins, n_outs, public_n_inputs, public_n_outputs, n_audit_slots, note_audit_len, audit_offset, note_output_len, output_note_offset}: {admin: string, nonce: u64, vk_bytes: Buffer, n_ins: u32, n_outs: u32, public_n_inputs: u32, public_n_outputs: u32, n_audit_slots: u32, note_audit_len: u32, audit_offset: u32, note_output_len: u32, output_note_offset: u32}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
257
198
|
|
|
199
|
+
export interface PrivateAddressRegistration {
|
|
200
|
+
owner: string;
|
|
201
|
+
public_key_x: Buffer;
|
|
202
|
+
public_key_y: Buffer;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export const Groth16Error = {
|
|
206
|
+
0: {message:"MalformedVerifyingKey"},
|
|
258
207
|
/**
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
* `nonce` fail with [`Error::ZkConfigDeprecated`]. Admin-only.
|
|
208
|
+
* `Proof::from_bytes` received a `proof_bytes` argument that is too short (or otherwise
|
|
209
|
+
* fails to parse as `a || b || c`) for the fixed G1/G2 encoding lengths.
|
|
262
210
|
*/
|
|
263
|
-
|
|
264
|
-
|
|
211
|
+
1: {message:"MalformedProof"},
|
|
265
212
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
213
|
+
* `PublicSignals::from_bytes` received a length prefix that does not match the remaining
|
|
214
|
+
* payload (too short, truncated Fr limbs, or a claimed length that overflows).
|
|
268
215
|
*/
|
|
269
|
-
|
|
216
|
+
2: {message:"MalformedPublicSignals"}
|
|
217
|
+
}
|
|
270
218
|
|
|
219
|
+
export interface Client {
|
|
271
220
|
/**
|
|
272
221
|
* Construct and simulate a transact transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
273
222
|
* Single entrypoint: verifies `circuits/main.circom` Groth16 proof and public signals, checks
|
|
274
223
|
* tree root and nullifiers, appends new output commitments (with ephemeral keys, not in Merkle),
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
* `withdrawAddressHi` / `withdrawAddressLo`.
|
|
224
|
+
* then applies public token deposits / withdrawals: `publicDepositedAssets` + `publicDeposits`
|
|
225
|
+
* pull from `from`, and `publicWithdrawnAssets` + `publicWithdrawals` send to the Stellar
|
|
226
|
+
* account from `withdrawAddressHi` / `withdrawAddressLo`.
|
|
279
227
|
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
228
|
+
* The proof-bound escrow recipient reconstructed from public signals is the only
|
|
229
|
+
* authorization subject. Both limbs zero means a non-sweep: both sweep output owner
|
|
230
|
+
* coordinates must also be zero. A nonzero pair is a sweep: that account must
|
|
231
|
+
* `require_auth()` (host account credentials, so multisig and rotated signers work; a
|
|
232
|
+
* revoked key cannot), must already have a private address in the registry, and both
|
|
233
|
+
* sweep output owner coordinates must equal that registry key.
|
|
282
234
|
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
* `bytes[0..16]` and `bytes[16..32]` (see `circuits/main.circom`). Avoids mod-`r` loss from a single `Fr`.
|
|
235
|
+
* Asset ids: Stellar **contract** token `C...` addresses encoded as two field elements (same 32-byte
|
|
236
|
+
* split as account keys — see `cir
|
|
286
237
|
*/
|
|
287
|
-
transact: ({from, nonce, proof_bytes, pub_signals_bytes,
|
|
238
|
+
transact: ({from, nonce, proof_bytes, pub_signals_bytes, ciphertext_bytes, kyt_authorization}: {from: string, nonce: u64, proof_bytes: Buffer, pub_signals_bytes: Buffer, ciphertext_bytes: Buffer, kyt_authorization: Option<KytPassageAuthorization>}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
288
239
|
|
|
289
240
|
/**
|
|
290
|
-
* Construct and simulate a
|
|
241
|
+
* Construct and simulate a get_admin transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
242
|
+
* Gets the admin address (the contract deployer)
|
|
291
243
|
*/
|
|
292
|
-
|
|
244
|
+
get_admin: (options?: MethodOptions) => Promise<AssembledTransaction<string>>
|
|
293
245
|
|
|
294
246
|
/**
|
|
295
|
-
* Construct and simulate a
|
|
247
|
+
* Construct and simulate a get_registry transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
296
248
|
*/
|
|
297
|
-
|
|
249
|
+
get_registry: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>
|
|
298
250
|
|
|
299
251
|
/**
|
|
300
|
-
* Construct and simulate a
|
|
252
|
+
* Construct and simulate a set_registry transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
301
253
|
*/
|
|
302
|
-
|
|
254
|
+
set_registry: ({registry}: {registry: string}, options?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
303
255
|
|
|
304
256
|
/**
|
|
305
|
-
* Construct and simulate a
|
|
257
|
+
* Construct and simulate a add_zk_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
258
|
+
* Registers a new per-nonce ZK circuit configuration (VK + full circuit shape). Admin-only;
|
|
259
|
+
* fails if `nonce` already has a config. Validates `n_outs` is even (leaves are inserted
|
|
260
|
+
* pairwise via `PairwiseLeanIMT::insert_two`), `n_audit_slots >= n_ins + n_outs`, that
|
|
261
|
+
* `audit_offset`/`output_note_offset` match the formula-derived layout, and that the VK's
|
|
262
|
+
* `ic` length matches the resulting total public-signal count.
|
|
306
263
|
*/
|
|
307
|
-
|
|
264
|
+
add_zk_config: ({nonce, vk_bytes, n_ins, n_outs, public_n_inputs, public_n_outputs, n_audit_slots, note_audit_len, audit_offset, note_output_len, output_note_offset}: {nonce: u64, vk_bytes: Buffer, n_ins: u32, n_outs: u32, public_n_inputs: u32, public_n_outputs: u32, n_audit_slots: u32, note_audit_len: u32, audit_offset: u32, note_output_len: u32, output_note_offset: u32}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
308
265
|
|
|
309
266
|
/**
|
|
310
|
-
* Construct and simulate a
|
|
267
|
+
* Construct and simulate a get_zk_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
268
|
+
* Reads a registered ZK config (extending its persistent TTL), or `None` if absent.
|
|
311
269
|
*/
|
|
312
|
-
|
|
270
|
+
get_zk_config: ({nonce}: {nonce: u64}, options?: MethodOptions) => Promise<AssembledTransaction<Option<ZkConfig>>>
|
|
313
271
|
|
|
314
272
|
/**
|
|
315
|
-
* Construct and simulate a
|
|
273
|
+
* Construct and simulate a is_known_root transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
274
|
+
* Returns true if `root` appears in the recent root history (ring buffer).
|
|
275
|
+
* All-zero bytes are never accepted.
|
|
316
276
|
*/
|
|
317
|
-
|
|
277
|
+
is_known_root: ({root}: {root: Buffer}, options?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
318
278
|
|
|
319
279
|
/**
|
|
320
|
-
* Construct and simulate a
|
|
280
|
+
* Construct and simulate a get_commitments transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
281
|
+
* Gets all commitments (leaves) in the merkle tree. Read-only view helper (not called from
|
|
282
|
+
* `transact`/`add_zk_config` or any other state-mutating entrypoint) intended for off-chain
|
|
283
|
+
* simulation/queries; its cost scales with `count`, which grows with real pool usage rather
|
|
284
|
+
* than with a single caller-controlled input, so it does not let one transaction consume a
|
|
285
|
+
* disproportionate share of a block's resources the way an admin/user-controlled shape
|
|
286
|
+
* parameter would. Acknowledged `dos-unbounded-operation` finding.
|
|
287
|
+
*
|
|
288
|
+
* `leaves` is a local in-memory `Vec` (`vec![&env]`), not persistent contract storage, so
|
|
289
|
+
* there is no storage-side access-control concern in the `push_back` below either;
|
|
290
|
+
* acknowledged `dos-unexpected-revert-with-storage` false positive. Both acknowledgments are
|
|
291
|
+
* function-level because neither detector respects a `#[allow]` placed on the loop/statement
|
|
292
|
+
* itself.
|
|
321
293
|
*/
|
|
322
|
-
|
|
294
|
+
get_commitments: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>
|
|
323
295
|
|
|
324
296
|
/**
|
|
325
297
|
* Construct and simulate a get_merkle_root transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
@@ -327,6 +299,11 @@ export interface Client {
|
|
|
327
299
|
*/
|
|
328
300
|
get_merkle_root: (options?: MethodOptions) => Promise<AssembledTransaction<Buffer>>
|
|
329
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Construct and simulate a get_kyt_registry transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
304
|
+
*/
|
|
305
|
+
get_kyt_registry: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>
|
|
306
|
+
|
|
330
307
|
/**
|
|
331
308
|
* Construct and simulate a get_merkle_depth transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
332
309
|
* Gets the current depth of the merkle tree
|
|
@@ -334,61 +311,59 @@ export interface Client {
|
|
|
334
311
|
get_merkle_depth: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
335
312
|
|
|
336
313
|
/**
|
|
337
|
-
* Construct and simulate a
|
|
338
|
-
* Gets the number of commitments (leaves) in the merkle tree
|
|
314
|
+
* Construct and simulate a set_kyt_registry transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
339
315
|
*/
|
|
340
|
-
|
|
316
|
+
set_kyt_registry: ({kyt_registry}: {kyt_registry: string}, options?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
341
317
|
|
|
342
318
|
/**
|
|
343
|
-
* Construct and simulate a
|
|
344
|
-
*
|
|
319
|
+
* Construct and simulate a get_token_balance transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
320
|
+
* Token balance held by this contract for a Stellar asset contract (`C...`).
|
|
345
321
|
*/
|
|
346
|
-
|
|
322
|
+
get_token_balance: ({token}: {token: string}, options?: MethodOptions) => Promise<AssembledTransaction<i128>>
|
|
347
323
|
|
|
348
324
|
/**
|
|
349
|
-
* Construct and simulate a
|
|
350
|
-
*
|
|
325
|
+
* Construct and simulate a get_leaf_ephemeral transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
326
|
+
* Ephemeral key (x, y) for a leaf index, if present.
|
|
351
327
|
*/
|
|
352
|
-
|
|
328
|
+
get_leaf_ephemeral: ({leaf_index}: {leaf_index: u32}, options?: MethodOptions) => Promise<AssembledTransaction<Option<EphemeralKeyCoords>>>
|
|
353
329
|
|
|
354
330
|
/**
|
|
355
|
-
* Construct and simulate a
|
|
356
|
-
*
|
|
331
|
+
* Construct and simulate a deprecate_zk_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
332
|
+
* Marks a registered ZK config as deprecated; subsequent `transact` calls referencing this
|
|
333
|
+
* `nonce` fail with [`Error::ZkConfigDeprecated`]. Admin-only.
|
|
357
334
|
*/
|
|
358
|
-
|
|
335
|
+
deprecate_zk_config: ({nonce}: {nonce: u64}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
359
336
|
|
|
360
337
|
/**
|
|
361
|
-
* Construct and simulate a
|
|
362
|
-
* Returns true if the given nullifier hash has already been consumed (used in a withdrawal).
|
|
338
|
+
* Construct and simulate a require_kyt_passage transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
363
339
|
*/
|
|
364
|
-
|
|
340
|
+
require_kyt_passage: ({passage_id}: {passage_id: Buffer}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
365
341
|
|
|
366
342
|
/**
|
|
367
|
-
* Construct and simulate a
|
|
368
|
-
*
|
|
369
|
-
* All-zero bytes are never accepted.
|
|
343
|
+
* Construct and simulate a get_commitment_count transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
344
|
+
* Gets the number of commitments (leaves) in the merkle tree
|
|
370
345
|
*/
|
|
371
|
-
|
|
346
|
+
get_commitment_count: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
372
347
|
|
|
373
348
|
/**
|
|
374
|
-
* Construct and simulate a
|
|
375
|
-
*
|
|
349
|
+
* Construct and simulate a get_pairwise_frontier transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
350
|
+
* Filled-subtree frontier after the last pairwise insert (reload on the next deposit).
|
|
376
351
|
*/
|
|
377
|
-
|
|
352
|
+
get_pairwise_frontier: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>
|
|
378
353
|
|
|
379
354
|
/**
|
|
380
355
|
* Construct and simulate a get_public_slot_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
381
|
-
* `publicNInputs` / `publicNOutputs` for the nonce-`0` ("standard") ZK config
|
|
382
|
-
*
|
|
383
|
-
*
|
|
356
|
+
* `publicNInputs` / `publicNOutputs` for the nonce-`0` ("standard") ZK config.
|
|
357
|
+
* Panics with [`Error::ZkConfigNotFound`] when nonce `0` is unregistered. Prefer
|
|
358
|
+
* [`Self::get_zk_config`] for a specific nonce.
|
|
384
359
|
*/
|
|
385
360
|
get_public_slot_config: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [u32, u32]>>
|
|
386
361
|
|
|
387
362
|
/**
|
|
388
|
-
* Construct and simulate a
|
|
389
|
-
*
|
|
363
|
+
* Construct and simulate a is_nulifier_hash_consumed transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
364
|
+
* Returns true if the given nullifier hash has already been consumed (used in a withdrawal).
|
|
390
365
|
*/
|
|
391
|
-
|
|
366
|
+
is_nulifier_hash_consumed: ({hash}: {hash: Buffer}, options?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
392
367
|
|
|
393
368
|
}
|
|
394
369
|
export class Client extends ContractClient {
|
|
@@ -410,77 +385,71 @@ export class Client extends ContractClient {
|
|
|
410
385
|
}
|
|
411
386
|
constructor(public readonly options: ContractClientOptions) {
|
|
412
387
|
super(
|
|
413
|
-
new ContractSpec([ "
|
|
414
|
-
"AAAAAQAAAERFcGhlbWVyYWwgQmFieUp1Ykp1YiAvIEVDREggcG9pbnQgKG5vdCBoYXNoZWQgaW50byB0aGUgTWVya2xlIHRyZWUpLgAAAAAAAAASRXBoZW1lcmFsS2V5Q29vcmRzAAAAAAACAAAAAAAAAAF4AAAAAAAD7gAAACAAAAAAAAAAAXkAAAAAAAPuAAAAIA==",
|
|
388
|
+
new ContractSpec([ "AAAABAAAAAAAAAAAAAAABUVycm9yAAAAAAAAFgAAAAAAAAANTnVsbGlmaWVyVXNlZAAAAAAAAAEAAAAAAAAAE0luc3VmZmljaWVudEJhbGFuY2UAAAAAAgAAAAAAAAAXUHJvb2ZWZXJpZmljYXRpb25GYWlsZWQAAAAAAwAAAAAAAAAJT25seUFkbWluAAAAAAAABAAAAAAAAAAOVHJlZUF0Q2FwYWNpdHkAAAAAAAUAAAAAAAAAF0Fzc29jaWF0aW9uUm9vdE1pc21hdGNoAAAAAAYAAAAAAAAAFEludmFsaWRQdWJsaWNTaWduYWxzAAAABwAAAAAAAAASSW52YWxpZFRva2VuQW1vdW50AAAAAAAIAAAAPFByb29mIGBzdGF0ZV9yb290YCBpcyBub3QgaW4gdGhlIHJlY2VudCByb290IGhpc3Rvcnkgd2luZG93LgAAAAtVbmtub3duUm9vdAAAAAAJAAAAXkV4YWN0bHkgb25lIG91dHB1dCBjb21taXRtZW50IGlzIG5vbi16ZXJvOyBvbmx5IHplcm8vemVybyBvciB0d28gbm9uLXplcm8gb3V0cHV0cyBhcmUgYWxsb3dlZC4AAAAAABVJbnZhbGlkQ29tbWl0bWVudFBhaXIAAAAAAAAKAAAAXVN0b3JlZCBNZXJrbGUgZnJvbnRpZXIgbGVuZ3RoIGRvZXMgbm90IG1hdGNoIHRyZWUgZGVwdGggKGNvcnJ1cHQgb3Igb3V0ZGF0ZWQgc3RvcmFnZSBsYXlvdXQpLgAAAAAAABVJbnZhbGlkTWVya2xlRnJvbnRpZXIAAAAAAAALAAAASUtZVCBwYXNzYWdlIHJlZ2lzdHJ5IGlzIG5vdCBjb25maWd1cmVkIChyZXF1aXJlZCBmb3IgdGhlIGN1cnJlbnQgbGF5b3V0KS4AAAAAAAASS3l0UmVnaXN0cnlNaXNzaW5nAAAAAAAMAAAATlJlc2VydmVkIChIMSk6IG9uLWNoYWluIGFwcGxpY2F0aW9uIGF1ZGl0LWtleSBhbGxvd2xpc3QgcmVtb3ZlZC4gRG8gbm90IHJldXNlLgAAAAAAFVVua25vd25BdWRpdFB1YmxpY0tleQAAAAAAAA0AAABOUmVzZXJ2ZWQgKEgxKTogb24tY2hhaW4gYXBwbGljYXRpb24gYXVkaXQta2V5IGFsbG93bGlzdCByZW1vdmVkLiBEbyBub3QgcmV1c2UuAAAAAAAVSW52YWxpZEF1ZGl0UHVibGljS2V5AAAAAAAADgAAADRObyBgWmtDb25maWdgIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSByZXF1ZXN0ZWQgbm9uY2UuAAAAEFprQ29uZmlnTm90Rm91bmQAAAAPAAAASFRoZSBgWmtDb25maWdgIGZvciB0aGUgcmVxdWVzdGVkIG5vbmNlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYnkgdGhlIGFkbWluLgAAABJaa0NvbmZpZ0RlcHJlY2F0ZWQAAAAAABAAAABPYGFkZF96a19jb25maWdgIHdhcyBjYWxsZWQgd2l0aCBhIGBub25jZWAgdGhhdCBhbHJlYWR5IGhhcyBhIGNvbmZpZyByZWdpc3RlcmVkLgAAAAAVWmtDb25maWdBbHJlYWR5RXhpc3RzAAAAAAAAEQAAAOdgYWRkX3prX2NvbmZpZ2Agc2hhcGUgcGFyYW1ldGVycyBhcmUgaW5jb25zaXN0ZW50IChvZGQgYG5fb3V0c2AsIGluc3VmZmljaWVudApgbl9hdWRpdF9zbG90c2AsIGFuIGBhdWRpdF9vZmZzZXRgL2BvdXRwdXRfbm90ZV9vZmZzZXRgIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUKZm9ybXVsYS1kZXJpdmVkIHZhbHVlLCBvciBhIFZLIHdob3NlIGBpY2AgbGVuZ3RoIGRvZXNuJ3QgbWF0Y2ggdGhlIHNoYXBlKS4AAAAAD0ludmFsaWRaa0NvbmZpZwAAAAASAAAAPmBfX2NvbnN0cnVjdG9yYCB3YXMgY2FsbGVkIHdpdGggYHRyZWVfZGVwdGggPiBNQVhfVFJFRV9ERVBUSGAuAAAAAAAQSW52YWxpZFRyZWVEZXB0aAAAABMAAABTRHVwbGljYXRlIG51bGxpZmllciBoYXNoZXMgYXBwZWFyIGluIGEgc2luZ2xlIGB0cmFuc2FjdGAgcHVibGljLXNpZ25hbCB2ZWN0b3IgKEMzKS4AAAAAEkR1cGxpY2F0ZU51bGxpZmllcgAAAAAAFAAAAEhDYWxsZGF0YSBlc2Nyb3cgcmVjaXBpZW50IGRvZXMgbm90IG1hdGNoIHRoZSBwdWJsaWMtc2lnbmFsIGVzY3JvdyBsaW1icy4AAAAXRXNjcm93UmVjaXBpZW50TWlzbWF0Y2gAAAAAFQAAAFdBIHN3ZWVwIChub24temVybyBwdWJsaWMgZXNjcm93IHJlY2lwaWVudCkgcmVxdWlyZXMgYSByZWdpc3RyeSByZWNvcmQgZm9yIHRoYXQgYWNjb3VudC4AAAAAIFN3ZWVwUmVxdWlyZXNSZWdpc3RlcmVkUmVjaXBpZW50AAAAFg==",
|
|
415
389
|
"AAAAAQAAAQJBZG1pbi1tYW5hZ2VkLCBub25jZS1rZXllZCBaSyBjaXJjdWl0IGNvbmZpZ3VyYXRpb246IHZlcmlmaWNhdGlvbiBrZXkgcGx1cyBldmVyeSBkeW5hbWljCnNoYXBlIHBhcmFtZXRlciBvZiB0aGUgYFRyYW5zYWN0aW9uKC4uLilgIGNpcmN1aXQgaW5zdGFudGlhdGlvbiB1c2VkIHRvIHZlcmlmeSBhIGB0cmFuc2FjdGAKY2FsbCBmb3IgdGhhdCBub25jZSAoc2VlIGBjaXJjdWl0cy9tYWluLmNpcmNvbWAgLyBgbGlicy96azo6WmtMYXlvdXRQYXJhbXNgKS4AAAAAAAAAAAAIWmtDb25maWcAAAALAAAAAAAAAAxhdWRpdF9vZmZzZXQAAAAEAAAAAAAAAApkZXByZWNhdGVkAAAAAAABAAAAAAAAAA1uX2F1ZGl0X3Nsb3RzAAAAAAAABAAAAAAAAAAFbl9pbnMAAAAAAAAEAAAAAAAAAAZuX291dHMAAAAAAAQAAAAAAAAADm5vdGVfYXVkaXRfbGVuAAAAAAAEAAAAAAAAAA9ub3RlX291dHB1dF9sZW4AAAAABAAAAAAAAAASb3V0cHV0X25vdGVfb2Zmc2V0AAAAAAAEAAAAAAAAAA9wdWJsaWNfbl9pbnB1dHMAAAAABAAAAAAAAAAQcHVibGljX25fb3V0cHV0cwAAAAQAAAAAAAAACHZrX2J5dGVzAAAADg==",
|
|
416
|
-
"AAAAAgAAAD9QZXJzaXN0ZW50IHN0b3JhZ2Uga2V5IGZvciB0aGUgcGVyLW5vbmNlIFtgWmtDb25maWdgXSByZWdpc3RyeS4AAAAAAAAAAAtaa0NvbmZpZ0tleQAAAAABAAAAAQAAAAAAAAAGQ29uZmlnAAAAAAABAAAABg==",
|
|
417
390
|
"AAAAAgAAAFRTdG9yYWdlIGtleSBmb3IgdHJlZSBsZWF2ZXMg4oCUIGVhY2ggbGVhZiBzdG9yZWQgYnkgaW5kZXggZm9yIE8oMSkgd3JpdGUgb24gZGVwb3NpdC4AAAAAAAAAC1RyZWVEYXRhS2V5AAAAAAQAAAABAAAAAAAAAARMZWFmAAAAAQAAAAQAAAAAAAAAAAAAAAlMZWFmQ291bnQAAAAAAAABAAAAVEVwaGVtZXJhbCBwdWJsaWMga2V5IChFQ0RIIHBvaW50IHgsIHkpIHN0b3JlZCBwZXIgbGVhZjsgbm90IHBhcnQgb2YgdGhlIE1lcmtsZSBoYXNoLgAAAA1MZWFmRXBoZW1lcmFsAAAAAAAAAQAAAAQAAAAAAAAAXlJpZ2h0LXNwaW5lIC8gZmlsbGVkLXN1YnRyZWUgZnJvbnRpZXIgYWZ0ZXIgdGhlIGxhc3QgYGluc2VydF90d29gIChsZW5ndGggYG1lcmtsZV9kZXB0aCAtIDFgKS4AAAAAABBQYWlyd2lzZUZyb250aWVy",
|
|
418
|
-
"
|
|
391
|
+
"AAAAAgAAAD9QZXJzaXN0ZW50IHN0b3JhZ2Uga2V5IGZvciB0aGUgcGVyLW5vbmNlIFtgWmtDb25maWdgXSByZWdpc3RyeS4AAAAAAAAAAAtaa0NvbmZpZ0tleQAAAAABAAAAAQAAAAAAAAAGQ29uZmlnAAAAAAABAAAABg==",
|
|
392
|
+
"AAAABQAAADJFbWl0dGVkIGJ5IFtgUHJpdmFjeVBvb2xzQ29udHJhY3Q6OnNldF9yZWdpc3RyeWBdLgAAAAAAAAAAAAtSZWdpc3RyeVNldAAAAAACAAAABWFkbWluAAAAAAAADHJlZ2lzdHJ5X3NldAAAAAEAAAAAAAAACHJlZ2lzdHJ5AAAAEwAAAAAAAAAA",
|
|
393
|
+
"AAAABQAAADNFbWl0dGVkIGJ5IFtgUHJpdmFjeVBvb2xzQ29udHJhY3Q6OmFkZF96a19jb25maWdgXS4AAAAAAAAAAA1aa0NvbmZpZ0FkZGVkAAAAAAAAAgAAAAVhZG1pbgAAAAAAAA96a19jb25maWdfYWRkZWQAAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAA=",
|
|
419
394
|
"AAAAAgAAAFRSaW5nIGJ1ZmZlciBvZiBoaXN0b3JpY2FsIE1lcmtsZSByb290cyAoZm9yIHByb29mcyBnZW5lcmF0ZWQgYWdhaW5zdCByZWNlbnQgc3RhdGVzKS4AAAAAAAAADlJvb3RIaXN0b3J5S2V5AAAAAAACAAAAAAAAACpOZXdlc3Qgcm9vdCBzbG90IGluZGV4IGluIHRoZSByaW5nIGJ1ZmZlci4AAAAAABBDdXJyZW50Um9vdEluZGV4AAAAAQAAAC5Sb290IHZhbHVlIGF0IHNsb3QgYGlgICgwLi5ST09UX0hJU1RPUllfU0laRSkuAAAAAAAEUm9vdAAAAAEAAAAE",
|
|
420
|
-
"
|
|
395
|
+
"AAAABQAAADZFbWl0dGVkIGJ5IFtgUHJpdmFjeVBvb2xzQ29udHJhY3Q6OnNldF9reXRfcmVnaXN0cnlgXS4AAAAAAAAAAAAOS3l0UmVnaXN0cnlTZXQAAAAAAAIAAAAFYWRtaW4AAAAAAAAQa3l0X3JlZ2lzdHJ5X3NldAAAAAEAAAAAAAAACHJlZ2lzdHJ5AAAAEwAAAAAAAAAA",
|
|
396
|
+
"AAAAAgAAAFJTdG9yYWdlIGtleSBmb3IgbnVsbGlmaWVycyDigJQgZWFjaCBudWxsaWZpZXIgaGFzaCBtYXBzIHRvIGJvb2wgKGNvbnN1bWVkIG9yIG5vdCkuAAAAAAAAAAAAD051bGlmaWVyRGF0YUtleQAAAAABAAAAAQAAAAAAAAAITnVsaWZpZXIAAAABAAAD7gAAACA=",
|
|
397
|
+
"AAAAAQAAAERFcGhlbWVyYWwgQmFieUp1Ykp1YiAvIEVDREggcG9pbnQgKG5vdCBoYXNoZWQgaW50byB0aGUgTWVya2xlIHRyZWUpLgAAAAAAAAASRXBoZW1lcmFsS2V5Q29vcmRzAAAAAAACAAAAAAAAAAF4AAAAAAAD7gAAACAAAAAAAAAAAXkAAAAAAAPuAAAAIA==",
|
|
398
|
+
"AAAABQAAALdPbmUgZXZlbnQgcGVyIGF1ZGl0IHNsb3QgKGAwLi5uX2F1ZGl0X3Nsb3RzYCkgaW4gYSBgdHJhbnNhY3RgIGNhbGwncyBwdWJsaWMgc2lnbmFscyDigJQgbGV0cwpvZmYtY2hhaW4gc2Nhbm5lcnMgcmVjb3ZlciBhdWRpdG9yIGNpcGhlcnRleHRzIGZyb20gZXZlbnRzIGluc3RlYWQgb2YgcmUtcGFyc2luZyBjYWxsZGF0YS4AAAAAAAAAABJBdWRpdFNsb3RFbmNyeXB0ZWQAAAAAAAIAAAAFYXVkaXQAAAAAAAAKYXVkaXRfc2xvdAAAAAAAAgAAAAAAAAAKc2xvdF9pbmRleAAAAAAABAAAAAEAAAAAAAAAB3BheWxvYWQAAAAH0AAAABVBdWRpdFNsb3RFdmVudFBheWxvYWQAAAAAAAAAAAAAAA==",
|
|
421
399
|
"AAAABQAAAAAAAAAAAAAAEkt5dFBhc3NhZ2VUcmFuc2FjdAAAAAAAAgAAAAVhdWRpdAAAAAAAAAtreXRfcGFzc2FnZQAAAAACAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAAAAAAAEnB1YmxpY19zaWduYWxfaGFzaAAAAAAD7gAAACAAAAAAAAAAAA==",
|
|
422
|
-
"
|
|
400
|
+
"AAAABQAAADlFbWl0dGVkIGJ5IFtgUHJpdmFjeVBvb2xzQ29udHJhY3Q6OmRlcHJlY2F0ZV96a19jb25maWdgXS4AAAAAAAAAAAAAElprQ29uZmlnRGVwcmVjYXRlZAAAAAAAAgAAAAVhZG1pbgAAAAAAABR6a19jb25maWdfZGVwcmVjYXRlZAAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAAA",
|
|
423
401
|
"AAAABQAAAAAAAAAAAAAAE091dHB1dE5vdGVFbmNyeXB0ZWQAAAAAAgAAAAVhdWRpdAAAAAAAAAtvdXRwdXRfbm90ZQAAAAACAAAAAAAAAA9jb21taXRtZW50X2hhc2gAAAAD7gAAACAAAAABAAAAAAAAAAdwYXlsb2FkAAAAB9AAAAAWT3V0cHV0Tm90ZUV2ZW50UGF5bG9hZAAAAAAAAAAAAAA=",
|
|
424
402
|
"AAAAAQAAAAAAAAAAAAAAFUF1ZGl0U2xvdEV2ZW50UGF5bG9hZAAAAAAAAAQAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
425
|
-
"
|
|
403
|
+
"AAAAAAAABABTaW5nbGUgZW50cnlwb2ludDogdmVyaWZpZXMgYGNpcmN1aXRzL21haW4uY2lyY29tYCBHcm90aDE2IHByb29mIGFuZCBwdWJsaWMgc2lnbmFscywgY2hlY2tzCnRyZWUgcm9vdCBhbmQgbnVsbGlmaWVycywgYXBwZW5kcyBuZXcgb3V0cHV0IGNvbW1pdG1lbnRzICh3aXRoIGVwaGVtZXJhbCBrZXlzLCBub3QgaW4gTWVya2xlKSwKdGhlbiBhcHBsaWVzIHB1YmxpYyB0b2tlbiBkZXBvc2l0cyAvIHdpdGhkcmF3YWxzOiBgcHVibGljRGVwb3NpdGVkQXNzZXRzYCArIGBwdWJsaWNEZXBvc2l0c2AKcHVsbCBmcm9tIGBmcm9tYCwgYW5kIGBwdWJsaWNXaXRoZHJhd25Bc3NldHNgICsgYHB1YmxpY1dpdGhkcmF3YWxzYCBzZW5kIHRvIHRoZSBTdGVsbGFyCmFjY291bnQgZnJvbSBgd2l0aGRyYXdBZGRyZXNzSGlgIC8gYHdpdGhkcmF3QWRkcmVzc0xvYC4KClRoZSBwcm9vZi1ib3VuZCBlc2Nyb3cgcmVjaXBpZW50IHJlY29uc3RydWN0ZWQgZnJvbSBwdWJsaWMgc2lnbmFscyBpcyB0aGUgb25seQphdXRob3JpemF0aW9uIHN1YmplY3QuIEJvdGggbGltYnMgemVybyBtZWFucyBhIG5vbi1zd2VlcDogYm90aCBzd2VlcCBvdXRwdXQgb3duZXIKY29vcmRpbmF0ZXMgbXVzdCBhbHNvIGJlIHplcm8uIEEgbm9uemVybyBwYWlyIGlzIGEgc3dlZXA6IHRoYXQgYWNjb3VudCBtdXN0CmByZXF1aXJlX2F1dGgoKWAgKGhvc3QgYWNjb3VudCBjcmVkZW50aWFscywgc28gbXVsdGlzaWcgYW5kIHJvdGF0ZWQgc2lnbmVycyB3b3JrOyBhCnJldm9rZWQga2V5IGNhbm5vdCksIG11c3QgYWxyZWFkeSBoYXZlIGEgcHJpdmF0ZSBhZGRyZXNzIGluIHRoZSByZWdpc3RyeSwgYW5kIGJvdGgKc3dlZXAgb3V0cHV0IG93bmVyIGNvb3JkaW5hdGVzIG11c3QgZXF1YWwgdGhhdCByZWdpc3RyeSBrZXkuCgpBc3NldCBpZHM6IFN0ZWxsYXIgKipjb250cmFjdCoqIHRva2VuIGBDLi4uYCBhZGRyZXNzZXMgZW5jb2RlZCBhcyB0d28gZmllbGQgZWxlbWVudHMgKHNhbWUgMzItYnl0ZQpzcGxpdCBhcyBhY2NvdW50IGtleXMg4oCUIHNlZSBgY2lyAAAACHRyYW5zYWN0AAAABgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABW5vbmNlAAAAAAAABgAAAAAAAAALcHJvb2ZfYnl0ZXMAAAAADgAAAAAAAAARcHViX3NpZ25hbHNfYnl0ZXMAAAAAAAAOAAAAAAAAABBjaXBoZXJ0ZXh0X2J5dGVzAAAADgAAAAAAAAARa3l0X2F1dGhvcml6YXRpb24AAAAAAAPoAAAH0AAAABdLeXRQYXNzYWdlQXV0aG9yaXphdGlvbgAAAAABAAAD6QAAAAIAAAAD",
|
|
404
|
+
"AAAAAQAAAAAAAAAAAAAAFk91dHB1dE5vdGVFdmVudFBheWxvYWQAAAAAAAUAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAAMb3V0cHV0X2luZGV4AAAABAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
405
|
+
"AAAAAAAAAC5HZXRzIHRoZSBhZG1pbiBhZGRyZXNzICh0aGUgY29udHJhY3QgZGVwbG95ZXIpAAAAAAAJZ2V0X2FkbWluAAAAAAAAAAAAAAEAAAAT",
|
|
406
|
+
"AAAAAAAAAAAAAAAMZ2V0X3JlZ2lzdHJ5AAAAAAAAAAEAAAPoAAAAEw==",
|
|
407
|
+
"AAAAAAAAAAAAAAAMc2V0X3JlZ2lzdHJ5AAAAAQAAAAAAAAAIcmVnaXN0cnkAAAATAAAAAA==",
|
|
426
408
|
"AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAACnRyZWVfZGVwdGgAAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAA=",
|
|
427
|
-
"AAAAAAAAAZpSZWdpc3RlcnMgYSBuZXcgcGVyLW5vbmNlIFpLIGNpcmN1aXQgY29uZmlndXJhdGlvbiAoVksgKyBmdWxsIGNpcmN1aXQgc2hhcGUpLiBBZG1pbi1vbmx5OwpmYWlscyBpZiBgbm9uY2VgIGFscmVhZHkgaGFzIGEgY29uZmlnLiBWYWxpZGF0ZXMgYG5fb3V0c2AgaXMgZXZlbiAobGVhdmVzIGFyZSBpbnNlcnRlZApwYWlyd2lzZSB2aWEgYFBhaXJ3aXNlTGVhbklNVDo6aW5zZXJ0X3R3b2ApLCBgbl9hdWRpdF9zbG90cyA+
|
|
428
|
-
"AAAAAAAAAJVNYXJrcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIGFzIGRlcHJlY2F0ZWQ7IHN1YnNlcXVlbnQgYHRyYW5zYWN0YCBjYWxscyByZWZlcmVuY2luZyB0aGlzCmBub25jZWAgZmFpbCB3aXRoIFtgRXJyb3I6OlprQ29uZmlnRGVwcmVjYXRlZGBdLiBBZG1pbi1vbmx5LgAAAAAAABNkZXByZWNhdGVfemtfY29uZmlnAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAA+kAAAACAAAAAw==",
|
|
409
|
+
"AAAAAAAAAZpSZWdpc3RlcnMgYSBuZXcgcGVyLW5vbmNlIFpLIGNpcmN1aXQgY29uZmlndXJhdGlvbiAoVksgKyBmdWxsIGNpcmN1aXQgc2hhcGUpLiBBZG1pbi1vbmx5OwpmYWlscyBpZiBgbm9uY2VgIGFscmVhZHkgaGFzIGEgY29uZmlnLiBWYWxpZGF0ZXMgYG5fb3V0c2AgaXMgZXZlbiAobGVhdmVzIGFyZSBpbnNlcnRlZApwYWlyd2lzZSB2aWEgYFBhaXJ3aXNlTGVhbklNVDo6aW5zZXJ0X3R3b2ApLCBgbl9hdWRpdF9zbG90cyA+PSBuX2lucyArIG5fb3V0c2AsIHRoYXQKYGF1ZGl0X29mZnNldGAvYG91dHB1dF9ub3RlX29mZnNldGAgbWF0Y2ggdGhlIGZvcm11bGEtZGVyaXZlZCBsYXlvdXQsIGFuZCB0aGF0IHRoZSBWSydzCmBpY2AgbGVuZ3RoIG1hdGNoZXMgdGhlIHJlc3VsdGluZyB0b3RhbCBwdWJsaWMtc2lnbmFsIGNvdW50LgAAAAAADWFkZF96a19jb25maWcAAAAAAAALAAAAAAAAAAVub25jZQAAAAAAAAYAAAAAAAAACHZrX2J5dGVzAAAADgAAAAAAAAAFbl9pbnMAAAAAAAAEAAAAAAAAAAZuX291dHMAAAAAAAQAAAAAAAAAD3B1YmxpY19uX2lucHV0cwAAAAAEAAAAAAAAABBwdWJsaWNfbl9vdXRwdXRzAAAABAAAAAAAAAANbl9hdWRpdF9zbG90cwAAAAAAAAQAAAAAAAAADm5vdGVfYXVkaXRfbGVuAAAAAAAEAAAAAAAAAAxhdWRpdF9vZmZzZXQAAAAEAAAAAAAAAA9ub3RlX291dHB1dF9sZW4AAAAABAAAAAAAAAASb3V0cHV0X25vdGVfb2Zmc2V0AAAAAAAEAAAAAQAAA+kAAAACAAAAAw==",
|
|
429
410
|
"AAAAAAAAAFFSZWFkcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIChleHRlbmRpbmcgaXRzIHBlcnNpc3RlbnQgVFRMKSwgb3IgYE5vbmVgIGlmIGFic2VudC4AAAAAAAANZ2V0X3prX2NvbmZpZwAAAAAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPoAAAH0AAAAAhaa0NvbmZpZw==",
|
|
430
|
-
"
|
|
431
|
-
"
|
|
432
|
-
"AAAAAAAAAAAAAAAQZ2V0X2t5dF9yZWdpc3RyeQAAAAAAAAABAAAD6AAAABM=",
|
|
433
|
-
"AAAAAAAAAAAAAAATcmVxdWlyZV9reXRfcGFzc2FnZQAAAAABAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAPpAAAAAgAAAAM=",
|
|
434
|
-
"AAAAAAAAAAAAAAARc2V0X2FwcF9hdWRpdF9rZXkAAAAAAAAFAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADmFwcGxpY2F0aW9uX2lkAAAAAAPuAAAAIAAAAAAAAAASYXVkaXRfcHVibGljX2tleV94AAAAAAPuAAAAIAAAAAAAAAASYXVkaXRfcHVibGljX2tleV95AAAAAAPuAAAAIAAAAAAAAAAHZW5hYmxlZAAAAAABAAAAAA==",
|
|
435
|
-
"AAAAAAAAAAAAAAATZ2V0X2FwcF9hdWRpdF9zdGF0ZQAAAAABAAAAAAAAAA5hcHBsaWNhdGlvbl9pZAAAAAAD7gAAACAAAAABAAAD6AAAB9AAAAANQXBwQXVkaXRTdGF0ZQAAAA==",
|
|
436
|
-
"AAAAAAAAAAAAAAAMc2V0X3JlZ2lzdHJ5AAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAhyZWdpc3RyeQAAABMAAAAA",
|
|
437
|
-
"AAAAAAAAAAAAAAAMZ2V0X3JlZ2lzdHJ5AAAAAAAAAAEAAAPoAAAAEw==",
|
|
411
|
+
"AAAAAAAAAGtSZXR1cm5zIHRydWUgaWYgYHJvb3RgIGFwcGVhcnMgaW4gdGhlIHJlY2VudCByb290IGhpc3RvcnkgKHJpbmcgYnVmZmVyKS4KQWxsLXplcm8gYnl0ZXMgYXJlIG5ldmVyIGFjY2VwdGVkLgAAAAANaXNfa25vd25fcm9vdAAAAAAAAAEAAAAAAAAABHJvb3QAAAPuAAAAIAAAAAEAAAAB",
|
|
412
|
+
"AAAAAAAAA2NHZXRzIGFsbCBjb21taXRtZW50cyAobGVhdmVzKSBpbiB0aGUgbWVya2xlIHRyZWUuIFJlYWQtb25seSB2aWV3IGhlbHBlciAobm90IGNhbGxlZCBmcm9tCmB0cmFuc2FjdGAvYGFkZF96a19jb25maWdgIG9yIGFueSBvdGhlciBzdGF0ZS1tdXRhdGluZyBlbnRyeXBvaW50KSBpbnRlbmRlZCBmb3Igb2ZmLWNoYWluCnNpbXVsYXRpb24vcXVlcmllczsgaXRzIGNvc3Qgc2NhbGVzIHdpdGggYGNvdW50YCwgd2hpY2ggZ3Jvd3Mgd2l0aCByZWFsIHBvb2wgdXNhZ2UgcmF0aGVyCnRoYW4gd2l0aCBhIHNpbmdsZSBjYWxsZXItY29udHJvbGxlZCBpbnB1dCwgc28gaXQgZG9lcyBub3QgbGV0IG9uZSB0cmFuc2FjdGlvbiBjb25zdW1lIGEKZGlzcHJvcG9ydGlvbmF0ZSBzaGFyZSBvZiBhIGJsb2NrJ3MgcmVzb3VyY2VzIHRoZSB3YXkgYW4gYWRtaW4vdXNlci1jb250cm9sbGVkIHNoYXBlCnBhcmFtZXRlciB3b3VsZC4gQWNrbm93bGVkZ2VkIGBkb3MtdW5ib3VuZGVkLW9wZXJhdGlvbmAgZmluZGluZy4KCmBsZWF2ZXNgIGlzIGEgbG9jYWwgaW4tbWVtb3J5IGBWZWNgIChgdmVjIVsmZW52XWApLCBub3QgcGVyc2lzdGVudCBjb250cmFjdCBzdG9yYWdlLCBzbwp0aGVyZSBpcyBubyBzdG9yYWdlLXNpZGUgYWNjZXNzLWNvbnRyb2wgY29uY2VybiBpbiB0aGUgYHB1c2hfYmFja2AgYmVsb3cgZWl0aGVyOwphY2tub3dsZWRnZWQgYGRvcy11bmV4cGVjdGVkLXJldmVydC13aXRoLXN0b3JhZ2VgIGZhbHNlIHBvc2l0aXZlLiBCb3RoIGFja25vd2xlZGdtZW50cyBhcmUKZnVuY3Rpb24tbGV2ZWwgYmVjYXVzZSBuZWl0aGVyIGRldGVjdG9yIHJlc3BlY3RzIGEgYCNbYWxsb3ddYCBwbGFjZWQgb24gdGhlIGxvb3Avc3RhdGVtZW50Cml0c2VsZi4AAAAAD2dldF9jb21taXRtZW50cwAAAAAAAAAAAQAAA+oAAAPuAAAAIA==",
|
|
438
413
|
"AAAAAAAAADRHZXRzIHRoZSBjdXJyZW50IG1lcmtsZSByb290IG9mIHRoZSBjb21taXRtZW50IHRyZWUuAAAAD2dldF9tZXJrbGVfcm9vdAAAAAAAAAAAAQAAA+4AAAAg",
|
|
414
|
+
"AAAAAAAAAAAAAAAQZ2V0X2t5dF9yZWdpc3RyeQAAAAAAAAABAAAD6AAAABM=",
|
|
439
415
|
"AAAAAAAAAClHZXRzIHRoZSBjdXJyZW50IGRlcHRoIG9mIHRoZSBtZXJrbGUgdHJlZQAAAAAAABBnZXRfbWVya2xlX2RlcHRoAAAAAAAAAAEAAAAE",
|
|
440
|
-
"
|
|
416
|
+
"AAAAAAAAAAAAAAAQc2V0X2t5dF9yZWdpc3RyeQAAAAEAAAAAAAAADGt5dF9yZWdpc3RyeQAAABMAAAAA",
|
|
417
|
+
"AAAAAAAAAEpUb2tlbiBiYWxhbmNlIGhlbGQgYnkgdGhpcyBjb250cmFjdCBmb3IgYSBTdGVsbGFyIGFzc2V0IGNvbnRyYWN0IChgQy4uLmApLgAAAAAAEWdldF90b2tlbl9iYWxhbmNlAAAAAAAAAQAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAQAAAAs=",
|
|
441
418
|
"AAAAAAAAADJFcGhlbWVyYWwga2V5ICh4LCB5KSBmb3IgYSBsZWFmIGluZGV4LCBpZiBwcmVzZW50LgAAAAAAEmdldF9sZWFmX2VwaGVtZXJhbAAAAAAAAQAAAAAAAAAKbGVhZl9pbmRleAAAAAAABAAAAAEAAAPoAAAH0AAAABJFcGhlbWVyYWxLZXlDb29yZHMAAA==",
|
|
419
|
+
"AAAAAAAAAJVNYXJrcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIGFzIGRlcHJlY2F0ZWQ7IHN1YnNlcXVlbnQgYHRyYW5zYWN0YCBjYWxscyByZWZlcmVuY2luZyB0aGlzCmBub25jZWAgZmFpbCB3aXRoIFtgRXJyb3I6OlprQ29uZmlnRGVwcmVjYXRlZGBdLiBBZG1pbi1vbmx5LgAAAAAAABNkZXByZWNhdGVfemtfY29uZmlnAAAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPpAAAAAgAAAAM=",
|
|
420
|
+
"AAAAAAAAAAAAAAATcmVxdWlyZV9reXRfcGFzc2FnZQAAAAABAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAPpAAAAAgAAAAM=",
|
|
421
|
+
"AAAAAAAAADpHZXRzIHRoZSBudW1iZXIgb2YgY29tbWl0bWVudHMgKGxlYXZlcykgaW4gdGhlIG1lcmtsZSB0cmVlAAAAAAAUZ2V0X2NvbW1pdG1lbnRfY291bnQAAAAAAAAAAQAAAAQ=",
|
|
442
422
|
"AAAAAAAAAFRGaWxsZWQtc3VidHJlZSBmcm9udGllciBhZnRlciB0aGUgbGFzdCBwYWlyd2lzZSBpbnNlcnQgKHJlbG9hZCBvbiB0aGUgbmV4dCBkZXBvc2l0KS4AAAAVZ2V0X3BhaXJ3aXNlX2Zyb250aWVyAAAAAAAAAAAAAAEAAAPqAAAD7gAAACA=",
|
|
443
|
-
"
|
|
423
|
+
"AAAAAAAAAMlgcHVibGljTklucHV0c2AgLyBgcHVibGljTk91dHB1dHNgIGZvciB0aGUgbm9uY2UtYDBgICgic3RhbmRhcmQiKSBaSyBjb25maWcuClBhbmljcyB3aXRoIFtgRXJyb3I6OlprQ29uZmlnTm90Rm91bmRgXSB3aGVuIG5vbmNlIGAwYCBpcyB1bnJlZ2lzdGVyZWQuIFByZWZlcgpbYFNlbGY6OmdldF96a19jb25maWdgXSBmb3IgYSBzcGVjaWZpYyBub25jZS4AAAAAAAAWZ2V0X3B1YmxpY19zbG90X2NvbmZpZwAAAAAAAAAAAAEAAAPtAAAAAgAAAAQAAAAE",
|
|
444
424
|
"AAAAAAAAAFpSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG51bGxpZmllciBoYXNoIGhhcyBhbHJlYWR5IGJlZW4gY29uc3VtZWQgKHVzZWQgaW4gYSB3aXRoZHJhd2FsKS4AAAAAABlpc19udWxpZmllcl9oYXNoX2NvbnN1bWVkAAAAAAAAAQAAAAAAAAAEaGFzaAAAA+4AAAAgAAAAAQAAAAE=",
|
|
445
|
-
"
|
|
446
|
-
"AAAAAAAAAEpUb2tlbiBiYWxhbmNlIGhlbGQgYnkgdGhpcyBjb250cmFjdCBmb3IgYSBTdGVsbGFyIGFzc2V0IGNvbnRyYWN0IChgQy4uLmApLgAAAAAAEWdldF90b2tlbl9iYWxhbmNlAAAAAAAAAQAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAQAAAAs=",
|
|
447
|
-
"AAAAAAAAAQ5gcHVibGljTklucHV0c2AgLyBgcHVibGljTk91dHB1dHNgIGZvciB0aGUgbm9uY2UtYDBgICgic3RhbmRhcmQiKSBaSyBjb25maWcsIGlmIHJlZ2lzdGVyZWQuClRoaW4gYmFja3dhcmQtY29tcGF0aWJsZSB3cmFwcGVyIG92ZXIgW2BTZWxmOjpnZXRfemtfY29uZmlnYF07IHByZWZlciByZWFkaW5nIHRoZSByZWxldmFudApub25jZSdzIGNvbmZpZyBkaXJlY3RseSBmb3IgbmV3IGNvZGUsIHNpbmNlIGEgcG9vbCBtYXkgaGF2ZSBzZXZlcmFsIHJlZ2lzdGVyZWQgY29uZmlncy4AAAAAABZnZXRfcHVibGljX3Nsb3RfY29uZmlnAAAAAAAAAAAAAQAAA+0AAAACAAAABAAAAAQ=",
|
|
448
|
-
"AAAAAAAAAC5HZXRzIHRoZSBhZG1pbiBhZGRyZXNzICh0aGUgY29udHJhY3QgZGVwbG95ZXIpAAAAAAAJZ2V0X2FkbWluAAAAAAAAAAAAAAEAAAAT",
|
|
449
|
-
"AAAABAAAAAAAAAAAAAAADEdyb3RoMTZFcnJvcgAAAAEAAAAAAAAAFU1hbGZvcm1lZFZlcmlmeWluZ0tleQAAAAAAAAA=",
|
|
450
|
-
"AAAAAQAAAD5QbGFpbnRleHQgbm90ZSBmaWVsZHMgc3RvcmVkIGluIHJlZ2lzdHJ5IGZvciBvbmJvYXJkaW5nIGNsYWltLgAAAAAAAAAAAA1QbGFpbnRleHROb3RlAAAAAAAABgAAAAAAAAAIYXNzZXRfaGkAAAPuAAAAIAAAAAAAAAAIYXNzZXRfbG8AAAPuAAAAIAAAAFZNdXN0IHJlbWFpbiBgTm9uZWA7IHJlZ2lzdHJ5IHJlamVjdHMgcGF5bG9hZHMgdGhhdCBleHBvc2UgdGhlIHNlbmRlciBlcGhlbWVyYWwgc2NhbGFyLgAAAAAAGmRlcG9zaXRlZF9lcGhlbWVyYWxfc2NhbGFyAAAAAAPoAAAD7gAAACAAAAAAAAAACW51bGxpZmllcgAAAAAAA+4AAAAgAAAAAAAAAAZzZWNyZXQAAAAAA+4AAAAgAAAAAAAAAAV2YWx1ZQAAAAAAAAs=",
|
|
451
|
-
"AAAAAQAAAAAAAAAAAAAAElBlbmRpbmdOb3RlUGF5bG9hZAAAAAAAAQAAAAAAAAAFbm90ZXMAAAAAAAPqAAAH0AAAAA1QbGFpbnRleHROb3RlAAAA",
|
|
452
|
-
"AAAAAQAAAAAAAAAAAAAAGlByaXZhdGVBZGRyZXNzUmVnaXN0cmF0aW9uAAAAAAADAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHB1YmxpY19rZXlfeAAAA+4AAAAgAAAAAAAAAAxwdWJsaWNfa2V5X3kAAAPuAAAAIA==",
|
|
453
|
-
"AAAAAgAAAAAAAAAAAAAAIk9wdGlvbmFsUHJpdmF0ZUFkZHJlc3NSZWdpc3RyYXRpb24AAAAAAAIAAAAAAAAAAAAAAAROb25lAAAAAQAAAAAAAAAEU29tZQAAAAEAAAfQAAAAGlByaXZhdGVBZGRyZXNzUmVnaXN0cmF0aW9uAAA=",
|
|
454
|
-
"AAAAAQAAAAAAAAAAAAAAEU9uYm9hcmRpbmdQYXlsb2FkAAAAAAAABgAAAAAAAAAVZW5jcnlwdGVkX3ByaXZhdGVfa2V5AAAAAAAADgAAAAAAAAAFbm90ZXMAAAAAAAfQAAAAElBlbmRpbmdOb3RlUGF5bG9hZAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAHHByaXZhdGVfYWRkcmVzc19yZWdpc3RyYXRpb24AAAfQAAAAIk9wdGlvbmFsUHJpdmF0ZUFkZHJlc3NSZWdpc3RyYXRpb24AAAAAAAAAAAARdGVtcF9wdWJsaWNfa2V5X3gAAAAAAAPuAAAAIAAAAAAAAAARdGVtcF9wdWJsaWNfa2V5X3kAAAAAAAPuAAAAIA==",
|
|
425
|
+
"AAAAAQAAAAAAAAAAAAAAEEt5dFBhc3NhZ2VSZWNvcmQAAAACAAAAAAAAAAhjb25zdW1lZAAAAAEAAAAAAAAAEWV4cGlyZXNfYXRfbGVkZ2VyAAAAAAAABA==",
|
|
455
426
|
"AAAAAQAAAAAAAAAAAAAAFFByaXZhdGVBZGRyZXNzUmVjb3JkAAAABAAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAxwdWJsaWNfa2V5X3gAAAPuAAAAIAAAAAAAAAAMcHVibGljX2tleV95AAAD7gAAACAAAAAAAAAAEXVwZGF0ZWRfYXRfbGVkZ2VyAAAAAAAABA==",
|
|
456
|
-
"
|
|
457
|
-
"
|
|
458
|
-
"
|
|
427
|
+
"AAAAAQAAAAAAAAAAAAAAF0t5dFBhc3NhZ2VBdXRob3JpemF0aW9uAAAAAAIAAAAAAAAAEWV4cGlyYXRpb25fbGVkZ2VyAAAAAAAABAAAAAAAAAAJc2lnbmF0dXJlAAAAAAAD7gAAAEA=",
|
|
428
|
+
"AAAAAQAAAAAAAAAAAAAAGlByaXZhdGVBZGRyZXNzUmVnaXN0cmF0aW9uAAAAAAADAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHB1YmxpY19rZXlfeAAAA+4AAAAgAAAAAAAAAAxwdWJsaWNfa2V5X3kAAAPuAAAAIA==",
|
|
429
|
+
"AAAABAAAAAAAAAAAAAAADEdyb3RoMTZFcnJvcgAAAAMAAAAAAAAAFU1hbGZvcm1lZFZlcmlmeWluZ0tleQAAAAAAAAAAAACcYFByb29mOjpmcm9tX2J5dGVzYCByZWNlaXZlZCBhIGBwcm9vZl9ieXRlc2AgYXJndW1lbnQgdGhhdCBpcyB0b28gc2hvcnQgKG9yIG90aGVyd2lzZQpmYWlscyB0byBwYXJzZSBhcyBgYSB8fCBiIHx8IGNgKSBmb3IgdGhlIGZpeGVkIEcxL0cyIGVuY29kaW5nIGxlbmd0aHMuAAAADk1hbGZvcm1lZFByb29mAAAAAAABAAAAo2BQdWJsaWNTaWduYWxzOjpmcm9tX2J5dGVzYCByZWNlaXZlZCBhIGxlbmd0aCBwcmVmaXggdGhhdCBkb2VzIG5vdCBtYXRjaCB0aGUgcmVtYWluaW5nCnBheWxvYWQgKHRvbyBzaG9ydCwgdHJ1bmNhdGVkIEZyIGxpbWJzLCBvciBhIGNsYWltZWQgbGVuZ3RoIHRoYXQgb3ZlcmZsb3dzKS4AAAAAFk1hbGZvcm1lZFB1YmxpY1NpZ25hbHMAAAAAAAI=" ]),
|
|
459
430
|
options
|
|
460
431
|
)
|
|
461
432
|
}
|
|
462
433
|
public readonly fromJSON = {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
get_zk_config: this.txFromJSON<Option<ZkConfig>>,
|
|
466
|
-
transact: this.txFromJSON<Result<void>>,
|
|
467
|
-
set_kyt_registry: this.txFromJSON<null>,
|
|
468
|
-
get_kyt_registry: this.txFromJSON<Option<string>>,
|
|
469
|
-
require_kyt_passage: this.txFromJSON<Result<void>>,
|
|
470
|
-
set_app_audit_key: this.txFromJSON<null>,
|
|
471
|
-
get_app_audit_state: this.txFromJSON<Option<AppAuditState>>,
|
|
472
|
-
set_registry: this.txFromJSON<null>,
|
|
434
|
+
transact: this.txFromJSON<Result<void>>,
|
|
435
|
+
get_admin: this.txFromJSON<string>,
|
|
473
436
|
get_registry: this.txFromJSON<Option<string>>,
|
|
437
|
+
set_registry: this.txFromJSON<null>,
|
|
438
|
+
add_zk_config: this.txFromJSON<Result<void>>,
|
|
439
|
+
get_zk_config: this.txFromJSON<Option<ZkConfig>>,
|
|
440
|
+
is_known_root: this.txFromJSON<boolean>,
|
|
441
|
+
get_commitments: this.txFromJSON<Array<Buffer>>,
|
|
474
442
|
get_merkle_root: this.txFromJSON<Buffer>,
|
|
443
|
+
get_kyt_registry: this.txFromJSON<Option<string>>,
|
|
475
444
|
get_merkle_depth: this.txFromJSON<u32>,
|
|
476
|
-
|
|
445
|
+
set_kyt_registry: this.txFromJSON<null>,
|
|
446
|
+
get_token_balance: this.txFromJSON<i128>,
|
|
477
447
|
get_leaf_ephemeral: this.txFromJSON<Option<EphemeralKeyCoords>>,
|
|
448
|
+
deprecate_zk_config: this.txFromJSON<Result<void>>,
|
|
449
|
+
require_kyt_passage: this.txFromJSON<Result<void>>,
|
|
450
|
+
get_commitment_count: this.txFromJSON<u32>,
|
|
478
451
|
get_pairwise_frontier: this.txFromJSON<Array<Buffer>>,
|
|
479
|
-
get_commitments: this.txFromJSON<Array<Buffer>>,
|
|
480
|
-
is_nulifier_hash_consumed: this.txFromJSON<boolean>,
|
|
481
|
-
is_known_root: this.txFromJSON<boolean>,
|
|
482
|
-
get_token_balance: this.txFromJSON<i128>,
|
|
483
452
|
get_public_slot_config: this.txFromJSON<readonly [u32, u32]>,
|
|
484
|
-
|
|
453
|
+
is_nulifier_hash_consumed: this.txFromJSON<boolean>
|
|
485
454
|
}
|
|
486
455
|
}
|