@aztec/txe 2.0.0-nightly.20250821 → 2.0.0-nightly.20250823
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 +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -12
- package/dest/oracle/txe_oracle.d.ts +6 -3
- package/dest/oracle/txe_oracle.d.ts.map +1 -1
- package/dest/oracle/txe_oracle.js +61 -3
- package/dest/txe_service/txe_service.d.ts +59 -85
- package/dest/txe_service/txe_service.d.ts.map +1 -1
- package/dest/txe_service/txe_service.js +237 -398
- package/dest/txe_session.d.ts +63 -0
- package/dest/txe_session.d.ts.map +1 -0
- package/dest/txe_session.js +94 -0
- package/package.json +15 -15
- package/src/bin/index.ts +1 -1
- package/src/index.ts +7 -25
- package/src/oracle/txe_oracle.ts +79 -3
- package/src/txe_service/txe_service.ts +415 -645
- package/src/txe_session.ts +132 -0
package/dest/bin/index.js
CHANGED
|
@@ -14,7 +14,7 @@ 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, {
|
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;AA6NpD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,iEAIhD"}
|
package/dest/index.js
CHANGED
|
@@ -9,9 +9,9 @@ import { createReadStream } from 'fs';
|
|
|
9
9
|
import { readFile, readdir } from 'fs/promises';
|
|
10
10
|
import { join, parse } from 'path';
|
|
11
11
|
import { z } from 'zod';
|
|
12
|
-
import {
|
|
12
|
+
import { TXESession } from './txe_session.js';
|
|
13
13
|
import { ForeignCallArgsSchema, ForeignCallResultSchema, fromArray, fromSingle, toSingle } from './util/encoding.js';
|
|
14
|
-
const
|
|
14
|
+
const sessions = new Map();
|
|
15
15
|
/*
|
|
16
16
|
* TXE typically has to load the same contract artifacts over and over again for multiple tests,
|
|
17
17
|
* so we cache them here to avoid both loading them from disk repeatedly and computing their artifact hashes
|
|
@@ -144,12 +144,12 @@ class TXEDispatcher {
|
|
|
144
144
|
async resolve_foreign_call(callData) {
|
|
145
145
|
const { session_id: sessionId, function: functionName, inputs } = callData;
|
|
146
146
|
this.logger.debug(`Calling ${functionName} on session ${sessionId}`);
|
|
147
|
-
if (!
|
|
147
|
+
if (!sessions.has(sessionId)) {
|
|
148
148
|
this.logger.debug(`Creating new session ${sessionId}`);
|
|
149
149
|
if (!this.protocolContracts) {
|
|
150
150
|
this.protocolContracts = await Promise.all(protocolContractNames.map((name)=>new BundledProtocolContractsProvider().getProtocolContractArtifact(name)));
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
sessions.set(sessionId, await TXESession.init(this.protocolContracts));
|
|
153
153
|
}
|
|
154
154
|
switch(functionName){
|
|
155
155
|
case 'txeDeploy':
|
|
@@ -163,14 +163,7 @@ class TXEDispatcher {
|
|
|
163
163
|
break;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
|
|
167
|
-
// Check if the function exists on the txeService before calling it
|
|
168
|
-
if (typeof txeService[functionName] !== 'function') {
|
|
169
|
-
const availableMethods = Object.getOwnPropertyNames(Object.getPrototypeOf(txeService)).filter((name)=>typeof txeService[name] === 'function' && name !== 'constructor').sort();
|
|
170
|
-
throw new Error(`TXE function '${functionName}' is not available. ` + `Available methods: ${availableMethods.join(', ')}`);
|
|
171
|
-
}
|
|
172
|
-
const response = await txeService[functionName](...inputs);
|
|
173
|
-
return response;
|
|
166
|
+
return await sessions.get(sessionId).processFunction(functionName, inputs);
|
|
174
167
|
}
|
|
175
168
|
}
|
|
176
169
|
const TXEDispatcherApiSchema = {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { Fr, Point } from '@aztec/foundation/fields';
|
|
3
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
4
3
|
import { KeyStore } from '@aztec/key-store';
|
|
5
4
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
6
5
|
import type { ProtocolContract } from '@aztec/protocol-contracts';
|
|
@@ -10,7 +9,7 @@ import { type ContractArtifact, type FunctionAbi, FunctionSelector, type NoteSel
|
|
|
10
9
|
import { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
11
10
|
import { PublicDataWrite } from '@aztec/stdlib/avm';
|
|
12
11
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
13
|
-
import type
|
|
12
|
+
import { type ContractInstance, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
14
13
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
15
14
|
import { type KeyValidationRequest, PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
16
15
|
import { ContractClassLog, IndexedTaggingSecret } from '@aztec/stdlib/logs';
|
|
@@ -57,7 +56,7 @@ export declare class TXE {
|
|
|
57
56
|
private authwits;
|
|
58
57
|
private senderForTags?;
|
|
59
58
|
private constructor();
|
|
60
|
-
static create(
|
|
59
|
+
static create(store: AztecAsyncKVStore, protocolContracts: ProtocolContract[]): Promise<TXE>;
|
|
61
60
|
getNativeWorldStateService(): NativeWorldStateService;
|
|
62
61
|
getBaseFork(): MerkleTreeWriteOperations;
|
|
63
62
|
utilityGetChainId(): Promise<Fr>;
|
|
@@ -65,7 +64,11 @@ export declare class TXE {
|
|
|
65
64
|
getMsgSender(): AztecAddress;
|
|
66
65
|
txeSetContractAddress(contractAddress: AztecAddress): void;
|
|
67
66
|
setBlockNumber(blockNumber: number): void;
|
|
67
|
+
txeAdvanceBlocksBy(blocks: number): Promise<void>;
|
|
68
68
|
txeAdvanceTimestampBy(duration: UInt64): void;
|
|
69
|
+
txeDeploy(artifact: ContractArtifact, instance: ContractInstanceWithAddress, secret: Fr): Promise<void>;
|
|
70
|
+
txeAddAccount(artifact: ContractArtifact, instance: ContractInstanceWithAddress, secret: Fr): Promise<import("@aztec/aztec.js").CompleteAddress>;
|
|
71
|
+
txeCreateAccount(secret: Fr): Promise<import("@aztec/aztec.js").CompleteAddress>;
|
|
69
72
|
getContractDataProvider(): TXEContractDataProvider;
|
|
70
73
|
getKeyStore(): KeyStore;
|
|
71
74
|
getAccountDataProvider(): TXEAccountDataProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Body, L2Block, Note } from '@aztec/aztec.js';
|
|
2
|
-
import { DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
|
+
import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { Aes128, Schnorr } from '@aztec/foundation/crypto';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
|
-
import { applyStringFormatting } from '@aztec/foundation/log';
|
|
6
|
+
import { applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
7
7
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
8
8
|
import { KeyStore } from '@aztec/key-store';
|
|
9
9
|
import { AddressDataProvider, CapsuleDataProvider, NoteDataProvider, PXEOracleInterface, PrivateEventDataProvider, TaggingDataProvider, enrichPublicSimulationError } from '@aztec/pxe/server';
|
|
@@ -14,6 +14,7 @@ import { FunctionSelector, FunctionType, countArgumentsSize } from '@aztec/stdli
|
|
|
14
14
|
import { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
15
15
|
import { PublicDataWrite } from '@aztec/stdlib/avm';
|
|
16
16
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
17
|
+
import { computePartialAddress } from '@aztec/stdlib/contract';
|
|
17
18
|
import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
|
|
18
19
|
import { computeCalldataHash, computeNoteHashNonce, computePublicDataTreeLeafSlot, computeUniqueNoteHash, computeVarArgsHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
|
|
19
20
|
import { PartialPrivateTailPublicInputsForPublic, PrivateContextInputs, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PublicCallRequest } from '@aztec/stdlib/kernel';
|
|
@@ -99,7 +100,8 @@ export class TXE {
|
|
|
99
100
|
this.msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE);
|
|
100
101
|
this.pxeOracleInterface = new PXEOracleInterface(this.node, this.keyStore, this.contractDataProvider, this.noteDataProvider, this.capsuleDataProvider, this.syncDataProvider, this.taggingDataProvider, this.addressDataProvider, this.privateEventDataProvider, this.logger);
|
|
101
102
|
}
|
|
102
|
-
static async create(
|
|
103
|
+
static async create(store, protocolContracts) {
|
|
104
|
+
const logger = createLogger('txe:oracle');
|
|
103
105
|
const executionCache = new HashedValuesCache();
|
|
104
106
|
const stateMachine = await TXEStateMachine.create(store);
|
|
105
107
|
const syncDataProvider = stateMachine.syncDataProvider;
|
|
@@ -143,9 +145,58 @@ export class TXE {
|
|
|
143
145
|
setBlockNumber(blockNumber) {
|
|
144
146
|
this.blockNumber = blockNumber;
|
|
145
147
|
}
|
|
148
|
+
async txeAdvanceBlocksBy(blocks) {
|
|
149
|
+
this.logger.debug(`time traveling ${blocks} blocks`);
|
|
150
|
+
for(let i = 0; i < blocks; i++){
|
|
151
|
+
const blockNumber = await this.utilityGetBlockNumber();
|
|
152
|
+
await this.commitState();
|
|
153
|
+
this.setBlockNumber(blockNumber + 1);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
146
156
|
txeAdvanceTimestampBy(duration) {
|
|
157
|
+
this.logger.debug(`time traveling ${duration} seconds`);
|
|
147
158
|
this.timestamp = this.timestamp + duration;
|
|
148
159
|
}
|
|
160
|
+
async txeDeploy(artifact, instance, secret) {
|
|
161
|
+
// Emit deployment nullifier
|
|
162
|
+
await this.noteCache.nullifierCreated(AztecAddress.fromNumber(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), instance.address.toField());
|
|
163
|
+
// Make sure the deployment nullifier gets included in a tx in a block
|
|
164
|
+
const blockNumber = await this.utilityGetBlockNumber();
|
|
165
|
+
await this.commitState();
|
|
166
|
+
this.setBlockNumber(blockNumber + 1);
|
|
167
|
+
if (!secret.equals(Fr.ZERO)) {
|
|
168
|
+
await this.txeAddAccount(artifact, instance, secret);
|
|
169
|
+
} else {
|
|
170
|
+
await this.addContractInstance(instance);
|
|
171
|
+
await this.addContractArtifact(instance.currentContractClassId, artifact);
|
|
172
|
+
this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async txeAddAccount(artifact, instance, secret) {
|
|
176
|
+
const partialAddress = await computePartialAddress(instance);
|
|
177
|
+
this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
|
|
178
|
+
await this.addContractInstance(instance);
|
|
179
|
+
await this.addContractArtifact(instance.currentContractClassId, artifact);
|
|
180
|
+
const keyStore = this.getKeyStore();
|
|
181
|
+
const completeAddress = await keyStore.addAccount(secret, partialAddress);
|
|
182
|
+
const accountDataProvider = this.getAccountDataProvider();
|
|
183
|
+
await accountDataProvider.setAccount(completeAddress.address, completeAddress);
|
|
184
|
+
const addressDataProvider = this.getAddressDataProvider();
|
|
185
|
+
await addressDataProvider.addCompleteAddress(completeAddress);
|
|
186
|
+
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
187
|
+
return completeAddress;
|
|
188
|
+
}
|
|
189
|
+
async txeCreateAccount(secret) {
|
|
190
|
+
const keyStore = this.getKeyStore();
|
|
191
|
+
// This is a footgun !
|
|
192
|
+
const completeAddress = await keyStore.addAccount(secret, secret);
|
|
193
|
+
const accountDataProvider = this.getAccountDataProvider();
|
|
194
|
+
await accountDataProvider.setAccount(completeAddress.address, completeAddress);
|
|
195
|
+
const addressDataProvider = this.getAddressDataProvider();
|
|
196
|
+
await addressDataProvider.addCompleteAddress(completeAddress);
|
|
197
|
+
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
198
|
+
return completeAddress;
|
|
199
|
+
}
|
|
149
200
|
getContractDataProvider() {
|
|
150
201
|
return this.contractDataProvider;
|
|
151
202
|
}
|
|
@@ -180,6 +231,7 @@ export class TXE {
|
|
|
180
231
|
inputs.historicalHeader.lastArchive.root = Fr.fromBuffer((await previousBlockState.getTreeInfo(MerkleTreeId.ARCHIVE)).root);
|
|
181
232
|
inputs.callContext = new CallContext(this.msgSender, this.contractAddress, this.functionSelector, isStaticCall);
|
|
182
233
|
inputs.startSideEffectCounter = sideEffectsCounter;
|
|
234
|
+
this.logger.info(`Created private context for block ${blockNumber}`);
|
|
183
235
|
return inputs;
|
|
184
236
|
}
|
|
185
237
|
async txeAddAuthWitness(address, messageHash) {
|
|
@@ -295,6 +347,12 @@ export class TXE {
|
|
|
295
347
|
offset
|
|
296
348
|
});
|
|
297
349
|
this.logger.debug(`Returning ${notes.length} notes for ${this.contractAddress} at ${storageSlot}: ${notes.map((n)=>`${n.noteNonce.toString()}:[${n.note.items.map((i)=>i.toString()).join(',')}]`).join(', ')}`);
|
|
350
|
+
if (notes.length > 0) {
|
|
351
|
+
const noteLength = notes[0].note.items.length;
|
|
352
|
+
if (!notes.every(({ note })=>noteLength === note.items.length)) {
|
|
353
|
+
throw new Error('Notes should all be the same length.');
|
|
354
|
+
}
|
|
355
|
+
}
|
|
298
356
|
return notes;
|
|
299
357
|
}
|
|
300
358
|
privateNotifyCreatedNote(storageSlot, _noteTypeId, noteItems, noteHash, counter) {
|
|
@@ -1,59 +1,34 @@
|
|
|
1
1
|
import { type ContractInstanceWithAddress } from '@aztec/aztec.js';
|
|
2
|
-
import type { Logger } from '@aztec/foundation/log';
|
|
3
2
|
import type { ProtocolContract } from '@aztec/protocol-contracts';
|
|
4
3
|
import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
5
4
|
import { TXE } from '../oracle/txe_oracle.js';
|
|
6
5
|
import { type ForeignCallArray, type ForeignCallSingle } from '../util/encoding.js';
|
|
7
|
-
declare enum TXEContext {
|
|
8
|
-
TOP_LEVEL = 0,
|
|
9
|
-
PRIVATE = 1,
|
|
10
|
-
PUBLIC = 2,
|
|
11
|
-
UTILITY = 3
|
|
12
|
-
}
|
|
13
6
|
export declare class TXEService {
|
|
14
|
-
private logger;
|
|
15
7
|
private txe;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
static init(logger: Logger, protocolContracts: ProtocolContract[]): Promise<TXEService>;
|
|
20
|
-
txeEnableContextChecks(): {
|
|
21
|
-
values: (string | ForeignCallArray)[];
|
|
22
|
-
};
|
|
23
|
-
txeSetTopLevelTXEContext(): {
|
|
24
|
-
values: (string | ForeignCallArray)[];
|
|
25
|
-
};
|
|
26
|
-
txeSetPrivateTXEContext(): {
|
|
27
|
-
values: (string | ForeignCallArray)[];
|
|
28
|
-
};
|
|
29
|
-
txeSetPublicTXEContext(): {
|
|
30
|
-
values: (string | ForeignCallArray)[];
|
|
31
|
-
};
|
|
32
|
-
txeSetUtilityTXEContext(): {
|
|
33
|
-
values: (string | ForeignCallArray)[];
|
|
34
|
-
};
|
|
35
|
-
txeGetPrivateContextInputs(blockNumberIsSome: ForeignCallSingle, blockNumberValue: ForeignCallSingle): Promise<{
|
|
8
|
+
constructor(txe: TXE);
|
|
9
|
+
static init(protocolContracts: ProtocolContract[]): Promise<TXEService>;
|
|
10
|
+
txeGetPrivateContextInputs(foreignBlockNumberIsSome: ForeignCallSingle, foreignBlockNumberValue: ForeignCallSingle): Promise<{
|
|
36
11
|
values: (string | ForeignCallArray)[];
|
|
37
12
|
}>;
|
|
38
|
-
txeAdvanceBlocksBy(
|
|
13
|
+
txeAdvanceBlocksBy(foreignBlocks: ForeignCallSingle): Promise<{
|
|
39
14
|
values: (string | ForeignCallArray)[];
|
|
40
15
|
}>;
|
|
41
|
-
txeAdvanceTimestampBy(
|
|
16
|
+
txeAdvanceTimestampBy(foreignDuration: ForeignCallSingle): {
|
|
42
17
|
values: (string | ForeignCallArray)[];
|
|
43
18
|
};
|
|
44
|
-
txeSetContractAddress(
|
|
19
|
+
txeSetContractAddress(foreignAddress: ForeignCallSingle): {
|
|
45
20
|
values: (string | ForeignCallArray)[];
|
|
46
21
|
};
|
|
47
|
-
txeDeploy(artifact: ContractArtifact, instance: ContractInstanceWithAddress,
|
|
22
|
+
txeDeploy(artifact: ContractArtifact, instance: ContractInstanceWithAddress, foreignSecret: ForeignCallSingle): Promise<{
|
|
48
23
|
values: (string | ForeignCallArray)[];
|
|
49
24
|
}>;
|
|
50
|
-
txeCreateAccount(
|
|
25
|
+
txeCreateAccount(foreignSecret: ForeignCallSingle): Promise<{
|
|
51
26
|
values: (string | ForeignCallArray)[];
|
|
52
27
|
}>;
|
|
53
|
-
txeAddAccount(artifact: ContractArtifact, instance: ContractInstanceWithAddress,
|
|
28
|
+
txeAddAccount(artifact: ContractArtifact, instance: ContractInstanceWithAddress, foreignSecret: ForeignCallSingle): Promise<{
|
|
54
29
|
values: (string | ForeignCallArray)[];
|
|
55
30
|
}>;
|
|
56
|
-
txeAddAuthWitness(
|
|
31
|
+
txeAddAuthWitness(foreignAddress: ForeignCallSingle, foreignMessageHash: ForeignCallSingle): Promise<{
|
|
57
32
|
values: (string | ForeignCallArray)[];
|
|
58
33
|
}>;
|
|
59
34
|
utilityGetRandomField(): {
|
|
@@ -71,129 +46,129 @@ export declare class TXEService {
|
|
|
71
46
|
txeGetLastBlockTimestamp(): Promise<{
|
|
72
47
|
values: (string | ForeignCallArray)[];
|
|
73
48
|
}>;
|
|
74
|
-
privateStoreInExecutionCache(
|
|
49
|
+
privateStoreInExecutionCache(_foreignLength: ForeignCallSingle, foreignValues: ForeignCallArray, foreignHash: ForeignCallSingle): {
|
|
75
50
|
values: (string | ForeignCallArray)[];
|
|
76
51
|
};
|
|
77
|
-
privateLoadFromExecutionCache(
|
|
52
|
+
privateLoadFromExecutionCache(foreignHash: ForeignCallSingle): Promise<{
|
|
78
53
|
values: (string | ForeignCallArray)[];
|
|
79
54
|
}>;
|
|
80
|
-
utilityDebugLog(
|
|
55
|
+
utilityDebugLog(foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): {
|
|
81
56
|
values: (string | ForeignCallArray)[];
|
|
82
57
|
};
|
|
83
|
-
utilityStorageRead(
|
|
58
|
+
utilityStorageRead(foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignBlockNumber: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
|
|
84
59
|
values: (string | ForeignCallArray)[];
|
|
85
60
|
}>;
|
|
86
|
-
utilityGetPublicDataWitness(
|
|
61
|
+
utilityGetPublicDataWitness(foreignBlockNumber: ForeignCallSingle, foreignLeafSlot: ForeignCallSingle): Promise<{
|
|
87
62
|
values: (string | ForeignCallArray)[];
|
|
88
63
|
}>;
|
|
89
|
-
utilityGetNotes(
|
|
64
|
+
utilityGetNotes(foreignStorageSlot: ForeignCallSingle, foreignNumSelects: ForeignCallSingle, foreignSelectByIndexes: ForeignCallArray, foreignSelectByOffsets: ForeignCallArray, foreignSelectByLengths: ForeignCallArray, foreignSelectValues: ForeignCallArray, foreignSelectComparators: ForeignCallArray, foreignSortByIndexes: ForeignCallArray, foreignSortByOffsets: ForeignCallArray, foreignSortByLengths: ForeignCallArray, foreignSortOrder: ForeignCallArray, foreignLimit: ForeignCallSingle, foreignOffset: ForeignCallSingle, foreignStatus: ForeignCallSingle, foreignMaxNotes: ForeignCallSingle, foreignPackedRetrievedNoteLength: ForeignCallSingle): Promise<{
|
|
90
65
|
values: (string | ForeignCallArray)[];
|
|
91
66
|
}>;
|
|
92
|
-
privateNotifyCreatedNote(
|
|
67
|
+
privateNotifyCreatedNote(foreignStorageSlot: ForeignCallSingle, foreignNoteTypeId: ForeignCallSingle, foreignNote: ForeignCallArray, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): {
|
|
93
68
|
values: (string | ForeignCallArray)[];
|
|
94
69
|
};
|
|
95
|
-
privateNotifyNullifiedNote(
|
|
70
|
+
privateNotifyNullifiedNote(foreignInnerNullifier: ForeignCallSingle, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): Promise<{
|
|
96
71
|
values: (string | ForeignCallArray)[];
|
|
97
72
|
}>;
|
|
98
|
-
privateNotifyCreatedNullifier(
|
|
73
|
+
privateNotifyCreatedNullifier(foreignInnerNullifier: ForeignCallSingle): Promise<{
|
|
99
74
|
values: (string | ForeignCallArray)[];
|
|
100
75
|
}>;
|
|
101
|
-
utilityCheckNullifierExists(
|
|
76
|
+
utilityCheckNullifierExists(foreignInnerNullifier: ForeignCallSingle): Promise<{
|
|
102
77
|
values: (string | ForeignCallArray)[];
|
|
103
78
|
}>;
|
|
104
|
-
utilityGetContractInstance(
|
|
79
|
+
utilityGetContractInstance(foreignAddress: ForeignCallSingle): Promise<{
|
|
105
80
|
values: (string | ForeignCallArray)[];
|
|
106
81
|
}>;
|
|
107
|
-
utilityGetPublicKeysAndPartialAddress(
|
|
82
|
+
utilityGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle): Promise<{
|
|
108
83
|
values: (string | ForeignCallArray)[];
|
|
109
84
|
}>;
|
|
110
|
-
utilityGetKeyValidationRequest(
|
|
85
|
+
utilityGetKeyValidationRequest(foreignPkMHash: ForeignCallSingle): Promise<{
|
|
111
86
|
values: (string | ForeignCallArray)[];
|
|
112
87
|
}>;
|
|
113
|
-
privateCallPrivateFunction(
|
|
114
|
-
utilityGetNullifierMembershipWitness(
|
|
88
|
+
privateCallPrivateFunction(_foreignTargetContractAddress: ForeignCallSingle, _foreignFunctionSelector: ForeignCallSingle, _foreignArgsHash: ForeignCallSingle, _foreignSideEffectCounter: ForeignCallSingle, _foreignIsStaticCall: ForeignCallSingle): void;
|
|
89
|
+
utilityGetNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
|
|
115
90
|
values: (string | ForeignCallArray)[];
|
|
116
91
|
}>;
|
|
117
|
-
utilityGetAuthWitness(
|
|
92
|
+
utilityGetAuthWitness(foreignMessageHash: ForeignCallSingle): Promise<{
|
|
118
93
|
values: (string | ForeignCallArray)[];
|
|
119
94
|
}>;
|
|
120
|
-
privateNotifyEnqueuedPublicFunctionCall(
|
|
121
|
-
privateNotifySetPublicTeardownFunctionCall(
|
|
122
|
-
privateNotifySetMinRevertibleSideEffectCounter(
|
|
95
|
+
privateNotifyEnqueuedPublicFunctionCall(_foreignTargetContractAddress: ForeignCallSingle, _foreignCalldataHash: ForeignCallSingle, _foreignSideEffectCounter: ForeignCallSingle, _foreignIsStaticCall: ForeignCallSingle): void;
|
|
96
|
+
privateNotifySetPublicTeardownFunctionCall(_foreignTargetContractAddress: ForeignCallSingle, _foreignCalldataHash: ForeignCallSingle, _foreignSideEffectCounter: ForeignCallSingle, _foreignIsStaticCall: ForeignCallSingle): void;
|
|
97
|
+
privateNotifySetMinRevertibleSideEffectCounter(_foreignMinRevertibleSideEffectCounter: ForeignCallSingle): void;
|
|
123
98
|
utilityGetChainId(): Promise<{
|
|
124
99
|
values: (string | ForeignCallArray)[];
|
|
125
100
|
}>;
|
|
126
101
|
utilityGetVersion(): Promise<{
|
|
127
102
|
values: (string | ForeignCallArray)[];
|
|
128
103
|
}>;
|
|
129
|
-
utilityGetBlockHeader(
|
|
104
|
+
utilityGetBlockHeader(foreignBlockNumber: ForeignCallSingle): Promise<{
|
|
130
105
|
values: (string | ForeignCallArray)[];
|
|
131
106
|
}>;
|
|
132
|
-
utilityGetMembershipWitness(
|
|
107
|
+
utilityGetMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignTreeId: ForeignCallSingle, foreignLeafValue: ForeignCallSingle): Promise<{
|
|
133
108
|
values: (string | ForeignCallArray)[];
|
|
134
109
|
}>;
|
|
135
|
-
utilityGetLowNullifierMembershipWitness(
|
|
110
|
+
utilityGetLowNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
|
|
136
111
|
values: (string | ForeignCallArray)[];
|
|
137
112
|
}>;
|
|
138
|
-
utilityGetIndexedTaggingSecretAsSender(
|
|
113
|
+
utilityGetIndexedTaggingSecretAsSender(foreignSender: ForeignCallSingle, foreignRecipient: ForeignCallSingle): Promise<{
|
|
139
114
|
values: (string | ForeignCallArray)[];
|
|
140
115
|
}>;
|
|
141
|
-
utilityFetchTaggedLogs(
|
|
116
|
+
utilityFetchTaggedLogs(foreignPendingTaggedLogArrayBaseSlot: ForeignCallSingle): Promise<{
|
|
142
117
|
values: (string | ForeignCallArray)[];
|
|
143
118
|
}>;
|
|
144
|
-
utilityValidateEnqueuedNotesAndEvents(
|
|
119
|
+
utilityValidateEnqueuedNotesAndEvents(foreignContractAddress: ForeignCallSingle, foreignNoteValidationRequestsArrayBaseSlot: ForeignCallSingle, foreignEventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
|
|
145
120
|
values: (string | ForeignCallArray)[];
|
|
146
121
|
}>;
|
|
147
|
-
utilityBulkRetrieveLogs(
|
|
122
|
+
utilityBulkRetrieveLogs(foreignContractAddress: ForeignCallSingle, foreignLogRetrievalRequestsArrayBaseSlot: ForeignCallSingle, foreignLogRetrievalResponsesArrayBaseSlot: ForeignCallSingle): Promise<{
|
|
148
123
|
values: (string | ForeignCallArray)[];
|
|
149
124
|
}>;
|
|
150
|
-
utilityStoreCapsule(
|
|
125
|
+
utilityStoreCapsule(foreignContractAddress: ForeignCallSingle, foreignSlot: ForeignCallSingle, foreignCapsule: ForeignCallArray): Promise<{
|
|
151
126
|
values: (string | ForeignCallArray)[];
|
|
152
127
|
}>;
|
|
153
|
-
utilityLoadCapsule(
|
|
128
|
+
utilityLoadCapsule(foreignContractAddress: ForeignCallSingle, foreignSlot: ForeignCallSingle, foreignTSize: ForeignCallSingle): Promise<{
|
|
154
129
|
values: (string | ForeignCallArray)[];
|
|
155
130
|
}>;
|
|
156
|
-
utilityDeleteCapsule(
|
|
131
|
+
utilityDeleteCapsule(foreignContractAddress: ForeignCallSingle, foreignSlot: ForeignCallSingle): Promise<{
|
|
157
132
|
values: (string | ForeignCallArray)[];
|
|
158
133
|
}>;
|
|
159
|
-
utilityCopyCapsule(
|
|
134
|
+
utilityCopyCapsule(foreignContractAddress: ForeignCallSingle, foreignSrcSlot: ForeignCallSingle, foreignDstSlot: ForeignCallSingle, foreignNumEntries: ForeignCallSingle): Promise<{
|
|
160
135
|
values: (string | ForeignCallArray)[];
|
|
161
136
|
}>;
|
|
162
|
-
utilityAes128Decrypt(
|
|
137
|
+
utilityAes128Decrypt(foreignCiphertextBVecStorage: ForeignCallArray, foreignCiphertextLength: ForeignCallSingle, foreignIv: ForeignCallArray, foreignSymKey: ForeignCallArray): Promise<{
|
|
163
138
|
values: (string | ForeignCallArray)[];
|
|
164
139
|
}>;
|
|
165
|
-
utilityGetSharedSecret(
|
|
140
|
+
utilityGetSharedSecret(foreignAddress: ForeignCallSingle, foreignEphPKField0: ForeignCallSingle, foreignEphPKField1: ForeignCallSingle, foreignEphPKField2: ForeignCallSingle): Promise<{
|
|
166
141
|
values: (string | ForeignCallArray)[];
|
|
167
142
|
}>;
|
|
168
|
-
emitOffchainEffect(
|
|
169
|
-
avmOpcodeEmitUnencryptedLog(
|
|
143
|
+
emitOffchainEffect(_foreignData: ForeignCallArray): void;
|
|
144
|
+
avmOpcodeEmitUnencryptedLog(_foreignMessage: ForeignCallArray): {
|
|
170
145
|
values: (string | ForeignCallArray)[];
|
|
171
146
|
};
|
|
172
|
-
avmOpcodeStorageRead(
|
|
147
|
+
avmOpcodeStorageRead(foreignSlot: ForeignCallSingle): Promise<{
|
|
173
148
|
values: (string | ForeignCallArray)[];
|
|
174
149
|
}>;
|
|
175
|
-
avmOpcodeStorageWrite(
|
|
150
|
+
avmOpcodeStorageWrite(foreignSlot: ForeignCallSingle, foreignValue: ForeignCallSingle): Promise<{
|
|
176
151
|
values: (string | ForeignCallArray)[];
|
|
177
152
|
}>;
|
|
178
|
-
avmOpcodeGetContractInstanceDeployer(
|
|
153
|
+
avmOpcodeGetContractInstanceDeployer(foreignAddress: ForeignCallSingle): Promise<{
|
|
179
154
|
values: (string | ForeignCallArray)[];
|
|
180
155
|
}>;
|
|
181
|
-
avmOpcodeGetContractInstanceClassId(
|
|
156
|
+
avmOpcodeGetContractInstanceClassId(foreignAddress: ForeignCallSingle): Promise<{
|
|
182
157
|
values: (string | ForeignCallArray)[];
|
|
183
158
|
}>;
|
|
184
|
-
avmOpcodeGetContractInstanceInitializationHash(
|
|
159
|
+
avmOpcodeGetContractInstanceInitializationHash(foreignAddress: ForeignCallSingle): Promise<{
|
|
185
160
|
values: (string | ForeignCallArray)[];
|
|
186
161
|
}>;
|
|
187
162
|
avmOpcodeSender(): {
|
|
188
163
|
values: (string | ForeignCallArray)[];
|
|
189
164
|
};
|
|
190
|
-
avmOpcodeEmitNullifier(
|
|
165
|
+
avmOpcodeEmitNullifier(foreignNullifier: ForeignCallSingle): Promise<{
|
|
191
166
|
values: (string | ForeignCallArray)[];
|
|
192
167
|
}>;
|
|
193
|
-
avmOpcodeEmitNoteHash(
|
|
168
|
+
avmOpcodeEmitNoteHash(foreignNoteHash: ForeignCallSingle): Promise<{
|
|
194
169
|
values: (string | ForeignCallArray)[];
|
|
195
170
|
}>;
|
|
196
|
-
avmOpcodeNullifierExists(
|
|
171
|
+
avmOpcodeNullifierExists(foreignInnerNullifier: ForeignCallSingle, foreignTargetAddress: ForeignCallSingle): Promise<{
|
|
197
172
|
values: (string | ForeignCallArray)[];
|
|
198
173
|
}>;
|
|
199
174
|
avmOpcodeAddress(): Promise<{
|
|
@@ -215,25 +190,24 @@ export declare class TXEService {
|
|
|
215
190
|
values: (string | ForeignCallArray)[];
|
|
216
191
|
}>;
|
|
217
192
|
avmOpcodeReturndataSize(): void;
|
|
218
|
-
avmOpcodeReturndataCopy(
|
|
219
|
-
avmOpcodeCall(
|
|
220
|
-
avmOpcodeStaticCall(
|
|
193
|
+
avmOpcodeReturndataCopy(_foreignRdOffset: ForeignCallSingle, _foreignCopySize: ForeignCallSingle): void;
|
|
194
|
+
avmOpcodeCall(_foreignL2Gas: ForeignCallSingle, _foreignDaGas: ForeignCallSingle, _foreignAddress: ForeignCallSingle, _foreignLength: ForeignCallSingle, _foreignArgs: ForeignCallArray): void;
|
|
195
|
+
avmOpcodeStaticCall(_foreignL2Gas: ForeignCallSingle, _foreignDaGas: ForeignCallSingle, _foreignAddress: ForeignCallSingle, _foreignLength: ForeignCallSingle, _foreignArgs: ForeignCallArray): void;
|
|
221
196
|
avmOpcodeSuccessCopy(): void;
|
|
222
|
-
txePrivateCallNewFlow(
|
|
197
|
+
txePrivateCallNewFlow(foreignFrom: ForeignCallSingle, foreignTargetContractAddress: ForeignCallSingle, foreignFunctionSelector: ForeignCallSingle, _foreignArgsLength: ForeignCallSingle, foreignArgs: ForeignCallArray, foreignArgsHash: ForeignCallSingle, foreignIsStaticCall: ForeignCallSingle): Promise<{
|
|
223
198
|
values: (string | ForeignCallArray)[];
|
|
224
199
|
}>;
|
|
225
|
-
simulateUtilityFunction(
|
|
200
|
+
simulateUtilityFunction(foreignTargetContractAddress: ForeignCallSingle, foreignFunctionSelector: ForeignCallSingle, foreignArgsHash: ForeignCallSingle): Promise<{
|
|
226
201
|
values: (string | ForeignCallArray)[];
|
|
227
202
|
}>;
|
|
228
|
-
txePublicCallNewFlow(
|
|
203
|
+
txePublicCallNewFlow(foreignFrom: ForeignCallSingle, foreignAddress: ForeignCallSingle, _foreignLength: ForeignCallSingle, foreignCalldata: ForeignCallArray, foreignIsStaticCall: ForeignCallSingle): Promise<{
|
|
229
204
|
values: (string | ForeignCallArray)[];
|
|
230
205
|
}>;
|
|
231
206
|
privateGetSenderForTags(): Promise<{
|
|
232
207
|
values: (string | ForeignCallArray)[];
|
|
233
208
|
}>;
|
|
234
|
-
privateSetSenderForTags(
|
|
209
|
+
privateSetSenderForTags(foreignSenderForTags: ForeignCallSingle): Promise<{
|
|
235
210
|
values: (string | ForeignCallArray)[];
|
|
236
211
|
}>;
|
|
237
212
|
}
|
|
238
|
-
export {};
|
|
239
213
|
//# sourceMappingURL=txe_service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_service.d.ts","sourceRoot":"","sources":["../../src/txe_service/txe_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAa,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"txe_service.d.ts","sourceRoot":"","sources":["../../src/txe_service/txe_service.ts"],"names":[],"mappings":"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"}
|