@aztec/txe 0.0.1-commit.03f7ef2 → 0.0.1-commit.0b941701

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 (73) hide show
  1. package/dest/constants.d.ts +3 -0
  2. package/dest/constants.d.ts.map +1 -0
  3. package/dest/constants.js +2 -0
  4. package/dest/oracle/interfaces.d.ts +2 -2
  5. package/dest/oracle/interfaces.d.ts.map +1 -1
  6. package/dest/oracle/txe_oracle_public_context.d.ts +2 -2
  7. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  8. package/dest/oracle/txe_oracle_public_context.js +3 -2
  9. package/dest/oracle/txe_oracle_top_level_context.d.ts +16 -13
  10. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  11. package/dest/oracle/txe_oracle_top_level_context.js +77 -61
  12. package/dest/rpc_translator.d.ts +15 -9
  13. package/dest/rpc_translator.d.ts.map +1 -1
  14. package/dest/rpc_translator.js +49 -35
  15. package/dest/state_machine/archiver.d.ts +20 -67
  16. package/dest/state_machine/archiver.d.ts.map +1 -1
  17. package/dest/state_machine/archiver.js +57 -178
  18. package/dest/state_machine/dummy_p2p_client.d.ts +8 -7
  19. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  20. package/dest/state_machine/dummy_p2p_client.js +13 -10
  21. package/dest/state_machine/global_variable_builder.d.ts +2 -2
  22. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  23. package/dest/state_machine/global_variable_builder.js +1 -1
  24. package/dest/state_machine/index.d.ts +4 -4
  25. package/dest/state_machine/index.d.ts.map +1 -1
  26. package/dest/state_machine/index.js +28 -10
  27. package/dest/state_machine/mock_epoch_cache.d.ts +7 -6
  28. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  29. package/dest/state_machine/mock_epoch_cache.js +10 -7
  30. package/dest/state_machine/synchronizer.d.ts +3 -3
  31. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  32. package/dest/txe_session.d.ts +17 -14
  33. package/dest/txe_session.d.ts.map +1 -1
  34. package/dest/txe_session.js +86 -48
  35. package/dest/util/encoding.d.ts +17 -17
  36. package/dest/util/txe_account_store.d.ts +10 -0
  37. package/dest/util/txe_account_store.d.ts.map +1 -0
  38. package/dest/util/{txe_account_data_provider.js → txe_account_store.js} +1 -1
  39. package/dest/util/txe_contract_store.d.ts +12 -0
  40. package/dest/util/txe_contract_store.d.ts.map +1 -0
  41. package/dest/util/{txe_contract_data_provider.js → txe_contract_store.js} +3 -3
  42. package/dest/util/txe_public_contract_data_source.d.ts +4 -4
  43. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  44. package/dest/util/txe_public_contract_data_source.js +10 -10
  45. package/dest/utils/block_creation.d.ts +4 -4
  46. package/dest/utils/block_creation.d.ts.map +1 -1
  47. package/dest/utils/block_creation.js +16 -5
  48. package/dest/utils/tx_effect_creation.d.ts +2 -3
  49. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  50. package/dest/utils/tx_effect_creation.js +3 -6
  51. package/package.json +16 -16
  52. package/src/constants.ts +3 -0
  53. package/src/index.ts +1 -1
  54. package/src/oracle/interfaces.ts +1 -1
  55. package/src/oracle/txe_oracle_public_context.ts +3 -3
  56. package/src/oracle/txe_oracle_top_level_context.ts +110 -78
  57. package/src/rpc_translator.ts +53 -45
  58. package/src/state_machine/archiver.ts +52 -220
  59. package/src/state_machine/dummy_p2p_client.ts +18 -13
  60. package/src/state_machine/global_variable_builder.ts +1 -1
  61. package/src/state_machine/index.ts +30 -8
  62. package/src/state_machine/mock_epoch_cache.ts +10 -11
  63. package/src/state_machine/synchronizer.ts +2 -2
  64. package/src/txe_session.ts +165 -86
  65. package/src/util/{txe_account_data_provider.ts → txe_account_store.ts} +1 -1
  66. package/src/util/{txe_contract_data_provider.ts → txe_contract_store.ts} +3 -3
  67. package/src/util/txe_public_contract_data_source.ts +9 -9
  68. package/src/utils/block_creation.ts +17 -16
  69. package/src/utils/tx_effect_creation.ts +3 -11
  70. package/dest/util/txe_account_data_provider.d.ts +0 -10
  71. package/dest/util/txe_account_data_provider.d.ts.map +0 -1
  72. package/dest/util/txe_contract_data_provider.d.ts +0 -12
  73. package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
