@aztec/txe 0.0.0-test.1 → 0.0.1-fake-ceab37513c
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/bin/index.js +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +75 -49
- package/dest/oracle/txe_oracle.d.ts +81 -109
- package/dest/oracle/txe_oracle.d.ts.map +1 -1
- package/dest/oracle/txe_oracle.js +474 -537
- package/dest/oracle/txe_oracle_public_context.d.ts +34 -0
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_public_context.js +126 -0
- package/dest/oracle/txe_typed_oracle.d.ts +42 -0
- package/dest/oracle/txe_typed_oracle.d.ts.map +1 -0
- package/dest/oracle/txe_typed_oracle.js +83 -0
- package/dest/state_machine/archiver.d.ts +61 -0
- package/dest/state_machine/archiver.d.ts.map +1 -0
- package/dest/state_machine/archiver.js +118 -0
- package/dest/state_machine/dummy_p2p_client.d.ts +52 -0
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -0
- package/dest/state_machine/dummy_p2p_client.js +133 -0
- package/dest/state_machine/global_variable_builder.d.ts +22 -0
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -0
- package/dest/state_machine/global_variable_builder.js +29 -0
- package/dest/state_machine/index.d.ts +16 -0
- package/dest/state_machine/index.d.ts.map +1 -0
- package/dest/state_machine/index.js +50 -0
- package/dest/state_machine/mock_epoch_cache.d.ts +25 -0
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -0
- package/dest/state_machine/mock_epoch_cache.js +50 -0
- package/dest/state_machine/synchronizer.d.ts +32 -0
- package/dest/state_machine/synchronizer.d.ts.map +1 -0
- package/dest/state_machine/synchronizer.js +58 -0
- package/dest/txe_constants.d.ts +2 -0
- package/dest/txe_constants.d.ts.map +1 -0
- package/dest/txe_constants.js +7 -0
- package/dest/txe_service/txe_service.d.ts +97 -78
- package/dest/txe_service/txe_service.d.ts.map +1 -1
- package/dest/txe_service/txe_service.js +379 -362
- package/dest/txe_session.d.ts +77 -0
- package/dest/txe_session.d.ts.map +1 -0
- package/dest/txe_session.js +138 -0
- package/dest/util/encoding.d.ts +26 -8
- package/dest/util/encoding.d.ts.map +1 -1
- package/dest/util/encoding.js +65 -10
- package/dest/util/txe_contract_data_provider.d.ts +11 -0
- package/dest/util/txe_contract_data_provider.d.ts.map +1 -0
- package/dest/util/txe_contract_data_provider.js +22 -0
- package/dest/util/txe_public_contract_data_source.d.ts +4 -5
- package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
- package/dest/util/txe_public_contract_data_source.js +26 -49
- package/package.json +27 -22
- package/src/bin/index.ts +2 -1
- package/src/index.ts +89 -58
- package/src/oracle/txe_oracle.ts +736 -690
- package/src/oracle/txe_oracle_public_context.ts +198 -0
- package/src/oracle/txe_typed_oracle.ts +142 -0
- package/src/state_machine/archiver.ts +151 -0
- package/src/state_machine/dummy_p2p_client.ts +197 -0
- package/src/state_machine/global_variable_builder.ts +55 -0
- package/src/state_machine/index.ts +75 -0
- package/src/state_machine/mock_epoch_cache.ts +67 -0
- package/src/state_machine/synchronizer.ts +87 -0
- package/src/txe_constants.ts +9 -0
- package/src/txe_service/txe_service.ts +659 -461
- package/src/txe_session.ts +221 -0
- package/src/util/encoding.ts +84 -10
- package/src/util/txe_contract_data_provider.ts +35 -0
- package/src/util/txe_public_contract_data_source.ts +30 -48
- package/dest/node/txe_node.d.ts +0 -358
- package/dest/node/txe_node.d.ts.map +0 -1
- package/dest/node/txe_node.js +0 -504
- package/dest/util/txe_world_state_db.d.ts +0 -14
- package/dest/util/txe_world_state_db.d.ts.map +0 -1
- package/dest/util/txe_world_state_db.js +0 -27
- package/src/node/txe_node.ts +0 -725
- package/src/util/txe_world_state_db.ts +0 -38
package/dest/bin/index.js
CHANGED
|
@@ -14,10 +14,11 @@ import { createTXERpcServer } from '../index.js';
|
|
|
14
14
|
logger.info('Received SIGTERM.');
|
|
15
15
|
process.exit(0);
|
|
16
16
|
});
|
|
17
|
-
const logger = createLogger('txe:
|
|
17
|
+
const logger = createLogger('txe:rpc');
|
|
18
18
|
logger.info(`Setting up TXE...`);
|
|
19
19
|
const txeServer = createTXERpcServer(logger);
|
|
20
20
|
const { port } = await startHttpRpcServer(txeServer, {
|
|
21
|
+
host: '127.0.0.1',
|
|
21
22
|
port: TXE_PORT,
|
|
22
23
|
timeoutMs: 1e3 * 60 * 5
|
|
23
24
|
});
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA8NpD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,iEAIhD"}
|
package/dest/index.js
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { AztecAddress, Fr, PublicKeys, deriveKeys,
|
|
2
|
+
import { AztecAddress, Fr, PublicKeys, deriveKeys, getContractInstanceFromInstantiationParams, loadContractArtifact } from '@aztec/aztec.js';
|
|
3
3
|
import { createSafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
4
4
|
import { protocolContractNames } from '@aztec/protocol-contracts';
|
|
5
5
|
import { BundledProtocolContractsProvider } from '@aztec/protocol-contracts/providers/bundle';
|
|
6
|
+
import { computeArtifactHash } from '@aztec/stdlib/contract';
|
|
7
|
+
import { createHash } from 'crypto';
|
|
8
|
+
import { createReadStream } from 'fs';
|
|
6
9
|
import { readFile, readdir } from 'fs/promises';
|
|
7
|
-
import { join } from 'path';
|
|
10
|
+
import { join, parse } from 'path';
|
|
8
11
|
import { z } from 'zod';
|
|
9
|
-
import {
|
|
10
|
-
import { ForeignCallArgsSchema, ForeignCallResultSchema, fromArray, fromSingle,
|
|
11
|
-
const
|
|
12
|
-
|
|
12
|
+
import { TXESession } from './txe_session.js';
|
|
13
|
+
import { ForeignCallArgsSchema, ForeignCallResultSchema, fromArray, fromSingle, toSingle } from './util/encoding.js';
|
|
14
|
+
const sessions = new Map();
|
|
15
|
+
/*
|
|
16
|
+
* TXE typically has to load the same contract artifacts over and over again for multiple tests,
|
|
17
|
+
* so we cache them here to avoid both loading them from disk repeatedly and computing their artifact hashes
|
|
18
|
+
*/ const TXEArtifactsCache = new Map();
|
|
19
|
+
// TODO: why does the zod validation in the txe dispatcher not reject invalid function names?
|
|
13
20
|
const TXEForeignCallInputSchema = z.object({
|
|
14
21
|
// eslint-disable-next-line camelcase
|
|
15
22
|
session_id: z.number().int().nonnegative(),
|
|
@@ -26,44 +33,65 @@ class TXEDispatcher {
|
|
|
26
33
|
constructor(logger){
|
|
27
34
|
this.logger = logger;
|
|
28
35
|
}
|
|
36
|
+
fastHashFile(path) {
|
|
37
|
+
return new Promise((resolve)=>{
|
|
38
|
+
const fd = createReadStream(path);
|
|
39
|
+
const hash = createHash('sha1');
|
|
40
|
+
hash.setEncoding('hex');
|
|
41
|
+
fd.on('end', function() {
|
|
42
|
+
hash.end();
|
|
43
|
+
resolve(hash.read());
|
|
44
|
+
});
|
|
45
|
+
fd.pipe(hash);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
29
48
|
async #processDeployInputs({ inputs, root_path: rootPath, package_name: packageName }) {
|
|
30
|
-
const [
|
|
31
|
-
const decodedArgs = fromArray(inputs[
|
|
32
|
-
const secret = fromSingle(inputs[
|
|
49
|
+
const [contractPath, initializer] = inputs.slice(0, 2).map((input)=>fromArray(input).map((char)=>String.fromCharCode(char.toNumber())).join(''));
|
|
50
|
+
const decodedArgs = fromArray(inputs[3]);
|
|
51
|
+
const secret = fromSingle(inputs[4]);
|
|
33
52
|
const publicKeys = secret.equals(Fr.ZERO) ? PublicKeys.default() : (await deriveKeys(secret)).publicKeys;
|
|
34
53
|
const publicKeysHash = await publicKeys.hash();
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
let artifactPath = '';
|
|
55
|
+
const { dir: contractDirectory, base: contractFilename } = parse(contractPath);
|
|
56
|
+
if (contractDirectory) {
|
|
57
|
+
if (contractDirectory.includes('@')) {
|
|
58
|
+
// We're deploying a contract that belongs in a workspace
|
|
59
|
+
// env.deploy("../path/to/workspace/root@packageName/contractName")
|
|
60
|
+
const [workspace, pkg] = contractDirectory.split('@');
|
|
61
|
+
const targetPath = join(rootPath, workspace, '/target');
|
|
62
|
+
this.logger.debug(`Looking for compiled artifact in workspace ${targetPath}`);
|
|
63
|
+
artifactPath = join(targetPath, `${pkg}-${contractFilename}.json`);
|
|
64
|
+
} else {
|
|
65
|
+
// We're deploying a standalone external contract
|
|
66
|
+
// env.deploy("../path/to/contract/root/contractName")
|
|
67
|
+
const targetPath = join(rootPath, contractDirectory, '/target');
|
|
68
|
+
this.logger.debug(`Looking for compiled artifact in ${targetPath}`);
|
|
69
|
+
[artifactPath] = (await readdir(targetPath)).filter((file)=>file.endsWith(`-${contractFilename}.json`));
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
// We're deploying a local contract
|
|
73
|
+
// env.deploy("contractName")
|
|
74
|
+
artifactPath = join(rootPath, './target', `${packageName}-${contractFilename}.json`);
|
|
75
|
+
}
|
|
76
|
+
const fileHash = await this.fastHashFile(artifactPath);
|
|
77
|
+
const cacheKey = `${contractDirectory ?? ''}-${contractFilename}-${initializer}-${decodedArgs.map((arg)=>arg.toString()).join('-')}-${publicKeysHash}-${fileHash}`;
|
|
37
78
|
let instance;
|
|
79
|
+
let artifact;
|
|
38
80
|
if (TXEArtifactsCache.has(cacheKey)) {
|
|
39
81
|
this.logger.debug(`Using cached artifact for ${cacheKey}`);
|
|
40
82
|
({ artifact, instance } = TXEArtifactsCache.get(cacheKey));
|
|
41
83
|
} else {
|
|
42
|
-
let artifactPath = '';
|
|
43
|
-
// We're deploying the contract under test
|
|
44
|
-
// env.deploy_self("contractName")
|
|
45
|
-
if (!pathStr) {
|
|
46
|
-
artifactPath = join(rootPath, './target', `${packageName}-${contractName}.json`);
|
|
47
|
-
} else {
|
|
48
|
-
// We're deploying a contract that belongs in a workspace
|
|
49
|
-
// env.deploy("../path/to/workspace/root@packageName", "contractName")
|
|
50
|
-
if (pathStr.includes('@')) {
|
|
51
|
-
const [workspace, pkg] = pathStr.split('@');
|
|
52
|
-
const targetPath = join(rootPath, workspace, './target');
|
|
53
|
-
this.logger.debug(`Looking for compiled artifact in workspace ${targetPath}`);
|
|
54
|
-
artifactPath = join(targetPath, `${pkg}-${contractName}.json`);
|
|
55
|
-
} else {
|
|
56
|
-
// We're deploying a standalone contract
|
|
57
|
-
// env.deploy("../path/to/contract/root", "contractName")
|
|
58
|
-
const targetPath = join(rootPath, pathStr, './target');
|
|
59
|
-
this.logger.debug(`Looking for compiled artifact in ${targetPath}`);
|
|
60
|
-
[artifactPath] = (await readdir(targetPath)).filter((file)=>file.endsWith(`-${contractName}.json`));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
84
|
this.logger.debug(`Loading compiled artifact ${artifactPath}`);
|
|
64
|
-
|
|
85
|
+
const artifactJSON = JSON.parse(await readFile(artifactPath, 'utf-8'));
|
|
86
|
+
const artifactWithoutHash = loadContractArtifact(artifactJSON);
|
|
87
|
+
artifact = {
|
|
88
|
+
...artifactWithoutHash,
|
|
89
|
+
// Artifact hash is *very* expensive to compute, so we do it here once
|
|
90
|
+
// and the TXE contract data provider can cache it
|
|
91
|
+
artifactHash: await computeArtifactHash(artifactWithoutHash)
|
|
92
|
+
};
|
|
65
93
|
this.logger.debug(`Deploy ${artifact.name} with initializer ${initializer}(${decodedArgs}) and public keys hash ${publicKeysHash.toString()}`);
|
|
66
|
-
instance = await
|
|
94
|
+
instance = await getContractInstanceFromInstantiationParams(artifact, {
|
|
67
95
|
constructorArgs: decodedArgs,
|
|
68
96
|
skipArgsDecoding: true,
|
|
69
97
|
salt: Fr.ONE,
|
|
@@ -76,7 +104,7 @@ class TXEDispatcher {
|
|
|
76
104
|
instance
|
|
77
105
|
});
|
|
78
106
|
}
|
|
79
|
-
inputs.splice(0,
|
|
107
|
+
inputs.splice(0, 1, artifact, instance, toSingle(secret));
|
|
80
108
|
}
|
|
81
109
|
async #processAddAccountInputs({ inputs }) {
|
|
82
110
|
const secret = fromSingle(inputs[0]);
|
|
@@ -92,8 +120,13 @@ class TXEDispatcher {
|
|
|
92
120
|
keys.publicKeys.masterIncomingViewingPublicKey.x,
|
|
93
121
|
keys.publicKeys.masterIncomingViewingPublicKey.y
|
|
94
122
|
];
|
|
95
|
-
artifact =
|
|
96
|
-
|
|
123
|
+
artifact = {
|
|
124
|
+
...SchnorrAccountContractArtifact,
|
|
125
|
+
// Artifact hash is *very* expensive to compute, so we do it here once
|
|
126
|
+
// and the TXE contract data provider can cache it
|
|
127
|
+
artifactHash: await computeArtifactHash(SchnorrAccountContractArtifact)
|
|
128
|
+
};
|
|
129
|
+
instance = await getContractInstanceFromInstantiationParams(artifact, {
|
|
97
130
|
constructorArgs: args,
|
|
98
131
|
skipArgsDecoding: true,
|
|
99
132
|
salt: Fr.ONE,
|
|
@@ -112,33 +145,26 @@ class TXEDispatcher {
|
|
|
112
145
|
async resolve_foreign_call(callData) {
|
|
113
146
|
const { session_id: sessionId, function: functionName, inputs } = callData;
|
|
114
147
|
this.logger.debug(`Calling ${functionName} on session ${sessionId}`);
|
|
115
|
-
if (!
|
|
148
|
+
if (!sessions.has(sessionId)) {
|
|
116
149
|
this.logger.debug(`Creating new session ${sessionId}`);
|
|
117
150
|
if (!this.protocolContracts) {
|
|
118
151
|
this.protocolContracts = await Promise.all(protocolContractNames.map((name)=>new BundledProtocolContractsProvider().getProtocolContractArtifact(name)));
|
|
119
152
|
}
|
|
120
|
-
|
|
153
|
+
sessions.set(sessionId, await TXESession.init(this.protocolContracts));
|
|
121
154
|
}
|
|
122
155
|
switch(functionName){
|
|
123
|
-
case '
|
|
124
|
-
{
|
|
125
|
-
TXESessions.delete(sessionId) && this.logger.debug(`Called reset on session ${sessionId}, yeeting it out of existence`);
|
|
126
|
-
return toForeignCallResult([]);
|
|
127
|
-
}
|
|
128
|
-
case 'deploy':
|
|
156
|
+
case 'txeDeploy':
|
|
129
157
|
{
|
|
130
158
|
await this.#processDeployInputs(callData);
|
|
131
159
|
break;
|
|
132
160
|
}
|
|
133
|
-
case '
|
|
161
|
+
case 'txeAddAccount':
|
|
134
162
|
{
|
|
135
163
|
await this.#processAddAccountInputs(callData);
|
|
136
164
|
break;
|
|
137
165
|
}
|
|
138
166
|
}
|
|
139
|
-
|
|
140
|
-
const response = await txeService[functionName](...inputs);
|
|
141
|
-
return response;
|
|
167
|
+
return await sessions.get(sessionId).processFunction(functionName, inputs);
|
|
142
168
|
}
|
|
143
169
|
}
|
|
144
170
|
const TXEDispatcherApiSchema = {
|
|
@@ -1,152 +1,124 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
4
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
+
import { Fr, Point } from '@aztec/foundation/fields';
|
|
6
3
|
import { KeyStore } from '@aztec/key-store';
|
|
7
|
-
import
|
|
8
|
-
import type
|
|
9
|
-
import { AddressDataProvider, ContractDataProvider } from '@aztec/pxe/server';
|
|
10
|
-
import { type MessageLoadOracleInputs, type NoteData, type TypedOracle } from '@aztec/simulator/client';
|
|
11
|
-
import { type PublicTxResult } from '@aztec/simulator/server';
|
|
4
|
+
import { AddressDataProvider, CapsuleDataProvider, NoteDataProvider, PrivateEventDataProvider, TaggingDataProvider } from '@aztec/pxe/server';
|
|
5
|
+
import { ExecutionNoteCache, MessageLoadOracleInputs, type NoteData } from '@aztec/pxe/simulator';
|
|
12
6
|
import { type ContractArtifact, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
|
|
13
|
-
import { PublicDataWrite } from '@aztec/stdlib/avm';
|
|
14
7
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
-
import type
|
|
8
|
+
import { type ContractInstance, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
16
9
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
17
10
|
import { type KeyValidationRequest, PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
18
|
-
import { ContractClassLog,
|
|
19
|
-
import { IndexedTaggingSecret, type PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
|
|
11
|
+
import { ContractClassLog, IndexedTaggingSecret } from '@aztec/stdlib/logs';
|
|
20
12
|
import type { NoteStatus } from '@aztec/stdlib/note';
|
|
21
13
|
import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
|
|
22
|
-
import { BlockHeader } from '@aztec/stdlib/tx';
|
|
23
|
-
import {
|
|
14
|
+
import { BlockHeader, TxHash } from '@aztec/stdlib/tx';
|
|
15
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
16
|
+
import { TXEStateMachine } from '../state_machine/index.js';
|
|
24
17
|
import { TXEAccountDataProvider } from '../util/txe_account_data_provider.js';
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
import { TXEContractDataProvider } from '../util/txe_contract_data_provider.js';
|
|
19
|
+
import { TXETypedOracle } from './txe_typed_oracle.js';
|
|
20
|
+
export declare class TXE extends TXETypedOracle {
|
|
27
21
|
private keyStore;
|
|
28
22
|
private contractDataProvider;
|
|
29
23
|
private noteDataProvider;
|
|
30
24
|
private capsuleDataProvider;
|
|
31
|
-
private syncDataProvider;
|
|
32
25
|
private taggingDataProvider;
|
|
33
26
|
private addressDataProvider;
|
|
34
|
-
private
|
|
27
|
+
private privateEventDataProvider;
|
|
35
28
|
private accountDataProvider;
|
|
36
|
-
private executionCache;
|
|
37
29
|
private contractAddress;
|
|
38
|
-
|
|
39
|
-
private
|
|
30
|
+
baseFork: MerkleTreeWriteOperations;
|
|
31
|
+
private stateMachine;
|
|
32
|
+
private logger;
|
|
40
33
|
private blockNumber;
|
|
34
|
+
private timestamp;
|
|
41
35
|
private sideEffectCounter;
|
|
42
36
|
private msgSender;
|
|
43
37
|
private functionSelector;
|
|
44
|
-
private isStaticCall;
|
|
45
|
-
private nestedCallReturndata;
|
|
46
|
-
private nestedCallSuccess;
|
|
47
38
|
private pxeOracleInterface;
|
|
48
|
-
private publicDataWrites;
|
|
49
|
-
private uniqueNoteHashesFromPublic;
|
|
50
|
-
private siloedNullifiersFromPublic;
|
|
51
39
|
private privateLogs;
|
|
52
|
-
private publicLogs;
|
|
53
40
|
private committedBlocks;
|
|
54
|
-
private
|
|
41
|
+
private ROLLUP_VERSION;
|
|
55
42
|
private CHAIN_ID;
|
|
56
43
|
private node;
|
|
57
|
-
private
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
44
|
+
private simulator;
|
|
45
|
+
noteCache: ExecutionNoteCache;
|
|
46
|
+
private authwits;
|
|
47
|
+
private senderForTags?;
|
|
48
|
+
private executionCache;
|
|
49
|
+
constructor(keyStore: KeyStore, contractDataProvider: TXEContractDataProvider, noteDataProvider: NoteDataProvider, capsuleDataProvider: CapsuleDataProvider, taggingDataProvider: TaggingDataProvider, addressDataProvider: AddressDataProvider, privateEventDataProvider: PrivateEventDataProvider, accountDataProvider: TXEAccountDataProvider, contractAddress: AztecAddress, baseFork: MerkleTreeWriteOperations, stateMachine: TXEStateMachine);
|
|
50
|
+
utilityGetChainId(): Promise<Fr>;
|
|
51
|
+
utilityGetVersion(): Promise<Fr>;
|
|
65
52
|
getMsgSender(): AztecAddress;
|
|
66
|
-
|
|
67
|
-
setMsgSender(msgSender: AztecAddress): void;
|
|
68
|
-
setFunctionSelector(functionSelector: FunctionSelector): void;
|
|
69
|
-
getSideEffectsCounter(): number;
|
|
70
|
-
setSideEffectsCounter(sideEffectsCounter: number): void;
|
|
71
|
-
setContractAddress(contractAddress: AztecAddress): void;
|
|
53
|
+
txeSetContractAddress(contractAddress: AztecAddress): void;
|
|
72
54
|
setBlockNumber(blockNumber: number): void;
|
|
73
|
-
|
|
55
|
+
txeAdvanceBlocksBy(blocks: number): Promise<void>;
|
|
56
|
+
txeAdvanceTimestampBy(duration: UInt64): void;
|
|
57
|
+
txeDeploy(artifact: ContractArtifact, instance: ContractInstanceWithAddress, secret: Fr): Promise<void>;
|
|
58
|
+
txeAddAccount(artifact: ContractArtifact, instance: ContractInstanceWithAddress, secret: Fr): Promise<import("@aztec/aztec.js").CompleteAddress>;
|
|
59
|
+
txeCreateAccount(secret: Fr): Promise<import("@aztec/aztec.js").CompleteAddress>;
|
|
60
|
+
getContractDataProvider(): TXEContractDataProvider;
|
|
74
61
|
getKeyStore(): KeyStore;
|
|
75
62
|
getAccountDataProvider(): TXEAccountDataProvider;
|
|
76
63
|
getAddressDataProvider(): AddressDataProvider;
|
|
77
64
|
addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
|
|
78
65
|
addContractArtifact(contractClassId: Fr, artifact: ContractArtifact): Promise<void>;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
masterNullifierSecretKey: import("@aztec/aztec.js").Fq;
|
|
82
|
-
masterIncomingViewingSecretKey: import("@aztec/aztec.js").Fq;
|
|
83
|
-
masterOutgoingViewingSecretKey: import("@aztec/aztec.js").Fq;
|
|
84
|
-
masterTaggingSecretKey: import("@aztec/aztec.js").Fq;
|
|
85
|
-
publicKeys: import("@aztec/aztec.js").PublicKeys;
|
|
86
|
-
}>;
|
|
87
|
-
addAuthWitness(address: AztecAddress, messageHash: Fr): Promise<void>;
|
|
88
|
-
addPublicDataWrites(writes: PublicDataWrite[]): Promise<void>;
|
|
66
|
+
txeGetPrivateContextInputs(blockNumber?: number, sideEffectsCounter?: number, isStaticCall?: boolean): Promise<PrivateContextInputs>;
|
|
67
|
+
txeAddAuthWitness(address: AztecAddress, messageHash: Fr): Promise<void>;
|
|
89
68
|
checkNullifiersNotInTree(contractAddress: AztecAddress, nullifiers: Fr[]): Promise<void>;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
notifyCreatedNote(storageSlot: Fr, _noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): Promise<void>;
|
|
113
|
-
notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
|
|
114
|
-
notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
|
|
115
|
-
checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
69
|
+
utilityAssertCompatibleOracleVersion(version: number): void;
|
|
70
|
+
utilityGetBlockNumber(): Promise<number>;
|
|
71
|
+
utilityGetTimestamp(): Promise<bigint>;
|
|
72
|
+
txeGetLastBlockTimestamp(): Promise<bigint>;
|
|
73
|
+
utilityGetContractAddress(): Promise<AztecAddress>;
|
|
74
|
+
utilityGetRandomField(): Fr;
|
|
75
|
+
privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
|
|
76
|
+
privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
|
|
77
|
+
utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
|
|
78
|
+
utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
79
|
+
utilityGetMembershipWitness(blockNumber: number, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
|
|
80
|
+
utilityGetNullifierMembershipWitness(blockNumber: number, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
81
|
+
utilityGetPublicDataWitness(blockNumber: number, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
82
|
+
utilityGetLowNullifierMembershipWitness(blockNumber: number, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
83
|
+
utilityGetBlockHeader(blockNumber: number): Promise<BlockHeader | undefined>;
|
|
84
|
+
utilityGetCompleteAddress(account: AztecAddress): Promise<import("@aztec/aztec.js").CompleteAddress>;
|
|
85
|
+
utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
|
|
86
|
+
utilityGetNotes(storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
|
|
87
|
+
privateNotifyCreatedNote(storageSlot: Fr, _noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
|
|
88
|
+
privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
|
|
89
|
+
privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
|
|
90
|
+
utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
116
91
|
getL1ToL2MembershipWitness(_contractAddress: AztecAddress, _messageHash: Fr, _secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
117
|
-
|
|
118
|
-
storageWrite(startStorageSlot: Fr, values: Fr[]): Promise<Fr[]>;
|
|
92
|
+
utilityStorageRead(contractAddress: AztecAddress, startStorageSlot: Fr, blockNumber: number, numberOfElements: number): Promise<Fr[]>;
|
|
119
93
|
commitState(): Promise<void>;
|
|
120
94
|
getTxRequestHash(): Fr;
|
|
121
95
|
notifyCreatedContractClassLog(_log: ContractClassLog, _counter: number): Fr;
|
|
122
|
-
|
|
96
|
+
simulateUtilityFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr): Promise<Fr>;
|
|
97
|
+
getInitialWitness(abi: FunctionAbi, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean): Promise<Map<number, string>>;
|
|
98
|
+
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
99
|
+
utilityDebugLog(message: string, fields: Fr[]): void;
|
|
100
|
+
privateIncrementAppTaggingSecretIndexAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<void>;
|
|
101
|
+
utilityGetIndexedTaggingSecretAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<IndexedTaggingSecret>;
|
|
102
|
+
utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
|
|
103
|
+
utilityValidateEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
|
|
104
|
+
utilityBulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
|
|
105
|
+
utilityStoreCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[]): Promise<void>;
|
|
106
|
+
utilityLoadCapsule(contractAddress: AztecAddress, slot: Fr): Promise<Fr[] | null>;
|
|
107
|
+
utilityDeleteCapsule(contractAddress: AztecAddress, slot: Fr): Promise<void>;
|
|
108
|
+
utilityCopyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
|
|
109
|
+
utilityAes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
|
|
110
|
+
utilityGetSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
111
|
+
privateGetSenderForTags(): Promise<AztecAddress | undefined>;
|
|
112
|
+
privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
|
|
113
|
+
txePrivateCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress | undefined, functionSelector: FunctionSelector | undefined, args: Fr[], argsHash?: Fr, isStaticCall?: boolean): Promise<{
|
|
123
114
|
endSideEffectCounter: Fr;
|
|
124
115
|
returnsHash: Fr;
|
|
116
|
+
txHash: TxHash;
|
|
125
117
|
}>;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
|
|
132
|
-
debugLog(message: string, fields: Fr[]): void;
|
|
133
|
-
incrementAppTaggingSecretIndexAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<void>;
|
|
134
|
-
getIndexedTaggingSecretAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<IndexedTaggingSecret>;
|
|
135
|
-
syncNotes(): Promise<void>;
|
|
136
|
-
deliverNote(_contractAddress: AztecAddress, _storageSlot: Fr, _nonce: Fr, _content: Fr[], _noteHash: Fr, _nullifier: Fr, _txHash: Fr, _recipient: AztecAddress): Promise<void>;
|
|
137
|
-
getLogByTag(tag: Fr): Promise<LogWithTxData | null>;
|
|
138
|
-
avmOpcodeCall(targetContractAddress: AztecAddress, args: Fr[], isStaticCall: boolean): Promise<PublicTxResult>;
|
|
139
|
-
avmOpcodeSuccessCopy(): boolean;
|
|
140
|
-
avmOpcodeReturndataSize(): number;
|
|
141
|
-
avmOpcodeReturndataCopy(rdOffset: number, copySize: number): Fr[];
|
|
142
|
-
avmOpcodeNullifierExists(innerNullifier: Fr, targetAddress: AztecAddress): Promise<boolean>;
|
|
143
|
-
avmOpcodeEmitNullifier(nullifier: Fr): Promise<void>;
|
|
144
|
-
avmOpcodeEmitNoteHash(noteHash: Fr): Promise<void>;
|
|
145
|
-
avmOpcodeStorageRead(slot: Fr): Promise<Fr>;
|
|
146
|
-
storeCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[]): Promise<void>;
|
|
147
|
-
loadCapsule(contractAddress: AztecAddress, slot: Fr): Promise<Fr[] | null>;
|
|
148
|
-
deleteCapsule(contractAddress: AztecAddress, slot: Fr): Promise<void>;
|
|
149
|
-
copyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
|
|
150
|
-
aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
|
|
118
|
+
txePublicCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<{
|
|
119
|
+
returnsHash: Fr;
|
|
120
|
+
txHash: TxHash;
|
|
121
|
+
}>;
|
|
122
|
+
private getBlockTimestamp;
|
|
151
123
|
}
|
|
152
124
|
//# sourceMappingURL=txe_oracle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"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"}
|