@aztec/sequencer-client 0.28.1 → 0.30.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.
Files changed (41) hide show
  1. package/dest/block_builder/index.d.ts +2 -4
  2. package/dest/block_builder/index.d.ts.map +1 -1
  3. package/dest/block_builder/solo_block_builder.d.ts +4 -7
  4. package/dest/block_builder/solo_block_builder.d.ts.map +1 -1
  5. package/dest/block_builder/solo_block_builder.js +18 -20
  6. package/dest/client/sequencer-client.d.ts +4 -3
  7. package/dest/client/sequencer-client.d.ts.map +1 -1
  8. package/dest/client/sequencer-client.js +2 -2
  9. package/dest/config.d.ts.map +1 -1
  10. package/dest/config.js +6 -2
  11. package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
  12. package/dest/sequencer/abstract_phase_manager.js +10 -11
  13. package/dest/sequencer/hints_builder.d.ts +1 -1
  14. package/dest/sequencer/hints_builder.d.ts.map +1 -1
  15. package/dest/sequencer/hints_builder.js +4 -4
  16. package/dest/sequencer/processed_tx.d.ts.map +1 -1
  17. package/dest/sequencer/processed_tx.js +3 -3
  18. package/dest/sequencer/public_processor.d.ts +2 -1
  19. package/dest/sequencer/public_processor.d.ts.map +1 -1
  20. package/dest/sequencer/public_processor.js +1 -1
  21. package/dest/sequencer/sequencer.d.ts +6 -26
  22. package/dest/sequencer/sequencer.d.ts.map +1 -1
  23. package/dest/sequencer/sequencer.js +26 -101
  24. package/dest/sequencer/tx_validator.d.ts +22 -0
  25. package/dest/sequencer/tx_validator.d.ts.map +1 -0
  26. package/dest/sequencer/tx_validator.js +125 -0
  27. package/dest/simulator/public_executor.d.ts +3 -5
  28. package/dest/simulator/public_executor.d.ts.map +1 -1
  29. package/dest/simulator/public_executor.js +18 -34
  30. package/package.json +13 -13
  31. package/src/block_builder/index.ts +2 -8
  32. package/src/block_builder/solo_block_builder.ts +18 -29
  33. package/src/client/sequencer-client.ts +3 -1
  34. package/src/config.ts +6 -0
  35. package/src/sequencer/abstract_phase_manager.ts +9 -12
  36. package/src/sequencer/hints_builder.ts +2 -8
  37. package/src/sequencer/processed_tx.ts +2 -0
  38. package/src/sequencer/public_processor.ts +2 -1
  39. package/src/sequencer/sequencer.ts +31 -117
  40. package/src/sequencer/tx_validator.ts +189 -0
  41. package/src/simulator/public_executor.ts +15 -42
@@ -1 +1 @@
1
- {"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/sequencer/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EAEF,oCAAoC,EACpC,+CAA+C,EAC/C,kCAAkC,EAClC,gCAAgC,EAChC,iBAAiB,EAEjB,kBAAkB,EAClB,0BAA0B,EAK3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,oBAAoB;IAE5C,4BAA4B,CAC1B,kCAAkC,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,kCAAkC,CAAC,EACxG,+BAA+B,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,kCAAkC,CAAC,EACrG,uBAAuB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,oCAAoC,CAAC,EACvG,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,gCAAgC,CAAC;IAalG,uCAAuC,CACrC,gCAAgC,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,+CAA+C,CAAC,EACnH,uBAAuB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,oCAAoC,CAAC,EACvG,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,gCAAgC,CAAC;IAU5F,6BAA6B,CAAC,SAAS,EAAE,EAAE;;;;IAS3C,gCAAgC,CAAC,SAAS,EAAE,EAAE;;;;YActC,yCAAyC;CAexD"}
1
+ {"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/sequencer/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EAEF,oCAAoC,EACpC,+CAA+C,EAC/C,kCAAkC,EAClC,gCAAgC,EAChC,iBAAiB,EAEjB,kBAAkB,EAClB,0BAA0B,EAI3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,oBAAoB;IAE5C,4BAA4B,CAC1B,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,kCAAkC,CAAC,EAC3F,uBAAuB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,oCAAoC,CAAC,EACvG,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,gCAAgC,CAAC;IASlG,uCAAuC,CACrC,gCAAgC,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,+CAA+C,CAAC,EACnH,uBAAuB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,oCAAoC,CAAC,EACvG,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,EAAE,OAAO,gCAAgC,CAAC;IAU5F,6BAA6B,CAAC,SAAS,EAAE,EAAE;;;;IAS3C,gCAAgC,CAAC,SAAS,EAAE,EAAE;;;;YActC,yCAAyC;CAexD"}
@@ -1,11 +1,11 @@
1
1
  import { MerkleTreeId } from '@aztec/circuit-types';
