@aztec/sequencer-client 0.1.0-alpha45 → 0.1.0-alpha47

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.
@@ -18,6 +18,16 @@ export interface L1GlobalReader {
18
18
  * @returns The chain id.
19
19
  */
20
20
  getChainId(): Promise<bigint>;
21
+ /**
22
+ * Gets the current L1 time.
23
+ * @returns The current L1 time.
24
+ */
25
+ getL1CurrentTime(): Promise<bigint>;
26
+ /**
27
+ * Gets the last time L2 was warped as tracked by the rollup contract.
28
+ * @returns The warped time.
29
+ */
30
+ getLastWarpedBlockTs(): Promise<bigint>;
21
31
  }
22
32
  /**
23
33
  * Builds global variables from L1 state.
@@ -31,9 +41,10 @@ export interface GlobalVariableBuilder {
31
41
  buildGlobalVariables(blockNumber: Fr): Promise<GlobalVariables>;
32
42
  }
33
43
  /**
34
- * Simple implementation of a builder that uses the minimum time possible for the global variables.
44
+ * Simple test implementation of a builder that uses the minimum time possible for the global variables.
45
+ * Also uses a "hack" to make use of the warp cheatcode that manipulates time on Aztec.
35
46
  */
36
- export declare class SimpleGlobalVariableBuilder implements GlobalVariableBuilder {
47
+ export declare class SimpleTestGlobalVariableBuilder implements GlobalVariableBuilder {
37
48
  private readonly reader;
38
49
  private log;
39
50
  constructor(reader: L1GlobalReader);
@@ -1 +1 @@
1
- {"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,qBAAa,2BAA4B,YAAW,qBAAqB;IAE3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,GAAG,CAAuE;gBACrD,MAAM,EAAE,cAAc;IAEnD;;;;OAIG;IACU,oBAAoB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAW7E"}
1
+ {"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,qBAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,GAAG,CAA4E;gBAC1D,MAAM,EAAE,cAAc;IAEnD;;;;OAIG;IACU,oBAAoB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAwB7E"}
@@ -1,12 +1,13 @@
1
1
  import { Fr, GlobalVariables } from '@aztec/circuits.js';
2
2
  import { createDebugLogger } from '@aztec/foundation/log';
3
3
  /**
4
- * Simple implementation of a builder that uses the minimum time possible for the global variables.
4
+ * Simple test implementation of a builder that uses the minimum time possible for the global variables.
5
+ * Also uses a "hack" to make use of the warp cheatcode that manipulates time on Aztec.
5
6
  */
6
- export class SimpleGlobalVariableBuilder {
7
+ export class SimpleTestGlobalVariableBuilder {
7
8
  constructor(reader) {
8
9
  this.reader = reader;
9
- this.log = createDebugLogger('aztec:sequencer:simple_global_variable_builder');
10
+ this.log = createDebugLogger('aztec:sequencer:simple_test_global_variable_builder');
10
11
  }
11
12
  /**
12
13
  * Simple builder of global variables that use the minimum time possible.
@@ -14,11 +15,22 @@ export class SimpleGlobalVariableBuilder {
14
15
  * @returns The global variables for the given block number.
15
16
  */
16
17
  async buildGlobalVariables(blockNumber) {
17
- const lastTimestamp = new Fr(await this.reader.getLastTimestamp());
18
+ let lastTimestamp = new Fr(await this.reader.getLastTimestamp());
18
19
  const version = new Fr(await this.reader.getVersion());
19
20
  const chainId = new Fr(await this.reader.getChainId());
21
+ // TODO(rahul) - fix #1614. By using the cheatcode warp to modify L2 time,
22
+ // txs in the next rollup would have same time as the txs in the current rollup (i.e. the rollup that was warped).
23
+ // So, for now you check if L2 time was warped and if so, serve warpedTime + 1 to txs in the new rollup.
24
+ // Check if L2 time was warped in the last rollup by checking if current L1 time is same as the warpedTime (stored on the rollup contract).
25
+ // more details at https://github.com/AztecProtocol/aztec-packages/issues/1614
26
+ const currTimestamp = await this.reader.getL1CurrentTime();
27
+ const rollupWarpTime = await this.reader.getLastWarpedBlockTs();
28
+ const isLastBlockWarped = rollupWarpTime === currTimestamp;
29
+ if (isLastBlockWarped) {
30
+ lastTimestamp = new Fr(lastTimestamp.value + 1n);
31
+ }
20
32
  this.log(`Built global variables for block ${blockNumber}: (${chainId}, ${version}, ${blockNumber}, ${lastTimestamp})`);
21
33
  return new GlobalVariables(chainId, version, blockNumber, lastTimestamp);
22
34
  }
23
35
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvZ2xvYmFsX2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQW1DMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLFlBQTZCLE1BQXNCO1FBQXRCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRDNDLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFdkQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFlO1FBQy9DLE1BQU0sYUFBYSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLEdBQUcsQ0FDTixvQ0FBb0MsV0FBVyxNQUFNLE9BQU8sS0FBSyxPQUFPLEtBQUssV0FBVyxLQUFLLGFBQWEsR0FBRyxDQUM5RyxDQUFDO1FBRUYsT0FBTyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvZ2xvYmFsX2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQStDMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxZQUE2QixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUQzQyxRQUFHLEdBQUcsaUJBQWlCLENBQUMscURBQXFELENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRXZEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBZTtRQUMvQyxJQUFJLGFBQWEsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXZELDBFQUEwRTtRQUMxRSxrSEFBa0g7UUFDbEgsd0dBQXdHO1FBQ3hHLDJJQUEySTtRQUMzSSw4RUFBOEU7UUFFOUUsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLEtBQUssYUFBYSxDQUFDO1FBQzNELElBQUksaUJBQWlCLEVBQUU7WUFDckIsYUFBYSxHQUFHLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUNOLG9DQUFvQyxXQUFXLE1BQU0sT0FBTyxLQUFLLE9BQU8sS0FBSyxXQUFXLEtBQUssYUFBYSxHQUFHLENBQzlHLENBQUM7UUFFRixPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRiJ9
@@ -1,6 +1,6 @@
1
1
  import { GlobalReaderConfig } from './config.js';
2
2
  import { GlobalVariableBuilder } from './global_builder.js';
3
- export { SimpleGlobalVariableBuilder } from './global_builder.js';
3
+ export { SimpleTestGlobalVariableBuilder as SimpleGlobalVariableBuilder } from './global_builder.js';
4
4
  export { GlobalReaderConfig } from './config.js';
5
5
  /**
6
6
  * Returns a new instance of the global variable builder.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,qBAAqB,CAAC;AAGzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAE1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAmC,MAAM,qBAAqB,CAAC;AAG7F,OAAO,EAAE,+BAA+B,IAAI,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAE1F"}
@@ -1,12 +1,12 @@
1
- import { SimpleGlobalVariableBuilder } from './global_builder.js';
1
+ import { SimpleTestGlobalVariableBuilder } from './global_builder.js';
2
2
  import { ViemReader } from './viem-reader.js';
3
- export { SimpleGlobalVariableBuilder } from './global_builder.js';
3
+ export { SimpleTestGlobalVariableBuilder as SimpleGlobalVariableBuilder } from './global_builder.js';
4
4
  /**
5
5
  * Returns a new instance of the global variable builder.
6
6
  * @param config - Configuration to initialize the builder.
7
7
  * @returns A new instance of the global variable builder.
8
8
  */
9
9
  export function getGlobalVariableBuilder(config) {
10
- return new SimpleGlobalVariableBuilder(new ViemReader(config));
10
+ return new SimpleTestGlobalVariableBuilder(new ViemReader(config));
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF5QiwyQkFBMkIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQTBCO0lBQ2pFLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLENBQUMifQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF5QiwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsK0JBQStCLElBQUksMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQTBCO0lBQ2pFLE9BQU8sSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMifQ==
@@ -10,5 +10,7 @@ export declare class ViemReader implements L1GlobalReader {
10
10
  getLastTimestamp(): Promise<bigint>;
11
11
  getVersion(): Promise<bigint>;
12
12
  getChainId(): Promise<bigint>;
13
+ getL1CurrentTime(): Promise<bigint>;
14
+ getLastWarpedBlockTs(): Promise<bigint>;
13
15
  }
14
16
  //# sourceMappingURL=viem-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viem-reader.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/viem-reader.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,OAAO,CAAC,cAAc,CAAqF;IAC3G,OAAO,CAAC,YAAY,CAA4C;gBAEpD,MAAM,EAAE,kBAAkB;IAiBzB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG3C"}
1
+ {"version":3,"file":"viem-reader.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/viem-reader.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,OAAO,CAAC,cAAc,CAAqF;IAC3G,OAAO,CAAC,YAAY,CAA4C;gBAEpD,MAAM,EAAE,kBAAkB;IAiBzB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAGrD"}
@@ -27,5 +27,11 @@ export class ViemReader {
27
27
  async getChainId() {
28
28
  return await Promise.resolve(BigInt(this.publicClient.chain.id));
29
29
  }
30
+ async getL1CurrentTime() {
31
+ return await Promise.resolve((await this.publicClient.getBlock()).timestamp);
32
+ }
33
+ async getLastWarpedBlockTs() {
34
+ return BigInt(await this.rollupContract.read.lastWarpedBlockTs());
35
+ }
30
36
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvdmllbS1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFJTCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFNZDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBSXJCLFlBQVksTUFBMEI7UUFDcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXpFLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7WUFDaEMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxHQUFHLEVBQUUsU0FBUztZQUNkLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvdmllbS1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFJTCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFNZDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBSXJCLFlBQVksTUFBMEI7UUFDcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXpFLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7WUFDaEMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxHQUFHLEVBQUUsU0FBUztZQUNkLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YifQ==
@@ -105,7 +105,7 @@ export class PublicProcessor {
105
105
  const isExecutionRequest = !isPublicExecutionResult(current);
106
106
  const result = isExecutionRequest ? await this.publicExecutor.execute(current, this.globalVariables) : current;
107
107
  newUnencryptedFunctionLogs.push(result.unencryptedLogs);
108
- const functionSelector = result.execution.functionData.functionSelectorBuffer.toString('hex');
108
+ const functionSelector = result.execution.functionData.selector.toString();
109
109
  this.log(`Running public kernel circuit for ${functionSelector}@${result.execution.contractAddress.toString()}`);
110
110
  executionStack.push(...result.nestedExecutions);
111
111
  const preimages = await this.getPublicCallStackPreimages(result);
@@ -261,4 +261,4 @@ export class PublicProcessor {
261
261
  ], PublicDataUpdateRequest.empty(), MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX);
262
262
  }
263
263
  }
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUMvQix1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLEVBQUUsRUFJRiw0QkFBNEIsRUFDNUIsOEJBQThCLEVBQzlCLDJCQUEyQixFQUMzQixxQ0FBcUMsRUFDckMsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1Qix3Q0FBd0MsRUFDeEMsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixrQkFBa0IsRUFFbEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixrQkFBa0IsRUFFbEIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBUyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUEyRCxZQUFZLEVBQU0sTUFBTSxjQUFjLENBQUM7QUFHekcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxpQkFB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
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUMvQix1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLEVBQUUsRUFJRiw0QkFBNEIsRUFDNUIsOEJBQThCLEVBQzlCLDJCQUEyQixFQUMzQixxQ0FBcUMsRUFDckMsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1Qix3Q0FBd0MsRUFDeEMsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixrQkFBa0IsRUFFbEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixrQkFBa0IsRUFFbEIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBUyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUEyRCxZQUFZLEVBQU0sTUFBTSxjQUFjLENBQUM7QUFHekcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxpQkFB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
@@ -1 +1 @@
1
- {"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EAEvB,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAA4B,EAAE,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAgB,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAkC,MAAM,oBAAoB,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,iBAAiB,kBAQ7B;AAoDD;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,gBAAgB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAalE,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAelH"}
1
+ {"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EAEvB,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAA4B,EAAE,EAAoB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAErH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAgB,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAkC,MAAM,oBAAoB,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,iBAAiB,kBAQ7B;AAoDD;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,gBAAgB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAalE,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAelH"}
@@ -19,11 +19,11 @@ class ContractsDataSourcePublicDB {
19
19
  constructor(db) {
20
20
  this.db = db;
21
21
  }
22
- async getBytecode(address, functionSelector) {
23
- return (await this.db.getPublicFunction(address, functionSelector))?.bytecode;
22
+ async getBytecode(address, selector) {
23
+ return (await this.db.getPublicFunction(address, selector))?.bytecode;
24
24
  }
25
- async getIsInternal(address, functionSelector) {
26
- return (await this.db.getPublicFunction(address, functionSelector))?.isInternal;
25
+ async getIsInternal(address, selector) {
26
+ return (await this.db.getPublicFunction(address, selector))?.isInternal;
27
27
  }
28
28
  async getPortalContractAddress(address) {
29
29
  return (await this.db.getContractData(address))?.portalContractAddress;
@@ -96,4 +96,4 @@ export class WorldStateDB {
96
96
  };
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLGNBQWMsR0FFZixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBZ0IsWUFBWSxFQUFjLEVBQUUsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUEyQyxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckYsT0FBTyxFQUF3Qiw4QkFBOEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixVQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3hDLFNBQTRCO0lBRTVCLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQ2xDLElBQUksMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsRUFDbkQsSUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLEVBQ2pELFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkI7SUFDL0IsWUFBb0IsRUFBc0I7UUFBdEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7SUFBRyxDQUFDO0lBQzlDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBcUIsRUFBRSxnQkFBd0I7UUFDL0QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNoRixDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFxQixFQUFFLGdCQUF3QjtRQUNqRSxPQUFPLENB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
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLGNBQWMsR0FFZixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBZ0IsWUFBWSxFQUFjLEVBQUUsRUFBdUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUEyQyxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckYsT0FBTyxFQUF3Qiw4QkFBOEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixVQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3hDLFNBQTRCO0lBRTVCLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQ2xDLElBQUksMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsRUFDbkQsSUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLEVBQ2pELFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkI7SUFDL0IsWUFBb0IsRUFBc0I7UUFBdEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7SUFBRyxDQUFDO0lBQzlDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBcUIsRUFBRSxRQUEwQjtRQUNqRSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFxQixFQUFFLFFBQTBCO1FBQ25FLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQzFFLENBQUM7SUFDRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBcUI7UUFDbEQsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxxQkFBcUIsQ0FBQztJQUN6RSxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sa0JBQWtCO0lBR3RCLFlBQW9CLEVBQXdCO1FBQXhCLE9BQUUsR0FBRixFQUFFLENBQXNCO1FBRnBDLGVBQVUsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVELENBQUM7SUFFaEQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQXNCLEVBQUUsSUFBUTtRQUN2RCxNQUFNLEtBQUssR0FBRyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBc0IsRUFBRSxJQUFRLEVBQUUsUUFBWTtRQUN0RSxNQUFNLEtBQUssR0FBRyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0IsRUFBVSxtQkFBd0M7UUFBMUUsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUzRixLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBYztRQUMxQyxxQ0FBcUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckYsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBRSxDQUFDO1FBQ3pHLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdGLE9BQU87WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUMvQixXQUFXLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRTtZQUN2QyxLQUFLO1NBQ04sQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBcUIsRUFBRSxlQUFtQjtRQUN6RSxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDNUYsK0VBQStFO1FBQy9FLG1GQUFtRjtRQUNuRix5RkFBeUY7UUFDekYsaUNBQWlDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBRSxDQUFDO1FBQzFHLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhGLE9BQU87WUFDTCxVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLFdBQVcsRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQ3ZDLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.1.0-alpha45",
3
+ "version": "0.1.0-alpha47",
4
4
  "exports": "./dest/index.js",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@aztec/acir-simulator": "0.1.0-alpha45",
8
- "@aztec/circuits.js": "0.1.0-alpha45",
9
- "@aztec/ethereum": "0.1.0-alpha45",
10
- "@aztec/foundation": "0.1.0-alpha45",
11
- "@aztec/l1-artifacts": "0.1.0-alpha45",
12
- "@aztec/merkle-tree": "0.1.0-alpha45",
13
- "@aztec/p2p": "0.1.0-alpha45",
14
- "@aztec/types": "0.1.0-alpha45",
15
- "@aztec/world-state": "0.1.0-alpha45",
7
+ "@aztec/acir-simulator": "0.1.0-alpha47",
8
+ "@aztec/circuits.js": "0.1.0-alpha47",
9
+ "@aztec/ethereum": "0.1.0-alpha47",
10
+ "@aztec/foundation": "0.1.0-alpha47",
11
+ "@aztec/l1-artifacts": "0.1.0-alpha47",
12
+ "@aztec/merkle-tree": "0.1.0-alpha47",
13
+ "@aztec/p2p": "0.1.0-alpha47",
14
+ "@aztec/types": "0.1.0-alpha47",
15
+ "@aztec/world-state": "0.1.0-alpha47",
16
16
  "lodash.chunk": "^4.2.0",
17
17
  "lodash.flatmap": "^4.5.0",
18
18
  "lodash.pick": "^4.4.0",
@@ -20,6 +20,18 @@ export interface L1GlobalReader {
20
20
  * @returns The chain id.
21
21
  */
22
22
  getChainId(): Promise<bigint>;
23
+
24
+ /**
25
+ * Gets the current L1 time.
26
+ * @returns The current L1 time.
27
+ */
28
+ getL1CurrentTime(): Promise<bigint>;
29
+
30
+ /**
31
+ * Gets the last time L2 was warped as tracked by the rollup contract.
32
+ * @returns The warped time.
33
+ */
34
+ getLastWarpedBlockTs(): Promise<bigint>;
23
35
  }
24
36
 
25
37
  /**
@@ -35,10 +47,11 @@ export interface GlobalVariableBuilder {
35
47
  }
36
48
 
37
49
  /**
38
- * Simple implementation of a builder that uses the minimum time possible for the global variables.
50
+ * Simple test implementation of a builder that uses the minimum time possible for the global variables.
51
+ * Also uses a "hack" to make use of the warp cheatcode that manipulates time on Aztec.
39
52
  */
40
- export class SimpleGlobalVariableBuilder implements GlobalVariableBuilder {
41
- private log = createDebugLogger('aztec:sequencer:simple_global_variable_builder');
53
+ export class SimpleTestGlobalVariableBuilder implements GlobalVariableBuilder {
54
+ private log = createDebugLogger('aztec:sequencer:simple_test_global_variable_builder');
42
55
  constructor(private readonly reader: L1GlobalReader) {}
43
56
 
44
57
  /**
@@ -47,10 +60,23 @@ export class SimpleGlobalVariableBuilder implements GlobalVariableBuilder {
47
60
  * @returns The global variables for the given block number.
48
61
  */
49
62
  public async buildGlobalVariables(blockNumber: Fr): Promise<GlobalVariables> {
50
- const lastTimestamp = new Fr(await this.reader.getLastTimestamp());
63
+ let lastTimestamp = new Fr(await this.reader.getLastTimestamp());
51
64
  const version = new Fr(await this.reader.getVersion());
52
65
  const chainId = new Fr(await this.reader.getChainId());
53
66
 
67
+ // TODO(rahul) - fix #1614. By using the cheatcode warp to modify L2 time,
68
+ // txs in the next rollup would have same time as the txs in the current rollup (i.e. the rollup that was warped).
69
+ // So, for now you check if L2 time was warped and if so, serve warpedTime + 1 to txs in the new rollup.
70
+ // Check if L2 time was warped in the last rollup by checking if current L1 time is same as the warpedTime (stored on the rollup contract).
71
+ // more details at https://github.com/AztecProtocol/aztec-packages/issues/1614
72
+
73
+ const currTimestamp = await this.reader.getL1CurrentTime();
74
+ const rollupWarpTime = await this.reader.getLastWarpedBlockTs();
75
+ const isLastBlockWarped = rollupWarpTime === currTimestamp;
76
+ if (isLastBlockWarped) {
77
+ lastTimestamp = new Fr(lastTimestamp.value + 1n);
78
+ }
79
+
54
80
  this.log(
55
81
  `Built global variables for block ${blockNumber}: (${chainId}, ${version}, ${blockNumber}, ${lastTimestamp})`,
56
82
  );
@@ -1,8 +1,8 @@
1
1
  import { GlobalReaderConfig } from './config.js';
2
- import { GlobalVariableBuilder, SimpleGlobalVariableBuilder } from './global_builder.js';
2
+ import { GlobalVariableBuilder, SimpleTestGlobalVariableBuilder } from './global_builder.js';
3
3
  import { ViemReader } from './viem-reader.js';
4
4
 
5
- export { SimpleGlobalVariableBuilder } from './global_builder.js';
5
+ export { SimpleTestGlobalVariableBuilder as SimpleGlobalVariableBuilder } from './global_builder.js';
6
6
  export { GlobalReaderConfig } from './config.js';
7
7
 
8
8
  /**
@@ -11,5 +11,5 @@ export { GlobalReaderConfig } from './config.js';
11
11
  * @returns A new instance of the global variable builder.
12
12
  */
13
13
  export function getGlobalVariableBuilder(config: GlobalReaderConfig): GlobalVariableBuilder {
14
- return new SimpleGlobalVariableBuilder(new ViemReader(config));
14
+ return new SimpleTestGlobalVariableBuilder(new ViemReader(config));
15
15
  }
@@ -50,4 +50,12 @@ export class ViemReader implements L1GlobalReader {
50
50
  public async getChainId(): Promise<bigint> {
51
51
  return await Promise.resolve(BigInt(this.publicClient.chain.id));
52
52
  }
53
+
54
+ public async getL1CurrentTime(): Promise<bigint> {
55
+ return await Promise.resolve((await this.publicClient.getBlock()).timestamp);
56
+ }
57
+
58
+ public async getLastWarpedBlockTs(): Promise<bigint> {
59
+ return BigInt(await this.rollupContract.read.lastWarpedBlockTs());
60
+ }
53
61
  }
@@ -170,7 +170,7 @@ export class PublicProcessor {
170
170
  const isExecutionRequest = !isPublicExecutionResult(current);
171
171
  const result = isExecutionRequest ? await this.publicExecutor.execute(current, this.globalVariables) : current;
172
172
  newUnencryptedFunctionLogs.push(result.unencryptedLogs);
173
- const functionSelector = result.execution.functionData.functionSelectorBuffer.toString('hex');
173
+ const functionSelector = result.execution.functionData.selector.toString();
174
174
  this.log(
175
175
  `Running public kernel circuit for ${functionSelector}@${result.execution.contractAddress.toString()}`,
176
176
  );
@@ -6,7 +6,7 @@ import {
6
6
  PublicExecutor,
7
7
  PublicStateDB,
8
8
  } from '@aztec/acir-simulator';
9
- import { AztecAddress, CircuitsWasm, EthAddress, Fr, HistoricBlockData } from '@aztec/circuits.js';
9
+ import { AztecAddress, CircuitsWasm, EthAddress, Fr, FunctionSelector, HistoricBlockData } from '@aztec/circuits.js';
10
10
  import { siloCommitment } from '@aztec/circuits.js/abis';
11
11
  import { ContractDataSource, L1ToL2MessageSource, MerkleTreeId } from '@aztec/types';
12
12
  import { MerkleTreeOperations, computePublicDataTreeLeafIndex } from '@aztec/world-state';
@@ -36,11 +36,11 @@ export function getPublicExecutor(
36
36
  */
37
37
  class ContractsDataSourcePublicDB implements PublicContractsDB {
38
38
  constructor(private db: ContractDataSource) {}
39
- async getBytecode(address: AztecAddress, functionSelector: Buffer): Promise<Buffer | undefined> {
40
- return (await this.db.getPublicFunction(address, functionSelector))?.bytecode;
39
+ async getBytecode(address: AztecAddress, selector: FunctionSelector): Promise<Buffer | undefined> {
40
+ return (await this.db.getPublicFunction(address, selector))?.bytecode;
41
41
  }
42
- async getIsInternal(address: AztecAddress, functionSelector: Buffer): Promise<boolean | undefined> {
43
- return (await this.db.getPublicFunction(address, functionSelector))?.isInternal;
42
+ async getIsInternal(address: AztecAddress, selector: FunctionSelector): Promise<boolean | undefined> {
43
+ return (await this.db.getPublicFunction(address, selector))?.isInternal;
44
44
  }
45
45
  async getPortalContractAddress(address: AztecAddress): Promise<EthAddress | undefined> {
46
46
  return (await this.db.getContractData(address))?.portalContractAddress;