@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bootstrap/bootstrap.d.ts +38 -0
- package/dest/bootstrap/bootstrap.d.ts.map +1 -0
- package/dest/bootstrap/bootstrap.js +31 -38
- package/dest/client/factory.d.ts +21 -0
- package/dest/client/factory.d.ts.map +1 -0
- package/dest/client/factory.js +13 -11
- package/dest/client/index.d.ts +3 -0
- package/dest/client/index.d.ts.map +1 -0
- package/dest/client/index.js +1 -0
- package/dest/client/p2p_client.d.ts +332 -0
- package/dest/client/p2p_client.d.ts.map +1 -0
- package/dest/client/p2p_client.js +535 -513
- package/dest/config.d.ts +187 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +64 -53
- package/dest/errors/reqresp.error.d.ts +28 -0
- package/dest/errors/reqresp.error.d.ts.map +1 -0
- package/dest/errors/reqresp.error.js +10 -6
- package/dest/index.d.ts +9 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
- package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/index.js +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
- package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/mocks.js +6 -10
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
- package/dest/mem_pools/index.d.ts +5 -0
- package/dest/mem_pools/index.d.ts.map +1 -0
- package/dest/mem_pools/index.js +2 -1
- package/dest/mem_pools/instrumentation.d.ts +31 -0
- package/dest/mem_pools/instrumentation.d.ts.map +1 -0
- package/dest/mem_pools/instrumentation.js +42 -37
- package/dest/mem_pools/interface.d.ts +13 -0
- package/dest/mem_pools/interface.d.ts.map +1 -0
- package/dest/mem_pools/interface.js +2 -3
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
- package/dest/mem_pools/tx_pool/index.d.ts +4 -0
- package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/index.js +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
- package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/priority.js +3 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
- package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
- package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/index.js +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
- package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
- package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/index.js +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
- package/dest/msg_validators/index.d.ts +4 -0
- package/dest/msg_validators/index.d.ts.map +1 -0
- package/dest/msg_validators/index.js +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
- package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/data_validator.js +32 -41
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
- package/dest/msg_validators/tx_validator/index.d.ts +7 -0
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
- package/dest/services/data_store.d.ts +27 -0
- package/dest/services/data_store.d.ts.map +1 -0
- package/dest/services/data_store.js +57 -57
- package/dest/services/discv5/discV5_service.d.ts +40 -0
- package/dest/services/discv5/discV5_service.d.ts.map +1 -0
- package/dest/services/discv5/discV5_service.js +82 -43
- package/dest/services/dummy_service.d.ts +83 -0
- package/dest/services/dummy_service.d.ts.map +1 -0
- package/dest/services/dummy_service.js +59 -40
- package/dest/services/encoding.d.ts +31 -0
- package/dest/services/encoding.d.ts.map +1 -0
- package/dest/services/encoding.js +9 -10
- package/dest/services/index.d.ts +3 -0
- package/dest/services/index.d.ts.map +1 -0
- package/dest/services/index.js +1 -0
- package/dest/services/libp2p/libp2p_logger.d.ts +7 -0
- package/dest/services/libp2p/libp2p_logger.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_logger.js +67 -0
- package/dest/services/libp2p/libp2p_service.d.ts +225 -0
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_service.js +727 -709
- package/dest/services/peer-manager/metrics.d.ts +12 -0
- package/dest/services/peer-manager/metrics.d.ts.map +1 -0
- package/dest/services/peer-manager/metrics.js +7 -14
- package/dest/services/peer-manager/peer_manager.d.ts +76 -0
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_manager.js +342 -340
- package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_scoring.js +18 -20
- package/dest/services/reqresp/config.d.ts +16 -0
- package/dest/services/reqresp/config.d.ts.map +1 -0
- package/dest/services/reqresp/config.js +5 -4
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
- package/dest/services/reqresp/index.d.ts +6 -0
- package/dest/services/reqresp/index.d.ts.map +1 -0
- package/dest/services/reqresp/index.js +3 -1
- package/dest/services/reqresp/interface.d.ts +116 -0
- package/dest/services/reqresp/interface.d.ts.map +1 -0
- package/dest/services/reqresp/interface.js +30 -25
- package/dest/services/reqresp/metrics.d.ts +15 -0
- package/dest/services/reqresp/metrics.d.ts.map +1 -0
- package/dest/services/reqresp/metrics.js +10 -23
- package/dest/services/reqresp/protocols/block.d.ts +4 -0
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block.js +2 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/goodbye.js +41 -36
- package/dest/services/reqresp/protocols/index.d.ts +9 -0
- package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/index.js +3 -1
- package/dest/services/reqresp/protocols/ping.d.ts +9 -0
- package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/ping.js +3 -1
- package/dest/services/reqresp/protocols/status.d.ts +9 -0
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/status.js +3 -1
- package/dest/services/reqresp/protocols/tx.d.ts +13 -0
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/tx.js +8 -5
- package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
- package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/index.js +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +35 -39
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
- package/dest/services/reqresp/reqresp.d.ts +166 -0
- package/dest/services/reqresp/reqresp.d.ts.map +1 -0
- package/dest/services/reqresp/reqresp.js +463 -460
- package/dest/services/reqresp/status.d.ts +31 -0
- package/dest/services/reqresp/status.d.ts.map +1 -0
- package/dest/services/reqresp/status.js +17 -16
- package/dest/services/service.d.ts +86 -0
- package/dest/services/service.d.ts.map +1 -0
- package/dest/services/service.js +4 -3
- package/dest/services/types.d.ts +32 -0
- package/dest/services/types.d.ts.map +1 -0
- package/dest/services/types.js +19 -20
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts +7 -0
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts.map +1 -0
- package/dest/test-helpers/generate-peer-id-private-keys.js +15 -0
- package/dest/test-helpers/get-ports.d.ts +7 -0
- package/dest/test-helpers/get-ports.d.ts.map +1 -0
- package/dest/test-helpers/get-ports.js +8 -0
- package/dest/test-helpers/index.d.ts +6 -0
- package/dest/test-helpers/index.d.ts.map +1 -0
- package/dest/test-helpers/index.js +6 -0
- package/dest/test-helpers/make-enrs.d.ts +16 -0
- package/dest/test-helpers/make-enrs.d.ts.map +1 -0
- package/dest/test-helpers/make-enrs.js +35 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +37 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -0
- package/dest/test-helpers/make-test-p2p-clients.js +71 -0
- package/dest/test-helpers/reqresp-nodes.d.ts +55 -0
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -0
- package/dest/test-helpers/reqresp-nodes.js +183 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -0
- package/dest/testbench/p2p_client_testbench_worker.js +125 -0
- package/dest/util.d.ts +53 -0
- package/dest/util.d.ts.map +1 -0
- package/dest/util.js +34 -23
- package/dest/versioning.d.ts +12 -0
- package/dest/versioning.d.ts.map +1 -0
- package/dest/versioning.js +38 -0
- package/package.json +11 -9
- package/src/bootstrap/bootstrap.ts +9 -3
- package/src/client/factory.ts +12 -5
- package/src/config.ts +56 -29
- package/src/mem_pools/index.ts +3 -3
- package/src/mem_pools/instrumentation.ts +2 -3
- package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -3
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +3 -3
- package/src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts +3 -3
- package/src/services/discv5/discV5_service.ts +67 -18
- package/src/services/dummy_service.ts +2 -0
- package/src/services/libp2p/libp2p_logger.ts +78 -0
- package/src/services/libp2p/libp2p_service.ts +47 -10
- package/src/services/reqresp/protocols/goodbye.ts +1 -1
- package/src/services/reqresp/reqresp.ts +9 -1
- package/src/services/service.ts +2 -0
- package/src/services/types.ts +2 -10
- package/src/test-helpers/generate-peer-id-private-keys.ts +15 -0
- package/src/test-helpers/get-ports.ts +8 -0
- package/src/test-helpers/index.ts +5 -0
- package/src/test-helpers/make-enrs.ts +44 -0
- package/src/test-helpers/make-test-p2p-clients.ts +124 -0
- package/src/{mocks/index.ts → test-helpers/reqresp-nodes.ts} +10 -5
- package/src/testbench/README.md +20 -0
- package/src/testbench/p2p_client_testbench_worker.ts +156 -0
- package/src/testbench/scripts/run_testbench.sh +7 -0
- package/src/versioning.ts +50 -0
- package/dest/mocks/index.js +0 -190
|
@@ -1 +1,2 @@
|
|
|
1
1
|
export { EpochProofQuoteValidator } from './epoch_proof_quote_validator.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvZXBvY2hfcHJvb2ZfcXVvdGVfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/msg_validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './tx_validator/index.js';
|
|
2
2
|
export * from './block_proposal_validator/index.js';
|
|
3
3
|
export * from './attestation_validator/index.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUMifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ProcessedTx, type Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
export declare class AggregateTxValidator<T extends Tx | ProcessedTx> implements TxValidator<T> {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(...validators: TxValidator<T>[]);
|
|
5
|
+
validateTx(tx: T): Promise<TxValidationResult>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=aggregate_tx_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate_tx_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/aggregate_tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5G,qBAAa,oBAAoB,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAEzE,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE;IAQrC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmBrD"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
var _AggregateTxValidator_validators;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
export class AggregateTxValidator {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
+
constructor(...validators) {
|
|
5
|
+
_AggregateTxValidator_validators.set(this, void 0);
|
|
4
6
|
if (validators.length === 0) {
|
|
5
7
|
throw new Error('At least one validator must be provided');
|
|
6
8
|
}
|
|
7
|
-
this
|
|
9
|
+
__classPrivateFieldSet(this, _AggregateTxValidator_validators, validators, "f");
|
|
8
10
|
}
|
|
9
11
|
async validateTx(tx) {
|
|
10
|
-
const aggregate = {
|
|
11
|
-
|
|
12
|
-
reason: []
|
|
13
|
-
};
|
|
14
|
-
for (const validator of this.#validators){
|
|
12
|
+
const aggregate = { result: 'valid', reason: [] };
|
|
13
|
+
for (const validator of __classPrivateFieldGet(this, _AggregateTxValidator_validators, "f")) {
|
|
15
14
|
const result = await validator.validateTx(tx);
|
|
16
15
|
if (result.result === 'invalid') {
|
|
17
16
|
aggregate.result = 'invalid';
|
|
18
17
|
aggregate.reason.push(...result.reason);
|
|
19
|
-
}
|
|
18
|
+
}
|
|
19
|
+
else if (result.result === 'skipped') {
|
|
20
20
|
if (aggregate.result === 'valid') {
|
|
21
21
|
aggregate.result = 'skipped';
|
|
22
22
|
}
|
|
@@ -29,3 +29,5 @@ export class AggregateTxValidator {
|
|
|
29
29
|
return aggregate;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
_AggregateTxValidator_validators = new WeakMap();
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlX3R4X3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYWdncmVnYXRlX3R4X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBWSxHQUFHLFVBQTRCO1FBRDNDLG1EQUE4QjtRQUU1QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCx1QkFBQSxJQUFJLG9DQUFlLFVBQVUsTUFBQSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUs7UUFDcEIsTUFBTSxTQUFTLEdBQTBDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDekYsS0FBSyxNQUFNLFNBQVMsSUFBSSx1QkFBQSxJQUFJLHdDQUFZLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDakMsU0FBUyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFNBQStCLENBQUM7SUFDekMsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
3
|
+
export interface ArchiveSource {
|
|
4
|
+
getArchiveIndices: (archives: Fr[]) => Promise<(bigint | undefined)[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare class BlockHeaderTxValidator<T extends AnyTx> implements TxValidator<T> {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(archiveSource: ArchiveSource);
|
|
9
|
+
validateTx(tx: T): Promise<TxValidationResult>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=block_header_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_header_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/block_header_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,aAAa,EAAE,aAAa;IAIlC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQrD"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
+
var _BlockHeaderTxValidator_log, _BlockHeaderTxValidator_archiveSource;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Tx } from '@aztec/circuit-types';
|
|
2
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
5
|
export class BlockHeaderTxValidator {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this
|
|
6
|
+
constructor(archiveSource) {
|
|
7
|
+
_BlockHeaderTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_block_header'));
|
|
8
|
+
_BlockHeaderTxValidator_archiveSource.set(this, void 0);
|
|
9
|
+
__classPrivateFieldSet(this, _BlockHeaderTxValidator_archiveSource, archiveSource, "f");
|
|
8
10
|
}
|
|
9
11
|
async validateTx(tx) {
|
|
10
|
-
const [index] = await this
|
|
11
|
-
await tx.data.constants.historicalHeader.hash()
|
|
12
|
-
]);
|
|
12
|
+
const [index] = await __classPrivateFieldGet(this, _BlockHeaderTxValidator_archiveSource, "f").getArchiveIndices([await tx.data.constants.historicalHeader.hash()]);
|
|
13
13
|
if (index === undefined) {
|
|
14
|
-
this
|
|
15
|
-
return {
|
|
16
|
-
result: 'invalid',
|
|
17
|
-
reason: [
|
|
18
|
-
'Block header not found'
|
|
19
|
-
]
|
|
20
|
-
};
|
|
14
|
+
__classPrivateFieldGet(this, _BlockHeaderTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for referencing an unknown block header`);
|
|
15
|
+
return { result: 'invalid', reason: ['Block header not found'] };
|
|
21
16
|
}
|
|
22
|
-
return {
|
|
23
|
-
result: 'valid'
|
|
24
|
-
};
|
|
17
|
+
return { result: 'valid' };
|
|
25
18
|
}
|
|
26
19
|
}
|
|
20
|
+
_BlockHeaderTxValidator_log = new WeakMap(), _BlockHeaderTxValidator_archiveSource = new WeakMap();
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQTZDLE1BQU0sc0JBQXNCLENBQUM7QUFFakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBWSxhQUE0QjtRQUh4QyxzQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUN4RCx3REFBOEI7UUFHNUIsdUJBQUEsSUFBSSx5Q0FBa0IsYUFBYSxNQUFBLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSx1QkFBQSxJQUFJLDZDQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4Qix1QkFBQSxJQUFJLG1DQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGrF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8ChD"}
|
|
@@ -1,47 +1,38 @@
|
|
|
1
|
+
var _DataTxValidator_instances, _DataTxValidator_log, _DataTxValidator_hasCorrectExecutionRequests;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
1
3
|
import { Tx } from '@aztec/circuit-types';
|
|
2
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
5
|
export class DataTxValidator {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
_DataTxValidator_instances.add(this);
|
|
8
|
+
_DataTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_data'));
|
|
9
|
+
// TODO: Check logs.
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
...tx.data.getRevertiblePublicCallRequests(),
|
|
11
|
-
...tx.data.getNonRevertiblePublicCallRequests()
|
|
12
|
-
];
|
|
13
|
-
if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
|
|
14
|
-
this.#log.warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
|
|
15
|
-
return {
|
|
16
|
-
result: 'invalid',
|
|
17
|
-
reason: [
|
|
18
|
-
'Wrong number of execution requests for public calls'
|
|
19
|
-
]
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i)=>!await execRequest.isForCallRequest(callRequests[i])))).findIndex(Boolean);
|
|
23
|
-
if (invalidExecutionRequestIndex !== -1) {
|
|
24
|
-
this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
|
|
25
|
-
return {
|
|
26
|
-
result: 'invalid',
|
|
27
|
-
reason: [
|
|
28
|
-
'Incorrect execution request for public call'
|
|
29
|
-
]
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
|
|
33
|
-
const isInvalidTeardownExecutionRequest = !teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty() || teardownCallRequest && !await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest);
|
|
34
|
-
if (isInvalidTeardownExecutionRequest) {
|
|
35
|
-
this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
|
|
36
|
-
return {
|
|
37
|
-
result: 'invalid',
|
|
38
|
-
reason: [
|
|
39
|
-
'Incorrect teardown execution request'
|
|
40
|
-
]
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
result: 'valid'
|
|
45
|
-
};
|
|
11
|
+
validateTx(tx) {
|
|
12
|
+
return __classPrivateFieldGet(this, _DataTxValidator_instances, "m", _DataTxValidator_hasCorrectExecutionRequests).call(this, tx);
|
|
46
13
|
}
|
|
47
14
|
}
|
|
15
|
+
_DataTxValidator_log = new WeakMap(), _DataTxValidator_instances = new WeakSet(), _DataTxValidator_hasCorrectExecutionRequests = async function _DataTxValidator_hasCorrectExecutionRequests(tx) {
|
|
16
|
+
const callRequests = [
|
|
17
|
+
...tx.data.getRevertiblePublicCallRequests(),
|
|
18
|
+
...tx.data.getNonRevertiblePublicCallRequests(),
|
|
19
|
+
];
|
|
20
|
+
if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
|
|
21
|
+
__classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
|
|
22
|
+
return { result: 'invalid', reason: ['Wrong number of execution requests for public calls'] };
|
|
23
|
+
}
|
|
24
|
+
const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i) => !(await execRequest.isForCallRequest(callRequests[i]))))).findIndex(Boolean);
|
|
25
|
+
if (invalidExecutionRequestIndex !== -1) {
|
|
26
|
+
__classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
|
|
27
|
+
return { result: 'invalid', reason: ['Incorrect execution request for public call'] };
|
|
28
|
+
}
|
|
29
|
+
const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
|
|
30
|
+
const isInvalidTeardownExecutionRequest = (!teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty()) ||
|
|
31
|
+
(teardownCallRequest && !(await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest)));
|
|
32
|
+
if (isInvalidTeardownExecutionRequest) {
|
|
33
|
+
__classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
|
|
34
|
+
return { result: 'invalid', reason: ['Incorrect teardown execution request'] };
|
|
35
|
+
}
|
|
36
|
+
return { result: 'valid' };
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2RhdGFfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEVBQUUsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7O1FBQ0UsK0JBQU8sWUFBWSxDQUFDLDBCQUEwQixDQUFDLEVBQUM7UUErQ2hELG9CQUFvQjtJQUN0QixDQUFDO0lBOUNDLFVBQVUsQ0FBQyxFQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLGdGQUE2QixNQUFqQyxJQUFJLEVBQThCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0E0Q0Y7aUlBMUNDLEtBQUssdURBQThCLEVBQU07SUFDdkMsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFO1FBQzVDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtLQUNoRCxDQUFDO0lBQ0YsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsRSx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnRkFDNUIsWUFBWSxDQUFDLE1BQ2YsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUMsTUFBTSxHQUFHLENBQ2xELENBQUM7UUFDRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxxREFBcUQsQ0FBQyxFQUFFLENBQUM7SUFDaEcsQ0FBQztJQUNELE1BQU0sNEJBQTRCLEdBQUcsQ0FDbkMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQ2hDLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FDRixDQUNGLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLElBQUksNEJBQTRCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQzlCLEVBQUUsQ0FDSCxxRUFBcUUsNEJBQTRCLEdBQUcsQ0FDdEcsQ0FBQztRQUNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDbkUsTUFBTSxpQ0FBaUMsR0FDckMsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xFLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUMifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
|
|
4
|
+
export interface NullifierSource {
|
|
5
|
+
nullifiersExist: (nullifiers: Buffer[]) => Promise<boolean[]>;
|
|
6
|
+
}
|
|
7
|
+
export declare class DoubleSpendTxValidator<T extends AnyTx> implements TxValidator<T> {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(nullifierSource: NullifierSource);
|
|
10
|
+
validateTx(tx: T): Promise<TxValidationResult>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=double_spend_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double_spend_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/double_spend_validator.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjG,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC/D;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,eAAe,EAAE,eAAe;IAItC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiBrD"}
|
|
@@ -1,35 +1,27 @@
|
|
|
1
|
+
var _DoubleSpendTxValidator_log, _DoubleSpendTxValidator_nullifierSource;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Tx } from '@aztec/circuit-types';
|
|
2
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
5
|
export class DoubleSpendTxValidator {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this
|
|
6
|
+
constructor(nullifierSource) {
|
|
7
|
+
_DoubleSpendTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_double_spend'));
|
|
8
|
+
_DoubleSpendTxValidator_nullifierSource.set(this, void 0);
|
|
9
|
+
__classPrivateFieldSet(this, _DoubleSpendTxValidator_nullifierSource, nullifierSource, "f");
|
|
8
10
|
}
|
|
9
11
|
async validateTx(tx) {
|
|
10
12
|
const nullifiers = tx instanceof Tx ? tx.data.getNonEmptyNullifiers() : tx.txEffect.nullifiers;
|
|
11
13
|
// Ditch this tx if it has repeated nullifiers
|
|
12
14
|
const uniqueNullifiers = new Set(nullifiers);
|
|
13
15
|
if (uniqueNullifiers.size !== nullifiers.length) {
|
|
14
|
-
this
|
|
15
|
-
return {
|
|
16
|
-
result: 'invalid',
|
|
17
|
-
reason: [
|
|
18
|
-
'Duplicate nullifier in tx'
|
|
19
|
-
]
|
|
20
|
-
};
|
|
16
|
+
__classPrivateFieldGet(this, _DoubleSpendTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for emitting duplicate nullifiers`);
|
|
17
|
+
return { result: 'invalid', reason: ['Duplicate nullifier in tx'] };
|
|
21
18
|
}
|
|
22
|
-
if ((await this
|
|
23
|
-
this
|
|
24
|
-
return {
|
|
25
|
-
result: 'invalid',
|
|
26
|
-
reason: [
|
|
27
|
-
'Existing nullifier'
|
|
28
|
-
]
|
|
29
|
-
};
|
|
19
|
+
if ((await __classPrivateFieldGet(this, _DoubleSpendTxValidator_nullifierSource, "f").nullifiersExist(nullifiers.map(n => n.toBuffer()))).some(Boolean)) {
|
|
20
|
+
__classPrivateFieldGet(this, _DoubleSpendTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for repeating a nullifier`);
|
|
21
|
+
return { result: 'invalid', reason: ['Existing nullifier'] };
|
|
30
22
|
}
|
|
31
|
-
return {
|
|
32
|
-
result: 'valid'
|
|
33
|
-
};
|
|
23
|
+
return { result: 'valid' };
|
|
34
24
|
}
|
|
35
25
|
}
|
|
26
|
+
_DoubleSpendTxValidator_log = new WeakMap(), _DoubleSpendTxValidator_nullifierSource = new WeakMap();
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlX3NwZW5kX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZG91YmxlX3NwZW5kX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQTZDLE1BQU0sc0JBQXNCLENBQUM7QUFDakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBWSxlQUFnQztRQUg1QyxzQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUN4RCwwREFBa0M7UUFHaEMsdUJBQUEsSUFBSSwyQ0FBb0IsZUFBZSxNQUFBLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLFVBQVUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBRS9GLDhDQUE4QztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCx1QkFBQSxJQUFJLG1DQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSx1QkFBQSxJQUFJLCtDQUFpQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25HLHVCQUFBLElBQUksbUNBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './aggregate_tx_validator.js';
|
|
2
|
+
export * from './data_validator.js';
|
|
3
|
+
export * from './double_spend_validator.js';
|
|
4
|
+
export * from './metadata_validator.js';
|
|
5
|
+
export * from './tx_proof_validator.js';
|
|
6
|
+
export * from './block_header_validator.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
@@ -4,3 +4,4 @@ export * from './double_spend_validator.js';
|
|
|
4
4
|
export * from './metadata_validator.js';
|
|
5
5
|
export * from './tx_proof_validator.js';
|
|
6
6
|
export * from './block_header_validator.js';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
3
|
+
export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator<T> {
|
|
4
|
+
#private;
|
|
5
|
+
private chainId;
|
|
6
|
+
private blockNumber;
|
|
7
|
+
constructor(chainId: Fr, blockNumber: Fr);
|
|
8
|
+
validateTx(tx: T): Promise<TxValidationResult>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=metadata_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAG7D,OAAO,CAAC,OAAO;IAAM,OAAO,CAAC,WAAW;gBAAhC,OAAO,EAAE,EAAE,EAAU,WAAW,EAAE,EAAE;IAElD,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAsCrD"}
|
|
@@ -1,44 +1,41 @@
|
|
|
1
|
+
var _MetadataTxValidator_instances, _MetadataTxValidator_log, _MetadataTxValidator_hasCorrectChainId, _MetadataTxValidator_isValidForBlockNumber;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
1
3
|
import { Tx } from '@aztec/circuit-types';
|
|
2
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
5
|
export class MetadataTxValidator {
|
|
4
|
-
chainId
|
|
5
|
-
|
|
6
|
-
#log;
|
|
7
|
-
constructor(chainId, blockNumber){
|
|
6
|
+
constructor(chainId, blockNumber) {
|
|
7
|
+
_MetadataTxValidator_instances.add(this);
|
|
8
8
|
this.chainId = chainId;
|
|
9
9
|
this.blockNumber = blockNumber;
|
|
10
|
-
this
|
|
10
|
+
_MetadataTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_metadata'));
|
|
11
11
|
}
|
|
12
12
|
async validateTx(tx) {
|
|
13
13
|
const errors = [];
|
|
14
|
-
if (!await this
|
|
14
|
+
if (!(await __classPrivateFieldGet(this, _MetadataTxValidator_instances, "m", _MetadataTxValidator_hasCorrectChainId).call(this, tx))) {
|
|
15
15
|
errors.push('Incorrect chain id');
|
|
16
16
|
}
|
|
17
|
-
if (!await this
|
|
17
|
+
if (!(await __classPrivateFieldGet(this, _MetadataTxValidator_instances, "m", _MetadataTxValidator_isValidForBlockNumber).call(this, tx))) {
|
|
18
18
|
errors.push('Invalid block number');
|
|
19
19
|
}
|
|
20
|
-
return errors.length > 0 ? {
|
|
21
|
-
result: 'invalid',
|
|
22
|
-
reason: errors
|
|
23
|
-
} : {
|
|
24
|
-
result: 'valid'
|
|
25
|
-
};
|
|
20
|
+
return errors.length > 0 ? { result: 'invalid', reason: errors } : { result: 'valid' };
|
|
26
21
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
22
|
+
}
|
|
23
|
+
_MetadataTxValidator_log = new WeakMap(), _MetadataTxValidator_instances = new WeakSet(), _MetadataTxValidator_hasCorrectChainId = async function _MetadataTxValidator_hasCorrectChainId(tx) {
|
|
24
|
+
if (!tx.data.constants.txContext.chainId.equals(this.chainId)) {
|
|
25
|
+
__classPrivateFieldGet(this, _MetadataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect chain ${tx.data.constants.txContext.chainId.toNumber()} != ${this.chainId.toNumber()}`);
|
|
26
|
+
return false;
|
|
34
27
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (maxBlockNumber.isSome && maxBlockNumber.value < this.blockNumber) {
|
|
38
|
-
this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for low max block number. Tx max block number: ${maxBlockNumber.value}, current block number: ${this.blockNumber}.`);
|
|
39
|
-
return false;
|
|
40
|
-
} else {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
28
|
+
else {
|
|
29
|
+
return true;
|
|
43
30
|
}
|
|
44
|
-
}
|
|
31
|
+
}, _MetadataTxValidator_isValidForBlockNumber = async function _MetadataTxValidator_isValidForBlockNumber(tx) {
|
|
32
|
+
const maxBlockNumber = tx.data.rollupValidationRequests.maxBlockNumber;
|
|
33
|
+
if (maxBlockNumber.isSome && maxBlockNumber.value < this.blockNumber) {
|
|
34
|
+
__classPrivateFieldGet(this, _MetadataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for low max block number. Tx max block number: ${maxBlockNumber.value}, current block number: ${this.blockNumber}.`);
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9tZXRhZGF0YV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWMsRUFBRSxFQUE2QyxNQUFNLHNCQUFzQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLE9BQVcsRUFBVSxXQUFlOztRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUFJO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFGeEQsbUNBQU8sWUFBWSxDQUFDLDhCQUE4QixDQUFDLEVBQUM7SUFFTyxDQUFDO0lBRTVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLENBQUMsTUFBTSx1QkFBQSxJQUFJLDhFQUFtQixNQUF2QixJQUFJLEVBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sdUJBQUEsSUFBSSxrRkFBdUIsTUFBM0IsSUFBSSxFQUF3QixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN6RixDQUFDO0NBNkJGO21JQTNCQyxLQUFLLGlEQUFvQixFQUFLO0lBQzVCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM5RCx1QkFBQSxJQUFJLGdDQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQzlCLEVBQUUsQ0FDSCwrQkFBK0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQy9HLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQywrQ0FFRCxLQUFLLHFEQUF3QixFQUFLO0lBQ2hDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDO0lBRXZFLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRSx1QkFBQSxJQUFJLGdDQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG1EQUNsQyxjQUFjLENBQUMsS0FDakIsMkJBQTJCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FDL0MsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ClientProtocolCircuitVerifier, Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
export declare class TxProofValidator implements TxValidator<Tx> {
|
|
3
|
+
#private;
|
|
4
|
+
private verifier;
|
|
5
|
+
constructor(verifier: ClientProtocolCircuitVerifier);
|
|
6
|
+
validateTx(tx: Tx): Promise<TxValidationResult>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=tx_proof_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx_proof_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_proof_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,gBAAiB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG1C,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,6BAA6B;IAErD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQtD"}
|
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
var _TxProofValidator_log;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { Tx, } from '@aztec/circuit-types';
|
|
2
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
5
|
export class TxProofValidator {
|
|
4
|
-
verifier
|
|
5
|
-
#log;
|
|
6
|
-
constructor(verifier){
|
|
6
|
+
constructor(verifier) {
|
|
7
7
|
this.verifier = verifier;
|
|
8
|
-
this
|
|
8
|
+
_TxProofValidator_log.set(this, createLogger('p2p:tx_validator:private_proof'));
|
|
9
9
|
}
|
|
10
10
|
async validateTx(tx) {
|
|
11
|
-
if (!await this.verifier.verifyProof(tx)) {
|
|
12
|
-
this
|
|
13
|
-
return {
|
|
14
|
-
result: 'invalid',
|
|
15
|
-
reason: [
|
|
16
|
-
'Invalid proof'
|
|
17
|
-
]
|
|
18
|
-
};
|
|
11
|
+
if (!(await this.verifier.verifyProof(tx))) {
|
|
12
|
+
__classPrivateFieldGet(this, _TxProofValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} for invalid proof`);
|
|
13
|
+
return { result: 'invalid', reason: ['Invalid proof'] };
|
|
19
14
|
}
|
|
20
|
-
this
|
|
21
|
-
return {
|
|
22
|
-
result: 'valid'
|
|
23
|
-
};
|
|
15
|
+
__classPrivateFieldGet(this, _TxProofValidator_log, "f").trace(`Accepted ${Tx.getHash(tx)} with valid proof`);
|
|
16
|
+
return { result: 'valid' };
|
|
24
17
|
}
|
|
25
18
|
}
|
|
19
|
+
_TxProofValidator_log = new WeakMap();
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wcm9vZl92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsRUFBRSxHQUdILE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsUUFBdUM7UUFBdkMsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFGM0QsZ0NBQU8sWUFBWSxDQUFDLGdDQUFnQyxDQUFDLEVBQUM7SUFFUSxDQUFDO0lBRS9ELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBTTtRQUNyQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDMUQsQ0FBQztRQUNELHVCQUFBLElBQUksNkJBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
+
import { type Batch, type Datastore, Key, type KeyQuery, type Pair, type Query } from 'interface-datastore';
|
|
3
|
+
import type { AwaitIterable } from 'interface-store';
|
|
4
|
+
export declare class AztecDatastore implements Datastore {
|
|
5
|
+
#private;
|
|
6
|
+
private maxMemoryItems;
|
|
7
|
+
constructor(db: AztecAsyncKVStore, { maxMemoryItems }?: {
|
|
8
|
+
maxMemoryItems: number;
|
|
9
|
+
});
|
|
10
|
+
has(key: Key): Promise<boolean>;
|
|
11
|
+
get(key: Key): Promise<Uint8Array>;
|
|
12
|
+
put(key: Key, val: Uint8Array): Promise<Key>;
|
|
13
|
+
putMany(source: AwaitIterable<Pair>): AwaitIterable<Key>;
|
|
14
|
+
getMany(source: AwaitIterable<Key>): AwaitIterable<Pair>;
|
|
15
|
+
deleteMany(source: AwaitIterable<Key>): AwaitIterable<Key>;
|
|
16
|
+
delete(key: Key): Promise<void>;
|
|
17
|
+
batch(): Batch;
|
|
18
|
+
query(q: Query): AwaitIterable<Pair>;
|
|
19
|
+
queryKeys(q: KeyQuery): AsyncIterable<Key>;
|
|
20
|
+
private _put;
|
|
21
|
+
private all;
|
|
22
|
+
/**
|
|
23
|
+
* Prune memory store
|
|
24
|
+
*/
|
|
25
|
+
private pruneMemoryDatastore;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data_store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_store.d.ts","sourceRoot":"","sources":["../../src/services/data_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqBrD,qBAAa,cAAe,YAAW,SAAS;;IAM9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE;;KAAyB;IAOxE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBxC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAOxD,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC;IASxD,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAO3D,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,KAAK,IAAI,KAAK;IA4Bd,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;IA4BpC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;YA2B5B,IAAI;YAqBH,GAAG;IAkBlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
|