@aztec/txe 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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.
Files changed (138) hide show
  1. package/dest/ContractClassRegistry-KKNT527R.js +3 -0
  2. package/dest/ContractClassRegistry-KKNT527R.js.map +7 -0
  3. package/dest/ContractInstanceRegistry-GSKBNL3Q.js +3 -0
  4. package/dest/ContractInstanceRegistry-GSKBNL3Q.js.map +7 -0
  5. package/dest/FeeJuice-GUJ5O6GB.js +3 -0
  6. package/dest/FeeJuice-GUJ5O6GB.js.map +7 -0
  7. package/dest/MultiCallEntrypoint-ZQPCKVKL.js +3 -0
  8. package/dest/MultiCallEntrypoint-ZQPCKVKL.js.map +7 -0
  9. package/dest/SchnorrAccount-QIXE5DXA.js +3 -0
  10. package/dest/SchnorrAccount-QIXE5DXA.js.map +7 -0
  11. package/dest/bin/check_txe_oracle_version.d.ts +2 -0
  12. package/dest/bin/check_txe_oracle_version.d.ts.map +1 -0
  13. package/dest/bin/check_txe_oracle_version.js +32 -0
  14. package/dest/bin/index.js +3 -30
  15. package/dest/bin/index.js.map +7 -0
  16. package/dest/chunk-BJVAAXNA.js +3 -0
  17. package/dest/chunk-BJVAAXNA.js.map +7 -0
  18. package/dest/chunk-DF6RMOC6.js +304 -0
  19. package/dest/chunk-DF6RMOC6.js.map +7 -0
  20. package/dest/chunk-PPJTNNUG.js +265 -0
  21. package/dest/chunk-PPJTNNUG.js.map +7 -0
  22. package/dest/constants.d.ts +3 -2
  23. package/dest/constants.d.ts.map +1 -1
  24. package/dest/constants.js +5 -1
  25. package/dest/dispatcher_pool.d.ts +67 -0
  26. package/dest/dispatcher_pool.d.ts.map +1 -0
  27. package/dest/dispatcher_pool.js +284 -0
  28. package/dest/index.d.ts +188 -7
  29. package/dest/index.d.ts.map +1 -1
  30. package/dest/index.js +148 -75
  31. package/dest/metafile.json +38147 -0
  32. package/dest/msgpackr_fr_extension.d.ts +2 -0
  33. package/dest/msgpackr_fr_extension.d.ts.map +1 -0
  34. package/dest/msgpackr_fr_extension.js +21 -0
  35. package/dest/oracle/interfaces.d.ts +40 -28
  36. package/dest/oracle/interfaces.d.ts.map +1 -1
  37. package/dest/oracle/txe_oracle_public_context.d.ts +18 -13
  38. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  39. package/dest/oracle/txe_oracle_public_context.js +31 -16
  40. package/dest/oracle/txe_oracle_top_level_context.d.ts +39 -23
  41. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  42. package/dest/oracle/txe_oracle_top_level_context.js +225 -89
  43. package/dest/oracle/txe_private_execution_oracle.d.ts +17 -0
  44. package/dest/oracle/txe_private_execution_oracle.d.ts.map +1 -0
  45. package/dest/oracle/txe_private_execution_oracle.js +15 -0
  46. package/dest/rpc_server.d.ts +14 -0
  47. package/dest/rpc_server.d.ts.map +1 -0
  48. package/dest/rpc_server.js +78 -0
  49. package/dest/rpc_translator.d.ts +144 -82
  50. package/dest/rpc_translator.d.ts.map +1 -1
  51. package/dest/rpc_translator.js +599 -238
  52. package/dest/server.bundle.js +3 -0
  53. package/dest/server.bundle.js.map +7 -0
  54. package/dest/state_machine/archiver.d.ts +20 -69
  55. package/dest/state_machine/archiver.d.ts.map +1 -1
  56. package/dest/state_machine/archiver.js +47 -187
  57. package/dest/state_machine/dummy_p2p_client.d.ts +26 -16
  58. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  59. package/dest/state_machine/dummy_p2p_client.js +44 -20
  60. package/dest/state_machine/global_variable_builder.d.ts +9 -4
  61. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  62. package/dest/state_machine/global_variable_builder.js +9 -3
  63. package/dest/state_machine/index.d.ts +10 -6
  64. package/dest/state_machine/index.d.ts.map +1 -1
  65. package/dest/state_machine/index.js +55 -14
  66. package/dest/state_machine/mock_epoch_cache.d.ts +25 -8
  67. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  68. package/dest/state_machine/mock_epoch_cache.js +46 -9
  69. package/dest/state_machine/synchronizer.d.ts +6 -6
  70. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  71. package/dest/state_machine/synchronizer.js +4 -4
  72. package/dest/txe_oracle_version.d.ts +17 -0
  73. package/dest/txe_oracle_version.d.ts.map +1 -0
  74. package/dest/txe_oracle_version.js +14 -0
  75. package/dest/txe_session.d.ts +73 -10
  76. package/dest/txe_session.d.ts.map +1 -1
  77. package/dest/txe_session.js +242 -39
  78. package/dest/utils/block_creation.d.ts +4 -4
  79. package/dest/utils/block_creation.d.ts.map +1 -1
  80. package/dest/utils/block_creation.js +18 -4
  81. package/dest/utils/encoding.d.ts +191 -0
  82. package/dest/utils/encoding.d.ts.map +1 -0
  83. package/dest/{util → utils}/encoding.js +7 -2
  84. package/dest/{util → utils}/expected_failure_error.d.ts +1 -1
  85. package/dest/utils/expected_failure_error.d.ts.map +1 -0
  86. package/dest/utils/tx_effect_creation.d.ts +2 -3
  87. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  88. package/dest/utils/tx_effect_creation.js +3 -6
  89. package/dest/{util → utils}/txe_account_store.d.ts +1 -1
  90. package/dest/utils/txe_account_store.d.ts.map +1 -0
  91. package/dest/utils/txe_public_contract_data_source.d.ts +20 -0
  92. package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -0
  93. package/dest/{util → utils}/txe_public_contract_data_source.js +6 -25
  94. package/dest/worker.bundle.js +3 -0
  95. package/dest/worker.bundle.js.map +7 -0
  96. package/dest/worker.d.ts +2 -0
  97. package/dest/worker.d.ts.map +1 -0
  98. package/dest/worker.js +92 -0
  99. package/package.json +38 -22
  100. package/src/bin/check_txe_oracle_version.ts +37 -0
  101. package/src/bin/index.ts +11 -2
  102. package/src/constants.ts +6 -1
  103. package/src/dispatcher_pool.ts +316 -0
  104. package/src/index.ts +166 -80
  105. package/src/msgpackr_fr_extension.ts +23 -0
  106. package/src/oracle/interfaces.ts +48 -34
  107. package/src/oracle/txe_oracle_public_context.ts +46 -18
  108. package/src/oracle/txe_oracle_top_level_context.ts +282 -151
  109. package/src/oracle/txe_private_execution_oracle.ts +30 -0
  110. package/src/rpc_server.ts +87 -0
  111. package/src/rpc_translator.ts +687 -326
  112. package/src/state_machine/archiver.ts +53 -235
  113. package/src/state_machine/dummy_p2p_client.ts +70 -32
  114. package/src/state_machine/global_variable_builder.ts +18 -3
  115. package/src/state_machine/index.ts +72 -15
  116. package/src/state_machine/mock_epoch_cache.ts +57 -14
  117. package/src/state_machine/synchronizer.ts +6 -6
  118. package/src/txe_oracle_version.ts +17 -0
  119. package/src/txe_session.ts +352 -104
  120. package/src/utils/block_creation.ts +19 -16
  121. package/src/{util → utils}/encoding.ts +8 -2
  122. package/src/utils/tx_effect_creation.ts +3 -11
  123. package/src/{util → utils}/txe_public_contract_data_source.ts +10 -38
  124. package/src/worker.ts +98 -0
  125. package/dest/util/encoding.d.ts +0 -720
  126. package/dest/util/encoding.d.ts.map +0 -1
  127. package/dest/util/expected_failure_error.d.ts.map +0 -1
  128. package/dest/util/txe_account_store.d.ts.map +0 -1
  129. package/dest/util/txe_contract_store.d.ts +0 -12
  130. package/dest/util/txe_contract_store.d.ts.map +0 -1
  131. package/dest/util/txe_contract_store.js +0 -22
  132. package/dest/util/txe_public_contract_data_source.d.ts +0 -21
  133. package/dest/util/txe_public_contract_data_source.d.ts.map +0 -1
  134. package/src/util/txe_contract_store.ts +0 -36
  135. /package/dest/{util → utils}/expected_failure_error.js +0 -0
  136. /package/dest/{util → utils}/txe_account_store.js +0 -0
  137. /package/src/{util → utils}/expected_failure_error.ts +0 -0
  138. /package/src/{util → utils}/txe_account_store.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tfdHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2NoZWNrX3R4ZV9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check_txe_oracle_version.d.ts","sourceRoot":"","sources":["../../src/bin/check_txe_oracle_version.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { keccak256String } from '@aztec/foundation/crypto/keccak';