2
- import { MAX_NEW_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MembershipWitness, NULLIFIER_TREE_HEIGHT, buildNullifierNonExistentReadRequestHints, buildNullifierReadRequestHints, concatAccumulatedData, mergeAccumulatedData, } from '@aztec/circuits.js';
2
+ import { MAX_NEW_NULLIFIERS_PER_TX, MembershipWitness, NULLIFIER_TREE_HEIGHT, buildNullifierNonExistentReadRequestHints, buildNullifierReadRequestHints, concatAccumulatedData, } from '@aztec/circuits.js';
3
3
  export class HintsBuilder {
4
4
  constructor(db) {
5
5
  this.db = db;
6
6
  }
7
- getNullifierReadRequestHints(nullifierReadRequestsNonRevertible, nullifierReadRequestsRevertible, nullifiersNonRevertible, nullifiersRevertible) {
8
- return buildNullifierReadRequestHints(this, mergeAccumulatedData(MAX_NULLIFIER_READ_REQUESTS_PER_TX, nullifierReadRequestsNonRevertible, nullifierReadRequestsRevertible), concatAccumulatedData(MAX_NEW_NULLIFIERS_PER_TX, nullifiersNonRevertible, nullifiersRevertible));
7
+ getNullifierReadRequestHints(nullifierReadRequests, nullifiersNonRevertible, nullifiersRevertible) {
8
+ return buildNullifierReadRequestHints(this, nullifierReadRequests, concatAccumulatedData(MAX_NEW_NULLIFIERS_PER_TX, nullifiersNonRevertible, nullifiersRevertible));
9
9
  }
10
10
  getNullifierNonExistentReadRequestHints(nullifierNonExistentReadRequests, nullifiersNonRevertible, nullifiersRevertible) {
11
11
  const pendingNullifiers = concatAccumulatedData(MAX_NEW_NULLIFIERS_PER_TX, nullifiersNonRevertible, nullifiersRevertible);
@@ -39,4 +39,4 @@ export class HintsBuilder {
39
39
  return { membershipWitness, leafPreimage };
40
40
  }
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludHNfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvaGludHNfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUVMLHlCQUF5QixFQUd6QixrQ0FBa0MsRUFFbEMsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUdyQix5Q0FBeUMsRUFDekMsOEJBQThCLEVBQzlCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsTUFBTSxvQkFBb0IsQ0FBQztBQUk1QixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixFQUF3QjtRQUF4QixPQUFFLEdBQUYsRUFBRSxDQUFzQjtJQUFHLENBQUM7SUFFaEQsNEJBQTRCLENBQzFCLGtDQUF3RyxFQUN4RywrQkFBcUcsRUFDckcsdUJBQXVHLEVBQ3ZHLG9CQUFnRztRQUVoRyxPQUFPLDhCQUE4QixDQUNuQyxJQUFJLEVBQ0osb0JBQW9CLENBQ2xCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsK0JBQStCLENBQ2hDLEVBQ0QscUJBQXFCLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLENBQUMsQ0FDaEcsQ0FBQztJQUNKLENBQUM7SUFFRCx1Q0FBdUMsQ0FDckMsZ0NBQW1ILEVBQ25ILHVCQUF1RyxFQUN2RyxvQkFBZ0c7UUFFaEcsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FDN0MseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixvQkFBb0IsQ0FDckIsQ0FBQztRQUNGLE9BQU8seUNBQXlDLENBQUMsSUFBSSxFQUFFLGdDQUFnQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxTQUFhO1FBQy9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3RixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxLQUFLLENBQUMsZ0NBQWdDLENBQUMsU0FBYTtRQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUN0QyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxTQUFTLENBQUMsUUFBUSxFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxLQUFLLENBQUMseUNBQXlDLENBQUMsS0FBYTtRQUNuRSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUErQixZQUFZLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FDN0MscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxXQUFXLENBQUMsT0FBTyxFQUFnQyxDQUNwRCxDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztDQUNGIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludHNfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvaGludHNfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUVMLHlCQUF5QixFQUt6QixpQkFBaUIsRUFDakIscUJBQXFCLEVBR3JCLHlDQUF5QyxFQUN6Qyw4QkFBOEIsRUFDOUIscUJBQXFCLEdBQ3RCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7SUFBRyxDQUFDO0lBRWhELDRCQUE0QixDQUMxQixxQkFBMkYsRUFDM0YsdUJBQXVHLEVBQ3ZHLG9CQUFnRztRQUVoRyxPQUFPLDhCQUE4QixDQUNuQyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLHFCQUFxQixDQUFDLHlCQUF5QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDLENBQ2hHLENBQUM7SUFDSixDQUFDO0lBRUQsdUNBQXVDLENBQ3JDLGdDQUFtSCxFQUNuSCx1QkFBdUcsRUFDdkcsb0JBQWdHO1FBRWhHLE1BQU0saUJBQWlCLEdBQUcscUJBQXFCLENBQzdDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsb0JBQW9CLENBQ3JCLENBQUM7UUFDRixPQUFPLHlDQUF5QyxDQUFDLElBQUksRUFBRSxnQ0FBZ0MsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxLQUFLLENBQUMsNkJBQTZCLENBQUMsU0FBYTtRQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLFNBQWE7UUFDbEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkcsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDdEMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsU0FBUyxDQUFDLFFBQVEsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sS0FBSyxDQUFDLHlDQUF5QyxDQUFDLEtBQWE7UUFDbkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBK0IsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuSCxNQUFNLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQzdDLHFCQUFxQixFQUNyQixLQUFLLEVBQ0wsV0FBVyxDQUFDLE9BQU8sRUFBZ0MsQ0FDcEQsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/sequencer/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AACxG,OAAO,EACL,EAAE,EACF,MAAM,EAIN,KAAK,EAGL,+BAA+B,EAIhC,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,GAAG,iBAAiB,CAAC,GAAG;IAClF;;OAEG;IACH,IAAI,EAAE,+BAA+B,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,IAAI,EAAE,+BAA+B,GAAG;QACtC,QAAQ,EAAE,IAAI,CAAC;KAChB,CAAC;IAEF,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,EAAE,IAAI,UAAU,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,WAAW,EAAE,CAAA;CAAE,CAY3G;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,EAAE,EACN,uBAAuB,CAAC,EAAE,+BAA+B,EACzD,iBAAiB,CAAC,EAAE,KAAK,GACxB;IACD;;OAEG;IACH,uBAAuB,EAAE,+BAA+B,CAAC;IACzD;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;CACtB,CAsBA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,EACN,YAAY,CAAC,EAAE,+BAA+B,EAC9C,KAAK,CAAC,EAAE,KAAK,EACb,YAAY,CAAC,EAAE,eAAe,GAC7B,WAAW,CAWb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,WAAW,CAiB1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,QAAQ,CAepD;AAgBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAGzD"}
1
+ {"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/sequencer/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AACxG,OAAO,EACL,EAAE,EACF,MAAM,EAIN,KAAK,EAGL,+BAA+B,EAKhC,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,GAAG,iBAAiB,CAAC,GAAG;IAClF;;OAEG;IACH,IAAI,EAAE,+BAA+B,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,IAAI,EAAE,+BAA+B,GAAG;QACtC,QAAQ,EAAE,IAAI,CAAC;KAChB,CAAC;IAEF,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,EAAE,IAAI,UAAU,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,WAAW,EAAE,CAAA;CAAE,CAY3G;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,EAAE,EACN,uBAAuB,CAAC,EAAE,+BAA+B,EACzD,iBAAiB,CAAC,EAAE,KAAK,GACxB;IACD;;OAEG;IACH,uBAAuB,EAAE,+BAA+B,CAAC;IACzD;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;CACtB,CAuBA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,EACN,YAAY,CAAC,EAAE,+BAA+B,EAC9C,KAAK,CAAC,EAAE,KAAK,EACb,YAAY,CAAC,EAAE,eAAe,GAC7B,WAAW,CAWb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,WAAW,CAiB1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,QAAQ,CAepD;AAgBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAGzD"}
@@ -1,5 +1,5 @@
1
1
  import { PublicDataWrite, TxEffect, TxHash, TxL2Logs } from '@aztec/circuit-types';
2
- import { Fr, PublicAccumulatedNonRevertibleData, PublicAccumulatedRevertibleData, PublicKernelCircuitPublicInputs, makeEmptyProof, } from '@aztec/circuits.js';
2
+ import { Fr, PublicAccumulatedNonRevertibleData, PublicAccumulatedRevertibleData, PublicKernelCircuitPublicInputs, ValidationRequests, makeEmptyProof, } from '@aztec/circuits.js';
3
3
  import { fromFieldsTuple } from '@aztec/foundation/serialize';
4
4
  export function isRevertedTx(tx) {
5
5
  return tx.data.reverted;
@@ -31,7 +31,7 @@ export function getPreviousOutputAndProof(tx, publicKernelPublicInput, publicKer
31
31
  };
32
32
  }
33
33
  else {
34
- const publicKernelPublicInput = new PublicKernelCircuitPublicInputs(tx.data.aggregationObject, PublicAccumulatedNonRevertibleData.fromPrivateAccumulatedNonRevertibleData(tx.data.endNonRevertibleData), PublicAccumulatedRevertibleData.fromPrivateAccumulatedRevertibleData(tx.data.end), tx.data.constants, tx.data.needsSetup, tx.data.needsAppLogic, tx.data.needsTeardown, false);
34
+ const publicKernelPublicInput = new PublicKernelCircuitPublicInputs(tx.data.aggregationObject, ValidationRequests.empty(), PublicAccumulatedNonRevertibleData.fromPrivateAccumulatedNonRevertibleData(tx.data.endNonRevertibleData), PublicAccumulatedRevertibleData.fromPrivateAccumulatedRevertibleData(tx.data.end), tx.data.constants, tx.data.needsSetup, tx.data.needsAppLogic, tx.data.needsTeardown, false);
35
35
  return {
36
36
  publicKernelPublicInput,
37
37
  previousProof: publicKernelProof || tx.proof,
@@ -95,4 +95,4 @@ export function validateProcessedTx(tx) {
95
95
  validateProcessedTxLogs(tx);
96
96
  // TODO: validate other fields
97
97
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc2VkX3R4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9wcm9jZXNzZWRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsRUFBRSxFQU1GLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBRy9CLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBUyxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWtDckUsTUFBTSxVQUFVLFlBQVksQ0FBQyxFQUFlO0lBQzFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFrQjtJQUNqRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQ2YsQ0FBQyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNoQyxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBeUMsQ0FDekUsQ0FBQztBQUNKLENBQUM7QUFnQkQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsRUFBTSxFQUNOLHVCQUF5RCxFQUN6RCxpQkFBeUI7SUFXekIsSUFBSSx1QkFBdUIsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pELE9BQU87WUFDTCx1QkFBdUI7WUFDdkIsYUFBYSxFQUFFLGlCQUFpQjtTQUNqQyxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLHVCQUF1QixHQUFHLElBQUksK0JBQStCLENBQ2pFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQ3pCLGtDQUFrQyxDQUFDLHVDQUF1QyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFDeEcsK0JBQStCLENBQUMsb0NBQW9DLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDakYsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ2pCLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUNsQixFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFDckIsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQ3JCLEtBQUssQ0FDTixDQUFDO1FBQ0YsT0FBTztZQUNMLHVCQUF1QjtZQUN2QixhQUFhLEVBQUUsaUJBQWlCLElBQUksRUFBRSxDQUFDLEtBQUs7U0FDN0MsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixFQUFNLEVBQ04sWUFBOEMsRUFDOUMsS0FBYSxFQUNiLFlBQThCO0lBRTlCLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RHLE9BQU87UUFDTCxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRTtRQUNwQixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYTtRQUNqRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWU7UUFDckUsT0FBTyxFQUFFLEtBQUs7UUFDZCxZQUFZO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBYyxFQUFFLE9BQVcsRUFBRSxPQUFXO0lBQzNFLE1BQU0saUJBQWlCLEdBQUcsK0JBQStCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3hELE1BQU0sVUFBVSxHQUFHLGNBQWMsRUFBRSxDQUFDO0lBRXBDLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1QyxPQUFPO1FBQ0wsSUFBSTtRQUNKLGFBQWEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDL0IsZUFBZSxFQUFFLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxVQUFVO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsWUFBWSxFQUFFLFNBQVM7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEVBQWU7SUFDeEMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBaUQsRUFDbEgsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTZCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBR2hGLEVBQ0QsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUNsQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FHakcsRUFDRCxFQUFFLENBQUMsYUFBYSxJQUFJLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUNwQyxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsRUFBZTtJQUM5QyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQ2IsNENBQTRDLGVBQWU7YUFDeEQsSUFBSSxFQUFFO2FBQ04sUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7MEJBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDOzhCQUNwQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxDQUM3RSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBZTtJQUNqRCx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1Qiw4QkFBOEI7QUFDaEMsQ0FBQyJ9
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc2VkX3R4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9wcm9jZXNzZWRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsRUFBRSxFQU1GLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBRy9CLGtCQUFrQixFQUNsQixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQVMsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFrQ3JFLE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBZTtJQUMxQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBa0I7SUFDakQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNmLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQXlDLENBQ3pFLENBQUM7QUFDSixDQUFDO0FBZ0JEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLEVBQU0sRUFDTix1QkFBeUQsRUFDekQsaUJBQXlCO0lB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
@@ -1,6 +1,7 @@
1
- import { ContractDataSource, L1ToL2MessageSource, Tx } from '@aztec/circuit-types';
1
+ import { L1ToL2MessageSource, Tx } from '@aztec/circuit-types';
2
2
  import { GlobalVariables, Header } from '@aztec/circuits.js';
3
3
  import { PublicExecutor, PublicStateDB } from '@aztec/simulator';
4
+ import { ContractDataSource } from '@aztec/types/contracts';
4
5
  import { MerkleTreeOperations } from '@aztec/world-state';
5
6
  import { PublicProver } from '../prover/index.js';
6
7
  import { PublicKernelCircuitSimulator } from '../simulator/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/sequencer/public_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAmB,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAoC,MAAM,iCAAiC,CAAC;AAEhH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EACL,QAAQ,EACR,WAAW,EAKZ,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,SAAS;gBAHT,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,wBAAwB,EAAE,mBAAmB,EAC7C,SAAS,EAAE,kBAAkB;IAGvC;;;;;;OAMG;IACU,MAAM,CACjB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,eAAe,CAAC;CAkB5B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,EAAE,EAAE,oBAAoB;IAClC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,YAAY,EAAE,4BAA4B;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAClC,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;IAEtC,OAAO,CAAC,GAAG;gBATD,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EAE9B,GAAG,8CAAwD;IAGrE;;;;OAIG;IACU,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAqErE;;;OAGG;IACI,oBAAoB,IAAI,WAAW;CAI3C"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/sequencer/public_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAmB,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAoC,MAAM,iCAAiC,CAAC;AAEhH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EACL,QAAQ,EACR,WAAW,EAKZ,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,SAAS;gBAHT,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,wBAAwB,EAAE,mBAAmB,EAC7C,SAAS,EAAE,kBAAkB;IAGvC;;;;;;OAMG;IACU,MAAM,CACjB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,eAAe,CAAC;CAkB5B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,EAAE,EAAE,oBAAoB;IAClC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,YAAY,EAAE,4BAA4B;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAClC,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;IAEtC,OAAO,CAAC,GAAG;gBATD,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EAE9B,GAAG,8CAAwD;IAGrE;;;;OAIG;IACU,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAqErE;;;OAGG;IACI,oBAAoB,IAAI,WAAW;CAI3C"}
@@ -104,4 +104,4 @@ export class PublicProcessor {
104
104
  return makeEmptyProcessedTx(this.historicalHeader, chainId, version);
105
105
  }
106
106
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRELEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEdBQ3BCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0I7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsVUFBZ0MsRUFDaEMsa0JBQXNDLEVBQ3RDLHdCQUE2QyxFQUM3QyxTQUE2QjtRQUg3QixlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBcUI7UUFDN0MsY0FBUyxHQUFULFNBQVMsQ0FBb0I7SUFDcEMsQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQ2pCLGdCQUFvQyxFQUNwQyxlQUFnQztRQUVoQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFB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
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdDLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEdBQ3BCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0I7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsVUFBZ0MsRUFDaEMsa0JBQXNDLEVBQ3RDLHdCQUE2QyxFQUM3QyxTQUE2QjtRQUg3QixlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBcUI7UUFDN0MsY0FBUyxHQUFULFNBQVMsQ0FBb0I7SUFDcEMsQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQ2pCLGdCQUFvQyxFQUNwQyxlQUFnQztRQUVoQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFB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
@@ -9,6 +9,7 @@ import { L1Publisher } from '../publisher/l1-publisher.js';
9
9
  import { SequencerConfig } from './config.js';
10
10
  import { ProcessedTx } from './processed_tx.js';
11
11
  import { PublicProcessorFactory } from './public_processor.js';
12
+ import { TxValidator } from './tx_validator.js';
12
13
  /**
13
14
  * Sequencer client
14
15
  * - Wins a period of time to become the sequencer (depending on finalized protocol).
@@ -27,6 +28,7 @@ export declare class Sequencer {
27
28
  private l2BlockSource;
28
29
  private l1ToL2MessageSource;
29
30
  private publicProcessorFactory;
31
+ private gasPortalAddress;
30
32
  private log;
31
33
  private runningPromise?;
32
34
  private pollingIntervalMs;
@@ -36,7 +38,7 @@ export declare class Sequencer {
36
38
  private _feeRecipient;
37
39
  private lastPublishedBlock;
38
40
  private state;
39
- constructor(publisher: L1Publisher, globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, blockBuilder: BlockBuilder, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, publicProcessorFactory: PublicProcessorFactory, config?: SequencerConfig, log?: import("@aztec/foundation/log").DebugLogger);
41
+ constructor(publisher: L1Publisher, globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, blockBuilder: BlockBuilder, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, publicProcessorFactory: PublicProcessorFactory, config?: SequencerConfig, gasPortalAddress?: EthAddress, log?: import("@aztec/foundation/log").DebugLogger);
40
42
  /**
41
43
  * Updates sequencer config.
42
44
  * @param config - New parameters.
@@ -71,7 +73,7 @@ export declare class Sequencer {
71
73
  * @param block - The L2Block to be published.
72
74
  */
73
75
  protected publishL2Block(block: L2Block): Promise<void>;
74
- protected takeValidTxs<T extends Tx | ProcessedTx>(txs: T[], globalVariables: GlobalVariables): Promise<T[]>;
76
+ protected takeValidTxs<T extends Tx | ProcessedTx>(txs: T[], validator: TxValidator): Promise<T[]>;
75
77
  /**
76
78
  * Returns whether the previous block sent has been mined, and all dependencies have caught up with it.
77
79
  * @returns Boolean indicating if our dependencies are synced to the latest block.
@@ -80,34 +82,12 @@ export declare class Sequencer {
80
82
  /**
81
83
  * Pads the set of txs to a power of two and assembles a block by calling the block builder.
82
84
  * @param txs - Processed txs to include in the next block.
83
- * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox.
84
- * @param newL1ToL2Messages - L1 to L2 messages to be part of the block.
85
+ * @param l1ToL2Messages - L1 to L2 messages to be part of the block.
85
86
  * @param emptyTx - Empty tx to repeat at the end of the block to pad to a power of two.
86
87
  * @param globalVariables - Global variables to use in the block.
87
88
  * @returns The new block.
88
89
  */
89
- protected buildBlock(txs: ProcessedTx[], newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox
90
- newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox
91
- emptyTx: ProcessedTx, globalVariables: GlobalVariables): Promise<L2Block>;
92
- /**
93
- * Calls the archiver to pull upto `NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP` entry keys
94
- * (archiver returns the top messages sorted by fees)
95
- * @returns An array of L1 to L2 messages' entryKeys
96
- */
97
- protected getPendingL1ToL2EntryKeys(): Promise<Fr[]>;
98
- /**
99
- * Returns true if one of the tx nullifiers exist on the block being built.
100
- * @param tx - The tx to test.
101
- * @param thisBlockNullifiers - The nullifiers added so far.
102
- */
103
- protected isTxDoubleSpendSameBlock(tx: Tx | ProcessedTx, thisBlockNullifiers: Set<bigint>): boolean;
104
- /**
105
- * Returns true if one of the transaction nullifiers exist.
106
- * Nullifiers prevent double spends in a private context.
107
- * @param tx - The transaction.
108
- * @returns Whether this is a problematic double spend that the L1 contract would reject.
109
- */
110
- protected isTxDoubleSpend(tx: Tx | ProcessedTx): Promise<boolean>;
90
+ protected buildBlock(txs: ProcessedTx[], l1ToL2Messages: Fr[], emptyTx: ProcessedTx, globalVariables: GlobalVariables): Promise<L2Block>;
111
91
  get coinbase(): EthAddress;
112
92
  get feeRecipient(): AztecAddress;
113
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ import { Fr } from '@aztec/foundation/fields';
5
5
  import { createDebugLogger } from '@aztec/foundation/log';
6
6
  import { RunningPromise } from '@aztec/foundation/running-promise';
7
7
  import { Timer, elapsed } from '@aztec/foundation/timer';
8
+ import { WorldStatePublicDB } from '../simulator/public_executor.js';
8
9
  import { ceilPowerOfTwo } from '../utils.js';
10
+ import { TxValidator } from './tx_validator.js';
9
11
  /**
10
12
  * Sequencer client
11
13
  * - Wins a period of time to become the sequencer (depending on finalized protocol).
@@ -16,7 +18,7 @@ import { ceilPowerOfTwo } from '../utils.js';
16
18
  * - Publishes L1 tx(s) to the rollup contract via RollupPublisher.
17
19
  */
18
20
  export class Sequencer {
19
- constructor(publisher, globalsBuilder, p2pClient, worldState, blockBuilder, l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, config = {}, log = createDebugLogger('aztec:sequencer')) {
21
+ constructor(publisher, globalsBuilder, p2pClient, worldState, blockBuilder, l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, config = {}, gasPortalAddress = EthAddress.ZERO, log = createDebugLogger('aztec:sequencer')) {
20
22
  this.publisher = publisher;
21
23
  this.globalsBuilder = globalsBuilder;
22
24
  this.p2pClient = p2pClient;
@@ -25,6 +27,7 @@ export class Sequencer {
25
27
  this.l2BlockSource = l2BlockSource;
26
28
  this.l1ToL2MessageSource = l1ToL2MessageSource;
27
29
  this.publicProcessorFactory = publicProcessorFactory;
30
+ this.gasPortalAddress = gasPortalAddress;
28
31
  this.log = log;
29
32
  this.pollingIntervalMs = 1000;
30
33
  this.maxTxsPerBlock = 32;
@@ -136,8 +139,14 @@ export class Sequencer {
136
139
  };
137
140
  const newGlobalVariables = await this.globalsBuilder.buildGlobalVariables(new Fr(newBlockNumber), this._coinbase, this._feeRecipient);
138
141
  // Filter out invalid txs
142
+ const trees = this.worldState.getLatest();
143
+ const txValidator = new TxValidator({
144
+ getNullifierIndex(nullifier) {
145
+ return trees.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
146
+ },
147
+ }, new WorldStatePublicDB(trees), this.gasPortalAddress, newGlobalVariables);
139
148
  // TODO: It should be responsibility of the P2P layer to validate txs before passing them on here
140
- const validTxs = await this.takeValidTxs(pendingTxs, newGlobalVariables);
149
+ const validTxs = await this.takeValidTxs(pendingTxs, txValidator);
141
150
  if (validTxs.length < this.minTxsPerBLock) {
142
151
  return;
143
152
  }
@@ -155,22 +164,21 @@ export class Sequencer {
155
164
  // public functions emitting nullifiers would pass earlier check but fail here.
156
165
  // Note that we're checking all nullifiers generated in the private execution twice,
157
166
  // we could store the ones already checked and skip them here as an optimization.
158
- const processedValidTxs = await this.takeValidTxs(processedTxs, newGlobalVariables);
167
+ const processedValidTxs = await this.takeValidTxs(processedTxs, txValidator);
159
168
  if (processedValidTxs.length === 0) {
160
169
  this.log('No txs processed correctly to build block. Exiting');
161
170
  return;
162
171
  }
163
172
  await assertBlockHeight();
164
- const newModelL1ToL2Messages = await this.l1ToL2MessageSource.getNewL1ToL2Messages(BigInt(newBlockNumber));
165
173
  // Get l1 to l2 messages from the contract
166
174
  this.log('Requesting L1 to L2 messages from contract');
167
- const l1ToL2Messages = await this.getPendingL1ToL2EntryKeys();
168
- this.log('Successfully retrieved L1 to L2 messages from contract');
175
+ const l1ToL2Messages = await this.l1ToL2MessageSource.getL1ToL2Messages(BigInt(newBlockNumber));
176
+ this.log(`Retrieved ${l1ToL2Messages.length} L1 to L2 messages for block ${newBlockNumber}`);
169
177
  // Build the new block by running the rollup circuits
170
178
  this.log(`Assembling block with txs ${processedValidTxs.map(tx => tx.hash).join(', ')}`);
171
179
  await assertBlockHeight();
172
180
  const emptyTx = processor.makeEmptyProcessedTx();
173
- const [rollupCircuitsDuration, block] = await elapsed(() => this.buildBlock(processedValidTxs, newModelL1ToL2Messages, l1ToL2Messages, emptyTx, newGlobalVariables));
181
+ const [rollupCircuitsDuration, block] = await elapsed(() => this.buildBlock(processedValidTxs, l1ToL2Messages, emptyTx, newGlobalVariables));
174
182
  this.log(`Assembled block ${block.number}`, {
175
183
  eventName: 'l2-block-built',
176
184
  duration: workTimer.ms(),
@@ -203,40 +211,13 @@ export class Sequencer {
203
211
  throw new Error(`Failed to publish block`);
204
212
  }
205
213
  }
206
- async takeValidTxs(txs, globalVariables) {
207
- const validTxs = [];
208
- const txsToDelete = [];
209
- const thisBlockNullifiers = new Set();
210
- // Process txs until we get to maxTxsPerBlock, rejecting double spends in the process
211
- for (const tx of txs) {
212
- if (tx.data.constants.txContext.chainId.value !== globalVariables.chainId.value) {
213
- this.log(`Deleting tx for incorrect chain ${tx.data.constants.txContext.chainId.toString()}, tx hash ${Tx.getHash(tx)}`);
214
- txsToDelete.push(tx);
215
- continue;
216
- }
217
- if (await this.isTxDoubleSpend(tx)) {
218
- this.log(`Deleting double spend tx ${Tx.getHash(tx)}`);
219
- txsToDelete.push(tx);
220
- continue;
221
- }
222
- else if (this.isTxDoubleSpendSameBlock(tx, thisBlockNullifiers)) {
223
- // We don't drop these txs from the p2p pool immediately since they become valid
224
- // again if the current block fails to be published for some reason.
225
- this.log(`Skipping tx with double-spend for this same block ${Tx.getHash(tx)}`);
226
- continue;
227
- }
228
- tx.data.end.newNullifiers.forEach(n => thisBlockNullifiers.add(n.value.toBigInt()));
229
- tx.data.endNonRevertibleData.newNullifiers.forEach(n => thisBlockNullifiers.add(n.value.toBigInt()));
230
- validTxs.push(tx);
231
- if (validTxs.length >= this.maxTxsPerBlock) {
232
- break;
233
- }
234
- }
235
- // Make sure we remove these from the tx pool so we do not consider it again
236
- if (txsToDelete.length > 0) {
237
- await this.p2pClient.deleteTxs(Tx.getHashes([...txsToDelete]));
214
+ async takeValidTxs(txs, validator) {
215
+ const [valid, invalid] = await validator.validateTxs(txs);
216
+ if (invalid.length > 0) {
217
+ this.log(`Dropping invalid txs from the p2p pool ${Tx.getHashes(invalid).join(', ')}`);
218
+ await this.p2pClient.deleteTxs(Tx.getHashes(invalid));
238
219
  }
239
- return validTxs;
220
+ return valid.slice(0, this.maxTxsPerBlock);
240
221
  }
241
222
  /**
242
223
  * Returns whether the previous block sent has been mined, and all dependencies have caught up with it.
@@ -255,76 +236,20 @@ export class Sequencer {
255
236
  /**
256
237
  * Pads the set of txs to a power of two and assembles a block by calling the block builder.
257
238
  * @param txs - Processed txs to include in the next block.
258
- * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox.
259
- * @param newL1ToL2Messages - L1 to L2 messages to be part of the block.
239
+ * @param l1ToL2Messages - L1 to L2 messages to be part of the block.
260
240
  * @param emptyTx - Empty tx to repeat at the end of the block to pad to a power of two.
261
241
  * @param globalVariables - Global variables to use in the block.
262
242
  * @returns The new block.
263
243
  */
264
- async buildBlock(txs, newModelL1ToL2Messages, // TODO(#4492): Rename this when purging the old inbox
265
- newL1ToL2Messages, // TODO(#4492): Nuke this when purging the old inbox
266
- emptyTx, globalVariables) {
244
+ async buildBlock(txs, l1ToL2Messages, emptyTx, globalVariables) {
267
245
  // Pad the txs array with empty txs to be a power of two, at least 2
268
246
  const txsTargetSize = Math.max(ceilPowerOfTwo(txs.length), 2);
269
247
  const emptyTxCount = txsTargetSize - txs.length;
270
248
  const allTxs = [...txs, ...times(emptyTxCount, () => emptyTx)];
271
- this.log(`Building block ${globalVariables.blockNumber}`);
272
- const [block] = await this.blockBuilder.buildL2Block(globalVariables, allTxs, newModelL1ToL2Messages, newL1ToL2Messages);
249
+ this.log(`Building block ${globalVariables.blockNumber.toBigInt()}`);
250
+ const [block] = await this.blockBuilder.buildL2Block(globalVariables, allTxs, l1ToL2Messages);
273
251
  return block;
274
252
  }
275
- /**
276
- * Calls the archiver to pull upto `NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP` entry keys
277
- * (archiver returns the top messages sorted by fees)
278
- * @returns An array of L1 to L2 messages' entryKeys
279
- */
280
- async getPendingL1ToL2EntryKeys() {
281
- return await this.l1ToL2MessageSource.getPendingL1ToL2EntryKeys();
282
- }
283
- /**
284
- * Returns true if one of the tx nullifiers exist on the block being built.
285
- * @param tx - The tx to test.
286
- * @param thisBlockNullifiers - The nullifiers added so far.
287
- */
288
- isTxDoubleSpendSameBlock(tx, thisBlockNullifiers) {
289
- // We only consider non-empty nullifiers
290
- const newNullifiers = [
291
- ...tx.data.endNonRevertibleData.newNullifiers.filter(n => !n.isEmpty()),
292
- ...tx.data.end.newNullifiers.filter(n => !n.isEmpty()),
293
- ];
294
- for (const nullifier of newNullifiers) {
295
- if (thisBlockNullifiers.has(nullifier.value.toBigInt())) {
296
- return true;
297
- }
298
- }
299
- return false;
300
- }
301
- /**
302
- * Returns true if one of the transaction nullifiers exist.
303
- * Nullifiers prevent double spends in a private context.
304
- * @param tx - The transaction.
305
- * @returns Whether this is a problematic double spend that the L1 contract would reject.
306
- */
307
- async isTxDoubleSpend(tx) {
308
- // We only consider non-empty nullifiers
309
- const newNullifiers = [
310
- ...tx.data.endNonRevertibleData.newNullifiers.filter(n => !n.isEmpty()),
311
- ...tx.data.end.newNullifiers.filter(n => !n.isEmpty()),
312
- ];
313
- // Ditch this tx if it has a repeated nullifiers
314
- const uniqNullifiers = new Set(newNullifiers.map(n => n.value.toBigInt()));
315
- if (uniqNullifiers.size !== newNullifiers.length) {
316
- return true;
317
- }
318
- for (const nullifier of newNullifiers) {
319
- // TODO(AD): this is an exhaustive search currently
320
- const db = this.worldState.getLatest();
321
- const indexInDb = await db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
322
- if (indexInDb !== undefined) {
323
- return true;
324
- }
325
- }
326
- return false;
327
- }
328
253
  get coinbase() {
329
254
  return this._coinbase;
330
255
  }
@@ -362,4 +287,4 @@ export var SequencerState;
362
287
  */
363
288
  SequencerState[SequencerState["STOPPED"] = 5] = "STOPPED";
364
289
  })(SequencerState || (SequencerState = {}));
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9zZXF1ZW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckcsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzdDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFXcEIsWUFDVSxTQUFzQixFQUN0QixjQUFxQyxFQUNyQyxTQUFjLEVBQ2QsVUFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUN0RCxTQUEwQixFQUFFLEVBQ3BCLE1BQU0saUJBQWlCLENBQUMsaUJBQWlCLENBQUM7UUFUMUMsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNkLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMkJBQXNCLEdBQXRCLHNC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
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9zZXF1ZW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckcsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBV3BCLFlBQ1UsU0FBc0IsRUFDdEIsY0FBcUMsRUFDckMsU0FBYyxFQUNkLFVBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUN4QyxzQkFBOEMsRUFDdEQsU0FBMEIsRUFBRSxFQUNwQixtQkFBbUIsVUFBVSxDQUFDLElBQUksRUFDbEMsTUFBTSxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztRQVYxQyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2QsZUFBVSxHQUFWLFVB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
@@ -0,0 +1,22 @@
1
+ import { Tx } from '@aztec/circuit-types';
2
+ import { AztecAddress, EthAddress, Fr, GlobalVariables } from '@aztec/circuits.js';
3
+ import { ProcessedTx } from './processed_tx.js';
4
+ /** A source of what nullifiers have been committed to the state trees */
5
+ export interface NullifierSource {
6
+ getNullifierIndex: (nullifier: Fr) => Promise<bigint | undefined>;
7
+ }
8
+ /** Provides a view into public contract state */
9
+ export interface PublicStateSource {
10
+ storageRead: (contractAddress: AztecAddress, slot: Fr) => Promise<Fr>;
11
+ }
12
+ export declare class TxValidator {
13
+ #private;
14
+ constructor(nullifierSource: NullifierSource, publicStateSource: PublicStateSource, gasPortalAddress: EthAddress, globalVariables: GlobalVariables, log?: import("@aztec/foundation/log").DebugLogger);
15
+ /**
16
+ * Validates a list of transactions.
17
+ * @param txs - The transactions to validate.
18
+ * @returns A tuple of valid and invalid transactions.
19
+ */
20
+ validateTxs<T extends Tx | ProcessedTx>(txs: T[]): Promise<[validTxs: T[], invalidTxs: T[]]>;
21
+ }
22
+ //# sourceMappingURL=tx_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx_validator.d.ts","sourceRoot":"","sources":["../../src/sequencer/tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMnF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnE;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;CACvE;AAaD,qBAAa,WAAW;;gBAQpB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,UAAU,EAC5B,eAAe,EAAE,eAAe,EAChC,GAAG,8CAAoD;IAUzD;;;;OAIG;IACU,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;CAmI1G"}