@arcanetech/privacy-sdk-stellar 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -0
- package/dist/index.js +215 -18
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +6 -0
- package/dist/node.js +209 -17
- package/dist/node.js.map +1 -1
- package/dist/transact/index.d.ts +6 -0
- package/dist/transact/index.js +131 -2
- package/dist/transact/index.js.map +1 -1
- package/generated/contract/README.md +2 -2
- package/generated/contract/dist/index.d.ts +106 -8
- package/generated/contract/dist/index.js +36 -8
- package/generated/contract/package.json +1 -1
- package/generated/contract/src/index.ts +98 -11
- package/generated/registry/package.json +1 -1
- package/package.json +8 -8
|
@@ -8,7 +8,7 @@ This library was automatically generated by Soroban CLI using a command similar
|
|
|
8
8
|
soroban contract bindings ts \
|
|
9
9
|
--rpc-url https://soroban-testnet.stellar.org \
|
|
10
10
|
--network-passphrase "Test SDF Network ; September 2015" \
|
|
11
|
-
--contract-id
|
|
11
|
+
--contract-id CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON \
|
|
12
12
|
--output-dir ./path/to/contract
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -30,7 +30,7 @@ However, we've actually encountered [frustration](https://github.com/stellar/sor
|
|
|
30
30
|
|
|
31
31
|
```json
|
|
32
32
|
"scripts": {
|
|
33
|
-
"postinstall": "soroban contract bindings ts --rpc-url https://soroban-testnet.stellar.org --network-passphrase \"Test SDF Network ; September 2015\" --id
|
|
33
|
+
"postinstall": "soroban contract bindings ts --rpc-url https://soroban-testnet.stellar.org --network-passphrase \"Test SDF Network ; September 2015\" --id CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON --name contract"
|
|
34
34
|
}
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Buffer } from "buffer";
|
|
2
2
|
import { AssembledTransaction, Client as ContractClient, ClientOptions as ContractClientOptions, MethodOptions, Result } from "@stellar/stellar-sdk/contract";
|
|
3
|
-
import type { u32, i128, Option } from "@stellar/stellar-sdk/contract";
|
|
3
|
+
import type { u32, u64, i128, Option } from "@stellar/stellar-sdk/contract";
|
|
4
4
|
export * from "@stellar/stellar-sdk";
|
|
5
5
|
export * as contract from "@stellar/stellar-sdk/contract";
|
|
6
6
|
export * as rpc from "@stellar/stellar-sdk/rpc";
|
|
7
7
|
export declare const networks: {
|
|
8
8
|
readonly testnet: {
|
|
9
9
|
readonly networkPassphrase: "Test SDF Network ; September 2015";
|
|
10
|
-
readonly contractId: "
|
|
10
|
+
readonly contractId: "CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON";
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
@@ -25,6 +25,31 @@ export interface EphemeralKeyCoords {
|
|
|
25
25
|
x: Buffer;
|
|
26
26
|
y: Buffer;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Admin-managed, nonce-keyed ZK circuit configuration: verification key plus every dynamic
|
|
30
|
+
* shape parameter of the `Transaction(...)` circuit instantiation used to verify a `transact`
|
|
31
|
+
* call for that nonce (see `circuits/main.circom` / `libs/zk::ZkLayoutParams`).
|
|
32
|
+
*/
|
|
33
|
+
export interface ZkConfig {
|
|
34
|
+
audit_offset: u32;
|
|
35
|
+
deprecated: boolean;
|
|
36
|
+
n_audit_slots: u32;
|
|
37
|
+
n_ins: u32;
|
|
38
|
+
n_outs: u32;
|
|
39
|
+
note_audit_len: u32;
|
|
40
|
+
note_output_len: u32;
|
|
41
|
+
output_note_offset: u32;
|
|
42
|
+
public_n_inputs: u32;
|
|
43
|
+
public_n_outputs: u32;
|
|
44
|
+
vk_bytes: Buffer;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Persistent storage key for the per-nonce [`ZkConfig`] registry.
|
|
48
|
+
*/
|
|
49
|
+
export type ZkConfigKey = {
|
|
50
|
+
tag: "Config";
|
|
51
|
+
values: readonly [u64];
|
|
52
|
+
};
|
|
28
53
|
/**
|
|
29
54
|
* Storage key for tree leaves — each leaf stored by index for O(1) write on deposit.
|
|
30
55
|
*/
|
|
@@ -119,6 +144,32 @@ export declare const Errors: {
|
|
|
119
144
|
14: {
|
|
120
145
|
message: string;
|
|
121
146
|
};
|
|
147
|
+
/**
|
|
148
|
+
* No `ZkConfig` is registered for the requested nonce.
|
|
149
|
+
*/
|
|
150
|
+
15: {
|
|
151
|
+
message: string;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* The `ZkConfig` for the requested nonce has been deprecated by the admin.
|
|
155
|
+
*/
|
|
156
|
+
16: {
|
|
157
|
+
message: string;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* `add_zk_config` was called with a `nonce` that already has a config registered.
|
|
161
|
+
*/
|
|
162
|
+
17: {
|
|
163
|
+
message: string;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* `add_zk_config` shape parameters are inconsistent (odd `n_outs`, insufficient
|
|
167
|
+
* `n_audit_slots`, an `audit_offset`/`output_note_offset` that doesn't match the
|
|
168
|
+
* formula-derived value, or a VK whose `ic` length doesn't match the shape).
|
|
169
|
+
*/
|
|
170
|
+
18: {
|
|
171
|
+
message: string;
|
|
172
|
+
};
|
|
122
173
|
};
|
|
123
174
|
export interface OutputNoteEventPayload {
|
|
124
175
|
ciphertext: Buffer;
|
|
@@ -127,6 +178,12 @@ export interface OutputNoteEventPayload {
|
|
|
127
178
|
output_index: u32;
|
|
128
179
|
tag: Buffer;
|
|
129
180
|
}
|
|
181
|
+
export interface AuditSlotEventPayload {
|
|
182
|
+
ciphertext: Buffer;
|
|
183
|
+
ephemeral_x: Buffer;
|
|
184
|
+
ephemeral_y: Buffer;
|
|
185
|
+
tag: Buffer;
|
|
186
|
+
}
|
|
130
187
|
export declare const Groth16Error: {
|
|
131
188
|
0: {
|
|
132
189
|
message: string;
|
|
@@ -192,6 +249,44 @@ export interface KytPassageAuthorization {
|
|
|
192
249
|
signature: Buffer;
|
|
193
250
|
}
|
|
194
251
|
export interface Client {
|
|
252
|
+
/**
|
|
253
|
+
* 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.
|
|
254
|
+
* Registers a new per-nonce ZK circuit configuration (VK + full circuit shape). Admin-only;
|
|
255
|
+
* fails if `nonce` already has a config. Validates `n_outs` is even (leaves are inserted
|
|
256
|
+
* pairwise via `PairwiseLeanIMT::insert_two`), `n_audit_slots >= n_ins + n_outs`, that
|
|
257
|
+
* `audit_offset`/`output_note_offset` match the formula-derived layout, and that the VK's
|
|
258
|
+
* `ic` length matches the resulting total public-signal count.
|
|
259
|
+
*/
|
|
260
|
+
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 }: {
|
|
261
|
+
admin: string;
|
|
262
|
+
nonce: u64;
|
|
263
|
+
vk_bytes: Buffer;
|
|
264
|
+
n_ins: u32;
|
|
265
|
+
n_outs: u32;
|
|
266
|
+
public_n_inputs: u32;
|
|
267
|
+
public_n_outputs: u32;
|
|
268
|
+
n_audit_slots: u32;
|
|
269
|
+
note_audit_len: u32;
|
|
270
|
+
audit_offset: u32;
|
|
271
|
+
note_output_len: u32;
|
|
272
|
+
output_note_offset: u32;
|
|
273
|
+
}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>;
|
|
274
|
+
/**
|
|
275
|
+
* 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.
|
|
276
|
+
* Marks a registered ZK config as deprecated; subsequent `transact` calls referencing this
|
|
277
|
+
* `nonce` fail with [`Error::ZkConfigDeprecated`]. Admin-only.
|
|
278
|
+
*/
|
|
279
|
+
deprecate_zk_config: ({ admin, nonce }: {
|
|
280
|
+
admin: string;
|
|
281
|
+
nonce: u64;
|
|
282
|
+
}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>;
|
|
283
|
+
/**
|
|
284
|
+
* 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.
|
|
285
|
+
* Reads a registered ZK config (extending its persistent TTL), or `None` if absent.
|
|
286
|
+
*/
|
|
287
|
+
get_zk_config: ({ nonce }: {
|
|
288
|
+
nonce: u64;
|
|
289
|
+
}, options?: MethodOptions) => Promise<AssembledTransaction<Option<ZkConfig>>>;
|
|
195
290
|
/**
|
|
196
291
|
* 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.
|
|
197
292
|
* Single entrypoint: verifies `circuits/main.circom` Groth16 proof and public signals, checks
|
|
@@ -208,8 +303,9 @@ export interface Client {
|
|
|
208
303
|
* public field elements `withdrawAddressHi` / `withdrawAddressLo` — big-endian `u128` chunks
|
|
209
304
|
* `bytes[0..16]` and `bytes[16..32]` (see `circuits/main.circom`). Avoids mod-`r` loss from a single `Fr`.
|
|
210
305
|
*/
|
|
211
|
-
transact: ({ from, proof_bytes, pub_signals_bytes, onboarding, kyt_authorization }: {
|
|
306
|
+
transact: ({ from, nonce, proof_bytes, pub_signals_bytes, onboarding, kyt_authorization }: {
|
|
212
307
|
from: string;
|
|
308
|
+
nonce: u64;
|
|
213
309
|
proof_bytes: Buffer;
|
|
214
310
|
pub_signals_bytes: Buffer;
|
|
215
311
|
onboarding: Option<OnboardingPayload>;
|
|
@@ -315,7 +411,9 @@ export interface Client {
|
|
|
315
411
|
}, options?: MethodOptions) => Promise<AssembledTransaction<i128>>;
|
|
316
412
|
/**
|
|
317
413
|
* 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.
|
|
318
|
-
* `publicNInputs` / `publicNOutputs`
|
|
414
|
+
* `publicNInputs` / `publicNOutputs` for the nonce-`0` ("standard") ZK config, if registered.
|
|
415
|
+
* Thin backward-compatible wrapper over [`Self::get_zk_config`]; prefer reading the relevant
|
|
416
|
+
* nonce's config directly for new code, since a pool may have several registered configs.
|
|
319
417
|
*/
|
|
320
418
|
get_public_slot_config: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [u32, u32]>>;
|
|
321
419
|
/**
|
|
@@ -328,11 +426,8 @@ export declare class Client extends ContractClient {
|
|
|
328
426
|
readonly options: ContractClientOptions;
|
|
329
427
|
static deploy<T = Client>(
|
|
330
428
|
/** Constructor/Initialization Args for the contract's `__constructor` method */
|
|
331
|
-
{ tree_depth,
|
|
429
|
+
{ tree_depth, admin }: {
|
|
332
430
|
tree_depth: u32;
|
|
333
|
-
vk_bytes: Buffer;
|
|
334
|
-
public_n_inputs: u32;
|
|
335
|
-
public_n_outputs: u32;
|
|
336
431
|
admin: string;
|
|
337
432
|
},
|
|
338
433
|
/** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
|
|
@@ -346,6 +441,9 @@ export declare class Client extends ContractClient {
|
|
|
346
441
|
}): Promise<AssembledTransaction<T>>;
|
|
347
442
|
constructor(options: ContractClientOptions);
|
|
348
443
|
readonly fromJSON: {
|
|
444
|
+
add_zk_config: (json: string) => AssembledTransaction<Result<void, import("@stellar/stellar-sdk/contract").ErrorMessage>>;
|
|
445
|
+
deprecate_zk_config: (json: string) => AssembledTransaction<Result<void, import("@stellar/stellar-sdk/contract").ErrorMessage>>;
|
|
446
|
+
get_zk_config: (json: string) => AssembledTransaction<Option<ZkConfig>>;
|
|
349
447
|
transact: (json: string) => AssembledTransaction<Result<void, import("@stellar/stellar-sdk/contract").ErrorMessage>>;
|
|
350
448
|
set_kyt_registry: (json: string) => AssembledTransaction<null>;
|
|
351
449
|
get_kyt_registry: (json: string) => AssembledTransaction<Option<string>>;
|
|
@@ -10,7 +10,7 @@ if (typeof window !== "undefined") {
|
|
|
10
10
|
export const networks = {
|
|
11
11
|
testnet: {
|
|
12
12
|
networkPassphrase: "Test SDF Network ; September 2015",
|
|
13
|
-
contractId: "
|
|
13
|
+
contractId: "CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON",
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
export const Errors = {
|
|
@@ -45,7 +45,25 @@ export const Errors = {
|
|
|
45
45
|
/**
|
|
46
46
|
* Public note audit key coordinates are not a valid BabyJubJub point.
|
|
47
47
|
*/
|
|
48
|
-
14: { message: "InvalidAuditPublicKey" }
|
|
48
|
+
14: { message: "InvalidAuditPublicKey" },
|
|
49
|
+
/**
|
|
50
|
+
* No `ZkConfig` is registered for the requested nonce.
|
|
51
|
+
*/
|
|
52
|
+
15: { message: "ZkConfigNotFound" },
|
|
53
|
+
/**
|
|
54
|
+
* The `ZkConfig` for the requested nonce has been deprecated by the admin.
|
|
55
|
+
*/
|
|
56
|
+
16: { message: "ZkConfigDeprecated" },
|
|
57
|
+
/**
|
|
58
|
+
* `add_zk_config` was called with a `nonce` that already has a config registered.
|
|
59
|
+
*/
|
|
60
|
+
17: { message: "ZkConfigAlreadyExists" },
|
|
61
|
+
/**
|
|
62
|
+
* `add_zk_config` shape parameters are inconsistent (odd `n_outs`, insufficient
|
|
63
|
+
* `n_audit_slots`, an `audit_offset`/`output_note_offset` that doesn't match the
|
|
64
|
+
* formula-derived value, or a VK whose `ic` length doesn't match the shape).
|
|
65
|
+
*/
|
|
66
|
+
18: { message: "InvalidZkConfig" }
|
|
49
67
|
};
|
|
50
68
|
export const Groth16Error = {
|
|
51
69
|
0: { message: "MalformedVerifyingKey" }
|
|
@@ -54,23 +72,30 @@ export class Client extends ContractClient {
|
|
|
54
72
|
options;
|
|
55
73
|
static async deploy(
|
|
56
74
|
/** Constructor/Initialization Args for the contract's `__constructor` method */
|
|
57
|
-
{ tree_depth,
|
|
75
|
+
{ tree_depth, admin },
|
|
58
76
|
/** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
|
|
59
77
|
options) {
|
|
60
|
-
return ContractClient.deploy({ tree_depth,
|
|
78
|
+
return ContractClient.deploy({ tree_depth, admin }, options);
|
|
61
79
|
}
|
|
62
80
|
constructor(options) {
|
|
63
81
|
super(new ContractSpec(["AAAAAQAAAEhQZXItYXBwbGljYXRpb24gYXVkaXQgcHVibGljIGtleSBhbGxvd2xpc3QgZW50cnkgKHJ1bnRpbWUvY29uZmlnIHN0YXRlKS4AAAAAAAAADUFwcEF1ZGl0U3RhdGUAAAAAAAADAAAAAAAAABJhdWRpdF9wdWJsaWNfa2V5X3gAAAAAA+4AAAAgAAAAAAAAABJhdWRpdF9wdWJsaWNfa2V5X3kAAAAAA+4AAAAgAAAAAAAAAAdlbmFibGVkAAAAAAE=",
|
|
64
82
|
"AAAAAQAAAERFcGhlbWVyYWwgQmFieUp1Ykp1YiAvIEVDREggcG9pbnQgKG5vdCBoYXNoZWQgaW50byB0aGUgTWVya2xlIHRyZWUpLgAAAAAAAAASRXBoZW1lcmFsS2V5Q29vcmRzAAAAAAACAAAAAAAAAAF4AAAAAAAD7gAAACAAAAAAAAAAAXkAAAAAAAPuAAAAIA==",
|
|
83
|
+
"AAAAAQAAAQJBZG1pbi1tYW5hZ2VkLCBub25jZS1rZXllZCBaSyBjaXJjdWl0IGNvbmZpZ3VyYXRpb246IHZlcmlmaWNhdGlvbiBrZXkgcGx1cyBldmVyeSBkeW5hbWljCnNoYXBlIHBhcmFtZXRlciBvZiB0aGUgYFRyYW5zYWN0aW9uKC4uLilgIGNpcmN1aXQgaW5zdGFudGlhdGlvbiB1c2VkIHRvIHZlcmlmeSBhIGB0cmFuc2FjdGAKY2FsbCBmb3IgdGhhdCBub25jZSAoc2VlIGBjaXJjdWl0cy9tYWluLmNpcmNvbWAgLyBgbGlicy96azo6WmtMYXlvdXRQYXJhbXNgKS4AAAAAAAAAAAAIWmtDb25maWcAAAALAAAAAAAAAAxhdWRpdF9vZmZzZXQAAAAEAAAAAAAAAApkZXByZWNhdGVkAAAAAAABAAAAAAAAAA1uX2F1ZGl0X3Nsb3RzAAAAAAAABAAAAAAAAAAFbl9pbnMAAAAAAAAEAAAAAAAAAAZuX291dHMAAAAAAAQAAAAAAAAADm5vdGVfYXVkaXRfbGVuAAAAAAAEAAAAAAAAAA9ub3RlX291dHB1dF9sZW4AAAAABAAAAAAAAAASb3V0cHV0X25vdGVfb2Zmc2V0AAAAAAAEAAAAAAAAAA9wdWJsaWNfbl9pbnB1dHMAAAAABAAAAAAAAAAQcHVibGljX25fb3V0cHV0cwAAAAQAAAAAAAAACHZrX2J5dGVzAAAADg==",
|
|
84
|
+
"AAAAAgAAAD9QZXJzaXN0ZW50IHN0b3JhZ2Uga2V5IGZvciB0aGUgcGVyLW5vbmNlIFtgWmtDb25maWdgXSByZWdpc3RyeS4AAAAAAAAAAAtaa0NvbmZpZ0tleQAAAAABAAAAAQAAAAAAAAAGQ29uZmlnAAAAAAABAAAABg==",
|
|
65
85
|
"AAAAAgAAAFRTdG9yYWdlIGtleSBmb3IgdHJlZSBsZWF2ZXMg4oCUIGVhY2ggbGVhZiBzdG9yZWQgYnkgaW5kZXggZm9yIE8oMSkgd3JpdGUgb24gZGVwb3NpdC4AAAAAAAAAC1RyZWVEYXRhS2V5AAAAAAQAAAABAAAAAAAAAARMZWFmAAAAAQAAAAQAAAAAAAAAAAAAAAlMZWFmQ291bnQAAAAAAAABAAAAVEVwaGVtZXJhbCBwdWJsaWMga2V5IChFQ0RIIHBvaW50IHgsIHkpIHN0b3JlZCBwZXIgbGVhZjsgbm90IHBhcnQgb2YgdGhlIE1lcmtsZSBoYXNoLgAAAA1MZWFmRXBoZW1lcmFsAAAAAAAAAQAAAAQAAAAAAAAAXlJpZ2h0LXNwaW5lIC8gZmlsbGVkLXN1YnRyZWUgZnJvbnRpZXIgYWZ0ZXIgdGhlIGxhc3QgYGluc2VydF90d29gIChsZW5ndGggYG1lcmtsZV9kZXB0aCAtIDFgKS4AAAAAABBQYWlyd2lzZUZyb250aWVy",
|
|
66
86
|
"AAAAAgAAAFJTdG9yYWdlIGtleSBmb3IgbnVsbGlmaWVycyDigJQgZWFjaCBudWxsaWZpZXIgaGFzaCBtYXBzIHRvIGJvb2wgKGNvbnN1bWVkIG9yIG5vdCkuAAAAAAAAAAAAD051bGlmaWVyRGF0YUtleQAAAAABAAAAAQAAAAAAAAAITnVsaWZpZXIAAAABAAAD7gAAACA=",
|
|
67
87
|
"AAAAAgAAAFRSaW5nIGJ1ZmZlciBvZiBoaXN0b3JpY2FsIE1lcmtsZSByb290cyAoZm9yIHByb29mcyBnZW5lcmF0ZWQgYWdhaW5zdCByZWNlbnQgc3RhdGVzKS4AAAAAAAAADlJvb3RIaXN0b3J5S2V5AAAAAAACAAAAAAAAACpOZXdlc3Qgcm9vdCBzbG90IGluZGV4IGluIHRoZSByaW5nIGJ1ZmZlci4AAAAAABBDdXJyZW50Um9vdEluZGV4AAAAAQAAAC5Sb290IHZhbHVlIGF0IHNsb3QgYGlgICgwLi5ST09UX0hJU1RPUllfU0laRSkuAAAAAAAEUm9vdAAAAAEAAAAE",
|
|
68
|
-
"
|
|
88
|
+
"AAAABAAAAAAAAAAAAAAABUVycm9yAAAAAAAAEgAAAAAAAAANTnVsbGlmaWVyVXNlZAAAAAAAAAEAAAAAAAAAE0luc3VmZmljaWVudEJhbGFuY2UAAAAAAgAAAAAAAAAXUHJvb2ZWZXJpZmljYXRpb25GYWlsZWQAAAAAAwAAAAAAAAAJT25seUFkbWluAAAAAAAABAAAAAAAAAAOVHJlZUF0Q2FwYWNpdHkAAAAAAAUAAAAAAAAAF0Fzc29jaWF0aW9uUm9vdE1pc21hdGNoAAAAAAYAAAAAAAAAFEludmFsaWRQdWJsaWNTaWduYWxzAAAABwAAAAAAAAASSW52YWxpZFRva2VuQW1vdW50AAAAAAAIAAAAPFByb29mIGBzdGF0ZV9yb290YCBpcyBub3QgaW4gdGhlIHJlY2VudCByb290IGhpc3Rvcnkgd2luZG93LgAAAAtVbmtub3duUm9vdAAAAAAJAAAAXkV4YWN0bHkgb25lIG91dHB1dCBjb21taXRtZW50IGlzIG5vbi16ZXJvOyBvbmx5IHplcm8vemVybyBvciB0d28gbm9uLXplcm8gb3V0cHV0cyBhcmUgYWxsb3dlZC4AAAAAABVJbnZhbGlkQ29tbWl0bWVudFBhaXIAAAAAAAAKAAAAXVN0b3JlZCBNZXJrbGUgZnJvbnRpZXIgbGVuZ3RoIGRvZXMgbm90IG1hdGNoIHRyZWUgZGVwdGggKGNvcnJ1cHQgb3Igb3V0ZGF0ZWQgc3RvcmFnZSBsYXlvdXQpLgAAAAAAABVJbnZhbGlkTWVya2xlRnJvbnRpZXIAAAAAAAALAAAASUtZVCBwYXNzYWdlIHJlZ2lzdHJ5IGlzIG5vdCBjb25maWd1cmVkIChyZXF1aXJlZCBmb3IgdGhlIGN1cnJlbnQgbGF5b3V0KS4AAAAAAAASS3l0UmVnaXN0cnlNaXNzaW5nAAAAAAAMAAAARFB1YmxpYyBub3RlIGF1ZGl0IGtleSBpcyBub3QgcmVnaXN0ZXJlZCBmb3IgYW55IGVuYWJsZWQgYXBwbGljYXRpb24uAAAAFVVua25vd25BdWRpdFB1YmxpY0tleQAAAAAAAA0AAABDUHVibGljIG5vdGUgYXVkaXQga2V5IGNvb3JkaW5hdGVzIGFyZSBub3QgYSB2YWxpZCBCYWJ5SnViSnViIHBvaW50LgAAAAAVSW52YWxpZEF1ZGl0UHVibGljS2V5AAAAAAAADgAAADRObyBgWmtDb25maWdgIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSByZXF1ZXN0ZWQgbm9uY2UuAAAAEFprQ29uZmlnTm90Rm91bmQAAAAPAAAASFRoZSBgWmtDb25maWdgIGZvciB0aGUgcmVxdWVzdGVkIG5vbmNlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYnkgdGhlIGFkbWluLgAAABJaa0NvbmZpZ0RlcHJlY2F0ZWQAAAAAABAAAABPYGFkZF96a19jb25maWdgIHdhcyBjYWxsZWQgd2l0aCBhIGBub25jZWAgdGhhdCBhbHJlYWR5IGhhcyBhIGNvbmZpZyByZWdpc3RlcmVkLgAAAAAVWmtDb25maWdBbHJlYWR5RXhpc3RzAAAAAAAAEQAAAOdgYWRkX3prX2NvbmZpZ2Agc2hhcGUgcGFyYW1ldGVycyBhcmUgaW5jb25zaXN0ZW50IChvZGQgYG5fb3V0c2AsIGluc3VmZmljaWVudApgbl9hdWRpdF9zbG90c2AsIGFuIGBhdWRpdF9vZmZzZXRgL2BvdXRwdXRfbm90ZV9vZmZzZXRgIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUKZm9ybXVsYS1kZXJpdmVkIHZhbHVlLCBvciBhIFZLIHdob3NlIGBpY2AgbGVuZ3RoIGRvZXNuJ3QgbWF0Y2ggdGhlIHNoYXBlKS4AAAAAD0ludmFsaWRaa0NvbmZpZwAAAAAS",
|
|
69
89
|
"AAAABQAAAAAAAAAAAAAAEkt5dFBhc3NhZ2VUcmFuc2FjdAAAAAAAAgAAAAVhdWRpdAAAAAAAAAtreXRfcGFzc2FnZQAAAAACAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAAAAAAAEnB1YmxpY19zaWduYWxfaGFzaAAAAAAD7gAAACAAAAAAAAAAAA==",
|
|
70
90
|
"AAAAAQAAAAAAAAAAAAAAFk91dHB1dE5vdGVFdmVudFBheWxvYWQAAAAAAAUAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAAMb3V0cHV0X2luZGV4AAAABAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
71
91
|
"AAAABQAAAAAAAAAAAAAAE091dHB1dE5vdGVFbmNyeXB0ZWQAAAAAAgAAAAVhdWRpdAAAAAAAAAtvdXRwdXRfbm90ZQAAAAACAAAAAAAAAA9jb21taXRtZW50X2hhc2gAAAAD7gAAACAAAAABAAAAAAAAAAdwYXlsb2FkAAAAB9AAAAAWT3V0cHV0Tm90ZUV2ZW50UGF5bG9hZAAAAAAAAAAAAAA=",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
92
|
+
"AAAAAQAAAAAAAAAAAAAAFUF1ZGl0U2xvdEV2ZW50UGF5bG9hZAAAAAAAAAQAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
93
|
+
"AAAABQAAALdPbmUgZXZlbnQgcGVyIGF1ZGl0IHNsb3QgKGAwLi5uX2F1ZGl0X3Nsb3RzYCkgaW4gYSBgdHJhbnNhY3RgIGNhbGwncyBwdWJsaWMgc2lnbmFscyDigJQgbGV0cwpvZmYtY2hhaW4gc2Nhbm5lcnMgcmVjb3ZlciBhdWRpdG9yIGNpcGhlcnRleHRzIGZyb20gZXZlbnRzIGluc3RlYWQgb2YgcmUtcGFyc2luZyBjYWxsZGF0YS4AAAAAAAAAABJBdWRpdFNsb3RFbmNyeXB0ZWQAAAAAAAIAAAAFYXVkaXQAAAAAAAAKYXVkaXRfc2xvdAAAAAAAAgAAAAAAAAAKc2xvdF9pbmRleAAAAAAABAAAAAEAAAAAAAAAB3BheWxvYWQAAAAH0AAAABVBdWRpdFNsb3RFdmVudFBheWxvYWQAAAAAAAAAAAAAAA==",
|
|
94
|
+
"AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAACnRyZWVfZGVwdGgAAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAA=",
|
|
95
|
+
"AAAAAAAAAZpSZWdpc3RlcnMgYSBuZXcgcGVyLW5vbmNlIFpLIGNpcmN1aXQgY29uZmlndXJhdGlvbiAoVksgKyBmdWxsIGNpcmN1aXQgc2hhcGUpLiBBZG1pbi1vbmx5OwpmYWlscyBpZiBgbm9uY2VgIGFscmVhZHkgaGFzIGEgY29uZmlnLiBWYWxpZGF0ZXMgYG5fb3V0c2AgaXMgZXZlbiAobGVhdmVzIGFyZSBpbnNlcnRlZApwYWlyd2lzZSB2aWEgYFBhaXJ3aXNlTGVhbklNVDo6aW5zZXJ0X3R3b2ApLCBgbl9hdWRpdF9zbG90cyA+PSBuX2lucyArIG5fb3V0c2AsIHRoYXQKYGF1ZGl0X29mZnNldGAvYG91dHB1dF9ub3RlX29mZnNldGAgbWF0Y2ggdGhlIGZvcm11bGEtZGVyaXZlZCBsYXlvdXQsIGFuZCB0aGF0IHRoZSBWSydzCmBpY2AgbGVuZ3RoIG1hdGNoZXMgdGhlIHJlc3VsdGluZyB0b3RhbCBwdWJsaWMtc2lnbmFsIGNvdW50LgAAAAAADWFkZF96a19jb25maWcAAAAAAAAMAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABW5vbmNlAAAAAAAABgAAAAAAAAAIdmtfYnl0ZXMAAAAOAAAAAAAAAAVuX2lucwAAAAAAAAQAAAAAAAAABm5fb3V0cwAAAAAABAAAAAAAAAAPcHVibGljX25faW5wdXRzAAAAAAQAAAAAAAAAEHB1YmxpY19uX291dHB1dHMAAAAEAAAAAAAAAA1uX2F1ZGl0X3Nsb3RzAAAAAAAABAAAAAAAAAAObm90ZV9hdWRpdF9sZW4AAAAAAAQAAAAAAAAADGF1ZGl0X29mZnNldAAAAAQAAAAAAAAAD25vdGVfb3V0cHV0X2xlbgAAAAAEAAAAAAAAABJvdXRwdXRfbm90ZV9vZmZzZXQAAAAAAAQAAAABAAAD6QAAAAIAAAAD",
|
|
96
|
+
"AAAAAAAAAJVNYXJrcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIGFzIGRlcHJlY2F0ZWQ7IHN1YnNlcXVlbnQgYHRyYW5zYWN0YCBjYWxscyByZWZlcmVuY2luZyB0aGlzCmBub25jZWAgZmFpbCB3aXRoIFtgRXJyb3I6OlprQ29uZmlnRGVwcmVjYXRlZGBdLiBBZG1pbi1vbmx5LgAAAAAAABNkZXByZWNhdGVfemtfY29uZmlnAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAA+kAAAACAAAAAw==",
|
|
97
|
+
"AAAAAAAAAFFSZWFkcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIChleHRlbmRpbmcgaXRzIHBlcnNpc3RlbnQgVFRMKSwgb3IgYE5vbmVgIGlmIGFic2VudC4AAAAAAAANZ2V0X3prX2NvbmZpZwAAAAAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPoAAAH0AAAAAhaa0NvbmZpZw==",
|
|
98
|
+
"AAAAAAAAA6lTaW5nbGUgZW50cnlwb2ludDogdmVyaWZpZXMgYGNpcmN1aXRzL21haW4uY2lyY29tYCBHcm90aDE2IHByb29mIGFuZCBwdWJsaWMgc2lnbmFscywgY2hlY2tzCnRyZWUgcm9vdCBhbmQgbnVsbGlmaWVycywgYXBwZW5kcyBuZXcgb3V0cHV0IGNvbW1pdG1lbnRzICh3aXRoIGVwaGVtZXJhbCBrZXlzLCBub3QgaW4gTWVya2xlKSwKb3B0aW9uYWxseSBmb3J3YXJkcyBvbmJvYXJkaW5nIHBheWxvYWQgdG8gdGhlIHJlZ2lzdHJ5LCB0aGVuIGFwcGxpZXMgcHVibGljIHRva2VuIGRlcG9zaXRzIC8Kd2l0aGRyYXdhbHM6IGBwdWJsaWNEZXBvc2l0ZWRBc3NldHNgICsgYHB1YmxpY0RlcG9zaXRzYCBwdWxsIGZyb20gYGZyb21gLCBhbmQKYHB1YmxpY1dpdGhkcmF3bkFzc2V0c2AgKyBgcHVibGljV2l0aGRyYXdhbHNgIHNlbmQgdG8gdGhlIFN0ZWxsYXIgYWNjb3VudCBmcm9tCmB3aXRoZHJhd0FkZHJlc3NIaWAgLyBgd2l0aGRyYXdBZGRyZXNzTG9gLgoKQXNzZXQgaWRzOiBTdGVsbGFyICoqY29udHJhY3QqKiB0b2tlbiBgQy4uLmAgYWRkcmVzc2VzIGVuY29kZWQgYXMgdHdvIGZpZWxkIGVsZW1lbnRzIChzYW1lIDMyLWJ5dGUKc3BsaXQgYXMgYWNjb3VudCBrZXlzIOKAlCBzZWUgYGNpcmN1aXRzL21haW4uY2lyY29tYCkuCgpXaXRoZHJhdyBkZXN0aW5hdGlvbiBhY2NvdW50OiBTdGVsbGFyICoqYWNjb3VudCoqIEVkMjU1MTkga2V5IChHLWFkZHJlc3Mgc3Rya2V5IHBheWxvYWQpIHNwbGl0IGludG8gdHdvCnB1YmxpYyBmaWVsZCBlbGVtZW50cyBgd2l0aGRyYXdBZGRyZXNzSGlgIC8gYHdpdGhkcmF3QWRkcmVzc0xvYCDigJQgYmlnLWVuZGlhbiBgdTEyOGAgY2h1bmtzCmBieXRlc1swLi4xNl1gIGFuZCBgYnl0ZXNbMTYuLjMyXWAgKHNlZSBgY2lyY3VpdHMvbWFpbi5jaXJjb21gKS4gQXZvaWRzIG1vZC1gcmAgbG9zcyBmcm9tIGEgc2luZ2xlIGBGcmAuAAAAAAAACHRyYW5zYWN0AAAABgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABW5vbmNlAAAAAAAABgAAAAAAAAALcHJvb2ZfYnl0ZXMAAAAADgAAAAAAAAARcHViX3NpZ25hbHNfYnl0ZXMAAAAAAAAOAAAAAAAAAApvbmJvYXJkaW5nAAAAAAPoAAAH0AAAABFPbmJvYXJkaW5nUGF5bG9hZAAAAAAAAAAAAAARa3l0X2F1dGhvcml6YXRpb24AAAAAAAPoAAAH0AAAABdLeXRQYXNzYWdlQXV0aG9yaXphdGlvbgAAAAABAAAD6QAAAAIAAAAD",
|
|
74
99
|
"AAAAAAAAAAAAAAAQc2V0X2t5dF9yZWdpc3RyeQAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAMa3l0X3JlZ2lzdHJ5AAAAEwAAAAA=",
|
|
75
100
|
"AAAAAAAAAAAAAAAQZ2V0X2t5dF9yZWdpc3RyeQAAAAAAAAABAAAD6AAAABM=",
|
|
76
101
|
"AAAAAAAAAAAAAAATcmVxdWlyZV9reXRfcGFzc2FnZQAAAAABAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAPpAAAAAgAAAAM=",
|
|
@@ -87,7 +112,7 @@ export class Client extends ContractClient {
|
|
|
87
112
|
"AAAAAAAAAFpSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG51bGxpZmllciBoYXNoIGhhcyBhbHJlYWR5IGJlZW4gY29uc3VtZWQgKHVzZWQgaW4gYSB3aXRoZHJhd2FsKS4AAAAAABlpc19udWxpZmllcl9oYXNoX2NvbnN1bWVkAAAAAAAAAQAAAAAAAAAEaGFzaAAAA+4AAAAgAAAAAQAAAAE=",
|
|
88
113
|
"AAAAAAAAAGtSZXR1cm5zIHRydWUgaWYgYHJvb3RgIGFwcGVhcnMgaW4gdGhlIHJlY2VudCByb290IGhpc3RvcnkgKHJpbmcgYnVmZmVyKS4KQWxsLXplcm8gYnl0ZXMgYXJlIG5ldmVyIGFjY2VwdGVkLgAAAAANaXNfa25vd25fcm9vdAAAAAAAAAEAAAAAAAAABHJvb3QAAAPuAAAAIAAAAAEAAAAB",
|
|
89
114
|
"AAAAAAAAAEpUb2tlbiBiYWxhbmNlIGhlbGQgYnkgdGhpcyBjb250cmFjdCBmb3IgYSBTdGVsbGFyIGFzc2V0IGNvbnRyYWN0IChgQy4uLmApLgAAAAAAEWdldF90b2tlbl9iYWxhbmNlAAAAAAAAAQAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAQAAAAs=",
|
|
90
|
-
"
|
|
115
|
+
"AAAAAAAAAQ5gcHVibGljTklucHV0c2AgLyBgcHVibGljTk91dHB1dHNgIGZvciB0aGUgbm9uY2UtYDBgICgic3RhbmRhcmQiKSBaSyBjb25maWcsIGlmIHJlZ2lzdGVyZWQuClRoaW4gYmFja3dhcmQtY29tcGF0aWJsZSB3cmFwcGVyIG92ZXIgW2BTZWxmOjpnZXRfemtfY29uZmlnYF07IHByZWZlciByZWFkaW5nIHRoZSByZWxldmFudApub25jZSdzIGNvbmZpZyBkaXJlY3RseSBmb3IgbmV3IGNvZGUsIHNpbmNlIGEgcG9vbCBtYXkgaGF2ZSBzZXZlcmFsIHJlZ2lzdGVyZWQgY29uZmlncy4AAAAAABZnZXRfcHVibGljX3Nsb3RfY29uZmlnAAAAAAAAAAAAAQAAA+0AAAACAAAABAAAAAQ=",
|
|
91
116
|
"AAAAAAAAAC5HZXRzIHRoZSBhZG1pbiBhZGRyZXNzICh0aGUgY29udHJhY3QgZGVwbG95ZXIpAAAAAAAJZ2V0X2FkbWluAAAAAAAAAAAAAAEAAAAT",
|
|
92
117
|
"AAAABAAAAAAAAAAAAAAADEdyb3RoMTZFcnJvcgAAAAEAAAAAAAAAFU1hbGZvcm1lZFZlcmlmeWluZ0tleQAAAAAAAAA=",
|
|
93
118
|
"AAAAAQAAAD5QbGFpbnRleHQgbm90ZSBmaWVsZHMgc3RvcmVkIGluIHJlZ2lzdHJ5IGZvciBvbmJvYXJkaW5nIGNsYWltLgAAAAAAAAAAAA1QbGFpbnRleHROb3RlAAAAAAAABgAAAAAAAAAIYXNzZXRfaGkAAAPuAAAAIAAAAAAAAAAIYXNzZXRfbG8AAAPuAAAAIAAAAFZNdXN0IHJlbWFpbiBgTm9uZWA7IHJlZ2lzdHJ5IHJlamVjdHMgcGF5bG9hZHMgdGhhdCBleHBvc2UgdGhlIHNlbmRlciBlcGhlbWVyYWwgc2NhbGFyLgAAAAAAGmRlcG9zaXRlZF9lcGhlbWVyYWxfc2NhbGFyAAAAAAPoAAAD7gAAACAAAAAAAAAACW51bGxpZmllcgAAAAAAA+4AAAAgAAAAAAAAAAZzZWNyZXQAAAAAA+4AAAAgAAAAAAAAAAV2YWx1ZQAAAAAAAAs=",
|
|
@@ -102,6 +127,9 @@ export class Client extends ContractClient {
|
|
|
102
127
|
this.options = options;
|
|
103
128
|
}
|
|
104
129
|
fromJSON = {
|
|
130
|
+
add_zk_config: (this.txFromJSON),
|
|
131
|
+
deprecate_zk_config: (this.txFromJSON),
|
|
132
|
+
get_zk_config: (this.txFromJSON),
|
|
105
133
|
transact: (this.txFromJSON),
|
|
106
134
|
set_kyt_registry: (this.txFromJSON),
|
|
107
135
|
get_kyt_registry: (this.txFromJSON),
|
|
@@ -34,7 +34,7 @@ if (typeof window !== "undefined") {
|
|
|
34
34
|
export const networks = {
|
|
35
35
|
testnet: {
|
|
36
36
|
networkPassphrase: "Test SDF Network ; September 2015",
|
|
37
|
-
contractId: "
|
|
37
|
+
contractId: "CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON",
|
|
38
38
|
}
|
|
39
39
|
} as const
|
|
40
40
|
|
|
@@ -57,6 +57,31 @@ export interface EphemeralKeyCoords {
|
|
|
57
57
|
y: Buffer;
|
|
58
58
|
}
|
|
59
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
|
+
|
|
60
85
|
/**
|
|
61
86
|
* Storage key for tree leaves — each leaf stored by index for O(1) write on deposit.
|
|
62
87
|
*/
|
|
@@ -104,7 +129,25 @@ export const Errors = {
|
|
|
104
129
|
/**
|
|
105
130
|
* Public note audit key coordinates are not a valid BabyJubJub point.
|
|
106
131
|
*/
|
|
107
|
-
14: {message:"InvalidAuditPublicKey"}
|
|
132
|
+
14: {message:"InvalidAuditPublicKey"},
|
|
133
|
+
/**
|
|
134
|
+
* No `ZkConfig` is registered for the requested nonce.
|
|
135
|
+
*/
|
|
136
|
+
15: {message:"ZkConfigNotFound"},
|
|
137
|
+
/**
|
|
138
|
+
* The `ZkConfig` for the requested nonce has been deprecated by the admin.
|
|
139
|
+
*/
|
|
140
|
+
16: {message:"ZkConfigDeprecated"},
|
|
141
|
+
/**
|
|
142
|
+
* `add_zk_config` was called with a `nonce` that already has a config registered.
|
|
143
|
+
*/
|
|
144
|
+
17: {message:"ZkConfigAlreadyExists"},
|
|
145
|
+
/**
|
|
146
|
+
* `add_zk_config` shape parameters are inconsistent (odd `n_outs`, insufficient
|
|
147
|
+
* `n_audit_slots`, an `audit_offset`/`output_note_offset` that doesn't match the
|
|
148
|
+
* formula-derived value, or a VK whose `ic` length doesn't match the shape).
|
|
149
|
+
*/
|
|
150
|
+
18: {message:"InvalidZkConfig"}
|
|
108
151
|
}
|
|
109
152
|
|
|
110
153
|
|
|
@@ -118,6 +161,15 @@ export interface OutputNoteEventPayload {
|
|
|
118
161
|
}
|
|
119
162
|
|
|
120
163
|
|
|
164
|
+
|
|
165
|
+
export interface AuditSlotEventPayload {
|
|
166
|
+
ciphertext: Buffer;
|
|
167
|
+
ephemeral_x: Buffer;
|
|
168
|
+
ephemeral_y: Buffer;
|
|
169
|
+
tag: Buffer;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
|
|
121
173
|
export const Groth16Error = {
|
|
122
174
|
0: {message:"MalformedVerifyingKey"}
|
|
123
175
|
}
|
|
@@ -193,6 +245,29 @@ export interface KytPassageAuthorization {
|
|
|
193
245
|
}
|
|
194
246
|
|
|
195
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
|
+
|
|
258
|
+
/**
|
|
259
|
+
* 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.
|
|
260
|
+
* Marks a registered ZK config as deprecated; subsequent `transact` calls referencing this
|
|
261
|
+
* `nonce` fail with [`Error::ZkConfigDeprecated`]. Admin-only.
|
|
262
|
+
*/
|
|
263
|
+
deprecate_zk_config: ({admin, nonce}: {admin: string, nonce: u64}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* 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.
|
|
267
|
+
* Reads a registered ZK config (extending its persistent TTL), or `None` if absent.
|
|
268
|
+
*/
|
|
269
|
+
get_zk_config: ({nonce}: {nonce: u64}, options?: MethodOptions) => Promise<AssembledTransaction<Option<ZkConfig>>>
|
|
270
|
+
|
|
196
271
|
/**
|
|
197
272
|
* 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.
|
|
198
273
|
* Single entrypoint: verifies `circuits/main.circom` Groth16 proof and public signals, checks
|
|
@@ -209,7 +284,7 @@ export interface Client {
|
|
|
209
284
|
* public field elements `withdrawAddressHi` / `withdrawAddressLo` — big-endian `u128` chunks
|
|
210
285
|
* `bytes[0..16]` and `bytes[16..32]` (see `circuits/main.circom`). Avoids mod-`r` loss from a single `Fr`.
|
|
211
286
|
*/
|
|
212
|
-
transact: ({from, proof_bytes, pub_signals_bytes, onboarding, kyt_authorization}: {from: string, proof_bytes: Buffer, pub_signals_bytes: Buffer, onboarding: Option<OnboardingPayload>, kyt_authorization: Option<KytPassageAuthorization>}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
287
|
+
transact: ({from, nonce, proof_bytes, pub_signals_bytes, onboarding, kyt_authorization}: {from: string, nonce: u64, proof_bytes: Buffer, pub_signals_bytes: Buffer, onboarding: Option<OnboardingPayload>, kyt_authorization: Option<KytPassageAuthorization>}, options?: MethodOptions) => Promise<AssembledTransaction<Result<void>>>
|
|
213
288
|
|
|
214
289
|
/**
|
|
215
290
|
* 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.
|
|
@@ -303,7 +378,9 @@ export interface Client {
|
|
|
303
378
|
|
|
304
379
|
/**
|
|
305
380
|
* 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.
|
|
306
|
-
* `publicNInputs` / `publicNOutputs`
|
|
381
|
+
* `publicNInputs` / `publicNOutputs` for the nonce-`0` ("standard") ZK config, if registered.
|
|
382
|
+
* Thin backward-compatible wrapper over [`Self::get_zk_config`]; prefer reading the relevant
|
|
383
|
+
* nonce's config directly for new code, since a pool may have several registered configs.
|
|
307
384
|
*/
|
|
308
385
|
get_public_slot_config: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [u32, u32]>>
|
|
309
386
|
|
|
@@ -317,7 +394,7 @@ export interface Client {
|
|
|
317
394
|
export class Client extends ContractClient {
|
|
318
395
|
static async deploy<T = Client>(
|
|
319
396
|
/** Constructor/Initialization Args for the contract's `__constructor` method */
|
|
320
|
-
{tree_depth,
|
|
397
|
+
{tree_depth, admin}: {tree_depth: u32, admin: string},
|
|
321
398
|
/** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
|
|
322
399
|
options: MethodOptions &
|
|
323
400
|
Omit<ContractClientOptions, "contractId"> & {
|
|
@@ -329,21 +406,28 @@ export class Client extends ContractClient {
|
|
|
329
406
|
format?: "hex" | "base64";
|
|
330
407
|
}
|
|
331
408
|
): Promise<AssembledTransaction<T>> {
|
|
332
|
-
return ContractClient.deploy({tree_depth,
|
|
409
|
+
return ContractClient.deploy({tree_depth, admin}, options)
|
|
333
410
|
}
|
|
334
411
|
constructor(public readonly options: ContractClientOptions) {
|
|
335
412
|
super(
|
|
336
413
|
new ContractSpec([ "AAAAAQAAAEhQZXItYXBwbGljYXRpb24gYXVkaXQgcHVibGljIGtleSBhbGxvd2xpc3QgZW50cnkgKHJ1bnRpbWUvY29uZmlnIHN0YXRlKS4AAAAAAAAADUFwcEF1ZGl0U3RhdGUAAAAAAAADAAAAAAAAABJhdWRpdF9wdWJsaWNfa2V5X3gAAAAAA+4AAAAgAAAAAAAAABJhdWRpdF9wdWJsaWNfa2V5X3kAAAAAA+4AAAAgAAAAAAAAAAdlbmFibGVkAAAAAAE=",
|
|
337
414
|
"AAAAAQAAAERFcGhlbWVyYWwgQmFieUp1Ykp1YiAvIEVDREggcG9pbnQgKG5vdCBoYXNoZWQgaW50byB0aGUgTWVya2xlIHRyZWUpLgAAAAAAAAASRXBoZW1lcmFsS2V5Q29vcmRzAAAAAAACAAAAAAAAAAF4AAAAAAAD7gAAACAAAAAAAAAAAXkAAAAAAAPuAAAAIA==",
|
|
415
|
+
"AAAAAQAAAQJBZG1pbi1tYW5hZ2VkLCBub25jZS1rZXllZCBaSyBjaXJjdWl0IGNvbmZpZ3VyYXRpb246IHZlcmlmaWNhdGlvbiBrZXkgcGx1cyBldmVyeSBkeW5hbWljCnNoYXBlIHBhcmFtZXRlciBvZiB0aGUgYFRyYW5zYWN0aW9uKC4uLilgIGNpcmN1aXQgaW5zdGFudGlhdGlvbiB1c2VkIHRvIHZlcmlmeSBhIGB0cmFuc2FjdGAKY2FsbCBmb3IgdGhhdCBub25jZSAoc2VlIGBjaXJjdWl0cy9tYWluLmNpcmNvbWAgLyBgbGlicy96azo6WmtMYXlvdXRQYXJhbXNgKS4AAAAAAAAAAAAIWmtDb25maWcAAAALAAAAAAAAAAxhdWRpdF9vZmZzZXQAAAAEAAAAAAAAAApkZXByZWNhdGVkAAAAAAABAAAAAAAAAA1uX2F1ZGl0X3Nsb3RzAAAAAAAABAAAAAAAAAAFbl9pbnMAAAAAAAAEAAAAAAAAAAZuX291dHMAAAAAAAQAAAAAAAAADm5vdGVfYXVkaXRfbGVuAAAAAAAEAAAAAAAAAA9ub3RlX291dHB1dF9sZW4AAAAABAAAAAAAAAASb3V0cHV0X25vdGVfb2Zmc2V0AAAAAAAEAAAAAAAAAA9wdWJsaWNfbl9pbnB1dHMAAAAABAAAAAAAAAAQcHVibGljX25fb3V0cHV0cwAAAAQAAAAAAAAACHZrX2J5dGVzAAAADg==",
|
|
416
|
+
"AAAAAgAAAD9QZXJzaXN0ZW50IHN0b3JhZ2Uga2V5IGZvciB0aGUgcGVyLW5vbmNlIFtgWmtDb25maWdgXSByZWdpc3RyeS4AAAAAAAAAAAtaa0NvbmZpZ0tleQAAAAABAAAAAQAAAAAAAAAGQ29uZmlnAAAAAAABAAAABg==",
|
|
338
417
|
"AAAAAgAAAFRTdG9yYWdlIGtleSBmb3IgdHJlZSBsZWF2ZXMg4oCUIGVhY2ggbGVhZiBzdG9yZWQgYnkgaW5kZXggZm9yIE8oMSkgd3JpdGUgb24gZGVwb3NpdC4AAAAAAAAAC1RyZWVEYXRhS2V5AAAAAAQAAAABAAAAAAAAAARMZWFmAAAAAQAAAAQAAAAAAAAAAAAAAAlMZWFmQ291bnQAAAAAAAABAAAAVEVwaGVtZXJhbCBwdWJsaWMga2V5IChFQ0RIIHBvaW50IHgsIHkpIHN0b3JlZCBwZXIgbGVhZjsgbm90IHBhcnQgb2YgdGhlIE1lcmtsZSBoYXNoLgAAAA1MZWFmRXBoZW1lcmFsAAAAAAAAAQAAAAQAAAAAAAAAXlJpZ2h0LXNwaW5lIC8gZmlsbGVkLXN1YnRyZWUgZnJvbnRpZXIgYWZ0ZXIgdGhlIGxhc3QgYGluc2VydF90d29gIChsZW5ndGggYG1lcmtsZV9kZXB0aCAtIDFgKS4AAAAAABBQYWlyd2lzZUZyb250aWVy",
|
|
339
418
|
"AAAAAgAAAFJTdG9yYWdlIGtleSBmb3IgbnVsbGlmaWVycyDigJQgZWFjaCBudWxsaWZpZXIgaGFzaCBtYXBzIHRvIGJvb2wgKGNvbnN1bWVkIG9yIG5vdCkuAAAAAAAAAAAAD051bGlmaWVyRGF0YUtleQAAAAABAAAAAQAAAAAAAAAITnVsaWZpZXIAAAABAAAD7gAAACA=",
|
|
340
419
|
"AAAAAgAAAFRSaW5nIGJ1ZmZlciBvZiBoaXN0b3JpY2FsIE1lcmtsZSByb290cyAoZm9yIHByb29mcyBnZW5lcmF0ZWQgYWdhaW5zdCByZWNlbnQgc3RhdGVzKS4AAAAAAAAADlJvb3RIaXN0b3J5S2V5AAAAAAACAAAAAAAAACpOZXdlc3Qgcm9vdCBzbG90IGluZGV4IGluIHRoZSByaW5nIGJ1ZmZlci4AAAAAABBDdXJyZW50Um9vdEluZGV4AAAAAQAAAC5Sb290IHZhbHVlIGF0IHNsb3QgYGlgICgwLi5ST09UX0hJU1RPUllfU0laRSkuAAAAAAAEUm9vdAAAAAEAAAAE",
|
|
341
|
-
"
|
|
420
|
+
"AAAABAAAAAAAAAAAAAAABUVycm9yAAAAAAAAEgAAAAAAAAANTnVsbGlmaWVyVXNlZAAAAAAAAAEAAAAAAAAAE0luc3VmZmljaWVudEJhbGFuY2UAAAAAAgAAAAAAAAAXUHJvb2ZWZXJpZmljYXRpb25GYWlsZWQAAAAAAwAAAAAAAAAJT25seUFkbWluAAAAAAAABAAAAAAAAAAOVHJlZUF0Q2FwYWNpdHkAAAAAAAUAAAAAAAAAF0Fzc29jaWF0aW9uUm9vdE1pc21hdGNoAAAAAAYAAAAAAAAAFEludmFsaWRQdWJsaWNTaWduYWxzAAAABwAAAAAAAAASSW52YWxpZFRva2VuQW1vdW50AAAAAAAIAAAAPFByb29mIGBzdGF0ZV9yb290YCBpcyBub3QgaW4gdGhlIHJlY2VudCByb290IGhpc3Rvcnkgd2luZG93LgAAAAtVbmtub3duUm9vdAAAAAAJAAAAXkV4YWN0bHkgb25lIG91dHB1dCBjb21taXRtZW50IGlzIG5vbi16ZXJvOyBvbmx5IHplcm8vemVybyBvciB0d28gbm9uLXplcm8gb3V0cHV0cyBhcmUgYWxsb3dlZC4AAAAAABVJbnZhbGlkQ29tbWl0bWVudFBhaXIAAAAAAAAKAAAAXVN0b3JlZCBNZXJrbGUgZnJvbnRpZXIgbGVuZ3RoIGRvZXMgbm90IG1hdGNoIHRyZWUgZGVwdGggKGNvcnJ1cHQgb3Igb3V0ZGF0ZWQgc3RvcmFnZSBsYXlvdXQpLgAAAAAAABVJbnZhbGlkTWVya2xlRnJvbnRpZXIAAAAAAAALAAAASUtZVCBwYXNzYWdlIHJlZ2lzdHJ5IGlzIG5vdCBjb25maWd1cmVkIChyZXF1aXJlZCBmb3IgdGhlIGN1cnJlbnQgbGF5b3V0KS4AAAAAAAASS3l0UmVnaXN0cnlNaXNzaW5nAAAAAAAMAAAARFB1YmxpYyBub3RlIGF1ZGl0IGtleSBpcyBub3QgcmVnaXN0ZXJlZCBmb3IgYW55IGVuYWJsZWQgYXBwbGljYXRpb24uAAAAFVVua25vd25BdWRpdFB1YmxpY0tleQAAAAAAAA0AAABDUHVibGljIG5vdGUgYXVkaXQga2V5IGNvb3JkaW5hdGVzIGFyZSBub3QgYSB2YWxpZCBCYWJ5SnViSnViIHBvaW50LgAAAAAVSW52YWxpZEF1ZGl0UHVibGljS2V5AAAAAAAADgAAADRObyBgWmtDb25maWdgIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSByZXF1ZXN0ZWQgbm9uY2UuAAAAEFprQ29uZmlnTm90Rm91bmQAAAAPAAAASFRoZSBgWmtDb25maWdgIGZvciB0aGUgcmVxdWVzdGVkIG5vbmNlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYnkgdGhlIGFkbWluLgAAABJaa0NvbmZpZ0RlcHJlY2F0ZWQAAAAAABAAAABPYGFkZF96a19jb25maWdgIHdhcyBjYWxsZWQgd2l0aCBhIGBub25jZWAgdGhhdCBhbHJlYWR5IGhhcyBhIGNvbmZpZyByZWdpc3RlcmVkLgAAAAAVWmtDb25maWdBbHJlYWR5RXhpc3RzAAAAAAAAEQAAAOdgYWRkX3prX2NvbmZpZ2Agc2hhcGUgcGFyYW1ldGVycyBhcmUgaW5jb25zaXN0ZW50IChvZGQgYG5fb3V0c2AsIGluc3VmZmljaWVudApgbl9hdWRpdF9zbG90c2AsIGFuIGBhdWRpdF9vZmZzZXRgL2BvdXRwdXRfbm90ZV9vZmZzZXRgIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUKZm9ybXVsYS1kZXJpdmVkIHZhbHVlLCBvciBhIFZLIHdob3NlIGBpY2AgbGVuZ3RoIGRvZXNuJ3QgbWF0Y2ggdGhlIHNoYXBlKS4AAAAAD0ludmFsaWRaa0NvbmZpZwAAAAAS",
|
|
342
421
|
"AAAABQAAAAAAAAAAAAAAEkt5dFBhc3NhZ2VUcmFuc2FjdAAAAAAAAgAAAAVhdWRpdAAAAAAAAAtreXRfcGFzc2FnZQAAAAACAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAAAAAAAEnB1YmxpY19zaWduYWxfaGFzaAAAAAAD7gAAACAAAAAAAAAAAA==",
|
|
343
422
|
"AAAAAQAAAAAAAAAAAAAAFk91dHB1dE5vdGVFdmVudFBheWxvYWQAAAAAAAUAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAAMb3V0cHV0X2luZGV4AAAABAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
344
423
|
"AAAABQAAAAAAAAAAAAAAE091dHB1dE5vdGVFbmNyeXB0ZWQAAAAAAgAAAAVhdWRpdAAAAAAAAAtvdXRwdXRfbm90ZQAAAAACAAAAAAAAAA9jb21taXRtZW50X2hhc2gAAAAD7gAAACAAAAABAAAAAAAAAAdwYXlsb2FkAAAAB9AAAAAWT3V0cHV0Tm90ZUV2ZW50UGF5bG9hZAAAAAAAAAAAAAA=",
|
|
345
|
-
"
|
|
346
|
-
"
|
|
424
|
+
"AAAAAQAAAAAAAAAAAAAAFUF1ZGl0U2xvdEV2ZW50UGF5bG9hZAAAAAAAAAQAAAAAAAAACmNpcGhlcnRleHQAAAAAAA4AAAAAAAAAC2VwaGVtZXJhbF94AAAAA+4AAAAgAAAAAAAAAAtlcGhlbWVyYWxfeQAAAAPuAAAAIAAAAAAAAAADdGFnAAAAA+4AAAAg",
|
|
425
|
+
"AAAABQAAALdPbmUgZXZlbnQgcGVyIGF1ZGl0IHNsb3QgKGAwLi5uX2F1ZGl0X3Nsb3RzYCkgaW4gYSBgdHJhbnNhY3RgIGNhbGwncyBwdWJsaWMgc2lnbmFscyDigJQgbGV0cwpvZmYtY2hhaW4gc2Nhbm5lcnMgcmVjb3ZlciBhdWRpdG9yIGNpcGhlcnRleHRzIGZyb20gZXZlbnRzIGluc3RlYWQgb2YgcmUtcGFyc2luZyBjYWxsZGF0YS4AAAAAAAAAABJBdWRpdFNsb3RFbmNyeXB0ZWQAAAAAAAIAAAAFYXVkaXQAAAAAAAAKYXVkaXRfc2xvdAAAAAAAAgAAAAAAAAAKc2xvdF9pbmRleAAAAAAABAAAAAEAAAAAAAAAB3BheWxvYWQAAAAH0AAAABVBdWRpdFNsb3RFdmVudFBheWxvYWQAAAAAAAAAAAAAAA==",
|
|
426
|
+
"AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAACnRyZWVfZGVwdGgAAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAA=",
|
|
427
|
+
"AAAAAAAAAZpSZWdpc3RlcnMgYSBuZXcgcGVyLW5vbmNlIFpLIGNpcmN1aXQgY29uZmlndXJhdGlvbiAoVksgKyBmdWxsIGNpcmN1aXQgc2hhcGUpLiBBZG1pbi1vbmx5OwpmYWlscyBpZiBgbm9uY2VgIGFscmVhZHkgaGFzIGEgY29uZmlnLiBWYWxpZGF0ZXMgYG5fb3V0c2AgaXMgZXZlbiAobGVhdmVzIGFyZSBpbnNlcnRlZApwYWlyd2lzZSB2aWEgYFBhaXJ3aXNlTGVhbklNVDo6aW5zZXJ0X3R3b2ApLCBgbl9hdWRpdF9zbG90cyA+PSBuX2lucyArIG5fb3V0c2AsIHRoYXQKYGF1ZGl0X29mZnNldGAvYG91dHB1dF9ub3RlX29mZnNldGAgbWF0Y2ggdGhlIGZvcm11bGEtZGVyaXZlZCBsYXlvdXQsIGFuZCB0aGF0IHRoZSBWSydzCmBpY2AgbGVuZ3RoIG1hdGNoZXMgdGhlIHJlc3VsdGluZyB0b3RhbCBwdWJsaWMtc2lnbmFsIGNvdW50LgAAAAAADWFkZF96a19jb25maWcAAAAAAAAMAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABW5vbmNlAAAAAAAABgAAAAAAAAAIdmtfYnl0ZXMAAAAOAAAAAAAAAAVuX2lucwAAAAAAAAQAAAAAAAAABm5fb3V0cwAAAAAABAAAAAAAAAAPcHVibGljX25faW5wdXRzAAAAAAQAAAAAAAAAEHB1YmxpY19uX291dHB1dHMAAAAEAAAAAAAAAA1uX2F1ZGl0X3Nsb3RzAAAAAAAABAAAAAAAAAAObm90ZV9hdWRpdF9sZW4AAAAAAAQAAAAAAAAADGF1ZGl0X29mZnNldAAAAAQAAAAAAAAAD25vdGVfb3V0cHV0X2xlbgAAAAAEAAAAAAAAABJvdXRwdXRfbm90ZV9vZmZzZXQAAAAAAAQAAAABAAAD6QAAAAIAAAAD",
|
|
428
|
+
"AAAAAAAAAJVNYXJrcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIGFzIGRlcHJlY2F0ZWQ7IHN1YnNlcXVlbnQgYHRyYW5zYWN0YCBjYWxscyByZWZlcmVuY2luZyB0aGlzCmBub25jZWAgZmFpbCB3aXRoIFtgRXJyb3I6OlprQ29uZmlnRGVwcmVjYXRlZGBdLiBBZG1pbi1vbmx5LgAAAAAAABNkZXByZWNhdGVfemtfY29uZmlnAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAA+kAAAACAAAAAw==",
|
|
429
|
+
"AAAAAAAAAFFSZWFkcyBhIHJlZ2lzdGVyZWQgWksgY29uZmlnIChleHRlbmRpbmcgaXRzIHBlcnNpc3RlbnQgVFRMKSwgb3IgYE5vbmVgIGlmIGFic2VudC4AAAAAAAANZ2V0X3prX2NvbmZpZwAAAAAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPoAAAH0AAAAAhaa0NvbmZpZw==",
|
|
430
|
+
"AAAAAAAAA6lTaW5nbGUgZW50cnlwb2ludDogdmVyaWZpZXMgYGNpcmN1aXRzL21haW4uY2lyY29tYCBHcm90aDE2IHByb29mIGFuZCBwdWJsaWMgc2lnbmFscywgY2hlY2tzCnRyZWUgcm9vdCBhbmQgbnVsbGlmaWVycywgYXBwZW5kcyBuZXcgb3V0cHV0IGNvbW1pdG1lbnRzICh3aXRoIGVwaGVtZXJhbCBrZXlzLCBub3QgaW4gTWVya2xlKSwKb3B0aW9uYWxseSBmb3J3YXJkcyBvbmJvYXJkaW5nIHBheWxvYWQgdG8gdGhlIHJlZ2lzdHJ5LCB0aGVuIGFwcGxpZXMgcHVibGljIHRva2VuIGRlcG9zaXRzIC8Kd2l0aGRyYXdhbHM6IGBwdWJsaWNEZXBvc2l0ZWRBc3NldHNgICsgYHB1YmxpY0RlcG9zaXRzYCBwdWxsIGZyb20gYGZyb21gLCBhbmQKYHB1YmxpY1dpdGhkcmF3bkFzc2V0c2AgKyBgcHVibGljV2l0aGRyYXdhbHNgIHNlbmQgdG8gdGhlIFN0ZWxsYXIgYWNjb3VudCBmcm9tCmB3aXRoZHJhd0FkZHJlc3NIaWAgLyBgd2l0aGRyYXdBZGRyZXNzTG9gLgoKQXNzZXQgaWRzOiBTdGVsbGFyICoqY29udHJhY3QqKiB0b2tlbiBgQy4uLmAgYWRkcmVzc2VzIGVuY29kZWQgYXMgdHdvIGZpZWxkIGVsZW1lbnRzIChzYW1lIDMyLWJ5dGUKc3BsaXQgYXMgYWNjb3VudCBrZXlzIOKAlCBzZWUgYGNpcmN1aXRzL21haW4uY2lyY29tYCkuCgpXaXRoZHJhdyBkZXN0aW5hdGlvbiBhY2NvdW50OiBTdGVsbGFyICoqYWNjb3VudCoqIEVkMjU1MTkga2V5IChHLWFkZHJlc3Mgc3Rya2V5IHBheWxvYWQpIHNwbGl0IGludG8gdHdvCnB1YmxpYyBmaWVsZCBlbGVtZW50cyBgd2l0aGRyYXdBZGRyZXNzSGlgIC8gYHdpdGhkcmF3QWRkcmVzc0xvYCDigJQgYmlnLWVuZGlhbiBgdTEyOGAgY2h1bmtzCmBieXRlc1swLi4xNl1gIGFuZCBgYnl0ZXNbMTYuLjMyXWAgKHNlZSBgY2lyY3VpdHMvbWFpbi5jaXJjb21gKS4gQXZvaWRzIG1vZC1gcmAgbG9zcyBmcm9tIGEgc2luZ2xlIGBGcmAuAAAAAAAACHRyYW5zYWN0AAAABgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABW5vbmNlAAAAAAAABgAAAAAAAAALcHJvb2ZfYnl0ZXMAAAAADgAAAAAAAAARcHViX3NpZ25hbHNfYnl0ZXMAAAAAAAAOAAAAAAAAAApvbmJvYXJkaW5nAAAAAAPoAAAH0AAAABFPbmJvYXJkaW5nUGF5bG9hZAAAAAAAAAAAAAARa3l0X2F1dGhvcml6YXRpb24AAAAAAAPoAAAH0AAAABdLeXRQYXNzYWdlQXV0aG9yaXphdGlvbgAAAAABAAAD6QAAAAIAAAAD",
|
|
347
431
|
"AAAAAAAAAAAAAAAQc2V0X2t5dF9yZWdpc3RyeQAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAMa3l0X3JlZ2lzdHJ5AAAAEwAAAAA=",
|
|
348
432
|
"AAAAAAAAAAAAAAAQZ2V0X2t5dF9yZWdpc3RyeQAAAAAAAAABAAAD6AAAABM=",
|
|
349
433
|
"AAAAAAAAAAAAAAATcmVxdWlyZV9reXRfcGFzc2FnZQAAAAABAAAAAAAAAApwYXNzYWdlX2lkAAAAAAPuAAAAIAAAAAEAAAPpAAAAAgAAAAM=",
|
|
@@ -360,7 +444,7 @@ export class Client extends ContractClient {
|
|
|
360
444
|
"AAAAAAAAAFpSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG51bGxpZmllciBoYXNoIGhhcyBhbHJlYWR5IGJlZW4gY29uc3VtZWQgKHVzZWQgaW4gYSB3aXRoZHJhd2FsKS4AAAAAABlpc19udWxpZmllcl9oYXNoX2NvbnN1bWVkAAAAAAAAAQAAAAAAAAAEaGFzaAAAA+4AAAAgAAAAAQAAAAE=",
|
|
361
445
|
"AAAAAAAAAGtSZXR1cm5zIHRydWUgaWYgYHJvb3RgIGFwcGVhcnMgaW4gdGhlIHJlY2VudCByb290IGhpc3RvcnkgKHJpbmcgYnVmZmVyKS4KQWxsLXplcm8gYnl0ZXMgYXJlIG5ldmVyIGFjY2VwdGVkLgAAAAANaXNfa25vd25fcm9vdAAAAAAAAAEAAAAAAAAABHJvb3QAAAPuAAAAIAAAAAEAAAAB",
|
|
362
446
|
"AAAAAAAAAEpUb2tlbiBiYWxhbmNlIGhlbGQgYnkgdGhpcyBjb250cmFjdCBmb3IgYSBTdGVsbGFyIGFzc2V0IGNvbnRyYWN0IChgQy4uLmApLgAAAAAAEWdldF90b2tlbl9iYWxhbmNlAAAAAAAAAQAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAQAAAAs=",
|
|
363
|
-
"
|
|
447
|
+
"AAAAAAAAAQ5gcHVibGljTklucHV0c2AgLyBgcHVibGljTk91dHB1dHNgIGZvciB0aGUgbm9uY2UtYDBgICgic3RhbmRhcmQiKSBaSyBjb25maWcsIGlmIHJlZ2lzdGVyZWQuClRoaW4gYmFja3dhcmQtY29tcGF0aWJsZSB3cmFwcGVyIG92ZXIgW2BTZWxmOjpnZXRfemtfY29uZmlnYF07IHByZWZlciByZWFkaW5nIHRoZSByZWxldmFudApub25jZSdzIGNvbmZpZyBkaXJlY3RseSBmb3IgbmV3IGNvZGUsIHNpbmNlIGEgcG9vbCBtYXkgaGF2ZSBzZXZlcmFsIHJlZ2lzdGVyZWQgY29uZmlncy4AAAAAABZnZXRfcHVibGljX3Nsb3RfY29uZmlnAAAAAAAAAAAAAQAAA+0AAAACAAAABAAAAAQ=",
|
|
364
448
|
"AAAAAAAAAC5HZXRzIHRoZSBhZG1pbiBhZGRyZXNzICh0aGUgY29udHJhY3QgZGVwbG95ZXIpAAAAAAAJZ2V0X2FkbWluAAAAAAAAAAAAAAEAAAAT",
|
|
365
449
|
"AAAABAAAAAAAAAAAAAAADEdyb3RoMTZFcnJvcgAAAAEAAAAAAAAAFU1hbGZvcm1lZFZlcmlmeWluZ0tleQAAAAAAAAA=",
|
|
366
450
|
"AAAAAQAAAD5QbGFpbnRleHQgbm90ZSBmaWVsZHMgc3RvcmVkIGluIHJlZ2lzdHJ5IGZvciBvbmJvYXJkaW5nIGNsYWltLgAAAAAAAAAAAA1QbGFpbnRleHROb3RlAAAAAAAABgAAAAAAAAAIYXNzZXRfaGkAAAPuAAAAIAAAAAAAAAAIYXNzZXRfbG8AAAPuAAAAIAAAAFZNdXN0IHJlbWFpbiBgTm9uZWA7IHJlZ2lzdHJ5IHJlamVjdHMgcGF5bG9hZHMgdGhhdCBleHBvc2UgdGhlIHNlbmRlciBlcGhlbWVyYWwgc2NhbGFyLgAAAAAAGmRlcG9zaXRlZF9lcGhlbWVyYWxfc2NhbGFyAAAAAAPoAAAD7gAAACAAAAAAAAAACW51bGxpZmllcgAAAAAAA+4AAAAgAAAAAAAAAAZzZWNyZXQAAAAAA+4AAAAgAAAAAAAAAAV2YWx1ZQAAAAAAAAs=",
|
|
@@ -376,7 +460,10 @@ export class Client extends ContractClient {
|
|
|
376
460
|
)
|
|
377
461
|
}
|
|
378
462
|
public readonly fromJSON = {
|
|
379
|
-
|
|
463
|
+
add_zk_config: this.txFromJSON<Result<void>>,
|
|
464
|
+
deprecate_zk_config: this.txFromJSON<Result<void>>,
|
|
465
|
+
get_zk_config: this.txFromJSON<Option<ZkConfig>>,
|
|
466
|
+
transact: this.txFromJSON<Result<void>>,
|
|
380
467
|
set_kyt_registry: this.txFromJSON<null>,
|
|
381
468
|
get_kyt_registry: this.txFromJSON<Option<string>>,
|
|
382
469
|
require_kyt_passage: this.txFromJSON<Result<void>>,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcanetech/privacy-sdk-stellar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Stellar preset for the Arcane privacy SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"browser": "./dist/index.js",
|
|
@@ -41,24 +41,24 @@
|
|
|
41
41
|
"README.md"
|
|
42
42
|
],
|
|
43
43
|
"scripts": {
|
|
44
|
-
"bindings:generate": "soroban contract bindings typescript --rpc-url https://soroban-testnet.stellar.org --network-passphrase \"Test SDF Network ; September 2015\" --contract-id
|
|
44
|
+
"bindings:generate": "soroban contract bindings typescript --rpc-url https://soroban-testnet.stellar.org --network-passphrase \"Test SDF Network ; September 2015\" --contract-id CD56SAQXVPM3MWTTNVDBDVUEQC6DPRIIYHP67C3ICH6JGMLJSWWUFUON --output-dir ./generated/contract --overwrite && soroban contract bindings typescript --rpc-url https://soroban-testnet.stellar.org --network-passphrase \"Test SDF Network ; September 2015\" --contract-id CCO5QRTS5HFVPR356FFC4NI62IMBQNDGMOAXR4K5UVTV3YMRWDZGKXGC --output-dir ./generated/registry --overwrite",
|
|
45
45
|
"bindings:build": "npm run build --prefix generated/contract && npm run build --prefix generated/registry",
|
|
46
46
|
"prebuild": "npm run bindings:build",
|
|
47
47
|
"build": "tsup",
|
|
48
48
|
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@arcanetech/privacy-sdk-core": "
|
|
52
|
-
"@auditable/privacy-pool-zk-sdk": "^0.
|
|
53
|
-
"@stellar/stellar-sdk": "^
|
|
51
|
+
"@arcanetech/privacy-sdk-core": "0.3.0",
|
|
52
|
+
"@auditable/privacy-pool-zk-sdk": "^0.7.0",
|
|
53
|
+
"@stellar/stellar-sdk": "^16.0.1",
|
|
54
54
|
"buffer": "^6.0.3",
|
|
55
55
|
"contract": "file:./generated/contract",
|
|
56
56
|
"registry": "file:./generated/registry",
|
|
57
57
|
"zod": "^3.24.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@arcanetech/privacy-sdk-state-memory": "0.2.
|
|
61
|
-
"@arcanetech/privacy-sdk-state-redux": "0.2.
|
|
60
|
+
"@arcanetech/privacy-sdk-state-memory": "0.2.2",
|
|
61
|
+
"@arcanetech/privacy-sdk-state-redux": "0.2.2",
|
|
62
62
|
"@reduxjs/toolkit": "^2.6.1"
|
|
63
63
|
},
|
|
64
64
|
"sideEffects": false,
|
|
@@ -71,4 +71,4 @@
|
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
}
|
|
74
|
-
}
|
|
74
|
+
}
|