@aztec/aztec.js 0.47.1 → 0.48.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/dest/api/fee.d.ts +2 -2
- package/dest/api/fee.d.ts.map +1 -1
- package/dest/api/fee.js +3 -3
- package/dest/contract/base_contract_interaction.d.ts +1 -1
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/sent_tx.d.ts +1 -0
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +2 -1
- package/dest/entrypoint/payload.js +3 -3
- package/dest/fee/{native_fee_payment_method.d.ts → fee_juice_payment_method.d.ts} +3 -3
- package/dest/fee/fee_juice_payment_method.d.ts.map +1 -0
- package/dest/fee/fee_juice_payment_method.js +19 -0
- package/dest/fee/{native_fee_payment_method_with_claim.d.ts → fee_juice_payment_method_with_claim.d.ts} +5 -5
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -0
- package/dest/fee/fee_juice_payment_method_with_claim.js +32 -0
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -2
- package/dest/rpc_clients/index.d.ts +1 -0
- package/dest/rpc_clients/index.d.ts.map +1 -1
- package/dest/rpc_clients/index.js +2 -1
- package/dest/rpc_clients/node/index.d.ts +11 -0
- package/dest/rpc_clients/node/index.d.ts.map +1 -0
- package/dest/rpc_clients/node/index.js +62 -0
- package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
- package/dest/rpc_clients/pxe_client.js +3 -1
- package/dest/utils/authwit.js +4 -4
- package/dest/utils/cheat_codes.d.ts +15 -6
- package/dest/utils/cheat_codes.d.ts.map +1 -1
- package/dest/utils/cheat_codes.js +34 -18
- package/dest/wallet/account_wallet.js +2 -2
- package/dest/wallet/base_wallet.d.ts +3 -1
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +9 -5
- package/package.json +8 -7
- package/src/api/fee.ts +2 -2
- package/src/contract/sent_tx.ts +1 -0
- package/src/entrypoint/payload.ts +2 -2
- package/src/fee/{native_fee_payment_method.ts → fee_juice_payment_method.ts} +4 -4
- package/src/fee/{native_fee_payment_method_with_claim.ts → fee_juice_payment_method_with_claim.ts} +6 -6
- package/src/index.ts +1 -1
- package/src/rpc_clients/index.ts +1 -0
- package/src/rpc_clients/node/index.ts +69 -0
- package/src/rpc_clients/pxe_client.ts +2 -0
- package/src/utils/authwit.ts +3 -3
- package/src/utils/cheat_codes.ts +35 -17
- package/src/wallet/account_wallet.ts +1 -1
- package/src/wallet/base_wallet.ts +8 -4
- package/dest/fee/native_fee_payment_method.d.ts.map +0 -1
- package/dest/fee/native_fee_payment_method.js +0 -19
- package/dest/fee/native_fee_payment_method_with_claim.d.ts.map +0 -1
- package/dest/fee/native_fee_payment_method_with_claim.js +0 -32
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fr } from '@aztec/circuits.js';
|
|
2
|
+
import { deriveStorageSlotInMap } from '@aztec/circuits.js/hash';
|
|
2
3
|
import { toBigIntBE, toHex } from '@aztec/foundation/bigint-buffer';
|
|
3
|
-
import { keccak256
|
|
4
|
+
import { keccak256 } from '@aztec/foundation/crypto';
|
|
4
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
6
|
import fs from 'fs';
|
|
6
7
|
/**
|
|
@@ -86,6 +87,17 @@ export class EthCheatCodes {
|
|
|
86
87
|
}
|
|
87
88
|
this.logger.info(`Mined ${numberOfBlocks} blocks`);
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Set the interval between blocks (block time)
|
|
92
|
+
* @param interval - The interval to use between blocks
|
|
93
|
+
*/
|
|
94
|
+
async setBlockInterval(interval) {
|
|
95
|
+
const res = await this.rpcCall('anvil_setBlockTimestampInterval', [interval]);
|
|
96
|
+
if (res.error) {
|
|
97
|
+
throw new Error(`Error setting block interval: ${res.error.message}`);
|
|
98
|
+
}
|
|
99
|
+
this.logger.info(`Set block interval to ${interval}`);
|
|
100
|
+
}
|
|
89
101
|
/**
|
|
90
102
|
* Set the next block timestamp
|
|
91
103
|
* @param timestamp - The timestamp to set the next block to
|
|
@@ -97,6 +109,18 @@ export class EthCheatCodes {
|
|
|
97
109
|
}
|
|
98
110
|
this.logger.info(`Set next block timestamp to ${timestamp}`);
|
|
99
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Set the next block timestamp and mines the block
|
|
114
|
+
* @param timestamp - The timestamp to set the next block to
|
|
115
|
+
*/
|
|
116
|
+
async warp(timestamp) {
|
|
117
|
+
const res = await this.rpcCall('evm_setNextBlockTimestamp', [timestamp]);
|
|
118
|
+
if (res.error) {
|
|
119
|
+
throw new Error(`Error warping: ${res.error.message}`);
|
|
120
|
+
}
|
|
121
|
+
await this.mine();
|
|
122
|
+
this.logger.info(`Warped to ${timestamp}`);
|
|
123
|
+
}
|
|
100
124
|
/**
|
|
101
125
|
* Dumps the current chain state to a file.
|
|
102
126
|
* @param fileName - The file name to dump state into
|
|
@@ -224,14 +248,12 @@ export class AztecCheatCodes {
|
|
|
224
248
|
}
|
|
225
249
|
/**
|
|
226
250
|
* Computes the slot value for a given map and key.
|
|
227
|
-
* @param
|
|
251
|
+
* @param mapSlot - The slot of the map (specified in Aztec.nr contract)
|
|
228
252
|
* @param key - The key to lookup in the map
|
|
229
253
|
* @returns The storage slot of the value in the map
|
|
230
254
|
*/
|
|
231
|
-
computeSlotInMap(
|
|
232
|
-
|
|
233
|
-
// aztec3-packages/aztec-nr/aztec/src/state_vars/map.nr
|
|
234
|
-
return pedersenHash([new Fr(baseSlot), new Fr(key)]);
|
|
255
|
+
computeSlotInMap(mapSlot, key) {
|
|
256
|
+
return deriveStorageSlotInMap(mapSlot, new Fr(key));
|
|
235
257
|
}
|
|
236
258
|
/**
|
|
237
259
|
* Get the current blocknumber
|
|
@@ -241,18 +263,12 @@ export class AztecCheatCodes {
|
|
|
241
263
|
return await this.pxe.getBlockNumber();
|
|
242
264
|
}
|
|
243
265
|
/**
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* @param to - The timestamp to set the next block to (must be greater than current time)
|
|
266
|
+
* Get the current timestamp
|
|
267
|
+
* @returns The current timestamp
|
|
247
268
|
*/
|
|
248
|
-
async
|
|
249
|
-
const
|
|
250
|
-
|
|
251
|
-
// also store this time on the rollup contract (slot 2 tracks `lastBlockTs`).
|
|
252
|
-
// This is because when the sequencer executes public functions, it uses the timestamp stored in the rollup contract.
|
|
253
|
-
await this.eth.store(rollupContract, 7n, BigInt(to));
|
|
254
|
-
// also store this on slot of the rollup contract (`lastWarpedBlockTs`) which tracks the last time warp was used.
|
|
255
|
-
await this.eth.store(rollupContract, 8n, BigInt(to));
|
|
269
|
+
async timestamp() {
|
|
270
|
+
const res = await this.pxe.getBlock(await this.blockNumber());
|
|
271
|
+
return res?.header.globalVariables.timestamp.toNumber() ?? 0;
|
|
256
272
|
}
|
|
257
273
|
/**
|
|
258
274
|
* Loads the value stored at the given slot in the public storage of the given contract.
|
|
@@ -280,4 +296,4 @@ export class AztecCheatCodes {
|
|
|
280
296
|
return extendedNotes.map(extendedNote => extendedNote.note);
|
|
281
297
|
}
|
|
282
298
|
}
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2hlYXRfY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQyxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQjtJQUNFOztPQUVHO0lBQ0ksR0FBa0I7SUFDekI7O09BRUc7SUFDSSxLQUFzQjtRQUp0QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBSWxCLFVBQUssR0FBTCxLQUFLLENBQWlCO0lBQzVCLENBQUM7SUFFSixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQWMsRUFBRSxHQUFRO1FBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCO0lBQ0U7O09BRUc7SUFDSSxNQUFjO0lBQ3JCOztPQUVHO0lBQ0ksU0FBUyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQztRQUpuRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSWQsV0FBTSxHQUFOLE1BQU0sQ0FB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
|
|
@@ -9,7 +9,7 @@ import { BaseWallet } from './base_wallet.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export class AccountWallet extends BaseWallet {
|
|
11
11
|
constructor(pxe, account) {
|
|
12
|
-
super(pxe);
|
|
12
|
+
super(pxe, [account.getAddress()]);
|
|
13
13
|
this.account = account;
|
|
14
14
|
}
|
|
15
15
|
createTxExecutionRequest(exec) {
|
|
@@ -237,4 +237,4 @@ export class AccountWallet extends BaseWallet {
|
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsOEJBQThCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hILE9BQU8sRUFBaUQsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUdMLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFDM0MsWUFBWSxHQUFRLEVBQVksT0FBeUI7UUFDdkQsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFETCxZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUV6RCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsSUFBMEI7UUFDakQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLG1CQUFpRTtRQUNu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
|
|
@@ -13,13 +13,15 @@ import { type IntentAction, type IntentInnerHash } from '../utils/authwit.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export declare abstract class BaseWallet implements Wallet {
|
|
15
15
|
protected readonly pxe: PXE;
|
|
16
|
-
|
|
16
|
+
private scopes?;
|
|
17
|
+
constructor(pxe: PXE, scopes?: AztecAddress[] | undefined);
|
|
17
18
|
abstract getCompleteAddress(): CompleteAddress;
|
|
18
19
|
abstract getChainId(): Fr;
|
|
19
20
|
abstract getVersion(): Fr;
|
|
20
21
|
abstract createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest>;
|
|
21
22
|
abstract createAuthWit(intent: Fr | Buffer | IntentInnerHash | IntentAction): Promise<AuthWitness>;
|
|
22
23
|
abstract rotateNullifierKeys(newNskM: Fq): Promise<void>;
|
|
24
|
+
setScopes(scopes: AztecAddress[]): void;
|
|
23
25
|
getAddress(): AztecAddress;
|
|
24
26
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
25
27
|
getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,EAAE,EACP,KAAK,EAAE,EACP,KAAK,cAAc,EACnB,KAAK,KAAK,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;GAEG;AACH,8BAAsB,UAAW,YAAW,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
* A base class for Wallet implementations
|
|
3
3
|
*/
|
|
4
4
|
export class BaseWallet {
|
|
5
|
-
constructor(pxe) {
|
|
5
|
+
constructor(pxe, scopes) {
|
|
6
6
|
this.pxe = pxe;
|
|
7
|
+
this.scopes = scopes;
|
|
8
|
+
}
|
|
9
|
+
setScopes(scopes) {
|
|
10
|
+
this.scopes = scopes;
|
|
7
11
|
}
|
|
8
12
|
getAddress() {
|
|
9
13
|
return this.getCompleteAddress().address;
|
|
@@ -51,10 +55,10 @@ export class BaseWallet {
|
|
|
51
55
|
return this.pxe.getContracts();
|
|
52
56
|
}
|
|
53
57
|
proveTx(txRequest, simulatePublic) {
|
|
54
|
-
return this.pxe.proveTx(txRequest, simulatePublic);
|
|
58
|
+
return this.pxe.proveTx(txRequest, simulatePublic, this.scopes);
|
|
55
59
|
}
|
|
56
60
|
simulateTx(txRequest, simulatePublic, msgSender) {
|
|
57
|
-
return this.pxe.simulateTx(txRequest, simulatePublic, msgSender);
|
|
61
|
+
return this.pxe.simulateTx(txRequest, simulatePublic, msgSender, this.scopes);
|
|
58
62
|
}
|
|
59
63
|
sendTx(tx) {
|
|
60
64
|
return this.pxe.sendTx(tx);
|
|
@@ -79,7 +83,7 @@ export class BaseWallet {
|
|
|
79
83
|
return this.pxe.getPublicStorageAt(contract, storageSlot);
|
|
80
84
|
}
|
|
81
85
|
addNote(note) {
|
|
82
|
-
return this.pxe.addNote(note);
|
|
86
|
+
return this.pxe.addNote(note, this.getAddress());
|
|
83
87
|
}
|
|
84
88
|
addNullifiedNote(note) {
|
|
85
89
|
return this.pxe.addNullifiedNote(note);
|
|
@@ -139,4 +143,4 @@ export class BaseWallet {
|
|
|
139
143
|
return this.pxe.getEvents(type, eventMetadata, from, limit, vpks);
|
|
140
144
|
}
|
|
141
145
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRLEVBQVUsTUFBdUI7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztJQWM1RSxTQUFTLENBQUMsTUFBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsRUFBTTtRQUN4QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFhLEVBQUUsY0FBOEI7UUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFxQixFQUFFLFNBQWE7UUFDN0MsT0FBTyxJQUFJLENB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.48.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dest/index.js",
|
|
@@ -73,12 +73,13 @@
|
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@aztec/circuit-types": "0.
|
|
77
|
-
"@aztec/circuits.js": "0.
|
|
78
|
-
"@aztec/ethereum": "0.
|
|
79
|
-
"@aztec/foundation": "0.
|
|
80
|
-
"@aztec/protocol-contracts": "0.
|
|
81
|
-
"@aztec/types": "0.
|
|
76
|
+
"@aztec/circuit-types": "0.48.0",
|
|
77
|
+
"@aztec/circuits.js": "0.48.0",
|
|
78
|
+
"@aztec/ethereum": "0.48.0",
|
|
79
|
+
"@aztec/foundation": "0.48.0",
|
|
80
|
+
"@aztec/protocol-contracts": "0.48.0",
|
|
81
|
+
"@aztec/types": "0.48.0",
|
|
82
|
+
"axios": "^1.7.2",
|
|
82
83
|
"tslib": "^2.4.0"
|
|
83
84
|
},
|
|
84
85
|
"devDependencies": {
|
package/src/api/fee.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
2
|
-
export {
|
|
2
|
+
export { FeeJuicePaymentMethod } from '../fee/fee_juice_payment_method.js';
|
|
3
3
|
export { PrivateFeePaymentMethod } from '../fee/private_fee_payment_method.js';
|
|
4
4
|
export { PublicFeePaymentMethod } from '../fee/public_fee_payment_method.js';
|
|
5
|
-
export {
|
|
5
|
+
export { FeeJuicePaymentMethodWithClaim } from '../fee/fee_juice_payment_method_with_claim.js';
|
|
6
6
|
export { NoFeePaymentMethod } from '../fee/no_fee_payment_method.js';
|
package/src/contract/sent_tx.ts
CHANGED
|
@@ -45,6 +45,7 @@ export class SentTx {
|
|
|
45
45
|
* The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
|
|
46
46
|
*
|
|
47
47
|
* @returns A promise that resolves to the transaction hash of the SentTx instance.
|
|
48
|
+
* TODO(#7717): Don't throw here.
|
|
48
49
|
*/
|
|
49
50
|
public getTxHash(): Promise<TxHash> {
|
|
50
51
|
return this.txHashPromise;
|
|
@@ -2,7 +2,7 @@ import { FunctionCall, PackedValues } from '@aztec/circuit-types';
|
|
|
2
2
|
import { type AztecAddress, Fr, type GasSettings, GeneratorIndex } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
5
|
-
import {
|
|
5
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
6
6
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
7
7
|
|
|
8
8
|
import { type FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
@@ -100,7 +100,7 @@ export abstract class EntrypointPayload {
|
|
|
100
100
|
* @returns The hash of the payload
|
|
101
101
|
*/
|
|
102
102
|
hash() {
|
|
103
|
-
return
|
|
103
|
+
return poseidon2HashWithSeparator(this.toFields(), this.#generatorIndex);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/** Serializes the function calls to an array of fields. */
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { type FunctionCall } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress } from '@aztec/circuits.js';
|
|
3
|
-
import {
|
|
3
|
+
import { FeeJuiceAddress } from '@aztec/protocol-contracts/fee-juice';
|
|
4
4
|
|
|
5
5
|
import { type FeePaymentMethod } from './fee_payment_method.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Pay fee directly in the
|
|
8
|
+
* Pay fee directly in the Fee Juice.
|
|
9
9
|
*/
|
|
10
|
-
export class
|
|
10
|
+
export class FeeJuicePaymentMethod implements FeePaymentMethod {
|
|
11
11
|
constructor(protected sender: AztecAddress) {}
|
|
12
12
|
|
|
13
13
|
getAsset() {
|
|
14
|
-
return
|
|
14
|
+
return FeeJuiceAddress;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
getFunctionCalls(): Promise<FunctionCall[]> {
|
package/src/fee/{native_fee_payment_method_with_claim.ts → fee_juice_payment_method_with_claim.ts}
RENAMED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { type FunctionCall } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, Fr, FunctionSelector } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
|
-
import {
|
|
4
|
+
import { FeeJuiceAddress } from '@aztec/protocol-contracts/fee-juice';
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { FeeJuicePaymentMethod } from './fee_juice_payment_method.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Pay fee directly with
|
|
9
|
+
* Pay fee directly with Fee Juice claimed on the same tx.
|
|
10
10
|
*/
|
|
11
|
-
export class
|
|
11
|
+
export class FeeJuicePaymentMethodWithClaim extends FeeJuicePaymentMethod {
|
|
12
12
|
constructor(sender: AztecAddress, private claimAmount: bigint | Fr, private claimSecret: Fr) {
|
|
13
13
|
super(sender);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Creates a function call to pay the fee in
|
|
17
|
+
* Creates a function call to pay the fee in Fee Juice.
|
|
18
18
|
* @returns A function call
|
|
19
19
|
*/
|
|
20
20
|
override getFunctionCalls(): Promise<FunctionCall[]> {
|
|
21
21
|
return Promise.resolve([
|
|
22
22
|
{
|
|
23
|
-
to:
|
|
23
|
+
to: FeeJuiceAddress,
|
|
24
24
|
name: 'claim',
|
|
25
25
|
selector: FunctionSelector.fromSignature('claim((Field),Field,Field)'),
|
|
26
26
|
isStatic: false,
|
package/src/index.ts
CHANGED
|
@@ -55,7 +55,7 @@ export {
|
|
|
55
55
|
} from './utils/index.js';
|
|
56
56
|
export { NoteSelector } from '@aztec/foundation/abi';
|
|
57
57
|
|
|
58
|
-
export { createPXEClient } from './rpc_clients/index.js';
|
|
58
|
+
export { createPXEClient, createCompatibleClient } from './rpc_clients/index.js';
|
|
59
59
|
|
|
60
60
|
export { AuthWitnessProvider } from './account/index.js';
|
|
61
61
|
|
package/src/rpc_clients/index.ts
CHANGED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type PXE } from '@aztec/circuit-types';
|
|
2
|
+
import { type DebugLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { NoRetryError } from '@aztec/foundation/retry';
|
|
4
|
+
|
|
5
|
+
import axios, { type AxiosError, type AxiosResponse } from 'axios';
|
|
6
|
+
|
|
7
|
+
import { createPXEClient } from '../pxe_client.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A fetch implementation using axios.
|
|
11
|
+
* @param host - The URL of the host.
|
|
12
|
+
* @param rpcMethod - The RPC method to call.
|
|
13
|
+
* @param body - The body of the request.
|
|
14
|
+
* @param useApiEndpoints - Whether to use the API endpoints or inject the method in the body.
|
|
15
|
+
* @param _noRetry - Whether to retry on non-server errors.
|
|
16
|
+
* @returns The response data.
|
|
17
|
+
*/
|
|
18
|
+
async function axiosFetch(host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, _noRetry = true) {
|
|
19
|
+
let resp: AxiosResponse;
|
|
20
|
+
if (useApiEndpoints) {
|
|
21
|
+
resp = await axios
|
|
22
|
+
.post(`${host}/${rpcMethod}`, body, {
|
|
23
|
+
headers: { 'content-type': 'application/json' },
|
|
24
|
+
})
|
|
25
|
+
.catch((error: AxiosError) => {
|
|
26
|
+
if (error.response) {
|
|
27
|
+
return error.response;
|
|
28
|
+
}
|
|
29
|
+
throw error;
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
resp = await axios
|
|
33
|
+
.post(
|
|
34
|
+
host,
|
|
35
|
+
{ ...body, method: rpcMethod },
|
|
36
|
+
{
|
|
37
|
+
headers: { 'content-type': 'application/json' },
|
|
38
|
+
},
|
|
39
|
+
)
|
|
40
|
+
.catch((error: AxiosError) => {
|
|
41
|
+
if (error.response) {
|
|
42
|
+
return error.response;
|
|
43
|
+
}
|
|
44
|
+
throw error;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const isOK = resp.status >= 200 && resp.status < 300;
|
|
49
|
+
if (isOK) {
|
|
50
|
+
return resp.data;
|
|
51
|
+
} else if (resp.status >= 400 && resp.status < 500) {
|
|
52
|
+
throw new NoRetryError('(JSON-RPC PROPAGATED) ' + resp.data.error.message);
|
|
53
|
+
} else {
|
|
54
|
+
throw new Error('(JSON-RPC PROPAGATED) ' + resp.data.error.message);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Creates a PXE client with a given set of retries on non-server errors.
|
|
60
|
+
* Checks that PXE matches the expected version, and warns if not.
|
|
61
|
+
* @param rpcUrl - URL of the RPC server wrapping the PXE.
|
|
62
|
+
* @param _logger - Debug logger to warn version incompatibilities.
|
|
63
|
+
* @returns A PXE client.
|
|
64
|
+
*/
|
|
65
|
+
export function createCompatibleClient(rpcUrl: string, _logger: DebugLogger): Promise<PXE> {
|
|
66
|
+
// Use axios due to timeout issues with fetch when proving TXs.
|
|
67
|
+
const pxe = createPXEClient(rpcUrl, axiosFetch);
|
|
68
|
+
return Promise.resolve(pxe);
|
|
69
|
+
}
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
Point,
|
|
27
27
|
} from '@aztec/circuits.js';
|
|
28
28
|
import { NoteSelector } from '@aztec/foundation/abi';
|
|
29
|
+
import { BaseHashType } from '@aztec/foundation/hash';
|
|
29
30
|
import { createJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -54,6 +55,7 @@ export const createPXEClient = (url: string, fetch = makeFetch([1, 2, 3], false)
|
|
|
54
55
|
Point,
|
|
55
56
|
TxExecutionRequest,
|
|
56
57
|
TxHash,
|
|
58
|
+
BaseHashType,
|
|
57
59
|
},
|
|
58
60
|
{
|
|
59
61
|
EncryptedNoteL2BlockL2Logs,
|
package/src/utils/authwit.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type FunctionCall, PackedValues } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, Fr, GeneratorIndex } from '@aztec/circuits.js';
|
|
3
|
-
import {
|
|
3
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
4
4
|
|
|
5
5
|
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
6
6
|
|
|
@@ -81,7 +81,7 @@ export const computeInnerAuthWitHashFromAction = (caller: AztecAddress, action:
|
|
|
81
81
|
* @returns The inner hash for the witness
|
|
82
82
|
*/
|
|
83
83
|
export const computeInnerAuthWitHash = (args: Fr[]) => {
|
|
84
|
-
return
|
|
84
|
+
return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER);
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
/**
|
|
@@ -99,5 +99,5 @@ export const computeInnerAuthWitHash = (args: Fr[]) => {
|
|
|
99
99
|
* @returns The outer hash for the witness
|
|
100
100
|
*/
|
|
101
101
|
const computeOuterAuthWitHash = (consumer: AztecAddress, chainId: Fr, version: Fr, innerHash: Fr) => {
|
|
102
|
-
return
|
|
102
|
+
return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], GeneratorIndex.AUTHWIT_OUTER);
|
|
103
103
|
};
|
package/src/utils/cheat_codes.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type Note, type PXE } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, type EthAddress, Fr } from '@aztec/circuits.js';
|
|
3
|
+
import { deriveStorageSlotInMap } from '@aztec/circuits.js/hash';
|
|
3
4
|
import { toBigIntBE, toHex } from '@aztec/foundation/bigint-buffer';
|
|
4
|
-
import { keccak256
|
|
5
|
+
import { keccak256 } from '@aztec/foundation/crypto';
|
|
5
6
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
6
7
|
|
|
7
8
|
import fs from 'fs';
|
|
@@ -93,6 +94,18 @@ export class EthCheatCodes {
|
|
|
93
94
|
this.logger.info(`Mined ${numberOfBlocks} blocks`);
|
|
94
95
|
}
|
|
95
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Set the interval between blocks (block time)
|
|
99
|
+
* @param interval - The interval to use between blocks
|
|
100
|
+
*/
|
|
101
|
+
public async setBlockInterval(interval: number): Promise<void> {
|
|
102
|
+
const res = await this.rpcCall('anvil_setBlockTimestampInterval', [interval]);
|
|
103
|
+
if (res.error) {
|
|
104
|
+
throw new Error(`Error setting block interval: ${res.error.message}`);
|
|
105
|
+
}
|
|
106
|
+
this.logger.info(`Set block interval to ${interval}`);
|
|
107
|
+
}
|
|
108
|
+
|
|
96
109
|
/**
|
|
97
110
|
* Set the next block timestamp
|
|
98
111
|
* @param timestamp - The timestamp to set the next block to
|
|
@@ -105,6 +118,19 @@ export class EthCheatCodes {
|
|
|
105
118
|
this.logger.info(`Set next block timestamp to ${timestamp}`);
|
|
106
119
|
}
|
|
107
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Set the next block timestamp and mines the block
|
|
123
|
+
* @param timestamp - The timestamp to set the next block to
|
|
124
|
+
*/
|
|
125
|
+
public async warp(timestamp: number): Promise<void> {
|
|
126
|
+
const res = await this.rpcCall('evm_setNextBlockTimestamp', [timestamp]);
|
|
127
|
+
if (res.error) {
|
|
128
|
+
throw new Error(`Error warping: ${res.error.message}`);
|
|
129
|
+
}
|
|
130
|
+
await this.mine();
|
|
131
|
+
this.logger.info(`Warped to ${timestamp}`);
|
|
132
|
+
}
|
|
133
|
+
|
|
108
134
|
/**
|
|
109
135
|
* Dumps the current chain state to a file.
|
|
110
136
|
* @param fileName - The file name to dump state into
|
|
@@ -239,14 +265,12 @@ export class AztecCheatCodes {
|
|
|
239
265
|
|
|
240
266
|
/**
|
|
241
267
|
* Computes the slot value for a given map and key.
|
|
242
|
-
* @param
|
|
268
|
+
* @param mapSlot - The slot of the map (specified in Aztec.nr contract)
|
|
243
269
|
* @param key - The key to lookup in the map
|
|
244
270
|
* @returns The storage slot of the value in the map
|
|
245
271
|
*/
|
|
246
|
-
public computeSlotInMap(
|
|
247
|
-
|
|
248
|
-
// aztec3-packages/aztec-nr/aztec/src/state_vars/map.nr
|
|
249
|
-
return pedersenHash([new Fr(baseSlot), new Fr(key)]);
|
|
272
|
+
public computeSlotInMap(mapSlot: Fr | bigint, key: Fr | bigint | AztecAddress): Fr {
|
|
273
|
+
return deriveStorageSlotInMap(mapSlot, new Fr(key));
|
|
250
274
|
}
|
|
251
275
|
|
|
252
276
|
/**
|
|
@@ -258,18 +282,12 @@ export class AztecCheatCodes {
|
|
|
258
282
|
}
|
|
259
283
|
|
|
260
284
|
/**
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
* @param to - The timestamp to set the next block to (must be greater than current time)
|
|
285
|
+
* Get the current timestamp
|
|
286
|
+
* @returns The current timestamp
|
|
264
287
|
*/
|
|
265
|
-
public async
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
// also store this time on the rollup contract (slot 2 tracks `lastBlockTs`).
|
|
269
|
-
// This is because when the sequencer executes public functions, it uses the timestamp stored in the rollup contract.
|
|
270
|
-
await this.eth.store(rollupContract, 7n, BigInt(to));
|
|
271
|
-
// also store this on slot of the rollup contract (`lastWarpedBlockTs`) which tracks the last time warp was used.
|
|
272
|
-
await this.eth.store(rollupContract, 8n, BigInt(to));
|
|
288
|
+
public async timestamp(): Promise<number> {
|
|
289
|
+
const res = await this.pxe.getBlock(await this.blockNumber());
|
|
290
|
+
return res?.header.globalVariables.timestamp.toNumber() ?? 0;
|
|
273
291
|
}
|
|
274
292
|
|
|
275
293
|
/**
|