@@ -0,0 +1,3 @@
1
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
2
+ export declare const DEFAULT_ADDRESS: AztecAddress;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxlQUFPLE1BQU0sZUFBZSxjQUE4QixDQUFDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,eAAO,MAAM,eAAe,cAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
2
+ export const DEFAULT_ADDRESS = AztecAddress.fromNumber(42);
@@ -27,7 +27,7 @@ export interface IAvmExecutionOracle {
27
27
  avmOpcodeEmitNoteHash(noteHash: Fr): Promise<void>;
28
28
  avmOpcodeNullifierExists(innerNullifier: Fr, targetAddress: AztecAddress): Promise<boolean>;
29
29
  avmOpcodeStorageWrite(slot: Fr, value: Fr): Promise<void>;
30
- avmOpcodeStorageRead(slot: Fr): Promise<Fr>;
30
+ avmOpcodeStorageRead(slot: Fr, contractAddress: AztecAddress): Promise<Fr>;
31
31
  }
32
32
  /**
33
33
  * Oracle methods associated with the execution of an Aztec Noir test.
@@ -54,4 +54,4 @@ export interface ITxeExecutionOracle {
54
54
  txeSimulateUtilityFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, args: Fr[]): Promise<Fr[]>;
55
55
  txePublicCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<Fr[]>;
56
56
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVFsRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUM7SUFFWixnQkFBZ0IsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0Msa0JBQWtCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsZ0JBQWdCLElBQUksT0FBTyxDQUFD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
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVFsRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUM7SUFFWixnQkFBZ0IsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0Msa0JBQWtCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsZ0JBQWdCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELHFCQUFxQixDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELHdCQUF3QixDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUYscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0NBQzVFO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUM7SUFFWixvQkFBb0IsSUFBSSxZQUFZLENBQUM7SUFDckMscUJBQXFCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUM5QyxTQUFTLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxhQUFhLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxhQUFhLENBQ1gsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixRQUFRLEVBQUUsMkJBQTJCLEVBQ3JDLE1BQU0sRUFBRSxFQUFFLEdBQ1QsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVCLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsd0JBQXdCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQztRQUM3QixNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQ2YsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUNsQixDQUFDLENBQUM7SUFDSCxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILHFCQUFxQixDQUNuQixJQUFJLEVBQUUsWUFBWSxFQUNsQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ1YsUUFBUSxFQUFFLEVBQUUsRUFDWixZQUFZLEVBQUUsT0FBTyxHQUNwQixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQiwwQkFBMEIsQ0FDeEIscUJBQXFCLEVBQUUsWUFBWSxFQUNuQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUNULE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLG9CQUFvQixDQUNsQixJQUFJLEVBQUUsWUFBWSxFQUNsQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFDZCxZQUFZLEVBQUUsT0FBTyxHQUNwQixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztDQUNsQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/oracle/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/oracle/interfaces.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,8 @@ export declare class TXEOraclePublicContext implements IAvmExecutionOracle {
27
27
  avmOpcodeEmitNoteHash(noteHash: Fr): Promise<void>;
28
28
  avmOpcodeNullifierExists(innerNullifier: Fr, targetAddress: AztecAddress): Promise<boolean>;
29
29
  avmOpcodeStorageWrite(slot: Fr, value: Fr): Promise<void>;
30
- avmOpcodeStorageRead(slot: Fr): Promise<Fr>;
30
+ avmOpcodeStorageRead(slot: Fr, contractAddress: AztecAddress): Promise<Fr>;
31
31
  close(): Promise<L2Block>;
32
32
  private makeTxEffect;
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV9wdWJsaWNfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3B1YmxpY19jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFFTCxLQUFLLHlCQUF5QixFQUcvQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFHckUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxxQkFBYSxzQkFBdUIsWUFBVyxtQkFBbUI7SUFTOUQsT0FBTyxDQUFDLGVBQWU7SUFDdkIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsZUFBZTtJQVh6QixLQUFLLE9BQWlCO0lBRXRCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFDdkIsT0FBTyxDQUFDLHlCQUF5QixDQUFZO0lBQzdDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBWTtJQUM3QyxPQUFPLENBQUMsZ0JBQWdCLENBQXlCO0lBRWpELFlBQ1UsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQzNDLGFBQWEsRUFBRSxFQUFFLEVBQ2pCLGVBQWUsRUFBRSxlQUFlLEVBU3pDO0lBRUQsZ0JBQWdCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUV4QztJQUVELGVBQWUsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRXZDO0lBRUQsb0JBQW9CLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUUzQztJQUVELGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFcEM7SUFFRCxxQkFBcUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXhDO0lBRUQsZ0JBQWdCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUU5QjtJQUVELGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFOUI7SUFFSyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxpQkFHekM7SUFFSyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxpQkFJdkM7SUFFSyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVNoRztJQUVLLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsaUJBVTlDO0lBRUssb0JBQW9CLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBcUJoRDtJQUVLLEtBQUssSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBa0I5QjtJQUVELE9BQU8sQ0FBQyxZQUFZO0NBYXJCIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV9wdWJsaWNfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3B1YmxpY19jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFFTCxLQUFLLHlCQUF5QixFQUcvQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFHckUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxxQkFBYSxzQkFBdUIsWUFBVyxtQkFBbUI7SUFTOUQsT0FBTyxDQUFDLGVBQWU7SUFDdkIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsZUFBZTtJQVh6QixLQUFLLE9BQWlCO0lBRXRCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFDdkIsT0FBTyxDQUFDLHlCQUF5QixDQUFZO0lBQzdDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBWTtJQUM3QyxPQUFPLENBQUMsZ0JBQWdCLENBQXlCO0lBRWpELFlBQ1UsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQzNDLGFBQWEsRUFBRSxFQUFFLEVBQ2pCLGVBQWUsRUFBRSxlQUFlLEVBU3pDO0lBRUQsZ0JBQWdCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUV4QztJQUVELGVBQWUsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRXZDO0lBRUQsb0JBQW9CLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUUzQztJQUVELGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFcEM7SUFFRCxxQkFBcUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXhDO0lBRUQsZ0JBQWdCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUU5QjtJQUVELGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFOUI7SUFFSyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxpQkFHekM7SUFFSyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxpQkFJdkM7SUFFSyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVNoRztJQUVLLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsaUJBVTlDO0lBRUssb0JBQW9CLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FxQi9FO0lBRUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FrQjlCO0lBRUQsT0FBTyxDQUFDLFlBQVk7Q0FhckIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"txe_oracle_public_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_public_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAEL,KAAK,yBAAyB,EAG/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAGrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,sBAAuB,YAAW,mBAAmB;IAS9D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,eAAe;IAXzB,KAAK,OAAiB;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,YACU,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,yBAAyB,EAC3C,aAAa,EAAE,EAAE,EACjB,eAAe,EAAE,eAAe,EASzC;IAED,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAExC;IAED,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAEvC;IAED,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3C;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEpC;IAED,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExC;IAED,gBAAgB,IAAI,OAAO,CAAC,EAAE,CAAC,CAE9B;IAED,gBAAgB,IAAI,OAAO,CAAC,EAAE,CAAC,CAE9B;IAEK,sBAAsB,CAAC,SAAS,EAAE,EAAE,iBAGzC;IAEK,qBAAqB,CAAC,QAAQ,EAAE,EAAE,iBAIvC;IAEK,wBAAwB,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAShG;IAEK,qBAAqB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,iBAU9C;IAEK,oBAAoB,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAqBhD;IAEK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB9B;IAED,OAAO,CAAC,YAAY;CAarB"}
1
+ {"version":3,"file":"txe_oracle_public_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_public_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAEL,KAAK,yBAAyB,EAG/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAGrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,sBAAuB,YAAW,mBAAmB;IAS9D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,eAAe;IAXzB,KAAK,OAAiB;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,YACU,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,yBAAyB,EAC3C,aAAa,EAAE,EAAE,EACjB,eAAe,EAAE,eAAe,EASzC;IAED,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAExC;IAED,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAEvC;IAED,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3C;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEpC;IAED,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExC;IAED,gBAAgB,IAAI,OAAO,CAAC,EAAE,CAAC,CAE9B;IAED,gBAAgB,IAAI,OAAO,CAAC,EAAE,CAAC,CAE9B;IAEK,sBAAsB,CAAC,SAAS,EAAE,EAAE,iBAGzC;IAEK,qBAAqB,CAAC,QAAQ,EAAE,EAAE,iBAIvC;IAEK,wBAAwB,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAShG;IAEK,qBAAqB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,iBAU9C;IAEK,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAqB/E;IAEK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB9B;IAED,OAAO,CAAC,YAAY;CAarB"}
@@ -81,12 +81,13 @@ export class TXEOraclePublicContext {
81
81
  new PublicDataTreeLeaf(dataWrite.leafSlot, dataWrite.value).toBuffer()
82
82
  ]);
83
83
  }
84
- async avmOpcodeStorageRead(slot) {
85
- const leafSlot = await computePublicDataTreeLeafSlot(this.contractAddress, slot);
84
+ async avmOpcodeStorageRead(slot, contractAddress) {
85
+ const leafSlot = await computePublicDataTreeLeafSlot(contractAddress, slot);
86
86
  const lowLeafResult = await this.forkedWorldTrees.getPreviousValueIndex(MerkleTreeId.PUBLIC_DATA_TREE, leafSlot.toBigInt());
87
87
  const value = !lowLeafResult || !lowLeafResult.alreadyPresent ? Fr.ZERO : (await this.forkedWorldTrees.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index)).leaf.value;
88
88
  this.logger.debug('AVM storage read', {
89
89
  slot,
90
+ contractAddress,
90
91
  value
91
92
  });
92
93
  return value;
@@ -1,7 +1,7 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { KeyStore } from '@aztec/key-store';
4
- import { AddressDataProvider, CapsuleDataProvider, NoteDataProvider, PrivateEventDataProvider, RecipientTaggingDataProvider, SenderTaggingDataProvider } from '@aztec/pxe/server';
4
+ import { AddressStore, CapsuleStore, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '@aztec/pxe/server';
5
5
  import { type IMiscOracle } from '@aztec/pxe/simulator';
6
6
  import { type ContractArtifact, EventSelector, FunctionSelector } from '@aztec/stdlib/abi';
7
7
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
@@ -10,20 +10,22 @@ import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
10
10
  import { TxHash } from '@aztec/stdlib/tx';
11
11
  import type { UInt64 } from '@aztec/stdlib/types';
12
12
  import type { TXEStateMachine } from '../state_machine/index.js';
13
- import type { TXEAccountDataProvider } from '../util/txe_account_data_provider.js';
14
- import type { TXEContractDataProvider } from '../util/txe_contract_data_provider.js';
13
+ import type { TXEAccountStore } from '../util/txe_account_store.js';
14
+ import type { TXEContractStore } from '../util/txe_contract_store.js';
15
15
  import type { ITxeExecutionOracle } from './interfaces.js';
16
16
  export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracle {
17
17
  private stateMachine;
18
- private contractDataProvider;
19
- private noteDataProvider;
18
+ private contractStore;
19
+ private noteStore;
20
20
  private keyStore;
21
- private addressDataProvider;
22
- private accountDataProvider;
23
- private senderTaggingDataProvider;
24
- private recipientTaggingDataProvider;
25
- private capsuleDataProvider;
26
- private privateEventDataProvider;
21
+ private addressStore;
22
+ private accountStore;
23
+ private senderTaggingStore;
24
+ private recipientTaggingStore;
25
+ private senderAddressBookStore;
26
+ private capsuleStore;
27
+ private privateEventStore;
28
+ private jobId;
27
29
  private nextBlockTimestamp;
28
30
  private version;
29
31
  private chainId;
@@ -31,7 +33,7 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
31
33
  isMisc: true;
32
34
  isTxe: true;
33
35
  private logger;
34
- constructor(stateMachine: TXEStateMachine, contractDataProvider: TXEContractDataProvider, noteDataProvider: NoteDataProvider, keyStore: KeyStore, addressDataProvider: AddressDataProvider, accountDataProvider: TXEAccountDataProvider, senderTaggingDataProvider: SenderTaggingDataProvider, recipientTaggingDataProvider: RecipientTaggingDataProvider, capsuleDataProvider: CapsuleDataProvider, privateEventDataProvider: PrivateEventDataProvider, nextBlockTimestamp: bigint, version: Fr, chainId: Fr, authwits: Map<string, AuthWitness>);
36
+ constructor(stateMachine: TXEStateMachine, contractStore: TXEContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, jobId: string, nextBlockTimestamp: bigint, version: Fr, chainId: Fr, authwits: Map<string, AuthWitness>);
35
37
  utilityAssertCompatibleOracleVersion(version: number): void;
36
38
  utilityGetRandomField(): Fr;
37
39
  utilityDebugLog(level: number, message: string, fields: Fr[]): void;
@@ -57,7 +59,8 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
57
59
  txePrivateCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress | undefined, functionSelector: FunctionSelector | undefined, args: Fr[], argsHash?: Fr, isStaticCall?: boolean): Promise<Fr[]>;
58
60
  txePublicCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<Fr[]>;
59
61
  txeSimulateUtilityFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, args: Fr[]): Promise<Fr[]>;
62
+ private executeUtilityCall;
60
63
  close(): [bigint, Map<string, AuthWitness>];
61
64
  private getLastBlockNumber;
62
65
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV90b3BfbGV2ZWxfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3RvcF9sZXZlbF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBRTFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUlMLEtBQUssV0FBVyxFQU1qQixNQUFNLHNCQUFzQixDQUFDO0FBZ0I5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSywyQkFBMkIsRUFBeUIsTUFBTSx3QkFBd0IsQ0FBQztBQVlqRyxPQUFPLEVBU0wsTUFBTSxFQUVQLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFD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
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV90b3BfbGV2ZWxfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3RvcF9sZXZlbF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUVULGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUduQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFJTCxLQUFLLFdBQVcsRUFNakIsTUFBTSxzQkFBc0IsQ0FBQztBQWdCOUIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsYUFBYSxFQUFnQixnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLDJCQUEyQixFQUF5QixNQUFNLHdCQUF3QixDQUFDO0FBWWpHLE9BQU8sRUFTTCxNQUFNLEVBRVAsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlsRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixD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
@@ -1 +1 @@
1
- {"version":3,"file":"txe_oracle_top_level_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_top_level_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txe_oracle_top_level_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_top_level_context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EAET,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAGnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,WAAW,EAMjB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAE,KAAK,gBAAgB,EAAE,aAAa,EAAgB,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,2BAA2B,EAAyB,MAAM,wBAAwB,CAAC;AAYjG,OAAO,EASL,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,wBAAyB,YAAW,WAAW,EAAE,mBAAmB;IAO7E,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IArBlB,MAAM,OAAiB;IACvB,KAAK,OAAiB;IAEtB,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,YAAY,EAAE,eAAe,EAC7B,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,eAAe,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAI3C;IAED,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM1D;IAID,qBAAqB,IAAI,EAAE,CAE1B;IAGD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAOlE;IAED,oBAAoB,IAAI,YAAY,CAEnC;IAEK,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAElD;IAED,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1C;IAEK,wBAAwB,oBAE7B;IAEK,mBAAmB;;;;OAYxB;IAEK,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,mBASpG;IAEK,kBAAkB,CAAC,MAAM,EAAE,MAAM,iBAMtC;IAED,qBAAqB,CAAC,QAAQ,EAAE,MAAM,QAGrC;IAEK,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,iBAkB5F;IAEK,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,6DAahG;IAEK,gBAAgB,CAAC,MAAM,EAAE,EAAE,6DAQhC;IAEK,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,iBAU7D;IAEK,SAAS,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAA;KAAO,iBAuBlD;IAEK,qBAAqB,CACzB,IAAI,EAAE,YAAY,EAClB,qBAAqB,0BAAoC,EACzD,gBAAgB,8BAA6C,EAC7D,IAAI,EAAE,EAAE,EAAE,EACV,QAAQ,GAAE,EAAc,EACxB,YAAY,GAAE,OAAe,iBA+M9B;IAEK,oBAAoB,CACxB,IAAI,EAAE,YAAY,EAClB,qBAAqB,EAAE,YAAY,EACnC,QAAQ,EAAE,EAAE,EAAE,EACd,YAAY,EAAE,OAAO,iBAyItB;IAEK,0BAA0B,CAC9B,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,EAAE,EAAE,iBAwBX;YAEa,kBAAkB;IAoDhC,KAAK,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAG1C;YAEa,kBAAkB;CAIjC"}
@@ -4,11 +4,11 @@ import { Schnorr } from '@aztec/foundation/crypto/schnorr';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { LogLevels, applyStringFormatting, createLogger } from '@aztec/foundation/log';
6
6
  import { TestDateProvider } from '@aztec/foundation/timer';
7
- import { ORACLE_VERSION, enrichPublicSimulationError } from '@aztec/pxe/server';
7
+ import { ORACLE_VERSION, enrichPublicSimulationError, syncState } from '@aztec/pxe/server';
8
8
  import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, Oracle, PrivateExecutionOracle, UtilityExecutionOracle, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
9
9
  import { ExecutionError, WASMSimulator, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
10
10
  import { CppPublicTxSimulator, GuardedMerkleTreeOperations, PublicContractsDB, PublicProcessor } from '@aztec/simulator/server';
11
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
11
+ import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
12
12
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
13
13
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
14
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -21,20 +21,22 @@ import { makeGlobalVariables } from '@aztec/stdlib/testing';
21
21
  import { MerkleTreeId } from '@aztec/stdlib/trees';
22
22
  import { CallContext, HashedValues, PrivateExecutionResult, Tx, TxConstantData, TxContext, TxEffect, TxHash, collectNested } from '@aztec/stdlib/tx';
23
23
  import { ForkCheckpoint } from '@aztec/world-state';
24
- import { DEFAULT_ADDRESS } from '../txe_session.js';
24
+ import { DEFAULT_ADDRESS } from '../constants.js';
25
25
  import { TXEPublicContractDataSource } from '../util/txe_public_contract_data_source.js';
26
26
  import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from '../utils/block_creation.js';
27
27
  export class TXEOracleTopLevelContext {
28
28
  stateMachine;
29
- contractDataProvider;
30
- noteDataProvider;
29
+ contractStore;
30
+ noteStore;
31
31
  keyStore;
32
- addressDataProvider;
33
- accountDataProvider;
34
- senderTaggingDataProvider;
35
- recipientTaggingDataProvider;
36
- capsuleDataProvider;
37
- privateEventDataProvider;
32
+ addressStore;
33
+ accountStore;
34
+ senderTaggingStore;
35
+ recipientTaggingStore;
36
+ senderAddressBookStore;
37
+ capsuleStore;
38
+ privateEventStore;
39
+ jobId;
38
40
  nextBlockTimestamp;
39
41
  version;
40
42
  chainId;
@@ -42,17 +44,19 @@ export class TXEOracleTopLevelContext {
42
44
  isMisc;
43
45
  isTxe;
44
46
  logger;
45
- constructor(stateMachine, contractDataProvider, noteDataProvider, keyStore, addressDataProvider, accountDataProvider, senderTaggingDataProvider, recipientTaggingDataProvider, capsuleDataProvider, privateEventDataProvider, nextBlockTimestamp, version, chainId, authwits){
47
+ constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobId, nextBlockTimestamp, version, chainId, authwits){
46
48
  this.stateMachine = stateMachine;
47
- this.contractDataProvider = contractDataProvider;
48
- this.noteDataProvider = noteDataProvider;
49
+ this.contractStore = contractStore;
50
+ this.noteStore = noteStore;
49
51
  this.keyStore = keyStore;
50
- this.addressDataProvider = addressDataProvider;
51
- this.accountDataProvider = accountDataProvider;
52
- this.senderTaggingDataProvider = senderTaggingDataProvider;
53
- this.recipientTaggingDataProvider = recipientTaggingDataProvider;
54
- this.capsuleDataProvider = capsuleDataProvider;
55
- this.privateEventDataProvider = privateEventDataProvider;
52
+ this.addressStore = addressStore;
53
+ this.accountStore = accountStore;
54
+ this.senderTaggingStore = senderTaggingStore;
55
+ this.recipientTaggingStore = recipientTaggingStore;
56
+ this.senderAddressBookStore = senderAddressBookStore;
57
+ this.capsuleStore = capsuleStore;
58
+ this.privateEventStore = privateEventStore;
59
+ this.jobId = jobId;
56
60
  this.nextBlockTimestamp = nextBlockTimestamp;
57
61
  this.version = version;
58
62
  this.chainId = chainId;
@@ -95,7 +99,8 @@ export class TXEOracleTopLevelContext {
95
99
  return (await this.stateMachine.node.getBlockHeader('latest')).globalVariables.timestamp;
96
100
  }
97
101
  async txeGetLastTxEffects() {
98
- const block = await this.stateMachine.archiver.getL2Block('latest');
102
+ const latestBlockNumber = await this.stateMachine.archiver.getBlockNumber();
103
+ const block = await this.stateMachine.archiver.getBlock(latestBlockNumber);
99
104
  if (block.body.txEffects.length != 1) {
100
105
  // Note that calls like env.mine() will result in blocks with no transactions, hitting this
101
106
  throw new Error(`Expected a single transaction in the last block, found ${block.body.txEffects.length}`);
@@ -108,7 +113,7 @@ export class TXEOracleTopLevelContext {
108
113
  };
109
114
  }
110
115
  async txeGetPrivateEvents(selector, contractAddress, scope) {
111
- return (await this.privateEventDataProvider.getPrivateEvents(selector, {
116
+ return (await this.privateEventStore.getPrivateEvents(selector, {
112
117
  contractAddress,
113
118
  scopes: [
114
119
  scope
@@ -137,32 +142,32 @@ export class TXEOracleTopLevelContext {
137
142
  if (!secret.equals(Fr.ZERO)) {
138
143
  await this.txeAddAccount(artifact, instance, secret);
139
144
  } else {
140
- await this.contractDataProvider.addContractInstance(instance);
141
- await this.contractDataProvider.addContractArtifact(instance.currentContractClassId, artifact);
145
+ await this.contractStore.addContractInstance(instance);
146
+ await this.contractStore.addContractArtifact(instance.currentContractClassId, artifact);
142
147
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
143
148
  }
144
149
  }
145
150
  async txeAddAccount(artifact, instance, secret) {
146
151
  const partialAddress = await computePartialAddress(instance);
147
152
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
148
- await this.contractDataProvider.addContractInstance(instance);
149
- await this.contractDataProvider.addContractArtifact(instance.currentContractClassId, artifact);
153
+ await this.contractStore.addContractInstance(instance);
154
+ await this.contractStore.addContractArtifact(instance.currentContractClassId, artifact);
150
155
  const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
151
- await this.accountDataProvider.setAccount(completeAddress.address, completeAddress);
152
- await this.addressDataProvider.addCompleteAddress(completeAddress);
156
+ await this.accountStore.setAccount(completeAddress.address, completeAddress);
157
+ await this.addressStore.addCompleteAddress(completeAddress);
153
158
  this.logger.debug(`Created account ${completeAddress.address}`);
154
159
  return completeAddress;
155
160
  }
156
161
  async txeCreateAccount(secret) {
157
162
  // This is a foot gun !
158
163
  const completeAddress = await this.keyStore.addAccount(secret, secret);
159
- await this.accountDataProvider.setAccount(completeAddress.address, completeAddress);
160
- await this.addressDataProvider.addCompleteAddress(completeAddress);
164
+ await this.accountStore.setAccount(completeAddress.address, completeAddress);
165
+ await this.addressStore.addCompleteAddress(completeAddress);
161
166
  this.logger.debug(`Created account ${completeAddress.address}`);
162
167
  return completeAddress;
163
168
  }
164
169
  async txeAddAuthWitness(address, messageHash) {
165
- const account = await this.accountDataProvider.getAccount(address);
170
+ const account = await this.accountStore.getAccount(address);
166
171
  const privateKey = await this.keyStore.getMasterSecretKey(account.publicKeys.masterIncomingViewingPublicKey);
167
172
  const schnorr = new Schnorr();
168
173
  const signature = await schnorr.constructSignature(messageHash.toBuffer(), privateKey);
@@ -195,26 +200,36 @@ export class TXEOracleTopLevelContext {
195
200
  await this.stateMachine.handleL2Block(block);
196
201
  }
197
202
  async txePrivateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false) {
198
- this.logger.verbose(`Executing external function ${await this.contractDataProvider.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
199
- const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
203
+ this.logger.verbose(`Executing external function ${await this.contractStore.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
204
+ const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
200
205
  if (!artifact) {
201
206
  const message = functionSelector.equals(await FunctionSelector.fromSignature('verify_private_authwit(Field)')) ? 'Found no account contract artifact for a private authwit check - use `create_contract_account` instead of `create_light_account` for authwit support.' : 'Function Artifact does not exist';
202
207
  throw new Error(message);
203
208
  }
209
+ // Sync notes before executing private function to discover notes from previous transactions
210
+ const utilityExecutor = async (call)=>{
211
+ await this.executeUtilityCall(call);
212
+ };
213
+ await syncState(targetContractAddress, this.contractStore, functionSelector, utilityExecutor);
204
214
  const blockNumber = await this.txeGetNextBlockNumber();
205
215
  const callContext = new CallContext(from, targetContractAddress, functionSelector, isStaticCall);
206
216
  const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
207
217
  const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT);
208
218
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
209
219
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
210
- const blockHeader = await this.stateMachine.anchorBlockDataProvider.getBlockHeader();
220
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
211
221
  const protocolNullifier = await computeProtocolNullifier(getSingleTxBlockRequestHash(blockNumber));
212
222
  const noteCache = new ExecutionNoteCache(protocolNullifier);
223
+ // In production, the account contract sets the min revertible counter before calling the app function.
224
+ // Since TXE bypasses the account contract, we simulate this by setting minRevertibleSideEffectCounter to 1,
225
+ // marking all side effects as revertible.
226
+ const minRevertibleSideEffectCounter = 1;
227
+ await noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
213
228
  const taggingIndexCache = new ExecutionTaggingIndexCache();
214
229
  const simulator = new WASMSimulator();
215
- const privateExecutionOracle = new PrivateExecutionOracle(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ blockHeader, /** List of transient auth witnesses to be used during this simulation */ Array.from(this.authwits.values()), /** List of transient auth witnesses to be used during this simulation */ [], HashedValuesCache.create([
230
+ const privateExecutionOracle = new PrivateExecutionOracle(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ blockHeader, utilityExecutor, /** List of transient auth witnesses to be used during this simulation */ Array.from(this.authwits.values()), /** List of transient auth witnesses to be used during this simulation */ [], HashedValuesCache.create([
216
231
  new HashedValues(args, argsHash)
217
- ]), noteCache, taggingIndexCache, this.contractDataProvider, this.noteDataProvider, this.keyStore, this.addressDataProvider, this.stateMachine.node, this.stateMachine.anchorBlockDataProvider, this.senderTaggingDataProvider, this.recipientTaggingDataProvider, this.capsuleDataProvider, this.privateEventDataProvider, 0, 1, undefined, undefined, /**
232
+ ]), noteCache, taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.stateMachine.node, this.stateMachine.anchorBlockStore, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.jobId, 0, minRevertibleSideEffectCounter, undefined, undefined, /**
218
233
  * In TXE, the typical transaction entrypoint is skipped, so we need to simulate the actions that such a
219
234
  * contract would perform, including setting senderForTags.
220
235
  */ from, simulator);
@@ -232,18 +247,16 @@ export class TXEOracleTopLevelContext {
232
247
  const calldata = await privateExecutionOracle.privateLoadFromExecutionCache(r.calldataHash);
233
248
  return new HashedValues(calldata, r.calldataHash);
234
249
  }));