2
+ import { getOracleInterfaceSignature } from '@aztec/pxe/bin';
3
+ import { dirname, join } from 'path';
4
+ import { fileURLToPath } from 'url';
5
+ import { TXE_ORACLE_INTERFACE_HASH } from '../txe_oracle_version.js';
6
+ /**
7
+ * Verifies that the TXE oracle interfaces match the expected interface hash.
8
+ *
9
+ * The TXE oracle interfaces need to be versioned to ensure compatibility between Aztec.nr tests and TXE. This function
10
+ * computes a hash of the TXE oracle interfaces and compares it against a known hash. If they don't match, it means an
11
+ * interface has changed and the TXE oracle version needs to be bumped:
12
+ * - If the change is backward-breaking (e.g. removing/renaming an oracle), bump TXE_ORACLE_VERSION_MAJOR.
13
+ * - If the change is an oracle addition (non-breaking), bump TXE_ORACLE_VERSION_MINOR.
14
+ */ function assertTxeOracleInterfaceMatches() {
15
+ const currentDir = dirname(fileURLToPath(import.meta.url));
16
+ const packageRoot = dirname(dirname(currentDir));
17
+ const interfacesSourcePath = join(packageRoot, 'src/oracle/interfaces.ts');
18
+ const targets = [
19
+ 'IAvmExecutionOracle',
20
+ 'ITxeExecutionOracle'
21
+ ];
22
+ // Not an oracle foreign call handler (see TODO(F-335) in interfaces.ts).
23
+ const excludedMembers = [
24
+ 'syncContractNonOracleMethod'
25
+ ];
26
+ const txeOracleInterfaceSignature = getOracleInterfaceSignature(interfacesSourcePath, targets, excludedMembers);
27
+ const txeOracleInterfaceHash = keccak256String(txeOracleInterfaceSignature);
28
+ if (txeOracleInterfaceHash !== TXE_ORACLE_INTERFACE_HASH) {
29
+ throw new Error(`The TXE oracle interface has changed. Update TXE_ORACLE_INTERFACE_HASH to ${txeOracleInterfaceHash} in txe/src/txe_oracle_version.ts and bump the TXE oracle version (TXE_ORACLE_VERSION_MAJOR for breaking changes, TXE_ORACLE_VERSION_MINOR for oracle additions).`);
30
+ }
31
+ }
32
+ assertTxeOracleInterfaceMatches();
package/dest/bin/index.js CHANGED
@@ -1,31 +1,4 @@
1
1
  #!/usr/bin/env -S node --no-warnings
