@aztec/stdlib 0.0.1-commit.3100065 → 0.0.1-commit.330febf
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 +32 -7
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +11 -2
- package/dest/abi/contract_artifact.d.ts +1 -14
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +35 -36
- package/dest/abi/decoder.d.ts +12 -5
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +18 -21
- package/dest/abi/function_call.d.ts +17 -8
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +28 -9
- package/dest/avm/avm.d.ts +212 -211
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +3 -1
- package/dest/avm/index.d.ts +1 -6
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -5
- package/dest/block/l2_block_source.d.ts +1 -1
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +6 -2
- package/dest/block/l2_block_stream/interfaces.d.ts +7 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +47 -20
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +9 -4
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/contract/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +10 -2
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -2
- package/dest/contract/index.d.ts +1 -2
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -1
- package/dest/interfaces/api_limit.d.ts +6 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +3 -0
- package/dest/interfaces/aztec-node-admin.d.ts +2 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/block-builder.d.ts +7 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +7 -1
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +1 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +8 -3
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/private_kernel_prover.d.ts +64 -3
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +1 -1
- package/dest/interfaces/server.d.ts +1 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +0 -1
- package/dest/interfaces/tx_provider.d.ts +5 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/kernel/hints/index.d.ts +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +0 -1
- package/dest/kernel/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -7
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +4 -1
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +4 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +2 -1
- package/dest/kernel/utils/index.d.ts +1 -2
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +0 -1
- package/dest/logs/index.d.ts +3 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -0
- package/dest/logs/logs_query.d.ts +2 -2
- package/dest/logs/message_context.d.ts +17 -0
- package/dest/logs/message_context.d.ts.map +1 -0
- package/dest/logs/message_context.js +9 -0
- package/dest/logs/pending_tagged_log.d.ts +11 -0
- package/dest/logs/pending_tagged_log.d.ts.map +1 -0
- package/dest/logs/pending_tagged_log.js +4 -0
- package/dest/logs/shared_secret_derivation.d.ts +12 -2
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +18 -0
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +1 -27
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +0 -30
- package/dest/tx/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +9 -1
- package/dest/tx/index.d.ts +1 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/offchain_effect.js +1 -1
- package/dest/tx/profiling.d.ts +1 -1
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +2 -0
- package/dest/tx/simulated_tx.d.ts +1 -1
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +7 -2
- package/dest/tx/tx.d.ts +8 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +9 -3
- package/dest/validators/errors.d.ts +16 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +12 -0
- package/dest/world-state/world_state_revision.d.ts +1 -18
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +0 -20
- package/package.json +8 -8
- package/src/abi/abi.ts +32 -4
- package/src/abi/contract_artifact.ts +40 -35
- package/src/abi/decoder.ts +20 -24
- package/src/abi/function_call.ts +19 -7
- package/src/avm/avm.ts +4 -1
- package/src/avm/index.ts +0 -5
- package/src/block/l2_block_source.ts +14 -2
- package/src/block/l2_block_stream/interfaces.ts +6 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +58 -21
- package/src/block/test/l2_tips_store_test_suite.ts +5 -0
- package/src/config/node-rpc-config.ts +2 -1
- package/src/contract/artifact_hash.ts +15 -3
- package/src/contract/contract_class.ts +3 -2
- package/src/contract/index.ts +0 -1
- package/src/gas/README.md +108 -36
- package/src/interfaces/api_limit.ts +5 -0
- package/src/interfaces/block-builder.ts +6 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/merkle_tree_operations.ts +8 -2
- package/src/interfaces/private_kernel_prover.ts +94 -1
- package/src/interfaces/server.ts +0 -1
- package/src/interfaces/tx_provider.ts +4 -0
- package/src/kernel/hints/index.ts +0 -1
- package/src/kernel/index.ts +4 -0
- package/src/kernel/private_kernel_circuit_public_inputs.ts +0 -7
- package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
- package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
- package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
- package/src/kernel/private_kernel_prover_output.ts +4 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +1 -1
- package/src/kernel/private_kernel_simulated_output.ts +0 -7
- package/src/kernel/utils/index.ts +0 -1
- package/src/logs/index.ts +2 -0
- package/src/logs/logs_query.ts +2 -2
- package/src/logs/message_context.ts +18 -0
- package/src/logs/pending_tagged_log.ts +12 -0
- package/src/logs/shared_secret_derivation.ts +18 -1
- package/src/noir/index.ts +2 -1
- package/src/p2p/index.ts +0 -1
- package/src/stats/stats.ts +4 -0
- package/src/tests/factories.ts +0 -38
- package/src/tx/hashed_values.ts +11 -6
- package/src/tx/index.ts +0 -1
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/profiling.ts +2 -0
- package/src/tx/simulated_tx.ts +13 -2
- package/src/tx/tx.ts +19 -3
- package/src/validators/errors.ts +17 -0
- package/src/world-state/world_state_revision.ts +0 -33
- package/dest/avm/contract_storage_read.d.ts +0 -58
- package/dest/avm/contract_storage_read.d.ts.map +0 -1
- package/dest/avm/contract_storage_read.js +0 -65
- package/dest/avm/contract_storage_update_request.d.ts +0 -65
- package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
- package/dest/avm/contract_storage_update_request.js +0 -80
- package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
- package/dest/avm/public_call_stack_item_compressed.js +0 -70
- package/dest/avm/public_data_update_request.d.ts +0 -62
- package/dest/avm/public_data_update_request.d.ts.map +0 -1
- package/dest/avm/public_data_update_request.js +0 -67
- package/dest/avm/public_inner_call_request.d.ts +0 -50
- package/dest/avm/public_inner_call_request.d.ts.map +0 -1
- package/dest/avm/public_inner_call_request.js +0 -74
- package/dest/contract/deployment_info.d.ts +0 -24
- package/dest/contract/deployment_info.d.ts.map +0 -1
- package/dest/contract/deployment_info.js +0 -3
- package/dest/interfaces/prover-coordination.d.ts +0 -15
- package/dest/interfaces/prover-coordination.d.ts.map +0 -1
- package/dest/interfaces/prover-coordination.js +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
- package/dest/kernel/utils/optional_number.d.ts +0 -31
- package/dest/kernel/utils/optional_number.d.ts.map +0 -1
- package/dest/kernel/utils/optional_number.js +0 -42
- package/dest/p2p/interface.d.ts +0 -5
- package/dest/p2p/interface.d.ts.map +0 -1
- package/dest/p2p/interface.js +0 -1
- package/dest/tx/validator/empty_validator.d.ts +0 -5
- package/dest/tx/validator/empty_validator.d.ts.map +0 -1
- package/dest/tx/validator/empty_validator.js +0 -7
- package/src/avm/contract_storage_read.ts +0 -77
- package/src/avm/contract_storage_update_request.ts +0 -93
- package/src/avm/public_call_stack_item_compressed.ts +0 -113
- package/src/avm/public_data_update_request.ts +0 -106
- package/src/avm/public_inner_call_request.ts +0 -85
- package/src/contract/deployment_info.ts +0 -25
- package/src/interfaces/prover-coordination.ts +0 -17
- package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
- package/src/kernel/utils/optional_number.ts +0 -50
- package/src/p2p/interface.ts +0 -4
- package/src/tx/validator/empty_validator.ts +0 -7
|
@@ -145,4 +145,4 @@ export declare class TxSimulationResult {
|
|
|
145
145
|
* @returns
|
|
146
146
|
*/
|
|
147
147
|
export declare function accumulatePrivateReturnValues(executionResult: PrivateExecutionResult): NestedProcessReturnValues;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGVkX3R4LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvc2ltdWxhdGVkX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUNMLEtBQUssMkJBQTJCLEVBRWpDLE1BQU0sNkNBQTZDLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQStCLE1BQU0sMENBQTBDLENBQUM7QUFDbkgsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFOUcsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUVMLHNCQUFzQixFQUd2QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBUzdCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUErQjtJQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQTtDQUFFLENBQUMsQ0FBQztBQVF2SCxxQkFBYSxtQkFBbUI7SUFDdkIsYUFBYSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUN4QyxTQUFTLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztJQUVyQyxZQUFZLElBQUksR0FBRTtRQUFFLGFBQWEsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFBQyxTQUFTLENBQUMsRUFBRSxpQkFBaUIsQ0FBQTtLQUFPLEVBR2hHO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBaUJoQjtDQUNGO0FBRUQscUJBQWEsdUJBQXVCO0lBRXpCLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxZQUFZLEVBQUUsb0NBQW9DO0lBRjNELFlBQ1Msc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFlBQVksRUFBRSxvQ0FBb0MsRUFDdkQ7SUFFSixzQkFBc0IsOEJBRXJCO0lBRUssYUFBYSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTakM7Q0FDRjtBQUVELHFCQUFhLGtCQUFrQjtJQUVwQixzQkFBc0IsRUFBRSxzQkFBc0I7SUFDOUMsWUFBWSxFQUFFLG9DQUFvQztJQUNsRCxZQUFZLENBQUM7SUFDYixLQUFLLENBQUM7SUFKZixZQUNTLHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxZQUFZLEVBQUUsb0NBQW9DLEVBQ2xELFlBQVksQ0FBQyxvQ0FBd0IsRUFDckMsS0FBSyxDQUFDLDZCQUFpQixFQUM1QjtJQUVKLGlFQUFpRTtJQUNqRSxJQUFJLGVBQWUsSUFBSSxjQUFjLEVBQUUsQ0FFdEM7SUFFRCxJQUFJLE9BQU8sSUFBSSxPQUFPLENBU3JCO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FTOUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsU0FBUyxHQUFHLGlCQUFpQixDQUFDLHNCQU9wRjtJQUVELE1BQU0sQ0FBQywwQ0FBMEMsQ0FDL0MsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQ2hELFlBQVksQ0FBQyxFQUFFLHNCQUFzQixFQUNyQyxLQUFLLENBQUMsRUFBRSxlQUFlLHNCQVF4QjtJQUVELE9BQWEsTUFBTSxnQ0FNbEI7SUFFRCxzQkFBc0IsOEJBRXJCO0lBRUQsYUFBYSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFM0I7SUFFRCxxQkFBcUIsZ0NBRXBCO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiw2QkFBNkIsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLEdBQUcseUJBQXlCLENBV2hIIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,qBAAqB,EAA+B,MAAM,0CAA0C,CAAC;AACnH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAE9G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAEL,sBAAsB,EAGvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAS7B,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAA+B;IAAE,QAAQ,EAAE,2BAA2B,CAAA;CAAE,CAAC,CAAC;AAQvH,qBAAa,mBAAmB;IACvB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAErC,YAAY,IAAI,GAAE;QAAE,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAAO,EAGhG;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiBhB;CACF;AAED,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAF3D,YACS,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EACvD;IAEJ,sBAAsB,8BAErB;IAEK,aAAa,IAAI,OAAO,CAAC,EAAE,CAAC,CASjC;CACF;AAED,qBAAa,kBAAkB;IAEpB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,YAAY,CAAC;IACb,KAAK,CAAC;IAJf,YACS,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,YAAY,CAAC,oCAAwB,EACrC,KAAK,CAAC,6BAAiB,EAC5B;IAEJ,iEAAiE;IACjE,IAAI,eAAe,IAAI,cAAc,EAAE,CAEtC;IAED,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAS9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,sBAOpF;IAED,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB,EACrC,KAAK,CAAC,EAAE,eAAe,sBAQxB;IAED,OAAa,MAAM,gCAMlB;IAED,sBAAsB,8BAErB;IAED,aAAa,IAAI,OAAO,CAAC,EAAE,CAAC,CAE3B;IAED,qBAAqB,gCAEpB;CACF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
|
package/dest/tx/simulated_tx.js
CHANGED
|
@@ -2,6 +2,7 @@ import { optional } from '@aztec/foundation/schemas';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { ContractInstanceWithAddressSchema } from '../contract/interfaces/contract_instance.js';
|
|
4
4
|
import { Gas } from '../gas/gas.js';
|
|
5
|
+
import { MAX_RPC_CONTRACT_OVERRIDES_LEN, MAX_RPC_PUBLIC_STORAGE_OVERRIDES_LEN } from '../interfaces/api_limit.js';
|
|
5
6
|
import { PublicStorageOverrideSchema } from '../interfaces/public_storage_override.js';
|
|
6
7
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
7
8
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
@@ -23,10 +24,14 @@ import { Tx } from './tx.js';
|
|
|
23
24
|
}
|
|
24
25
|
static get schema() {
|
|
25
26
|
return z.object({
|
|
26
|
-
publicStorage: optional(z.array(PublicStorageOverrideSchema)
|
|
27
|
+
publicStorage: optional(z.array(PublicStorageOverrideSchema).max(MAX_RPC_PUBLIC_STORAGE_OVERRIDES_LEN, {
|
|
28
|
+
message: `publicStorage must have at most ${MAX_RPC_PUBLIC_STORAGE_OVERRIDES_LEN} entries`
|
|
29
|
+
})),
|
|
27
30
|
contracts: optional(z.record(z.string(), z.object({
|
|
28
31
|
instance: ContractInstanceWithAddressSchema
|
|
29
|
-
})))
|
|
32
|
+
})).refine((contracts)=>Object.keys(contracts).length <= MAX_RPC_CONTRACT_OVERRIDES_LEN, {
|
|
33
|
+
message: `contracts must have at most ${MAX_RPC_CONTRACT_OVERRIDES_LEN} entries`
|
|
34
|
+
}))
|
|
30
35
|
}).transform((args)=>new SimulationOverrides(args));
|
|
31
36
|
}
|
|
32
37
|
}
|
package/dest/tx/tx.d.ts
CHANGED
|
@@ -13,6 +13,13 @@ import type { TxStats } from '../stats/stats.js';
|
|
|
13
13
|
import { HashedValues } from './hashed_values.js';
|
|
14
14
|
import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
|
|
15
15
|
import { TxHash } from './tx_hash.js';
|
|
16
|
+
/**
|
|
17
|
+
* Upper bound on the calldata entries a tx can carry: one per enqueued call, plus one for the teardown call.
|
|
18
|
+
* The revertible and non-revertible call request arrays are each sized `MAX_ENQUEUED_CALLS_PER_TX`, but the
|
|
19
|
+
* private tail circuit fills them by partitioning a single array of that size, so their lengths sum to it. The
|
|
20
|
+
* teardown request is propagated separately and can only be set once.
|
|
21
|
+
*/
|
|
22
|
+
export declare const MAX_PUBLIC_FUNCTION_CALLDATA_PER_TX: number;
|
|
16
23
|
/**
|
|
17
24
|
* The interface of an L2 transaction.
|
|
18
25
|
*/
|
|
@@ -171,4 +178,4 @@ export declare class TxArray extends Array<Tx> {
|
|
|
171
178
|
toBuffer(): Buffer;
|
|
172
179
|
toBuffer(sink: BufferSink): void;
|
|
173
180
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBSVgsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQVksTUFBTSx5QkFBeUIsQ0FBQztBQUlsRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVV0Qzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSxtQ0FBbUMsUUFBZ0MsQ0FBQztBQUVqRjs7R0FFRztBQUVILHFCQUFhLEVBQUcsU0FBUSxVQUFVOztJQU05Qjs7OztPQUlHO2FB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
|
package/dest/tx/tx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
|
package/dest/tx/tx.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
|
|
1
|
+
import { DA_GAS_PER_FIELD, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
|
|
2
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { BufferReader, BufferSink, serializeArrayOfBufferableToVector, serializeArrayToSink, serializeToSink } from '@aztec/foundation/serialize';
|
|
4
4
|
import { unfreeze } from '@aztec/foundation/types';
|
|
@@ -18,6 +18,12 @@ import { TxHash } from './tx_hash.js';
|
|
|
18
18
|
// exceed this still serialize correctly — the sink falls back to its standard doubling growth — just
|
|
19
19
|
// with the existing cost.
|
|
20
20
|
const TX_SINK_PRESIZE_BYTES = 131072;
|
|
21
|
+
/**
|
|
22
|
+
* Upper bound on the calldata entries a tx can carry: one per enqueued call, plus one for the teardown call.
|
|
23
|
+
* The revertible and non-revertible call request arrays are each sized `MAX_ENQUEUED_CALLS_PER_TX`, but the
|
|
24
|
+
* private tail circuit fills them by partitioning a single array of that size, so their lengths sum to it. The
|
|
25
|
+
* teardown request is propagated separately and can only be set once.
|
|
26
|
+
*/ export const MAX_PUBLIC_FUNCTION_CALLDATA_PER_TX = MAX_ENQUEUED_CALLS_PER_TX + 1;
|
|
21
27
|
/**
|
|
22
28
|
* The interface of an L2 transaction.
|
|
23
29
|
*/ // docs:start:tx_class
|
|
@@ -122,8 +128,8 @@ export class Tx extends Gossipable {
|
|
|
122
128
|
return z.object({
|
|
123
129
|
data: PrivateKernelTailCircuitPublicInputs.schema,
|
|
124
130
|
chonkProof: ChonkProof.schema,
|
|
125
|
-
contractClassLogFields: z.array(ContractClassLogFields.schema),
|
|
126
|
-
publicFunctionCalldata: z.array(HashedValues.
|
|
131
|
+
contractClassLogFields: z.array(ContractClassLogFields.schema).max(MAX_CONTRACT_CLASS_LOGS_PER_TX),
|
|
132
|
+
publicFunctionCalldata: z.array(HashedValues.schemaFor(MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS)).max(MAX_PUBLIC_FUNCTION_CALLDATA_PER_TX)
|
|
127
133
|
}).transform(Tx.create);
|
|
128
134
|
}
|
|
129
135
|
static async computeTxHash(fields) {
|
|
@@ -16,6 +16,21 @@ export declare class AttestationTimeoutError extends ValidatorError {
|
|
|
16
16
|
export declare class TransactionsNotAvailableError extends ValidatorError {
|
|
17
17
|
constructor(txHashes: TxHash[]);
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Thrown when a tx carried in a block proposal fails minimum integrity validation (metadata, size, data,
|
|
21
|
+
* contract instances, or proof). The proposer signs both the tx hashes and the tx objects, so this is
|
|
22
|
+
* proposer misbehavior rather than a local failure, and callers classify it as an invalid block proposal.
|
|
23
|
+
*/
|
|
24
|
+
export declare class InvalidBlockProposalTxsError extends ValidatorError {
|
|
25
|
+
readonly invalidTxs: {
|
|
26
|
+
txHash: TxHash;
|
|
27
|
+
reasons: string[];
|
|
28
|
+
}[];
|
|
29
|
+
constructor(invalidTxs: {
|
|
30
|
+
txHash: TxHash;
|
|
31
|
+
reasons: string[];
|
|
32
|
+
}[]);
|
|
33
|
+
}
|
|
19
34
|
export declare class FailedToReExecuteTransactionsError extends ValidatorError {
|
|
20
35
|
constructor(txHashes: TxHash[]);
|
|
21
36
|
}
|
|
@@ -35,4 +50,4 @@ export declare class ReExFailedTxsError extends ValidatorError {
|
|
|
35
50
|
export declare class ReExTimeoutError extends ValidatorError {
|
|
36
51
|
constructor();
|
|
37
52
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUUxQjtDQUNGO0FBRUQscUJBQWEsK0JBQWdDLFNBQVEsY0FBYztJQUNqRSxjQUVDO0NBQ0Y7QUFFRCxxQkFBYSx1QkFBd0IsU0FBUSxjQUFjO2FBRXZDLGNBQWMsRUFBRSxNQUFNO2FBQ3RCLGFBQWEsRUFBRSxNQUFNO2FBQ3JCLElBQUksRUFBRSxVQUFVO0lBSGxDLFlBQ2tCLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLElBQUksRUFBRSxVQUFVLEVBR2pDO0NBQ0Y7QUFFRCxxQkFBYSw2QkFBOEIsU0FBUSxjQUFjO0lBQy9ELFlBQVksUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUU3QjtDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILHFCQUFhLDRCQUE2QixTQUFRLGNBQWM7YUFDbEMsVUFBVSxFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLEVBQUU7SUFBL0UsWUFBNEIsVUFBVSxFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLEVBQUUsRUFROUU7Q0FDRjtBQUVELHFCQUFhLGtDQUFtQyxTQUFRLGNBQWM7SUFDcEUsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSw2QkFBOEIsU0FBUSxjQUFjO2FBRTdDLG1CQUFtQixFQUFFLEVBQUU7YUFDdkIsaUJBQWlCLEVBQUUsRUFBRTtJQUZ2QyxZQUNrQixtQkFBbUIsRUFBRSxFQUFFLEVBQ3ZCLGlCQUFpQixFQUFFLEVBQUUsRUFHdEM7Q0FDRjtBQUVELHFCQUFhLHNCQUF1QixTQUFRLGNBQWM7YUFFdEMsbUJBQW1CLEVBQUUsRUFBRTthQUN2QixpQkFBaUIsRUFBRSxFQUFFO0lBRnZDLFlBQ2tCLG1CQUFtQixFQUFFLEVBQUUsRUFDdkIsaUJBQWlCLEVBQUUsRUFBRSxFQUd0QztDQUNGO0FBRUQscUJBQWEsa0JBQW1CLFNBQVEsY0FBYztJQUNwRCxZQUFZLFlBQVksRUFBRSxNQUFNLEVBRS9CO0NBQ0Y7QUFFRCxxQkFBYSxnQkFBaUIsU0FBUSxjQUFjO0lBQ2xELGNBRUM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/validators/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qBAAa,+BAAgC,SAAQ,cAAc;IACjE,cAEC;CACF;AAED,qBAAa,uBAAwB,SAAQ,cAAc;aAEvC,cAAc,EAAE,MAAM;aACtB,aAAa,EAAE,MAAM;aACrB,IAAI,EAAE,UAAU;IAHlC,YACkB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,UAAU,EAGjC;CACF;AAED,qBAAa,6BAA8B,SAAQ,cAAc;IAC/D,YAAY,QAAQ,EAAE,MAAM,EAAE,EAE7B;CACF;AAED,qBAAa,kCAAmC,SAAQ,cAAc;IACpE,YAAY,QAAQ,EAAE,MAAM,EAAE,EAE7B;CACF;AAED,qBAAa,6BAA8B,SAAQ,cAAc;aAE7C,mBAAmB,EAAE,EAAE;aACvB,iBAAiB,EAAE,EAAE;IAFvC,YACkB,mBAAmB,EAAE,EAAE,EACvB,iBAAiB,EAAE,EAAE,EAGtC;CACF;AAED,qBAAa,sBAAuB,SAAQ,cAAc;aAEtC,mBAAmB,EAAE,EAAE;aACvB,iBAAiB,EAAE,EAAE;IAFvC,YACkB,mBAAmB,EAAE,EAAE,EACvB,iBAAiB,EAAE,EAAE,EAGtC;CACF;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,YAAY,EAAE,MAAM,EAE/B;CACF;AAED,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,cAEC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/validators/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qBAAa,+BAAgC,SAAQ,cAAc;IACjE,cAEC;CACF;AAED,qBAAa,uBAAwB,SAAQ,cAAc;aAEvC,cAAc,EAAE,MAAM;aACtB,aAAa,EAAE,MAAM;aACrB,IAAI,EAAE,UAAU;IAHlC,YACkB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,UAAU,EAGjC;CACF;AAED,qBAAa,6BAA8B,SAAQ,cAAc;IAC/D,YAAY,QAAQ,EAAE,MAAM,EAAE,EAE7B;CACF;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,cAAc;aAClC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;IAA/E,YAA4B,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,EAQ9E;CACF;AAED,qBAAa,kCAAmC,SAAQ,cAAc;IACpE,YAAY,QAAQ,EAAE,MAAM,EAAE,EAE7B;CACF;AAED,qBAAa,6BAA8B,SAAQ,cAAc;aAE7C,mBAAmB,EAAE,EAAE;aACvB,iBAAiB,EAAE,EAAE;IAFvC,YACkB,mBAAmB,EAAE,EAAE,EACvB,iBAAiB,EAAE,EAAE,EAGtC;CACF;AAED,qBAAa,sBAAuB,SAAQ,cAAc;aAEtC,mBAAmB,EAAE,EAAE;aACvB,iBAAiB,EAAE,EAAE;IAFvC,YACkB,mBAAmB,EAAE,EAAE,EACvB,iBAAiB,EAAE,EAAE,EAGtC;CACF;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,YAAY,EAAE,MAAM,EAE/B;CACF;AAED,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,cAEC;CACF"}
|
|
@@ -21,6 +21,18 @@ export class TransactionsNotAvailableError extends ValidatorError {
|
|
|
21
21
|
super(`Transactions not available: ${txHashes.join(', ')}`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when a tx carried in a block proposal fails minimum integrity validation (metadata, size, data,
|
|
26
|
+
* contract instances, or proof). The proposer signs both the tx hashes and the tx objects, so this is
|
|
27
|
+
* proposer misbehavior rather than a local failure, and callers classify it as an invalid block proposal.
|
|
28
|
+
*/ export class InvalidBlockProposalTxsError extends ValidatorError {
|
|
29
|
+
invalidTxs;
|
|
30
|
+
constructor(invalidTxs){
|
|
31
|
+
super(`Invalid txs in block proposal: ${invalidTxs.map(({ txHash, reasons })=>`${txHash} (${reasons.join(', ')})`).join('; ')}`), this.invalidTxs = invalidTxs;
|
|
32
|
+
// Set so `isErrorClass` can recognize this error across package instances, where `instanceof` fails.
|
|
33
|
+
this.name = 'InvalidBlockProposalTxsError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
24
36
|
export class FailedToReExecuteTransactionsError extends ValidatorError {
|
|
25
37
|
constructor(txHashes){
|
|
26
38
|
super(`Failed to re-execute transactions: ${txHashes.join(', ')}`);
|
|
@@ -23,21 +23,4 @@ export declare class WorldStateRevision {
|
|
|
23
23
|
includeUncommitted: boolean;
|
|
24
24
|
}>>;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
readonly handle: any;
|
|
28
|
-
constructor(forkId: number, blockNumber: number, includeUncommitted: boolean, handle: any);
|
|
29
|
-
toWorldStateRevision(): WorldStateRevision;
|
|
30
|
-
static fromWorldStateRevision(revision: WorldStateRevision, handle: any): WorldStateRevisionWithHandle;
|
|
31
|
-
static get schema(): z.ZodPipe<z.ZodObject<{
|
|
32
|
-
forkId: z.ZodNumber;
|
|
33
|
-
blockNumber: z.ZodNumber;
|
|
34
|
-
includeUncommitted: z.ZodBoolean;
|
|
35
|
-
handle: z.ZodAny;
|
|
36
|
-
}, z.core.$strip>, z.ZodTransform<WorldStateRevisionWithHandle, {
|
|
37
|
-
forkId: number;
|
|
38
|
-
blockNumber: number;
|
|
39
|
-
includeUncommitted: boolean;
|
|
40
|
-
handle: any;
|
|
41
|
-
}>>;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfc3RhdGVfcmV2aXNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JsZC1zdGF0ZS93b3JsZF9zdGF0ZV9yZXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLHFCQUFhLGtCQUFrQjthQVVYLE1BQU0sRUFBRSxNQUFNO2FBQ2QsV0FBVyxFQUFFLE1BQU07YUFDbkIsa0JBQWtCLEVBQUUsT0FBTztJQVg3Qzs7Ozs7T0FLRztJQUNILGdCQUF1QixNQUFNLGNBQWM7SUFFM0MsWUFDa0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxXQUFXLEVBQUUsTUFBTSxFQUNuQixrQkFBa0IsRUFBRSxPQUFPLEVBQ3pDO0lBRUcsUUFBUSxXQUVkO0lBRUQsTUFBTSxDQUFDLEtBQUssdUJBRVg7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7UUFXaEI7Q0FDRjtBQUVELHFCQUFhLDRCQUE2QixTQUFRLGtCQUFrQjthQUtoRCxNQUFNLEVBQUUsR0FBRztJQUo3QixZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLE1BQU0sRUFDbkIsa0JBQWtCLEVBQUUsT0FBTyxFQUNYLE1BQU0sRUFBRSxHQUFHLEVBRzVCO0lBRU0sb0JBQW9CLHVCQUUxQjtJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsZ0NBRXRFO0lBRUQsV0FBb0IsTUFBTTs7Ozs7Ozs7OztRQVl6QjtDQUNGIn0=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfc3RhdGVfcmV2aXNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JsZC1zdGF0ZS93b3JsZF9zdGF0ZV9yZXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLHFCQUFhLGtCQUFrQjthQVVYLE1BQU0sRUFBRSxNQUFNO2FBQ2QsV0FBVyxFQUFFLE1BQU07YUFDbkIsa0JBQWtCLEVBQUUsT0FBTztJQVg3Qzs7Ozs7T0FLRztJQUNILGdCQUF1QixNQUFNLGNBQWM7SUFFM0MsWUFDa0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxXQUFXLEVBQUUsTUFBTSxFQUNuQixrQkFBa0IsRUFBRSxPQUFPLEVBQ3pDO0lBRUcsUUFBUSxXQUVkO0lBRUQsTUFBTSxDQUFDLEtBQUssdUJBRVg7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7UUFXaEI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world_state_revision.d.ts","sourceRoot":"","sources":["../../src/world-state/world_state_revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,kBAAkB;aAUX,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,kBAAkB,EAAE,OAAO;IAX7C;;;;;OAKG;IACH,gBAAuB,MAAM,cAAc;IAE3C,YACkB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACzC;IAEG,QAAQ,WAEd;IAED,MAAM,CAAC,KAAK,uBAEX;IAED,MAAM,KAAK,MAAM;;;;;;;;QAWhB;CACF
|
|
1
|
+
{"version":3,"file":"world_state_revision.d.ts","sourceRoot":"","sources":["../../src/world-state/world_state_revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,kBAAkB;aAUX,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,kBAAkB,EAAE,OAAO;IAX7C;;;;;OAKG;IACH,gBAAuB,MAAM,cAAc;IAE3C,YACkB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACzC;IAEG,QAAQ,WAEd;IAED,MAAM,CAAC,KAAK,uBAEX;IAED,MAAM,KAAK,MAAM;;;;;;;;QAWhB;CACF"}
|
|
@@ -28,23 +28,3 @@ export class WorldStateRevision {
|
|
|
28
28
|
}).transform(({ forkId, blockNumber, includeUncommitted })=>new WorldStateRevision(forkId, blockNumber, includeUncommitted));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
export class WorldStateRevisionWithHandle extends WorldStateRevision {
|
|
32
|
-
handle;
|
|
33
|
-
constructor(forkId, blockNumber, includeUncommitted, handle){
|
|
34
|
-
super(forkId, blockNumber, includeUncommitted), this.handle = handle;
|
|
35
|
-
}
|
|
36
|
-
toWorldStateRevision() {
|
|
37
|
-
return new WorldStateRevision(this.forkId, this.blockNumber, this.includeUncommitted);
|
|
38
|
-
}
|
|
39
|
-
static fromWorldStateRevision(revision, handle) {
|
|
40
|
-
return new WorldStateRevisionWithHandle(revision.forkId, revision.blockNumber, revision.includeUncommitted, handle);
|
|
41
|
-
}
|
|
42
|
-
static get schema() {
|
|
43
|
-
return z.object({
|
|
44
|
-
forkId: z.number(),
|
|
45
|
-
blockNumber: z.number(),
|
|
46
|
-
includeUncommitted: z.boolean(),
|
|
47
|
-
handle: z.any()
|
|
48
|
-
}).transform(({ forkId, blockNumber, includeUncommitted, handle })=>new WorldStateRevisionWithHandle(forkId, blockNumber, includeUncommitted, handle));
|
|
49
|
-
}
|
|
50
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.330febf",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -92,13 +92,13 @@
|
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
95
|
-
"@aztec/bb.js": "0.0
|
|
96
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
97
|
-
"@aztec/constants": "0.0.1-commit.
|
|
98
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
99
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
100
|
-
"@aztec/l1-artifacts": "0.0
|
|
101
|
-
"@aztec/noir-noirc_abi": "0.0
|
|
95
|
+
"@aztec/bb.js": "6.0.0-nightly.20260807",
|
|
96
|
+
"@aztec/blob-lib": "0.0.1-commit.330febf",
|
|
97
|
+
"@aztec/constants": "0.0.1-commit.330febf",
|
|
98
|
+
"@aztec/ethereum": "0.0.1-commit.330febf",
|
|
99
|
+
"@aztec/foundation": "0.0.1-commit.330febf",
|
|
100
|
+
"@aztec/l1-artifacts": "6.0.0-nightly.20260807",
|
|
101
|
+
"@aztec/noir-noirc_abi": "6.0.0-nightly.20260807",
|
|
102
102
|
"@google-cloud/storage": "^7.15.0",
|
|
103
103
|
"axios": "^1.15.1",
|
|
104
104
|
"json-stringify-deterministic": "1.0.12",
|
package/src/abi/abi.ts
CHANGED
|
@@ -27,6 +27,14 @@ export type AbiValue =
|
|
|
27
27
|
| IntegerValue
|
|
28
28
|
| StructValue;
|
|
29
29
|
|
|
30
|
+
/** An exported value together with the name of the global that produced it. */
|
|
31
|
+
export interface AbiNamedValue {
|
|
32
|
+
/** The name of the exported global. */
|
|
33
|
+
name: string;
|
|
34
|
+
/** The exported value. */
|
|
35
|
+
value: AbiValue;
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
export const AbiValueSchema: z.ZodType<AbiValue> = z.discriminatedUnion('kind', [
|
|
31
39
|
z.object({ kind: z.literal('boolean'), value: z.boolean() }),
|
|
32
40
|
z.object({ kind: z.literal('string'), value: z.string() }),
|
|
@@ -182,14 +190,34 @@ export interface FunctionAbi {
|
|
|
182
190
|
isStatic: boolean;
|
|
183
191
|
/** Function parameters. */
|
|
184
192
|
parameters: ABIParameter[];
|
|
185
|
-
/** The
|
|
186
|
-
|
|
193
|
+
/** The type of the value the function returns, or undefined if it returns nothing. */
|
|
194
|
+
returnType?: AbiType;
|
|
195
|
+
/**
|
|
196
|
+
* The same type as `returnType`, as a list that is either:
|
|
197
|
+
* - a single entry, when the function returns something. Multiple return values are expressed as a single `tuple`
|
|
198
|
+
* type, so this never holds more than one entry.
|
|
199
|
+
* - empty, when the function returns nothing.
|
|
200
|
+
*
|
|
201
|
+
* @deprecated Read it through {@link getFunctionReturnType}.
|
|
202
|
+
*/
|
|
203
|
+
returnTypes?: AbiType[];
|
|
187
204
|
/** The types of the errors that the function can throw. */
|
|
188
205
|
errorTypes: Partial<Record<string, AbiErrorType>>;
|
|
189
206
|
/** Whether the function is flagged as an initializer. */
|
|
190
207
|
isInitializer: boolean;
|
|
191
208
|
}
|
|
192
209
|
|
|
210
|
+
/**
|
|
211
|
+
* The type a function returns, or undefined if it returns nothing. Falls back to the deprecated `returnTypes` so that
|
|
212
|
+
* artifacts serialized before `returnType` existed still resolve.
|
|
213
|
+
*/
|
|
214
|
+
export function getFunctionReturnType(abi: Pick<FunctionAbi, 'returnType' | 'returnTypes'>): AbiType | undefined {
|
|
215
|
+
if (abi.returnTypes !== undefined && abi.returnTypes.length > 1) {
|
|
216
|
+
throw new Error(`Expected at most one return type, got ${abi.returnTypes.length}`);
|
|
217
|
+
}
|
|
218
|
+
return abi.returnType ?? abi.returnTypes?.[0];
|
|
219
|
+
}
|
|
220
|
+
|
|
193
221
|
export const FunctionAbiSchema = z.object({
|
|
194
222
|
name: z.string(),
|
|
195
223
|
functionType: z.nativeEnum(FunctionType),
|
|
@@ -197,7 +225,8 @@ export const FunctionAbiSchema = z.object({
|
|
|
197
225
|
isStatic: z.boolean(),
|
|
198
226
|
isInitializer: z.boolean(),
|
|
199
227
|
parameters: z.array(z.object({ name: z.string(), type: AbiTypeSchema, visibility: z.enum(ABIParameterVisibility) })),
|
|
200
|
-
|
|
228
|
+
returnType: AbiTypeSchema.optional(),
|
|
229
|
+
returnTypes: z.array(AbiTypeSchema).optional(),
|
|
201
230
|
errorTypes: z.record(z.string(), AbiErrorTypeSchema.optional()),
|
|
202
231
|
}) satisfies z.ZodType<FunctionAbi>;
|
|
203
232
|
|
|
@@ -566,7 +595,6 @@ export function emptyFunctionAbi(): FunctionAbi {
|
|
|
566
595
|
isOnlySelf: false,
|
|
567
596
|
isStatic: false,
|
|
568
597
|
parameters: [],
|
|
569
|
-
returnTypes: [],
|
|
570
598
|
errorTypes: {},
|
|
571
599
|
isInitializer: false,
|
|
572
600
|
};
|
|
@@ -13,7 +13,9 @@ import {
|
|
|
13
13
|
type ABIParameter,
|
|
14
14
|
type ABIParameterVisibility,
|
|
15
15
|
ARTIFACT_VERSION_BEFORE_INJECTION,
|
|
16
|
+
type AbiNamedValue,
|
|
16
17
|
type AbiType,
|
|
18
|
+
type AbiValue,
|
|
17
19
|
type BasicValue,
|
|
18
20
|
type ContractArtifact,
|
|
19
21
|
ContractArtifactSchema,
|
|
@@ -61,25 +63,6 @@ export function loadContractArtifact(input: NoirCompiledContract): ContractArtif
|
|
|
61
63
|
return generateContractArtifact(input);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
/**
|
|
65
|
-
* Like {@link loadContractArtifact}, but fully validates an already-processed artifact against the
|
|
66
|
-
* contract artifact schema before returning it. Use when loading an artifact from untrusted or
|
|
67
|
-
* external JSON (e.g. a file path passed to the CLI), so a malformed artifact is rejected up-front
|
|
68
|
-
* with a clear schema error instead of surfacing as an opaque failure later during deployment.
|
|
69
|
-
*
|
|
70
|
-
* `loadContractArtifact` only runs the shallow `isContractArtifact` shape check on already-processed
|
|
71
|
-
* artifacts; raw nargo output is validated via `generateContractArtifact` regardless. The returned
|
|
72
|
-
* object is identical to `loadContractArtifact`'s; the schema parse is used purely for validation.
|
|
73
|
-
* @param input - Input object as generated by nargo compile, or an already-processed artifact.
|
|
74
|
-
* @returns A valid contract artifact instance.
|
|
75
|
-
*/
|
|
76
|
-
export function loadContractArtifactWithValidation(input: NoirCompiledContract): ContractArtifact {
|
|
77
|
-
if (isContractArtifact(input)) {
|
|
78
|
-
ContractArtifactSchema.parse(input);
|
|
79
|
-
}
|
|
80
|
-
return loadContractArtifact(input);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
66
|
/**
|
|
84
67
|
* Gets nargo build output and returns a valid contract artifact instance.
|
|
85
68
|
* Differs from loadContractArtifact() by retaining all bytecode.
|
|
@@ -185,9 +168,9 @@ function generateFunctionAbi(fn: NoirCompiledContractFunction, contract: NoirCom
|
|
|
185
168
|
parameters = parameters.slice(1);
|
|
186
169
|
}
|
|
187
170
|
|
|
188
|
-
let
|
|
171
|
+
let returnType: AbiType | undefined;
|
|
189
172
|
if (functionType === FunctionType.UTILITY) {
|
|
190
|
-
|
|
173
|
+
returnType = fn.abi.return_type?.abi_type;
|
|
191
174
|
} else {
|
|
192
175
|
const pathToFind = `${contract.name}::${fn.name}_abi`;
|
|
193
176
|
const abiStructs: AbiType[] = contract.outputs.structs['functions'];
|
|
@@ -199,10 +182,7 @@ function generateFunctionAbi(fn: NoirCompiledContractFunction, contract: NoirCom
|
|
|
199
182
|
throw new Error('Could not generate contract function artifact');
|
|
200
183
|
}
|
|
201
184
|
|
|
202
|
-
|
|
203
|
-
if (returnTypeField) {
|
|
204
|
-
returnTypes = [returnTypeField.type];
|
|
205
|
-
}
|
|
185
|
+
returnType = returnStruct.fields.find(field => field.name === 'return_type')?.type;
|
|
206
186
|
}
|
|
207
187
|
}
|
|
208
188
|
|
|
@@ -213,7 +193,10 @@ function generateFunctionAbi(fn: NoirCompiledContractFunction, contract: NoirCom
|
|
|
213
193
|
isStatic,
|
|
214
194
|
isInitializer: fn.custom_attributes.includes(AZTEC_INITIALIZER_ATTRIBUTE),
|
|
215
195
|
parameters,
|
|
216
|
-
|
|
196
|
+
returnType,
|
|
197
|
+
// Old consumers expect `returnTypes` property, not `returnType`. So we write both down for now, until we can
|
|
198
|
+
// safely remove the old version.
|
|
199
|
+
returnTypes: returnType ? [returnType] : [],
|
|
217
200
|
errorTypes: fn.abi.error_types,
|
|
218
201
|
...(fn.assert_messages ? { assertMessages: fn.assert_messages } : undefined),
|
|
219
202
|
};
|
|
@@ -265,20 +248,24 @@ function hasKernelFunctionInputs(params: ABIParameter[]): boolean {
|
|
|
265
248
|
|
|
266
249
|
/**
|
|
267
250
|
* Generates a storage layout for the contract artifact.
|
|
268
|
-
* @param
|
|
251
|
+
* @param contractName - The name of the compiled Noir contract.
|
|
252
|
+
* @param globals - The normalized globals exported by the contract.
|
|
269
253
|
* @returns A storage layout for the contract.
|
|
270
254
|
*/
|
|
271
|
-
function getStorageLayout(
|
|
255
|
+
function getStorageLayout(contractName: string, globals: Record<string, AbiValue[]>) {
|
|
272
256
|
// If another contract is imported by the main contract, its storage layout its going to also show up here.
|
|
273
257
|
// The layout export includes the contract name, so here we can find the one that belongs to the current one and
|
|
274
258
|
// ignore the rest.
|
|
275
|
-
const storageExports =
|
|
276
|
-
const storageForContract = storageExports.find(storageExport => {
|
|
259
|
+
const storageExports = globals.storage ?? [];
|
|
260
|
+
const storageForContract = storageExports.find((storageExport): storageExport is StructValue => {
|
|
261
|
+
if (storageExport.kind !== 'struct') {
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
277
264
|
const contractNameField = storageExport.fields.find(field => field.name === 'contract_name')?.value as BasicValue<
|
|
278
265
|
'string',
|
|
279
266
|
string
|
|
280
267
|
>;
|
|
281
|
-
return contractNameField.value ===
|
|
268
|
+
return contractNameField.value === contractName;
|
|
282
269
|
});
|
|
283
270
|
const storageFields = storageForContract
|
|
284
271
|
? ((storageForContract.fields.find(field => field.name == 'fields') as TypedStructFieldValue<StructValue>).value
|
|
@@ -299,6 +286,22 @@ function getStorageLayout(input: NoirCompiledContract) {
|
|
|
299
286
|
}, {});
|
|
300
287
|
}
|
|
301
288
|
|
|
289
|
+
function isAbiNamedValue(value: AbiNamedValue | AbiValue): value is AbiNamedValue {
|
|
290
|
+
return 'name' in value;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
function normalizeContractOutputs(outputs: NoirCompiledContract['outputs']): ContractArtifact['outputs'] {
|
|
294
|
+
return {
|
|
295
|
+
structs: outputs.structs,
|
|
296
|
+
globals: Object.fromEntries(
|
|
297
|
+
Object.entries(outputs.globals).map(([tag, values]) => [
|
|
298
|
+
tag,
|
|
299
|
+
values.map(value => (isAbiNamedValue(value) ? value.value : value)),
|
|
300
|
+
]),
|
|
301
|
+
),
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
|
|
302
305
|
/**
|
|
303
306
|
* Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
|
|
304
307
|
*
|
|
@@ -309,6 +312,7 @@ function generateContractArtifact(contract: NoirCompiledContract): ContractArtif
|
|
|
309
312
|
if (!contract.transpiled) {
|
|
310
313
|
throw new Error("Contract's public bytecode has not been transpiled");
|
|
311
314
|
}
|
|
315
|
+
const outputs = normalizeContractOutputs(contract.outputs);
|
|
312
316
|
return ContractArtifactSchema.parse({
|
|
313
317
|
name: contract.name,
|
|
314
318
|
aztecVersion: contract.aztec_version,
|
|
@@ -316,8 +320,8 @@ function generateContractArtifact(contract: NoirCompiledContract): ContractArtif
|
|
|
316
320
|
nonDispatchPublicFunctions: contract.functions
|
|
317
321
|
.filter(f => !retainBytecode(f))
|
|
318
322
|
.map(f => generateFunctionAbi(f, contract)),
|
|
319
|
-
outputs
|
|
320
|
-
storageLayout: getStorageLayout(contract),
|
|
323
|
+
outputs,
|
|
324
|
+
storageLayout: getStorageLayout(contract.name, outputs.globals),
|
|
321
325
|
fileMap: contract.file_map,
|
|
322
326
|
});
|
|
323
327
|
} catch (err) {
|
|
@@ -332,6 +336,7 @@ function generateContractArtifact(contract: NoirCompiledContract): ContractArtif
|
|
|
332
336
|
*/
|
|
333
337
|
function generateContractArtifactForPublic(contract: NoirCompiledContract): ContractArtifact {
|
|
334
338
|
try {
|
|
339
|
+
const outputs = normalizeContractOutputs(contract.outputs);
|
|
335
340
|
return ContractArtifactSchema.parse({
|
|
336
341
|
name: contract.name,
|
|
337
342
|
aztecVersion: contract.aztec_version,
|
|
@@ -339,8 +344,8 @@ function generateContractArtifactForPublic(contract: NoirCompiledContract): Cont
|
|
|
339
344
|
nonDispatchPublicFunctions: contract.functions
|
|
340
345
|
.filter(f => !retainBytecode(f))
|
|
341
346
|
.map(f => generateFunctionAbi(f, contract)),
|
|
342
|
-
outputs
|
|
343
|
-
storageLayout: getStorageLayout(contract),
|
|
347
|
+
outputs,
|
|
348
|
+
storageLayout: getStorageLayout(contract.name, outputs.globals),
|
|
344
349
|
fileMap: contract.file_map,
|
|
345
350
|
});
|
|
346
351
|
} catch (err) {
|
package/src/abi/decoder.ts
CHANGED
|
@@ -32,17 +32,14 @@ export type AbiDecoded =
|
|
|
32
32
|
* Decodes values using a provided ABI.
|
|
33
33
|
*/
|
|
34
34
|
class AbiDecoder {
|
|
35
|
-
constructor(
|
|
36
|
-
private types: AbiType[],
|
|
37
|
-
private flattened: Fr[],
|
|
38
|
-
) {}
|
|
35
|
+
constructor(private flattened: Fr[]) {}
|
|
39
36
|
|
|
40
37
|
/**
|
|
41
|
-
* Decodes a single
|
|
42
|
-
* @param abiType - The type of the
|
|
43
|
-
* @returns The decoded
|
|
38
|
+
* Decodes a single value from field to the given type.
|
|
39
|
+
* @param abiType - The type of the value.
|
|
40
|
+
* @returns The decoded value.
|
|
44
41
|
*/
|
|
45
|
-
|
|
42
|
+
public decodeNext(abiType: AbiType): AbiDecoded {
|
|
46
43
|
switch (abiType.kind) {
|
|
47
44
|
case 'field':
|
|
48
45
|
return this.getNextField().toBigInt();
|
|
@@ -121,26 +118,25 @@ class AbiDecoder {
|
|
|
121
118
|
}
|
|
122
119
|
return field;
|
|
123
120
|
}
|
|
121
|
+
}
|
|
124
122
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
return this.types.map(type => this.decodeNext(type));
|
|
135
|
-
}
|
|
123
|
+
/**
|
|
124
|
+
* Decodes the single value a function returns, or undefined if it returns nothing. Multiple return values are expressed
|
|
125
|
+
* as one `tuple` type, so they decode through here too.
|
|
126
|
+
* @param type - The type the function returns.
|
|
127
|
+
* @param buffer - The flattened Field array to decode.
|
|
128
|
+
*/
|
|
129
|
+
export function decodeFromAbi(type: AbiType | undefined, buffer: Fr[]): AbiDecoded {
|
|
130
|
+
return type === undefined ? undefined : new AbiDecoder(buffer.slice()).decodeNext(type);
|
|
136
131
|
}
|
|
137
132
|
|
|
138
133
|
/**
|
|
139
|
-
* Decodes
|
|
140
|
-
*
|
|
134
|
+
* Decodes one value per given type, consumed from the buffer in order. Always returns one decoded value per type, so
|
|
135
|
+
* callers can index the result positionally. A function's arguments are encoded this way.
|
|
136
|
+
* @param types - The type of each value, in order.
|
|
141
137
|
* @param buffer - The flattened Field array to decode.
|
|
142
|
-
* @returns
|
|
143
138
|
*/
|
|
144
|
-
export function
|
|
145
|
-
|
|
139
|
+
export function decodeEachFromAbi(types: AbiType[], buffer: Fr[]): AbiDecoded[] {
|
|
140
|
+
const decoder = new AbiDecoder(buffer.slice());
|
|
141
|
+
return types.map(type => decoder.decodeNext(type));
|
|
146
142
|
}
|