235
- // TXE's top level context does not track side effect counters, and as such, minRevertibleSideEffectCounter is always 0.
236
- // This has the unfortunate consequence of always producing revertible nullifiers, which means we
237
- // must set the firstNullifierHint to Fr.ZERO so the txRequestHash is always used as nonce generator
238
- result = new PrivateExecutionResult(executionResult, Fr.ZERO, publicFunctionsCalldata);
250
+ noteCache.finish();
251
+ const nonceGenerator = noteCache.getNonceGenerator();
252
+ result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
239
253
  } catch (err) {
240
254
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
241
255
  }
242
- // According to the protocol rules, the nonce generator for the note hashes
243
- // can either be the first nullifier in the tx or the hash of the initial tx request
244
- // if there are none.
245
- const nonceGenerator = result.firstNullifier.equals(Fr.ZERO) ? protocolNullifier : result.firstNullifier;
246
- const { publicInputs } = await generateSimulatedProvingResult(result, nonceGenerator, this.contractDataProvider);
256
+ // According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
257
+ // the nonce generator for the note hashes.
258
+ // We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
259
+ const { publicInputs } = await generateSimulatedProvingResult(result, this.contractStore, minRevertibleSideEffectCounter);
247
260
  const globals = makeGlobalVariables();
248
261
  globals.blockNumber = blockNumber;
