@aztec/txe 5.0.0-rc.2 → 5.0.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 (108) hide show
  1. package/dest/AuthRegistry-FSRZIMX6.js +3 -0
  2. package/dest/AuthRegistry-FSRZIMX6.js.map +7 -0
  3. package/dest/ContractClassRegistry-N6NA3SFA.js +3 -0
  4. package/dest/ContractClassRegistry-N6NA3SFA.js.map +7 -0
  5. package/dest/ContractInstanceRegistry-NADDSLGL.js +3 -0
  6. package/dest/ContractInstanceRegistry-NADDSLGL.js.map +7 -0
  7. package/dest/FeeJuice-QBH5JWJV.js +3 -0
  8. package/dest/FeeJuice-QBH5JWJV.js.map +7 -0
  9. package/dest/HandshakeRegistry-KKUEU7XW.js +3 -0
  10. package/dest/HandshakeRegistry-KKUEU7XW.js.map +7 -0
  11. package/dest/MultiCallEntrypoint-TGICA67H.js +3 -0
  12. package/dest/MultiCallEntrypoint-TGICA67H.js.map +7 -0
  13. package/dest/SchnorrAccount-J5T6OKR3.js +3 -0
  14. package/dest/SchnorrAccount-J5T6OKR3.js.map +7 -0
  15. package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js +3 -0
  16. package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js.map +7 -0
  17. package/dest/bin/index.js +1 -1
  18. package/dest/bin/oracle_test_server.js +1 -1
  19. package/dest/{chunk-I6DL4FT2.js → chunk-PDOEF22H.js} +2 -2
  20. package/dest/{chunk-I6DL4FT2.js.map → chunk-PDOEF22H.js.map} +3 -3
  21. package/dest/chunk-YP4ODNMQ.js +268 -0
  22. package/dest/chunk-YP4ODNMQ.js.map +7 -0
  23. package/dest/index.d.ts +1 -1
  24. package/dest/index.d.ts.map +1 -1
  25. package/dest/index.js +5 -3
  26. package/dest/metafile.json +3419 -2900
  27. package/dest/oracle/interfaces.d.ts +11 -7
  28. package/dest/oracle/interfaces.d.ts.map +1 -1
  29. package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
  30. package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
  31. package/dest/oracle/tagging_secret_strategy.js +12 -0
  32. package/dest/oracle/test-resolver/default_fixtures.d.ts +3 -3
  33. package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -1
  34. package/dest/oracle/test-resolver/default_fixtures.js +54 -11
  35. package/dest/oracle/test-resolver/resolver.d.ts +1 -1
  36. package/dest/oracle/test-resolver/resolver.js +39 -2
  37. package/dest/oracle/txe_oracle_public_context.d.ts +6 -6
  38. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  39. package/dest/oracle/txe_oracle_public_context.js +15 -9
  40. package/dest/oracle/txe_oracle_registry.d.ts +19 -16
  41. package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
  42. package/dest/oracle/txe_oracle_registry.js +51 -17
  43. package/dest/oracle/txe_oracle_top_level_context.d.ts +8 -6
  44. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  45. package/dest/oracle/txe_oracle_top_level_context.js +47 -31
  46. package/dest/oracle/txe_oracle_version.d.ts +3 -3
  47. package/dest/oracle/txe_oracle_version.js +3 -3
  48. package/dest/rpc_translator.d.ts +7 -5
  49. package/dest/rpc_translator.d.ts.map +1 -1
  50. package/dest/rpc_translator.js +28 -12
  51. package/dest/server.bundle.js +1 -1
  52. package/dest/state_machine/dummy_p2p_client.d.ts +2 -1
  53. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  54. package/dest/state_machine/dummy_p2p_client.js +3 -0
  55. package/dest/state_machine/index.d.ts +4 -3
  56. package/dest/state_machine/index.d.ts.map +1 -1
  57. package/dest/state_machine/index.js +7 -4
  58. package/dest/state_machine/synchronizer.d.ts +3 -1
  59. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  60. package/dest/state_machine/synchronizer.js +3 -0
  61. package/dest/txe_session.d.ts +2 -2
  62. package/dest/txe_session.d.ts.map +1 -1
  63. package/dest/txe_session.js +28 -14
  64. package/dest/utils/encoding.d.ts +4 -3
  65. package/dest/utils/encoding.d.ts.map +1 -1
  66. package/dest/utils/tx_effect_creation.d.ts +1 -1
  67. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  68. package/dest/utils/tx_effect_creation.js +0 -1
  69. package/dest/utils/txe_public_contract_data_source.d.ts +1 -1
  70. package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -1
  71. package/dest/utils/txe_public_contract_data_source.js +7 -4
  72. package/dest/worker.bundle.js +1 -1
  73. package/package.json +17 -17
  74. package/src/bin/oracle_test_server.ts +1 -1
  75. package/src/index.ts +5 -3
  76. package/src/oracle/interfaces.ts +13 -6
  77. package/src/oracle/tagging_secret_strategy.ts +25 -0
  78. package/src/oracle/test-resolver/default_fixtures.ts +73 -17
  79. package/src/oracle/test-resolver/resolver.ts +49 -2
  80. package/src/oracle/txe_oracle_public_context.ts +13 -11
  81. package/src/oracle/txe_oracle_registry.ts +54 -9
  82. package/src/oracle/txe_oracle_top_level_context.ts +82 -31
  83. package/src/oracle/txe_oracle_version.ts +3 -3
  84. package/src/rpc_translator.ts +33 -13
  85. package/src/state_machine/dummy_p2p_client.ts +4 -0
  86. package/src/state_machine/index.ts +19 -2
  87. package/src/state_machine/synchronizer.ts +5 -0
  88. package/src/txe_session.ts +50 -12
  89. package/src/utils/tx_effect_creation.ts +0 -2
  90. package/src/utils/txe_public_contract_data_source.ts +6 -4
  91. package/dest/AuthRegistry-URXCCPYF.js +0 -3
  92. package/dest/AuthRegistry-URXCCPYF.js.map +0 -7
  93. package/dest/ContractClassRegistry-5RDBM6TC.js +0 -3
  94. package/dest/ContractClassRegistry-5RDBM6TC.js.map +0 -7
  95. package/dest/ContractInstanceRegistry-GCR4G4D7.js +0 -3
  96. package/dest/ContractInstanceRegistry-GCR4G4D7.js.map +0 -7
  97. package/dest/FeeJuice-O3KOSZO5.js +0 -3
  98. package/dest/FeeJuice-O3KOSZO5.js.map +0 -7
  99. package/dest/HandshakeRegistry-TXSMHMNY.js +0 -3
  100. package/dest/HandshakeRegistry-TXSMHMNY.js.map +0 -7
  101. package/dest/MultiCallEntrypoint-P4FSRXAD.js +0 -3
  102. package/dest/MultiCallEntrypoint-P4FSRXAD.js.map +0 -7
  103. package/dest/SchnorrAccount-AQZX7ROU.js +0 -3
  104. package/dest/SchnorrAccount-AQZX7ROU.js.map +0 -7
  105. package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js +0 -3
  106. package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js.map +0 -7
  107. package/dest/chunk-IAO54JS2.js +0 -266
  108. package/dest/chunk-IAO54JS2.js.map +0 -7
