@aztec-labs/txe 6.0.0-nightly.20260829
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/AuthRegistry-D4XJULH3.js +3 -0
- package/dest/AuthRegistry-D4XJULH3.js.map +7 -0
- package/dest/ContractClassRegistry-Q76MXQZD.js +3 -0
- package/dest/ContractClassRegistry-Q76MXQZD.js.map +7 -0
- package/dest/ContractInstanceRegistry-CTRARU77.js +3 -0
- package/dest/ContractInstanceRegistry-CTRARU77.js.map +7 -0
- package/dest/FeeJuice-YLTJXWYJ.js +3 -0
- package/dest/FeeJuice-YLTJXWYJ.js.map +7 -0
- package/dest/HandshakeRegistry-BRPEG7GL.js +3 -0
- package/dest/HandshakeRegistry-BRPEG7GL.js.map +7 -0
- package/dest/MultiCallEntrypoint-CJHMYQT5.js +3 -0
- package/dest/MultiCallEntrypoint-CJHMYQT5.js.map +7 -0
- package/dest/SchnorrAccount-OB4N4QIM.js +3 -0
- package/dest/SchnorrAccount-OB4N4QIM.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-TWGKRUSY.js +3 -0
- package/dest/SchnorrInitializerlessAccount-TWGKRUSY.js.map +7 -0
- package/dest/bin/check_txe_oracle_version.d.ts +2 -0
- package/dest/bin/check_txe_oracle_version.d.ts.map +1 -0
- package/dest/bin/check_txe_oracle_version.js +22 -0
- package/dest/bin/index.d.ts +3 -0
- package/dest/bin/index.d.ts.map +1 -0
- package/dest/bin/index.js +4 -0
- package/dest/bin/index.js.map +7 -0
- package/dest/bin/oracle_test_server.d.ts +3 -0
- package/dest/bin/oracle_test_server.d.ts.map +1 -0
- package/dest/bin/oracle_test_server.js +41 -0
- package/dest/chunk-32UHX7YY.js +3 -0
- package/dest/chunk-32UHX7YY.js.map +7 -0
- package/dest/chunk-F4QVFWNM.js +258 -0
- package/dest/chunk-F4QVFWNM.js.map +7 -0
- package/dest/chunk-LILEKW2X.js +304 -0
- package/dest/chunk-LILEKW2X.js.map +7 -0
- package/dest/constants.d.ts +7 -0
- package/dest/constants.d.ts.map +1 -0
- package/dest/constants.js +10 -0
- package/dest/dispatcher_pool.d.ts +67 -0
- package/dest/dispatcher_pool.d.ts.map +1 -0
- package/dest/dispatcher_pool.js +288 -0
- package/dest/index.d.ts +52 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +102 -0
- package/dest/metafile.json +38805 -0
- package/dest/msgpackr_fr_extension.d.ts +2 -0
- package/dest/msgpackr_fr_extension.d.ts.map +1 -0
- package/dest/msgpackr_fr_extension.js +21 -0
- package/dest/oracle/interfaces.d.ts +90 -0
- package/dest/oracle/interfaces.d.ts.map +1 -0
- package/dest/oracle/interfaces.js +3 -0
- package/dest/oracle/noir-structs/gas_settings_data.d.ts +14 -0
- package/dest/oracle/noir-structs/gas_settings_data.d.ts.map +1 -0
- package/dest/oracle/noir-structs/gas_settings_data.js +1 -0
- package/dest/oracle/noir-structs/tx_effects_data.d.ts +11 -0
- package/dest/oracle/noir-structs/tx_effects_data.d.ts.map +1 -0
- package/dest/oracle/noir-structs/tx_effects_data.js +1 -0
- package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
- package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
- package/dest/oracle/tagging_secret_strategy.js +12 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts +16 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
- package/dest/oracle/test-resolver/default_fixtures.js +207 -0
- package/dest/oracle/test-resolver/index.d.ts +9 -0
- package/dest/oracle/test-resolver/index.d.ts.map +1 -0
- package/dest/oracle/test-resolver/index.js +32 -0
- package/dest/oracle/test-resolver/resolver.d.ts +48 -0
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -0
- package/dest/oracle/test-resolver/resolver.js +181 -0
- package/dest/oracle/txe_oracle_public_context.d.ts +58 -0
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_public_context.js +170 -0
- package/dest/oracle/txe_oracle_registry.d.ts +164 -0
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_registry.js +753 -0
- package/dest/oracle/txe_oracle_top_level_context.d.ts +128 -0
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_top_level_context.js +815 -0
- package/dest/oracle/txe_oracle_version.d.ts +17 -0
- package/dest/oracle/txe_oracle_version.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_version.js +14 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts +17 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts.map +1 -0
- package/dest/oracle/txe_private_execution_oracle.js +15 -0
- package/dest/rpc_server.d.ts +14 -0
- package/dest/rpc_server.d.ts.map +1 -0
- package/dest/rpc_server.js +78 -0
- package/dest/rpc_translator.d.ts +140 -0
- package/dest/rpc_translator.d.ts.map +1 -0
- package/dest/rpc_translator.js +976 -0
- package/dest/server.bundle.js +3 -0
- package/dest/server.bundle.js.map +7 -0
- package/dest/state_machine/archiver.d.ts +32 -0
- package/dest/state_machine/archiver.d.ts.map +1 -0
- package/dest/state_machine/archiver.js +95 -0
- package/dest/state_machine/dummy_p2p_client.d.ts +69 -0
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -0
- package/dest/state_machine/dummy_p2p_client.js +180 -0
- package/dest/state_machine/global_variable_builder.d.ts +15 -0
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -0
- package/dest/state_machine/global_variable_builder.js +25 -0
- package/dest/state_machine/index.d.ts +22 -0
- package/dest/state_machine/index.d.ts.map +1 -0
- package/dest/state_machine/index.js +110 -0
- package/dest/state_machine/mock_epoch_cache.d.ts +43 -0
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -0
- package/dest/state_machine/mock_epoch_cache.js +88 -0
- package/dest/state_machine/synchronizer.d.ts +41 -0
- package/dest/state_machine/synchronizer.d.ts.map +1 -0
- package/dest/state_machine/synchronizer.js +70 -0
- package/dest/txe_session.d.ts +179 -0
- package/dest/txe_session.d.ts.map +1 -0
- package/dest/txe_session.js +697 -0
- package/dest/utils/block_creation.d.ts +28 -0
- package/dest/utils/block_creation.d.ts.map +1 -0
- package/dest/utils/block_creation.js +59 -0
- package/dest/utils/encoding.d.ts +194 -0
- package/dest/utils/encoding.d.ts.map +1 -0
- package/dest/utils/encoding.js +136 -0
- package/dest/utils/expected_failure_error.d.ts +4 -0
- package/dest/utils/expected_failure_error.d.ts.map +1 -0
- package/dest/utils/expected_failure_error.js +5 -0
- package/dest/utils/tx_effect_creation.d.ts +5 -0
- package/dest/utils/tx_effect_creation.d.ts.map +1 -0
- package/dest/utils/tx_effect_creation.js +12 -0
- package/dest/utils/txe_account_store.d.ts +10 -0
- package/dest/utils/txe_account_store.d.ts.map +1 -0
- package/dest/utils/txe_account_store.js +17 -0
- package/dest/utils/txe_artifact_resolver.d.ts +36 -0
- package/dest/utils/txe_artifact_resolver.d.ts.map +1 -0
- package/dest/utils/txe_artifact_resolver.js +160 -0
- package/dest/utils/txe_public_contract_data_source.d.ts +20 -0
- package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -0
- package/dest/utils/txe_public_contract_data_source.js +51 -0
- package/dest/worker.bundle.js +3 -0
- package/dest/worker.bundle.js.map +7 -0
- package/dest/worker.d.ts +2 -0
- package/dest/worker.d.ts.map +1 -0
- package/dest/worker.js +92 -0
- package/package.json +115 -0
- package/src/bin/check_txe_oracle_version.ts +31 -0
- package/src/bin/index.ts +49 -0
- package/src/bin/oracle_test_server.ts +51 -0
- package/src/constants.ts +13 -0
- package/src/dispatcher_pool.ts +319 -0
- package/src/index.ts +152 -0
- package/src/msgpackr_fr_extension.ts +22 -0
- package/src/oracle/interfaces.ts +125 -0
- package/src/oracle/noir-structs/gas_settings_data.ts +16 -0
- package/src/oracle/noir-structs/tx_effects_data.ts +11 -0
- package/src/oracle/tagging_secret_strategy.ts +25 -0
- package/src/oracle/test-resolver/default_fixtures.ts +278 -0
- package/src/oracle/test-resolver/index.ts +43 -0
- package/src/oracle/test-resolver/resolver.ts +245 -0
- package/src/oracle/txe_oracle_public_context.ts +220 -0
- package/src/oracle/txe_oracle_registry.ts +501 -0
- package/src/oracle/txe_oracle_top_level_context.ts +1086 -0
- package/src/oracle/txe_oracle_version.ts +17 -0
- package/src/oracle/txe_private_execution_oracle.ts +30 -0
- package/src/rpc_server.ts +86 -0
- package/src/rpc_translator.ts +1229 -0
- package/src/state_machine/archiver.ts +118 -0
- package/src/state_machine/dummy_p2p_client.ts +264 -0
- package/src/state_machine/global_variable_builder.ts +39 -0
- package/src/state_machine/index.ts +152 -0
- package/src/state_machine/mock_epoch_cache.ts +111 -0
- package/src/state_machine/synchronizer.ts +105 -0
- package/src/txe_session.ts +1107 -0
- package/src/utils/block_creation.ts +91 -0
- package/src/utils/encoding.ts +171 -0
- package/src/utils/expected_failure_error.ts +5 -0
- package/src/utils/tx_effect_creation.ts +28 -0
- package/src/utils/txe_account_store.ts +23 -0
- package/src/utils/txe_artifact_resolver.ts +217 -0
- package/src/utils/txe_public_contract_data_source.ts +60 -0
- package/src/worker.ts +98 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TXE oracle version constants are used to check that the oracle interface used for tests is in sync between
|
|
3
|
+
* TXE and Aztec.nr. This is separate from the contract oracle version in `pxe/src/oracle_version.ts`, which covers
|
|
4
|
+
* oracles used during contract execution by PXE.
|
|
5
|
+
*
|
|
6
|
+
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TXE_ORACLE_VERSION_MAJOR = 8;
|
|
9
|
+
export declare const TXE_ORACLE_VERSION_MINOR = 0;
|
|
10
|
+
/**
|
|
11
|
+
* This hash is computed from the TXE-specific entries in `TXE_ORACLE_REGISTRY` and is used to
|
|
12
|
+
* detect when those interfaces change. When it does, bump:
|
|
13
|
+
* - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
|
|
14
|
+
* - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
|
|
15
|
+
*/
|
|
16
|
+
export declare const TXE_ORACLE_INTERFACE_HASH = "e06f29fc2b03516b7122021f95bdcfa7816680469fc46b21eb36d2368bc4e708";
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JhY2xlL3R4ZV9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUMxQyxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx5QkFBeUIscUVBQXFFLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txe_oracle_version.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,qEAAqE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TXE oracle version constants are used to check that the oracle interface used for tests is in sync between
|
|
3
|
+
* TXE and Aztec.nr. This is separate from the contract oracle version in `pxe/src/oracle_version.ts`, which covers
|
|
4
|
+
* oracles used during contract execution by PXE.
|
|
5
|
+
*
|
|
6
|
+
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
|
+
*/ export const TXE_ORACLE_VERSION_MAJOR = 8;
|
|
8
|
+
export const TXE_ORACLE_VERSION_MINOR = 0;
|
|
9
|
+
/**
|
|
10
|
+
* This hash is computed from the TXE-specific entries in `TXE_ORACLE_REGISTRY` and is used to
|
|
11
|
+
* detect when those interfaces change. When it does, bump:
|
|
12
|
+
* - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
|
|
13
|
+
* - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
|
|
14
|
+
*/ export const TXE_ORACLE_INTERFACE_HASH = 'e06f29fc2b03516b7122021f95bdcfa7816680469fc46b21eb36d2368bc4e708';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Fr } from '@aztec-labs/foundation/curves/bn254';
|
|
2
|
+
import { PrivateExecutionOracle } from '@aztec-labs/pxe/simulator';
|
|
3
|
+
import type { FunctionSelector } from '@aztec-labs/stdlib/abi';
|
|
4
|
+
import type { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
5
|
+
/**
|
|
6
|
+
* TXE-specific subclass of PrivateExecutionOracle that forbids operations not supported in
|
|
7
|
+
* TestEnvironment::private_context. TXE uses dedicated oracle flows (e.g. private_call) instead.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TXEPrivateExecutionOracle extends PrivateExecutionOracle {
|
|
10
|
+
callPrivateFunction(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<{
|
|
11
|
+
endSideEffectCounter: Fr;
|
|
12
|
+
returnsHash: Fr;
|
|
13
|
+
}>;
|
|
14
|
+
assertValidPublicCalldata(_calldataHash: Fr): Promise<void>;
|
|
15
|
+
notifyRevertiblePhaseStart(_minRevertibleSideEffectCounter: number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3ByaXZhdGVfZXhlY3V0aW9uX29yYWNsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yYWNsZS90eGVfcHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckU7OztHQUdHO0FBQ0gscUJBQWEseUJBQTBCLFNBQVEsc0JBQXNCO0lBQzFELG1CQUFtQixDQUMxQixzQkFBc0IsRUFBRSxZQUFZLEVBQ3BDLGlCQUFpQixFQUFFLGdCQUFnQixFQUNuQyxTQUFTLEVBQUUsRUFBRSxFQUNiLGtCQUFrQixFQUFFLE1BQU0sRUFDMUIsYUFBYSxFQUFFLE9BQU8sR0FDckIsT0FBTyxDQUFDO1FBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FJeEQ7SUFFUSx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbkU7SUFFUSwwQkFBMEIsQ0FBQywrQkFBK0IsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUxRjtDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txe_private_execution_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_private_execution_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAC1D,mBAAmB,CAC1B,sBAAsB,EAAE,YAAY,EACpC,iBAAiB,EAAE,gBAAgB,EACnC,SAAS,EAAE,EAAE,EACb,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC;QAAE,oBAAoB,EAAE,EAAE,CAAC;QAAC,WAAW,EAAE,EAAE,CAAA;KAAE,CAAC,CAIxD;IAEQ,yBAAyB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;IAEQ,0BAA0B,CAAC,+BAA+B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PrivateExecutionOracle } from '@aztec-labs/pxe/simulator';
|
|
2
|
+
/**
|
|
3
|
+
* TXE-specific subclass of PrivateExecutionOracle that forbids operations not supported in
|
|
4
|
+
* TestEnvironment::private_context. TXE uses dedicated oracle flows (e.g. private_call) instead.
|
|
5
|
+
*/ export class TXEPrivateExecutionOracle extends PrivateExecutionOracle {
|
|
6
|
+
callPrivateFunction(_targetContractAddress, _functionSelector, _argsHash, _sideEffectCounter, _isStaticCall) {
|
|
7
|
+
throw new Error('Contract calls are forbidden inside a `TestEnvironment::private_context`, use `private_call` instead');
|
|
8
|
+
}
|
|
9
|
+
assertValidPublicCalldata(_calldataHash) {
|
|
10
|
+
throw new Error('Enqueueing public calls is not supported in TestEnvironment::private_context');
|
|
11
|
+
}
|
|
12
|
+
notifyRevertiblePhaseStart(_minRevertibleSideEffectCounter) {
|
|
13
|
+
throw new Error('Enqueueing public calls is not supported in TestEnvironment::private_context');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Logger } from '@aztec-labs/foundation/log';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the TXE RPC server. With `TXE_WORKERS=1` oracle calls run on the main thread (no
|
|
4
|
+
* worker_threads, no IPC overhead). With any other value oracle calls are
|
|
5
|
+
* routed to a pool of worker threads sized to that value, sticky by `session_id`.
|
|
6
|
+
*
|
|
7
|
+
* Each incoming TCP socket is tagged with the `session_id` of the first oracle call it carries —
|
|
8
|
+
* nargo uses one HTTP client per test, so the socket-to-session mapping is 1:1. When the socket
|
|
9
|
+
* closes (end of test), the dispatcher disposes the session and frees its world state + LMDB.
|
|
10
|
+
*
|
|
11
|
+
* Lives in its own module so the worker bundle does not pull in the HTTP server stack.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createTXERpcServer(logger: Logger): Promise<import("@aztec-labs/foundation/json-rpc/server").SafeJsonRpcServer>;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3NlcnZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFjekQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSwrRUE0Q3REIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc_server.d.ts","sourceRoot":"","sources":["../src/rpc_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAczD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,+EA4CtD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { createSafeJsonRpcServer } from '@aztec-labs/foundation/json-rpc/server';
|
|
2
|
+
import { TXEDispatcherPool, buildSharedContractStore } from './dispatcher_pool.js';
|
|
3
|
+
import { TXEDispatcher, TXEDispatcherApiSchema } from './index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Symbol used to tag an incoming TCP socket with the `session_id` it has been associated with.
|
|
6
|
+
* Hidden under a Symbol so we don't risk colliding with anything koa or http core adds.
|
|
7
|
+
*/ const SESSION_SYMBOL = Symbol('txeSessionId');
|
|
8
|
+
/**
|
|
9
|
+
* Creates the TXE RPC server. With `TXE_WORKERS=1` oracle calls run on the main thread (no
|
|
10
|
+
* worker_threads, no IPC overhead). With any other value oracle calls are
|
|
11
|
+
* routed to a pool of worker threads sized to that value, sticky by `session_id`.
|
|
12
|
+
*
|
|
13
|
+
* Each incoming TCP socket is tagged with the `session_id` of the first oracle call it carries —
|
|
14
|
+
* nargo uses one HTTP client per test, so the socket-to-session mapping is 1:1. When the socket
|
|
15
|
+
* closes (end of test), the dispatcher disposes the session and frees its world state + LMDB.
|
|
16
|
+
*
|
|
17
|
+
* Lives in its own module so the worker bundle does not pull in the HTTP server stack.
|
|
18
|
+
*/ export async function createTXERpcServer(logger) {
|
|
19
|
+
const workerCount = Number(process.env.TXE_WORKERS);
|
|
20
|
+
let dispatcher;
|
|
21
|
+
if (workerCount === 1) {
|
|
22
|
+
const { dataDir, schnorrClassId } = await buildSharedContractStore();
|
|
23
|
+
dispatcher = new TXEDispatcher(logger, {
|
|
24
|
+
contractStoreSourceDir: dataDir,
|
|
25
|
+
schnorrClassId
|
|
26
|
+
});
|
|
27
|
+
} else {
|
|
28
|
+
dispatcher = new TXEDispatcherPool(logger, {
|
|
29
|
+
workers: Number.isFinite(workerCount) && workerCount > 1 ? workerCount : undefined
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const server = createSafeJsonRpcServer(dispatcher, TXEDispatcherApiSchema, {
|
|
33
|
+
http200OnError: true,
|
|
34
|
+
middlewares: [
|
|
35
|
+
async (ctx, next)=>{
|
|
36
|
+
// The body parser runs further down the chain, so `ctx.request.body` is populated only
|
|
37
|
+
// after `next()` resolves.
|
|
38
|
+
await next();
|
|
39
|
+
const socket = ctx.req.socket;
|
|
40
|
+
if (socket[SESSION_SYMBOL] !== undefined) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const body = ctx.request.body;
|
|
44
|
+
const sessionId = body && typeof body === 'object' && 'params' in body ? extractSessionId(body.params) : undefined;
|
|
45
|
+
if (sessionId === undefined) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
socket[SESSION_SYMBOL] = sessionId;
|
|
49
|
+
logger.debug(`Tagged socket with session`, {
|
|
50
|
+
sessionId,
|
|
51
|
+
remoteAddress: socket.remoteAddress,
|
|
52
|
+
remotePort: socket.remotePort
|
|
53
|
+
});
|
|
54
|
+
socket.once('close', ()=>{
|
|
55
|
+
logger.debug(`Disposing session on socket close`, {
|
|
56
|
+
sessionId
|
|
57
|
+
});
|
|
58
|
+
void dispatcher.disposeSession(sessionId);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
return server;
|
|
64
|
+
}
|
|
65
|
+
// Extracts `session_id` from a JSON-RPC `params` array. Always a `number` because session_id
|
|
66
|
+
// comes off `JSON.parse`, which never produces BigInt; values above MAX_SAFE_INTEGER lose
|
|
67
|
+
// precision but still work as a Map key.
|
|
68
|
+
function extractSessionId(params) {
|
|
69
|
+
if (!Array.isArray(params) || params.length === 0) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
const first = params[0];
|
|
73
|
+
if (first && typeof first === 'object' && 'session_id' in first) {
|
|
74
|
+
const sid = first.session_id;
|
|
75
|
+
return typeof sid === 'number' ? sid : undefined;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from '@aztec-labs/pxe/simulator';
|
|
2
|
+
import type { IAvmExecutionOracle, ITxeExecutionOracle } from './oracle/interfaces.js';
|
|
3
|
+
import type { TXESessionStateHandler } from './txe_session.js';
|
|
4
|
+
import type { ForeignCallArgs } from './utils/encoding.js';
|
|
5
|
+
export declare class UnavailableOracleError extends Error {
|
|
6
|
+
constructor(oracleName: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class RPCTranslator {
|
|
9
|
+
private stateHandler;
|
|
10
|
+
private oracleHandler;
|
|
11
|
+
/**
|
|
12
|
+
* Create a new instance of `RPCTranslator` that will translate all TXE RPC calls to and from the foreign
|
|
13
|
+
* (`ForeignCallSingle`, `ForeignCallResult`, etc.) and native TS types, delegating actual execution of the oracles
|
|
14
|
+
* to the different handlers.
|
|
15
|
+
* @param stateHandler The handler that will process TXE session state transitions, such as entering a private or
|
|
16
|
+
* public context.
|
|
17
|
+
* @param oracleHandler The handler that will process all other oracle calls that are not directly related to session
|
|
18
|
+
* state.
|
|
19
|
+
*/
|
|
20
|
+
constructor(stateHandler: TXESessionStateHandler, oracleHandler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle | IAvmExecutionOracle | ITxeExecutionOracle);
|
|
21
|
+
private handlerAsMisc;
|
|
22
|
+
private handlerAsUtility;
|
|
23
|
+
private handlerAsPrivate;
|
|
24
|
+
private handlerAsAvm;
|
|
25
|
+
private handlerAsTxe;
|
|
26
|
+
aztec_txe_assertCompatibleOracleVersion(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
27
|
+
aztec_txe_setTopLevelTXEContext(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
28
|
+
aztec_txe_setPrivateTXEContext(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
29
|
+
aztec_txe_setPublicTXEContext(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
30
|
+
aztec_txe_setUtilityTXEContext(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
31
|
+
aztec_txe_getDefaultAddress(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
32
|
+
aztec_txe_getNextBlockNumber(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
33
|
+
aztec_txe_getNextBlockTimestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
34
|
+
aztec_txe_advanceBlocksBy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
35
|
+
aztec_txe_advanceTimestampBy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
36
|
+
aztec_txe_deploy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
37
|
+
aztec_txe_createAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
38
|
+
aztec_txe_addAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
39
|
+
aztec_txe_addAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
40
|
+
aztec_txe_sendL1ToL2Message(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
41
|
+
aztec_txe_setTaggingSecretStrategies(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
42
|
+
aztec_txe_setAuthorizeAllUtilityCallTargets(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
43
|
+
aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
44
|
+
aztec_misc_getRandomField(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
45
|
+
aztec_txe_getLastBlockTimestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
46
|
+
aztec_txe_getLastTxEffects(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
47
|
+
aztec_txe_getLastCallOffchainEffects(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
48
|
+
aztec_txe_getLastCallContext(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
49
|
+
aztec_txe_getPrivateEvents(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
50
|
+
aztec_prv_setHashPreimage(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
51
|
+
aztec_prv_getHashPreimage(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
52
|
+
aztec_misc_log(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
53
|
+
aztec_utl_getFromPublicStorage(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
54
|
+
aztec_utl_getPublicDataWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
55
|
+
aztec_utl_getNotes(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
56
|
+
aztec_prv_notifyCreatedNote(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
57
|
+
aztec_prv_notifyNullifiedNote(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
58
|
+
aztec_prv_notifyCreatedNullifier(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
59
|
+
aztec_prv_isNullifierPending(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
60
|
+
aztec_utl_doesNullifierExist(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
61
|
+
aztec_utl_getContractInstance(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
62
|
+
aztec_utl_getPublicKeysAndPartialAddress(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
63
|
+
aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
64
|
+
aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
65
|
+
aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
66
|
+
aztec_utl_getL1ToL2MembershipWitnessV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
67
|
+
aztec_utl_getAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
68
|
+
aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
69
|
+
aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
70
|
+
aztec_prv_isExecutionInRevertiblePhase(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
71
|
+
aztec_utl_getUtilityContext(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
72
|
+
aztec_utl_getBlockHeader(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
73
|
+
aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
74
|
+
aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
75
|
+
aztec_utl_areBlockHashesInArchive(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
76
|
+
aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
77
|
+
aztec_utl_getPendingTaggedLogsV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
78
|
+
aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
79
|
+
aztec_utl_getLogsByTagV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
80
|
+
aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
81
|
+
aztec_utl_getTxEffects(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
82
|
+
aztec_utl_setCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
83
|
+
aztec_utl_getCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
84
|
+
aztec_utl_deleteCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
85
|
+
aztec_utl_copyCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
86
|
+
aztec_utl_pushEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
87
|
+
aztec_utl_popEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
88
|
+
aztec_utl_getEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
89
|
+
aztec_utl_setEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
90
|
+
aztec_utl_getEphemeralLen(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
91
|
+
aztec_utl_removeEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
92
|
+
aztec_utl_clearEphemeral(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
93
|
+
aztec_utl_pushTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
94
|
+
aztec_utl_popTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
95
|
+
aztec_utl_getTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
96
|
+
aztec_utl_setTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
97
|
+
aztec_utl_getTransientLen(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
98
|
+
aztec_utl_removeTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
99
|
+
aztec_utl_clearTransient(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
100
|
+
aztec_utl_decryptAes128(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
101
|
+
aztec_utl_getSharedSecrets(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
102
|
+
aztec_utl_setContractSyncCacheInvalid(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
103
|
+
aztec_utl_emitOffchainEffect(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
104
|
+
aztec_utl_recordFact(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
105
|
+
aztec_utl_deleteFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
106
|
+
aztec_utl_getFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
107
|
+
aztec_utl_getFactCollectionsByType(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
108
|
+
aztec_utl_callUtilityFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
109
|
+
aztec_avm_emitPublicLog(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
110
|
+
aztec_avm_storageRead(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
111
|
+
aztec_avm_storageWrite(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
112
|
+
aztec_avm_getContractInstanceDeployer(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
113
|
+
aztec_avm_getContractInstanceClassId(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
114
|
+
aztec_avm_getContractInstanceInitializationHash(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
115
|
+
aztec_avm_getContractInstanceImmutablesHash(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
116
|
+
aztec_avm_sender(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
117
|
+
aztec_avm_emitNullifier(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
118
|
+
aztec_avm_emitNoteHash(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
119
|
+
aztec_avm_nullifierExists(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
120
|
+
aztec_avm_address(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
121
|
+
aztec_avm_blockNumber(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
122
|
+
aztec_avm_timestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
123
|
+
aztec_avm_isStaticCall(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
124
|
+
aztec_avm_chainId(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
125
|
+
aztec_avm_version(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
126
|
+
aztec_avm_returndataSize(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
127
|
+
aztec_avm_returndataCopy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
128
|
+
aztec_avm_call(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
129
|
+
aztec_avm_staticCall(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
130
|
+
aztec_avm_successCopy(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
131
|
+
aztec_txe_privateCallNewFlow(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
132
|
+
aztec_txe_executeUtilityFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
133
|
+
aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
134
|
+
aztec_prv_getSenderForTags(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
135
|
+
aztec_prv_resolveTaggingStrategy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
136
|
+
aztec_prv_resolveCustomRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
137
|
+
aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
138
|
+
aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFN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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,aAAa;IAWtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IAXvB;;;;;;;;OAQG;IACH,YACU,YAAY,EAAE,sBAAsB,EACpC,aAAa,EACjB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB,EACrB;IAKJ,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IASpB,uCAAuC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAQjE;IAKD,+BAA+B,6DAM9B;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOxD;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMvD;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMxD;IAOD,2BAA2B,6DAM1B;IAGD,4BAA4B,6DAM3B;IAGD,+BAA+B,6DAM9B;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,4BAA4B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMtD;IAGD,gBAAgB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO1C;IAGD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,oBAAoB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM9C;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,2BAA2B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOrD;IAGD,oCAAoC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO9D;IAGD,2CAA2C,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMrE;IAKD,wCAAwC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlE;IAGD,yBAAyB,6DAMxB;IAGD,+BAA+B,6DAM9B;IAGD,0BAA0B,6DAMzB;IAGD,oCAAoC,6DAMnC;IAGD,4BAA4B,6DAM3B;IAGD,0BAA0B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOpD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,cAAc,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMxC;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOxD;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMxD;IAGD,kBAAkB,CAAC,GAAG,MAAM,EAAE,eAAe,4DA2C5C;IAGD,2BAA2B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOrD;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOvD;IAGD,gCAAgC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM1D;IAGD,4BAA4B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOtD;IAGD,4BAA4B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMtD;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMvD;IAGD,wCAAwC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlE;IAGD,iCAAiC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM3D;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAavD;IAGD,uCAAuC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjE;IAGD,sCAAsC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOhE;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,mCAAmC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM7D;IAGD,oCAAoC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO9D;IAGD,sCAAsC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhE;IAGD,2BAA2B,6DAM1B;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,sCAAsC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhE;IAGD,uCAAuC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOjE;IAGD,iCAAiC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO3D;IAGD,0CAA0C,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOpE;IAGD,gCAAgC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM1D;IAGD,gDAAgD,CAAC,GAAG,MAAM,EAAE,eAAe,4DAW1E;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,oBAAoB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO9C;IAGD,oBAAoB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO9C;IAGD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,qBAAqB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO/C;IAGD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAOD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,0BAA0B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOpD;IAGD,qCAAqC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO/D;IAGD,4BAA4B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAYtD;IAGD,oBAAoB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAe9C;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOxD;IAGD,2BAA2B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOrD;IAGD,kCAAkC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO5D;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOvD;IAKD,uBAAuB,6DAOtB;IAGD,qBAAqB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM/C;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,qCAAqC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM/D;IAGD,oCAAoC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAM9D;IAGD,+CAA+C,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMzE;IAGD,2CAA2C,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMrE;IAGD,gBAAgB,6DAMf;IAGD,uBAAuB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMjD;IAGD,sBAAsB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMhD;IAGD,yBAAyB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMnD;IAGD,iBAAiB,6DAMhB;IAGD,qBAAqB,6DAMpB;IAGD,mBAAmB,6DAMlB;IAGD,sBAAsB,6DAMrB;IAGD,iBAAiB,6DAMhB;IAGD,iBAAiB,6DAMhB;IAGD,wBAAwB,6DAMvB;IAGD,wBAAwB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMlD;IAGD,cAAc,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOxC;IAGD,oBAAoB,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO9C;IAGD,qBAAqB,6DAMpB;IAGD,4BAA4B,CAAC,GAAG,MAAM,EAAE,eAAe,4DA2BtD;IAGD,gCAAgC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAa1D;IAGD,2BAA2B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAOrD;IAGD,0BAA0B,6DAMzB;IAGD,gCAAgC,CAAC,GAAG,MAAM,EAAE,eAAe,4DAO1D;IAGD,8BAA8B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMxD;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMvD;IAGD,6BAA6B,CAAC,GAAG,MAAM,EAAE,eAAe,4DAMvD;CACF"}
|