@aztec/aztec.js 0.1.0-alpha41 → 0.1.0-alpha42

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.
@@ -1,6 +1,7 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { Fr } from '@aztec/circuits.js';
2
3
  /** Any type that can be converted into a field for a contract call. */
3
- export type FieldLike = Fr | bigint | number | {
4
+ export type FieldLike = Fr | Buffer | bigint | number | {
4
5
  toField: () => Fr;
5
6
  };
6
7
  //# sourceMappingURL=abi_types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,191 @@
1
+ import { AztecAddress, CircuitsWasm, EthAddress, Fr } from '@aztec/circuits.js';
2
+ import { AztecRPC } from '@aztec/types';
3
+ /**
4
+ * A class that provides utility functions for interacting with the chain.
5
+ */
6
+ export declare class CheatCodes {
7
+ /**
8
+ * The L1 cheat codes.
9
+ */
10
+ l1: L1CheatCodes;
11
+ /**
12
+ * The L2 cheat codes.
13
+ */
14
+ l2: L2CheatCodes;
15
+ constructor(
16
+ /**
17
+ * The L1 cheat codes.
18
+ */
19
+ l1: L1CheatCodes,
20
+ /**
21
+ * The L2 cheat codes.
22
+ */
23
+ l2: L2CheatCodes);
24
+ static create(rpcUrl: string, aztecRpc: AztecRPC): Promise<CheatCodes>;
25
+ }
26
+ /**
27
+ * A class that provides utility functions for interacting with the L1 chain.
28
+ */
29
+ export declare class L1CheatCodes {
30
+ /**
31
+ * The RPC client to use for interacting with the chain
32
+ */
33
+ rpcUrl: string;
34
+ /**
35
+ * The logger to use for the l1 cheatcodes
36
+ */
37
+ logger: import("@aztec/foundation/log").DebugLogger;
38
+ constructor(
39
+ /**
40
+ * The RPC client to use for interacting with the chain
41
+ */
42
+ rpcUrl: string,
43
+ /**
44
+ * The logger to use for the l1 cheatcodes
45
+ */
46
+ logger?: import("@aztec/foundation/log").DebugLogger);
47
+ rpcCall(method: string, params: any[]): Promise<any>;
48
+ /**
49
+ * Get the current blocknumber
50
+ * @returns The current block number
51
+ */
52
+ blockNumber(): Promise<number>;
53
+ /**
54
+ * Get the current chainId
55
+ * @returns The current chainId
56
+ */
57
+ chainId(): Promise<number>;
58
+ /**
59
+ * Get the current timestamp
60
+ * @returns The current timestamp
61
+ */
62
+ timestamp(): Promise<number>;
63
+ /**
64
+ * Advance the chain by a number of blocks
65
+ * @param numberOfBlocks - The number of blocks to mine
66
+ * @returns The current chainId
67
+ */
68
+ mine(numberOfBlocks?: number): Promise<void>;
69
+ /**
70
+ * Set the next block timestamp
71
+ * @param timestamp - The timestamp to set the next block to
72
+ */
73
+ setNextBlockTimestamp(timestamp: number): Promise<void>;
74
+ /**
75
+ * Dumps the current chain state to a file.
76
+ * @param fileName - The file name to dump state into
77
+ */
78
+ dumpChainState(fileName: string): Promise<void>;
79
+ /**
80
+ * Loads the chain state from a file.
81
+ * @param fileName - The file name to load state from
82
+ */
83
+ loadChainState(fileName: string): Promise<void>;
84
+ /**
85
+ * Load the value at a storage slot of a contract address on L1
86
+ * @param contract - The contract address
87
+ * @param slot - The storage slot
88
+ * @returns - The value at the storage slot
89
+ */
90
+ load(contract: EthAddress, slot: bigint): Promise<bigint>;
91
+ /**
92
+ * Set the value at a storage slot of a contract address on L1
93
+ * @param contract - The contract address
94
+ * @param slot - The storage slot
95
+ * @param value - The value to set the storage slot to
96
+ */
97
+ store(contract: EthAddress, slot: bigint, value: bigint): Promise<void>;
98
+ /**
99
+ * Computes the slot value for a given map and key.
100
+ * @param baseSlot - The base slot of the map (specified in noir contract)
101
+ * @param key - The key to lookup in the map
102
+ * @returns The storage slot of the value in the map
103
+ */
104
+ keccak256(baseSlot: bigint, key: bigint): bigint;
105
+ /**
106
+ * Send transactions impersonating an externally owned account or contract.
107
+ * @param who - The address to impersonate
108
+ */
109
+ startPrank(who: EthAddress): Promise<void>;
110
+ /**
111
+ * Stop impersonating an account that you are currently impersonating.
112
+ * @param who - The address to stop impersonating
113
+ */
114
+ stopPrank(who: EthAddress): Promise<void>;
115
+ /**
116
+ * Set the bytecode for a contract
117
+ * @param contract - The contract address
118
+ * @param bytecode - The bytecode to set
119
+ */
120
+ etch(contract: EthAddress, bytecode: `0x${string}`): Promise<void>;
121
+ /**
122
+ * Get the bytecode for a contract
123
+ * @param contract - The contract address
124
+ * @returns The bytecode for the contract
125
+ */
126
+ getBytecode(contract: EthAddress): Promise<`0x${string}`>;
127
+ }
128
+ /**
129
+ * A class that provides utility functions for interacting with the L2 chain.
130
+ */
131
+ export declare class L2CheatCodes {
132
+ /**
133
+ * The RPC client to use for interacting with the chain
134
+ */
135
+ aztecRpc: AztecRPC;
136
+ /**
137
+ * The circuits wasm module used for pedersen hashing
138
+ */
139
+ wasm: CircuitsWasm;
140
+ /**
141
+ * The L1 cheat codes.
142
+ */
143
+ l1: L1CheatCodes;
144
+ /**
145
+ * The logger to use for the l2 cheatcodes
146
+ */
147
+ logger: import("@aztec/foundation/log").DebugLogger;
148
+ constructor(
149
+ /**
150
+ * The RPC client to use for interacting with the chain
151
+ */
152
+ aztecRpc: AztecRPC,
153
+ /**
154
+ * The circuits wasm module used for pedersen hashing
155
+ */
156
+ wasm: CircuitsWasm,
157
+ /**
158
+ * The L1 cheat codes.
159
+ */
160
+ l1: L1CheatCodes,
161
+ /**
162
+ * The logger to use for the l2 cheatcodes
163
+ */
164
+ logger?: import("@aztec/foundation/log").DebugLogger);
165
+ /**
166
+ * Computes the slot value for a given map and key.
167
+ * @param baseSlot - The base slot of the map (specified in noir contract)
168
+ * @param key - The key to lookup in the map
169
+ * @returns The storage slot of the value in the map
170
+ */
171
+ computeSlotInMap(baseSlot: Fr | bigint, key: Fr | bigint): Fr;
172
+ /**
173
+ * Get the current blocknumber
174
+ * @returns The current block number
175
+ */
176
+ blockNumber(): Promise<number>;
177
+ /**
178
+ * Set time of the next execution on L2.
179
+ * It also modifies time on L1 for next execution and stores this time as the last rollup block on the rollup contract.
180
+ * @param to - The timestamp to set the next block to (must be greater than current time)
181
+ */
182
+ warp(to: number): Promise<void>;
183
+ /**
184
+ * Loads the value stored at the given slot in the public storage of the given contract.
185
+ * @param who - The address of the contract
186
+ * @param slot - The storage slot to lookup
187
+ * @returns The value stored at the given slot
188
+ */
189
+ loadPublic(who: AztecAddress, slot: Fr | bigint): Promise<Fr>;
190
+ }
191
+ //# sourceMappingURL=cheat_codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../src/utils/cheat_codes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ import { CircuitsWasm, Fr } from '@aztec/circuits.js';
2
+ import { pedersenPlookupCommitInputs } from '@aztec/circuits.js/barretenberg';
3
+ import { toBigIntBE, toHex } from '@aztec/foundation/bigint-buffer';
4
+ import { keccak } from '@aztec/foundation/crypto';
5
+ import { createDebugLogger } from '@aztec/foundation/log';
6
+ import fs from 'fs';
7
+ const toFr = (value) => {
8
+ return typeof value === 'bigint' ? new Fr(value) : value;
9
+ };
10
+ /**
11
+ * A class that provides utility functions for interacting with the chain.
12
+ */
13
+ export class CheatCodes {
14
+ constructor(
15
+ /**
16
+ * The L1 cheat codes.
17
+ */
18
+ l1,
19
+ /**
20
+ * The L2 cheat codes.
21
+ */
22
+ l2) {
23
+ this.l1 = l1;
24
+ this.l2 = l2;
25
+ }
26
+ static async create(rpcUrl, aztecRpc) {
27
+ const l1CheatCodes = new L1CheatCodes(rpcUrl);
28
+ const l2CheatCodes = new L2CheatCodes(aztecRpc, await CircuitsWasm.get(), l1CheatCodes);
29
+ return new CheatCodes(l1CheatCodes, l2CheatCodes);
30
+ }
31
+ }
32
+ /**
33
+ * A class that provides utility functions for interacting with the L1 chain.
34
+ */
35
+ export class L1CheatCodes {
36
+ constructor(
37
+ /**
38
+ * The RPC client to use for interacting with the chain
39
+ */
40
+ rpcUrl,
41
+ /**
42
+ * The logger to use for the l1 cheatcodes
43
+ */
44
+ logger = createDebugLogger('aztec:cheat_codes:l1')) {
45
+ this.rpcUrl = rpcUrl;
46
+ this.logger = logger;
47
+ }
48
+ async rpcCall(method, params) {
49
+ const paramsString = JSON.stringify(params);
50
+ const content = {
51
+ body: `{"jsonrpc":"2.0", "method": "${method}", "params": ${paramsString}, "id": 1}`,
52
+ method: 'POST',
53
+ headers: { 'Content-Type': 'application/json' },
54
+ };
55
+ return await (await fetch(this.rpcUrl, content)).json();
56
+ }
57
+ /**
58
+ * Get the current blocknumber
59
+ * @returns The current block number
60
+ */
61
+ async blockNumber() {
62
+ const res = await this.rpcCall('eth_blockNumber', []);
63
+ return parseInt(res.result, 16);
64
+ }
65
+ /**
66
+ * Get the current chainId
67
+ * @returns The current chainId
68
+ */
69
+ async chainId() {
70
+ const res = await this.rpcCall('eth_chainId', []);
71
+ return parseInt(res.result, 16);
72
+ }
73
+ /**
74
+ * Get the current timestamp
75
+ * @returns The current timestamp
76
+ */
77
+ async timestamp() {
78
+ const res = await this.rpcCall('eth_getBlockByNumber', ['latest', true]);
79
+ return parseInt(res.result.timestamp, 16);
80
+ }
81
+ /**
82
+ * Advance the chain by a number of blocks
83
+ * @param numberOfBlocks - The number of blocks to mine
84
+ * @returns The current chainId
85
+ */
86
+ async mine(numberOfBlocks = 1) {
87
+ const res = await this.rpcCall('anvil_mine', [numberOfBlocks]);
88
+ if (res.error)
89
+ throw new Error(`Error mining: ${res.error.message}`);
90
+ this.logger(`Mined ${numberOfBlocks} blocks`);
91
+ }
92
+ /**
93
+ * Set the next block timestamp
94
+ * @param timestamp - The timestamp to set the next block to
95
+ */
96
+ async setNextBlockTimestamp(timestamp) {
97
+ const res = await this.rpcCall('anvil_setNextBlockTimestamp', [timestamp]);
98
+ if (res.error)
99
+ throw new Error(`Error setting next block timestamp: ${res.error.message}`);
100
+ this.logger(`Set next block timestamp to ${timestamp}`);
101
+ }
102
+ /**
103
+ * Dumps the current chain state to a file.
104
+ * @param fileName - The file name to dump state into
105
+ */
106
+ async dumpChainState(fileName) {
107
+ const res = await this.rpcCall('anvil_dumpState', []);
108
+ if (res.error)
109
+ throw new Error(`Error dumping state: ${res.error.message}`);
110
+ const jsonContent = JSON.stringify(res.result);
111
+ fs.writeFileSync(`${fileName}.json`, jsonContent, 'utf8');
112
+ this.logger(`Dumped state to ${fileName}`);
113
+ }
114
+ /**
115
+ * Loads the chain state from a file.
116
+ * @param fileName - The file name to load state from
117
+ */
118
+ async loadChainState(fileName) {
119
+ const data = JSON.parse(fs.readFileSync(`${fileName}.json`, 'utf8'));
120
+ const res = await this.rpcCall('anvil_loadState', [data]);
121
+ if (res.error)
122
+ throw new Error(`Error loading state: ${res.error.message}`);
123
+ this.logger(`Loaded state from ${fileName}`);
124
+ }
125
+ /**
126
+ * Load the value at a storage slot of a contract address on L1
127
+ * @param contract - The contract address
128
+ * @param slot - The storage slot
129
+ * @returns - The value at the storage slot
130
+ */
131
+ async load(contract, slot) {
132
+ const res = await this.rpcCall('eth_getStorageAt', [contract.toString(), toHex(slot), 'latest']);
133
+ return BigInt(res.result);
134
+ }
135
+ /**
136
+ * Set the value at a storage slot of a contract address on L1
137
+ * @param contract - The contract address
138
+ * @param slot - The storage slot
139
+ * @param value - The value to set the storage slot to
140
+ */
141
+ async store(contract, slot, value) {
142
+ // for the rpc call, we need to change value to be a 32 byte hex string.
143
+ const res = await this.rpcCall('anvil_setStorageAt', [contract.toString(), toHex(slot), toHex(value, true)]);
144
+ if (res.error)
145
+ throw new Error(`Error setting storage for contract ${contract} at ${slot}: ${res.error.message}`);
146
+ this.logger(`Set storage for contract ${contract} at ${slot} to ${value}`);
147
+ }
148
+ /**
149
+ * Computes the slot value for a given map and key.
150
+ * @param baseSlot - The base slot of the map (specified in noir contract)
151
+ * @param key - The key to lookup in the map
152
+ * @returns The storage slot of the value in the map
153
+ */
154
+ keccak256(baseSlot, key) {
155
+ // abi encode (removing the 0x) - concat key and baseSlot (both padded to 32 bytes)
156
+ const abiEncoded = toHex(key, true).substring(2) + toHex(baseSlot, true).substring(2);
157
+ return toBigIntBE(keccak(Buffer.from(abiEncoded, 'hex')));
158
+ }
159
+ /**
160
+ * Send transactions impersonating an externally owned account or contract.
161
+ * @param who - The address to impersonate
162
+ */
163
+ async startPrank(who) {
164
+ const res = await this.rpcCall('anvil_impersonateAccount', [who.toString()]);
165
+ if (res.error)
166
+ throw new Error(`Error pranking ${who}: ${res.error.message}`);
167
+ this.logger(`Impersonating ${who}`);
168
+ }
169
+ /**
170
+ * Stop impersonating an account that you are currently impersonating.
171
+ * @param who - The address to stop impersonating
172
+ */
173
+ async stopPrank(who) {
174
+ const res = await this.rpcCall('anvil_stopImpersonatingAccount', [who.toString()]);
175
+ if (res.error)
176
+ throw new Error(`Error pranking ${who}: ${res.error.message}`);
177
+ this.logger(`Stopped impersonating ${who}`);
178
+ }
179
+ /**
180
+ * Set the bytecode for a contract
181
+ * @param contract - The contract address
182
+ * @param bytecode - The bytecode to set
183
+ */
184
+ async etch(contract, bytecode) {
185
+ const res = await this.rpcCall('anvil_setCode', [contract.toString(), bytecode]);
186
+ if (res.error)
187
+ throw new Error(`Error setting bytecode for ${contract}: ${res.error.message}`);
188
+ this.logger(`Set bytecode for ${contract} to ${bytecode}`);
189
+ }
190
+ /**
191
+ * Get the bytecode for a contract
192
+ * @param contract - The contract address
193
+ * @returns The bytecode for the contract
194
+ */
195
+ async getBytecode(contract) {
196
+ const res = await this.rpcCall('eth_getCode', [contract.toString(), 'latest']);
197
+ return res.result;
198
+ }
199
+ }
200
+ /**
201
+ * A class that provides utility functions for interacting with the L2 chain.
202
+ */
203
+ export class L2CheatCodes {
204
+ constructor(
205
+ /**
206
+ * The RPC client to use for interacting with the chain
207
+ */
208
+ aztecRpc,
209
+ /**
210
+ * The circuits wasm module used for pedersen hashing
211
+ */
212
+ wasm,
213
+ /**
214
+ * The L1 cheat codes.
215
+ */
216
+ l1,
217
+ /**
218
+ * The logger to use for the l2 cheatcodes
219
+ */
220
+ logger = createDebugLogger('aztec:cheat_codes:l2')) {
221
+ this.aztecRpc = aztecRpc;
222
+ this.wasm = wasm;
223
+ this.l1 = l1;
224
+ this.logger = logger;
225
+ }
226
+ /**
227
+ * Computes the slot value for a given map and key.
228
+ * @param baseSlot - The base slot of the map (specified in noir contract)
229
+ * @param key - The key to lookup in the map
230
+ * @returns The storage slot of the value in the map
231
+ */
232
+ computeSlotInMap(baseSlot, key) {
233
+ // Based on `at` function in
234
+ // aztec3-packages/yarn-project/noir-contracts/src/contracts/noir-aztec/src/state_vars/map.nr
235
+ return Fr.fromBuffer(pedersenPlookupCommitInputs(this.wasm, [toFr(baseSlot), toFr(key)].map(f => f.toBuffer())));
236
+ }
237
+ /**
238
+ * Get the current blocknumber
239
+ * @returns The current block number
240
+ */
241
+ async blockNumber() {
242
+ return await this.aztecRpc.getBlockNum();
243
+ }
244
+ /**
245
+ * Set time of the next execution on L2.
246
+ * It also modifies time on L1 for next execution and stores this time as the last rollup block on the rollup contract.
247
+ * @param to - The timestamp to set the next block to (must be greater than current time)
248
+ */
249
+ async warp(to) {
250
+ const rollupContract = (await this.aztecRpc.getNodeInfo()).rollupAddress;
251
+ await this.l1.setNextBlockTimestamp(to);
252
+ // also store this time on the rollup contract (slot 1 tracks `lastBlockTs`).
253
+ // This is because when the sequencer executes public functions, it uses the timestamp stored in the rollup contract.
254
+ await this.l1.store(rollupContract, 1n, BigInt(to));
255
+ }
256
+ /**
257
+ * Loads the value stored at the given slot in the public storage of the given contract.
258
+ * @param who - The address of the contract
259
+ * @param slot - The storage slot to lookup
260
+ * @returns The value stored at the given slot
261
+ */
262
+ async loadPublic(who, slot) {
263
+ const storageValue = await this.aztecRpc.getPublicStorageAt(who, toFr(slot));
264
+ if (storageValue === undefined) {
265
+ throw new Error(`Storage slot ${slot} not found`);
266
+ }
267
+ return Fr.fromBuffer(storageValue);
268
+ }
269
+ }
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2hlYXRfY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQWMsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXBCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBa0IsRUFBTSxFQUFFO0lBQ3RDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckI7SUFDRTs7T0FFRztJQUNJLEVBQWdCO0lBQ3ZCOztPQUVHO0lBQ0ksRUFBZ0I7UUFKaEIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUloQixPQUFFLEdBQUYsRUFBRSxDQUFjO0lBQ3RCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsUUFBa0I7UUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkI7SUFDRTs7T0FFRztJQUNJLE1BQWM7SUFDckI7O09BRUc7SUFDSSxTQUFTLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDO1FBSmxELFdBQU0sR0FBTixNQUFNLENBQVE7UUFJZCxXQUFNLEdBQU4sTUFBTSxDQUE0QztJQUN4RCxDQUFDO0lBRUosS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFjLEVBQUUsTUFBYTtRQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLGdDQUFnQyxNQUFNLGdCQUFnQixZQUFZLFlBQVk7WUFDcEYsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekUsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLGNBQWMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFpQjtRQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQjtRQUMxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxHQUFHLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsUUFBUSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBZ0I7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsUUFBUSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQW9CLEVBQUUsSUFBWTtRQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakcsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBb0IsRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUNsRSx3RUFBd0U7UUFDeEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RyxJQUFJLEdBQUcsQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsUUFBUSxPQUFPLElBQUksS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsUUFBUSxPQUFPLElBQUksT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxRQUFnQixFQUFFLEdBQVc7UUFDNUMsbUZBQW1GO1FBQ25GLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBZTtRQUNyQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBZTtRQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQW9CLEVBQUUsUUFBdUI7UUFDN0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksR0FBRyxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixRQUFRLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLFFBQVEsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFvQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkI7SUFDRTs7T0FFRztJQUNJLFFBQWtCO0lBQ3pCOztPQUVHO0lBQ0ksSUFBa0I7SUFDekI7O09BRUc7SUFDSSxFQUFnQjtJQUN2Qjs7T0FFRztJQUNJLFNBQVMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUM7UUFabEQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUlsQixTQUFJLEdBQUosSUFBSSxDQUFjO1FBSWxCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFJaEIsV0FBTSxHQUFOLE1BQU0sQ0FBNEM7SUFDeEQsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksZ0JBQWdCLENBQUMsUUFBcUIsRUFBRSxHQUFnQjtRQUM3RCw0QkFBNEI7UUFDNUIsNkZBQTZGO1FBQzdGLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FDbEIsMkJBQTJCLENBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQ1QsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ25ELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBVTtRQUMxQixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUN6RSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsNkVBQTZFO1FBQzdFLHFIQUFxSDtRQUNySCxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFpQixFQUFFLElBQWlCO1FBQzFELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLElBQUksWUFBWSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
@@ -4,4 +4,5 @@ export * from './pub_key.js';
4
4
  export * from './l1_contracts.js';
5
5
  export * from './l2_contracts.js';
6
6
  export * from './abi_types.js';
7
+ export * from './cheat_codes.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
@@ -4,4 +4,5 @@ export * from './pub_key.js';
4
4
  export * from './l1_contracts.js';
5
5
  export * from './l2_contracts.js';
6
6
  export * from './abi_types.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUMifQ==
7
+ export * from './cheat_codes.js';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQyJ9
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@aztec/aztec.js",
3
- "version": "0.1.0-alpha41",
3
+ "version": "0.1.0-alpha42",
4
4
  "exports": {
5
5
  "node": "./dest/index.js",
6
6
  "default": "./dest/main.js"
7
7
  },
8
8
  "type": "module",
9
9
  "dependencies": {
10
- "@aztec/circuits.js": "0.1.0-alpha41",
11
- "@aztec/foundation": "0.1.0-alpha41",
12
- "@aztec/types": "0.1.0-alpha41",
10
+ "@aztec/circuits.js": "0.1.0-alpha42",
11
+ "@aztec/foundation": "0.1.0-alpha42",
12
+ "@aztec/types": "0.1.0-alpha42",
13
13
  "lodash.every": "^4.6.0",
14
14
  "lodash.partition": "^4.6.0",
15
15
  "tslib": "^2.4.0"
@@ -1,4 +1,4 @@
1
1
  import { Fr } from '@aztec/circuits.js';
2
2
 
3
3
  /** Any type that can be converted into a field for a contract call. */
4
- export type FieldLike = Fr | bigint | number | { /** Converts to field */ toField: () => Fr };
4
+ export type FieldLike = Fr | Buffer | bigint | number | { /** Converts to field */ toField: () => Fr };