@@ -2,7 +2,7 @@
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { Point } from '@aztec/foundation/curves/grumpkin';
4
4
  import { withHexPrefix, withoutHexPrefix } from '@aztec/foundation/string';
5
- import { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, ETH_ADDRESS, FIELD, FUNCTION_SELECTOR, OPTION, ORACLE_REGISTRY, STR, U32, makeEntry } from '@aztec/pxe/simulator';
5
+ import { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, ETH_ADDRESS, FIELD, FIXED_ARRAY, FUNCTION_SELECTOR, OPTION, ORACLE_REGISTRY, STR, STRUCT, U32, buildACIRCallback, makeEntry } from '@aztec/pxe/simulator';
6
6
  import { EventSelector } from '@aztec/stdlib/abi';
7
7
  import { GasSettings } from '@aztec/stdlib/gas';
8
8
  import { MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY, MAX_OFFCHAIN_EFFECT_LEN, MAX_PRIVATE_EVENTS_PER_TXE_QUERY, MAX_PRIVATE_EVENT_LEN } from '../constants.js';
@@ -17,11 +17,12 @@ const GAS_SETTINGS = {
17
17
  ]
18
18
  };
19
19
  // Tagging secret strategy discriminants. Must match the Noir test helper `TaggingSecretStrategy` in
20
- // aztec-nr `test/helpers/tagging_secret_strategy.nr`. This is a test-only oracle (only `set_tagging_secret_strategy`
20
+ // aztec-nr `test/helpers/tagging_secret_strategy.nr`. This is a test-only oracle (only `set_tagging_secret_strategies`
21
21
  // reads it), so the mapping lives here on the TXE side rather than in the production oracle type mappings.
22
22
  const STRATEGY_NON_INTERACTIVE_HANDSHAKE = 1;
23
23
  const STRATEGY_ARBITRARY_SECRET = 2;
24
24
  const STRATEGY_ADDRESS_DERIVED = 3;