249
262
  globals.timestamp = this.nextBlockTimestamp;
@@ -251,7 +264,7 @@ export class TXEOracleTopLevelContext {
251
264
  globals.version = this.version;
252
265
  globals.gasFees = GasFees.empty();
253
266
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
254
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
267
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore));
255
268
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
256
269
  const config = PublicSimulatorConfig.from({
257
270
  skipFeeEnforcement: true,
@@ -281,7 +294,7 @@ export class TXEOracleTopLevelContext {
281
294
  } else if (!processedTx.revertCode.isOK()) {
282
295
  if (processedTx.revertReason) {
283
296
  try {
284
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
297
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
285
298
  // eslint-disable-next-line no-empty
286
299
  } catch {}
287
300
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -311,13 +324,13 @@ export class TXEOracleTopLevelContext {
311
324
  return executionResult.returnValues ?? [];
312
325
  }
313
326
  async txePublicCallNewFlow(from, targetContractAddress, calldata, isStaticCall) {
314
- this.logger.verbose(`Executing public function ${await this.contractDataProvider.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
327
+ this.logger.verbose(`Executing public function ${await this.contractStore.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
315
328
  const blockNumber = await this.txeGetNextBlockNumber();
316
329
  const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
317
330
  const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT);
318
331
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
319
332
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
320
- const anchorBlockHeader = await this.stateMachine.anchorBlockDataProvider.getBlockHeader();
333
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
321
334
  const calldataHash = await computeCalldataHash(calldata);
322
335
  const calldataHashedValues = new HashedValues(calldata, calldataHash);
323
336
  const globals = makeGlobalVariables();
@@ -327,7 +340,7 @@ export class TXEOracleTopLevelContext {
327
340
  globals.version = this.version;
328
341
  globals.gasFees = GasFees.empty();
329
342
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
330
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
343
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore));
331
344
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
332
345
  const config = PublicSimulatorConfig.from({
333
346
  skipFeeEnforcement: true,
@@ -373,7 +386,7 @@ export class TXEOracleTopLevelContext {
373
386
  } else if (!processedTx.revertCode.isOK()) {
374
387
  if (processedTx.revertReason) {
375
388
  try {
376
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
389
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
377
390
  // eslint-disable-next-line no-empty
378
391
  } catch {}
379
392
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -404,16 +417,19 @@ export class TXEOracleTopLevelContext {
404
417
  return returnValues ?? [];
405
418
  }
406
419
  async txeSimulateUtilityFunction(targetContractAddress, functionSelector, args) {
407
- const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
420
+ const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
408
421
  if (!artifact) {
409
422
  throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
410
423
  }
411
- const call = {
412
- name: artifact.name,
413
- selector: functionSelector,
414
- to: targetContractAddress
415
- };
416
- const entryPointArtifact = await this.contractDataProvider.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
424
+ // Sync notes before executing utility function to discover notes from previous transactions
425
+ await syncState(targetContractAddress, this.contractStore, functionSelector, async (call)=>{
426
+ await this.executeUtilityCall(call);
427
+ });
428
+ const call = new FunctionCall(artifact.name, targetContractAddress, functionSelector, FunctionType.UTILITY, false, false, args, []);
429
+ return this.executeUtilityCall(call);
430
+ }
431
+ async executeUtilityCall(call) {
432
+ const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
417
433
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
418
434
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
419
435
  }
@@ -422,9 +438,9 @@ export class TXEOracleTopLevelContext {
422
438
  selector: call.selector
423
439
  });
424
440
  try {
425
- const anchorBlockHeader = await this.stateMachine.anchorBlockDataProvider.getBlockHeader();
426
- const oracle = new UtilityExecutionOracle(call.to, [], [], anchorBlockHeader, this.contractDataProvider, this.noteDataProvider, this.keyStore, this.addressDataProvider, this.stateMachine.node, this.stateMachine.anchorBlockDataProvider, this.senderTaggingDataProvider, this.recipientTaggingDataProvider, this.capsuleDataProvider, this.privateEventDataProvider);
427
- const acirExecutionResult = await new WASMSimulator().executeUserCircuit(toACVMWitness(0, args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
441
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
442
+ const oracle = new UtilityExecutionOracle(call.to, [], [], anchorBlockHeader, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.stateMachine.node, this.stateMachine.anchorBlockStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.jobId);
443
+ const acirExecutionResult = await new WASMSimulator().executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
428
444
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
429
445
  throw new ExecutionError(err.message, {
430
446
  contractAddress: call.to,