@aztec/stdlib 0.81.0 → 0.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +5 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +2 -1
- package/dest/auth_witness/auth_witness.d.ts +21 -0
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +29 -0
- package/dest/block/index.d.ts +0 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_downloader/l2_block_stream.js +0 -2
- package/dest/block/l2_block_source.d.ts +6 -0
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +0 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +5 -0
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +7 -0
- package/dest/interfaces/archiver.d.ts +1 -2
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +1 -3
- package/dest/interfaces/aztec-node-admin.d.ts +20 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-admin.js +16 -0
- package/dest/interfaces/aztec-node.d.ts +8 -38
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +4 -12
- package/dest/interfaces/client.d.ts +1 -0
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- package/dest/interfaces/private_kernel_prover.d.ts +2 -3
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -2
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +5 -4
- package/dest/interfaces/pxe.d.ts +21 -39
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +10 -9
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +49 -0
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
- package/dest/kernel/private_kernel_prover_output.js +8 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts +3 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +2 -2
- package/dest/noir/index.d.ts +5 -1
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.d.ts +1 -2
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.js +6 -9
- package/dest/rollup/tube_inputs.d.ts +7 -2
- package/dest/rollup/tube_inputs.d.ts.map +1 -1
- package/dest/rollup/tube_inputs.js +10 -4
- package/dest/trees/nullifier_membership_witness.d.ts +4 -0
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +10 -0
- package/dest/trees/public_data_witness.d.ts +5 -5
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +13 -0
- package/dest/tx/index.d.ts +2 -0
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +2 -0
- package/dest/tx/private_execution_result.d.ts +4 -0
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +5 -0
- package/dest/tx/profiled_tx.d.ts +9 -0
- package/dest/tx/profiled_tx.d.ts.map +1 -0
- package/dest/tx/profiled_tx.js +27 -0
- package/dest/tx/proven_tx.d.ts +33 -0
- package/dest/tx/proven_tx.d.ts.map +1 -0
- package/dest/tx/proven_tx.js +35 -0
- package/dest/tx/simulated_tx.d.ts +8 -44
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -40
- package/dest/tx/tx_receipt.d.ts +1 -30
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +3 -13
- package/package.json +6 -7
- package/src/abi/abi.ts +7 -2
- package/src/auth_witness/auth_witness.ts +29 -0
- package/src/block/index.ts +0 -1
- package/src/block/l2_block_downloader/l2_block_stream.ts +0 -2
- package/src/block/l2_block_source.ts +7 -0
- package/src/contract/interfaces/contract_data_source.ts +0 -6
- package/src/database-version/version_manager.ts +10 -0
- package/src/interfaces/archiver.ts +2 -8
- package/src/interfaces/aztec-node-admin.ts +39 -0
- package/src/interfaces/aztec-node.ts +9 -71
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/private_kernel_prover.ts +2 -3
- package/src/interfaces/prover-node.ts +2 -4
- package/src/interfaces/pxe.ts +34 -56
- package/src/kernel/index.ts +1 -1
- package/src/kernel/private_kernel_prover_output.ts +44 -0
- package/src/kernel/private_kernel_simulated_output.ts +4 -13
- package/src/logs/log_with_tx_data.ts +2 -2
- package/src/noir/index.ts +6 -1
- package/src/proofs/client_ivc_proof.ts +5 -15
- package/src/rollup/tube_inputs.ts +8 -4
- package/src/trees/nullifier_membership_witness.ts +12 -0
- package/src/trees/public_data_witness.ts +15 -0
- package/src/tx/index.ts +2 -0
- package/src/tx/private_execution_result.ts +7 -0
- package/src/tx/profiled_tx.ts +27 -0
- package/src/tx/proven_tx.ts +58 -0
- package/src/tx/simulated_tx.ts +11 -63
- package/src/tx/tx_receipt.ts +0 -36
- package/dest/block/nullifier_with_block_source.d.ts +0 -6
- package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
- package/dest/block/nullifier_with_block_source.js +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
- package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
- package/src/block/nullifier_with_block_source.ts +0 -7
- package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
|
@@ -48,6 +48,19 @@ import { PublicDataTreeLeafPreimage } from './public_data_leaf.js';
|
|
|
48
48
|
...this.siblingPath.toFields()
|
|
49
49
|
];
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
|
|
53
|
+
*/ toNoirRepresentation() {
|
|
54
|
+
// TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
|
|
55
|
+
return [
|
|
56
|
+
new Fr(this.index).toString(),
|
|
57
|
+
new Fr(this.leafPreimage.slot).toString(),
|
|
58
|
+
new Fr(this.leafPreimage.value).toString(),
|
|
59
|
+
new Fr(this.leafPreimage.nextSlot).toString(),
|
|
60
|
+
new Fr(this.leafPreimage.nextIndex).toString(),
|
|
61
|
+
this.siblingPath.toFields().map((fr)=>fr.toString())
|
|
62
|
+
];
|
|
63
|
+
}
|
|
51
64
|
toBuffer() {
|
|
52
65
|
return serializeToBuffer([
|
|
53
66
|
this.index,
|
package/dest/tx/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export * from './tx_hash.js';
|
|
|
16
16
|
export * from './tx_receipt.js';
|
|
17
17
|
export * from './tx.js';
|
|
18
18
|
export * from './processed_tx.js';
|
|
19
|
+
export * from './proven_tx.js';
|
|
20
|
+
export * from './profiled_tx.js';
|
|
19
21
|
export * from './simulated_tx.js';
|
|
20
22
|
export * from './tx_effect.js';
|
|
21
23
|
export * from './public_simulation_output.js';
|
package/dest/tx/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
|
package/dest/tx/index.js
CHANGED
|
@@ -16,6 +16,8 @@ export * from './tx_hash.js';
|
|
|
16
16
|
export * from './tx_receipt.js';
|
|
17
17
|
export * from './tx.js';
|
|
18
18
|
export * from './processed_tx.js';
|
|
19
|
+
export * from './proven_tx.js';
|
|
20
|
+
export * from './profiled_tx.js';
|
|
19
21
|
export * from './simulated_tx.js';
|
|
20
22
|
export * from './tx_effect.js';
|
|
21
23
|
export * from './public_simulation_output.js';
|
|
@@ -98,6 +98,10 @@ export declare class PrivateExecutionResult {
|
|
|
98
98
|
static get schema(): ZodFor<PrivateExecutionResult>;
|
|
99
99
|
static from(fields: FieldsOf<PrivateExecutionResult>): PrivateExecutionResult;
|
|
100
100
|
static random(nested?: number): Promise<PrivateExecutionResult>;
|
|
101
|
+
/**
|
|
102
|
+
* The block number that this execution was simulated with.
|
|
103
|
+
*/
|
|
104
|
+
getSimulationBlockNumber(): number;
|
|
101
105
|
}
|
|
102
106
|
/**
|
|
103
107
|
* The result of executing a call to a private function.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,qBAAa,WAAW;IAEpB,gBAAgB;IACT,IAAI,EAAE,IAAI;IACjB,oCAAoC;IAC7B,WAAW,EAAE,EAAE;IACtB,gCAAgC;IACzB,UAAU,EAAE,YAAY;;IAL/B,gBAAgB;IACT,IAAI,EAAE,IAAI;IACjB,oCAAoC;IAC7B,WAAW,EAAE,EAAE;IACtB,gCAAgC;IACzB,UAAU,EAAE,YAAY;IAGjC,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;IAIzC,MAAM,CAAC,MAAM;CAGd;AAED,qBAAa,uBAAwB,YAAW,OAAO;IAClC,GAAG,EAAE,gBAAgB;IAAS,OAAO,EAAE,MAAM;gBAA7C,GAAG,EAAE,gBAAgB,EAAS,OAAO,EAAE,MAAM;IAEhE,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAOnD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAI9D,OAAO,IAAI,OAAO;CAGnB;AAED,qBAAa,6BAA6B;IACrB,OAAO,EAAE,sBAAsB;IAAS,OAAO,EAAE,MAAM;gBAAvD,OAAO,EAAE,sBAAsB,EAAS,OAAO,EAAE,MAAM;IAE1E,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAOzD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,6BAA6B,CAAC;IAI3D,OAAO,IAAI,OAAO;WAIL,MAAM;CAGpB;AAED,qBAAa,sBAAsB;IAExB,UAAU,EAAE,0BAA0B;IAC7C,qEAAqE;IAC9D,cAAc,EAAE,EAAE;gBAFlB,UAAU,EAAE,0BAA0B;IAC7C,qEAAqE;IAC9D,cAAc,EAAE,EAAE;IAG3B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAOlD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;WAIvC,MAAM,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,11 @@ export class PrivateExecutionResult {
|
|
|
96
96
|
static async random(nested = 1) {
|
|
97
97
|
return new PrivateExecutionResult(await PrivateCallExecutionResult.random(nested), Fr.random());
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* The block number that this execution was simulated with.
|
|
101
|
+
*/ getSimulationBlockNumber() {
|
|
102
|
+
return this.entrypoint.publicInputs.historicalHeader.globalVariables.blockNumber.toNumber();
|
|
103
|
+
}
|
|
99
104
|
}
|
|
100
105
|
/**
|
|
101
106
|
* The result of executing a call to a private function.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
2
|
+
import { type PrivateExecutionStep } from '../kernel/private_kernel_prover_output.js';
|
|
3
|
+
export declare class TxProfileResult {
|
|
4
|
+
executionSteps: PrivateExecutionStep[];
|
|
5
|
+
constructor(executionSteps: PrivateExecutionStep[]);
|
|
6
|
+
static get schema(): ZodFor<TxProfileResult>;
|
|
7
|
+
static random(): TxProfileResult;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=profiled_tx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiled_tx.d.ts","sourceRoot":"","sources":["../../src/tx/profiled_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAElH,qBAAa,eAAe;IACP,cAAc,EAAE,oBAAoB,EAAE;gBAAtC,cAAc,EAAE,oBAAoB,EAAE;IAEzD,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAM3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe;CASjC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
|
|
3
|
+
export class TxProfileResult {
|
|
4
|
+
executionSteps;
|
|
5
|
+
constructor(executionSteps){
|
|
6
|
+
this.executionSteps = executionSteps;
|
|
7
|
+
}
|
|
8
|
+
static get schema() {
|
|
9
|
+
return z.object({
|
|
10
|
+
executionSteps: z.array(PrivateExecutionStepSchema)
|
|
11
|
+
}).transform(({ executionSteps })=>new TxProfileResult(executionSteps));
|
|
12
|
+
}
|
|
13
|
+
static random() {
|
|
14
|
+
return new TxProfileResult([
|
|
15
|
+
{
|
|
16
|
+
functionName: 'random',
|
|
17
|
+
bytecode: Buffer.from('random'),
|
|
18
|
+
witness: new Map([
|
|
19
|
+
[
|
|
20
|
+
1,
|
|
21
|
+
'random'
|
|
22
|
+
]
|
|
23
|
+
])
|
|
24
|
+
}
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
4
|
+
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
5
|
+
import { PrivateExecutionResult } from './private_execution_result.js';
|
|
6
|
+
import { Tx } from './tx.js';
|
|
7
|
+
export declare class TxProvingResult {
|
|
8
|
+
privateExecutionResult: PrivateExecutionResult;
|
|
9
|
+
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
|
10
|
+
clientIvcProof: ClientIvcProof;
|
|
11
|
+
constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, clientIvcProof: ClientIvcProof);
|
|
12
|
+
toTx(): Tx;
|
|
13
|
+
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
14
|
+
privateExecutionResult: import("@aztec/foundation/schemas").ZodFor<PrivateExecutionResult>;
|
|
15
|
+
publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
|
|
16
|
+
clientIvcProof: z.ZodType<ClientIvcProof, any, string>;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
|
19
|
+
clientIvcProof: ClientIvcProof;
|
|
20
|
+
privateExecutionResult: PrivateExecutionResult;
|
|
21
|
+
}, {
|
|
22
|
+
publicInputs: string;
|
|
23
|
+
clientIvcProof: string;
|
|
24
|
+
privateExecutionResult?: any;
|
|
25
|
+
}>, TxProvingResult, {
|
|
26
|
+
publicInputs: string;
|
|
27
|
+
clientIvcProof: string;
|
|
28
|
+
privateExecutionResult?: any;
|
|
29
|
+
}>;
|
|
30
|
+
static from(fields: FieldsOf<TxProvingResult>): TxProvingResult;
|
|
31
|
+
static random(): Promise<TxProvingResult>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=proven_tx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/tx/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,eAAe;IAEjB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,cAAc,EAAE,cAAc;gBAF9B,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,cAAc;IAGvC,IAAI,IAAI,EAAE;IAeV,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;WAIhC,MAAM;CAOpB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
3
|
+
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
4
|
+
import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
|
|
5
|
+
import { Tx } from './tx.js';
|
|
6
|
+
export class TxProvingResult {
|
|
7
|
+
privateExecutionResult;
|
|
8
|
+
publicInputs;
|
|
9
|
+
clientIvcProof;
|
|
10
|
+
constructor(privateExecutionResult, publicInputs, clientIvcProof){
|
|
11
|
+
this.privateExecutionResult = privateExecutionResult;
|
|
12
|
+
this.publicInputs = publicInputs;
|
|
13
|
+
this.clientIvcProof = clientIvcProof;
|
|
14
|
+
}
|
|
15
|
+
toTx() {
|
|
16
|
+
const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
|
|
17
|
+
const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
|
|
18
|
+
const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
|
|
19
|
+
const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
|
|
20
|
+
return tx;
|
|
21
|
+
}
|
|
22
|
+
static get schema() {
|
|
23
|
+
return z.object({
|
|
24
|
+
privateExecutionResult: PrivateExecutionResult.schema,
|
|
25
|
+
publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
|
|
26
|
+
clientIvcProof: ClientIvcProof.schema
|
|
27
|
+
}).transform(TxProvingResult.from);
|
|
28
|
+
}
|
|
29
|
+
static from(fields) {
|
|
30
|
+
return new TxProvingResult(fields.privateExecutionResult, fields.publicInputs, fields.clientIvcProof);
|
|
31
|
+
}
|
|
32
|
+
static async random() {
|
|
33
|
+
return new TxProvingResult(await PrivateExecutionResult.random(), PrivateKernelTailCircuitPublicInputs.empty(), ClientIvcProof.empty());
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
2
2
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
3
|
-
import { z } from 'zod';
|
|
4
3
|
import type { GasUsed } from '../gas/gas_used.js';
|
|
5
|
-
import { type PrivateKernelProverProfileResult } from '../kernel/private_kernel_prover_profile_result.js';
|
|
6
4
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
7
|
-
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
8
5
|
import { PrivateExecutionResult } from './private_execution_result.js';
|
|
9
6
|
import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
|
|
10
7
|
import { Tx } from './tx.js';
|
|
@@ -15,52 +12,19 @@ export declare class PrivateSimulationResult {
|
|
|
15
12
|
getPrivateReturnValues(): NestedProcessReturnValues;
|
|
16
13
|
toSimulatedTx(): Tx;
|
|
17
14
|
}
|
|
18
|
-
export declare class TxSimulationResult
|
|
15
|
+
export declare class TxSimulationResult {
|
|
16
|
+
privateExecutionResult: PrivateExecutionResult;
|
|
17
|
+
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
|
19
18
|
publicOutput?: PublicSimulationOutput | undefined;
|
|
20
|
-
|
|
21
|
-
gateCounts: {
|
|
22
|
-
circuitName: string;
|
|
23
|
-
gateCount: number;
|
|
24
|
-
}[];
|
|
25
|
-
} | undefined;
|
|
26
|
-
constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined, profileResult?: {
|
|
27
|
-
gateCounts: {
|
|
28
|
-
circuitName: string;
|
|
29
|
-
gateCount: number;
|
|
30
|
-
}[];
|
|
31
|
-
} | undefined);
|
|
19
|
+
constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined);
|
|
32
20
|
get gasUsed(): GasUsed;
|
|
33
21
|
static get schema(): ZodFor<TxSimulationResult>;
|
|
34
22
|
static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>): TxSimulationResult;
|
|
35
|
-
|
|
36
|
-
static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput, profileResult?: PrivateKernelProverProfileResult): TxSimulationResult;
|
|
23
|
+
static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput): TxSimulationResult;
|
|
37
24
|
static random(): Promise<TxSimulationResult>;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
|
42
|
-
clientIvcProof: ClientIvcProof;
|
|
43
|
-
constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, clientIvcProof: ClientIvcProof);
|
|
44
|
-
toTx(): Tx;
|
|
45
|
-
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
46
|
-
privateExecutionResult: ZodFor<PrivateExecutionResult>;
|
|
47
|
-
publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
|
|
48
|
-
clientIvcProof: z.ZodType<ClientIvcProof, any, string>;
|
|
49
|
-
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
|
51
|
-
clientIvcProof: ClientIvcProof;
|
|
52
|
-
privateExecutionResult: PrivateExecutionResult;
|
|
53
|
-
}, {
|
|
54
|
-
publicInputs: string;
|
|
55
|
-
clientIvcProof: string;
|
|
56
|
-
privateExecutionResult?: any;
|
|
57
|
-
}>, TxProvingResult, {
|
|
58
|
-
publicInputs: string;
|
|
59
|
-
clientIvcProof: string;
|
|
60
|
-
privateExecutionResult?: any;
|
|
61
|
-
}>;
|
|
62
|
-
static from(fields: FieldsOf<TxProvingResult>): TxProvingResult;
|
|
63
|
-
static random(): Promise<TxProvingResult>;
|
|
25
|
+
getPrivateReturnValues(): NestedProcessReturnValues;
|
|
26
|
+
toSimulatedTx(): Tx;
|
|
27
|
+
getPublicReturnValues(): NestedProcessReturnValues[];
|
|
64
28
|
}
|
|
65
29
|
/**
|
|
66
30
|
* Recursively accummulate the return values of a call result and its nested executions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAE9G,OAAO,EAEL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;gBADlD,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC;IAG3D,sBAAsB;IAItB,aAAa,IAAI,EAAE;CAcpB;AAED,qBAAa,kBAAkB;IAEpB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,YAAY,CAAC;gBAFb,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,YAAY,CAAC,oCAAwB;IAG9C,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAQ9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAIjE,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB;WAS1B,MAAM;IAQnB,sBAAsB;IAItB,aAAa,IAAI,EAAE;IAInB,qBAAqB;CAGtB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
|
package/dest/tx/simulated_tx.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Gas } from '../gas/gas.js';
|
|
3
|
-
import { PrivateKernelProverProfileResultSchema } from '../kernel/private_kernel_prover_profile_result.js';
|
|
4
3
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
5
4
|
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
6
5
|
import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
|
|
@@ -24,11 +23,14 @@ export class PrivateSimulationResult {
|
|
|
24
23
|
return tx;
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
|
-
export class TxSimulationResult
|
|
26
|
+
export class TxSimulationResult {
|
|
27
|
+
privateExecutionResult;
|
|
28
|
+
publicInputs;
|
|
28
29
|
publicOutput;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
constructor(privateExecutionResult, publicInputs, publicOutput){
|
|
31
|
+
this.privateExecutionResult = privateExecutionResult;
|
|
32
|
+
this.publicInputs = publicInputs;
|
|
33
|
+
this.publicOutput = publicOutput;
|
|
32
34
|
}
|
|
33
35
|
get gasUsed() {
|
|
34
36
|
return this.publicOutput?.gasUsed ?? {
|
|
@@ -42,51 +44,26 @@ export class TxSimulationResult extends PrivateSimulationResult {
|
|
|
42
44
|
return z.object({
|
|
43
45
|
privateExecutionResult: PrivateExecutionResult.schema,
|
|
44
46
|
publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
|
|
45
|
-
publicOutput: PublicSimulationOutput.schema.optional()
|
|
46
|
-
profileResult: PrivateKernelProverProfileResultSchema.optional()
|
|
47
|
+
publicOutput: PublicSimulationOutput.schema.optional()
|
|
47
48
|
}).transform(TxSimulationResult.from);
|
|
48
49
|
}
|
|
49
50
|
static from(fields) {
|
|
50
|
-
return new TxSimulationResult(fields.privateExecutionResult, fields.publicInputs, fields.publicOutput
|
|
51
|
-
}
|
|
52
|
-
getPublicReturnValues() {
|
|
53
|
-
return this.publicOutput ? this.publicOutput.publicReturnValues : [];
|
|
51
|
+
return new TxSimulationResult(fields.privateExecutionResult, fields.publicInputs, fields.publicOutput);
|
|
54
52
|
}
|
|
55
|
-
static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult, publicOutput
|
|
56
|
-
return new TxSimulationResult(privateSimulationResult.privateExecutionResult, privateSimulationResult.publicInputs, publicOutput
|
|
53
|
+
static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult, publicOutput) {
|
|
54
|
+
return new TxSimulationResult(privateSimulationResult.privateExecutionResult, privateSimulationResult.publicInputs, publicOutput);
|
|
57
55
|
}
|
|
58
56
|
static async random() {
|
|
59
57
|
return new TxSimulationResult(await PrivateExecutionResult.random(), PrivateKernelTailCircuitPublicInputs.empty(), await PublicSimulationOutput.random());
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
privateExecutionResult;
|
|
64
|
-
publicInputs;
|
|
65
|
-
clientIvcProof;
|
|
66
|
-
constructor(privateExecutionResult, publicInputs, clientIvcProof){
|
|
67
|
-
this.privateExecutionResult = privateExecutionResult;
|
|
68
|
-
this.publicInputs = publicInputs;
|
|
69
|
-
this.clientIvcProof = clientIvcProof;
|
|
70
|
-
}
|
|
71
|
-
toTx() {
|
|
72
|
-
const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
|
|
73
|
-
const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
|
|
74
|
-
const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
|
|
75
|
-
const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
|
|
76
|
-
return tx;
|
|
77
|
-
}
|
|
78
|
-
static get schema() {
|
|
79
|
-
return z.object({
|
|
80
|
-
privateExecutionResult: PrivateExecutionResult.schema,
|
|
81
|
-
publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
|
|
82
|
-
clientIvcProof: ClientIvcProof.schema
|
|
83
|
-
}).transform(TxProvingResult.from);
|
|
59
|
+
getPrivateReturnValues() {
|
|
60
|
+
return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).getPrivateReturnValues();
|
|
84
61
|
}
|
|
85
|
-
|
|
86
|
-
return new
|
|
62
|
+
toSimulatedTx() {
|
|
63
|
+
return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).toSimulatedTx();
|
|
87
64
|
}
|
|
88
|
-
|
|
89
|
-
return
|
|
65
|
+
getPublicReturnValues() {
|
|
66
|
+
return this.publicOutput ? this.publicOutput.publicReturnValues : [];
|
|
90
67
|
}
|
|
91
68
|
}
|
|
92
69
|
/**
|
package/dest/tx/tx_receipt.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/fields';
|
|
2
1
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
3
|
-
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
4
2
|
import { RevertCode } from '../avm/revert_code.js';
|
|
5
3
|
import { L2BlockHash } from '../block/block_hash.js';
|
|
6
4
|
import { type ZodFor } from '../schemas/schemas.js';
|
|
@@ -35,8 +33,6 @@ export declare class TxReceipt {
|
|
|
35
33
|
blockHash?: L2BlockHash | undefined;
|
|
36
34
|
/** The block number in which the transaction was included. */
|
|
37
35
|
blockNumber?: number | undefined;
|
|
38
|
-
/** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */
|
|
39
|
-
debugInfo?: DebugInfo | undefined;
|
|
40
36
|
constructor(
|
|
41
37
|
/** A unique identifier for a transaction. */
|
|
42
38
|
txHash: TxHash,
|
|
@@ -49,35 +45,10 @@ export declare class TxReceipt {
|
|
|
49
45
|
/** The hash of the block containing the transaction. */
|
|
50
46
|
blockHash?: L2BlockHash | undefined,
|
|
51
47
|
/** The block number in which the transaction was included. */
|
|
52
|
-
blockNumber?: number | undefined
|
|
53
|
-
/** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */
|
|
54
|
-
debugInfo?: DebugInfo | undefined);
|
|
48
|
+
blockNumber?: number | undefined);
|
|
55
49
|
static empty(): TxReceipt;
|
|
56
50
|
static get schema(): ZodFor<TxReceipt>;
|
|
57
51
|
static from(fields: FieldsOf<TxReceipt>): TxReceipt;
|
|
58
52
|
static statusFromRevertCode(revertCode: RevertCode): TxStatus.SUCCESS | TxStatus.APP_LOGIC_REVERTED | TxStatus.TEARDOWN_REVERTED | TxStatus.BOTH_REVERTED;
|
|
59
53
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Information useful for debugging/testing purposes included in the receipt when the debug flag is set to true
|
|
62
|
-
* in `WaitOpts`.
|
|
63
|
-
*/
|
|
64
|
-
interface DebugInfo {
|
|
65
|
-
/**
|
|
66
|
-
* New note hashes created by the transaction.
|
|
67
|
-
*/
|
|
68
|
-
noteHashes: Fr[];
|
|
69
|
-
/**
|
|
70
|
-
* New nullifiers created by the transaction.
|
|
71
|
-
*/
|
|
72
|
-
nullifiers: Fr[];
|
|
73
|
-
/**
|
|
74
|
-
* New public data writes created by the transaction.
|
|
75
|
-
*/
|
|
76
|
-
publicDataWrites: PublicDataWrite[];
|
|
77
|
-
/**
|
|
78
|
-
* New L2 to L1 messages created by the transaction.
|
|
79
|
-
*/
|
|
80
|
-
l2ToL1Msgs: Fr[];
|
|
81
|
-
}
|
|
82
|
-
export {};
|
|
83
54
|
//# sourceMappingURL=tx_receipt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;;IAXnB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC,oBAAQ;IAC9B,wDAAwD;IACjD,SAAS,CAAC,yBAAa;IAC9B,8DAA8D;IACvD,WAAW,CAAC,oBAAQ;IAG7B,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAWrC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;WAWzB,oBAAoB,CAAC,UAAU,EAAE,UAAU;CAa1D"}
|
package/dest/tx/tx_receipt.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
3
2
|
import { RevertCode } from '../avm/revert_code.js';
|
|
4
3
|
import { L2BlockHash } from '../block/block_hash.js';
|
|
5
4
|
import { schemas } from '../schemas/schemas.js';
|
|
@@ -27,15 +26,13 @@ import { TxHash } from './tx_hash.js';
|
|
|
27
26
|
transactionFee;
|
|
28
27
|
blockHash;
|
|
29
28
|
blockNumber;
|
|
30
|
-
|
|
31
|
-
constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's status. */ status, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber, /** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */ debugInfo){
|
|
29
|
+
constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's status. */ status, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber){
|
|
32
30
|
this.txHash = txHash;
|
|
33
31
|
this.status = status;
|
|
34
32
|
this.error = error;
|
|
35
33
|
this.transactionFee = transactionFee;
|
|
36
34
|
this.blockHash = blockHash;
|
|
37
35
|
this.blockNumber = blockNumber;
|
|
38
|
-
this.debugInfo = debugInfo;
|
|
39
36
|
}
|
|
40
37
|
static empty() {
|
|
41
38
|
return new TxReceipt(TxHash.zero(), "dropped", '');
|
|
@@ -47,12 +44,11 @@ import { TxHash } from './tx_hash.js';
|
|
|
47
44
|
error: z.string(),
|
|
48
45
|
blockHash: L2BlockHash.schema.optional(),
|
|
49
46
|
blockNumber: z.number().int().nonnegative().optional(),
|
|
50
|
-
transactionFee: schemas.BigInt.optional()
|
|
51
|
-
debugInfo: DebugInfoSchema.optional()
|
|
47
|
+
transactionFee: schemas.BigInt.optional()
|
|
52
48
|
}).transform(TxReceipt.from);
|
|
53
49
|
}
|
|
54
50
|
static from(fields) {
|
|
55
|
-
return new TxReceipt(fields.txHash, fields.status, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber
|
|
51
|
+
return new TxReceipt(fields.txHash, fields.status, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber);
|
|
56
52
|
}
|
|
57
53
|
static statusFromRevertCode(revertCode) {
|
|
58
54
|
if (revertCode.equals(RevertCode.OK)) {
|
|
@@ -68,9 +64,3 @@ import { TxHash } from './tx_hash.js';
|
|
|
68
64
|
}
|
|
69
65
|
}
|
|
70
66
|
}
|
|
71
|
-
const DebugInfoSchema = z.object({
|
|
72
|
-
noteHashes: z.array(schemas.Fr),
|
|
73
|
-
nullifiers: z.array(schemas.Fr),
|
|
74
|
-
publicDataWrites: z.array(PublicDataWrite.schema),
|
|
75
|
-
l2ToL1Msgs: z.array(schemas.Fr)
|
|
76
|
-
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.82.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"./keys": "./dest/keys/index.js",
|
|
14
14
|
"./testing": "./dest/tests/index.js",
|
|
15
15
|
"./testing/fixtures": "./dest/tests/fixtures.js",
|
|
16
|
-
"./interfaces": "./dest/interfaces/index.js",
|
|
17
16
|
"./network": "./dest/network/index.js",
|
|
18
17
|
"./utils": "./dest/utils/index.js",
|
|
19
18
|
"./types": "./dest/types/index.js",
|
|
@@ -66,11 +65,11 @@
|
|
|
66
65
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
67
66
|
},
|
|
68
67
|
"dependencies": {
|
|
69
|
-
"@aztec/bb.js": "0.
|
|
70
|
-
"@aztec/blob-lib": "0.
|
|
71
|
-
"@aztec/constants": "0.
|
|
72
|
-
"@aztec/ethereum": "0.
|
|
73
|
-
"@aztec/foundation": "0.
|
|
68
|
+
"@aztec/bb.js": "0.82.0",
|
|
69
|
+
"@aztec/blob-lib": "0.82.0",
|
|
70
|
+
"@aztec/constants": "0.82.0",
|
|
71
|
+
"@aztec/ethereum": "0.82.0",
|
|
72
|
+
"@aztec/foundation": "0.82.0",
|
|
74
73
|
"lodash.chunk": "^4.2.0",
|
|
75
74
|
"lodash.isequal": "^4.5.0",
|
|
76
75
|
"lodash.omit": "^4.5.0",
|
package/src/abi/abi.ts
CHANGED
|
@@ -231,6 +231,11 @@ export interface FunctionArtifact extends FunctionAbi {
|
|
|
231
231
|
debug?: FunctionDebugMetadata;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
export interface FunctionArtifactWithContractName extends FunctionArtifact {
|
|
235
|
+
/** The name of the contract. */
|
|
236
|
+
contractName: string;
|
|
237
|
+
}
|
|
238
|
+
|
|
234
239
|
export const FunctionArtifactSchema = FunctionAbiSchema.and(
|
|
235
240
|
z.object({
|
|
236
241
|
bytecode: schemas.Buffer,
|
|
@@ -395,7 +400,7 @@ export function getFunctionArtifactByName(artifact: ContractArtifact, functionNa
|
|
|
395
400
|
export async function getFunctionArtifact(
|
|
396
401
|
artifact: ContractArtifact,
|
|
397
402
|
functionNameOrSelector: string | FunctionSelector,
|
|
398
|
-
): Promise<
|
|
403
|
+
): Promise<FunctionArtifactWithContractName> {
|
|
399
404
|
let functionArtifact;
|
|
400
405
|
if (typeof functionNameOrSelector === 'string') {
|
|
401
406
|
functionArtifact = artifact.functions.find(f => f.name === functionNameOrSelector);
|
|
@@ -416,7 +421,7 @@ export async function getFunctionArtifact(
|
|
|
416
421
|
|
|
417
422
|
const debugMetadata = getFunctionDebugMetadata(artifact, functionArtifact);
|
|
418
423
|
|
|
419
|
-
return { ...functionArtifact, debug: debugMetadata };
|
|
424
|
+
return { ...functionArtifact, debug: debugMetadata, contractName: artifact.name };
|
|
420
425
|
}
|
|
421
426
|
|
|
422
427
|
/** Gets all function abis */
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
1
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
6
|
|
|
7
|
+
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
8
|
import { hexSchemaFor } from '../schemas/schemas.js';
|
|
6
9
|
import { Vector } from '../types/shared.js';
|
|
7
10
|
|
|
@@ -50,3 +53,29 @@ export class AuthWitness {
|
|
|
50
53
|
return new AuthWitness(Fr.random(), [Fr.random(), Fr.random(), Fr.random()]);
|
|
51
54
|
}
|
|
52
55
|
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Compute the inner hash for an authentication witness.
|
|
59
|
+
* This is the "intent" of the message, before siloed with the consumer.
|
|
60
|
+
* @param args - The arguments to hash
|
|
61
|
+
* @returns The inner hash for the witness
|
|
62
|
+
*/
|
|
63
|
+
export const computeInnerAuthWitHash = (args: Fr[]) => {
|
|
64
|
+
return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Compute the outer hash for an authentication witness.
|
|
69
|
+
* This is the value siloed with its "consumer" and what the `on_behalf_of`
|
|
70
|
+
* should be signing.
|
|
71
|
+
* The consumer is who will be consuming the message, for token approvals it
|
|
72
|
+
* is the token contract itself (because the token makes the call to check the approval).
|
|
73
|
+
* @param consumer - The address that can "consume" the authwit
|
|
74
|
+
* @param chainId - The chain id that can "consume" the authwit
|
|
75
|
+
* @param version - The version that can "consume" the authwit
|
|
76
|
+
* @param innerHash - The inner hash for the witness
|
|
77
|
+
* @returns The outer hash for the witness
|
|
78
|
+
*/
|
|
79
|
+
export const computeOuterAuthWitHash = (consumer: AztecAddress, chainId: Fr, version: Fr, innerHash: Fr) => {
|
|
80
|
+
return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], GeneratorIndex.AUTHWIT_OUTER);
|
|
81
|
+
};
|
package/src/block/index.ts
CHANGED
|
@@ -93,8 +93,6 @@ export class L2BlockStream {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// Update the proven and finalized tips.
|
|
96
|
-
// TODO(palla/reorg): Should we emit this before passing the new blocks? This would allow world-state to skip
|
|
97
|
-
// building the data structures for the pending chain if it's unneeded.
|
|
98
96
|
if (localTips.proven !== undefined && sourceTips.proven.number !== localTips.proven.number) {
|
|
99
97
|
await this.emitEvent({ type: 'chain-proven', blockNumber: sourceTips.proven.number });
|
|
100
98
|
}
|
|
@@ -97,6 +97,13 @@ export interface L2BlockSource {
|
|
|
97
97
|
*/
|
|
98
98
|
getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Returns all block headers for a given epoch.
|
|
102
|
+
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
103
|
+
* @param epochNumber - The epoch number to return headers for.
|
|
104
|
+
*/
|
|
105
|
+
getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
|
|
106
|
+
|
|
100
107
|
/**
|
|
101
108
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
102
109
|
* @param epochNumber - The epoch number to check.
|