@aztec/foundation 0.0.1-commit.4d3c002 → 0.0.1-commit.4d9804df
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/bigint-buffer/index.d.ts +1 -1
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/bigint-buffer/index.js +6 -1
- package/dest/branded-types/block_number.d.ts +3 -3
- package/dest/branded-types/block_number.d.ts.map +1 -1
- package/dest/branded-types/block_number.js +15 -4
- package/dest/branded-types/buffer32_hash.d.ts +27 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +12 -0
- package/dest/branded-types/checkpoint_number.d.ts +9 -3
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +11 -0
- package/dest/branded-types/epoch.d.ts +2 -2
- package/dest/branded-types/epoch.d.ts.map +1 -1
- package/dest/branded-types/index.d.ts +2 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +1 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +2 -2
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -1
- package/dest/branded-types/slot.d.ts +2 -2
- package/dest/branded-types/slot.d.ts.map +1 -1
- package/dest/buffer/buffer16.d.ts +3 -3
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer32.d.ts +28 -63
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +29 -63
- package/dest/collection/array.d.ts +9 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +18 -0
- package/dest/collection/index.d.ts +2 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +1 -0
- package/dest/collection/lru_map.d.ts +41 -0
- package/dest/collection/lru_map.d.ts.map +1 -0
- package/dest/collection/lru_map.js +119 -0
- package/dest/committable/committable.js +1 -1
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +67 -37
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +72 -71
- package/dest/config/network_config.d.ts +11 -55
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_name.d.ts +2 -2
- package/dest/config/network_name.d.ts.map +1 -1
- package/dest/config/network_name.js +1 -3
- package/dest/config/secret_value.d.ts +2 -2
- package/dest/config/secret_value.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.d.ts +10 -168
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.js +22 -17
- package/dest/crypto/keys/index.d.ts +3 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +30 -6
- package/dest/crypto/schnorr/index.d.ts +8 -7
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +6 -6
- package/dest/crypto/schnorr/signature.d.ts +9 -29
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +20 -36
- package/dest/curves/bls12/field.d.ts +3 -3
- package/dest/curves/bls12/field.d.ts.map +1 -1
- package/dest/curves/bls12/field.js +0 -5
- package/dest/curves/bls12/point.d.ts +2 -2
- package/dest/curves/bls12/point.d.ts.map +1 -1
- package/dest/curves/bn254/field.d.ts +23 -19
- package/dest/curves/bn254/field.d.ts.map +1 -1
- package/dest/curves/bn254/field.js +23 -17
- package/dest/curves/grumpkin/point.d.ts +13 -27
- package/dest/curves/grumpkin/point.d.ts.map +1 -1
- package/dest/curves/grumpkin/point.js +28 -42
- package/dest/eth-address/index.d.ts +2 -2
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +0 -3
- package/dest/eth-signature/eth_signature.d.ts +2 -2
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/fifo/fifo_frame_reader.d.ts +2 -2
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -1
- package/dest/fifo/fifo_frame_reader.js +21 -4
- package/dest/fifo_set/fifo_set.d.ts +15 -0
- package/dest/fifo_set/fifo_set.d.ts.map +1 -0
- package/dest/fifo_set/fifo_set.js +39 -0
- package/dest/fifo_set/index.d.ts +2 -0
- package/dest/fifo_set/index.d.ts.map +1 -0
- package/dest/fifo_set/index.js +1 -0
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +2 -2
- package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.js +57 -17
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +27 -13
- package/dest/log/pino-logger.js +15 -1
- package/dest/noir/noir_package_config.d.ts +19 -104
- package/dest/noir/noir_package_config.d.ts.map +1 -1
- package/dest/noir/noir_package_config.js +1 -1
- package/dest/promise/running-promise.d.ts +5 -4
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +7 -3
- package/dest/retry/index.d.ts +20 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +23 -2
- package/dest/schemas/api.d.ts +11 -9
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/api.js +7 -1
- package/dest/schemas/parse.d.ts +4 -4
- package/dest/schemas/parse.d.ts.map +1 -1
- package/dest/schemas/parse.js +6 -5
- package/dest/schemas/schemas.d.ts +15 -15
- package/dest/schemas/types.d.ts +3 -3
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/utils.d.ts +7 -11
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +2 -18
- package/dest/serialize/buffer_sink.d.ts +134 -0
- package/dest/serialize/buffer_sink.d.ts.map +1 -0
- package/dest/serialize/buffer_sink.js +297 -0
- package/dest/serialize/index.d.ts +2 -1
- package/dest/serialize/index.d.ts.map +1 -1
- package/dest/serialize/index.js +1 -0
- package/dest/string/index.js +1 -1
- package/dest/testing/files/index.d.ts +2 -3
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +1 -2
- package/dest/timer/index.d.ts +2 -2
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +1 -1
- package/dest/timer/timeout.d.ts +3 -1
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +26 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts +2 -3
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -1
- package/dest/trees/balanced_merkle_tree_root.js +2 -3
- package/dest/trees/hasher.d.ts +3 -2
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +5 -5
- package/dest/trees/membership_witness.d.ts +2 -6
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +0 -9
- package/dest/trees/merkle_tree_calculator.d.ts +4 -2
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +1 -5
- package/dest/trees/sibling_path.d.ts +5 -4
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +10 -8
- package/dest/trees/unbalanced_merkle_tree_root.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_root.js +2 -3
- package/dest/types/index.d.ts +23 -1
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +15 -0
- package/package.json +5 -4
- package/src/bigint-buffer/index.ts +6 -1
- package/src/branded-types/block_number.ts +20 -2
- package/src/branded-types/buffer32_hash.ts +38 -0
- package/src/branded-types/checkpoint_number.ts +16 -1
- package/src/branded-types/epoch.ts +1 -1
- package/src/branded-types/index.ts +1 -0
- package/src/branded-types/index_within_checkpoint.ts +1 -1
- package/src/branded-types/slot.ts +1 -1
- package/src/buffer/buffer16.ts +2 -2
- package/src/buffer/buffer32.ts +39 -71
- package/src/collection/array.ts +20 -0
- package/src/collection/index.ts +1 -0
- package/src/collection/lru_map.ts +143 -0
- package/src/committable/committable.ts +1 -1
- package/src/config/env_var.ts +42 -22
- package/src/config/index.ts +143 -122
- package/src/config/network_name.ts +2 -5
- package/src/config/secret_value.ts +1 -1
- package/src/crypto/bls/bn254_keystore.ts +33 -20
- package/src/crypto/keys/index.ts +20 -4
- package/src/crypto/schnorr/index.ts +9 -8
- package/src/crypto/schnorr/signature.ts +17 -46
- package/src/curves/bls12/field.ts +0 -7
- package/src/curves/bn254/field.ts +35 -34
- package/src/curves/grumpkin/point.ts +22 -39
- package/src/eth-address/index.ts +0 -4
- package/src/fifo/fifo_frame_reader.ts +17 -2
- package/src/fifo_set/fifo_set.ts +52 -0
- package/src/fifo_set/index.ts +1 -0
- package/src/json-rpc/client/safe_json_rpc_client.ts +2 -2
- package/src/json-rpc/fixtures/test_state.ts +10 -10
- package/src/json-rpc/server/safe_json_rpc_server.ts +31 -13
- package/src/log/pino-logger.ts +16 -1
- package/src/noir/noir_package_config.ts +32 -20
- package/src/promise/running-promise.ts +8 -5
- package/src/retry/index.ts +36 -4
- package/src/schemas/api.ts +21 -24
- package/src/schemas/parse.ts +9 -6
- package/src/schemas/schemas.ts +4 -4
- package/src/schemas/types.ts +2 -2
- package/src/schemas/utils.ts +4 -38
- package/src/serialize/buffer_sink.ts +350 -0
- package/src/serialize/index.ts +1 -0
- package/src/string/index.ts +1 -1
- package/src/testing/files/index.ts +1 -2
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +31 -0
- package/src/trees/balanced_merkle_tree_root.ts +2 -5
- package/src/trees/hasher.ts +6 -3
- package/src/trees/membership_witness.ts +0 -8
- package/src/trees/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +11 -6
- package/src/trees/unbalanced_merkle_tree_root.ts +2 -5
- package/src/types/index.ts +47 -0
|
@@ -6,15 +6,11 @@ import { type ApiSchemaFor } from '../../schemas/index.js';
|
|
|
6
6
|
export declare class TestNote {
|
|
7
7
|
private data;
|
|
8
8
|
constructor(data: string);
|
|
9
|
-
static get schema(): z.
|
|
9
|
+
static get schema(): z.ZodPipe<z.ZodObject<{
|
|
10
10
|
data: z.ZodString;
|
|
11
|
-
},
|
|
11
|
+
}, z.core.$strip>, z.ZodTransform<TestNote, {
|
|
12
12
|
data: string;
|
|
13
|
-
}
|
|
14
|
-
data: string;
|
|
15
|
-
}>, TestNote, {
|
|
16
|
-
data: string;
|
|
17
|
-
}>;
|
|
13
|
+
}>>;
|
|
18
14
|
toJSON(): {
|
|
19
15
|
data: string;
|
|
20
16
|
};
|
|
@@ -86,4 +82,4 @@ export declare class TestState implements TestStateApi {
|
|
|
86
82
|
getTuple(): Promise<[string, string | undefined, number]>;
|
|
87
83
|
}
|
|
88
84
|
export declare const TestStateSchema: ApiSchemaFor<TestStateApi>;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2pzb24tcnBjL2ZpeHR1cmVzL3Rlc3Rfc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFHOUU7O0dBRUc7QUFDSCxxQkFBYSxRQUFRO0lBQ1AsT0FBTyxDQUFDLElBQUk7SUFBeEIsWUFBb0IsSUFBSSxFQUFFLE1BQU0sRUFBSTtJQUVwQyxNQUFNLEtBQUssTUFBTTs7OztRQUVoQjtJQUVELE1BQU07O01BRUw7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUNEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUV4QztDQUNGO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzFELFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM5RCxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkQsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRCxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztRQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQzVELFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0NBQzNEO0FBRUQ7Ozs7R0FJRztBQUNILHFCQUFhLFNBQVUsWUFBVyxZQUFZO0lBQ3pCLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFBcEMsWUFBbUIsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFJO0lBQ3hDOzs7Ozs7O09BT0c7SUFDRyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBRzlDO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEI7SUFFSyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUc3QjtJQUVLLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBR2xEO0lBRUssU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUc5RDtJQUVLLFNBQVMsQ0FBQyxLQUFLLFNBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FHOUM7SUFFSyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUczQjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0csUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FNckQ7SUFFSyxVQUFVLGtCQUdmO0lBRUssU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUc1RDtJQUVLLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUc5RDtDQUNGO0FBRUQsZUFBTyxNQUFNLGVBQWUsRUFBRSxZQUFZLENBQUMsWUFBWSxDQVd0RCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_state.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/test_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AAG9E;;GAEG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,IAAI;IAAxB,YAAoB,IAAI,EAAE,MAAM,EAAI;IAEpC,MAAM,KAAK,MAAM
|
|
1
|
+
{"version":3,"file":"test_state.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/test_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AAG9E;;GAEG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,IAAI;IAAxB,YAAoB,IAAI,EAAE,MAAM,EAAI;IAEpC,MAAM,KAAK,MAAM;;;;QAEhB;IAED,MAAM;;MAEL;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;IACD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAExC;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC1D,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3D;AAED;;;;GAIG;AACH,qBAAa,SAAU,YAAW,YAAY;IACzB,KAAK,EAAE,QAAQ,EAAE;IAApC,YAAmB,KAAK,EAAE,QAAQ,EAAE,EAAI;IACxC;;;;;;;OAOG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAG9C;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAEK,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAG7B;IAEK,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGlD;IAEK,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAG9D;IAEK,SAAS,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAG9C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED;;;;;;;;OAQG;IACG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMrD;IAEK,UAAU,kBAGf;IAEK,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAG5D;IAEK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAG9D;CACF;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,YAAY,CAWtD,CAAC"}
|
|
@@ -111,21 +111,61 @@ import { sleep } from '../../sleep/index.js';
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
export const TestStateSchema = {
|
|
114
|
-
getNote: z.function(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
})
|
|
126
|
-
|
|
127
|
-
z.
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
114
|
+
getNote: z.function({
|
|
115
|
+
input: z.tuple([
|
|
116
|
+
z.number()
|
|
117
|
+
]),
|
|
118
|
+
output: TestNote.schema.optional()
|
|
119
|
+
}),
|
|
120
|
+
getNotes: z.function({
|
|
121
|
+
input: z.tuple([
|
|
122
|
+
optional(schemas.Integer)
|
|
123
|
+
]),
|
|
124
|
+
output: z.array(TestNote.schema)
|
|
125
|
+
}),
|
|
126
|
+
getNotes2: z.function({
|
|
127
|
+
input: z.tuple([
|
|
128
|
+
optional(schemas.BigInt)
|
|
129
|
+
]),
|
|
130
|
+
output: z.array(TestNote.schema)
|
|
131
|
+
}),
|
|
132
|
+
getNotes3: z.function({
|
|
133
|
+
input: z.tuple([
|
|
134
|
+
optional(schemas.Integer)
|
|
135
|
+
]),
|
|
136
|
+
output: z.array(TestNote.schema)
|
|
137
|
+
}),
|
|
138
|
+
clear: z.function({
|
|
139
|
+
input: z.tuple([]),
|
|
140
|
+
output: z.void()
|
|
141
|
+
}),
|
|
142
|
+
addNotes: z.function({
|
|
143
|
+
input: z.tuple([
|
|
144
|
+
z.array(TestNote.schema)
|
|
145
|
+
]),
|
|
146
|
+
output: z.array(TestNote.schema)
|
|
147
|
+
}),
|
|
148
|
+
fail: z.function({
|
|
149
|
+
input: z.tuple([]),
|
|
150
|
+
output: z.void()
|
|
151
|
+
}),
|
|
152
|
+
count: z.function({
|
|
153
|
+
input: z.tuple([]),
|
|
154
|
+
output: z.number()
|
|
155
|
+
}),
|
|
156
|
+
getStatus: z.function({
|
|
157
|
+
input: z.tuple([]),
|
|
158
|
+
output: z.object({
|
|
159
|
+
status: z.string(),
|
|
160
|
+
count: schemas.BigInt
|
|
161
|
+
})
|
|
162
|
+
}),
|
|
163
|
+
getTuple: z.function({
|
|
164
|
+
input: z.tuple([]),
|
|
165
|
+
output: z.tuple([
|
|
166
|
+
z.string(),
|
|
167
|
+
optional(z.string()),
|
|
168
|
+
z.number()
|
|
169
|
+
])
|
|
170
|
+
})
|
|
131
171
|
};
|
|
@@ -23,8 +23,10 @@ export declare class SafeJsonRpcServer {
|
|
|
23
23
|
private readonly proxy;
|
|
24
24
|
/** Health check function */
|
|
25
25
|
private readonly healthCheck;
|
|
26
|
-
/** Additional middlewares */
|
|
26
|
+
/** Additional Koa middlewares */
|
|
27
27
|
private extraMiddlewares;
|
|
28
|
+
/** Additional per-request diagnostics middlewares */
|
|
29
|
+
private diagnosticsMiddleware?;
|
|
28
30
|
/** Logger */
|
|
29
31
|
private log;
|
|
30
32
|
/**
|
|
@@ -38,8 +40,10 @@ export declare class SafeJsonRpcServer {
|
|
|
38
40
|
proxy: Proxy, config?: Partial<SafeJsonRpcServerConfig>,
|
|
39
41
|
/** Health check function */
|
|
40
42
|
healthCheck?: StatusCheckFn,
|
|
41
|
-
/** Additional middlewares */
|
|
43
|
+
/** Additional Koa middlewares */
|
|
42
44
|
extraMiddlewares?: Application.Middleware[],
|
|
45
|
+
/** Additional per-request diagnostics middlewares */
|
|
46
|
+
diagnosticsMiddleware?: DiagnosticsMiddleware | undefined,
|
|
43
47
|
/** Logger */
|
|
44
48
|
log?: Logger);
|
|
45
49
|
isHealthy(): boolean | Promise<boolean>;
|
|
@@ -103,6 +107,7 @@ export type ApiHandler<T extends object = any> = [T, ApiSchemaFor<T>, StatusChec
|
|
|
103
107
|
export declare function makeHandler<T extends object>(handler: T, schema: ApiSchemaFor<T>): ApiHandler<T>;
|
|
104
108
|
export type SafeJsonRpcServerOptions = Partial<SafeJsonRpcServerConfig & {
|
|
105
109
|
healthCheck: StatusCheckFn;
|
|
110
|
+
diagnostic: DiagnosticsMiddleware;
|
|
106
111
|
log: Logger;
|
|
107
112
|
middlewares: Application.Middleware[];
|
|
108
113
|
}>;
|
|
@@ -136,4 +141,4 @@ export declare function startHttpRpcServer(rpcServer: Pick<SafeJsonRpcServer, 'g
|
|
|
136
141
|
port: number;
|
|
137
142
|
}>;
|
|
138
143
|
export {};
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZV9qc29uX3JwY19zZXJ2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9zZXJ2ZXIvc2FmZV9qc29uX3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLE9BQU8sSUFBSSxXQUFXLEVBQWtCLE1BQU0sS0FBSyxDQUFDO0FBR2xFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUtoQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFL0QsT0FBTyxFQUVMLEtBQUssWUFBWSxFQUlsQixNQUFNLHdCQUF3QixDQUFDO0FBSWhDLE1BQU0sTUFBTSxlQUFlLEdBQUc7SUFDNUIsRUFBRSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0NBQ25DLENBQUM7QUFFRixNQUFNLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkcsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lBQ3BDLGtEQUFrRDtJQUNsRCxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLHFHQUFxRztJQUNyRyxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3hCLG1EQUFtRDtJQUNuRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQVFGLHFCQUFhLGlCQUFpQjtJQVUxQiwrQ0FBK0M7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBRXRCLDRCQUE0QjtJQUM1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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,OAAO,IAAI,WAAW,EAAkB,MAAM,KAAK,CAAC;AAGlE,OAAO,MAAM,MAAM,YAAY,CAAC;AAKhC,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { format, inspect } from 'util';
|
|
|
8
8
|
import { ZodError } from 'zod';
|
|
9
9
|
import { createLogger } from '../../log/index.js';
|
|
10
10
|
import { promiseWithResolvers } from '../../promise/utils.js';
|
|
11
|
-
import { parseWithOptionals, schemaHasMethod } from '../../schemas/index.js';
|
|
11
|
+
import { getSchemaParameters, parseWithOptionals, schemaHasMethod } from '../../schemas/index.js';
|
|
12
12
|
import { jsonStringify } from '../convert.js';
|
|
13
13
|
import { assert } from '../js_utils.js';
|
|
14
14
|
const defaultServerConfig = {
|
|
@@ -20,16 +20,18 @@ export class SafeJsonRpcServer {
|
|
|
20
20
|
proxy;
|
|
21
21
|
healthCheck;
|
|
22
22
|
extraMiddlewares;
|
|
23
|
+
diagnosticsMiddleware;
|
|
23
24
|
log;
|
|
24
25
|
/**
|
|
25
26
|
* The HTTP server accepting remote requests.
|
|
26
27
|
* This member field is initialized when the server is started.
|
|
27
28
|
*/ httpServer;
|
|
28
29
|
config;
|
|
29
|
-
constructor(/** The proxy object to delegate requests to */ proxy, config = {}, /** Health check function */ healthCheck = ()=>true, /** Additional middlewares */ extraMiddlewares = [], /** Logger */ log = createLogger('json-rpc:server')){
|
|
30
|
+
constructor(/** The proxy object to delegate requests to */ proxy, config = {}, /** Health check function */ healthCheck = ()=>true, /** Additional Koa middlewares */ extraMiddlewares = [], /** Additional per-request diagnostics middlewares */ diagnosticsMiddleware, /** Logger */ log = createLogger('json-rpc:server')){
|
|
30
31
|
this.proxy = proxy;
|
|
31
32
|
this.healthCheck = healthCheck;
|
|
32
33
|
this.extraMiddlewares = extraMiddlewares;
|
|
34
|
+
this.diagnosticsMiddleware = diagnosticsMiddleware;
|
|
33
35
|
this.log = log;
|
|
34
36
|
this.config = {
|
|
35
37
|
...defaultServerConfig,
|
|
@@ -151,7 +153,7 @@ export class SafeJsonRpcServer {
|
|
|
151
153
|
};
|
|
152
154
|
return;
|
|
153
155
|
}
|
|
154
|
-
const resp = await this.processBatch(ctx.request.body);
|
|
156
|
+
const resp = await this.processBatch(ctx.request.body, ctx.request.headers);
|
|
155
157
|
if (Array.isArray(resp)) {
|
|
156
158
|
ctx.status = 200;
|
|
157
159
|
ctx.body = resp;
|
|
@@ -160,7 +162,7 @@ export class SafeJsonRpcServer {
|
|
|
160
162
|
ctx.body = resp;
|
|
161
163
|
}
|
|
162
164
|
} else {
|
|
163
|
-
const resp = await this.processRequest(ctx.request.body);
|
|
165
|
+
const resp = await this.processRequest(ctx.request.body, ctx.request.headers);
|
|
164
166
|
if ('error' in resp) {
|
|
165
167
|
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
166
168
|
}
|
|
@@ -169,7 +171,7 @@ export class SafeJsonRpcServer {
|
|
|
169
171
|
});
|
|
170
172
|
return router;
|
|
171
173
|
}
|
|
172
|
-
async processBatch(requests) {
|
|
174
|
+
async processBatch(requests, headers = {}) {
|
|
173
175
|
if (requests.length === 0) {
|
|
174
176
|
return {
|
|
175
177
|
jsonrpc: '2.0',
|
|
@@ -180,7 +182,7 @@ export class SafeJsonRpcServer {
|
|
|
180
182
|
id: null
|
|
181
183
|
};
|
|
182
184
|
}
|
|
183
|
-
const results = await Promise.allSettled(requests.map((req)=>this.processRequest(req)));
|
|
185
|
+
const results = await Promise.allSettled(requests.map((req)=>this.processRequest(req, headers)));
|
|
184
186
|
return results.map((res)=>{
|
|
185
187
|
if (res.status === 'fulfilled') {
|
|
186
188
|
return res.value;
|
|
@@ -196,7 +198,7 @@ export class SafeJsonRpcServer {
|
|
|
196
198
|
};
|
|
197
199
|
});
|
|
198
200
|
}
|
|
199
|
-
async processRequest(request) {
|
|
201
|
+
async processRequest(request, headers = {}) {
|
|
200
202
|
if (!request || typeof request !== 'object') {
|
|
201
203
|
return {
|
|
202
204
|
jsonrpc: '2.0',
|
|
@@ -230,7 +232,19 @@ export class SafeJsonRpcServer {
|
|
|
230
232
|
};
|
|
231
233
|
} else {
|
|
232
234
|
try {
|
|
233
|
-
|
|
235
|
+
let result;
|
|
236
|
+
if (this.diagnosticsMiddleware) {
|
|
237
|
+
await this.diagnosticsMiddleware({
|
|
238
|
+
id: id ?? null,
|
|
239
|
+
method,
|
|
240
|
+
params,
|
|
241
|
+
headers
|
|
242
|
+
}, async ()=>{
|
|
243
|
+
result = await this.proxy.call(method, params);
|
|
244
|
+
});
|
|
245
|
+
} else {
|
|
246
|
+
result = await this.proxy.call(method, params);
|
|
247
|
+
}
|
|
234
248
|
return {
|
|
235
249
|
jsonrpc,
|
|
236
250
|
id,
|
|
@@ -330,7 +344,7 @@ export class SafeJsonRpcServer {
|
|
|
330
344
|
assert(schemaHasMethod(this.schema, methodName), `Method ${methodName} not found in schema`);
|
|
331
345
|
const method = this.handler[methodName];
|
|
332
346
|
assert(typeof method === 'function', `Method ${methodName} is not a function`);
|
|
333
|
-
const args = await parseWithOptionals(jsonParams, this.schema[methodName]
|
|
347
|
+
const args = await parseWithOptionals(jsonParams, getSchemaParameters(this.schema[methodName]));
|
|
334
348
|
const ret = await method.apply(this.handler, args);
|
|
335
349
|
this.log.debug(format('response', methodName, ret));
|
|
336
350
|
return ret;
|
|
@@ -389,15 +403,15 @@ function makeAggregateHealthcheck(namedHandlers, log) {
|
|
|
389
403
|
* @param servers - List of handlers to be combined.
|
|
390
404
|
* @returns A single JsonRpcServer with namespaced methods.
|
|
391
405
|
*/ export function createNamespacedSafeJsonRpcServer(handlers, options = {}) {
|
|
392
|
-
const { middlewares, log } = options;
|
|
406
|
+
const { diagnostic, middlewares, log } = options;
|
|
393
407
|
const proxy = new NamespacedSafeJsonProxy(handlers);
|
|
394
408
|
const healthCheck = makeAggregateHealthcheck(handlers, log);
|
|
395
|
-
return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, log);
|
|
409
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, diagnostic, log);
|
|
396
410
|
}
|
|
397
411
|
export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
398
|
-
const { log, healthCheck, middlewares: extraMiddlewares } = options;
|
|
412
|
+
const { diagnostic, log, healthCheck, middlewares: extraMiddlewares } = options;
|
|
399
413
|
const proxy = new SafeJsonProxy(handler, schema);
|
|
400
|
-
return new SafeJsonRpcServer(proxy, options, healthCheck, extraMiddlewares, log);
|
|
414
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, extraMiddlewares, diagnostic, log);
|
|
401
415
|
}
|
|
402
416
|
/**
|
|
403
417
|
* Creates a router for handling a plain status request that will return 200 status when running.
|
package/dest/log/pino-logger.js
CHANGED
|
@@ -323,5 +323,19 @@ logger.verbose({
|
|
|
323
323
|
* @param err - Error to log
|
|
324
324
|
* @returns A string with both the log message and the error message.
|
|
325
325
|
*/ function formatErr(msg, err) {
|
|
326
|
-
|
|
326
|
+
if (!err) {
|
|
327
|
+
return msg;
|
|
328
|
+
}
|
|
329
|
+
try {
|
|
330
|
+
return `${msg}: ${inspect(err)}`;
|
|
331
|
+
} catch {
|
|
332
|
+
// inspect can crash on error objects with broken property descriptors
|
|
333
|
+
try {
|
|
334
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
335
|
+
return `${msg}: ${err instanceof Error ? `${err.name}: ${err.message}` : String(err)}`;
|
|
336
|
+
} catch {
|
|
337
|
+
// if even String(err) fails, return the original message with a note about the error
|
|
338
|
+
return `${msg}: [unserializable error]`;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
327
341
|
}
|
|
@@ -3,111 +3,10 @@ declare const noirGitDependencySchema: z.ZodObject<{
|
|
|
3
3
|
git: z.ZodString;
|
|
4
4
|
tag: z.ZodString;
|
|
5
5
|
directory: z.ZodOptional<z.ZodString>;
|
|
6
|
-
},
|
|
7
|
-
git: string;
|
|
8
|
-
tag: string;
|
|
9
|
-
directory?: string | undefined;
|
|
10
|
-
}, {
|
|
11
|
-
git: string;
|
|
12
|
-
tag: string;
|
|
13
|
-
directory?: string | undefined;
|
|
14
|
-
}>;
|
|
6
|
+
}, z.core.$strip>;
|
|
15
7
|
declare const noirLocalDependencySchema: z.ZodObject<{
|
|
16
8
|
path: z.ZodString;
|
|
17
|
-
},
|
|
18
|
-
path: string;
|
|
19
|
-
}, {
|
|
20
|
-
path: string;
|
|
21
|
-
}>;
|
|
22
|
-
declare const noirPackageConfigSchema: z.ZodObject<{
|
|
23
|
-
package: z.ZodObject<{
|
|
24
|
-
name: z.ZodDefault<z.ZodString>;
|
|
25
|
-
type: z.ZodDefault<z.ZodEnum<["lib", "contract", "bin"]>>;
|
|
26
|
-
entry: z.ZodOptional<z.ZodString>;
|
|
27
|
-
description: z.ZodOptional<z.ZodString>;
|
|
28
|
-
authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
29
|
-
compiler_version: z.ZodOptional<z.ZodString>;
|
|
30
|
-
backend: z.ZodOptional<z.ZodString>;
|
|
31
|
-
license: z.ZodOptional<z.ZodString>;
|
|
32
|
-
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
name: string;
|
|
34
|
-
type: "bin" | "contract" | "lib";
|
|
35
|
-
entry?: string | undefined;
|
|
36
|
-
description?: string | undefined;
|
|
37
|
-
authors?: string[] | undefined;
|
|
38
|
-
compiler_version?: string | undefined;
|
|
39
|
-
backend?: string | undefined;
|
|
40
|
-
license?: string | undefined;
|
|
41
|
-
}, {
|
|
42
|
-
name?: string | undefined;
|
|
43
|
-
type?: "bin" | "contract" | "lib" | undefined;
|
|
44
|
-
entry?: string | undefined;
|
|
45
|
-
description?: string | undefined;
|
|
46
|
-
authors?: string[] | undefined;
|
|
47
|
-
compiler_version?: string | undefined;
|
|
48
|
-
backend?: string | undefined;
|
|
49
|
-
license?: string | undefined;
|
|
50
|
-
}>;
|
|
51
|
-
dependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
|
|
52
|
-
git: z.ZodString;
|
|
53
|
-
tag: z.ZodString;
|
|
54
|
-
directory: z.ZodOptional<z.ZodString>;
|
|
55
|
-
}, "strip", z.ZodTypeAny, {
|
|
56
|
-
git: string;
|
|
57
|
-
tag: string;
|
|
58
|
-
directory?: string | undefined;
|
|
59
|
-
}, {
|
|
60
|
-
git: string;
|
|
61
|
-
tag: string;
|
|
62
|
-
directory?: string | undefined;
|
|
63
|
-
}>, z.ZodObject<{
|
|
64
|
-
path: z.ZodString;
|
|
65
|
-
}, "strip", z.ZodTypeAny, {
|
|
66
|
-
path: string;
|
|
67
|
-
}, {
|
|
68
|
-
path: string;
|
|
69
|
-
}>]>>>;
|
|
70
|
-
}, "strip", z.ZodTypeAny, {
|
|
71
|
-
package: {
|
|
72
|
-
name: string;
|
|
73
|
-
type: "bin" | "contract" | "lib";
|
|
74
|
-
entry?: string | undefined;
|
|
75
|
-
description?: string | undefined;
|
|
76
|
-
authors?: string[] | undefined;
|
|
77
|
-
compiler_version?: string | undefined;
|
|
78
|
-
backend?: string | undefined;
|
|
79
|
-
license?: string | undefined;
|
|
80
|
-
};
|
|
81
|
-
dependencies: Record<string, {
|
|
82
|
-
git: string;
|
|
83
|
-
tag: string;
|
|
84
|
-
directory?: string | undefined;
|
|
85
|
-
} | {
|
|
86
|
-
path: string;
|
|
87
|
-
}>;
|
|
88
|
-
}, {
|
|
89
|
-
package: {
|
|
90
|
-
name?: string | undefined;
|
|
91
|
-
type?: "bin" | "contract" | "lib" | undefined;
|
|
92
|
-
entry?: string | undefined;
|
|
93
|
-
description?: string | undefined;
|
|
94
|
-
authors?: string[] | undefined;
|
|
95
|
-
compiler_version?: string | undefined;
|
|
96
|
-
backend?: string | undefined;
|
|
97
|
-
license?: string | undefined;
|
|
98
|
-
};
|
|
99
|
-
dependencies?: Record<string, {
|
|
100
|
-
git: string;
|
|
101
|
-
tag: string;
|
|
102
|
-
directory?: string | undefined;
|
|
103
|
-
} | {
|
|
104
|
-
path: string;
|
|
105
|
-
}> | undefined;
|
|
106
|
-
}>;
|
|
107
|
-
/**
|
|
108
|
-
* Noir package configuration.
|
|
109
|
-
*/
|
|
110
|
-
export type NoirPackageConfig = z.infer<typeof noirPackageConfigSchema>;
|
|
9
|
+
}, z.core.$strip>;
|
|
111
10
|
/**
|
|
112
11
|
* A remote package dependency.
|
|
113
12
|
*/
|
|
@@ -120,10 +19,26 @@ export type NoirLocalDependencyConfig = z.infer<typeof noirLocalDependencySchema
|
|
|
120
19
|
* A package dependency.
|
|
121
20
|
*/
|
|
122
21
|
export type NoirDependencyConfig = NoirGitDependencyConfig | NoirLocalDependencyConfig;
|
|
22
|
+
/**
|
|
23
|
+
* Noir package configuration.
|
|
24
|
+
*/
|
|
25
|
+
export type NoirPackageConfig = {
|
|
26
|
+
package: {
|
|
27
|
+
name: string;
|
|
28
|
+
type: 'lib' | 'contract' | 'bin';
|
|
29
|
+
entry?: string | undefined;
|
|
30
|
+
description?: string | undefined;
|
|
31
|
+
authors?: string[] | undefined;
|
|
32
|
+
compiler_version?: string | undefined;
|
|
33
|
+
backend?: string | undefined;
|
|
34
|
+
license?: string | undefined;
|
|
35
|
+
};
|
|
36
|
+
dependencies: Record<string, NoirDependencyConfig>;
|
|
37
|
+
};
|
|
123
38
|
/**
|
|
124
39
|
* Checks that an object is a package configuration.
|
|
125
40
|
* @param config - Config to check
|
|
126
41
|
*/
|
|
127
42
|
export declare function parseNoirPackageConfig(config: any): NoirPackageConfig;
|
|
128
43
|
export {};
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9wYWNrYWdlX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vaXIvbm9pcl9wYWNrYWdlX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLFFBQUEsTUFBTSx1QkFBdUI7Ozs7aUJBSTNCLENBQUM7QUFFSCxRQUFBLE1BQU0seUJBQXlCOztpQkFFN0IsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx5QkFBeUIsQ0FBQyxDQUFDO0FBRWxGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsS0FBSyxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDakMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMzQixXQUFXLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUMvQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdEMsT0FBTyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUM3QixPQUFPLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzlCLENBQUM7SUFDRixZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQ3BELENBQUM7QUFpQkY7OztHQUdHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsaUJBQWlCLENBRXJFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noir_package_config.d.ts","sourceRoot":"","sources":["../../src/noir/noir_package_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"noir_package_config.d.ts","sourceRoot":"","sources":["../../src/noir/noir_package_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB;;;;iBAI3B,CAAC;AAEH,QAAA,MAAM,yBAAyB;;iBAE7B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACpD,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,CAErE"}
|
|
@@ -23,7 +23,7 @@ const noirPackageConfigSchema = z.object({
|
|
|
23
23
|
backend: z.string().optional(),
|
|
24
24
|
license: z.string().optional()
|
|
25
25
|
}),
|
|
26
|
-
dependencies: z.record(z.union([
|
|
26
|
+
dependencies: z.record(z.string(), z.union([
|
|
27
27
|
noirGitDependencySchema,
|
|
28
28
|
noirLocalDependencySchema
|
|
29
29
|
])).default({})
|
|
@@ -7,7 +7,7 @@ export declare function makeLoggingErrorHandler(logger: Logger, ...ignoredErrors
|
|
|
7
7
|
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
8
8
|
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
9
9
|
*/
|
|
10
|
-
export declare class RunningPromise {
|
|
10
|
+
export declare class RunningPromise<T = void> {
|
|
11
11
|
private fn;
|
|
12
12
|
private logger;
|
|
13
13
|
private pollingIntervalMS;
|
|
@@ -16,8 +16,9 @@ export declare class RunningPromise {
|
|
|
16
16
|
private runningPromise;
|
|
17
17
|
private interruptibleSleep;
|
|
18
18
|
private requested;
|
|
19
|
+
private requestedArg;
|
|
19
20
|
static readonly EXIT: typeof EXIT;
|
|
20
|
-
constructor(fn: () => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
|
|
21
|
+
constructor(fn: (arg?: T) => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
|
|
21
22
|
/**
|
|
22
23
|
* Starts the running promise.
|
|
23
24
|
*/
|
|
@@ -36,7 +37,7 @@ export declare class RunningPromise {
|
|
|
36
37
|
* Triggers an immediate run of the function, bypassing the polling interval.
|
|
37
38
|
* If the function is currently running, it will be allowed to continue and then called again immediately.
|
|
38
39
|
*/
|
|
39
|
-
trigger(): Promise<void>;
|
|
40
|
+
trigger(arg?: T): Promise<void>;
|
|
40
41
|
/**
|
|
41
42
|
* Updates the polling interval. The new interval will take effect after the next poll.
|
|
42
43
|
* @param pollingIntervalMS The polling interval in milliseconds.
|
|
@@ -44,4 +45,4 @@ export declare class RunningPromise {
|
|
|
44
45
|
setPollingIntervalMS(pollingIntervalMS: number): void;
|
|
45
46
|
}
|
|
46
47
|
export {};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmluZy1wcm9taXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9ydW5uaW5nLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSWxFLFFBQUEsTUFBTSxJQUFJLGVBQW9DLENBQUM7QUFFL0MsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEtBQUssT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztBQUU5Rix3QkFBZ0IsdUJBQXVCLENBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLEdBQ2xELFlBQVksQ0FNZDtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUk7SUFVaEMsT0FBTyxDQUFDLEVBQUU7SUFDVixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLFdBQVc7SUFackIsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUN4QixPQUFPLENBQUMsY0FBYyxDQUFxQjtJQUMzQyxPQUFPLENBQUMsa0JBQWtCLENBQTRCO0lBQ3RELE9BQU8sQ0FBQyxTQUFTLENBQXFEO0lBQ3RFLE9BQU8sQ0FBQyxZQUFZLENBQTRCO0lBRWhELGdCQUF1QixJQUFJLEVBQUUsT0FBTyxJQUFJLENBQVE7SUFFaEQsWUFDVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDckMsTUFBTSxTQUFrQyxFQUN4QyxpQkFBaUIsU0FBUSxFQUN6QixXQUFXLEdBQUUsWUFBOEMsRUFDakU7SUFFSjs7T0FFRztJQUNJLEtBQUssU0FtQ1g7SUFFRDs7O09BR0c7SUFDRyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU8xQjtJQUVEOzs7T0FHRztJQUNJLFNBQVMsWUFFZjtJQUVEOzs7T0FHRztJQUNVLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWEzQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sUUFFN0M7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,IAAI;IAUhC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAZrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;IACtE,OAAO,CAAC,YAAY,CAA4B;IAEhD,gBAAuB,IAAI,EAAE,OAAO,IAAI,CAAQ;IAEhD,YACU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrC,MAAM,SAAkC,EACxC,iBAAiB,SAAQ,EACzB,WAAW,GAAE,YAA8C,EACjE;IAEJ;;OAEG;IACI,KAAK,SAmCX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;IAED;;;OAGG;IACI,SAAS,YAEf;IAED;;;OAGG;IACU,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3C;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,QAE7C;CACF"}
|
|
@@ -22,6 +22,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
22
22
|
runningPromise;
|
|
23
23
|
interruptibleSleep;
|
|
24
24
|
requested;
|
|
25
|
+
requestedArg;
|
|
25
26
|
static EXIT = EXIT;
|
|
26
27
|
constructor(fn, logger = createLogger('running-promise'), pollingIntervalMS = 10000, handleError = makeLoggingErrorHandler(logger)){
|
|
27
28
|
this.fn = fn;
|
|
@@ -32,6 +33,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
32
33
|
this.runningPromise = Promise.resolve();
|
|
33
34
|
this.interruptibleSleep = new InterruptibleSleep();
|
|
34
35
|
this.requested = undefined;
|
|
36
|
+
this.requestedArg = undefined;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Starts the running promise.
|
|
@@ -45,7 +47,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
45
47
|
while(this.running){
|
|
46
48
|
const hasRequested = this.requested !== undefined;
|
|
47
49
|
try {
|
|
48
|
-
await this.fn();
|
|
50
|
+
await this.fn(this.requestedArg);
|
|
49
51
|
} catch (err) {
|
|
50
52
|
const code = await this.handleError(err);
|
|
51
53
|
if (code === RunningPromise.EXIT) {
|
|
@@ -59,6 +61,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
59
61
|
if (hasRequested) {
|
|
60
62
|
this.requested.resolve();
|
|
61
63
|
this.requested = undefined;
|
|
64
|
+
this.requestedArg = undefined;
|
|
62
65
|
}
|
|
63
66
|
// If no immediate run was requested, sleep for the polling interval.
|
|
64
67
|
if (this.requested === undefined && this.running) {
|
|
@@ -89,14 +92,15 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
89
92
|
/**
|
|
90
93
|
* Triggers an immediate run of the function, bypassing the polling interval.
|
|
91
94
|
* If the function is currently running, it will be allowed to continue and then called again immediately.
|
|
92
|
-
*/ async trigger() {
|
|
95
|
+
*/ async trigger(arg) {
|
|
93
96
|
if (!this.running) {
|
|
94
|
-
return this.fn();
|
|
97
|
+
return this.fn(arg);
|
|
95
98
|
}
|
|
96
99
|
let requested = this.requested;
|
|
97
100
|
if (!requested) {
|
|
98
101
|
requested = promiseWithResolvers();
|
|
99
102
|
this.requested = requested;
|
|
103
|
+
this.requestedArg = arg;
|
|
100
104
|
this.interruptibleSleep.interrupt();
|
|
101
105
|
}
|
|
102
106
|
await requested.promise;
|