@aztec/txe 5.0.0-rc.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/AuthRegistry-56AMRLSQ.js +3 -0
- package/dest/AuthRegistry-56AMRLSQ.js.map +7 -0
- package/dest/ContractClassRegistry-N6NA3SFA.js +3 -0
- package/dest/ContractClassRegistry-N6NA3SFA.js.map +7 -0
- package/dest/ContractInstanceRegistry-NADDSLGL.js +3 -0
- package/dest/ContractInstanceRegistry-NADDSLGL.js.map +7 -0
- package/dest/FeeJuice-QBH5JWJV.js +3 -0
- package/dest/FeeJuice-QBH5JWJV.js.map +7 -0
- package/dest/HandshakeRegistry-D2W3AOPD.js +3 -0
- package/dest/HandshakeRegistry-D2W3AOPD.js.map +7 -0
- package/dest/MultiCallEntrypoint-MIDICLQB.js +3 -0
- package/dest/MultiCallEntrypoint-MIDICLQB.js.map +7 -0
- package/dest/SchnorrAccount-HNL7EN7Y.js +3 -0
- package/dest/SchnorrAccount-HNL7EN7Y.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-TFAFXZW6.js +3 -0
- package/dest/SchnorrInitializerlessAccount-TFAFXZW6.js.map +7 -0
- package/dest/bin/index.js +1 -1
- package/dest/bin/oracle_test_server.js +1 -1
- package/dest/chunk-EKHK6CRD.js +268 -0
- package/dest/chunk-EKHK6CRD.js.map +7 -0
- package/dest/{chunk-I6DL4FT2.js → chunk-RELAEYUE.js} +2 -2
- package/dest/{chunk-I6DL4FT2.js.map → chunk-RELAEYUE.js.map} +3 -3
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -3
- package/dest/metafile.json +3677 -3076
- package/dest/oracle/interfaces.d.ts +15 -7
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
- package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
- package/dest/oracle/tagging_secret_strategy.js +12 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts +3 -3
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.js +54 -11
- package/dest/oracle/test-resolver/resolver.d.ts +1 -1
- package/dest/oracle/test-resolver/resolver.js +39 -2
- package/dest/oracle/txe_oracle_public_context.d.ts +6 -6
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +15 -9
- package/dest/oracle/txe_oracle_registry.d.ts +21 -16
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_registry.js +59 -17
- package/dest/oracle/txe_oracle_top_level_context.d.ts +22 -7
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +67 -35
- package/dest/oracle/txe_oracle_version.d.ts +3 -3
- package/dest/oracle/txe_oracle_version.js +3 -3
- package/dest/rpc_translator.d.ts +9 -5
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +44 -12
- package/dest/server.bundle.js +1 -1
- package/dest/state_machine/dummy_p2p_client.d.ts +2 -1
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +3 -0
- package/dest/state_machine/index.d.ts +4 -3
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +7 -4
- package/dest/state_machine/synchronizer.d.ts +3 -1
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +3 -0
- package/dest/txe_session.d.ts +3 -2
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +35 -15
- package/dest/utils/encoding.d.ts +4 -3
- package/dest/utils/encoding.d.ts.map +1 -1
- package/dest/utils/tx_effect_creation.d.ts +1 -1
- package/dest/utils/tx_effect_creation.d.ts.map +1 -1
- package/dest/utils/tx_effect_creation.js +0 -1
- package/dest/utils/txe_public_contract_data_source.d.ts +1 -1
- package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -1
- package/dest/utils/txe_public_contract_data_source.js +7 -4
- package/dest/worker.bundle.js +1 -1
- package/package.json +17 -17
- package/src/bin/oracle_test_server.ts +1 -1
- package/src/index.ts +5 -3
- package/src/oracle/interfaces.ts +17 -6
- package/src/oracle/tagging_secret_strategy.ts +25 -0
- package/src/oracle/test-resolver/default_fixtures.ts +73 -17
- package/src/oracle/test-resolver/resolver.ts +49 -2
- package/src/oracle/txe_oracle_public_context.ts +13 -11
- package/src/oracle/txe_oracle_registry.ts +58 -9
- package/src/oracle/txe_oracle_top_level_context.ts +108 -31
- package/src/oracle/txe_oracle_version.ts +3 -3
- package/src/rpc_translator.ts +51 -13
- package/src/state_machine/dummy_p2p_client.ts +4 -0
- package/src/state_machine/index.ts +19 -2
- package/src/state_machine/synchronizer.ts +5 -0
- package/src/txe_session.ts +63 -15
- package/src/utils/tx_effect_creation.ts +0 -2
- package/src/utils/txe_public_contract_data_source.ts +6 -4
- package/dest/AuthRegistry-URXCCPYF.js +0 -3
- package/dest/AuthRegistry-URXCCPYF.js.map +0 -7
- package/dest/ContractClassRegistry-5RDBM6TC.js +0 -3
- package/dest/ContractClassRegistry-5RDBM6TC.js.map +0 -7
- package/dest/ContractInstanceRegistry-GCR4G4D7.js +0 -3
- package/dest/ContractInstanceRegistry-GCR4G4D7.js.map +0 -7
- package/dest/FeeJuice-O3KOSZO5.js +0 -3
- package/dest/FeeJuice-O3KOSZO5.js.map +0 -7
- package/dest/HandshakeRegistry-TXSMHMNY.js +0 -3
- package/dest/HandshakeRegistry-TXSMHMNY.js.map +0 -7
- package/dest/MultiCallEntrypoint-P4FSRXAD.js +0 -3
- package/dest/MultiCallEntrypoint-P4FSRXAD.js.map +0 -7
- package/dest/SchnorrAccount-AQZX7ROU.js +0 -3
- package/dest/SchnorrAccount-AQZX7ROU.js.map +0 -7
- package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js +0 -3
- package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js.map +0 -7
- package/dest/chunk-IAO54JS2.js +0 -266
- 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 `
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
new Fr(exists)
|
|
185
|
-
]
|
|
191
|
+
const CONTRACT_INSTANCE_MEMBER = FIXED_ARRAY(STRUCT([
|
|
192
|
+
{
|
|
193
|
+
name: 'exists',
|
|
194
|
+
type: BOOL
|
|
186
195
|
},
|
|
187
|
-
|
|
188
|
-
'
|
|
189
|
-
|
|
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,14 +391,26 @@ export const TXE_ORACLE_REGISTRY = {
|
|
|
382
391
|
],
|
|
383
392
|
returnType: FIELD
|
|
384
393
|
}),
|
|
385
|
-
|
|
394
|
+
aztec_txe_setTaggingSecretStrategies: makeEntry({
|
|
386
395
|
params: [
|
|
387
396
|
{
|
|
388
|
-
name: '
|
|
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
|
]
|
|
392
405
|
}),
|
|
406
|
+
aztec_txe_setAuthorizeAllUtilityCallTargets: makeEntry({
|
|
407
|
+
params: [
|
|
408
|
+
{
|
|
409
|
+
name: 'authorizeAll',
|
|
410
|
+
type: BOOL
|
|
411
|
+
}
|
|
412
|
+
]
|
|
413
|
+
}),
|
|
393
414
|
aztec_txe_getLastBlockTimestamp: makeEntry({
|
|
394
415
|
returnType: BIGINT
|
|
395
416
|
}),
|
|
@@ -590,7 +611,7 @@ export const TXE_ORACLE_REGISTRY = {
|
|
|
590
611
|
]
|
|
591
612
|
}),
|
|
592
613
|
aztec_avm_returndataSize: makeEntry({
|
|
593
|
-
returnType:
|
|
614
|
+
returnType: U32
|
|
594
615
|
}),
|
|
595
616
|
aztec_avm_returndataCopy: makeEntry({
|
|
596
617
|
params: [
|
|
@@ -708,7 +729,28 @@ export function toInputSlots(inputs) {
|
|
|
708
729
|
const named = entry.deserializeParams(toInputSlots(inputs));
|
|
709
730
|
const positional = named.map((p)=>p.value);
|
|
710
731
|
const result = await handler(positional);
|
|
711
|
-
|
|
732
|
+
return outputSlotsToForeignCallResult(entry.serializeReturn(result));
|
|
733
|
+
}
|
|
734
|
+
/**
|
|
735
|
+
* Dispatches an oracle that has been retired into the PXE legacy registry. TXE has no explicit handler method for such
|
|
736
|
+
* names; this runs them through the same `buildACIRCallback` legacy path that contract execution already uses, so
|
|
737
|
+
* TXE's top-level oracle path and its in-contract path treat the legacy registry identically.
|
|
738
|
+
*/ const legacyCallbacksByHandler = new WeakMap();
|
|
739
|
+
export async function callTxeLegacyHandler(oracle, inputs, oracleHandler) {
|
|
740
|
+
// `buildACIRCallback` materializes the whole real+legacy closure set, so memoize it per handler rather than
|
|
741
|
+
// rebuilding on every call (TXE routes one legacy oracle through here on each top-level discovery).
|
|
742
|
+
let callback = legacyCallbacksByHandler.get(oracleHandler);
|
|
743
|
+
if (!callback) {
|
|
744
|
+
callback = buildACIRCallback(oracleHandler);
|
|
745
|
+
legacyCallbacksByHandler.set(oracleHandler, callback);
|
|
746
|
+
}
|
|
747
|
+
const outputSlots = await callback[oracle](...toInputSlots(inputs));
|
|
748
|
+
return outputSlotsToForeignCallResult(outputSlots);
|
|
749
|
+
}
|
|
750
|
+
/**
|
|
751
|
+
* Strips the `0x` prefix from each serialized output slot (TXE foreign calls use bare hex strings) and wraps them in a
|
|
752
|
+
* `ForeignCallResult`.
|
|
753
|
+
*/ function outputSlotsToForeignCallResult(outputSlots) {
|
|
712
754
|
return {
|
|
713
755
|
values: outputSlots.map((slot)=>Array.isArray(slot) ? slot.map(withoutHexPrefix) : withoutHexPrefix(slot))
|
|
714
756
|
};
|
|
@@ -2,18 +2,20 @@ import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import type { KeyStore } from '@aztec/key-store';
|
|
5
|
-
import { AddressStore, CapsuleStore, type ContractStore, FactStore, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore, type TaggingSecretStrategy } from '@aztec/pxe/server';
|
|
5
|
+
import { AddressStore, CapsuleStore, type ContractStore, type ExecutionHooks, FactStore, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore, type TaggingSecretStrategy } from '@aztec/pxe/server';
|
|
6
6
|
import { type IMiscOracle, type Option } from '@aztec/pxe/simulator';
|
|
7
7
|
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,15 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
|
|
|
31
33
|
private version;
|
|
32
34
|
private chainId;
|
|
33
35
|
private authwits;
|
|
34
|
-
private
|
|
36
|
+
private taggingSecretStrategies;
|
|
37
|
+
private authorizeAllUtilityCallTargets;
|
|
35
38
|
private readonly artifactResolver;
|
|
36
39
|
private readonly rootPath;
|
|
37
40
|
private readonly packageName;
|
|
38
41
|
isMisc: true;
|
|
39
42
|
isTxe: true;
|
|
40
43
|
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>,
|
|
44
|
+
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, authorizeAllUtilityCallTargets: boolean, artifactResolver: TXEArtifactResolver, rootPath: string, packageName: string);
|
|
42
45
|
private contractOracleVersion;
|
|
43
46
|
assertCompatibleOracleVersion(major: number, minor: number): void;
|
|
44
47
|
nonOracleFunctionGetContractOracleVersion(): {
|
|
@@ -55,7 +58,7 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
|
|
|
55
58
|
txHash: TxHash;
|
|
56
59
|
noteHashes: Fr[];
|
|
57
60
|
nullifiers: Fr[];
|
|
58
|
-
privateLogs:
|
|
61
|
+
privateLogs: PrivateLog[];
|
|
59
62
|
}>;
|
|
60
63
|
syncContractNonOracleMethod(contractAddress: AztecAddress, scope: AztecAddress, jobId: string): Promise<void>;
|
|
61
64
|
getPrivateEvents(selector: EventSelector, contractAddress: AztecAddress, scope: AztecAddress): Promise<Fr[][]>;
|
|
@@ -71,7 +74,8 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
|
|
|
71
74
|
private registerContractAndAddAccount;
|
|
72
75
|
createAccount(secret: Fr): Promise<import("@aztec/stdlib/contract").CompleteAddress>;
|
|
73
76
|
addAuthWitness(address: AztecAddress, messageHash: Fr): Promise<void>;
|
|
74
|
-
|
|
77
|
+
setTaggingSecretStrategies(unconstrainedStrategy: Option<TaggingSecretStrategy>, constrainedStrategy: Option<TaggingSecretStrategy>): void;
|
|
78
|
+
setAuthorizeAllUtilityCallTargets(authorizeAll: boolean): void;
|
|
75
79
|
sendL1ToL2Message(content: Fr, secretHash: Fr, sender: EthAddress, recipient: AztecAddress): Promise<Fr>;
|
|
76
80
|
mineBlock(options?: {
|
|
77
81
|
nullifiers?: Fr[];
|
|
@@ -84,8 +88,19 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
|
|
|
84
88
|
publicCallNewFlow(from: AztecAddress | undefined, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean, gasSettings: GasSettings): Promise<Fr[]>;
|
|
85
89
|
executeUtilityFunction(from: AztecAddress | undefined, targetContractAddress: AztecAddress, functionSelector: FunctionSelector, args: Fr[], jobId: string, authorizedUtilityCallTargets: AztecAddress[]): Promise<Fr[]>;
|
|
86
90
|
private executeUtilityCall;
|
|
87
|
-
close():
|
|
91
|
+
close(): {
|
|
92
|
+
nextBlockTimestamp: bigint;
|
|
93
|
+
authwits: Map<string, AuthWitness>;
|
|
94
|
+
taggingSecretStrategies: TXETaggingSecretStrategies;
|
|
95
|
+
authorizeAllUtilityCallTargets: boolean;
|
|
96
|
+
};
|
|
88
97
|
private getLastBlockNumber;
|
|
89
98
|
private buildAuthorizeUtilityCallHook;
|
|
90
99
|
}
|
|
91
|
-
|
|
100
|
+
/**
|
|
101
|
+
* An `authorizeUtilityCall` hook that authorizes every cross-contract utility call.
|
|
102
|
+
*
|
|
103
|
+
* Backs the `aztec_txe_setAuthorizeAllUtilityCallTargets` oracle.
|
|
104
|
+
*/
|
|
105
|
+
export declare const authorizeAllUtilityCallsHook: NonNullable<ExecutionHooks['authorizeUtilityCall']>;
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV90b3BfbGV2ZWxfY29udGV4dC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfb3JhY2xlX3RvcF9sZXZlbF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLFlBQVksRUFHWixZQUFZLEVBQ1osS0FBSyxhQUFhLEVBQ2xCLEtBQUssY0FBYyxFQUVuQixTQUFTLEVBQ1QsU0FBUyxFQUVULGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixLQUFLLHFCQUFxQixFQUczQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFLTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxNQUFNLEVBT1osTUFBTSxzQkFBc0IsQ0FBQztBQWdCOUIsT0FBTyxFQUF5QixhQUFhLEVBQWdCLGdCQUFnQixFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVM5RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1yRCxPQUFPLEVBU0wsTUFBTSxFQUVQLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJbEQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU3RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLDBCQUEwQixFQUF3QyxNQUFNLDhCQUE4QixDQUFDO0FBRXJILHFCQUFhLHdCQUF5QixZQUFXLFdBQVcsRUFBRSxtQkFBbUI7SUFPN0UsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLGtCQUFrQjtJQUMxQixPQUFPLENBQUMscUJBQXFCO0lBQzdCLE9BQU8sQ0FBQyx5QkFBeUI7SUFDakMsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLGlCQUFpQjtJQUN6QixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsdUJBQXVCO0lBQy9CLE9BQU8sQ0FBQyw4QkFBOEI7SUFDdEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7SUFDakMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQTFCOUIsTUFBTSxPQUFpQjtJQUN2QixLQUFLLE9BQWlCO0lBRXRCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFDVSxZQUFZLEVBQUUsZUFBZSxFQUM3QixhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsU0FBUyxFQUNwQixRQUFRLEVBQUUsUUFBUSxFQUNsQixZQUFZLEVBQUUsWUFBWSxFQUMxQixZQUFZLEVBQUUsZUFBZSxFQUM3QixrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHlCQUF5QixFQUFFLHlCQUF5QixFQUNwRCxZQUFZLEVBQUUsWUFBWSxFQUMxQixTQUFTLEVBQUUsU0FBUyxFQUNwQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsa0JBQWtCLEVBQUUsTUFBTSxFQUMxQixPQUFPLEVBQUUsRUFBRSxFQUNYLE9BQU8sRUFBRSxFQUFFLEVBQ1gsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQ2xDLHVCQUF1QixFQUFFLDBCQUEwQixFQUNuRCw4QkFBOEIsRUFBRSxPQUFPLEVBQzlCLGdCQUFnQixFQUFFLG1CQUFtQixFQUNyQyxRQUFRLEVBQUUsTUFBTSxFQUNoQixXQUFXLEVBQUUsTUFBTSxFQUlyQztJQUVELE9BQU8sQ0FBQyxxQkFBcUIsQ0FBK0M7SUFFNUUsNkJBQTZCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FXaEU7SUFHRCx5Q0FBeUMsSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxTQUFTLENBRXhGO0lBSUQsY0FBYyxJQUFJLEVBQUUsQ0FFbkI7SUFHRCxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FRcEY7SUFFRCxpQkFBaUIsSUFBSSxZQUFZLENBRWhDO0lBRUssa0JBQWtCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUUvQztJQUVELHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFdkM7SUFFSyxxQkFBcUIsb0JBRTFCO0lBRUssZ0JBQWdCLElBQUksT0FBTyxDQUFDO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FzQm5IO0lBRUssMkJBQTJCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQWlCbEc7SUFFSyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksbUJBa0JqRztJQUVLLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxpQkFNbkM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxRQUdsQztJQUVELE9BQU8sQ0FBQyxtQkFBbUI7SUFJckIsTUFBTSxDQUNWLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLElBQUksRUFBRSxFQUFFLEVBQUUsRUFDVixNQUFNLEVBQUUsRUFBRSxFQUNWLElBQUksRUFBRSxFQUFFLEVBQ1IsUUFBUSxFQUFFLFlBQVksR0FDckIsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBMEJmO0lBRUQ7O09BRUc7SUFDRyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLGlCQUl2RDtJQUVLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSw2REFHMUI7WUFFYSw2QkFBNkI7SUFtQnJDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSw2REFRN0I7SUFFSyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxpQkFXMUQ7SUFFRCwwQkFBMEIsQ0FDeEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQ3BELG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUNqRCxJQUFJLENBVU47SUFFRCxpQ0FBaUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FFN0Q7SUFFSyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FrQjdHO0lBRUssU0FBUyxDQUFDLE9BQU8sR0FBRTtRQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUE7S0FBTyxpQkF1QnpFO0lBRUssa0JBQWtCLENBQ3RCLElBQUksRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUM5QixxQkFBcUIsMEJBQW9DLEVBQ3pELGdCQUFnQiw4QkFBNkMsRUFDN0QsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUNWLFFBQVEsZ0JBQWdCLEVBQ3hCLFlBQVkscUJBQWlCLEVBQzdCLGdCQUFnQiw0QkFBcUIsRUFDckMsS0FBSyxFQUFFLE1BQU0sRUFDYiw0QkFBNEIsRUFBRSxZQUFZLEVBQUUsRUFDNUMsV0FBVyxFQUFFLFdBQVc7OztPQW9QekI7SUFFSyxpQkFBaUIsQ0FDckIsSUFBSSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUNkLFlBQVksRUFBRSxPQUFPLEVBQ3JCLFdBQVcsRUFBRSxXQUFXLGlCQTBKekI7SUFFSyxzQkFBc0IsQ0FDMUIsSUFBSSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLDRCQUE0QixFQUFFLFlBQVksRUFBRSxpQkEyQzdDO1lBRWEsa0JBQWtCO0lBeUZoQyxLQUFLLElBQUk7UUFDUCxrQkFBa0IsRUFBRSxNQUFNLENBQUM7UUFDM0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkMsdUJBQXVCLEVBQUUsMEJBQTBCLENBQUM7UUFDcEQsOEJBQThCLEVBQUUsT0FBTyxDQUFDO0tBQ3pDLENBUUE7WUFFYSxrQkFBa0I7SUFLaEMsT0FBTyxDQUFDLDZCQUE2QjtDQWV0QztBQUVEOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sNEJBQTRCLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0RCxDQUFDIn0=
|
|
@@ -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":"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,
|
|
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,EAClB,KAAK,cAAc,EAEnB,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,8BAA8B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IA1B9B,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,EACnD,8BAA8B,EAAE,OAAO,EAC9B,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;IAED,iCAAiC,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAE7D;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;QACP,kBAAkB,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnC,uBAAuB,EAAE,0BAA0B,CAAC;QACpD,8BAA8B,EAAE,OAAO,CAAC;KACzC,CAQA;YAEa,kBAAkB;IAKhC,OAAO,CAAC,6BAA6B;CAetC;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,cAAc,CAAC,sBAAsB,CAAC,CACtD,CAAC"}
|
|
@@ -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,15 @@ export class TXEOracleTopLevelContext {
|
|
|
43
45
|
version;
|
|
44
46
|
chainId;
|
|
45
47
|
authwits;
|
|
46
|
-
|
|
48
|
+
taggingSecretStrategies;
|
|
49
|
+
authorizeAllUtilityCallTargets;
|
|
47
50
|
artifactResolver;
|
|
48
51
|
rootPath;
|
|
49
52
|
packageName;
|
|
50
53
|
isMisc;
|
|
51
54
|
isTxe;
|
|
52
55
|
logger;
|
|
53
|
-
constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits,
|
|
56
|
+
constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, taggingSecretStrategies, authorizeAllUtilityCallTargets, artifactResolver, rootPath, packageName){
|
|
54
57
|
this.stateMachine = stateMachine;
|
|
55
58
|
this.contractStore = contractStore;
|
|
56
59
|
this.noteStore = noteStore;
|
|
@@ -67,7 +70,8 @@ export class TXEOracleTopLevelContext {
|
|
|
67
70
|
this.version = version;
|
|
68
71
|
this.chainId = chainId;
|
|
69
72
|
this.authwits = authwits;
|
|
70
|
-
this.
|
|
73
|
+
this.taggingSecretStrategies = taggingSecretStrategies;
|
|
74
|
+
this.authorizeAllUtilityCallTargets = authorizeAllUtilityCallTargets;
|
|
71
75
|
this.artifactResolver = artifactResolver;
|
|
72
76
|
this.rootPath = rootPath;
|
|
73
77
|
this.packageName = packageName;
|
|
@@ -227,7 +231,7 @@ export class TXEOracleTopLevelContext {
|
|
|
227
231
|
this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
|
|
228
232
|
await this.contractStore.addContractInstance(instance);
|
|
229
233
|
await this.contractStore.addContractArtifact(artifact);
|
|
230
|
-
const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
|
|
234
|
+
const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), partialAddress);
|
|
231
235
|
await this.accountStore.setAccount(completeAddress.address, completeAddress);
|
|
232
236
|
await this.addressStore.addCompleteAddress(completeAddress);
|
|
233
237
|
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
@@ -235,7 +239,7 @@ export class TXEOracleTopLevelContext {
|
|
|
235
239
|
}
|
|
236
240
|
async createAccount(secret) {
|
|
237
241
|
// This is a foot gun !
|
|
238
|
-
const completeAddress = await this.keyStore.addAccount(secret, secret);
|
|
242
|
+
const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), secret);
|
|
239
243
|
await this.accountStore.setAccount(completeAddress.address, completeAddress);
|
|
240
244
|
await this.addressStore.addCompleteAddress(completeAddress);
|
|
241
245
|
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
@@ -250,8 +254,19 @@ export class TXEOracleTopLevelContext {
|
|
|
250
254
|
const authWitness = new AuthWitness(messageHash, signature.toLimbFields());
|
|
251
255
|
this.authwits.set(authWitness.requestHash.toString(), authWitness);
|
|
252
256
|
}
|
|
253
|
-
|
|
254
|
-
|
|
257
|
+
setTaggingSecretStrategies(unconstrainedStrategy, constrainedStrategy) {
|
|
258
|
+
const apply = (mode, strategy)=>{
|
|
259
|
+
if (strategy.isSome()) {
|
|
260
|
+
this.taggingSecretStrategies.set(mode, strategy.value);
|
|
261
|
+
} else {
|
|
262
|
+
this.taggingSecretStrategies.delete(mode);
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
apply(AppTaggingSecretKind.UNCONSTRAINED, unconstrainedStrategy);
|
|
266
|
+
apply(AppTaggingSecretKind.CONSTRAINED, constrainedStrategy);
|
|
267
|
+
}
|
|
268
|
+
setAuthorizeAllUtilityCallTargets(authorizeAll) {
|
|
269
|
+
this.authorizeAllUtilityCallTargets = authorizeAll;
|
|
255
270
|
}
|
|
256
271
|
async sendL1ToL2Message(content, secretHash, sender, recipient) {
|
|
257
272
|
// Messages are appended to the tree, so the next free slot is simply the current tree size.
|
|
@@ -289,8 +304,10 @@ export class TXEOracleTopLevelContext {
|
|
|
289
304
|
await this.stateMachine.handleL2Block(block, options.l1ToL2Messages ?? []);
|
|
290
305
|
}
|
|
291
306
|
async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false, additionalScopes = [], jobId, authorizedUtilityCallTargets, gasSettings) {
|
|
292
|
-
|
|
293
|
-
const
|
|
307
|
+
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
308
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
|
|
309
|
+
this.logger.verbose(`Executing external function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
|
|
310
|
+
const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
294
311
|
if (!artifact) {
|
|
295
312
|
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
313
|
throw new Error(message);
|
|
@@ -306,7 +323,6 @@ export class TXEOracleTopLevelContext {
|
|
|
306
323
|
jobId
|
|
307
324
|
});
|
|
308
325
|
};
|
|
309
|
-
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
310
326
|
await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, utilityExecutor, blockHeader, jobId, scopes);
|
|
311
327
|
const blockNumber = await this.getNextBlockNumber();
|
|
312
328
|
const msgSender = from ?? AztecAddress.NULL_MSG_SENDER;
|
|
@@ -322,10 +338,11 @@ export class TXEOracleTopLevelContext {
|
|
|
322
338
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
323
339
|
const simulator = new WASMSimulator();
|
|
324
340
|
const transientArrayService = new TransientArrayService();
|
|
325
|
-
const taggingSecretStrategy = this.taggingSecretStrategy;
|
|
326
341
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
327
342
|
argsHash,
|
|
328
343
|
txContext,
|
|
344
|
+
// The TXE does not run the init kernel's salt binding, so no tx-request salt is in scope.
|
|
345
|
+
txRequestSalt: Fr.ZERO,
|
|
329
346
|
callContext,
|
|
330
347
|
anchorBlockHeader: blockHeader,
|
|
331
348
|
utilityExecutor,
|
|
@@ -336,7 +353,7 @@ export class TXEOracleTopLevelContext {
|
|
|
336
353
|
]),
|
|
337
354
|
noteCache,
|
|
338
355
|
taggingIndexCache,
|
|
339
|
-
|
|
356
|
+
anchoredContractData,
|
|
340
357
|
noteStore: this.noteStore,
|
|
341
358
|
keyStore: this.keyStore,
|
|
342
359
|
addressStore: this.addressStore,
|
|
@@ -360,9 +377,7 @@ export class TXEOracleTopLevelContext {
|
|
|
360
377
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
361
378
|
hooks: composeHooks({
|
|
362
379
|
authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets),
|
|
363
|
-
|
|
364
|
-
// strategy is exercised.
|
|
365
|
-
resolveTaggingSecretStrategy: taggingSecretStrategy ? ()=>Promise.resolve(taggingSecretStrategy) : undefined
|
|
380
|
+
resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
|
|
366
381
|
}),
|
|
367
382
|
transientArrayService
|
|
368
383
|
});
|
|
@@ -380,7 +395,6 @@ export class TXEOracleTopLevelContext {
|
|
|
380
395
|
const calldata = await privateExecutionOracle.getHashPreimage(r.calldataHash);
|
|
381
396
|
return new HashedValues(calldata, r.calldataHash);
|
|
382
397
|
}));
|
|
383
|
-
noteCache.finish();
|
|
384
398
|
const nonceGenerator = noteCache.getNonceGenerator();
|
|
385
399
|
result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
|
|
386
400
|
} catch (err) {
|
|
@@ -389,7 +403,7 @@ export class TXEOracleTopLevelContext {
|
|
|
389
403
|
// According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
|
|
390
404
|
// the nonce generator for the note hashes.
|
|
391
405
|
// We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
|
|
392
|
-
const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>
|
|
406
|
+
const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>anchoredContractData.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
|
|
393
407
|
const globals = makeGlobalVariables();
|
|
394
408
|
globals.blockNumber = blockNumber;
|
|
395
409
|
globals.timestamp = this.nextBlockTimestamp;
|
|
@@ -428,7 +442,7 @@ export class TXEOracleTopLevelContext {
|
|
|
428
442
|
} else if (!processedTx.revertCode.isOK()) {
|
|
429
443
|
if (processedTx.revertReason) {
|
|
430
444
|
try {
|
|
431
|
-
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
|
|
445
|
+
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, await this.stateMachine.anchorBlockStore.getBlockHeader(), this.logger);
|
|
432
446
|
// eslint-disable-next-line no-empty
|
|
433
447
|
} catch {}
|
|
434
448
|
throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
|
|
@@ -471,10 +485,11 @@ export class TXEOracleTopLevelContext {
|
|
|
471
485
|
};
|
|
472
486
|
}
|
|
473
487
|
async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
|
|
474
|
-
|
|
488
|
+
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
489
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
|
|
490
|
+
this.logger.verbose(`Executing public function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
|
|
475
491
|
const blockNumber = await this.getNextBlockNumber();
|
|
476
492
|
const txContext = new TxContext(this.chainId, this.version, gasSettings);
|
|
477
|
-
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
478
493
|
const calldataHash = await computeCalldataHash(calldata);
|
|
479
494
|
const calldataHashedValues = new HashedValues(calldata, calldataHash);
|
|
480
495
|
const globals = makeGlobalVariables();
|
|
@@ -531,7 +546,7 @@ export class TXEOracleTopLevelContext {
|
|
|
531
546
|
} else if (!processedTx.revertCode.isOK()) {
|
|
532
547
|
if (processedTx.revertReason) {
|
|
533
548
|
try {
|
|
534
|
-
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
|
|
549
|
+
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader, this.logger);
|
|
535
550
|
// eslint-disable-next-line no-empty
|
|
536
551
|
} catch {}
|
|
537
552
|
throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
|
|
@@ -562,12 +577,13 @@ export class TXEOracleTopLevelContext {
|
|
|
562
577
|
return returnValues ?? [];
|
|
563
578
|
}
|
|
564
579
|
async executeUtilityFunction(from, targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
|
|
565
|
-
const
|
|
580
|
+
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
581
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
|
|
582
|
+
const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
566
583
|
if (!artifact) {
|
|
567
584
|
throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
|
|
568
585
|
}
|
|
569
586
|
// Sync notes before executing utility function to discover notes from previous transactions
|
|
570
|
-
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
571
587
|
await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call, execScopes)=>{
|
|
572
588
|
await this.executeUtilityCall(call, {
|
|
573
589
|
scopes: execScopes,
|
|
@@ -592,7 +608,12 @@ export class TXEOracleTopLevelContext {
|
|
|
592
608
|
});
|
|
593
609
|
}
|
|
594
610
|
async executeUtilityCall(call, { from = AztecAddress.NULL_MSG_SENDER, scopes, jobId, authorizedUtilityCallTargets = [] }) {
|
|
595
|
-
const
|
|
611
|
+
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
612
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
|
|
613
|
+
const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
|
|
614
|
+
if (!entryPointArtifact) {
|
|
615
|
+
throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
|
|
616
|
+
}
|
|
596
617
|
if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
|
|
597
618
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
|
|
598
619
|
}
|
|
@@ -601,12 +622,12 @@ export class TXEOracleTopLevelContext {
|
|
|
601
622
|
selector: call.selector
|
|
602
623
|
});
|
|
603
624
|
try {
|
|
604
|
-
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
605
625
|
const simulator = new WASMSimulator();
|
|
606
626
|
const utilityExecutor = async (syncCall, execScopes)=>{
|
|
607
627
|
await this.executeUtilityCall(syncCall, {
|
|
608
628
|
scopes: execScopes,
|
|
609
|
-
jobId
|
|
629
|
+
jobId,
|
|
630
|
+
authorizedUtilityCallTargets
|
|
610
631
|
});
|
|
611
632
|
};
|
|
612
633
|
const oracle = new UtilityExecutionOracle({
|
|
@@ -619,7 +640,7 @@ export class TXEOracleTopLevelContext {
|
|
|
619
640
|
authWitnesses: [],
|
|
620
641
|
capsules: [],
|
|
621
642
|
anchorBlockHeader,
|
|
622
|
-
|
|
643
|
+
anchoredContractData,
|
|
623
644
|
noteStore: this.noteStore,
|
|
624
645
|
keyStore: this.keyStore,
|
|
625
646
|
addressStore: this.addressStore,
|
|
@@ -635,10 +656,10 @@ export class TXEOracleTopLevelContext {
|
|
|
635
656
|
jobId,
|
|
636
657
|
scopes,
|
|
637
658
|
simulator,
|
|
659
|
+
utilityExecutor,
|
|
638
660
|
hooks: composeHooks({
|
|
639
661
|
authorizeUtilityCall: this.buildAuthorizeUtilityCallHook('utility', authorizedUtilityCallTargets)
|
|
640
662
|
}),
|
|
641
|
-
utilityExecutor,
|
|
642
663
|
// Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
|
|
643
664
|
transientArrayService: new TransientArrayService()
|
|
644
665
|
});
|
|
@@ -659,17 +680,21 @@ export class TXEOracleTopLevelContext {
|
|
|
659
680
|
}
|
|
660
681
|
close() {
|
|
661
682
|
this.logger.debug('Exiting Top Level Context');
|
|
662
|
-
return
|
|
663
|
-
this.nextBlockTimestamp,
|
|
664
|
-
this.authwits,
|
|
665
|
-
this.
|
|
666
|
-
|
|
683
|
+
return {
|
|
684
|
+
nextBlockTimestamp: this.nextBlockTimestamp,
|
|
685
|
+
authwits: this.authwits,
|
|
686
|
+
taggingSecretStrategies: this.taggingSecretStrategies,
|
|
687
|
+
authorizeAllUtilityCallTargets: this.authorizeAllUtilityCallTargets
|
|
688
|
+
};
|
|
667
689
|
}
|
|
668
690
|
async getLastBlockNumber() {
|
|
669
691
|
const block = await this.stateMachine.node.getBlock('latest');
|
|
670
692
|
return block ? block.header.globalVariables.blockNumber : BlockNumber.ZERO;
|
|
671
693
|
}
|
|
672
694
|
buildAuthorizeUtilityCallHook(callerContext, authorizedTargets) {
|
|
695
|
+
if (this.authorizeAllUtilityCallTargets) {
|
|
696
|
+
return authorizeAllUtilityCallsHook;
|
|
697
|
+
}
|
|
673
698
|
if (authorizedTargets.length === 0) {
|
|
674
699
|
return undefined;
|
|
675
700
|
}
|
|
@@ -678,3 +703,10 @@ export class TXEOracleTopLevelContext {
|
|
|
678
703
|
});
|
|
679
704
|
}
|
|
680
705
|
}
|
|
706
|
+
/**
|
|
707
|
+
* An `authorizeUtilityCall` hook that authorizes every cross-contract utility call.
|
|
708
|
+
*
|
|
709
|
+
* Backs the `aztec_txe_setAuthorizeAllUtilityCallTargets` oracle.
|
|
710
|
+
*/ export const authorizeAllUtilityCallsHook = ()=>Promise.resolve({
|
|
711
|
+
authorized: true
|
|
712
|
+
});
|
|
@@ -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 =
|
|
9
|
-
export declare const TXE_ORACLE_VERSION_MINOR =
|
|
8
|
+
export declare const TXE_ORACLE_VERSION_MAJOR = 3;
|
|
9
|
+
export declare const TXE_ORACLE_VERSION_MINOR = 1;
|
|
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 = "
|
|
16
|
+
export declare const TXE_ORACLE_INTERFACE_HASH = "89c60f191f8f60ef72d592e46dd6c4afff10dc47a9e14f4f8d37e31e40857d9c";
|
|
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 =
|
|
8
|
-
export const TXE_ORACLE_VERSION_MINOR =
|
|
7
|
+
*/ export const TXE_ORACLE_VERSION_MAJOR = 3;
|
|
8
|
+
export const TXE_ORACLE_VERSION_MINOR = 1;
|
|
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 = '
|
|
14
|
+
*/ export const TXE_ORACLE_INTERFACE_HASH = '89c60f191f8f60ef72d592e46dd6c4afff10dc47a9e14f4f8d37e31e40857d9c';
|