@xyo-network/chain-orchestration 1.20.17 → 1.20.19

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 (277) hide show
  1. package/dist/browser/index.mjs +374 -86
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/node/config/locators/actors/bridgeLocatorFromConfig.d.ts +1 -1
  4. package/dist/browser/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  5. package/dist/browser/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
  6. package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  7. package/dist/browser/node/config/tryParseConfig.d.ts +160 -2
  8. package/dist/browser/node/config/tryParseConfig.d.ts.map +1 -1
  9. package/dist/browser/node/index.d.ts +3 -4
  10. package/dist/browser/node/index.d.ts.map +1 -1
  11. package/dist/browser/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
  12. package/dist/browser/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
  13. package/dist/browser/node/init/initServerNode.d.ts +2 -0
  14. package/dist/browser/node/init/initServerNode.d.ts.map +1 -1
  15. package/dist/browser/node/manifest/public/index.d.ts +0 -3
  16. package/dist/browser/node/manifest/public/index.d.ts.map +1 -1
  17. package/dist/browser/shared/actor/ValidatorActor.d.ts +4 -2
  18. package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
  19. package/dist/browser/shared/config/actors/Api.d.ts +23 -5
  20. package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
  21. package/dist/browser/shared/config/actors/Bridge.d.ts +23 -5
  22. package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
  23. package/dist/browser/shared/config/actors/Mempool.d.ts +23 -5
  24. package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
  25. package/dist/browser/shared/config/actors/Producer.d.ts +30 -5
  26. package/dist/browser/shared/config/actors/Producer.d.ts.map +1 -1
  27. package/dist/browser/shared/config/actors/RewardRedemption.d.ts +23 -5
  28. package/dist/browser/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  29. package/dist/browser/shared/config/actors/Validator.d.ts +29 -5
  30. package/dist/browser/shared/config/actors/Validator.d.ts.map +1 -1
  31. package/dist/browser/shared/config/actors/accountIndex.d.ts +3 -0
  32. package/dist/browser/shared/config/actors/accountIndex.d.ts.map +1 -0
  33. package/dist/browser/shared/config/actors/index.d.ts +0 -1
  34. package/dist/browser/shared/config/actors/index.d.ts.map +1 -1
  35. package/dist/browser/shared/config/mergeConfig.d.ts +3 -1
  36. package/dist/browser/shared/config/mergeConfig.d.ts.map +1 -1
  37. package/dist/browser/shared/init/index.d.ts +1 -0
  38. package/dist/browser/shared/init/index.d.ts.map +1 -1
  39. package/dist/browser/shared/init/initActorAccount.d.ts.map +1 -1
  40. package/dist/browser/shared/init/initActorSeedPhrase.d.ts.map +1 -1
  41. package/dist/browser/shared/init/initWallet.d.ts +1 -1
  42. package/dist/browser/shared/init/initWallet.d.ts.map +1 -1
  43. package/dist/browser/shared/init/walletResolution.d.ts +56 -0
  44. package/dist/browser/shared/init/walletResolution.d.ts.map +1 -0
  45. package/dist/browser/shared/orchestrator/Orchestrator.d.ts +1 -1
  46. package/dist/browser/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  47. package/dist/neutral/index.mjs +374 -86
  48. package/dist/neutral/index.mjs.map +1 -1
  49. package/dist/neutral/node/config/locators/actors/bridgeLocatorFromConfig.d.ts +1 -1
  50. package/dist/neutral/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  51. package/dist/neutral/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
  52. package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  53. package/dist/neutral/node/config/tryParseConfig.d.ts +160 -2
  54. package/dist/neutral/node/config/tryParseConfig.d.ts.map +1 -1
  55. package/dist/neutral/node/index.d.ts +3 -4
  56. package/dist/neutral/node/index.d.ts.map +1 -1
  57. package/dist/neutral/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
  58. package/dist/neutral/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
  59. package/dist/neutral/node/init/initServerNode.d.ts +2 -0
  60. package/dist/neutral/node/init/initServerNode.d.ts.map +1 -1
  61. package/dist/neutral/node/manifest/public/index.d.ts +0 -3
  62. package/dist/neutral/node/manifest/public/index.d.ts.map +1 -1
  63. package/dist/neutral/shared/actor/ValidatorActor.d.ts +4 -2
  64. package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
  65. package/dist/neutral/shared/config/actors/Api.d.ts +23 -5
  66. package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
  67. package/dist/neutral/shared/config/actors/Bridge.d.ts +23 -5
  68. package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
  69. package/dist/neutral/shared/config/actors/Mempool.d.ts +23 -5
  70. package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
  71. package/dist/neutral/shared/config/actors/Producer.d.ts +30 -5
  72. package/dist/neutral/shared/config/actors/Producer.d.ts.map +1 -1
  73. package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +23 -5
  74. package/dist/neutral/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  75. package/dist/neutral/shared/config/actors/Validator.d.ts +29 -5
  76. package/dist/neutral/shared/config/actors/Validator.d.ts.map +1 -1
  77. package/dist/neutral/shared/config/actors/accountIndex.d.ts +3 -0
  78. package/dist/neutral/shared/config/actors/accountIndex.d.ts.map +1 -0
  79. package/dist/neutral/shared/config/actors/index.d.ts +0 -1
  80. package/dist/neutral/shared/config/actors/index.d.ts.map +1 -1
  81. package/dist/neutral/shared/config/mergeConfig.d.ts +3 -1
  82. package/dist/neutral/shared/config/mergeConfig.d.ts.map +1 -1
  83. package/dist/neutral/shared/init/index.d.ts +1 -0
  84. package/dist/neutral/shared/init/index.d.ts.map +1 -1
  85. package/dist/neutral/shared/init/initActorAccount.d.ts.map +1 -1
  86. package/dist/neutral/shared/init/initActorSeedPhrase.d.ts.map +1 -1
  87. package/dist/neutral/shared/init/initWallet.d.ts +1 -1
  88. package/dist/neutral/shared/init/initWallet.d.ts.map +1 -1
  89. package/dist/neutral/shared/init/walletResolution.d.ts +56 -0
  90. package/dist/neutral/shared/init/walletResolution.d.ts.map +1 -0
  91. package/dist/neutral/shared/orchestrator/Orchestrator.d.ts +1 -1
  92. package/dist/neutral/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  93. package/dist/node/index.mjs +510 -477
  94. package/dist/node/index.mjs.map +1 -1
  95. package/dist/node/node/config/locators/actors/bridgeLocatorFromConfig.d.ts +1 -1
  96. package/dist/node/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  97. package/dist/node/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
  98. package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  99. package/dist/node/node/config/tryParseConfig.d.ts +160 -2
  100. package/dist/node/node/config/tryParseConfig.d.ts.map +1 -1
  101. package/dist/node/node/index.d.ts +3 -4
  102. package/dist/node/node/index.d.ts.map +1 -1
  103. package/dist/node/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
  104. package/dist/node/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
  105. package/dist/node/node/init/initServerNode.d.ts +2 -0
  106. package/dist/node/node/init/initServerNode.d.ts.map +1 -1
  107. package/dist/node/node/manifest/public/index.d.ts +0 -3
  108. package/dist/node/node/manifest/public/index.d.ts.map +1 -1
  109. package/dist/node/shared/actor/ValidatorActor.d.ts +4 -2
  110. package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
  111. package/dist/node/shared/config/actors/Api.d.ts +23 -5
  112. package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
  113. package/dist/node/shared/config/actors/Bridge.d.ts +23 -5
  114. package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
  115. package/dist/node/shared/config/actors/Mempool.d.ts +23 -5
  116. package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
  117. package/dist/node/shared/config/actors/Producer.d.ts +30 -5
  118. package/dist/node/shared/config/actors/Producer.d.ts.map +1 -1
  119. package/dist/node/shared/config/actors/RewardRedemption.d.ts +23 -5
  120. package/dist/node/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  121. package/dist/node/shared/config/actors/Validator.d.ts +29 -5
  122. package/dist/node/shared/config/actors/Validator.d.ts.map +1 -1
  123. package/dist/node/shared/config/actors/accountIndex.d.ts +3 -0
  124. package/dist/node/shared/config/actors/accountIndex.d.ts.map +1 -0
  125. package/dist/node/shared/config/actors/index.d.ts +0 -1
  126. package/dist/node/shared/config/actors/index.d.ts.map +1 -1
  127. package/dist/node/shared/config/mergeConfig.d.ts +3 -1
  128. package/dist/node/shared/config/mergeConfig.d.ts.map +1 -1
  129. package/dist/node/shared/init/index.d.ts +1 -0
  130. package/dist/node/shared/init/index.d.ts.map +1 -1
  131. package/dist/node/shared/init/initActorAccount.d.ts.map +1 -1
  132. package/dist/node/shared/init/initActorSeedPhrase.d.ts.map +1 -1
  133. package/dist/node/shared/init/initWallet.d.ts +1 -1
  134. package/dist/node/shared/init/initWallet.d.ts.map +1 -1
  135. package/dist/node/shared/init/walletResolution.d.ts +56 -0
  136. package/dist/node/shared/init/walletResolution.d.ts.map +1 -0
  137. package/dist/node/shared/orchestrator/Orchestrator.d.ts +1 -1
  138. package/dist/node/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  139. package/package.json +18 -25
  140. package/dist/browser/node/archivists/ChainFinalized/archivist.d.ts +0 -4
  141. package/dist/browser/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
  142. package/dist/browser/node/archivists/ChainFinalized/index.d.ts +0 -2
  143. package/dist/browser/node/archivists/ChainFinalized/index.d.ts.map +0 -1
  144. package/dist/browser/node/archivists/ChainFinalized/local.d.ts +0 -4
  145. package/dist/browser/node/archivists/ChainFinalized/local.d.ts.map +0 -1
  146. package/dist/browser/node/archivists/PendingBlocks/archivist.d.ts +0 -4
  147. package/dist/browser/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
  148. package/dist/browser/node/archivists/PendingBlocks/index.d.ts +0 -2
  149. package/dist/browser/node/archivists/PendingBlocks/index.d.ts.map +0 -1
  150. package/dist/browser/node/archivists/PendingBlocks/local.d.ts +0 -4
  151. package/dist/browser/node/archivists/PendingBlocks/local.d.ts.map +0 -1
  152. package/dist/browser/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
  153. package/dist/browser/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
  154. package/dist/browser/node/archivists/RejectedTransactions/index.d.ts +0 -2
  155. package/dist/browser/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
  156. package/dist/browser/node/archivists/RejectedTransactions/local.d.ts +0 -3
  157. package/dist/browser/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
  158. package/dist/browser/node/archivists/StakeIntentState/archivist.d.ts +0 -4
  159. package/dist/browser/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
  160. package/dist/browser/node/archivists/StakeIntentState/index.d.ts +0 -2
  161. package/dist/browser/node/archivists/StakeIntentState/index.d.ts.map +0 -1
  162. package/dist/browser/node/archivists/StakeIntentState/local.d.ts +0 -4
  163. package/dist/browser/node/archivists/StakeIntentState/local.d.ts.map +0 -1
  164. package/dist/browser/node/archivists/index.d.ts +0 -5
  165. package/dist/browser/node/archivists/index.d.ts.map +0 -1
  166. package/dist/browser/node/archivists/lib/index.d.ts +0 -2
  167. package/dist/browser/node/archivists/lib/index.d.ts.map +0 -1
  168. package/dist/browser/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
  169. package/dist/browser/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
  170. package/dist/browser/node/evm/index.d.ts +0 -5
  171. package/dist/browser/node/evm/index.d.ts.map +0 -1
  172. package/dist/browser/node/evm/initChainId.d.ts +0 -4
  173. package/dist/browser/node/evm/initChainId.d.ts.map +0 -1
  174. package/dist/browser/node/evm/initEvmProvider.d.ts +0 -5
  175. package/dist/browser/node/evm/initEvmProvider.d.ts.map +0 -1
  176. package/dist/browser/node/evm/initInfuraProvider.d.ts +0 -6
  177. package/dist/browser/node/evm/initInfuraProvider.d.ts.map +0 -1
  178. package/dist/browser/node/evm/initJsonRpcProvider.d.ts +0 -6
  179. package/dist/browser/node/evm/initJsonRpcProvider.d.ts.map +0 -1
  180. package/dist/browser/node/health/index.d.ts +0 -2
  181. package/dist/browser/node/health/index.d.ts.map +0 -1
  182. package/dist/browser/node/health/initHealthEndpoints.d.ts +0 -5
  183. package/dist/browser/node/health/initHealthEndpoints.d.ts.map +0 -1
  184. package/dist/browser/node/sharedMiddleware.d.ts +0 -3
  185. package/dist/browser/node/sharedMiddleware.d.ts.map +0 -1
  186. package/dist/neutral/node/archivists/ChainFinalized/archivist.d.ts +0 -4
  187. package/dist/neutral/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
  188. package/dist/neutral/node/archivists/ChainFinalized/index.d.ts +0 -2
  189. package/dist/neutral/node/archivists/ChainFinalized/index.d.ts.map +0 -1
  190. package/dist/neutral/node/archivists/ChainFinalized/local.d.ts +0 -4
  191. package/dist/neutral/node/archivists/ChainFinalized/local.d.ts.map +0 -1
  192. package/dist/neutral/node/archivists/PendingBlocks/archivist.d.ts +0 -4
  193. package/dist/neutral/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
  194. package/dist/neutral/node/archivists/PendingBlocks/index.d.ts +0 -2
  195. package/dist/neutral/node/archivists/PendingBlocks/index.d.ts.map +0 -1
  196. package/dist/neutral/node/archivists/PendingBlocks/local.d.ts +0 -4
  197. package/dist/neutral/node/archivists/PendingBlocks/local.d.ts.map +0 -1
  198. package/dist/neutral/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
  199. package/dist/neutral/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
  200. package/dist/neutral/node/archivists/RejectedTransactions/index.d.ts +0 -2
  201. package/dist/neutral/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
  202. package/dist/neutral/node/archivists/RejectedTransactions/local.d.ts +0 -3
  203. package/dist/neutral/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
  204. package/dist/neutral/node/archivists/StakeIntentState/archivist.d.ts +0 -4
  205. package/dist/neutral/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
  206. package/dist/neutral/node/archivists/StakeIntentState/index.d.ts +0 -2
  207. package/dist/neutral/node/archivists/StakeIntentState/index.d.ts.map +0 -1
  208. package/dist/neutral/node/archivists/StakeIntentState/local.d.ts +0 -4
  209. package/dist/neutral/node/archivists/StakeIntentState/local.d.ts.map +0 -1
  210. package/dist/neutral/node/archivists/index.d.ts +0 -5
  211. package/dist/neutral/node/archivists/index.d.ts.map +0 -1
  212. package/dist/neutral/node/archivists/lib/index.d.ts +0 -2
  213. package/dist/neutral/node/archivists/lib/index.d.ts.map +0 -1
  214. package/dist/neutral/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
  215. package/dist/neutral/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
  216. package/dist/neutral/node/evm/index.d.ts +0 -5
  217. package/dist/neutral/node/evm/index.d.ts.map +0 -1
  218. package/dist/neutral/node/evm/initChainId.d.ts +0 -4
  219. package/dist/neutral/node/evm/initChainId.d.ts.map +0 -1
  220. package/dist/neutral/node/evm/initEvmProvider.d.ts +0 -5
  221. package/dist/neutral/node/evm/initEvmProvider.d.ts.map +0 -1
  222. package/dist/neutral/node/evm/initInfuraProvider.d.ts +0 -6
  223. package/dist/neutral/node/evm/initInfuraProvider.d.ts.map +0 -1
  224. package/dist/neutral/node/evm/initJsonRpcProvider.d.ts +0 -6
  225. package/dist/neutral/node/evm/initJsonRpcProvider.d.ts.map +0 -1
  226. package/dist/neutral/node/health/index.d.ts +0 -2
  227. package/dist/neutral/node/health/index.d.ts.map +0 -1
  228. package/dist/neutral/node/health/initHealthEndpoints.d.ts +0 -5
  229. package/dist/neutral/node/health/initHealthEndpoints.d.ts.map +0 -1
  230. package/dist/neutral/node/sharedMiddleware.d.ts +0 -3
  231. package/dist/neutral/node/sharedMiddleware.d.ts.map +0 -1
  232. package/dist/node/node/archivists/ChainFinalized/archivist.d.ts +0 -4
  233. package/dist/node/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
  234. package/dist/node/node/archivists/ChainFinalized/index.d.ts +0 -2
  235. package/dist/node/node/archivists/ChainFinalized/index.d.ts.map +0 -1
  236. package/dist/node/node/archivists/ChainFinalized/local.d.ts +0 -4
  237. package/dist/node/node/archivists/ChainFinalized/local.d.ts.map +0 -1
  238. package/dist/node/node/archivists/PendingBlocks/archivist.d.ts +0 -4
  239. package/dist/node/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
  240. package/dist/node/node/archivists/PendingBlocks/index.d.ts +0 -2
  241. package/dist/node/node/archivists/PendingBlocks/index.d.ts.map +0 -1
  242. package/dist/node/node/archivists/PendingBlocks/local.d.ts +0 -4
  243. package/dist/node/node/archivists/PendingBlocks/local.d.ts.map +0 -1
  244. package/dist/node/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
  245. package/dist/node/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
  246. package/dist/node/node/archivists/RejectedTransactions/index.d.ts +0 -2
  247. package/dist/node/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
  248. package/dist/node/node/archivists/RejectedTransactions/local.d.ts +0 -3
  249. package/dist/node/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
  250. package/dist/node/node/archivists/StakeIntentState/archivist.d.ts +0 -4
  251. package/dist/node/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
  252. package/dist/node/node/archivists/StakeIntentState/index.d.ts +0 -2
  253. package/dist/node/node/archivists/StakeIntentState/index.d.ts.map +0 -1
  254. package/dist/node/node/archivists/StakeIntentState/local.d.ts +0 -4
  255. package/dist/node/node/archivists/StakeIntentState/local.d.ts.map +0 -1
  256. package/dist/node/node/archivists/index.d.ts +0 -5
  257. package/dist/node/node/archivists/index.d.ts.map +0 -1
  258. package/dist/node/node/archivists/lib/index.d.ts +0 -2
  259. package/dist/node/node/archivists/lib/index.d.ts.map +0 -1
  260. package/dist/node/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
  261. package/dist/node/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
  262. package/dist/node/node/evm/index.d.ts +0 -5
  263. package/dist/node/node/evm/index.d.ts.map +0 -1
  264. package/dist/node/node/evm/initChainId.d.ts +0 -4
  265. package/dist/node/node/evm/initChainId.d.ts.map +0 -1
  266. package/dist/node/node/evm/initEvmProvider.d.ts +0 -5
  267. package/dist/node/node/evm/initEvmProvider.d.ts.map +0 -1
  268. package/dist/node/node/evm/initInfuraProvider.d.ts +0 -6
  269. package/dist/node/node/evm/initInfuraProvider.d.ts.map +0 -1
  270. package/dist/node/node/evm/initJsonRpcProvider.d.ts +0 -6
  271. package/dist/node/node/evm/initJsonRpcProvider.d.ts.map +0 -1
  272. package/dist/node/node/health/index.d.ts +0 -2
  273. package/dist/node/node/health/index.d.ts.map +0 -1
  274. package/dist/node/node/health/initHealthEndpoints.d.ts +0 -5
  275. package/dist/node/node/health/initHealthEndpoints.d.ts.map +0 -1
  276. package/dist/node/node/sharedMiddleware.d.ts +0 -3
  277. package/dist/node/node/sharedMiddleware.d.ts.map +0 -1
@@ -4,7 +4,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
4
4
  // src/shared/actor/ValidatorActor.ts
5
5
  import { creatable } from "@xylabs/sdk-js";
6
6
  import { processPendingBlocks } from "@xyo-network/chain-sdk";
7
- import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
7
+ import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, DeadLetterQueueRunnerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
8
8
  function _ts_decorate(decorators, target, key, desc) {
9
9
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
10
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -18,6 +18,7 @@ var ValidatorActor = class extends ActorV3 {
18
18
  }
19
19
  _blockValidationViewer;
20
20
  _blockViewer;
21
+ _deadLetterQueueRunner;
21
22
  _finalizationRunner;
22
23
  _lastValidatedBlock;
23
24
  _lastValidatedBlockHash;
@@ -37,18 +38,22 @@ var ValidatorActor = class extends ActorV3 {
37
38
  get mempoolViewer() {
38
39
  return this._mempoolViewer;
39
40
  }
41
+ get minCandidates() {
42
+ return this.params.config.minCandidates;
43
+ }
40
44
  async createHandler() {
41
45
  await super.startHandler();
42
46
  this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
43
47
  this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
44
48
  this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
45
49
  this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
50
+ this._deadLetterQueueRunner = await this.locator.tryGetInstance(DeadLetterQueueRunnerMoniker);
46
51
  }
47
52
  async startHandler() {
48
53
  await super.startHandler();
49
54
  this.registerTimer("ValidatorActor", async () => {
50
55
  await this.spanAsync("processPendingBlocks", async () => {
51
- console.log("ValidatorActor: Processing pending blocks...");
56
+ this.logger?.debug("ValidatorActor: Processing pending blocks...");
52
57
  await processPendingBlocks({
53
58
  blockValidationViewer: this.blockValidationViewer,
54
59
  context: this.context,
@@ -56,7 +61,9 @@ var ValidatorActor = class extends ActorV3 {
56
61
  mempoolViewer: this.mempoolViewer,
57
62
  blockViewer: this.blockViewer,
58
63
  finalizationRunner: this.finalizationRunner,
59
- allowedProducers: this.allowedProducers
64
+ allowedProducers: this.allowedProducers,
65
+ minCandidates: this.minCandidates,
66
+ deadLetterQueueRunner: this._deadLetterQueueRunner
60
67
  });
61
68
  }, {
62
69
  ...this.context,
@@ -91,13 +98,24 @@ __name(buildTelemetryConfig, "buildTelemetryConfig");
91
98
  // src/shared/config/actors/Api.ts
92
99
  import { zodAsFactory, zodIsFactory, zodToFactory } from "@xylabs/sdk-js";
93
100
  import { BaseConfigContextZod, HostActorConfigZod } from "@xyo-network/xl1-sdk";
101
+ import { globalRegistry as globalRegistry2, z as z2 } from "zod";
102
+
103
+ // src/shared/config/actors/accountIndex.ts
94
104
  import { globalRegistry, z } from "zod";
95
- var ApiConfigZod = HostActorConfigZod.extend(z.object({
96
- initRewardsCache: z.union([
97
- z.number(),
98
- z.string(),
99
- z.boolean()
100
- ]).transform((v) => v !== "0" && v !== "false" && v !== false && v != 0).default(true).register(globalRegistry, {
105
+ var ActorAccountIndexZod = /* @__PURE__ */ __name((title) => z.coerce.number().int().min(0).optional().register(globalRegistry, {
106
+ description: "Account index derived from the actor wallet phrase. Defaults to 0 for actor mnemonics and to the actor-specific shared index for the root mnemonic.",
107
+ title,
108
+ type: "number"
109
+ }), "ActorAccountIndexZod");
110
+
111
+ // src/shared/config/actors/Api.ts
112
+ var ApiConfigZod = HostActorConfigZod.extend(z2.object({
113
+ accountIndex: ActorAccountIndexZod("api.accountIndex"),
114
+ initRewardsCache: z2.union([
115
+ z2.number(),
116
+ z2.string(),
117
+ z2.boolean()
118
+ ]).transform((v) => v !== "0" && v !== "false" && v !== false && v != 0).default(true).register(globalRegistry2, {
101
119
  description: "Whether to initialize the rewards cache on startup",
102
120
  title: "api.initRewardsCache",
103
121
  type: "boolean"
@@ -116,7 +134,7 @@ var toApiConfigContext = zodToFactory(ApiConfigContext, "toApiConfigContext");
116
134
  // src/shared/config/actors/Bridge.ts
117
135
  import { AddressZod, HexZod, toAddress, toHex, zodAsFactory as zodAsFactory2, zodIsFactory as zodIsFactory2, zodToFactory as zodToFactory2 } from "@xylabs/sdk-js";
118
136
  import { AttoXL1ConvertFactor, BaseConfigContextZod as BaseConfigContextZod2, HostActorConfigZod as HostActorConfigZod2, XL1 } from "@xyo-network/xl1-sdk";
119
- import { globalRegistry as globalRegistry2, z as z2 } from "zod";
137
+ import { globalRegistry as globalRegistry3, z as z3 } from "zod";
120
138
  var DEFAULT_FIXED_FEE = toHex(XL1(1000n) * AttoXL1ConvertFactor.xl1);
121
139
  var DEFAULT_VARIABLE_FEE_BASIS_POINTS = 300;
122
140
  var DEFAULT_HARDHAT_BRIDGE_CONTRACT = toAddress("2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6");
@@ -125,83 +143,84 @@ var DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY = toHex("0xac0974bec39a17e36
125
143
  var DEFAULT_HARDHAT_TOKEN_CONTRACT = toAddress("5FbDB2315678afecb367f032d93F642f64180aa3");
126
144
  var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(1000000n) * AttoXL1ConvertFactor.xl1);
127
145
  var DEFAULT_MIN_BRIDGE_AMOUNT = toHex(XL1(1500n) * AttoXL1ConvertFactor.xl1);
128
- var BasisPointsZod = z2.coerce.number().int().nonnegative().max(1e4);
146
+ var BasisPointsZod = z3.coerce.number().int().nonnegative().max(1e4);
129
147
  var BridgeConfigZod = HostActorConfigZod2.extend({
130
- escrowAddress: AddressZod.optional().register(globalRegistry2, {
148
+ accountIndex: ActorAccountIndexZod("bridge.accountIndex"),
149
+ escrowAddress: AddressZod.optional().register(globalRegistry3, {
131
150
  description: "Address to which bridge escrow will be sent",
132
151
  title: "bridge.escrowAddress",
133
152
  type: "string"
134
153
  }),
135
- feesAddress: AddressZod.optional().register(globalRegistry2, {
154
+ feesAddress: AddressZod.optional().register(globalRegistry3, {
136
155
  description: "Address to which bridge fees will be sent",
137
156
  title: "bridge.feesAddress",
138
157
  type: "string"
139
158
  }),
140
- feeFixed: HexZod.default(DEFAULT_FIXED_FEE).register(globalRegistry2, {
159
+ feeFixed: HexZod.default(DEFAULT_FIXED_FEE).register(globalRegistry3, {
141
160
  default: DEFAULT_FIXED_FEE,
142
161
  description: "Fixed fee (in AttoXL1) applied to bridge transfers",
143
162
  title: "bridge.feeFixed",
144
163
  type: "bigint"
145
164
  }),
146
- feeRateBasisPoints: BasisPointsZod.default(DEFAULT_VARIABLE_FEE_BASIS_POINTS).register(globalRegistry2, {
165
+ feeRateBasisPoints: BasisPointsZod.default(DEFAULT_VARIABLE_FEE_BASIS_POINTS).register(globalRegistry3, {
147
166
  default: DEFAULT_VARIABLE_FEE_BASIS_POINTS,
148
167
  description: "Variable rate fee (in basis points where 1 bps = 0.01%) applied to bridge transfers",
149
168
  title: "bridge.feeRateBasisPoints",
150
169
  type: "number"
151
170
  }),
152
- maxBridgeAmount: HexZod.default(DEFAULT_MAX_BRIDGE_AMOUNT).register(globalRegistry2, {
171
+ maxBridgeAmount: HexZod.default(DEFAULT_MAX_BRIDGE_AMOUNT).register(globalRegistry3, {
153
172
  default: DEFAULT_MAX_BRIDGE_AMOUNT,
154
173
  description: "Maximum amount allowed for a bridge transfer",
155
174
  title: "bridge.maxBridgeAmount",
156
175
  type: "string"
157
176
  }),
158
- minBridgeAmount: HexZod.default(DEFAULT_MIN_BRIDGE_AMOUNT).register(globalRegistry2, {
177
+ minBridgeAmount: HexZod.default(DEFAULT_MIN_BRIDGE_AMOUNT).register(globalRegistry3, {
159
178
  default: DEFAULT_MIN_BRIDGE_AMOUNT,
160
179
  description: "Minimum amount required for a bridge transfer",
161
180
  title: "bridge.minBridgeAmount",
162
181
  type: "string"
163
182
  }),
164
- redisHost: z2.string().default("localhost").register(globalRegistry2, {
183
+ redisHost: z3.string().default("localhost").register(globalRegistry3, {
165
184
  default: "localhost",
166
185
  description: "Host for the Bridge Redis instance",
167
186
  title: "bridge.redisHost",
168
187
  type: "string"
169
188
  }),
170
- redisPort: z2.coerce.number().int().positive().default(6379).register(globalRegistry2, {
189
+ redisPort: z3.coerce.number().int().positive().default(6379).register(globalRegistry3, {
171
190
  default: 6379,
172
191
  description: "Port for the Bridge Redis instance",
173
192
  title: "bridge.redisPort",
174
193
  type: "number"
175
194
  }),
176
- remoteBridgeContractAddress: AddressZod.default(DEFAULT_HARDHAT_BRIDGE_CONTRACT).register(globalRegistry2, {
195
+ remoteBridgeContractAddress: AddressZod.default(DEFAULT_HARDHAT_BRIDGE_CONTRACT).register(globalRegistry3, {
177
196
  default: DEFAULT_HARDHAT_BRIDGE_CONTRACT,
178
197
  description: "Hex representation of remote token address used for bridging",
179
198
  title: "bridge.remoteBridgeContractAddress",
180
199
  type: "string"
181
200
  }),
182
- remoteChainId: HexZod.default(DEFAULT_HARDHAT_CHAIN_ID).register(globalRegistry2, {
201
+ remoteChainId: HexZod.default(DEFAULT_HARDHAT_CHAIN_ID).register(globalRegistry3, {
183
202
  default: DEFAULT_HARDHAT_CHAIN_ID,
184
203
  description: "Remote chain ID",
185
204
  title: "bridge.remoteChainId",
186
205
  type: "string"
187
206
  }),
188
- remoteTokenAddress: HexZod.default(DEFAULT_HARDHAT_TOKEN_CONTRACT).register(globalRegistry2, {
207
+ remoteTokenAddress: HexZod.default(DEFAULT_HARDHAT_TOKEN_CONTRACT).register(globalRegistry3, {
189
208
  default: DEFAULT_HARDHAT_TOKEN_CONTRACT,
190
209
  description: "Hex representation of remote token address used for bridging",
191
210
  title: "bridge.remoteTokenAddress",
192
211
  type: "string"
193
212
  }),
194
- remoteChainWalletPrivateKey: HexZod.default(DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY).register(globalRegistry2, {
213
+ remoteChainWalletPrivateKey: HexZod.default(DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY).register(globalRegistry3, {
195
214
  description: "Private key for the wallet to use for the remote chain wallet",
196
215
  title: "bridge.remoteChainWalletPrivateKey",
197
216
  type: "string"
198
217
  }),
199
- xl1ChainId: HexZod.optional().register(globalRegistry2, {
218
+ xl1ChainId: HexZod.optional().register(globalRegistry3, {
200
219
  description: "XL1 chain id used for bridging",
201
220
  title: "bridge.xl1ChainId",
202
221
  type: "string"
203
222
  }),
204
- xl1TokenAddress: HexZod.optional().register(globalRegistry2, {
223
+ xl1TokenAddress: HexZod.optional().register(globalRegistry3, {
205
224
  description: "XL1 token address used for bridging",
206
225
  title: "bridge.xl1TokenAddress",
207
226
  type: "string"
@@ -232,11 +251,12 @@ var toBridgeConfigContext = zodToFactory2(BridgeConfigContext, "toBridgeConfigCo
232
251
  // src/shared/config/actors/Mempool.ts
233
252
  import { zodAsFactory as zodAsFactory3, zodIsFactory as zodIsFactory3, zodToFactory as zodToFactory3 } from "@xylabs/sdk-js";
234
253
  import { BaseConfigContextZod as BaseConfigContextZod3, HostActorConfigZod as HostActorConfigZod3 } from "@xyo-network/xl1-sdk";
235
- import { globalRegistry as globalRegistry3, z as z3 } from "zod";
254
+ import { globalRegistry as globalRegistry4, z as z4 } from "zod";
236
255
  var MempoolConfigZod = HostActorConfigZod3.extend({
237
- enabled: z3.union([
238
- z3.string(),
239
- z3.boolean()
256
+ accountIndex: ActorAccountIndexZod("mempool.accountIndex"),
257
+ enabled: z4.union([
258
+ z4.string(),
259
+ z4.boolean()
240
260
  ]).default("false").transform((val, ctx) => {
241
261
  if (typeof val === "boolean") return val;
242
262
  const normalized = val.toLowerCase().trim();
@@ -257,8 +277,8 @@ var MempoolConfigZod = HostActorConfigZod3.extend({
257
277
  expected: "boolean",
258
278
  message: `Invalid boolean value: "${val}". Use true/false, 1/0, yes/no.`
259
279
  });
260
- return z3.NEVER;
261
- }).register(globalRegistry3, {
280
+ return z4.NEVER;
281
+ }).register(globalRegistry4, {
262
282
  default: "false",
263
283
  description: "Enable the Mempool",
264
284
  title: "mempool.enabled",
@@ -278,36 +298,43 @@ var toMempoolConfigContext = zodToFactory3(MempoolConfigContext, "toMempoolConfi
278
298
  // src/shared/config/actors/Producer.ts
279
299
  import { AddressZod as AddressZod2, asAddress, zodAsFactory as zodAsFactory4, zodIsFactory as zodIsFactory4, zodToFactory as zodToFactory4 } from "@xylabs/sdk-js";
280
300
  import { ActorConfigZod, BaseConfigContextZod as BaseConfigContextZod4 } from "@xyo-network/xl1-sdk";
281
- import { globalRegistry as globalRegistry4, z as z4 } from "zod";
282
- var ProducerConfigZod = ActorConfigZod.extend(z4.object({
283
- allowlist: z4.preprocess((val) => {
301
+ import { globalRegistry as globalRegistry5, z as z5 } from "zod";
302
+ var DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL = 1e4;
303
+ var ProducerConfigZod = ActorConfigZod.extend(z5.object({
304
+ accountIndex: ActorAccountIndexZod("producer.accountIndex"),
305
+ allowlist: z5.preprocess((val) => {
284
306
  if (typeof val === "string") {
285
307
  return val.split(",").map((s) => asAddress(s.trim()));
286
308
  }
287
309
  return val;
288
- }, z4.array(AddressZod2).optional().register(globalRegistry4, {
310
+ }, z5.array(AddressZod2).optional().register(globalRegistry5, {
289
311
  description: "List of allowed producer addresses, if undefined anyone can participate",
290
312
  title: "allowlist",
291
313
  type: "array"
292
314
  })),
293
- disableIntentRedeclaration: z4.boolean().optional().register(globalRegistry4, {
315
+ blockProductionCheckInterval: z5.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(globalRegistry5, {
316
+ description: "The interval time (in milliseconds) between block production attempts",
317
+ title: "producer.blockProductionCheckInterval",
318
+ type: "number"
319
+ }),
320
+ disableIntentRedeclaration: z5.boolean().optional().register(globalRegistry5, {
294
321
  description: "Should the producer skip redeclaring their intent to continue producing blocks",
295
322
  title: "producer.disableIntentRedeclaration",
296
323
  type: "boolean"
297
324
  }),
298
- heartbeatInterval: z4.coerce.number().default(36e5).register(globalRegistry4, {
325
+ heartbeatInterval: z5.coerce.number().default(36e5).register(globalRegistry5, {
299
326
  description: "The number of milliseconds between heartbeats if no blocks are produced",
300
327
  title: "producer.heartbeatInterval",
301
328
  type: "number"
302
329
  }),
303
330
  // TODO: BigInt schema
304
- minStake: z4.coerce.number().default(1).register(globalRegistry4, {
331
+ minStake: z5.coerce.number().default(1).register(globalRegistry5, {
305
332
  description: "Minimum stake required to be a Producer",
306
333
  title: "producer.minStake",
307
334
  type: "number"
308
335
  }),
309
336
  // TODO: Address schema
310
- rewardAddress: z4.string().optional().register(globalRegistry4, {
337
+ rewardAddress: z5.string().optional().register(globalRegistry5, {
311
338
  description: "Address to receive block rewards",
312
339
  title: "producer.rewardAddress",
313
340
  type: "string"
@@ -326,7 +353,9 @@ var toProducerConfigContext = zodToFactory4(ProducerConfigContext, "toProducerCo
326
353
  // src/shared/config/actors/RewardRedemption.ts
327
354
  import { zodAsFactory as zodAsFactory5, zodIsFactory as zodIsFactory5, zodToFactory as zodToFactory5 } from "@xylabs/sdk-js";
328
355
  import { BaseConfigContextZod as BaseConfigContextZod5, HostActorConfigZod as HostActorConfigZod4 } from "@xyo-network/xl1-sdk";
329
- var RewardRedemptionConfigZod = HostActorConfigZod4.extend({});
356
+ var RewardRedemptionConfigZod = HostActorConfigZod4.extend({
357
+ accountIndex: ActorAccountIndexZod("rewardRedemption.accountIndex")
358
+ });
330
359
  var isRewardRedemptionConfig = zodIsFactory5(RewardRedemptionConfigZod);
331
360
  var asRewardRedemptionConfig = zodAsFactory5(RewardRedemptionConfigZod, "asRewardRedemptionConfig");
332
361
  var toRewardRedemptionConfig = zodToFactory5(RewardRedemptionConfigZod, "toRewardRedemptionConfig");
@@ -340,9 +369,11 @@ var toRewardRedemptionConfigContext = zodToFactory5(RewardRedemptionConfigContex
340
369
  // src/shared/config/actors/Validator.ts
341
370
  import { AddressZod as AddressZod3, zodAsFactory as zodAsFactory6, zodIsFactory as zodIsFactory6, zodToFactory as zodToFactory6 } from "@xylabs/sdk-js";
342
371
  import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
343
- import { z as z5 } from "zod";
372
+ import { z as z6 } from "zod";
344
373
  var ValidatorConfigZod = HostActorConfigZod5.extend({
345
- allowedProducers: z5.array(AddressZod3).optional()
374
+ accountIndex: ActorAccountIndexZod("validator.accountIndex"),
375
+ allowedProducers: z6.array(AddressZod3).optional(),
376
+ minCandidates: z6.number().int().min(0).optional()
346
377
  });
347
378
  var isValidatorConfig = zodIsFactory6(ValidatorConfigZod);
348
379
  var asValidatorConfig = zodAsFactory6(ValidatorConfigZod, "asValidatorConfig");
@@ -419,26 +450,279 @@ var ServiceLifetime = {
419
450
  };
420
451
 
421
452
  // src/shared/init/initActorAccount.ts
422
- import { isDefined, isUndefined } from "@xylabs/sdk-js";
423
- import { HDWallet } from "@xyo-network/sdk-js";
424
- import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
453
+ import { isDefined } from "@xylabs/sdk-js";
454
+
455
+ // src/shared/init/walletResolution.ts
456
+ import { DEFAULT_WALLET_PATH, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
457
+ var BUILT_IN_DEV_MNEMONIC = "crane ribbon cook cousin tobacco vital moral protect merit knock veteran hint knee ocean nurse";
458
+ var INSECURE_GENESIS_REWARD_MNEMONIC = "test test test test test test test test test test test junk";
459
+ var GENESIS_REWARD_AMOUNT = 20000000000000000000000n;
460
+ var ATTO_XL1_PER_XL1 = 1000000000000000000n;
461
+ var ROOT_WALLET_RUNTIME_ID = "_root";
462
+ var SHARED_ACCOUNT_REPORT_COUNT = 10;
463
+ var RESERVED_ACTOR_INDEX = {
464
+ [ROOT_WALLET_RUNTIME_ID]: 0,
465
+ api: 4,
466
+ bridge: 2,
467
+ mempool: 5,
468
+ producer: 1,
469
+ rewardRedemption: 3,
470
+ validator: 6
471
+ };
472
+ var ACTOR_LABELS = {
473
+ [ROOT_WALLET_RUNTIME_ID]: "root/local-node",
474
+ api: "api",
475
+ bridge: "bridge",
476
+ mempool: "mempool",
477
+ producer: "producer",
478
+ rewardRedemption: "rewardRedemption",
479
+ validator: "validator"
480
+ };
481
+ var activeWalletReport;
482
+ function getAccountLabel(actorName) {
483
+ return ACTOR_LABELS[actorName] ?? actorName;
484
+ }
485
+ __name(getAccountLabel, "getAccountLabel");
486
+ function clearResolvedWalletReport() {
487
+ activeWalletReport = void 0;
488
+ }
489
+ __name(clearResolvedWalletReport, "clearResolvedWalletReport");
490
+ function getReservedActorIndex(actorName) {
491
+ return RESERVED_ACTOR_INDEX[actorName] ?? 0;
492
+ }
493
+ __name(getReservedActorIndex, "getReservedActorIndex");
494
+ function getBuiltInDevMnemonic() {
495
+ return BUILT_IN_DEV_MNEMONIC;
496
+ }
497
+ __name(getBuiltInDevMnemonic, "getBuiltInDevMnemonic");
498
+ function getInsecureGenesisRewardMnemonic() {
499
+ return INSECURE_GENESIS_REWARD_MNEMONIC;
500
+ }
501
+ __name(getInsecureGenesisRewardMnemonic, "getInsecureGenesisRewardMnemonic");
502
+ function resolveRootWallet(configuration) {
503
+ const mnemonic = configuration.mnemonic ?? BUILT_IN_DEV_MNEMONIC;
504
+ const isBuiltInDevMnemonic = mnemonic === BUILT_IN_DEV_MNEMONIC;
505
+ return {
506
+ basePath: DEFAULT_WALLET_PATH,
507
+ isBuiltInDevMnemonic,
508
+ mnemonic,
509
+ mnemonicKind: isBuiltInDevMnemonic ? "built-in-dev" : "configured-root"
510
+ };
511
+ }
512
+ __name(resolveRootWallet, "resolveRootWallet");
513
+ async function resolveWalletMetadata({ accountIndex, actorName, mnemonic, mnemonicKind, source }) {
514
+ const wallet = await generateXyoBaseWalletFromPhrase(mnemonic);
515
+ const derivationPath = `${DEFAULT_WALLET_PATH}/${accountIndex}`;
516
+ const account = await wallet.derivePath(`${accountIndex}`);
517
+ return {
518
+ accountIndex,
519
+ actorName,
520
+ address: account.address,
521
+ derivationPath,
522
+ label: getAccountLabel(actorName),
523
+ mnemonic,
524
+ mnemonicKind,
525
+ privateKey: account.privateKey,
526
+ source,
527
+ usesBuiltInDevMnemonic: mnemonic === BUILT_IN_DEV_MNEMONIC
528
+ };
529
+ }
530
+ __name(resolveWalletMetadata, "resolveWalletMetadata");
531
+ async function resolveActorWallet(actorName, actorConfig, root) {
532
+ const actorMnemonic = actorConfig?.mnemonic;
533
+ const accountIndex = actorConfig?.accountIndex;
534
+ return await resolveWalletMetadata(actorMnemonic ? {
535
+ accountIndex: accountIndex ?? 0,
536
+ actorName,
537
+ mnemonic: actorMnemonic,
538
+ mnemonicKind: "configured-actor",
539
+ source: "actor"
540
+ } : {
541
+ accountIndex: accountIndex ?? getReservedActorIndex(actorName),
542
+ actorName,
543
+ mnemonic: root.mnemonic,
544
+ mnemonicKind: root.mnemonicKind,
545
+ source: "root"
546
+ });
547
+ }
548
+ __name(resolveActorWallet, "resolveActorWallet");
549
+ async function resolveWalletReport(requestedActors, configuration) {
550
+ const root = resolveRootWallet(configuration);
551
+ const actorConfigMap = new Map(configuration.actors.map((actor) => [
552
+ actor.name,
553
+ actor
554
+ ]));
555
+ const resolvedActors = await Promise.all(requestedActors.map(async (actorName) => await resolveActorWallet(actorName, actorConfigMap.get(actorName), root)));
556
+ const labelMap = /* @__PURE__ */ new Map([
557
+ [
558
+ 0,
559
+ [
560
+ getAccountLabel(ROOT_WALLET_RUNTIME_ID)
561
+ ]
562
+ ]
563
+ ]);
564
+ for (const actor of resolvedActors) {
565
+ if (actor.source !== "root") continue;
566
+ const labels = labelMap.get(actor.accountIndex) ?? [];
567
+ labels.push(actor.label);
568
+ labelMap.set(actor.accountIndex, labels);
569
+ }
570
+ const sharedAccounts = await Promise.all(Array.from({
571
+ length: SHARED_ACCOUNT_REPORT_COUNT
572
+ }, (_, index) => index).map(async (accountIndex) => {
573
+ const account = await resolveWalletMetadata({
574
+ accountIndex,
575
+ actorName: ROOT_WALLET_RUNTIME_ID,
576
+ mnemonic: root.mnemonic,
577
+ mnemonicKind: root.mnemonicKind,
578
+ source: "root"
579
+ });
580
+ const labels = labelMap.get(accountIndex);
581
+ return {
582
+ ...account,
583
+ label: labels?.join(", ") ?? `shared[${accountIndex}]`
584
+ };
585
+ }));
586
+ const insecureGenesisRewardAccounts = configuration.chain.genesisRewardAddress ? void 0 : await Promise.all(Array.from({
587
+ length: SHARED_ACCOUNT_REPORT_COUNT
588
+ }, (_, index) => index).map(async (accountIndex) => {
589
+ const account = await resolveWalletMetadata({
590
+ accountIndex,
591
+ actorName: "genesisReward",
592
+ mnemonic: INSECURE_GENESIS_REWARD_MNEMONIC,
593
+ mnemonicKind: "configured-actor",
594
+ source: "actor"
595
+ });
596
+ return {
597
+ ...account,
598
+ label: accountIndex === 0 ? "genesisRewardAddress" : `genesisReward[${accountIndex}]`
599
+ };
600
+ }));
601
+ return {
602
+ actorSpecificAccounts: resolvedActors.filter((actor) => actor.source === "actor"),
603
+ insecureGenesisRewardAccounts,
604
+ requestedActors: [
605
+ ...requestedActors
606
+ ],
607
+ root,
608
+ sharedAccounts
609
+ };
610
+ }
611
+ __name(resolveWalletReport, "resolveWalletReport");
612
+ async function initializeResolvedWalletReport(requestedActors, configuration) {
613
+ activeWalletReport = await resolveWalletReport(requestedActors, configuration);
614
+ return activeWalletReport;
615
+ }
616
+ __name(initializeResolvedWalletReport, "initializeResolvedWalletReport");
617
+ function getResolvedWalletReport() {
618
+ return activeWalletReport;
619
+ }
620
+ __name(getResolvedWalletReport, "getResolvedWalletReport");
621
+ function formatSharedAccount(account, showPrivateKey) {
622
+ const lines = [
623
+ `[${account.accountIndex}] ${account.label}`,
624
+ `source: ${account.mnemonicKind === "built-in-dev" ? "built-in dev mnemonic" : "configured root mnemonic"}`,
625
+ `path: ${account.derivationPath}`,
626
+ `address: ${account.address}`
627
+ ];
628
+ if (showPrivateKey) lines.push(`privateKey: ${account.privateKey ?? "unavailable"}`);
629
+ return lines.join("\n");
630
+ }
631
+ __name(formatSharedAccount, "formatSharedAccount");
632
+ function formatActorSpecificAccount(account) {
633
+ return [
634
+ account.label,
635
+ "source: actor mnemonic",
636
+ `path: ${account.derivationPath}`,
637
+ `address: ${account.address}`
638
+ ].join("\n");
639
+ }
640
+ __name(formatActorSpecificAccount, "formatActorSpecificAccount");
641
+ function formatGenesisRewardAccount(account) {
642
+ const balance = account.accountIndex === 0 ? GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1 : 0n;
643
+ return [
644
+ `[${account.accountIndex}] ${account.label}`,
645
+ `path: ${account.derivationPath}`,
646
+ `address: ${account.address}`,
647
+ `privateKey: ${account.privateKey ?? "unavailable"}`,
648
+ `balance: ${balance.toString()} XL1`
649
+ ].join("\n");
650
+ }
651
+ __name(formatGenesisRewardAccount, "formatGenesisRewardAccount");
652
+ function formatWalletReport(report) {
653
+ const sections = [];
654
+ const showSecrets = report.root.isBuiltInDevMnemonic;
655
+ sections.push(showSecrets ? "Development wallet detected." : "Wallet summary");
656
+ if (showSecrets) {
657
+ sections.push([
658
+ "DEVELOPMENT WALLET WARNING",
659
+ "",
660
+ "XL1 is using the built-in development mnemonic.",
661
+ "This mnemonic is fixed, public, and does not change between runs.",
662
+ "The addresses and private keys below are unsafe and must never be used for real funds, production systems, or shared environments.",
663
+ "Anyone with this information can fully control these accounts.",
664
+ "",
665
+ "Mnemonic:",
666
+ report.root.mnemonic
667
+ ].join("\n"));
668
+ }
669
+ sections.push([
670
+ `Shared wallet accounts from ${report.root.basePath}:`,
671
+ "",
672
+ report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
673
+ ].join("\n"));
674
+ if (report.actorSpecificAccounts.length > 0) {
675
+ sections.push([
676
+ "Actor-specific wallet accounts:",
677
+ "",
678
+ report.actorSpecificAccounts.map((account) => formatActorSpecificAccount(account)).join("\n\n")
679
+ ].join("\n"));
680
+ }
681
+ if (report.insecureGenesisRewardAccounts) {
682
+ sections.push([
683
+ "INSECURE GENESIS REWARD WALLET WARNING",
684
+ "",
685
+ "XL1 is using a public, insecure fallback wallet for the genesis reward address.",
686
+ "This phrase is intentionally unsafe and must never be used for real funds, production systems, or shared environments.",
687
+ "Anyone with this information can fully control the genesis reward wallet.",
688
+ "",
689
+ "Genesis reward phrase:",
690
+ INSECURE_GENESIS_REWARD_MNEMONIC,
691
+ "",
692
+ `The genesis reward is sent to index 0 and starts with ${(GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1).toString()} XL1.`,
693
+ "",
694
+ `Genesis reward wallet accounts from ${DEFAULT_WALLET_PATH}:`,
695
+ "",
696
+ report.insecureGenesisRewardAccounts.map((account) => formatGenesisRewardAccount(account)).join("\n\n")
697
+ ].join("\n"));
698
+ }
699
+ return sections.join("\n\n");
700
+ }
701
+ __name(formatWalletReport, "formatWalletReport");
702
+ async function resolveGenesisRewardAddress(config) {
703
+ if (config.chain.genesisRewardAddress) return config.chain.genesisRewardAddress;
704
+ const wallet = await generateXyoBaseWalletFromPhrase(INSECURE_GENESIS_REWARD_MNEMONIC);
705
+ const account = await wallet.derivePath("0");
706
+ return account.address;
707
+ }
708
+ __name(resolveGenesisRewardAddress, "resolveGenesisRewardAddress");
709
+ async function resolveWalletForActor(actorName, mnemonic, accountIndex) {
710
+ const fromReport = activeWalletReport ? actorName === ROOT_WALLET_RUNTIME_ID ? activeWalletReport.sharedAccounts.find((account) => account.accountIndex === 0) : activeWalletReport.actorSpecificAccounts.find((account) => account.actorName === actorName) ?? activeWalletReport.sharedAccounts.find((account) => account.actorName === actorName || account.label.split(", ").includes(getAccountLabel(actorName))) : void 0;
711
+ const resolvedMnemonic = fromReport?.mnemonic ?? mnemonic ?? BUILT_IN_DEV_MNEMONIC;
712
+ const resolvedAccountIndex = fromReport?.accountIndex ?? accountIndex ?? 0;
713
+ const wallet = await generateXyoBaseWalletFromPhrase(resolvedMnemonic);
714
+ return await wallet.derivePath(`${resolvedAccountIndex}`);
715
+ }
716
+ __name(resolveWalletForActor, "resolveWalletForActor");
717
+
718
+ // src/shared/init/initActorAccount.ts
425
719
  var actorAccountSingletons = {};
426
720
  async function initActorAccount({ config, logger }) {
427
721
  const actorName = config.name;
428
722
  if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
429
- let walletPhrase = config.mnemonic;
430
- if (isUndefined(walletPhrase)) {
431
- logger?.warn(`[${actorName}}] No wallet mnemonic specified!`);
432
- const randomMnemonic = HDWallet.generateMnemonic();
433
- logger?.warn(`[${actorName}}] Using randomly generated mnemonic:
434
-
435
- ${randomMnemonic}
436
-
437
- `);
438
- walletPhrase = randomMnemonic;
439
- }
440
- const wallet = await generateXyoBaseWalletFromPhrase(walletPhrase);
441
- const account = await wallet.derivePath(ADDRESS_INDEX.XYO);
723
+ const accountIndex = "accountIndex" in config && typeof config.accountIndex === "number" ? config.accountIndex : void 0;
724
+ const account = await resolveWalletForActor(actorName, config.mnemonic, accountIndex);
725
+ logger?.debug(`[${actorName}] Using wallet address ${account.address}`);
442
726
  actorAccountSingletons[actorName] = account;
443
727
  return actorAccountSingletons[actorName];
444
728
  }
@@ -446,28 +730,18 @@ __name(initActorAccount, "initActorAccount");
446
730
 
447
731
  // src/shared/init/initActorSeedPhrase.ts
448
732
  import { assertEx, isString } from "@xylabs/sdk-js";
449
- import { HDWallet as HDWallet2 } from "@xyo-network/sdk-js";
450
733
  async function initActorSeedPhrase(context, bios) {
451
734
  const { logger, config } = context;
452
735
  const walletKind = config.name;
453
- const storedSeedPhrase = await bios.seedPhraseStore.get(walletKind);
454
- logger?.debug(`[API] Stored mnemonic: ${storedSeedPhrase}`);
455
- const { mnemonic } = config;
456
- if (isString(storedSeedPhrase) && isString(mnemonic)) {
457
- logger?.warn("[API] Stored mnemonic does not match supplied. Updating stored mnemonic to supplied.");
458
- await bios.seedPhraseStore.set(walletKind, mnemonic);
459
- } else {
460
- let seedPhrase;
461
- if (isString(mnemonic)) {
462
- seedPhrase = mnemonic;
463
- } else {
464
- seedPhrase = HDWallet2.generateMnemonic();
465
- logger?.log("[API] No mnemonic provided, using random mnemonic. This is not recommended for production use.");
466
- logger?.log(`[API] Mnemonic: ${seedPhrase}`);
467
- }
468
- await bios.seedPhraseStore.set(walletKind, seedPhrase);
469
- }
470
- return assertEx(await bios.seedPhraseStore.get(walletKind), () => "Unable to acquire mnemonic from bios");
736
+ void bios;
737
+ const report = getResolvedWalletReport();
738
+ const account = config.name === ROOT_WALLET_RUNTIME_ID ? report?.sharedAccounts.find((entry) => entry.accountIndex === 0) : report?.actorSpecificAccounts.find((entry) => entry.actorName === config.name);
739
+ if (isString(account?.mnemonic)) return account.mnemonic;
740
+ if (isString(report?.root.mnemonic)) return report.root.mnemonic;
741
+ if (isString(config.mnemonic)) return config.mnemonic;
742
+ const fallback = getBuiltInDevMnemonic();
743
+ logger?.debug(`[${walletKind}] Falling back to built-in development mnemonic`);
744
+ return assertEx(fallback, () => "Unable to resolve mnemonic");
471
745
  }
472
746
  __name(initActorSeedPhrase, "initActorSeedPhrase");
473
747
 
@@ -521,13 +795,10 @@ function initStatusReporter({ logger }) {
521
795
  __name(initStatusReporter, "initStatusReporter");
522
796
 
523
797
  // src/shared/init/initWallet.ts
524
- import { isDefined as isDefined2 } from "@xylabs/sdk-js";
525
- import { boot } from "@xyo-network/bios";
526
- import { HDWallet as HDWallet3 } from "@xyo-network/sdk-js";
527
798
  async function initActorWallet(context, mnemonic) {
528
- const bios = await boot();
529
- const seedPhrase = isDefined2(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
530
- return await HDWallet3.fromPhrase(seedPhrase);
799
+ const actorName = context.config.name === ROOT_WALLET_RUNTIME_ID ? ROOT_WALLET_RUNTIME_ID : context.config.name;
800
+ const accountIndex = "accountIndex" in context.config && typeof context.config.accountIndex === "number" ? context.config.accountIndex : void 0;
801
+ return await resolveWalletForActor(actorName, mnemonic ?? context.config.mnemonic, accountIndex);
531
802
  }
532
803
  __name(initActorWallet, "initActorWallet");
533
804
 
@@ -619,9 +890,8 @@ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
619
890
  import { commonLocatorFromConfig, remoteLocatorFromConfig } from "@xyo-network/xl1-sdk";
620
891
  async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
621
892
  const { config } = context;
622
- let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
623
- const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(context, validateDepsOnRegister) : void 0);
624
- locator = assertEx3(newLocator, () => "Root locator could not be created from config. No supported configuration found.");
893
+ await commonLocatorFromConfig(context, validateDepsOnRegister);
894
+ const locator = assertEx3(await (config.remote.rpc ? remoteLocatorFromConfig(context, validateDepsOnRegister) : void 0), () => "Root locator could not be created from config. No supported configuration found.");
625
895
  locator.freeze();
626
896
  return locator;
627
897
  }
@@ -629,19 +899,25 @@ __name(rootLocatorFromConfig, "rootLocatorFromConfig");
629
899
  export {
630
900
  ApiConfigContext,
631
901
  ApiConfigZod,
902
+ BUILT_IN_DEV_MNEMONIC,
632
903
  BasisPointsZod,
633
904
  BridgeConfigContext,
634
905
  BridgeConfigZod,
635
906
  BridgeSettingsZod,
907
+ DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL,
636
908
  DefaultServiceProvider,
909
+ GENESIS_REWARD_AMOUNT,
637
910
  GenericHost,
911
+ INSECURE_GENESIS_REWARD_MNEMONIC,
638
912
  MempoolConfigContext,
639
913
  MempoolConfigZod,
640
914
  Orchestrator,
641
915
  ProducerConfigContext,
642
916
  ProducerConfigZod,
917
+ ROOT_WALLET_RUNTIME_ID,
643
918
  RewardRedemptionConfigContext,
644
919
  RewardRedemptionConfigZod,
920
+ SHARED_ACCOUNT_REPORT_COUNT,
645
921
  ServiceLifetime,
646
922
  ValidatorActor,
647
923
  ValidatorConfigContext,
@@ -661,13 +937,20 @@ export {
661
937
  basicRemoteRunnerLocator,
662
938
  basicRemoteViewerLocator,
663
939
  buildTelemetryConfig,
940
+ clearResolvedWalletReport,
664
941
  createProducerChainStakeIntentBlock,
942
+ formatWalletReport,
943
+ getBuiltInDevMnemonic,
944
+ getInsecureGenesisRewardMnemonic,
945
+ getReservedActorIndex,
946
+ getResolvedWalletReport,
665
947
  initActorAccount,
666
948
  initActorSeedPhrase,
667
949
  initActorWallet,
668
950
  initBridgedArchivistModule,
669
951
  initBridgedModule,
670
952
  initStatusReporter,
953
+ initializeResolvedWalletReport,
671
954
  isApiConfig,
672
955
  isApiConfigContext,
673
956
  isBridgeConfig,
@@ -681,6 +964,11 @@ export {
681
964
  isValidatorConfig,
682
965
  isValidatorConfigContext,
683
966
  mergeConfig,
967
+ resolveActorWallet,
968
+ resolveGenesisRewardAddress,
969
+ resolveRootWallet,
970
+ resolveWalletForActor,
971
+ resolveWalletReport,
684
972
  rootLocatorFromConfig,
685
973
  toApiConfig,
686
974
  toApiConfigContext,