25
+ const STRATEGY_INTERACTIVE_HANDSHAKE = 4;
25
26
  const TAGGING_SECRET_STRATEGY = {
26
27
  serialization: {
27
28
  fn: (strategy)=>{
@@ -32,6 +33,12 @@ const TAGGING_SECRET_STRATEGY = {
32
33
  Fr.ZERO,
33
34
  Fr.ZERO
34
35
  ];
36
+ case 'interactive-handshake':
37
+ return [
38
+ new Fr(STRATEGY_INTERACTIVE_HANDSHAKE),
39
+ Fr.ZERO,
40
+ Fr.ZERO
41
+ ];
35
42
  case 'address-derived':
36
43
  return [
37
44
  new Fr(STRATEGY_ADDRESS_DERIVED),
@@ -59,6 +66,10 @@ const TAGGING_SECRET_STRATEGY = {
59
66
  return {
60
67
  type: 'non-interactive-handshake'
61
68
  };
69
+ case STRATEGY_INTERACTIVE_HANDSHAKE:
70
+ return {
71
+ type: 'interactive-handshake'
72
+ };
62
73
  case STRATEGY_ADDRESS_DERIVED:
63
74
  return {
64
75
  type: 'address-derived'
@@ -177,18 +188,16 @@ const TXE_CALL_CONTEXT = {
177
188
  'scalar'
178
189
  ]
179
190
  };
180
- const CONTRACT_INSTANCE_MEMBER = {
181
- serialization: {
182
- fn: ({ member, exists })=>[
183
- member,
184
- new Fr(exists)
185
- ]
191
+ const CONTRACT_INSTANCE_MEMBER = FIXED_ARRAY(STRUCT([
192
+ {
193
+ name: 'exists',
194
+ type: BOOL
186
195
  },
187
- shape: [
188
- 'scalar',
189
- 'scalar'
190
- ]
191
- };
196
+ {
197
+ name: 'member',
198
+ type: FIELD
199
+ }
200
+ ]), 1);
192
201
  const EVENT_SELECTOR = {
193
202
  serialization: {
194
203
  fn: (v)=>[
@@ -382,10 +391,14 @@ export const TXE_ORACLE_REGISTRY = {
382
391
  ],
383
392
  returnType: FIELD
384
393
  }),
385
- aztec_txe_setTaggingSecretStrategy: makeEntry({
394
+ aztec_txe_setTaggingSecretStrategies: makeEntry({
386
395
  params: [
387
396
  {
388
- name: 'strategy',
397
+ name: 'unconstrainedStrategy',
398
+ type: OPTION(TAGGING_SECRET_STRATEGY)
399
+ },
400
+ {
401
+ name: 'constrainedStrategy',
389
402
  type: OPTION(TAGGING_SECRET_STRATEGY)
390
403
  }
391
404
  ]
@@ -590,7 +603,7 @@ export const TXE_ORACLE_REGISTRY = {
590
603
  ]
591
604
  }),
592
605
  aztec_avm_returndataSize: makeEntry({
593
- returnType: FIELD
606
+ returnType: U32
594
607
  }),
595
608
  aztec_avm_returndataCopy: makeEntry({
596
609
  params: [
@@ -708,7 +721,28 @@ export function toInputSlots(inputs) {
708
721
  const named = entry.deserializeParams(toInputSlots(inputs));
709
722
  const positional = named.map((p)=>p.value);
710
723
  const result = await handler(positional);
711
- const outputSlots = entry.serializeReturn(result);
724
+ return outputSlotsToForeignCallResult(entry.serializeReturn(result));
725
+ }
726
+ /**
727
+ * Dispatches an oracle that has been retired into the PXE legacy registry. TXE has no explicit handler method for such
728
+ * names; this runs them through the same `buildACIRCallback` legacy path that contract execution already uses, so
729
+ * TXE's top-level oracle path and its in-contract path treat the legacy registry identically.
730
+ */ const legacyCallbacksByHandler = new WeakMap();
731
+ export async function callTxeLegacyHandler(oracle, inputs, oracleHandler) {
732
+ // `buildACIRCallback` materializes the whole real+legacy closure set, so memoize it per handler rather than
733
+ // rebuilding on every call (TXE routes one legacy oracle through here on each top-level discovery).
734
+ let callback = legacyCallbacksByHandler.get(oracleHandler);
735
+ if (!callback) {
736
+ callback = buildACIRCallback(oracleHandler);
737
+ legacyCallbacksByHandler.set(oracleHandler, callback);
738
+ }
739
+ const outputSlots = await callback[oracle](...toInputSlots(inputs));
740
+ return outputSlotsToForeignCallResult(outputSlots);
741
+ }
742
+ /**
743
+ * Strips the `0x` prefix from each serialized output slot (TXE foreign calls use bare hex strings) and wraps them in a
744
+ * `ForeignCallResult`.
745
+ */ function outputSlotsToForeignCallResult(outputSlots) {
712
746
  return {
713
747
  values: outputSlots.map((slot)=>Array.isArray(slot) ? slot.map(withoutHexPrefix) : withoutHexPrefix(slot))
714
748
  };
@@ -8,12 +8,14 @@ import { EventSelector, FunctionSelector } from '@aztec/stdlib/abi';
8
8
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
9
9
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
10
10
  import { GasSettings } from '@aztec/stdlib/gas';
11
+ import type { PrivateLog } from '@aztec/stdlib/logs';
11
12
  import { TxHash } from '@aztec/stdlib/tx';
12
13
  import type { UInt64 } from '@aztec/stdlib/types';
13
14
  import type { TXEStateMachine } from '../state_machine/index.js';
14
15
  import type { TXEAccountStore } from '../utils/txe_account_store.js';
15
16
  import type { TXEArtifactResolver } from '../utils/txe_artifact_resolver.js';
16
17
  import type { ITxeExecutionOracle } from './interfaces.js';
18
+ import { type TXETaggingSecretStrategies } from './tagging_secret_strategy.js';
17
19
  export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracle {
18
20
  private stateMachine;
19
21
  private contractStore;
@@ -31,14 +33,14 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
31
33
  private version;
32
34
  private chainId;
33
35
  private authwits;
34
- private taggingSecretStrategy;
36
+ private taggingSecretStrategies;
35
37
  private readonly artifactResolver;
36
38
  private readonly rootPath;
37
39
  private readonly packageName;
38
40
  isMisc: true;
39
41
  isTxe: true;
40
42
  private logger;
41
- constructor(stateMachine: TXEStateMachine, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, taggingSecretSourcesStore: TaggingSecretSourcesStore, capsuleStore: CapsuleStore, factStore: FactStore, privateEventStore: PrivateEventStore, nextBlockTimestamp: bigint, version: Fr, chainId: Fr, authwits: Map<string, AuthWitness>, taggingSecretStrategy: TaggingSecretStrategy | undefined, artifactResolver: TXEArtifactResolver, rootPath: string, packageName: string);
43
+ constructor(stateMachine: TXEStateMachine, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, taggingSecretSourcesStore: TaggingSecretSourcesStore, capsuleStore: CapsuleStore, factStore: FactStore, privateEventStore: PrivateEventStore, nextBlockTimestamp: bigint, version: Fr, chainId: Fr, authwits: Map<string, AuthWitness>, taggingSecretStrategies: TXETaggingSecretStrategies, artifactResolver: TXEArtifactResolver, rootPath: string, packageName: string);
42
44
  private contractOracleVersion;
43
45
  assertCompatibleOracleVersion(major: number, minor: number): void;
44
46
  nonOracleFunctionGetContractOracleVersion(): {
@@ -55,7 +57,7 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
55
57
  txHash: TxHash;
56
58
  noteHashes: Fr[];
57
59
  nullifiers: Fr[];
58
- privateLogs: import("@aztec/stdlib/logs").PrivateLog[];
60
+ privateLogs: PrivateLog[];
59
61
  }>;
60
62
  syncContractNonOracleMethod(contractAddress: AztecAddress, scope: AztecAddress, jobId: string): Promise<void>;
61
63
  getPrivateEvents(selector: EventSelector, contractAddress: AztecAddress, scope: AztecAddress): Promise<Fr[][]>;
@@ -71,7 +73,7 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
71
73
  private registerContractAndAddAccount;
72
74
  createAccount(secret: Fr): Promise<import("@aztec/stdlib/contract").CompleteAddress>;
73
75
  addAuthWitness(address: AztecAddress, messageHash: Fr): Promise<void>;
74
- setTaggingSecretStrategy(strategy: Option<TaggingSecretStrategy>): void;
76
+ setTaggingSecretStrategies(unconstrainedStrategy: Option<TaggingSecretStrategy>, constrainedStrategy: Option<TaggingSecretStrategy>): void;
75
77
  sendL1ToL2Message(content: Fr, secretHash: Fr, sender: EthAddress, recipient: AztecAddress): Promise<Fr>;
76
78
  mineBlock(options?: {
77
79
  nullifiers?: Fr[];
@@ -84,8 +86,8 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
84
86
  publicCallNewFlow(from: AztecAddress | undefined, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean, gasSettings: GasSettings): Promise<Fr[]>;
85
87
  executeUtilityFunction(from: AztecAddress | undefined, targetContractAddress: AztecAddress, functionSelector: FunctionSelector, args: Fr[], jobId: string, authorizedUtilityCallTargets: AztecAddress[]): Promise<Fr[]>;
86
88
  private executeUtilityCall;
87
- close(): [bigint, Map<string, AuthWitness>, TaggingSecretStrategy | undefined];
89
+ close(): [bigint, Map<string, AuthWitness>, TXETaggingSecretStrategies];
88
90
  private getLastBlockNumber;
89
91
  private buildAuthorizeUtilityCallHook;
90
92
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV90b3BfbGV2ZWxfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3RvcF9sZXZlbF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxhQUFhLEVBR2xCLFNBQVMsRUFDVCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLEtBQUsscUJBQXFCLEVBRzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUtMLEtBQUssV0FBVyxFQUNoQixLQUFLLE1BQU0sRUFPWixNQUFNLHNCQUFzQixDQUFDO0FBZ0I5QixPQUFPLEVBQXlCLGFBQWEsRUFBZ0IsZ0JBQWdCLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQWdCLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBYTlELE9BQU8sRUFTTCxNQUFNLEVBRVAsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlsRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0QscUJBQWEsd0JBQXlCLFlBQVcsV0FBVyxFQUFFLG1CQUFtQjtJQU83RSxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxxQkFBcUI7SUFDN0IsT0FBTyxDQUFDLHlCQUF5QjtJQUNqQyxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxxQkFBcUI7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7SUFDakMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQXpCOUIsTUFBTSxPQUFpQjtJQUN2QixLQUFLLE9BQWlCO0lBRXRCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFDVSxZQUFZLEVBQUUsZUFBZSxFQUM3QixhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsU0FBUyxFQUNwQixRQUFRLEVBQUUsUUFBUSxFQUNsQixZQUFZLEVBQUUsWUFBWSxFQUMxQixZQUFZLEVBQUUsZUFBZSxFQUM3QixrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHlCQUF5QixFQUFFLHlCQUF5QixFQUNwRCxZQUFZLEVBQUUsWUFBWSxFQUMxQixTQUFTLEVBQUUsU0FBUyxFQUNwQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsa0JBQWtCLEVBQUUsTUFBTSxFQUMxQixPQUFPLEVBQUUsRUFBRSxFQUNYLE9BQU8sRUFBRSxFQUFFLEVBQ1gsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQ2xDLHFCQUFxQixFQUFFLHFCQUFxQixHQUFHLFNBQVMsRUFDL0MsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBSXJDO0lBRUQsT0FBTyxDQUFDLHFCQUFxQixDQUErQztJQUU1RSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQVdoRTtJQUdELHlDQUF5QyxJQUFJO1FBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLFNBQVMsQ0FFeEY7SUFJRCxjQUFjLElBQUksRUFBRSxDQUVuQjtJQUdELEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVFwRjtJQUVELGlCQUFpQixJQUFJLFlBQVksQ0FFaEM7SUFFSyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBRS9DO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV2QztJQUVLLHFCQUFxQixvQkFFMUI7SUFFSyxnQkFBZ0I7Ozs7O09Bc0JyQjtJQUVLLDJCQUEyQixDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFpQmxHO0lBRUssZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLG1CQWtCakc7SUFFSyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0saUJBTW5DO0lBRUQsa0JBQWtCLENBQUMsUUFBUSxFQUFFLE1BQU0sUUFHbEM7SUFFRCxPQUFPLENBQUMsbUJBQW1CO0lBSXJCLE1BQU0sQ0FDVixZQUFZLEVBQUUsTUFBTSxFQUNwQixXQUFXLEVBQUUsTUFBTSxFQUNuQixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ1YsTUFBTSxFQUFFLEVBQUUsRUFDVixJQUFJLEVBQUUsRUFBRSxFQUNSLFFBQVEsRUFBRSxZQUFZLEdBQ3JCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQTBCZjtJQUVEOztPQUVHO0lBQ0csd0JBQXdCLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxpQkFJdkQ7SUFFSyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsNkRBRzFCO1lBRWEsNkJBQTZCO0lBbUJyQyxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsNkRBUTdCO0lBRUssY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEVBQUUsaUJBVzFEO0lBRUQsd0JBQXdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLElBQUksQ0FFdEU7SUFFSyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FrQjdHO0lBRUssU0FBUyxDQUFDLE9BQU8sR0FBRTtRQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUE7S0FBTyxpQkF1QnpFO0lBRUssa0JBQWtCLENBQ3RCLElBQUksRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUM5QixxQkFBcUIsMEJBQW9DLEVBQ3pELGdCQUFnQiw4QkFBNkMsRUFDN0QsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUNWLFFBQVEsZ0JBQWdCLEVBQ3hCLFlBQVkscUJBQWlCLEVBQzdCLGdCQUFnQiw0QkFBcUIsRUFDckMsS0FBSyxFQUFFLE1BQU0sRUFDYiw0QkFBNEIsRUFBRSxZQUFZLEVBQUUsRUFDNUMsV0FBVyxFQUFFLFdBQVc7OztPQTBPekI7SUFFSyxpQkFBaUIsQ0FDckIsSUFBSSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUNkLFlBQVksRUFBRSxPQUFPLEVBQ3JCLFdBQVcsRUFBRSxXQUFXLGlCQStJekI7SUFFSyxzQkFBc0IsQ0FDMUIsSUFBSSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLDRCQUE0QixFQUFFLFlBQVksRUFBRSxpQkFxQzdDO1lBRWEsa0JBQWtCO0lBZ0ZoQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsR0FBRyxTQUFTLENBQUMsQ0FHN0U7WUFFYSxrQkFBa0I7SUFLaEMsT0FBTyxDQUFDLDZCQUE2QjtDQVl0QyJ9
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV90b3BfbGV2ZWxfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3RvcF9sZXZlbF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLFlBQVksRUFHWixZQUFZLEVBQ1osS0FBSyxhQUFhLEVBR2xCLFNBQVMsRUFDVCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLEtBQUsscUJBQXFCLEVBRzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUtMLEtBQUssV0FBVyxFQUNoQixLQUFLLE1BQU0sRUFPWixNQUFNLHNCQUFzQixDQUFDO0FBZ0I5QixPQUFPLEVBQXlCLGFBQWEsRUFBZ0IsZ0JBQWdCLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQWdCLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUzlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE9BQU8sRUFTTCxNQUFNLEVBRVAsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlsRCxPQUFP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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":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,YAAY,EAGZ,YAAY,EACZ,KAAK,aAAa,EAGlB,SAAS,EACT,SAAS,EAET,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,qBAAqB,EAG3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,MAAM,EAOZ,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAyB,aAAa,EAAgB,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAS9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,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;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,KAAK,0BAA0B,EAAwC,MAAM,8BAA8B,CAAC;AAErH,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,yBAAyB;IACjC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAzB9B,MAAM,OAAiB;IACvB,KAAK,OAAiB;IAEtB,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,YAAY,EAAE,eAAe,EAC7B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,eAAe,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,uBAAuB,EAAE,0BAA0B,EAC1C,gBAAgB,EAAE,mBAAmB,EACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAIrC;IAED,OAAO,CAAC,qBAAqB,CAA+C;IAE5E,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAWhE;IAGD,yCAAyC,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAExF;IAID,cAAc,IAAI,EAAE,CAEnB;IAGD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF;IAED,iBAAiB,IAAI,YAAY,CAEhC;IAEK,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/C;IAED,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvC;IAEK,qBAAqB,oBAE1B;IAEK,gBAAgB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAsBnH;IAEK,2BAA2B,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAiBlG;IAEK,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,mBAkBjG;IAEK,eAAe,CAAC,MAAM,EAAE,MAAM,iBAMnC;IAED,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAGlC;IAED,OAAO,CAAC,mBAAmB;IAIrB,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,EAAE,EAAE,EACV,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,EAAE,EACR,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,EAAE,EAAE,CAAC,CA0Bf;IAED;;OAEG;IACG,wBAAwB,CAAC,SAAS,EAAE,YAAY,EAAE,iBAIvD;IAEK,UAAU,CAAC,MAAM,EAAE,EAAE,6DAG1B;YAEa,6BAA6B;IAmBrC,aAAa,CAAC,MAAM,EAAE,EAAE,6DAQ7B;IAEK,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,iBAW1D;IAED,0BAA0B,CACxB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EACpD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC,GACjD,IAAI,CAUN;IAEK,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAkB7G;IAEK,SAAS,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAA;KAAO,iBAuBzE;IAEK,kBAAkB,CACtB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,qBAAqB,0BAAoC,EACzD,gBAAgB,8BAA6C,EAC7D,IAAI,EAAE,EAAE,EAAE,EACV,QAAQ,gBAAgB,EACxB,YAAY,qBAAiB,EAC7B,gBAAgB,4BAAqB,EACrC,KAAK,EAAE,MAAM,EACb,4BAA4B,EAAE,YAAY,EAAE,EAC5C,WAAW,EAAE,WAAW;;;OAoPzB;IAEK,iBAAiB,CACrB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,qBAAqB,EAAE,YAAY,EACnC,QAAQ,EAAE,EAAE,EAAE,EACd,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,iBA0JzB;IAEK,sBAAsB,CAC1B,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,EAAE,EAAE,EACV,KAAK,EAAE,MAAM,EACb,4BAA4B,EAAE,YAAY,EAAE,iBA2C7C;YAEa,kBAAkB;IAyFhC,KAAK,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,0BAA0B,CAAC,CAGtE;YAEa,kBAAkB;IAKhC,OAAO,CAAC,6BAA6B;CAYtC"}
@@ -4,7 +4,7 @@ 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 { CapsuleService, FactService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
7
+ import { AnchoredContractData, CapsuleService, FactService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
8
8
  import { CONTRACT_INSTANCE, ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, PrivateExecutionOracle, TransientArrayService, UtilityExecutionOracle, buildACIRCallback, 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';
@@ -16,7 +16,8 @@ import { computePartialAddress } from '@aztec/stdlib/contract';
16
16
  import { Gas, GasFees } from '@aztec/stdlib/gas';
17
17
  import { computeCalldataHash, computeProtocolNullifier, siloNullifier } from '@aztec/stdlib/hash';
18
18
  import { PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PublicCallRequest } from '@aztec/stdlib/kernel';
19
- import { hashPublicKey } from '@aztec/stdlib/keys';
19
+ import { deriveKeys, hashPublicKey } from '@aztec/stdlib/keys';
20
+ import { AppTaggingSecretKind } from '@aztec/stdlib/logs';
20
21
  import { L1Actor, L1ToL2Message, L2Actor } from '@aztec/stdlib/messaging';
21
22
  import { ChonkProof } from '@aztec/stdlib/proofs';
22
23
  import { makeGlobalVariables } from '@aztec/stdlib/testing';
@@ -26,6 +27,7 @@ import { ForkCheckpoint } from '@aztec/world-state/native';
26
27
  import { DEFAULT_ADDRESS, MAX_PRIVATE_EVENTS_PER_TXE_QUERY, MAX_PRIVATE_EVENT_LEN } from '../constants.js';
27
28
  import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from '../utils/block_creation.js';
28
29
  import { TXEPublicContractDataSource } from '../utils/txe_public_contract_data_source.js';
30
+ import { makeResolveTaggingSecretStrategyHook } from './tagging_secret_strategy.js';
29
31
  export class TXEOracleTopLevelContext {
30
32
  stateMachine;
31
33
  contractStore;
@@ -43,14 +45,14 @@ export class TXEOracleTopLevelContext {
43
45
  version;
44
46
  chainId;
45
47
  authwits;
46
- taggingSecretStrategy;
48
+ taggingSecretStrategies;
47
49
  artifactResolver;
48
50
  rootPath;
49
51
  packageName;
50
52
  isMisc;
51
53
  isTxe;
52
54
  logger;
53
- constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, taggingSecretStrategy, artifactResolver, rootPath, packageName){
55
+ constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, taggingSecretStrategies, artifactResolver, rootPath, packageName){
54
56
  this.stateMachine = stateMachine;
55
57
  this.contractStore = contractStore;
56
58
  this.noteStore = noteStore;
@@ -67,7 +69,7 @@ export class TXEOracleTopLevelContext {
67
69
  this.version = version;
68
70
  this.chainId = chainId;
69
71
  this.authwits = authwits;
70
- this.taggingSecretStrategy = taggingSecretStrategy;
72
+ this.taggingSecretStrategies = taggingSecretStrategies;
71
73
  this.artifactResolver = artifactResolver;
72
74
  this.rootPath = rootPath;
73
75
  this.packageName = packageName;
@@ -227,7 +229,7 @@ export class TXEOracleTopLevelContext {
227
229
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
228
230
  await this.contractStore.addContractInstance(instance);
229
231
  await this.contractStore.addContractArtifact(artifact);
230
- const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
232
+ const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), partialAddress);
231
233
  await this.accountStore.setAccount(completeAddress.address, completeAddress);
232
234
  await this.addressStore.addCompleteAddress(completeAddress);
233
235
  this.logger.debug(`Created account ${completeAddress.address}`);
@@ -235,7 +237,7 @@ export class TXEOracleTopLevelContext {
235
237
  }
236
238
  async createAccount(secret) {
237
239
  // This is a foot gun !
238
- const completeAddress = await this.keyStore.addAccount(secret, secret);
240
+ const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), secret);
239
241
  await this.accountStore.setAccount(completeAddress.address, completeAddress);
240
242
  await this.addressStore.addCompleteAddress(completeAddress);
241
243
  this.logger.debug(`Created account ${completeAddress.address}`);
@@ -250,8 +252,16 @@ export class TXEOracleTopLevelContext {
250
252
  const authWitness = new AuthWitness(messageHash, signature.toLimbFields());
251
253
  this.authwits.set(authWitness.requestHash.toString(), authWitness);
252
254
  }
253
- setTaggingSecretStrategy(strategy) {
254
- this.taggingSecretStrategy = strategy.value;
255
+ setTaggingSecretStrategies(unconstrainedStrategy, constrainedStrategy) {
256
+ const apply = (mode, strategy)=>{
257
+ if (strategy.isSome()) {
258
+ this.taggingSecretStrategies.set(mode, strategy.value);
259
+ } else {
260
+ this.taggingSecretStrategies.delete(mode);
261
+ }
262
+ };
263
+ apply(AppTaggingSecretKind.UNCONSTRAINED, unconstrainedStrategy);
264
+ apply(AppTaggingSecretKind.CONSTRAINED, constrainedStrategy);
255
265
  }
256
266
  async sendL1ToL2Message(content, secretHash, sender, recipient) {
257
267
  // Messages are appended to the tree, so the next free slot is simply the current tree size.
@@ -289,8 +299,10 @@ export class TXEOracleTopLevelContext {
289
299
  await this.stateMachine.handleL2Block(block, options.l1ToL2Messages ?? []);
290
300
  }
291
301
  async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false, additionalScopes = [], jobId, authorizedUtilityCallTargets, gasSettings) {
292
- this.logger.verbose(`Executing external function ${await this.contractStore.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
293
- const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
302
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
303
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
304
+ this.logger.verbose(`Executing external function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
305
+ const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
294
306
  if (!artifact) {
295
307
  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';
296
308
  throw new Error(message);
@@ -306,7 +318,6 @@ export class TXEOracleTopLevelContext {
306
318
  jobId
307
319
  });
308
320
  };
309
- const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
310
321
  await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, utilityExecutor, blockHeader, jobId, scopes);
311
322
  const blockNumber = await this.getNextBlockNumber();
312
323
  const msgSender = from ?? AztecAddress.NULL_MSG_SENDER;
@@ -322,10 +333,11 @@ export class TXEOracleTopLevelContext {
322
333
  const taggingIndexCache = new ExecutionTaggingIndexCache();
323
334
  const simulator = new WASMSimulator();
324
335
  const transientArrayService = new TransientArrayService();
325
- const taggingSecretStrategy = this.taggingSecretStrategy;
326
336
  const privateExecutionOracle = new PrivateExecutionOracle({
327
337
  argsHash,
328
338
  txContext,
339
+ // The TXE does not run the init kernel's salt binding, so no tx-request salt is in scope.
340
+ txRequestSalt: Fr.ZERO,
329
341
  callContext,
330
342
  anchorBlockHeader: blockHeader,
331
343
  utilityExecutor,
@@ -336,7 +348,7 @@ export class TXEOracleTopLevelContext {
336
348
  ]),
337
349
  noteCache,
338
350
  taggingIndexCache,
339
- contractStore: this.contractStore,
351
+ anchoredContractData,
340
352
  noteStore: this.noteStore,
341
353
  keyStore: this.keyStore,
342
354
  addressStore: this.addressStore,
@@ -360,9 +372,7 @@ export class TXEOracleTopLevelContext {
360
372
  l2TipsStore: this.stateMachine.l2TipsProvider,
361
373
  hooks: composeHooks({
362
374
  authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets),
363
- // Only configure the hook when a strategy was explicitly set, so that otherwise the default tagging secret
364
- // strategy is exercised.
365
- resolveTaggingSecretStrategy: taggingSecretStrategy ? ()=>Promise.resolve(taggingSecretStrategy) : undefined
375
+ resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
366
376
  }),
367
377
  transientArrayService
368
378
  });
@@ -380,7 +390,6 @@ export class TXEOracleTopLevelContext {
380
390
  const calldata = await privateExecutionOracle.getHashPreimage(r.calldataHash);
381
391
  return new HashedValues(calldata, r.calldataHash);
382
392
  }));
383
- noteCache.finish();
384
393
  const nonceGenerator = noteCache.getNonceGenerator();
385
394
  result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
386
395
  } catch (err) {
@@ -389,7 +398,7 @@ export class TXEOracleTopLevelContext {
389
398
  // According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
390
399
  // the nonce generator for the note hashes.
391
400
  // We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
392
- const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>this.contractStore.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
401
+ const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>anchoredContractData.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
393
402
  const globals = makeGlobalVariables();
394
403
  globals.blockNumber = blockNumber;
395
404
  globals.timestamp = this.nextBlockTimestamp;
@@ -428,7 +437,7 @@ export class TXEOracleTopLevelContext {
428
437
  } else if (!processedTx.revertCode.isOK()) {
429
438
  if (processedTx.revertReason) {
430
439
  try {
431
- await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
440
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, await this.stateMachine.anchorBlockStore.getBlockHeader(), this.logger);
432
441
  // eslint-disable-next-line no-empty
433
442
  } catch {}
434
443
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -471,10 +480,11 @@ export class TXEOracleTopLevelContext {
471
480
  };
472
481
  }
473
482
  async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
474
- this.logger.verbose(`Executing public function ${await this.contractStore.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
483
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
484
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
485
+ this.logger.verbose(`Executing public function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
475
486
  const blockNumber = await this.getNextBlockNumber();
476
487
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
477
- const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
478
488
  const calldataHash = await computeCalldataHash(calldata);
479
489
  const calldataHashedValues = new HashedValues(calldata, calldataHash);
480
490
  const globals = makeGlobalVariables();
@@ -531,7 +541,7 @@ export class TXEOracleTopLevelContext {
531
541
  } else if (!processedTx.revertCode.isOK()) {
532
542
  if (processedTx.revertReason) {
533
543
  try {
534
- await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
544
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader, this.logger);
535
545
  // eslint-disable-next-line no-empty
536
546
  } catch {}
537
547
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -562,12 +572,13 @@ export class TXEOracleTopLevelContext {
562
572
  return returnValues ?? [];
563
573
  }
564
574
  async executeUtilityFunction(from, targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
565
- const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
575
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
576
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
577
+ const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
566
578
  if (!artifact) {
567
579
  throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
568
580
  }
569
581
  // Sync notes before executing utility function to discover notes from previous transactions
570
- const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
571
582
  await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call, execScopes)=>{
572
583
  await this.executeUtilityCall(call, {
573
584
  scopes: execScopes,
@@ -592,7 +603,12 @@ export class TXEOracleTopLevelContext {
592
603
  });
593
604
  }
594
605
  async executeUtilityCall(call, { from = AztecAddress.NULL_MSG_SENDER, scopes, jobId, authorizedUtilityCallTargets = [] }) {
595
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
606
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
607
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
608
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
609
+ if (!entryPointArtifact) {
610
+ throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
611
+ }
596
612
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
597
613
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
598
614
  }
@@ -601,12 +617,12 @@ export class TXEOracleTopLevelContext {
601
617
  selector: call.selector
602
618
  });
603
619
  try {
604
- const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
605
620
  const simulator = new WASMSimulator();
606
621
  const utilityExecutor = async (syncCall, execScopes)=>{
607
622
  await this.executeUtilityCall(syncCall, {
608
623
  scopes: execScopes,
609
- jobId
624
+ jobId,
625
+ authorizedUtilityCallTargets
610
626
  });
611
627
  };
612
628
  const oracle = new UtilityExecutionOracle({
@@ -619,7 +635,7 @@ export class TXEOracleTopLevelContext {
619
635
  authWitnesses: [],
620
636
  capsules: [],
621
637
  anchorBlockHeader,
622
- contractStore: this.contractStore,
638
+ anchoredContractData,
623
639
  noteStore: this.noteStore,
624
640
  keyStore: this.keyStore,
625
641
  addressStore: this.addressStore,
@@ -635,10 +651,10 @@ export class TXEOracleTopLevelContext {
635
651
  jobId,
636
652
  scopes,
637
653
  simulator,
654
+ utilityExecutor,
638
655
  hooks: composeHooks({
639
656
  authorizeUtilityCall: this.buildAuthorizeUtilityCallHook('utility', authorizedUtilityCallTargets)
640
657
  }),
641
- utilityExecutor,
642
658
  // Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
643
659
  transientArrayService: new TransientArrayService()
644
660
  });
@@ -662,7 +678,7 @@ export class TXEOracleTopLevelContext {
662
678
  return [
663
679
  this.nextBlockTimestamp,
664
680
  this.authwits,
665
- this.taggingSecretStrategy
681
+ this.taggingSecretStrategies
666
682
  ];
667
683
  }
668
684
  async getLastBlockNumber() {
@@ -5,13 +5,13 @@
5
5
  *
6
6
  * The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
7
7
  */
8
- export declare const TXE_ORACLE_VERSION_MAJOR = 2;
9
- export declare const TXE_ORACLE_VERSION_MINOR = 2;
8
+ export declare const TXE_ORACLE_VERSION_MAJOR = 3;
9
+ export declare const TXE_ORACLE_VERSION_MINOR = 0;
10
10
  /**
11
11
  * This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
12
12
  * detect when those interfaces change. When it does, bump:
13
13
  * - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
14
14
  * - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
15
15
  */
16
- export declare const TXE_ORACLE_INTERFACE_HASH = "118698345ea9d368ca82ea574a051e72f4df0b85454539ade14838a934976b62";
16
+ export declare const TXE_ORACLE_INTERFACE_HASH = "bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859";
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JhY2xlL3R4ZV9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUMxQyxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx5QkFBeUIscUVBQXFFLENBQUMifQ==
@@ -4,11 +4,11 @@
4
4
  * oracles used during contract execution by PXE.
5
5
  *
6
6
  * The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
7
- */ export const TXE_ORACLE_VERSION_MAJOR = 2;
8
- export const TXE_ORACLE_VERSION_MINOR = 2;
7
+ */ export const TXE_ORACLE_VERSION_MAJOR = 3;
8
+ export const TXE_ORACLE_VERSION_MINOR = 0;
9
9
  /**
10
10
  * This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
11
11
  * detect when those interfaces change. When it does, bump:
12
12
  * - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
13
13
  * - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
14
- */ export const TXE_ORACLE_INTERFACE_HASH = '118698345ea9d368ca82ea574a051e72f4df0b85454539ade14838a934976b62';
14
+ */ export const TXE_ORACLE_INTERFACE_HASH = 'bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859';
@@ -38,7 +38,7 @@ export declare class RPCTranslator {
38
38
  aztec_txe_addAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
39
39
  aztec_txe_addAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
40
40
  aztec_txe_sendL1ToL2Message(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
41
- aztec_txe_setTaggingSecretStrategy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
41
+ aztec_txe_setTaggingSecretStrategies(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
42
42
  aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
43
43
  aztec_misc_getRandomField(): Promise<import("./utils/encoding.js").ForeignCallResult>;
44
44
  aztec_txe_getLastBlockTimestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -62,7 +62,7 @@ export declare class RPCTranslator {
62
62
  aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
63
63
  aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
64
64
  aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
65
- aztec_utl_getL1ToL2MembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
65
+ aztec_utl_getL1ToL2MembershipWitnessV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
66
66
  aztec_utl_getAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
67
67
  aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
68
68
  aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -71,10 +71,11 @@ export declare class RPCTranslator {
71
71
  aztec_utl_getBlockHeader(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
72
72
  aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
73
73
  aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
74
+ aztec_utl_areBlockHashesInArchive(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
74
75
  aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
75
- aztec_utl_getPendingTaggedLogs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
76
+ aztec_utl_getPendingTaggedLogsV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
76
77
  aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
77
- aztec_utl_getLogsByTag(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
78
+ aztec_utl_getLogsByTagV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
78
79
  aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
79
80
  aztec_utl_setCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
80
81
  aztec_utl_getCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -129,7 +130,8 @@ export declare class RPCTranslator {
129
130
  aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
130
131
  aztec_prv_getSenderForTags(): Promise<import("./utils/encoding.js").ForeignCallResult>;
131
132
  aztec_prv_resolveTaggingStrategy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
133
+ aztec_prv_resolveCustomRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
132
134
  aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
133
135
  aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
134
136
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFPRCwyQkFBMkIsNkRBTTFCO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELCtCQUErQiw2REFNOUI7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsZ0JBQWdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPMUM7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELG9CQUFvQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTlDO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELGtDQUFrQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTVEO0lBS0Qsd0NBQXdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEU7SUFHRCx5QkFBeUIsNkRBTXhCO0lBR0QsK0JBQStCLDZEQU05QjtJQUdELDBCQUEwQiw2REFNekI7SUFHRCxvQ0FBb0MsNkRBTW5DO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELDBCQUEwQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3BEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELGNBQWMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU14QztJQUdELDhCQUE4QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFHRCxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQTJDNUM7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3ZEO0lBR0QsZ0NBQWdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNMUQ7SUFHRCw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU90RDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNdkQ7SUFHRCx3Q0FBd0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRTtJQUdELGlDQUFpQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTNEO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFhdkQ7SUFHRCx1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRTtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxtQ0FBbUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU03RDtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBR0Qsc0NBQXNDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEU7SUFHRCwyQkFBMkIsNkRBTTFCO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxzQ0FBc0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRTtJQUdELHVDQUF1QyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT2pFO0lBR0QsMENBQTBDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPcEU7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU14RDtJQUdELGdEQUFnRCxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBVzFFO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQUdELG9CQUFvQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlDO0lBR0Qsb0JBQW9CLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPOUM7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHFCQUFxQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTy9DO0lBR0QsdUJBQXVCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNakQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTW5EO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTW5EO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQU9ELHVCQUF1QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWpEO0lBR0QsMEJBQTBCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPcEQ7SUFHRCxxQ0FBcUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU8vRDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBWXREO0lBR0Qsb0JBQW9CLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFlOUM7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDJCQUEyQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3JEO0lBR0Qsa0NBQWtDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPNUQ7SUFLRCx1QkFBdUIsNkRBT3RCO0lBR0QscUJBQXFCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNL0M7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHFDQUFxQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTS9EO0lBR0Qsb0NBQW9DLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNOUQ7SUFHRCwrQ0FBK0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU16RTtJQUdELDJDQUEyQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXJFO0lBR0QsZ0JBQWdCLDZEQU1mO0lBR0QsdUJBQXVCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNakQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTW5EO0lBR0QsaUJBQWlCLDZEQU1oQjtJQUdELHFCQUFxQiw2REFNcEI7SUFHRCxtQkFBbUIsNkRBTWxCO0lBR0Qsc0JBQXNCLDZEQU1yQjtJQUdELGlCQUFpQiw2REFNaEI7SUFHRCxpQkFBaUIsNkRBTWhCO0lBR0Qsd0JBQXdCLDZEQU12QjtJQUdELHdCQUF3QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWxEO0lBR0QsY0FBYyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hDO0lBR0Qsb0JBQW9CLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPOUM7SUFHRCxxQkFBcUIsNkRBTXBCO0lBR0QsNEJBQTRCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REEyQnREO0lBR0QsZ0NBQWdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFhMUQ7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELDBCQUEwQiw2REFNekI7SUFHRCxnQ0FBZ0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU8xRDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNdkQ7Q0FDRiJ9
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFPRCwyQkFBMkIsNkRBTTFCO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELCtCQUErQiw2REFNOUI7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsZ0JBQWdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPMUM7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELG9CQUFvQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTlDO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBS0Qsd0NBQXdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEU7SUFHRCx5QkFBeUIsNkRBTXhCO0lBR0QsK0JBQStCLDZEQU05QjtJQUdELDBCQUEwQiw2REFNekI7SUFHRCxvQ0FBb0MsNkRBTW5DO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELDBCQUEwQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3BEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELGNBQWMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU14QztJQUdELDhCQUE4QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFHRCxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQTJDNUM7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3ZEO0lBR0QsZ0NBQWdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNMUQ7SUFHRCw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU90RDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNdkQ7SUFHRCx3Q0FBd0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRTtJQUdELGlDQUFpQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTNEO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFhdkQ7SUFHRCx1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRTtJQUdELHNDQUFzQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT2hFO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxtQ0FBbUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU03RDtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBR0Qsc0NBQXNDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEU7SUFHRCwyQkFBMkIsNkRBTTFCO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxzQ0FBc0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRTtJQUdELHVDQUF1QyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT2pFO0lBR0QsaUNBQWlDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPM0Q7SUFHRCwwQ0FBMEMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9wRTtJQUdELGdDQUFnQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTFEO0lBR0QsZ0RBQWdELENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFXMUU7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQUdELHdCQUF3QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWxEO0lBR0Qsb0JBQW9CLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPOUM7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU85QztJQUdELHVCQUF1QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWpEO0lBR0QscUJBQXFCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPL0M7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTW5EO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQUdELHVCQUF1QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWpEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELHdCQUF3QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWxEO0lBT0QsdUJBQXVCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNakQ7SUFHRCwwQkFBMEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9wRDtJQUdELHFDQUFxQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTy9EO0lBR0QsNEJBQTRCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFZdEQ7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQWU5QztJQUdELDhCQUE4QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hEO0lBR0QsMkJBQTJCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPckQ7SUFHRCxrQ0FBa0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU81RDtJQUtELHVCQUF1Qiw2REFPdEI7SUFHRCxxQkFBcUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU0vQztJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QscUNBQXFDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNL0Q7SUFHRCxvQ0FBb0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU05RDtJQUdELCtDQUErQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXpFO0lBR0QsMkNBQTJDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNckU7SUFHRCxnQkFBZ0IsNkRBTWY7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCxpQkFBaUIsNkRBTWhCO0lBR0QscUJBQXFCLDZEQU1wQjtJQUdELG1CQUFtQiw2REFNbEI7SUFHRCxzQkFBc0IsNkRBTXJCO0lBR0QsaUJBQWlCLDZEQU1oQjtJQUdELGlCQUFpQiw2REFNaEI7SUFHRCx3QkFBd0IsNkRBTXZCO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxjQUFjLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPeEM7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU85QztJQUdELHFCQUFxQiw2REFNcEI7SUFHRCw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQTJCdEQ7SUFHRCxnQ0FBZ0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQWExRDtJQUdELDJCQUEyQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3JEO0lBR0QsMEJBQTBCLDZEQU16QjtJQUdELGdDQUFnQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzFEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFHRCw2QkFBNkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU12RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0NBQ0YifQ==