@aztec/foundation 0.55.0 → 0.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +6 -3
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +6 -3
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.d.ts +2 -0
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +14 -1
- package/dest/json-rpc/server/json_rpc_server.d.ts +9 -0
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/json_rpc_server.js +25 -3
- package/package.json +2 -2
- package/src/abi/event_selector.ts +5 -2
- package/src/abi/function_selector.ts +5 -2
- package/src/config/env_var.ts +12 -1
- package/src/crypto/poseidon/index.ts +22 -0
- package/src/json-rpc/server/json_rpc_server.ts +34 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_selector.d.ts","sourceRoot":"","sources":["../../src/abi/event_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,QAAQ;IACzC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"event_selector.d.ts","sourceRoot":"","sources":["../../src/abi/event_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,QAAQ;IACzC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAWtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;OAGG;IACH,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
4
4
|
import { Selector } from './selector.js';
|
|
5
5
|
/** An event selector is the first 4 bytes of the hash of an event signature. */
|
|
@@ -32,7 +32,10 @@ export class EventSelector extends Selector {
|
|
|
32
32
|
if (/\s/.test(signature)) {
|
|
33
33
|
throw new Error('Signature cannot contain whitespace');
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
36
|
+
// We take the last Selector.SIZE big endian bytes
|
|
37
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
38
|
+
return EventSelector.fromBuffer(bytes);
|
|
36
39
|
}
|
|
37
40
|
/**
|
|
38
41
|
* Create a Selector instance from a hex-encoded string.
|
|
@@ -64,4 +67,4 @@ export class EventSelector extends Selector {
|
|
|
64
67
|
return EventSelector.fromBuffer(randomBytes(Selector.SIZE));
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2V2ZW50X3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXpDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFDekM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBNkI7UUFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQWlCO1FBQ3BDLHlDQUF5QztRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCxrREFBa0Q7UUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWdCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxNQUFNLGNBQWMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,OAAO;IACjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO;IAC/D,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAcjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,OAAO;IACjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO;IAC/D,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAcjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAWtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,gBAAgB;IAClG,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB;IAcxF;;OAEG;IACH,MAAM,CAAC,MAAM;IAIb,MAAM;;;;CAMP"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
4
4
|
import { FieldReader } from '../serialize/field_reader.js';
|
|
5
5
|
import { TypeRegistry } from '../serialize/type_registry.js';
|
|
@@ -50,7 +50,10 @@ export class FunctionSelector extends Selector {
|
|
|
50
50
|
if (/\s/.test(signature)) {
|
|
51
51
|
throw new Error('Signature cannot contain whitespace');
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
54
|
+
// We take the last Selector.SIZE big endian bytes
|
|
55
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
56
|
+
return FunctionSelector.fromBuffer(bytes);
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
59
|
* Create a Selector instance from a hex-encoded string.
|
|
@@ -97,4 +100,4 @@ export class FunctionSelector extends Selector {
|
|
|
97
100
|
}
|
|
98
101
|
// For deserializing JSON.
|
|
99
102
|
TypeRegistry.register('FunctionSelector', FunctionSelector);
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXpDLG9GQUFvRjtBQUNwRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQVFuQyxNQUFNLENBQ2IsS0FBK0UsRUFDL0UsV0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxD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
|
package/dest/config/env_var.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type EnvVar = 'AZTEC_PORT' | 'ASSUME_PROVEN_UNTIL_BLOCK_NUMBER' | 'TEST_ACCOUNTS' | 'ENABLE_GAS' | 'API_PREFIX' | 'ETHEREUM_HOST' | 'L1_CHAIN_ID' | 'MNEMONIC' | 'ROLLUP_CONTRACT_ADDRESS' | 'REGISTRY_CONTRACT_ADDRESS' | 'INBOX_CONTRACT_ADDRESS' | 'OUTBOX_CONTRACT_ADDRESS' | 'FEE_JUICE_CONTRACT_ADDRESS' | 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS' | 'ARCHIVER_URL' | 'DEPLOY_AZTEC_CONTRACTS' | 'DEPLOY_AZTEC_CONTRACTS_SALT' | 'L1_PRIVATE_KEY' | 'L2_QUEUE_SIZE' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'P2P_ENABLED' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_L2_QUEUE_SIZE' | 'TCP_LISTEN_ADDR' | 'UDP_LISTEN_ADDR' | 'P2P_TCP_ANNOUNCE_ADDR' | 'P2P_UDP_ANNOUNCE_ADDR' | 'PEER_ID_PRIVATE_KEY' | 'BOOTSTRAP_NODES' | 'P2P_TX_PROTOCOL' | 'P2P_MIN_PEERS' | 'P2P_MAX_PEERS' | 'DATA_DIRECTORY' | 'TX_GOSSIP_VERSION' | 'P2P_QUERY_FOR_IP' | 'P2P_TX_POOL_KEEP_PROVEN_FOR' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'TELEMETRY' | 'OTEL_SERVICE_NAME' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'NETWORK_NAME' | 'NETWORK' | 'API_KEY' | 'AZTEC_NODE_URL' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_MAX_LOGS' | '
|
|
1
|
+
export type EnvVar = 'AZTEC_PORT' | 'ASSUME_PROVEN_UNTIL_BLOCK_NUMBER' | 'TEST_ACCOUNTS' | 'ENABLE_GAS' | 'API_PREFIX' | 'ETHEREUM_HOST' | 'L1_CHAIN_ID' | 'MNEMONIC' | 'ROLLUP_CONTRACT_ADDRESS' | 'REGISTRY_CONTRACT_ADDRESS' | 'INBOX_CONTRACT_ADDRESS' | 'OUTBOX_CONTRACT_ADDRESS' | 'FEE_JUICE_CONTRACT_ADDRESS' | 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS' | 'ARCHIVER_URL' | 'DEPLOY_AZTEC_CONTRACTS' | 'DEPLOY_AZTEC_CONTRACTS_SALT' | 'L1_PRIVATE_KEY' | 'L2_QUEUE_SIZE' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'P2P_ENABLED' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_L2_QUEUE_SIZE' | 'TCP_LISTEN_ADDR' | 'UDP_LISTEN_ADDR' | 'P2P_TCP_ANNOUNCE_ADDR' | 'P2P_UDP_ANNOUNCE_ADDR' | 'PEER_ID_PRIVATE_KEY' | 'BOOTSTRAP_NODES' | 'P2P_TX_PROTOCOL' | 'P2P_MIN_PEERS' | 'P2P_MAX_PEERS' | 'DATA_DIRECTORY' | 'TX_GOSSIP_VERSION' | 'P2P_QUERY_FOR_IP' | 'P2P_TX_POOL_KEEP_PROVEN_FOR' | 'P2P_GOSSIPSUB_INTERVAL_MS' | 'P2P_GOSSIPSUB_D' | 'P2P_GOSSIPSUB_DLO' | 'P2P_GOSSIPSUB_DHI' | 'P2P_GOSSIPSUB_MCACHE_LENGTH' | 'P2P_GOSSIPSUB_MCACHE_GOSSIP' | 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY' | 'P2P_PEER_PENALTY_VALUES' | 'TELEMETRY' | 'OTEL_SERVICE_NAME' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'NETWORK_NAME' | 'NETWORK' | 'API_KEY' | 'AZTEC_NODE_URL' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_MAX_LOGS' | 'SEQ_TX_POLLING_INTERVAL_MS' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_MIN_SECONDS_BETWEEN_BLOCKS' | 'SEQ_MAX_SECONDS_BETWEEN_BLOCKS' | 'COINBASE' | 'FEE_RECIPIENT' | 'ACVM_WORKING_DIRECTORY' | 'ACVM_BINARY_PATH' | 'SEQ_ALLOWED_SETUP_FN' | 'SEQ_ALLOWED_TEARDOWN_FN' | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES' | 'ENFORCE_FEES' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_REQUIRED_CONFIRMATIONS' | 'SEQ_PUBLISH_RETRY_INTERVAL_MS' | 'VERSION' | 'SEQ_DISABLED' | 'PROVER_DISABLED' | 'PROVER_REAL_PROOFS' | 'PROVER_AGENT_ENABLED' | 'PROVER_AGENT_POLL_INTERVAL_MS' | 'PROVER_AGENT_CONCURRENCY' | 'PROVER_JOB_TIMEOUT_MS' | 'PROVER_JOB_POLL_INTERVAL_MS' | 'PROVER_ID' | 'WS_L2_BLOCK_QUEUE_SIZE' | 'WS_PROVEN_BLOCKS_ONLY' | 'PROVER_PUBLISH_RETRY_INTERVAL_MS' | 'PROVER_PUBLISHER_PRIVATE_KEY' | 'PROVER_REQUIRED_CONFIRMATIONS' | 'PROVER_TEST_DELAY_MS' | 'TX_PROVIDER_NODE_URL' | 'TXE_PORT' | 'LOG_JSON' | 'BOT_PXE_URL' | 'BOT_PRIVATE_KEY' | 'BOT_RECIPIENT_ENCRYPTION_SECRET' | 'BOT_TOKEN_SALT' | 'BOT_TX_INTERVAL_SECONDS' | 'BOT_PRIVATE_TRANSFERS_PER_TX' | 'BOT_PUBLIC_TRANSFERS_PER_TX' | 'BOT_FEE_PAYMENT_METHOD' | 'BOT_NO_START' | 'BOT_TX_MINED_WAIT_SECONDS' | 'BOT_NO_WAIT_FOR_TRANSFERS' | 'BOT_MAX_PENDING_TXS' | 'BOT_SKIP_PUBLIC_SIMULATION' | 'BOT_L2_GAS_LIMIT' | 'BOT_DA_GAS_LIMIT' | 'PXE_BLOCK_POLLING_INTERVAL_MS' | 'PXE_L2_STARTING_BLOCK' | 'PXE_DATA_DIRECTORY' | 'BB_BINARY_PATH' | 'BB_WORKING_DIRECTORY' | 'BB_SKIP_CLEANUP' | 'PXE_PROVER_ENABLED' | 'BOT_FOLLOW_CHAIN' | 'BOT_FLUSH_SETUP_TRANSACTIONS' | 'BOT_TOKEN_CONTRACT' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_DISABLED' | 'VALIDATOR_ATTESTATIONS_WAIT_TIMEOUT_MS' | 'VALIDATOR_ATTESTATIONS_POOLING_INTERVAL_MS' | 'PROVER_NODE_DISABLE_AUTOMATIC_PROVING' | 'PROVER_NODE_MAX_PENDING_JOBS' | 'PROOF_VERIFIER_POLL_INTERVAL_MS' | 'PROOF_VERIFIER_L1_START_BLOCK' | 'LOG_LEVEL' | 'DEBUG';
|
|
2
2
|
//# sourceMappingURL=env_var.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd,YAAY,GACZ,kCAAkC,GAClC,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,aAAa,GACb,UAAU,GACV,yBAAyB,GACzB,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,mCAAmC,GACnC,cAAc,GACd,wBAAwB,GACxB,6BAA6B,GAC7B,gBAAgB,GAChB,eAAe,GACf,4BAA4B,GAC5B,aAAa,GACb,6BAA6B,GAC7B,4BAA4B,GAC5B,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,6BAA6B,GAC7B,wCAAwC,GACxC,2CAA2C,GAC3C,WAAW,GACX,mBAAmB,GACnB,qCAAqC,GACrC,oCAAoC,GACpC,cAAc,GACd,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,mBAAmB,GACnB,
|
|
1
|
+
{"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd,YAAY,GACZ,kCAAkC,GAClC,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,aAAa,GACb,UAAU,GACV,yBAAyB,GACzB,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,mCAAmC,GACnC,cAAc,GACd,wBAAwB,GACxB,6BAA6B,GAC7B,gBAAgB,GAChB,eAAe,GACf,4BAA4B,GAC5B,aAAa,GACb,6BAA6B,GAC7B,4BAA4B,GAC5B,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,6BAA6B,GAC7B,2BAA2B,GAC3B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,6BAA6B,GAC7B,6BAA6B,GAC7B,sCAAsC,GACtC,wCAAwC,GACxC,2CAA2C,GAC3C,+BAA+B,GAC/B,oDAAoD,GACpD,mDAAmD,GACnD,yBAAyB,GACzB,WAAW,GACX,mBAAmB,GACnB,qCAAqC,GACrC,oCAAoC,GACpC,cAAc,GACd,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,mBAAmB,GACnB,4BAA4B,GAC5B,sBAAsB,GACtB,sBAAsB,GACtB,gCAAgC,GAChC,gCAAgC,GAChC,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,6BAA6B,GAC7B,cAAc,GACd,2BAA2B,GAC3B,4BAA4B,GAC5B,+BAA+B,GAC/B,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,+BAA+B,GAC/B,0BAA0B,GAC1B,uBAAuB,GACvB,6BAA6B,GAC7B,WAAW,GACX,wBAAwB,GACxB,uBAAuB,GACvB,kCAAkC,GAClC,8BAA8B,GAC9B,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,UAAU,GACV,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,iCAAiC,GACjC,gBAAgB,GAChB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,GAC7B,wBAAwB,GACxB,cAAc,GACd,2BAA2B,GAC3B,2BAA2B,GAC3B,qBAAqB,GACrB,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,8BAA8B,GAC9B,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,wCAAwC,GACxC,4CAA4C,GAC5C,uCAAuC,GACvC,8BAA8B,GAC9B,iCAAiC,GACjC,+BAA+B,GAC/B,WAAW,GACX,OAAO,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { Fr } from '../../fields/fields.js';
|
|
2
3
|
import { type Fieldable } from '../../serialize/serialize.js';
|
|
3
4
|
/**
|
|
@@ -19,4 +20,5 @@ export declare function poseidon2HashWithSeparator(input: Fieldable[], separator
|
|
|
19
20
|
* @returns the output state, size 4.
|
|
20
21
|
*/
|
|
21
22
|
export declare function poseidon2Permutation(input: Fieldable[]): Fr[];
|
|
23
|
+
export declare function poseidon2HashBytes(input: Buffer): Fr;
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAYpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAU7D"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAYpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAU7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAoBpD"}
|
|
@@ -39,4 +39,17 @@ export function poseidon2Permutation(input) {
|
|
|
39
39
|
// assert(res.length === 4, 'Output state must be of size 4');
|
|
40
40
|
return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
export function poseidon2HashBytes(input) {
|
|
43
|
+
const inputFields = [];
|
|
44
|
+
for (let i = 0; i < input.length; i += 31) {
|
|
45
|
+
const fieldBytes = Buffer.alloc(32, 0);
|
|
46
|
+
input.slice(i, i + 31).copy(fieldBytes);
|
|
47
|
+
// Noir builds the bytes as little-endian, so we need to reverse them.
|
|
48
|
+
fieldBytes.reverse();
|
|
49
|
+
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
50
|
+
}
|
|
51
|
+
return Fr.fromBuffer(Buffer.from(BarretenbergSync.getSingleton()
|
|
52
|
+
.poseidon2Hash(inputFields.map(i => new FrBarretenberg(i.toBuffer())))
|
|
53
|
+
.toBuffer()));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3Bvc2VpZG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBa0I7SUFDOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixNQUFNLENBQUMsSUFBSSxDQUNULGdCQUFnQixDQUFDLFlBQVksRUFBRTtTQUM1QixhQUFhLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZEO1NBQ0EsUUFBUSxFQUFFLENBQ2QsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQWtCLEVBQUUsU0FBaUI7SUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FDbEIsTUFBTSxDQUFDLElBQUksQ0FDVCxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7U0FDNUIsYUFBYSxDQUNaLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RDtTQUNBLFFBQVEsRUFBRSxDQUNkLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLDJFQUEyRTtJQUMzRSwrREFBK0Q7SUFDL0QsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQzlELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0YsMkVBQTJFO0lBQzNFLDhEQUE4RDtJQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsc0VBQXNFO1FBQ3RFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixNQUFNLENBQUMsSUFBSSxDQUNULGdCQUFnQixDQUFDLFlBQVksRUFBRTtTQUM1QixhQUFhLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZEO1NBQ0EsUUFBUSxFQUFFLENBQ2QsQ0FDRixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -19,6 +19,11 @@ export declare class JsonRpcServer {
|
|
|
19
19
|
* The proxy object.
|
|
20
20
|
*/
|
|
21
21
|
proxy: JsonProxy;
|
|
22
|
+
/**
|
|
23
|
+
* The HTTP server accepting remote requests.
|
|
24
|
+
* This member field is initialized when the server is started.
|
|
25
|
+
*/
|
|
26
|
+
private httpServer?;
|
|
22
27
|
constructor(handler: object, stringClassMap: StringClassConverterInput, objectClassMap: JsonClassConverterInput,
|
|
23
28
|
/** List of methods to disallow from calling remotely */
|
|
24
29
|
disallowedMethods?: string[], log?: import("../../log/logger.js").Logger);
|
|
@@ -40,6 +45,10 @@ export declare class JsonRpcServer {
|
|
|
40
45
|
* @param prefix - Prefix string.
|
|
41
46
|
*/
|
|
42
47
|
start(port: number, prefix?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Stops the HTTP server
|
|
50
|
+
*/
|
|
51
|
+
stop(): Promise<void>;
|
|
43
52
|
/**
|
|
44
53
|
* Get a list of methods.
|
|
45
54
|
* @returns A list of methods.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,OAAO,MAAM,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,OAAO,MAAM,MAAM,YAAY,CAAC;AAIhC,OAAO,EAAE,KAAK,uBAAuB,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAErG,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,aAAa;IAatB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,wDAAwD;aACxC,iBAAiB,EAAE,MAAM,EAAE;IAC3C,OAAO,CAAC,GAAG;IAjBb;;OAEG;IACI,KAAK,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAC,CAAc;gBAGvB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,yBAAyB,EACzC,cAAc,EAAE,uBAAuB;IAC/C,wDAAwD;IACxC,iBAAiB,GAAE,MAAM,EAAO,EACxC,GAAG,uCAAuC;IAKpD;;;;OAIG;IACI,MAAM,CAAC,MAAM,SAAK;IAkDzB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA8CjB;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,IAAI;IAS7C;;OAEG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;OAGG;IACI,UAAU,IAAI,MAAM,EAAE;IAI7B;;;OAGG;IACI,YAAY,IAAI,SAAS;IAIhC;;;;;;OAMG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,mBAAY,EAAE,cAAc,EAAE,OAAO;CAGtF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAK,mBAMhD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,EACX,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,aAAa,EAClD,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,IAAI,CAAC,MAAM,CAWb;AACD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,qDAAqD;IACrD,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/B,EAAE,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,UAAU,EACnB,GAAG,uCAA6C,GAC/C,aAAa,CAuCf"}
|
|
@@ -5,6 +5,7 @@ import bodyParser from 'koa-bodyparser';
|
|
|
5
5
|
import compress from 'koa-compress';
|
|
6
6
|
import Router from 'koa-router';
|
|
7
7
|
import { createDebugLogger } from '../../log/index.js';
|
|
8
|
+
import { promiseWithResolvers } from '../../promise/utils.js';
|
|
8
9
|
import { convertBigintsInObj } from '../convert.js';
|
|
9
10
|
import { JsonProxy } from './json_proxy.js';
|
|
10
11
|
/**
|
|
@@ -132,8 +133,29 @@ export class JsonRpcServer {
|
|
|
132
133
|
* @param prefix - Prefix string.
|
|
133
134
|
*/
|
|
134
135
|
start(port, prefix = '') {
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
if (this.httpServer) {
|
|
137
|
+
throw new Error('Server is already listening');
|
|
138
|
+
}
|
|
139
|
+
this.httpServer = http.createServer(this.getApp(prefix).callback());
|
|
140
|
+
this.httpServer.listen(port);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Stops the HTTP server
|
|
144
|
+
*/
|
|
145
|
+
stop() {
|
|
146
|
+
if (!this.httpServer) {
|
|
147
|
+
return Promise.resolve();
|
|
148
|
+
}
|
|
149
|
+
const { promise, resolve, reject } = promiseWithResolvers();
|
|
150
|
+
this.httpServer.close(err => {
|
|
151
|
+
if (err) {
|
|
152
|
+
reject(err);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
resolve();
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return promise;
|
|
137
159
|
}
|
|
138
160
|
/**
|
|
139
161
|
* Get a list of methods.
|
|
@@ -223,4 +245,4 @@ export function createNamespacedJsonRpcServer(servers, log = createDebugLogger('
|
|
|
223
245
|
}, { stringClassMap: {}, objectClassMap: {} });
|
|
224
246
|
return new JsonRpcServer(Object.create(handler), classMaps.stringClassMap, classMaps.objectClassMap, [], log);
|
|
225
247
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9ycGNfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2pzb24tcnBjL3NlcnZlci9qc29uX3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxVQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxRQUFRLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUVoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQVl4QixZQUNVLE9BQWUsRUFDZixjQUF5QyxFQUN6QyxjQUF1QztJQUMvQyx3REFBd0Q7SUFDeEMsb0JBQThCLEVBQUUsRUFDeEMsTUFBTSxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUwxQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBQ3pDLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQUUvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWU7UUFDeEMsUUFBRyxHQUFILEdBQUcsQ0FBdUM7UUFFbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE1B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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.1",
|
|
4
4
|
"packageManager": "yarn@3.4.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dest/index.js",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
]
|
|
91
91
|
},
|
|
92
92
|
"dependencies": {
|
|
93
|
-
"@aztec/bb.js": "0.55.
|
|
93
|
+
"@aztec/bb.js": "0.55.1",
|
|
94
94
|
"@koa/cors": "^5.0.0",
|
|
95
95
|
"@noble/curves": "^1.2.0",
|
|
96
96
|
"bn.js": "^5.2.1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { type Fr } from '../fields/fields.js';
|
|
4
4
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
5
5
|
import { Selector } from './selector.js';
|
|
@@ -44,7 +44,10 @@ export class EventSelector extends Selector {
|
|
|
44
44
|
if (/\s/.test(signature)) {
|
|
45
45
|
throw new Error('Signature cannot contain whitespace');
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
48
|
+
// We take the last Selector.SIZE big endian bytes
|
|
49
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
50
|
+
return EventSelector.fromBuffer(bytes);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { type Fr } from '../fields/fields.js';
|
|
4
4
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
5
5
|
import { FieldReader } from '../serialize/field_reader.js';
|
|
@@ -73,7 +73,10 @@ export class FunctionSelector extends Selector {
|
|
|
73
73
|
if (/\s/.test(signature)) {
|
|
74
74
|
throw new Error('Signature cannot contain whitespace');
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
77
|
+
// We take the last Selector.SIZE big endian bytes
|
|
78
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
79
|
+
return FunctionSelector.fromBuffer(bytes);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
/**
|
package/src/config/env_var.ts
CHANGED
|
@@ -36,8 +36,19 @@ export type EnvVar =
|
|
|
36
36
|
| 'TX_GOSSIP_VERSION'
|
|
37
37
|
| 'P2P_QUERY_FOR_IP'
|
|
38
38
|
| 'P2P_TX_POOL_KEEP_PROVEN_FOR'
|
|
39
|
+
| 'P2P_GOSSIPSUB_INTERVAL_MS'
|
|
40
|
+
| 'P2P_GOSSIPSUB_D'
|
|
41
|
+
| 'P2P_GOSSIPSUB_DLO'
|
|
42
|
+
| 'P2P_GOSSIPSUB_DHI'
|
|
43
|
+
| 'P2P_GOSSIPSUB_MCACHE_LENGTH'
|
|
44
|
+
| 'P2P_GOSSIPSUB_MCACHE_GOSSIP'
|
|
45
|
+
| 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH'
|
|
39
46
|
| 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
|
|
40
47
|
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
48
|
+
| 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT'
|
|
49
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT'
|
|
50
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY'
|
|
51
|
+
| 'P2P_PEER_PENALTY_VALUES'
|
|
41
52
|
| 'TELEMETRY'
|
|
42
53
|
| 'OTEL_SERVICE_NAME'
|
|
43
54
|
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
@@ -49,7 +60,6 @@ export type EnvVar =
|
|
|
49
60
|
| 'ARCHIVER_POLLING_INTERVAL_MS'
|
|
50
61
|
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
51
62
|
| 'ARCHIVER_MAX_LOGS'
|
|
52
|
-
| 'ARCHIVER_L1_START_BLOCK'
|
|
53
63
|
| 'SEQ_TX_POLLING_INTERVAL_MS'
|
|
54
64
|
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
55
65
|
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
@@ -109,6 +119,7 @@ export type EnvVar =
|
|
|
109
119
|
| 'PXE_PROVER_ENABLED'
|
|
110
120
|
| 'BOT_FOLLOW_CHAIN'
|
|
111
121
|
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
122
|
+
| 'BOT_TOKEN_CONTRACT'
|
|
112
123
|
| 'VALIDATOR_PRIVATE_KEY'
|
|
113
124
|
| 'VALIDATOR_DISABLED'
|
|
114
125
|
| 'VALIDATOR_ATTESTATIONS_WAIT_TIMEOUT_MS'
|
|
@@ -57,3 +57,25 @@ export function poseidon2Permutation(input: Fieldable[]): Fr[] {
|
|
|
57
57
|
// assert(res.length === 4, 'Output state must be of size 4');
|
|
58
58
|
return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
export function poseidon2HashBytes(input: Buffer): Fr {
|
|
62
|
+
const inputFields = [];
|
|
63
|
+
for (let i = 0; i < input.length; i += 31) {
|
|
64
|
+
const fieldBytes = Buffer.alloc(32, 0);
|
|
65
|
+
input.slice(i, i + 31).copy(fieldBytes);
|
|
66
|
+
|
|
67
|
+
// Noir builds the bytes as little-endian, so we need to reverse them.
|
|
68
|
+
fieldBytes.reverse();
|
|
69
|
+
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return Fr.fromBuffer(
|
|
73
|
+
Buffer.from(
|
|
74
|
+
BarretenbergSync.getSingleton()
|
|
75
|
+
.poseidon2Hash(
|
|
76
|
+
inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
|
|
77
|
+
)
|
|
78
|
+
.toBuffer(),
|
|
79
|
+
),
|
|
80
|
+
);
|
|
81
|
+
}
|
|
@@ -6,6 +6,7 @@ import compress from 'koa-compress';
|
|
|
6
6
|
import Router from 'koa-router';
|
|
7
7
|
|
|
8
8
|
import { createDebugLogger } from '../../log/index.js';
|
|
9
|
+
import { promiseWithResolvers } from '../../promise/utils.js';
|
|
9
10
|
import { type JsonClassConverterInput, type StringClassConverterInput } from '../class_converter.js';
|
|
10
11
|
import { convertBigintsInObj } from '../convert.js';
|
|
11
12
|
import { type ClassMaps, JsonProxy } from './json_proxy.js';
|
|
@@ -19,6 +20,13 @@ export class JsonRpcServer {
|
|
|
19
20
|
* The proxy object.
|
|
20
21
|
*/
|
|
21
22
|
public proxy: JsonProxy;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The HTTP server accepting remote requests.
|
|
26
|
+
* This member field is initialized when the server is started.
|
|
27
|
+
*/
|
|
28
|
+
private httpServer?: http.Server;
|
|
29
|
+
|
|
22
30
|
constructor(
|
|
23
31
|
private handler: object,
|
|
24
32
|
private stringClassMap: StringClassConverterInput,
|
|
@@ -141,9 +149,32 @@ export class JsonRpcServer {
|
|
|
141
149
|
* @param port - Port number.
|
|
142
150
|
* @param prefix - Prefix string.
|
|
143
151
|
*/
|
|
144
|
-
public start(port: number, prefix = '') {
|
|
145
|
-
|
|
146
|
-
|
|
152
|
+
public start(port: number, prefix = ''): void {
|
|
153
|
+
if (this.httpServer) {
|
|
154
|
+
throw new Error('Server is already listening');
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
this.httpServer = http.createServer(this.getApp(prefix).callback());
|
|
158
|
+
this.httpServer.listen(port);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Stops the HTTP server
|
|
163
|
+
*/
|
|
164
|
+
public stop(): Promise<void> {
|
|
165
|
+
if (!this.httpServer) {
|
|
166
|
+
return Promise.resolve();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const { promise, resolve, reject } = promiseWithResolvers<void>();
|
|
170
|
+
this.httpServer.close(err => {
|
|
171
|
+
if (err) {
|
|
172
|
+
reject(err);
|
|
173
|
+
} else {
|
|
174
|
+
resolve();
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
return promise;
|
|
147
178
|
}
|
|
148
179
|
|
|
149
180
|
/**
|