@aztec/stdlib 0.0.1-commit.934299a21 → 0.0.1-commit.936cb2cae
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 +138 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +10 -2
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/function_selector.js +1 -1
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +16 -1
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -5
- package/dest/block/l2_block.d.ts +9 -1
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_source.d.ts +16 -8
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -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 +10 -0
- package/dest/checkpoint/checkpoint.d.ts +2 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +9 -4
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/pipelining-config.d.ts +19 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +4 -2
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +6 -0
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +3 -3
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -2
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +3 -156
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/epoch-helpers/index.d.ts +9 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +13 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +4 -1
- package/dest/ha-signing/config.d.ts +49 -14
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +20 -15
- package/dest/ha-signing/index.d.ts +3 -2
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +2 -1
- package/dest/ha-signing/local_config.d.ts +63 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/hash/hash.d.ts +19 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +29 -0
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +3 -2
- package/dest/interfaces/aztec-node-admin.d.ts +76 -33
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +12 -6
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +5 -2
- package/dest/interfaces/block-builder.d.ts +38 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/configs.d.ts +62 -32
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +6 -2
- package/dest/interfaces/l2_logs_source.d.ts +5 -3
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +9 -19
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +3 -8
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -1
- package/dest/interfaces/proving-job.d.ts +200 -200
- package/dest/interfaces/validator.d.ts +104 -50
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +8 -5
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -0
- package/dest/kv-store/config.d.ts +17 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +26 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/log_filter.d.ts +4 -1
- package/dest/logs/log_filter.d.ts.map +1 -1
- package/dest/logs/log_filter.js +2 -1
- package/dest/logs/message_context.d.ts +4 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +11 -2
- package/dest/logs/tag.js +1 -1
- package/dest/logs/tagging_index_range.d.ts +40 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +7 -0
- package/dest/messaging/l1_to_l2_message.d.ts +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +69 -26
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/checkpoint_proposal.d.ts +1 -6
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +13 -23
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- 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/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/proofs/chonk_proof.d.ts +46 -2
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +85 -10
- package/dest/slashing/tally.d.ts +7 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +30 -2
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +8 -27
- package/dest/tests/mocks.d.ts +4 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +13 -8
- package/dest/tx/block_header.d.ts +3 -1
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +4 -0
- package/dest/tx/capsule.d.ts +6 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/private_execution_result.d.ts +6 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/profiling.d.ts +14 -2
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +13 -3
- package/dest/tx/simulated_tx.d.ts +113 -2
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +4 -1
- package/dest/tx/tx.d.ts +6 -5
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +7 -2
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +6 -3
- package/dest/tx/validator/error_texts.d.ts +9 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +10 -0
- package/dest/update-checker/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- package/package.json +11 -10
- package/src/abi/abi.ts +25 -2
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/function_selector.ts +1 -1
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/utils.ts +25 -0
- package/src/avm/revert_code.ts +15 -0
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_source.ts +16 -7
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/checkpoint/checkpoint.ts +12 -3
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/index.ts +1 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +9 -1
- package/src/contract/contract_address.ts +3 -3
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/epoch-helpers/index.ts +22 -0
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/gas/README.md +123 -0
- package/src/gas/gas_fees.ts +7 -1
- package/src/ha-signing/config.ts +45 -38
- package/src/ha-signing/index.ts +9 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/hash/hash.ts +34 -0
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +3 -2
- package/src/interfaces/aztec-node.ts +24 -5
- package/src/interfaces/block-builder.ts +60 -14
- package/src/interfaces/configs.ts +25 -8
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +8 -18
- package/src/interfaces/p2p.ts +2 -13
- package/src/interfaces/prover-client.ts +8 -0
- package/src/interfaces/validator.ts +47 -29
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -0
- package/src/kv-store/config.ts +36 -0
- package/src/kv-store/index.ts +1 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +14 -3
- package/src/logs/tag.ts +1 -1
- package/src/logs/tagging_index_range.ts +24 -0
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l1_to_l2_message.ts +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +98 -33
- package/src/noir/index.ts +2 -2
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/checkpoint_proposal.ts +23 -37
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/index.ts +0 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/slashing/tally.ts +34 -1
- package/src/tests/factories.ts +9 -33
- package/src/tests/mocks.ts +18 -7
- package/src/tx/block_header.ts +6 -0
- package/src/tx/capsule.ts +10 -2
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +11 -2
- package/src/tx/simulated_tx.ts +8 -1
- package/src/tx/tx.ts +20 -11
- package/src/tx/tx_receipt.ts +7 -2
- package/src/tx/validator/error_texts.ts +12 -0
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/versioning/versioning.ts +4 -1
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
4
|
+
import type { CompleteAddress } from '../contract/complete_address.js';
|
|
5
|
+
/**
|
|
6
|
+
* Extended directional application tagging secret used for log tagging.
|
|
7
|
+
*
|
|
8
|
+
* "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
|
|
9
|
+
* done because where this type is used we commonly need access to both the secret and the address.
|
|
10
|
+
*
|
|
11
|
+
* "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
|
|
12
|
+
* participants and app.
|
|
13
|
+
*
|
|
14
|
+
* Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
|
|
15
|
+
* `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
|
|
16
|
+
* doesn't seem to be a good way around this.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ExtendedDirectionalAppTaggingSecret {
|
|
19
|
+
readonly secret: Fr;
|
|
20
|
+
readonly app: AztecAddress;
|
|
21
|
+
private constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
|
|
24
|
+
* secret.
|
|
25
|
+
*
|
|
26
|
+
* @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
|
|
27
|
+
* @param localIvsk - The incoming viewing secret key of entity A
|
|
28
|
+
* @param externalAddress - The address of entity B in the shared tagging secret derivation scheme
|
|
29
|
+
* @param app - Contract address to silo the secret to
|
|
30
|
+
* @param recipient - Recipient of the log. Defines the "direction of the secret".
|
|
31
|
+
* @returns The secret that can be used along with an index to compute a tag to be included in a log.
|
|
32
|
+
*/
|
|
33
|
+
static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret>;
|
|
34
|
+
toString(): string;
|
|
35
|
+
static fromString(str: string): ExtendedDirectionalAppTaggingSecret;
|
|
36
|
+
}
|
|
37
|
+
export declare const ExtendedDirectionalAppTaggingSecretSchema: z.ZodObject<{
|
|
38
|
+
secret: z.ZodType<Fr, any, string>;
|
|
39
|
+
app: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
secret: Fr;
|
|
42
|
+
app: AztecAddress;
|
|
43
|
+
}, {
|
|
44
|
+
secret: string;
|
|
45
|
+
app?: any;
|
|
46
|
+
}>;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRfZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9leHRlbmRlZF9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHFCQUFhLG1DQUFtQzthQUU1QixNQUFNLEVBQUUsRUFBRTthQUNWLEdBQUcsRUFBRSxZQUFZO0lBRm5DLE9BQU8sZUFHSDtJQUVKOzs7Ozs7Ozs7O09BVUc7SUFDSCxPQUFhLE9BQU8sQ0FDbEIsWUFBWSxFQUFFLGVBQWUsRUFDN0IsU0FBUyxFQUFFLEVBQUUsRUFDYixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsWUFBWSxFQUNqQixTQUFTLEVBQUUsWUFBWSxHQUN0QixPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FNOUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxtQ0FBbUMsQ0FHbEU7Q0FDRjtBQW9CRCxlQUFPLE1BQU0seUNBQXlDOzs7Ozs7Ozs7RUFHcEQsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,OAAO,eAGH;IAEJ;;;;;;;;;;OAUG;IACH,OAAa,OAAO,CAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mCAAmC,CAAC,CAM9C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mCAAmC,CAGlE;CACF;AAoBD,eAAO,MAAM,yCAAyC;;;;;;;;;EAGpD,CAAC"}
|
package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js}
RENAMED
|
@@ -2,20 +2,26 @@ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
|
2
2
|
import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
5
6
|
import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* Extended directional application tagging secret used for log tagging.
|
|
8
9
|
*
|
|
9
|
-
* "
|
|
10
|
-
*
|
|
10
|
+
* "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
|
|
11
|
+
* done because where this type is used we commonly need access to both the secret and the address.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
* "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
|
|
14
|
+
* participants and app.
|
|
15
|
+
*
|
|
16
|
+
* Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
|
|
17
|
+
* `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
|
|
18
|
+
* doesn't seem to be a good way around this.
|
|
19
|
+
*/ export class ExtendedDirectionalAppTaggingSecret {
|
|
20
|
+
secret;
|
|
21
|
+
app;
|
|
22
|
+
constructor(secret, app){
|
|
23
|
+
this.secret = secret;
|
|
24
|
+
this.app = app;
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
27
|
* Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
|
|
@@ -38,13 +44,14 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
|
38
44
|
appTaggingSecret,
|
|
39
45
|
recipient
|
|
40
46
|
]);
|
|
41
|
-
return new
|
|
47
|
+
return new ExtendedDirectionalAppTaggingSecret(directionalAppTaggingSecret, app);
|
|
42
48
|
}
|
|
43
49
|
toString() {
|
|
44
|
-
return this.
|
|
50
|
+
return `${this.secret.toString()}:${this.app.toString()}`;
|
|
45
51
|
}
|
|
46
52
|
static fromString(str) {
|
|
47
|
-
|
|
53
|
+
const [secretStr, appStr] = str.split(':');
|
|
54
|
+
return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
// Returns shared tagging secret computed with Diffie-Hellman key exchange.
|
|
@@ -59,6 +66,7 @@ async function computeSharedTaggingSecret(localAddress, localIvsk, externalAddre
|
|
|
59
66
|
// leads to a positive y-coordinate, which is the only valid address point
|
|
60
67
|
return Grumpkin.mul(externalAddressPoint, await computeAddressSecret(knownPreaddress, localIvsk));
|
|
61
68
|
}
|
|
62
|
-
export const
|
|
63
|
-
|
|
69
|
+
export const ExtendedDirectionalAppTaggingSecretSchema = z.object({
|
|
70
|
+
secret: Fr.schema,
|
|
71
|
+
app: AztecAddress.schema
|
|
64
72
|
});
|
package/dest/logs/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './extended_directional_app_tagging_secret.js';
|
|
2
2
|
export * from './pre_tag.js';
|
|
3
|
+
export * from './tagging_index_range.js';
|
|
3
4
|
export * from './contract_class_log.js';
|
|
4
5
|
export * from './public_log.js';
|
|
5
6
|
export * from './private_log.js';
|
|
@@ -15,4 +16,4 @@ export * from './debug_log.js';
|
|
|
15
16
|
export * from './debug_log_store.js';
|
|
16
17
|
export * from './tag.js';
|
|
17
18
|
export * from './siloed_tag.js';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDIn0=
|
package/dest/logs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
|
package/dest/logs/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './extended_directional_app_tagging_secret.js';
|
|
2
2
|
export * from './pre_tag.js';
|
|
3
|
+
export * from './tagging_index_range.js';
|
|
3
4
|
export * from './contract_class_log.js';
|
|
4
5
|
export * from './public_log.js';
|
|
5
6
|
export * from './private_log.js';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
2
3
|
import { type ZodFor } from '../schemas/index.js';
|
|
3
4
|
import { TxHash } from '../tx/tx_hash.js';
|
|
@@ -17,6 +18,8 @@ export type LogFilter = {
|
|
|
17
18
|
afterLog?: LogId;
|
|
18
19
|
/** The contract address to filter logs by. */
|
|
19
20
|
contractAddress?: AztecAddress;
|
|
21
|
+
/** The tag (first field of the log) to filter logs by. */
|
|
22
|
+
tag?: Fr;
|
|
20
23
|
};
|
|
21
24
|
export declare const LogFilterSchema: ZodFor<LogFilter>;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2ZpbHRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nX2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl6RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDBEQUEwRDtJQUMxRCxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEIsc0VBQXNFO0lBQ3RFLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLGlEQUFpRDtJQUNqRCxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDakIsOENBQThDO0lBQzlDLGVBQWUsQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUMvQiwwREFBMEQ7SUFDMUQsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO0NBQ1YsQ0FBQztBQUVGLGVBQU8sTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FPNUMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_filter.d.ts","sourceRoot":"","sources":["../../src/logs/log_filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log_filter.d.ts","sourceRoot":"","sources":["../../src/logs/log_filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,CAO5C,CAAC"}
|
package/dest/logs/log_filter.js
CHANGED
|
@@ -7,5 +7,6 @@ export const LogFilterSchema = z.object({
|
|
|
7
7
|
fromBlock: schemas.Integer.optional(),
|
|
8
8
|
toBlock: schemas.Integer.optional(),
|
|
9
9
|
afterLog: LogId.schema.optional(),
|
|
10
|
-
contractAddress: schemas.AztecAddress.optional()
|
|
10
|
+
contractAddress: schemas.AztecAddress.optional(),
|
|
11
|
+
tag: schemas.Fr.optional()
|
|
11
12
|
});
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import type { AztecAddress } from '../aztec-address/index.js';
|
|
3
|
-
import type { TxEffect } from '../tx/tx_effect.js';
|
|
4
2
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
5
3
|
/**
|
|
6
4
|
* Additional information needed to process a message.
|
|
@@ -15,15 +13,14 @@ export declare class MessageContext {
|
|
|
15
13
|
txHash: TxHash;
|
|
16
14
|
uniqueNoteHashesInTx: Fr[];
|
|
17
15
|
firstNullifierInTx: Fr;
|
|
18
|
-
|
|
19
|
-
constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
|
|
16
|
+
constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
|
|
20
17
|
toFields(): Fr[];
|
|
21
18
|
toNoirStruct(): {
|
|
22
19
|
tx_hash: Fr;
|
|
23
20
|
unique_note_hashes_in_tx: Fr[];
|
|
24
21
|
first_nullifier_in_tx: Fr;
|
|
25
|
-
recipient: AztecAddress;
|
|
26
22
|
};
|
|
27
|
-
static
|
|
23
|
+
static toEmptyFields(): Fr[];
|
|
24
|
+
static toSerializedOption(response: MessageContext | null): Fr[];
|
|
28
25
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBSC9CLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUMzQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FNZjtJQUVELFlBQVk7Ozs7TUFRWDtJQUVELE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxFQUFFLENBSTNCO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQU0vRDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAH/B,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,YAAY;;;;MAQX;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAI3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,EAAE,EAAE,CAM/D;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
|
|
2
|
+
import { range } from '@aztec/foundation/array';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
/**
|
|
4
5
|
* Additional information needed to process a message.
|
|
@@ -12,31 +13,41 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
12
13
|
txHash;
|
|
13
14
|
uniqueNoteHashesInTx;
|
|
14
15
|
firstNullifierInTx;
|
|
15
|
-
|
|
16
|
-
constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
|
|
16
|
+
constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx){
|
|
17
17
|
this.txHash = txHash;
|
|
18
18
|
this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
|
|
19
19
|
this.firstNullifierInTx = firstNullifierInTx;
|
|
20
|
-
this.recipient = recipient;
|
|
21
20
|
}
|
|
22
21
|
toFields() {
|
|
23
22
|
return [
|
|
24
23
|
this.txHash.hash,
|
|
25
24
|
...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
26
|
-
this.firstNullifierInTx
|
|
27
|
-
this.recipient.toField()
|
|
25
|
+
this.firstNullifierInTx
|
|
28
26
|
];
|
|
29
27
|
}
|
|
30
28
|
toNoirStruct() {
|
|
31
29
|
/* eslint-disable camelcase */ return {
|
|
32
30
|
tx_hash: this.txHash.hash,
|
|
33
31
|
unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
|
|
34
|
-
first_nullifier_in_tx: this.firstNullifierInTx
|
|
35
|
-
recipient: this.recipient
|
|
32
|
+
first_nullifier_in_tx: this.firstNullifierInTx
|
|
36
33
|
};
|
|
37
34
|
/* eslint-enable camelcase */ }
|
|
38
|
-
static
|
|
39
|
-
|
|
35
|
+
static toEmptyFields() {
|
|
36
|
+
const serializationLen = 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
|
|
37
|
+
return range(serializationLen).map((_)=>Fr.zero());
|
|
38
|
+
}
|
|
39
|
+
static toSerializedOption(response) {
|
|
40
|
+
if (response) {
|
|
41
|
+
return [
|
|
42
|
+
new Fr(1),
|
|
43
|
+
...response.toFields()
|
|
44
|
+
];
|
|
45
|
+
} else {
|
|
46
|
+
return [
|
|
47
|
+
new Fr(0),
|
|
48
|
+
...MessageContext.toEmptyFields()
|
|
49
|
+
];
|
|
50
|
+
}
|
|
40
51
|
}
|
|
41
52
|
}
|
|
42
53
|
/**
|
|
@@ -46,6 +57,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
46
57
|
* @returns The serialized bounded vector as Fr[]
|
|
47
58
|
* @dev Copied over from pending_tagged_log.ts.
|
|
48
59
|
*/ function serializeBoundedVec(values, maxLength) {
|
|
60
|
+
if (values.length > maxLength) {
|
|
61
|
+
throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
|
|
62
|
+
}
|
|
49
63
|
const lengthDiff = maxLength - values.length;
|
|
50
64
|
const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
|
|
51
65
|
const storage = values.concat(zeroPaddingArray);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import type { AztecAddress } from '../aztec-address/index.js';
|
|
3
2
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
4
3
|
/**
|
|
5
4
|
* Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
|
|
@@ -8,7 +7,7 @@ import type { TxHash } from '../tx/tx_hash.js';
|
|
|
8
7
|
export declare class PendingTaggedLog {
|
|
9
8
|
log: Fr[];
|
|
10
9
|
private context;
|
|
11
|
-
constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr
|
|
10
|
+
constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
|
|
12
11
|
toFields(): Fr[];
|
|
13
12
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBR3ZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAGvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
|
|
@@ -7,9 +7,9 @@ import { MessageContext } from './message_context.js';
|
|
|
7
7
|
*/ export class PendingTaggedLog {
|
|
8
8
|
log;
|
|
9
9
|
context;
|
|
10
|
-
constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx
|
|
10
|
+
constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx){
|
|
11
11
|
this.log = log;
|
|
12
|
-
this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx
|
|
12
|
+
this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx);
|
|
13
13
|
}
|
|
14
14
|
toFields() {
|
|
15
15
|
return [
|
package/dest/logs/pre_tag.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ExtendedDirectionalAppTaggingSecret } from './extended_directional_app_tagging_secret.js';
|
|
3
3
|
/**
|
|
4
4
|
* Represents a preimage of a private log tag (see `Tag` in `pxe/src/tagging`).
|
|
5
5
|
*
|
|
@@ -8,27 +8,32 @@ import { type DirectionalAppTaggingSecret } from './directional_app_tagging_secr
|
|
|
8
8
|
* around this.
|
|
9
9
|
*/
|
|
10
10
|
export type PreTag = {
|
|
11
|
-
|
|
11
|
+
extendedSecret: ExtendedDirectionalAppTaggingSecret;
|
|
12
12
|
index: number;
|
|
13
13
|
};
|
|
14
14
|
export declare const PreTagSchema: z.ZodObject<{
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
extendedSecret: z.ZodObject<{
|
|
16
|
+
secret: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
17
|
+
app: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
|
|
17
18
|
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
|
|
19
|
+
secret: import("@aztec/foundation/schemas").Fr;
|
|
20
|
+
app: import("../aztec-address/index.js").AztecAddress;
|
|
19
21
|
}, {
|
|
20
|
-
|
|
22
|
+
secret: string;
|
|
23
|
+
app?: any;
|
|
21
24
|
}>;
|
|
22
25
|
index: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
23
26
|
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
extendedSecret: {
|
|
28
|
+
secret: import("@aztec/foundation/schemas").Fr;
|
|
29
|
+
app: import("../aztec-address/index.js").AztecAddress;
|
|
26
30
|
};
|
|
27
31
|
index: number;
|
|
28
32
|
}, {
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
extendedSecret: {
|
|
34
|
+
secret: string;
|
|
35
|
+
app?: any;
|
|
31
36
|
};
|
|
32
37
|
index: string | number | bigint;
|
|
33
38
|
}>;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHJlX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFDTCxLQUFLLG1DQUFtQyxFQUV6QyxNQUFNLDhDQUE4QyxDQUFDO0FBRXREOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxNQUFNLEdBQUc7SUFDbkIsY0FBYyxFQUFFLG1DQUFtQyxDQUFDO0lBQ3BELEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUd2QixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre_tag.d.ts","sourceRoot":"","sources":["../../src/logs/pre_tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"pre_tag.d.ts","sourceRoot":"","sources":["../../src/logs/pre_tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,8CAA8C,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,cAAc,EAAE,mCAAmC,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC"}
|
package/dest/logs/pre_tag.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { schemas } from '@aztec/foundation/schemas';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { ExtendedDirectionalAppTaggingSecretSchema } from './extended_directional_app_tagging_secret.js';
|
|
4
4
|
export const PreTagSchema = z.object({
|
|
5
|
-
|
|
5
|
+
extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
|
|
6
6
|
index: schemas.Integer
|
|
7
7
|
});
|
|
@@ -30,14 +30,15 @@ export declare class FlatPublicLogs {
|
|
|
30
30
|
isEmpty(): boolean;
|
|
31
31
|
}
|
|
32
32
|
export declare class PublicLog {
|
|
33
|
-
contractAddress: AztecAddress;
|
|
34
|
-
fields: Fr[];
|
|
33
|
+
readonly contractAddress: AztecAddress;
|
|
34
|
+
readonly fields: Fr[];
|
|
35
35
|
constructor(contractAddress: AztecAddress, fields: Fr[]);
|
|
36
36
|
static from(fields: FieldsOf<PublicLog>): PublicLog;
|
|
37
37
|
static getFields(fields: FieldsOf<PublicLog>): readonly [AztecAddress, Fr[]];
|
|
38
38
|
toFields(): Fr[];
|
|
39
39
|
static fromFields(fields: Fr[] | FieldReader): PublicLog;
|
|
40
40
|
sizeInFields(): number;
|
|
41
|
+
/** Returns the serialized log (field as in noir field and not a struct field). */
|
|
41
42
|
getEmittedFields(): Fr[];
|
|
42
43
|
getEmittedFieldsWithoutTag(): Fr[];
|
|
43
44
|
isEmpty(): boolean;
|
|
@@ -51,4 +52,4 @@ export declare class PublicLog {
|
|
|
51
52
|
static get schema(): ZodFor<PublicLog>;
|
|
52
53
|
[inspect.custom](): string;
|
|
53
54
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHVibGljX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQscUJBQWEsY0FBYztJQUdoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFGdEIsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFRckI7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtJQU1sQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBSS9EO0lBRUQsWUFBWSxTQUVYO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUVoQztJQUVELE1BQU0sZ0JBVUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FPMUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGtCQUk5QztJQUdELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBUzNDO0lBRUQsTUFBTSxDQUFDLEtBQUssbUJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsY0FBYyxDQUsvQztJQUVELE9BQU8sWUFFTjtDQUNGO0FBRUQscUJBQWEsU0FBUzthQUVGLGVBQWUsRUFBRSxZQUFZO2FBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFGOUIsWUFDa0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUMxQjtJQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFFdEM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLGlDQUUzQztJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsYUFJM0M7SUFFRCxZQUFZLFdBRVg7SUFFRCxrRkFBa0Y7SUFDbEYsZ0JBQWdCLFNBR2Y7SUFFRCwwQkFBMEIsU0FFekI7SUFFRCxPQUFPLFlBRU47SUFFRCxNQUFNLENBQUMsS0FBSyxjQUVYO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxhQUk5QztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxTQUFTLENBSzFDO0lBRUQsT0FBYSxNQUFNLHVCQUtsQjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQU1qQjtJQUVELGVBQWUsSUFBSSxNQUFNLENBRXhCO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBT3JDO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUt6QjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAI9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAI9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;aAEF,eAAe,EAAE,YAAY;aAC7B,MAAM,EAAE,EAAE,EAAE;IAF9B,YACkB,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,EAAE,EAAE,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAEtC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,iCAE3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,aAI3C;IAED,YAAY,WAEX;IAED,kFAAkF;IAClF,gBAAgB,SAGf;IAED,0BAA0B,SAEzB;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,cAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,aAI9C;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAK1C;IAED,OAAa,MAAM,uBAKlB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAMjB;IAED,eAAe,IAAI,MAAM,CAExB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAOrC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
|
package/dest/logs/public_log.js
CHANGED
|
@@ -133,7 +133,8 @@ export class PublicLog {
|
|
|
133
133
|
sizeInFields() {
|
|
134
134
|
return this.fields.length + PUBLIC_LOG_HEADER_LENGTH;
|
|
135
135
|
}
|
|
136
|
-
getEmittedFields() {
|
|
136
|
+
/** Returns the serialized log (field as in noir field and not a struct field). */ getEmittedFields() {
|
|
137
|
+
// We slice from 0 to return a shallow copy.
|
|
137
138
|
return this.fields.slice(0);
|
|
138
139
|
}
|
|
139
140
|
getEmittedFieldsWithoutTag() {
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
3
|
+
import type { AztecAddress } from '../aztec-address/index.js';
|
|
2
4
|
import type { PublicKey } from '../keys/public_key.js';
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* the shared secret
|
|
6
|
+
* Derives an app-siloed ECDH shared secret.
|
|
7
|
+
*
|
|
8
|
+
* Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
|
|
9
|
+
* `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
|
|
7
10
|
*
|
|
8
11
|
* @param secretKey - The secret key used to derive shared secret.
|
|
9
12
|
* @param publicKey - The public key used to derive shared secret.
|
|
10
|
-
* @
|
|
13
|
+
* @param contractAddress - The address of the calling contract, used for app-siloing.
|
|
14
|
+
* @returns The app-siloed shared secret as a Field.
|
|
11
15
|
* @throws If the publicKey is zero.
|
|
12
|
-
*
|
|
13
|
-
* TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
|
|
14
|
-
* the app-siloed secret.
|
|
15
16
|
*/
|
|
16
|
-
export declare function
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
export declare function deriveAppSiloedSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey, contractAddress: AztecAddress): Promise<Fr>;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FXYiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAWb"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
1
2
|
import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
3
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* the shared secret
|
|
5
|
+
* Derives an app-siloed ECDH shared secret.
|
|
6
|
+
*
|
|
7
|
+
* Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
|
|
8
|
+
* `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
|
|
6
9
|
*
|
|
7
10
|
* @param secretKey - The secret key used to derive shared secret.
|
|
8
11
|
* @param publicKey - The public key used to derive shared secret.
|
|
9
|
-
* @
|
|
12
|
+
* @param contractAddress - The address of the calling contract, used for app-siloing.
|
|
13
|
+
* @returns The app-siloed shared secret as a Field.
|
|
10
14
|
* @throws If the publicKey is zero.
|
|
11
|
-
|
|
12
|
-
* TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
|
|
13
|
-
* the app-siloed secret.
|
|
14
|
-
*/ export function deriveEcdhSharedSecret(secretKey, publicKey) {
|
|
15
|
+
*/ export async function deriveAppSiloedSharedSecret(secretKey, publicKey, contractAddress) {
|
|
15
16
|
if (publicKey.isZero()) {
|
|
16
17
|
throw new Error(`Attempting to derive a shared secret with a zero public key. You have probably passed a zero public key in your Noir code somewhere thinking that the note won't be broadcast... but it was.`);
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
const rawSharedSecret = await Grumpkin.mul(publicKey, secretKey);
|
|
20
|
+
return poseidon2HashWithSeparator([
|
|
21
|
+
rawSharedSecret.x,
|
|
22
|
+
rawSharedSecret.y,
|
|
23
|
+
contractAddress
|
|
24
|
+
], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
|
|
19
25
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
3
3
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PreTag } from './pre_tag.js';
|
|
5
|
+
import { Tag } from './tag.js';
|
|
5
6
|
/** Branding to ensure fields are not interchangeable types. */
|
|
6
7
|
export interface SiloedTag {
|
|
7
8
|
/** Brand. */
|
|
@@ -14,10 +15,14 @@ export interface SiloedTag {
|
|
|
14
15
|
export declare class SiloedTag {
|
|
15
16
|
readonly value: Fr;
|
|
16
17
|
constructor(value: Fr);
|
|
17
|
-
static compute(
|
|
18
|
+
static compute(preTag: PreTag): Promise<SiloedTag>;
|
|
19
|
+
/**
|
|
20
|
+
* Unlike `compute`, this expects a tag whose value is already domain-separated.
|
|
21
|
+
*/
|
|
22
|
+
static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
|
|
18
23
|
toString(): string;
|
|
19
24
|
toJSON(): string;
|
|
20
25
|
equals(other: SiloedTag): boolean;
|
|
21
26
|
static get schema(): ZodFor<SiloedTag>;
|
|
22
27
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FJdkQ7SUFFRDs7T0FFRztJQUNILE9BQWEsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHakY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBRXJDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvD;IAED;;OAEG;IACH,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
|
package/dest/logs/siloed_tag.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
import { computeLogTag, computeSiloedPrivateLogFirstField } from '../hash/hash.js';
|
|
2
3
|
import { schemas } from '../schemas/schemas.js';
|
|
4
|
+
import { Tag } from './tag.js';
|
|
3
5
|
/**
|
|
4
6
|
* Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
|
|
5
7
|
* address that emitted the log.
|
|
@@ -8,7 +10,14 @@ import { schemas } from '../schemas/schemas.js';
|
|
|
8
10
|
constructor(value){
|
|
9
11
|
this.value = value;
|
|
10
12
|
}
|
|
11
|
-
static async compute(
|
|
13
|
+
static async compute(preTag) {
|
|
14
|
+
const tag = await Tag.compute(preTag);
|
|
15
|
+
const logTag = await computeLogTag(tag.value, DomainSeparator.UNCONSTRAINED_MSG_LOG_TAG);
|
|
16
|
+
return SiloedTag.computeFromTagAndApp(new Tag(logTag), preTag.extendedSecret.app);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Unlike `compute`, this expects a tag whose value is already domain-separated.
|
|
20
|
+
*/ static async computeFromTagAndApp(tag, app) {
|
|
12
21
|
const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
|
|
13
22
|
return new SiloedTag(siloedTag);
|
|
14
23
|
}
|
package/dest/logs/tag.js
CHANGED