2
- import { createLogger } from '@aztec/aztec.js/log';
3
- import { startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
4
- import { createTXERpcServer } from '../index.js';
5
- /**
6
- * Create and start a new TXE HTTP Server
7
- */ async function main() {
8
- const { TXE_PORT = 8080 } = process.env;
9
- process.on('SIGTERM', ()=>{
10
- logger.info('Received SIGTERM.');
11
- process.exit(0);
12
- });
13
- process.on('SIGINT', ()=>{
14
- logger.info('Received SIGTERM.');
15
- process.exit(0);
16
- });
17
- const logger = createLogger('txe:rpc');
18
- logger.info(`Setting up TXE...`);
19
- const txeServer = createTXERpcServer(logger);
20
- const { port } = await startHttpRpcServer(txeServer, {
21
- host: '127.0.0.1',
22
- port: TXE_PORT,
23
- timeoutMs: 1e3 * 60 * 5
24
- });
25
- logger.info(`TXE listening on port ${port}`);
26
- }
27
- main().catch((err)=>{
28
- // eslint-disable-next-line no-console
29
- console.error(err);
30
- process.exit(1);
31
- });
2
+ import { createRequire as __txeCreateRequire } from 'node:module';
3
+ const require = __txeCreateRequire(import.meta.url);
4
+ import{createTXERpcServer,startHttpRpcServer}from"../chunk-DF6RMOC6.js";import{createLogger}from"../chunk-PPJTNNUG.js";import{__name}from"../chunk-BJVAAXNA.js";process.env.HARDWARE_CONCURRENCY??="2";async function main(){let{TXE_PORT=8080}=process.env;process.on("SIGTERM",()=>{logger.info("Received SIGTERM."),process.exit(0)}),process.on("SIGINT",()=>{logger.info("Received SIGTERM."),process.exit(0)});let logger=createLogger("txe:rpc");logger.info("Setting up TXE...");let txeServer=await createTXERpcServer(logger),{port}=await startHttpRpcServer(txeServer,{host:"127.0.0.1",port:TXE_PORT,timeoutMs:1e3*60*5});logger.info(`TXE listening on port ${port}`)}__name(main,"main");main().catch(err=>{console.error(err),process.exit(1)});
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/bin/index.ts"],
4
+ "sourcesContent": ["#!/usr/bin/env -S node --no-warnings\nimport { createLogger } from '@aztec/aztec.js/log';\nimport { startHttpRpcServer } from '@aztec/foundation/json-rpc/server';\n\nimport { createTXERpcServer } from '../rpc_server.js';\n\n// Cap the native world-state thread pool before any import touches @aztec/world-state.\n// `MAX_WORLD_STATE_THREADS` reads HARDWARE_CONCURRENCY at module load and defaults to 16; the\n// pool's worker threads inherit `process.env`, so setting the cap here covers every worker.\n//\n// CAVEAT: HARDWARE_CONCURRENCY is process-global \u2014 bb prove/verify, the LMDB reader pool, and\n// the world-state native thread pool all read it. Safe at 2 today because TXE never proves or\n// verifies and only performs light tree updates; raise it if that ever changes.\nprocess.env.HARDWARE_CONCURRENCY ??= '2';\n\n/**\n * Create and start a new TXE HTTP Server\n */\nasync function main() {\n const { TXE_PORT = 8080 } = process.env;\n\n process.on('SIGTERM', () => {\n logger.info('Received SIGTERM.');\n process.exit(0);\n });\n\n process.on('SIGINT', () => {\n logger.info('Received SIGTERM.');\n process.exit(0);\n });\n\n const logger = createLogger('txe:rpc');\n logger.info(`Setting up TXE...`);\n\n const txeServer = await createTXERpcServer(logger);\n const { port } = await startHttpRpcServer(txeServer, {\n host: '127.0.0.1',\n port: TXE_PORT,\n timeoutMs: 1e3 * 60 * 5,\n });\n\n logger.info(`TXE listening on port ${port}`);\n}\n\nmain().catch(err => {\n // eslint-disable-next-line no-console\n console.error(err);\n process.exit(1);\n});\n"],
5
+ "mappings": ";;;gKAaA,QAAQ,IAAI,uBAAyB,IAKrC,eAAe,MAAO,CACpB,GAAM,CAAE,SAAW,IAAK,EAAI,QAAQ,IAEpC,QAAQ,GAAG,UAAW,IAAM,CAC1B,OAAO,KAAK,mBAAmB,EAC/B,QAAQ,KAAK,CAAC,CAChB,CAAC,EAED,QAAQ,GAAG,SAAU,IAAM,CACzB,OAAO,KAAK,mBAAmB,EAC/B,QAAQ,KAAK,CAAC,CAChB,CAAC,EAED,IAAM,OAAS,aAAa,SAAS,EACrC,OAAO,KAAK,mBAAmB,EAE/B,IAAM,UAAY,MAAM,mBAAmB,MAAM,EAC3C,CAAE,IAAK,EAAI,MAAM,mBAAmB,UAAW,CACnD,KAAM,YACN,KAAM,SACN,UAAW,IAAM,GAAK,CACxB,CAAC,EAED,OAAO,KAAK,yBAAyB,IAAI,EAAE,CAC7C,CAxBe,oBA0Bf,KAAK,EAAE,MAAM,KAAO,CAElB,QAAQ,MAAM,GAAG,EACjB,QAAQ,KAAK,CAAC,CAChB,CAAC",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ import { createRequire as __txeCreateRequire } from 'node:module';
2
+ const require = __txeCreateRequire(import.meta.url);
3
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0}),__require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);export{__name,__require,__esm,__commonJS,__export,__toESM,__toCommonJS};
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }