@mainsail/contracts 0.0.1-evm.5 → 0.0.1-evm.51

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 (532) hide show
  1. package/distribution/contracts/api/api.d.ts +7 -14
  2. package/distribution/contracts/api/api.d.ts.map +1 -1
  3. package/distribution/contracts/api/rpc.d.ts +9 -13
  4. package/distribution/contracts/api/rpc.d.ts.map +1 -1
  5. package/distribution/contracts/api-sync.d.ts +7 -3
  6. package/distribution/contracts/api-sync.d.ts.map +1 -1
  7. package/distribution/contracts/blockchain-utilities.d.ts +19 -0
  8. package/distribution/contracts/blockchain-utilities.d.ts.map +1 -0
  9. package/distribution/contracts/cli/application.d.ts +15 -0
  10. package/distribution/contracts/cli/application.d.ts.map +1 -0
  11. package/distribution/contracts/cli/cli.d.ts +22 -0
  12. package/distribution/contracts/cli/cli.d.ts.map +1 -0
  13. package/distribution/contracts/cli/commands.d.ts +26 -0
  14. package/distribution/contracts/cli/commands.d.ts.map +1 -0
  15. package/distribution/contracts/cli/index.d.ts +6 -0
  16. package/distribution/contracts/cli/index.d.ts.map +1 -0
  17. package/distribution/contracts/cli/paths.d.ts +2 -0
  18. package/distribution/contracts/cli/paths.d.ts.map +1 -0
  19. package/distribution/contracts/cli/services.d.ts +106 -0
  20. package/distribution/contracts/cli/services.d.ts.map +1 -0
  21. package/distribution/contracts/consensus/consensus.d.ts +25 -22
  22. package/distribution/contracts/consensus/consensus.d.ts.map +1 -1
  23. package/distribution/contracts/consensus/enums.d.ts +3 -10
  24. package/distribution/contracts/consensus/enums.d.ts.map +1 -1
  25. package/distribution/contracts/consensus/processor.d.ts +4 -7
  26. package/distribution/contracts/consensus/processor.d.ts.map +1 -1
  27. package/distribution/contracts/consensus-storage.d.ts +8 -9
  28. package/distribution/contracts/consensus-storage.d.ts.map +1 -1
  29. package/distribution/contracts/crypto/block.d.ts +54 -53
  30. package/distribution/contracts/crypto/block.d.ts.map +1 -1
  31. package/distribution/contracts/crypto/commit-handler.d.ts +5 -0
  32. package/distribution/contracts/crypto/commit-handler.d.ts.map +1 -0
  33. package/distribution/contracts/crypto/commit.d.ts +11 -9
  34. package/distribution/contracts/crypto/commit.d.ts.map +1 -1
  35. package/distribution/contracts/crypto/config.d.ts +10 -7
  36. package/distribution/contracts/crypto/config.d.ts.map +1 -1
  37. package/distribution/contracts/crypto/crypto.d.ts +0 -1
  38. package/distribution/contracts/crypto/crypto.d.ts.map +1 -1
  39. package/distribution/contracts/crypto/hash.d.ts +4 -4
  40. package/distribution/contracts/crypto/hash.d.ts.map +1 -1
  41. package/distribution/contracts/crypto/identities.d.ts +15 -8
  42. package/distribution/contracts/crypto/identities.d.ts.map +1 -1
  43. package/distribution/contracts/crypto/index.d.ts +2 -1
  44. package/distribution/contracts/crypto/index.d.ts.map +1 -1
  45. package/distribution/contracts/crypto/messages.d.ts +17 -106
  46. package/distribution/contracts/crypto/messages.d.ts.map +1 -1
  47. package/distribution/contracts/crypto/networks.d.ts +17 -12
  48. package/distribution/contracts/crypto/networks.d.ts.map +1 -1
  49. package/distribution/contracts/crypto/proposal.d.ts +48 -0
  50. package/distribution/contracts/crypto/proposal.d.ts.map +1 -0
  51. package/distribution/contracts/crypto/transactions.d.ts +72 -113
  52. package/distribution/contracts/crypto/transactions.d.ts.map +1 -1
  53. package/distribution/contracts/crypto/validator.d.ts +5 -5
  54. package/distribution/contracts/crypto/validator.d.ts.map +1 -1
  55. package/distribution/contracts/crypto/worker.d.ts +23 -14
  56. package/distribution/contracts/crypto/worker.d.ts.map +1 -1
  57. package/distribution/contracts/database.d.ts +22 -11
  58. package/distribution/contracts/database.d.ts.map +1 -1
  59. package/distribution/contracts/evm/contract-service.d.ts +32 -0
  60. package/distribution/contracts/evm/contract-service.d.ts.map +1 -0
  61. package/distribution/contracts/evm/evm.d.ts +102 -37
  62. package/distribution/contracts/evm/evm.d.ts.map +1 -1
  63. package/distribution/contracts/evm/index.d.ts +3 -1
  64. package/distribution/contracts/evm/index.d.ts.map +1 -1
  65. package/distribution/contracts/evm/instance.d.ts +30 -0
  66. package/distribution/contracts/evm/instance.d.ts.map +1 -0
  67. package/distribution/contracts/evm/storage.d.ts +59 -0
  68. package/distribution/contracts/evm/storage.d.ts.map +1 -0
  69. package/distribution/contracts/evm/worker.d.ts +7 -10
  70. package/distribution/contracts/evm/worker.d.ts.map +1 -1
  71. package/distribution/contracts/forger.d.ts +15 -0
  72. package/distribution/contracts/forger.d.ts.map +1 -0
  73. package/distribution/contracts/index.d.ts +8 -5
  74. package/distribution/contracts/index.d.ts.map +1 -1
  75. package/distribution/contracts/kernel/application.d.ts +13 -17
  76. package/distribution/contracts/kernel/application.d.ts.map +1 -1
  77. package/distribution/contracts/kernel/cache.d.ts +1 -0
  78. package/distribution/contracts/kernel/cache.d.ts.map +1 -1
  79. package/distribution/contracts/kernel/container.d.ts +1 -1
  80. package/distribution/contracts/kernel/container.d.ts.map +1 -1
  81. package/distribution/contracts/kernel/events.d.ts +14 -19
  82. package/distribution/contracts/kernel/events.d.ts.map +1 -1
  83. package/distribution/contracts/kernel/filesystem.d.ts +7 -6
  84. package/distribution/contracts/kernel/filesystem.d.ts.map +1 -1
  85. package/distribution/contracts/kernel/index.d.ts +3 -2
  86. package/distribution/contracts/kernel/index.d.ts.map +1 -1
  87. package/distribution/contracts/kernel/ipc.d.ts +19 -19
  88. package/distribution/contracts/kernel/ipc.d.ts.map +1 -1
  89. package/distribution/contracts/kernel/log.d.ts +7 -8
  90. package/distribution/contracts/kernel/log.d.ts.map +1 -1
  91. package/distribution/contracts/kernel/pipeline.d.ts +7 -6
  92. package/distribution/contracts/kernel/pipeline.d.ts.map +1 -1
  93. package/distribution/contracts/kernel/providers.d.ts +13 -0
  94. package/distribution/contracts/kernel/providers.d.ts.map +1 -0
  95. package/distribution/contracts/kernel/queue.d.ts +3 -2
  96. package/distribution/contracts/kernel/queue.d.ts.map +1 -1
  97. package/distribution/contracts/kernel/repository.d.ts +2 -2
  98. package/distribution/contracts/kernel/repository.d.ts.map +1 -1
  99. package/distribution/contracts/kernel/trigger.d.ts +2 -0
  100. package/distribution/contracts/kernel/trigger.d.ts.map +1 -0
  101. package/distribution/contracts/network-generator.d.ts +22 -2
  102. package/distribution/contracts/network-generator.d.ts.map +1 -1
  103. package/distribution/contracts/p2p/api-node-discoverer.d.ts +2 -2
  104. package/distribution/contracts/p2p/api-node-discoverer.d.ts.map +1 -1
  105. package/distribution/contracts/p2p/api-node-processor.d.ts +1 -1
  106. package/distribution/contracts/p2p/api-node-processor.d.ts.map +1 -1
  107. package/distribution/contracts/p2p/api-node-repository.d.ts +1 -1
  108. package/distribution/contracts/p2p/api-node-repository.d.ts.map +1 -1
  109. package/distribution/contracts/p2p/api-node-verifier.d.ts +1 -1
  110. package/distribution/contracts/p2p/api-node-verifier.d.ts.map +1 -1
  111. package/distribution/contracts/p2p/api-node.d.ts +1 -1
  112. package/distribution/contracts/p2p/api-node.d.ts.map +1 -1
  113. package/distribution/contracts/p2p/broadcaster.d.ts +2 -3
  114. package/distribution/contracts/p2p/broadcaster.d.ts.map +1 -1
  115. package/distribution/contracts/p2p/downloader.d.ts +1 -1
  116. package/distribution/contracts/p2p/downloader.d.ts.map +1 -1
  117. package/distribution/contracts/p2p/endpoints.d.ts +15 -22
  118. package/distribution/contracts/p2p/endpoints.d.ts.map +1 -1
  119. package/distribution/contracts/p2p/enums.d.ts +2 -4
  120. package/distribution/contracts/p2p/enums.d.ts.map +1 -1
  121. package/distribution/contracts/p2p/header-service.d.ts +2 -2
  122. package/distribution/contracts/p2p/header-service.d.ts.map +1 -1
  123. package/distribution/contracts/p2p/header.d.ts +4 -4
  124. package/distribution/contracts/p2p/header.d.ts.map +1 -1
  125. package/distribution/contracts/p2p/index.d.ts +4 -3
  126. package/distribution/contracts/p2p/index.d.ts.map +1 -1
  127. package/distribution/contracts/p2p/log.d.ts +4 -11
  128. package/distribution/contracts/p2p/log.d.ts.map +1 -1
  129. package/distribution/contracts/p2p/nes.d.ts +3 -3
  130. package/distribution/contracts/p2p/nes.d.ts.map +1 -1
  131. package/distribution/contracts/p2p/peer-communicator.d.ts +5 -7
  132. package/distribution/contracts/p2p/peer-communicator.d.ts.map +1 -1
  133. package/distribution/contracts/p2p/peer-connector.d.ts +5 -3
  134. package/distribution/contracts/p2p/peer-connector.d.ts.map +1 -1
  135. package/distribution/contracts/p2p/peer-discoverer.d.ts +1 -1
  136. package/distribution/contracts/p2p/peer-discoverer.d.ts.map +1 -1
  137. package/distribution/contracts/p2p/peer-disposer.d.ts +1 -1
  138. package/distribution/contracts/p2p/peer-disposer.d.ts.map +1 -1
  139. package/distribution/contracts/p2p/peer-processor.d.ts +4 -3
  140. package/distribution/contracts/p2p/peer-processor.d.ts.map +1 -1
  141. package/distribution/contracts/p2p/peer-repository.d.ts +1 -1
  142. package/distribution/contracts/p2p/peer-repository.d.ts.map +1 -1
  143. package/distribution/contracts/p2p/peer-verifier.d.ts +1 -1
  144. package/distribution/contracts/p2p/peer-verifier.d.ts.map +1 -1
  145. package/distribution/contracts/p2p/peer.d.ts +12 -13
  146. package/distribution/contracts/p2p/peer.d.ts.map +1 -1
  147. package/distribution/contracts/p2p/server.d.ts +27 -3
  148. package/distribution/contracts/p2p/server.d.ts.map +1 -1
  149. package/distribution/contracts/p2p/service.d.ts +1 -1
  150. package/distribution/contracts/p2p/service.d.ts.map +1 -1
  151. package/distribution/contracts/p2p/state.d.ts +1 -1
  152. package/distribution/contracts/p2p/state.d.ts.map +1 -1
  153. package/distribution/contracts/p2p/statistic.d.ts +85 -0
  154. package/distribution/contracts/p2p/statistic.d.ts.map +1 -0
  155. package/distribution/contracts/processor/block-processor-result.d.ts +8 -0
  156. package/distribution/contracts/processor/block-processor-result.d.ts.map +1 -0
  157. package/distribution/contracts/processor/block-processor.d.ts +7 -0
  158. package/distribution/contracts/processor/block-processor.d.ts.map +1 -0
  159. package/distribution/contracts/processor/handler.d.ts +5 -0
  160. package/distribution/contracts/processor/handler.d.ts.map +1 -0
  161. package/distribution/contracts/processor/index.d.ts +7 -0
  162. package/distribution/contracts/processor/index.d.ts.map +1 -0
  163. package/distribution/contracts/processor/processable-unit.d.ts +16 -0
  164. package/distribution/contracts/processor/processable-unit.d.ts.map +1 -0
  165. package/distribution/contracts/processor/transaction-processor.d.ts +7 -0
  166. package/distribution/contracts/processor/transaction-processor.d.ts.map +1 -0
  167. package/distribution/contracts/processor/verifier.d.ts +5 -0
  168. package/distribution/contracts/processor/verifier.d.ts.map +1 -0
  169. package/distribution/contracts/serializer.d.ts +4 -5
  170. package/distribution/contracts/serializer.d.ts.map +1 -1
  171. package/distribution/contracts/shared/dynamic-fee.d.ts +1 -1
  172. package/distribution/contracts/shared/dynamic-fee.d.ts.map +1 -1
  173. package/distribution/contracts/snapshot.d.ts +59 -0
  174. package/distribution/contracts/snapshot.d.ts.map +1 -0
  175. package/distribution/contracts/state/store.d.ts +4 -4
  176. package/distribution/contracts/state/store.d.ts.map +1 -1
  177. package/distribution/contracts/state/wallets.d.ts +11 -8
  178. package/distribution/contracts/state/wallets.d.ts.map +1 -1
  179. package/distribution/contracts/transaction-pool/broadcaster.d.ts +4 -15
  180. package/distribution/contracts/transaction-pool/broadcaster.d.ts.map +1 -1
  181. package/distribution/contracts/transaction-pool/client.d.ts +1 -2
  182. package/distribution/contracts/transaction-pool/client.d.ts.map +1 -1
  183. package/distribution/contracts/transaction-pool/index.d.ts +1 -2
  184. package/distribution/contracts/transaction-pool/index.d.ts.map +1 -1
  185. package/distribution/contracts/transaction-pool/mempool.d.ts +2 -2
  186. package/distribution/contracts/transaction-pool/mempool.d.ts.map +1 -1
  187. package/distribution/contracts/transaction-pool/processor.d.ts +1 -2
  188. package/distribution/contracts/transaction-pool/processor.d.ts.map +1 -1
  189. package/distribution/contracts/transaction-pool/query.d.ts +2 -6
  190. package/distribution/contracts/transaction-pool/query.d.ts.map +1 -1
  191. package/distribution/contracts/transaction-pool/selector.d.ts +15 -0
  192. package/distribution/contracts/transaction-pool/selector.d.ts.map +1 -0
  193. package/distribution/contracts/transaction-pool/sender-mempool.d.ts +5 -3
  194. package/distribution/contracts/transaction-pool/sender-mempool.d.ts.map +1 -1
  195. package/distribution/contracts/transaction-pool/sender-state.d.ts +4 -2
  196. package/distribution/contracts/transaction-pool/sender-state.d.ts.map +1 -1
  197. package/distribution/contracts/transaction-pool/service.d.ts +2 -2
  198. package/distribution/contracts/transaction-pool/service.d.ts.map +1 -1
  199. package/distribution/contracts/transaction-pool/storage.d.ts +5 -6
  200. package/distribution/contracts/transaction-pool/storage.d.ts.map +1 -1
  201. package/distribution/contracts/transaction-pool/worker.d.ts +12 -14
  202. package/distribution/contracts/transaction-pool/worker.d.ts.map +1 -1
  203. package/distribution/contracts/transactions.d.ts +6 -31
  204. package/distribution/contracts/transactions.d.ts.map +1 -1
  205. package/distribution/contracts/types/index.d.ts +3 -7
  206. package/distribution/contracts/types/index.d.ts.map +1 -1
  207. package/distribution/contracts/validator-set.d.ts +3 -3
  208. package/distribution/contracts/validator-set.d.ts.map +1 -1
  209. package/distribution/contracts/validator.d.ts +3 -4
  210. package/distribution/contracts/validator.d.ts.map +1 -1
  211. package/distribution/contracts/webhooks.d.ts +8 -1
  212. package/distribution/contracts/webhooks.d.ts.map +1 -1
  213. package/distribution/index.d.ts +1 -6
  214. package/distribution/index.d.ts.map +1 -1
  215. package/distribution/{utils.d.ts → utilities.d.ts} +1 -1
  216. package/distribution/utilities.d.ts.map +1 -0
  217. package/package.json +16 -13
  218. package/distribution/constants/channels.d.ts +0 -2
  219. package/distribution/constants/channels.d.ts.map +0 -1
  220. package/distribution/constants/channels.js +0 -2
  221. package/distribution/constants/channels.js.map +0 -1
  222. package/distribution/constants/environment-variables.d.ts +0 -3
  223. package/distribution/constants/environment-variables.d.ts.map +0 -1
  224. package/distribution/constants/environment-variables.js +0 -136
  225. package/distribution/constants/environment-variables.js.map +0 -1
  226. package/distribution/constants/index.d.ts +0 -4
  227. package/distribution/constants/index.d.ts.map +0 -1
  228. package/distribution/constants/index.js +0 -4
  229. package/distribution/constants/index.js.map +0 -1
  230. package/distribution/constants/units.d.ts +0 -8
  231. package/distribution/constants/units.d.ts.map +0 -1
  232. package/distribution/constants/units.js +0 -9
  233. package/distribution/constants/units.js.map +0 -1
  234. package/distribution/contracts/api/api.js +0 -6
  235. package/distribution/contracts/api/api.js.map +0 -1
  236. package/distribution/contracts/api/index.js +0 -3
  237. package/distribution/contracts/api/index.js.map +0 -1
  238. package/distribution/contracts/api/rpc.js +0 -9
  239. package/distribution/contracts/api/rpc.js.map +0 -1
  240. package/distribution/contracts/api-sync.js +0 -2
  241. package/distribution/contracts/api-sync.js.map +0 -1
  242. package/distribution/contracts/consensus/consensus.js +0 -2
  243. package/distribution/contracts/consensus/consensus.js.map +0 -1
  244. package/distribution/contracts/consensus/enums.js +0 -13
  245. package/distribution/contracts/consensus/enums.js.map +0 -1
  246. package/distribution/contracts/consensus/index.js +0 -4
  247. package/distribution/contracts/consensus/index.js.map +0 -1
  248. package/distribution/contracts/consensus/processor.js +0 -2
  249. package/distribution/contracts/consensus/processor.js.map +0 -1
  250. package/distribution/contracts/consensus-storage.js +0 -2
  251. package/distribution/contracts/consensus-storage.js.map +0 -1
  252. package/distribution/contracts/crypto/block.js +0 -2
  253. package/distribution/contracts/crypto/block.js.map +0 -1
  254. package/distribution/contracts/crypto/commit.js +0 -2
  255. package/distribution/contracts/crypto/commit.js.map +0 -1
  256. package/distribution/contracts/crypto/config.js +0 -2
  257. package/distribution/contracts/crypto/config.js.map +0 -1
  258. package/distribution/contracts/crypto/crypto.js +0 -2
  259. package/distribution/contracts/crypto/crypto.js.map +0 -1
  260. package/distribution/contracts/crypto/enums.d.ts +0 -17
  261. package/distribution/contracts/crypto/enums.d.ts.map +0 -1
  262. package/distribution/contracts/crypto/enums.js +0 -20
  263. package/distribution/contracts/crypto/enums.js.map +0 -1
  264. package/distribution/contracts/crypto/hash.js +0 -2
  265. package/distribution/contracts/crypto/hash.js.map +0 -1
  266. package/distribution/contracts/crypto/identities.js +0 -2
  267. package/distribution/contracts/crypto/identities.js.map +0 -1
  268. package/distribution/contracts/crypto/index.js +0 -14
  269. package/distribution/contracts/crypto/index.js.map +0 -1
  270. package/distribution/contracts/crypto/messages.js +0 -6
  271. package/distribution/contracts/crypto/messages.js.map +0 -1
  272. package/distribution/contracts/crypto/networks.js +0 -2
  273. package/distribution/contracts/crypto/networks.js.map +0 -1
  274. package/distribution/contracts/crypto/signatures.js +0 -2
  275. package/distribution/contracts/crypto/signatures.js.map +0 -1
  276. package/distribution/contracts/crypto/transactions.js +0 -2
  277. package/distribution/contracts/crypto/transactions.js.map +0 -1
  278. package/distribution/contracts/crypto/validator.js +0 -2
  279. package/distribution/contracts/crypto/validator.js.map +0 -1
  280. package/distribution/contracts/crypto/worker.js +0 -2
  281. package/distribution/contracts/crypto/worker.js.map +0 -1
  282. package/distribution/contracts/database.js +0 -2
  283. package/distribution/contracts/database.js.map +0 -1
  284. package/distribution/contracts/evm/evm.js +0 -13
  285. package/distribution/contracts/evm/evm.js.map +0 -1
  286. package/distribution/contracts/evm/gas-fee.d.ts +0 -10
  287. package/distribution/contracts/evm/gas-fee.d.ts.map +0 -1
  288. package/distribution/contracts/evm/gas-fee.js +0 -2
  289. package/distribution/contracts/evm/gas-fee.js.map +0 -1
  290. package/distribution/contracts/evm/index.js +0 -5
  291. package/distribution/contracts/evm/index.js.map +0 -1
  292. package/distribution/contracts/evm/state.js +0 -2
  293. package/distribution/contracts/evm/state.js.map +0 -1
  294. package/distribution/contracts/evm/worker.js +0 -2
  295. package/distribution/contracts/evm/worker.js.map +0 -1
  296. package/distribution/contracts/index.js +0 -22
  297. package/distribution/contracts/index.js.map +0 -1
  298. package/distribution/contracts/kernel/application.js +0 -2
  299. package/distribution/contracts/kernel/application.js.map +0 -1
  300. package/distribution/contracts/kernel/cache.js +0 -2
  301. package/distribution/contracts/kernel/cache.js.map +0 -1
  302. package/distribution/contracts/kernel/config.js +0 -2
  303. package/distribution/contracts/kernel/config.js.map +0 -1
  304. package/distribution/contracts/kernel/container.js +0 -2
  305. package/distribution/contracts/kernel/container.js.map +0 -1
  306. package/distribution/contracts/kernel/environment-variables.d.ts +0 -3
  307. package/distribution/contracts/kernel/environment-variables.d.ts.map +0 -1
  308. package/distribution/contracts/kernel/environment-variables.js +0 -2
  309. package/distribution/contracts/kernel/environment-variables.js.map +0 -1
  310. package/distribution/contracts/kernel/events.js +0 -2
  311. package/distribution/contracts/kernel/events.js.map +0 -1
  312. package/distribution/contracts/kernel/filesystem.js +0 -2
  313. package/distribution/contracts/kernel/filesystem.js.map +0 -1
  314. package/distribution/contracts/kernel/index.js +0 -15
  315. package/distribution/contracts/kernel/index.js.map +0 -1
  316. package/distribution/contracts/kernel/ipc.js +0 -2
  317. package/distribution/contracts/kernel/ipc.js.map +0 -1
  318. package/distribution/contracts/kernel/lock.js +0 -2
  319. package/distribution/contracts/kernel/lock.js.map +0 -1
  320. package/distribution/contracts/kernel/log.js +0 -2
  321. package/distribution/contracts/kernel/log.js.map +0 -1
  322. package/distribution/contracts/kernel/pipeline.js +0 -2
  323. package/distribution/contracts/kernel/pipeline.js.map +0 -1
  324. package/distribution/contracts/kernel/queue.js +0 -2
  325. package/distribution/contracts/kernel/queue.js.map +0 -1
  326. package/distribution/contracts/kernel/repository.js +0 -2
  327. package/distribution/contracts/kernel/repository.js.map +0 -1
  328. package/distribution/contracts/kernel/validation.js +0 -2
  329. package/distribution/contracts/kernel/validation.js.map +0 -1
  330. package/distribution/contracts/network-generator.js +0 -2
  331. package/distribution/contracts/network-generator.js.map +0 -1
  332. package/distribution/contracts/p2p/api-node-discoverer.js +0 -2
  333. package/distribution/contracts/p2p/api-node-discoverer.js.map +0 -1
  334. package/distribution/contracts/p2p/api-node-processor.js +0 -2
  335. package/distribution/contracts/p2p/api-node-processor.js.map +0 -1
  336. package/distribution/contracts/p2p/api-node-repository.js +0 -2
  337. package/distribution/contracts/p2p/api-node-repository.js.map +0 -1
  338. package/distribution/contracts/p2p/api-node-verifier.js +0 -2
  339. package/distribution/contracts/p2p/api-node-verifier.js.map +0 -1
  340. package/distribution/contracts/p2p/api-node.js +0 -2
  341. package/distribution/contracts/p2p/api-node.js.map +0 -1
  342. package/distribution/contracts/p2p/broadcaster.js +0 -2
  343. package/distribution/contracts/p2p/broadcaster.js.map +0 -1
  344. package/distribution/contracts/p2p/downloader.js +0 -2
  345. package/distribution/contracts/p2p/downloader.js.map +0 -1
  346. package/distribution/contracts/p2p/endpoints.js +0 -2
  347. package/distribution/contracts/p2p/endpoints.js.map +0 -1
  348. package/distribution/contracts/p2p/enums.js +0 -6
  349. package/distribution/contracts/p2p/enums.js.map +0 -1
  350. package/distribution/contracts/p2p/header-service.js +0 -2
  351. package/distribution/contracts/p2p/header-service.js.map +0 -1
  352. package/distribution/contracts/p2p/header.js +0 -2
  353. package/distribution/contracts/p2p/header.js.map +0 -1
  354. package/distribution/contracts/p2p/index.js +0 -26
  355. package/distribution/contracts/p2p/index.js.map +0 -1
  356. package/distribution/contracts/p2p/log.js +0 -2
  357. package/distribution/contracts/p2p/log.js.map +0 -1
  358. package/distribution/contracts/p2p/nes.js +0 -2
  359. package/distribution/contracts/p2p/nes.js.map +0 -1
  360. package/distribution/contracts/p2p/peer-communicator.js +0 -2
  361. package/distribution/contracts/p2p/peer-communicator.js.map +0 -1
  362. package/distribution/contracts/p2p/peer-connector.js +0 -2
  363. package/distribution/contracts/p2p/peer-connector.js.map +0 -1
  364. package/distribution/contracts/p2p/peer-discoverer.js +0 -2
  365. package/distribution/contracts/p2p/peer-discoverer.js.map +0 -1
  366. package/distribution/contracts/p2p/peer-disposer.js +0 -2
  367. package/distribution/contracts/p2p/peer-disposer.js.map +0 -1
  368. package/distribution/contracts/p2p/peer-processor.js +0 -2
  369. package/distribution/contracts/p2p/peer-processor.js.map +0 -1
  370. package/distribution/contracts/p2p/peer-repository.js +0 -2
  371. package/distribution/contracts/p2p/peer-repository.js.map +0 -1
  372. package/distribution/contracts/p2p/peer-verifier.js +0 -2
  373. package/distribution/contracts/p2p/peer-verifier.js.map +0 -1
  374. package/distribution/contracts/p2p/peer.js +0 -2
  375. package/distribution/contracts/p2p/peer.js.map +0 -1
  376. package/distribution/contracts/p2p/server.js +0 -2
  377. package/distribution/contracts/p2p/server.js.map +0 -1
  378. package/distribution/contracts/p2p/service.js +0 -2
  379. package/distribution/contracts/p2p/service.js.map +0 -1
  380. package/distribution/contracts/p2p/state.js +0 -2
  381. package/distribution/contracts/p2p/state.js.map +0 -1
  382. package/distribution/contracts/p2p/tx-pool-node.js +0 -2
  383. package/distribution/contracts/p2p/tx-pool-node.js.map +0 -1
  384. package/distribution/contracts/processor.d.ts +0 -33
  385. package/distribution/contracts/processor.d.ts.map +0 -1
  386. package/distribution/contracts/processor.js +0 -2
  387. package/distribution/contracts/processor.js.map +0 -1
  388. package/distribution/contracts/proposer.d.ts +0 -5
  389. package/distribution/contracts/proposer.d.ts.map +0 -1
  390. package/distribution/contracts/proposer.js +0 -2
  391. package/distribution/contracts/proposer.js.map +0 -1
  392. package/distribution/contracts/serializer.js +0 -2
  393. package/distribution/contracts/serializer.js.map +0 -1
  394. package/distribution/contracts/shared/dynamic-fee.js +0 -2
  395. package/distribution/contracts/shared/dynamic-fee.js.map +0 -1
  396. package/distribution/contracts/shared/index.js +0 -3
  397. package/distribution/contracts/shared/index.js.map +0 -1
  398. package/distribution/contracts/shared/rounds.js +0 -2
  399. package/distribution/contracts/shared/rounds.js.map +0 -1
  400. package/distribution/contracts/state/index.js +0 -4
  401. package/distribution/contracts/state/index.js.map +0 -1
  402. package/distribution/contracts/state/state.js +0 -2
  403. package/distribution/contracts/state/state.js.map +0 -1
  404. package/distribution/contracts/state/store.js +0 -2
  405. package/distribution/contracts/state/store.js.map +0 -1
  406. package/distribution/contracts/state/wallets.js +0 -2
  407. package/distribution/contracts/state/wallets.js.map +0 -1
  408. package/distribution/contracts/transaction-pool/broadcaster.js +0 -6
  409. package/distribution/contracts/transaction-pool/broadcaster.js.map +0 -1
  410. package/distribution/contracts/transaction-pool/client.js +0 -2
  411. package/distribution/contracts/transaction-pool/client.js.map +0 -1
  412. package/distribution/contracts/transaction-pool/dynamic-fee-matcher.d.ts +0 -6
  413. package/distribution/contracts/transaction-pool/dynamic-fee-matcher.d.ts.map +0 -1
  414. package/distribution/contracts/transaction-pool/dynamic-fee-matcher.js +0 -2
  415. package/distribution/contracts/transaction-pool/dynamic-fee-matcher.js.map +0 -1
  416. package/distribution/contracts/transaction-pool/expiration-service.d.ts +0 -7
  417. package/distribution/contracts/transaction-pool/expiration-service.d.ts.map +0 -1
  418. package/distribution/contracts/transaction-pool/expiration-service.js +0 -2
  419. package/distribution/contracts/transaction-pool/expiration-service.js.map +0 -1
  420. package/distribution/contracts/transaction-pool/index.js +0 -13
  421. package/distribution/contracts/transaction-pool/index.js.map +0 -1
  422. package/distribution/contracts/transaction-pool/mempool.js +0 -2
  423. package/distribution/contracts/transaction-pool/mempool.js.map +0 -1
  424. package/distribution/contracts/transaction-pool/processor.js +0 -2
  425. package/distribution/contracts/transaction-pool/processor.js.map +0 -1
  426. package/distribution/contracts/transaction-pool/query.js +0 -2
  427. package/distribution/contracts/transaction-pool/query.js.map +0 -1
  428. package/distribution/contracts/transaction-pool/sender-mempool.js +0 -2
  429. package/distribution/contracts/transaction-pool/sender-mempool.js.map +0 -1
  430. package/distribution/contracts/transaction-pool/sender-state.js +0 -2
  431. package/distribution/contracts/transaction-pool/sender-state.js.map +0 -1
  432. package/distribution/contracts/transaction-pool/service.js +0 -2
  433. package/distribution/contracts/transaction-pool/service.js.map +0 -1
  434. package/distribution/contracts/transaction-pool/storage.js +0 -2
  435. package/distribution/contracts/transaction-pool/storage.js.map +0 -1
  436. package/distribution/contracts/transaction-pool/worker.js +0 -2
  437. package/distribution/contracts/transaction-pool/worker.js.map +0 -1
  438. package/distribution/contracts/transactions.js +0 -2
  439. package/distribution/contracts/transactions.js.map +0 -1
  440. package/distribution/contracts/types/container.d.ts +0 -4
  441. package/distribution/contracts/types/container.d.ts.map +0 -1
  442. package/distribution/contracts/types/container.js +0 -2
  443. package/distribution/contracts/types/container.js.map +0 -1
  444. package/distribution/contracts/types/index.js +0 -2
  445. package/distribution/contracts/types/index.js.map +0 -1
  446. package/distribution/contracts/validator-set.js +0 -2
  447. package/distribution/contracts/validator-set.js.map +0 -1
  448. package/distribution/contracts/validator.js +0 -2
  449. package/distribution/contracts/validator.js.map +0 -1
  450. package/distribution/contracts/webhooks.js +0 -2
  451. package/distribution/contracts/webhooks.js.map +0 -1
  452. package/distribution/events.d.ts +0 -85
  453. package/distribution/events.d.ts.map +0 -1
  454. package/distribution/events.js +0 -100
  455. package/distribution/events.js.map +0 -1
  456. package/distribution/exceptions/base.d.ts +0 -4
  457. package/distribution/exceptions/base.d.ts.map +0 -1
  458. package/distribution/exceptions/base.js +0 -15
  459. package/distribution/exceptions/base.js.map +0 -1
  460. package/distribution/exceptions/cli.d.ts +0 -8
  461. package/distribution/exceptions/cli.d.ts.map +0 -1
  462. package/distribution/exceptions/cli.js +0 -12
  463. package/distribution/exceptions/cli.js.map +0 -1
  464. package/distribution/exceptions/config.d.ts +0 -19
  465. package/distribution/exceptions/config.d.ts.map +0 -1
  466. package/distribution/exceptions/config.js +0 -25
  467. package/distribution/exceptions/config.js.map +0 -1
  468. package/distribution/exceptions/consensus.d.ts +0 -5
  469. package/distribution/exceptions/consensus.d.ts.map +0 -1
  470. package/distribution/exceptions/consensus.js +0 -7
  471. package/distribution/exceptions/consensus.js.map +0 -1
  472. package/distribution/exceptions/container.d.ts +0 -18
  473. package/distribution/exceptions/container.d.ts.map +0 -1
  474. package/distribution/exceptions/container.js +0 -22
  475. package/distribution/exceptions/container.js.map +0 -1
  476. package/distribution/exceptions/crypto.d.ts +0 -202
  477. package/distribution/exceptions/crypto.d.ts.map +0 -1
  478. package/distribution/exceptions/crypto.js +0 -335
  479. package/distribution/exceptions/crypto.js.map +0 -1
  480. package/distribution/exceptions/filesystem.d.ts +0 -12
  481. package/distribution/exceptions/filesystem.d.ts.map +0 -1
  482. package/distribution/exceptions/filesystem.js +0 -16
  483. package/distribution/exceptions/filesystem.js.map +0 -1
  484. package/distribution/exceptions/index.d.ts +0 -17
  485. package/distribution/exceptions/index.d.ts.map +0 -1
  486. package/distribution/exceptions/index.js +0 -17
  487. package/distribution/exceptions/index.js.map +0 -1
  488. package/distribution/exceptions/logic.d.ts +0 -28
  489. package/distribution/exceptions/logic.d.ts.map +0 -1
  490. package/distribution/exceptions/logic.js +0 -36
  491. package/distribution/exceptions/logic.js.map +0 -1
  492. package/distribution/exceptions/p2p.d.ts +0 -24
  493. package/distribution/exceptions/p2p.d.ts.map +0 -1
  494. package/distribution/exceptions/p2p.js +0 -37
  495. package/distribution/exceptions/p2p.js.map +0 -1
  496. package/distribution/exceptions/plugins.d.ts +0 -27
  497. package/distribution/exceptions/plugins.d.ts.map +0 -1
  498. package/distribution/exceptions/plugins.js +0 -43
  499. package/distribution/exceptions/plugins.js.map +0 -1
  500. package/distribution/exceptions/pool.d.ts +0 -50
  501. package/distribution/exceptions/pool.d.ts.map +0 -1
  502. package/distribution/exceptions/pool.js +0 -74
  503. package/distribution/exceptions/pool.js.map +0 -1
  504. package/distribution/exceptions/processor.d.ts +0 -26
  505. package/distribution/exceptions/processor.d.ts.map +0 -1
  506. package/distribution/exceptions/processor.js +0 -39
  507. package/distribution/exceptions/processor.js.map +0 -1
  508. package/distribution/exceptions/rpc.d.ts +0 -6
  509. package/distribution/exceptions/rpc.d.ts.map +0 -1
  510. package/distribution/exceptions/rpc.js +0 -8
  511. package/distribution/exceptions/rpc.js.map +0 -1
  512. package/distribution/exceptions/runtime.d.ts +0 -9
  513. package/distribution/exceptions/runtime.d.ts.map +0 -1
  514. package/distribution/exceptions/runtime.js +0 -11
  515. package/distribution/exceptions/runtime.js.map +0 -1
  516. package/distribution/exceptions/state.d.ts +0 -8
  517. package/distribution/exceptions/state.d.ts.map +0 -1
  518. package/distribution/exceptions/state.js +0 -12
  519. package/distribution/exceptions/state.js.map +0 -1
  520. package/distribution/exceptions/validation.d.ts +0 -5
  521. package/distribution/exceptions/validation.d.ts.map +0 -1
  522. package/distribution/exceptions/validation.js +0 -7
  523. package/distribution/exceptions/validation.js.map +0 -1
  524. package/distribution/identifiers.d.ts +0 -298
  525. package/distribution/identifiers.d.ts.map +0 -1
  526. package/distribution/identifiers.js +0 -298
  527. package/distribution/identifiers.js.map +0 -1
  528. package/distribution/index.js +0 -8
  529. package/distribution/index.js.map +0 -1
  530. package/distribution/utils.d.ts.map +0 -1
  531. package/distribution/utils.js +0 -2
  532. package/distribution/utils.js.map +0 -1
@@ -1,79 +1,80 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { BigNumber } from "@mainsail/utils";
3
- import { Mutable } from "../../utils.js";
4
- import { Transaction, TransactionData, TransactionJson } from "./transactions.js";
5
- export interface BlockVerification {
6
- readonly verified: boolean;
7
- readonly errors: string[];
8
- readonly containsMultiSignatures: boolean;
9
- }
10
- export type BlockHeader = Exclude<BlockData, "transactions">;
11
- export interface Block {
12
- readonly data: BlockData;
13
- readonly header: BlockHeader;
14
- readonly serialized: string;
15
- readonly transactions: Transaction[];
16
- }
17
- export interface BlockData {
18
- readonly id: string;
19
- readonly timestamp: number;
1
+ import type { BlockHeaderStorageData, TransactionStorageData } from "../evm/storage.js";
2
+ import type { BlockTransaction, Transaction, TransactionJson, TransactionJsonCrypto, TransactionSerializable } from "./transactions.js";
3
+ export type BlockTag = "latest" | "finalized" | "safe";
4
+ export interface BlockHeaderRaw {
20
5
  readonly version: number;
21
- readonly height: number;
6
+ readonly timestamp: number;
7
+ readonly number: number;
22
8
  readonly round: number;
23
- readonly previousBlock: string;
24
- readonly stateHash: string;
25
- readonly numberOfTransactions: number;
26
- readonly totalGasUsed: number;
27
- readonly totalAmount: BigNumber;
28
- readonly totalFee: BigNumber;
29
- readonly reward: BigNumber;
30
- readonly payloadLength: number;
31
- readonly payloadHash: string;
32
- readonly generatorAddress: string;
33
- readonly transactions: TransactionData[];
9
+ readonly parentHash: string;
10
+ readonly stateRoot: string;
11
+ readonly logsBloom: string;
12
+ readonly transactionsCount: number;
13
+ readonly gasUsed: number;
14
+ readonly fee: bigint;
15
+ readonly reward: bigint;
16
+ readonly payloadSize: number;
17
+ readonly transactionsRoot: string;
18
+ readonly proposer: string;
19
+ }
20
+ export type BlockHeader = BlockHeaderRaw & {
21
+ readonly hash: string;
22
+ };
23
+ export type BlockData = BlockHeader & {
24
+ readonly transactions: TransactionSerializable[];
25
+ };
26
+ export interface Block extends BlockHeader {
27
+ readonly serialized: string;
28
+ readonly transactions: BlockTransaction[];
29
+ toData(): BlockData;
34
30
  }
35
31
  export interface BlockJson {
36
- readonly id: string;
32
+ readonly hash: string;
37
33
  readonly timestamp: number;
38
34
  readonly version: number;
39
- readonly height: number;
35
+ readonly number: number;
40
36
  readonly round: number;
41
- readonly previousBlock: string;
42
- readonly stateHash: string;
43
- readonly numberOfTransactions: number;
44
- readonly totalGasUsed: number;
45
- readonly totalAmount: string;
46
- readonly totalFee: string;
37
+ readonly parentHash: string;
38
+ readonly stateRoot: string;
39
+ readonly logsBloom: string;
40
+ readonly transactionsCount: number;
41
+ readonly gasUsed: number;
42
+ readonly fee: string;
47
43
  readonly reward: string;
48
- readonly payloadLength: number;
49
- readonly payloadHash: string;
50
- readonly generatorAddress: string;
44
+ readonly payloadSize: number;
45
+ readonly transactionsRoot: string;
46
+ readonly proposer: string;
51
47
  readonly serialized?: string;
52
48
  readonly transactions: TransactionJson[];
53
49
  }
54
- export type BlockDataSerializable = Omit<BlockData, "id">;
50
+ export interface BlockJsonCrypto extends BlockJson {
51
+ readonly transactions: TransactionJsonCrypto[];
52
+ }
55
53
  export interface BlockFactory {
56
- make(data: Mutable<BlockDataSerializable>, transactions: Transaction[]): Promise<Block>;
54
+ make(data: BlockHeaderRaw, transactions: Transaction[]): Promise<Block>;
57
55
  fromHex(hex: string): Promise<Block>;
58
56
  fromBytes(buff: Buffer): Promise<Block>;
59
57
  fromJson(json: BlockJson): Promise<Block>;
60
- fromData(data: BlockData): Promise<Block>;
58
+ fromStorage(header: BlockHeaderStorageData, transactions: TransactionStorageData[]): Promise<Block>;
59
+ headerFromBytes(buff: Buffer): Promise<BlockHeader>;
60
+ headerFromStorage(header: BlockHeaderStorageData): Promise<BlockHeader>;
61
61
  }
62
+ export type BlockSerializable = BlockHeaderRaw & {
63
+ readonly transactions: {
64
+ serialized: Buffer;
65
+ }[];
66
+ };
62
67
  export interface BlockSerializer {
63
- headerSize(): number;
64
- totalSize(block: BlockDataSerializable): number;
65
- serializeHeader(block: BlockDataSerializable): Promise<Buffer>;
66
- serializeWithTransactions(block: BlockDataSerializable): Promise<Buffer>;
68
+ totalSize(block: BlockHeaderRaw): number;
69
+ serializeHeader(block: BlockHeaderRaw): Promise<Buffer>;
70
+ serializeWithTransactions(block: BlockSerializable): Promise<Buffer>;
67
71
  }
68
72
  export interface BlockWithTransactions {
69
- data: BlockData;
73
+ data: BlockHeader;
70
74
  transactions: Transaction[];
71
75
  }
72
76
  export interface BlockDeserializer {
73
77
  deserializeHeader(serialized: Buffer): Promise<BlockHeader>;
74
78
  deserializeWithTransactions(serialized: Buffer): Promise<BlockWithTransactions>;
75
79
  }
76
- export interface BlockVerifier {
77
- verify(block: Block): Promise<BlockVerification>;
78
- }
79
80
  //# sourceMappingURL=block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ProcessableUnit } from "../processor/processable-unit.js";
2
+ export interface CommitHandler {
3
+ onCommit(unit: ProcessableUnit): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=commit-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-handler.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/commit-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
@@ -1,14 +1,20 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import type { ProcessableUnit } from "../processor.js";
3
- import type { Block, BlockData, BlockJson } from "./block.js";
1
+ import type { CommitStorageData } from "../evm/storage.js";
2
+ import type { Block, BlockData, BlockJson, BlockJsonCrypto } from "./block.js";
4
3
  export interface CommitJson {
5
4
  readonly block: BlockJson;
6
5
  readonly proof: CommitProof;
7
6
  readonly serialized: string;
8
7
  }
9
- export interface Commit {
8
+ export interface CommitJsonCrypto {
9
+ readonly block: BlockJsonCrypto;
10
+ readonly proof: CommitProof;
11
+ readonly serialized: string;
12
+ }
13
+ export type CommitSerializable = {
10
14
  readonly block: Block;
11
15
  readonly proof: CommitProof;
16
+ };
17
+ export interface Commit extends CommitSerializable {
12
18
  readonly serialized: string;
13
19
  }
14
20
  export interface CommitData {
@@ -16,9 +22,9 @@ export interface CommitData {
16
22
  readonly proof: CommitProof;
17
23
  readonly serialized: string;
18
24
  }
19
- export type CommitSerializable = Omit<Commit, "serialized">;
20
25
  export interface CommitFactory {
21
26
  fromBytes(buff: Buffer): Promise<Commit>;
27
+ fromStorage(data: CommitStorageData): Promise<Commit>;
22
28
  fromJson(json: CommitJson): Promise<Commit>;
23
29
  }
24
30
  export interface CommitProof {
@@ -27,14 +33,10 @@ export interface CommitProof {
27
33
  readonly validators: boolean[];
28
34
  }
29
35
  export interface CommitSerializer {
30
- proofSize(): number;
31
36
  serializeCommitProof(proof: CommitProof): Promise<Buffer>;
32
37
  serializeCommit(commit: CommitSerializable): Promise<Buffer>;
33
38
  }
34
39
  export interface CommitDeserializer {
35
40
  deserializeCommitProof(serialized: Buffer): Promise<CommitProof>;
36
41
  }
37
- export interface CommitHandler {
38
- onCommit(unit: ProcessableUnit): Promise<void>;
39
- }
40
42
  //# sourceMappingURL=commit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/commit.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,IAAI,MAAM,CAAC;IAEpB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB;IAClC,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/E,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB;IAClC,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACjE"}
@@ -1,16 +1,19 @@
1
- import { Milestone, MilestoneDiff, MilestoneKey, MilestoneSearchResult, NetworkConfig, NetworkConfigPartial } from "./networks.js";
1
+ import type { CommitJsonCrypto } from "./commit.js";
2
+ import type { Milestone, MilestoneDiff, MilestoneKey, MilestoneSearchResult, Network, NetworkConfig, NetworkConfigPartial } from "./networks.js";
2
3
  export interface Configuration {
3
- setConfig(config: NetworkConfigPartial): void;
4
- all(): NetworkConfig | undefined;
5
- set<T = any>(key: string, value: T): void;
6
- get<T = any>(key: string): T;
4
+ setConfig(config: NetworkConfigPartial, verify?: boolean): void;
5
+ all(): NetworkConfig;
6
+ set<T = unknown>(key: string, value: T): void;
7
+ getGenesisCommit(): CommitJsonCrypto;
8
+ getNetwork(): Network;
7
9
  setHeight(value: number): void;
8
10
  getHeight(): number;
11
+ getGenesisHeight(): number;
9
12
  isNewMilestone(height?: number): boolean;
10
13
  getMilestone(height?: number): Milestone;
11
14
  getMilestoneDiff(height?: number): MilestoneDiff;
12
15
  getNextMilestoneWithNewKey<K extends MilestoneKey>(previousMilestone: number, key: K): MilestoneSearchResult<Milestone[K]>;
13
- getMilestones(): any;
14
- getMaxActiveValidators(): number;
16
+ getMilestones(): Milestone[];
17
+ getMaxRoundValidators(): number;
15
18
  }
16
19
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE9C,GAAG,IAAI,aAAa,GAAG,SAAS,CAAC;IAEjC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE1C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,SAAS,IAAI,MAAM,CAAC;IAEpB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAEjD,0BAA0B,CAAC,CAAC,SAAS,YAAY,EAChD,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,CAAC,GACJ,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,aAAa,IAAI,GAAG,CAAC;IAErB,sBAAsB,IAAI,MAAM,CAAC;CACjC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhE,GAAG,IAAI,aAAa,CAAC;IAErB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE9C,gBAAgB,IAAI,gBAAgB,CAAC;IAErC,UAAU,IAAI,OAAO,CAAC;IAEtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,SAAS,IAAI,MAAM,CAAC;IAEpB,gBAAgB,IAAI,MAAM,CAAC;IAE3B,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAEjD,0BAA0B,CAAC,CAAC,SAAS,YAAY,EAChD,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,CAAC,GACJ,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,aAAa,IAAI,SAAS,EAAE,CAAC;IAE7B,qBAAqB,IAAI,MAAM,CAAC;CAChC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export interface DecryptResult {
3
2
  privateKey: Buffer;
4
3
  compressed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/crypto.ts"],"names":[],"mappings":";AAAA,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/crypto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB"}
@@ -1,8 +1,8 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export type HashInput = Buffer | Buffer[];
3
2
  export interface HashFactory {
4
- ripemd160(data: HashInput): Promise<Buffer>;
5
- sha256(data: HashInput): Promise<Buffer>;
6
- hash256(data: HashInput): Promise<Buffer>;
3
+ ripemd160(data: HashInput): Buffer;
4
+ sha256(data: HashInput): Buffer;
5
+ hash256(data: HashInput): Buffer;
6
+ keccak256(data: HashInput): Buffer;
7
7
  }
8
8
  //# sourceMappingURL=hash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/hash.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/hash.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAEnC,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAEhC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAEjC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;CACnC"}
@@ -1,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { ByteBuffer } from "@mainsail/utils";
3
- import type { MultiSignatureAsset } from "./transactions.js";
1
+ import type { ByteBuffer } from "@mainsail/utils";
4
2
  export interface KeyPair {
5
3
  publicKey: string;
6
4
  privateKey: string;
@@ -10,8 +8,6 @@ export interface AddressFactory {
10
8
  fromMnemonic(mnemonic: string): Promise<string>;
11
9
  fromPublicKey(publicKey: string): Promise<string>;
12
10
  fromWIF(wif: string): Promise<string>;
13
- fromMultiSignatureAsset(asset: MultiSignatureAsset): Promise<string>;
14
- fromPrivateKey(privateKey: KeyPair): Promise<string>;
15
11
  fromBuffer(buffer: Buffer): Promise<string>;
16
12
  toBuffer(address: string): Promise<Buffer>;
17
13
  validate(address: string): Promise<boolean>;
@@ -19,7 +15,6 @@ export interface AddressFactory {
19
15
  export interface PublicKeyFactory {
20
16
  fromMnemonic(mnemonic: string): Promise<string>;
21
17
  fromWIF(wif: string): Promise<string>;
22
- fromMultiSignatureAsset(asset: MultiSignatureAsset): Promise<string>;
23
18
  verify(publicKey: string): Promise<boolean>;
24
19
  aggregate(publicKeys: Buffer[]): Promise<string>;
25
20
  }
@@ -44,11 +39,23 @@ export interface PublicKeySerializer {
44
39
  serialize(buffer: ByteBuffer, publicKey: string): void;
45
40
  deserialize(buffer: ByteBuffer): Buffer;
46
41
  }
47
- export interface Signature {
42
+ export interface SignatureBls {
48
43
  sign(message: Buffer, privateKey: Buffer): Promise<string>;
49
44
  verify(signature: Buffer, message: Buffer, publicKey: Buffer): Promise<boolean>;
45
+ aggregate(signatures: Buffer[]): Promise<string>;
46
+ }
47
+ export interface SignatureSerializer {
50
48
  serialize(buffer: ByteBuffer, signature: string): void;
51
49
  deserialize(buffer: ByteBuffer): Buffer;
52
- aggregate(signatures: Buffer[]): Promise<string>;
50
+ }
51
+ export interface EcdsaSignature {
52
+ r: string;
53
+ s: string;
54
+ v: number;
55
+ }
56
+ export interface SignatureEcdsa {
57
+ signRecoverable(message: Buffer, privateKey: Buffer): Promise<EcdsaSignature>;
58
+ verifyRecoverable(signature: EcdsaSignature, message: Buffer, publicKey: Buffer): Promise<boolean>;
59
+ recoverPublicKey(message: Buffer, signature: EcdsaSignature): string;
53
60
  }
54
61
  //# sourceMappingURL=identities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/identities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/identities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC9B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,UAAU;IAC1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC9B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9E,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,CAAC;CACrE"}
@@ -1,12 +1,13 @@
1
1
  export * from "./block.js";
2
+ export * from "./commit-handler.js";
2
3
  export * from "./commit.js";
3
4
  export * from "./config.js";
4
5
  export * from "./crypto.js";
5
- export * from "./enums.js";
6
6
  export * from "./hash.js";
7
7
  export * from "./identities.js";
8
8
  export * from "./messages.js";
9
9
  export * from "./networks.js";
10
+ export * from "./proposal.js";
10
11
  export * from "./signatures.js";
11
12
  export * from "./transactions.js";
12
13
  export * from "./validator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -1,126 +1,37 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { Block } from "./block.js";
3
- import { KeyPair } from "./identities.js";
4
- import { AggregatedSignature } from "./signatures.js";
5
- export declare enum MessageType {
6
- Prevote = 1,
7
- Precommit = 2
8
- }
1
+ import type { Enums } from "@mainsail/constants";
2
+ import type { KeyPair } from "./identities.js";
3
+ export type MessageType = Enums.Crypto.MessageType;
9
4
  export interface SignatureMessageData {
10
5
  readonly type: MessageType;
11
- readonly height: number;
6
+ readonly blockNumber: number;
12
7
  readonly round: number;
13
- readonly blockId: string;
14
- }
15
- export type HasBlockId = {
16
- blockId: string;
17
- };
18
- export type WithoutBlockId<T> = Omit<T, "blockId">;
19
- export type WithOptionalBlockId<T extends HasBlockId> = WithoutBlockId<T> & Partial<Pick<T, "blockId">>;
20
- export interface SignaturePrevoteData extends WithOptionalBlockId<SignatureMessageData> {
21
- }
22
- export interface SignaturePrecommitData extends WithOptionalBlockId<SignatureMessageData> {
8
+ readonly blockHash?: string;
23
9
  }
24
- export interface ProposalData {
25
- readonly height: number;
26
- readonly round: number;
27
- readonly data: {
28
- serialized: string;
29
- };
30
- readonly validatorIndex: number;
31
- readonly validRound?: number;
32
- readonly signature: string;
10
+ export interface SignatureMessageContext {
11
+ readonly genesisBlockHash: string;
12
+ readonly previousBlockHash: string;
33
13
  }
34
- export interface SerializableProposalData {
35
- readonly round: number;
36
- readonly validRound?: number;
37
- readonly data: {
38
- serialized: string;
39
- };
14
+ export interface MakeMessageData extends SignatureMessageData {
40
15
  readonly validatorIndex: number;
41
- readonly signature?: string;
42
- }
43
- export interface Proposal extends Omit<ProposalData, "data"> {
44
- isDataDeserialized: boolean;
45
- readonly serialized: Buffer;
46
- deserializeData(): Promise<void>;
47
- getData(): ProposedData;
48
- toSerializableData(): SerializableProposalData;
49
- toData(): ProposalData;
50
- toString(): string;
51
16
  }
52
- export interface PrevoteData {
53
- readonly type: MessageType;
54
- readonly height: number;
55
- readonly round: number;
56
- readonly blockId?: string;
57
- readonly validatorIndex: number;
17
+ export interface MessageData extends MakeMessageData {
58
18
  readonly signature: string;
59
19
  }
60
- export interface Prevote extends PrevoteData {
20
+ export interface Message extends MessageData {
61
21
  readonly serialized: Buffer;
62
- toSignatureData(): SignaturePrevoteData;
63
- toData(): PrevoteData;
22
+ toData(): MessageData;
64
23
  toString(): string;
65
24
  }
66
- export interface PrecommitData {
67
- readonly type: MessageType;
68
- readonly height: number;
69
- readonly round: number;
70
- readonly blockId?: string;
71
- readonly validatorIndex: number;
72
- readonly signature: string;
73
- }
74
- export interface Precommit extends PrecommitData {
75
- readonly serialized: Buffer;
76
- toSignatureData(): SignaturePrecommitData;
77
- toData(): PrecommitData;
78
- toString(): string;
79
- }
80
- export interface ProposedData {
81
- readonly block: Block;
82
- readonly lockProof?: AggregatedSignature;
83
- readonly serialized: string;
84
- }
85
- export type ProposedBlockSerializable = Omit<ProposedData, "serialized">;
86
- export interface SerializeProposalOptions {
87
- includeSignature?: boolean;
88
- }
89
- export type HasSignature = {
90
- signature: string;
91
- };
92
- export type WithoutSignature<T> = Omit<T, "signature">;
93
- export type OptionalSignature<T extends HasSignature> = WithoutSignature<T> & Partial<Pick<T, "signature">>;
94
- export type MakeProposalData = WithoutSignature<SerializableProposalData>;
95
- export type MakePrevoteData = WithoutSignature<PrevoteData>;
96
- export type MakePrecommitData = WithoutSignature<PrecommitData>;
97
25
  export interface MessageFactory {
98
- makeProposal(data: MakeProposalData, keyPair: KeyPair): Promise<Proposal>;
99
- makeProposalFromBytes(data: Buffer): Promise<Proposal>;
100
- makeProposalFromData(data: ProposalData): Promise<Proposal>;
101
- makeProposedDataFromBytes(data: Buffer): Promise<ProposedData>;
102
- makePrevote(data: MakePrevoteData, keyPair: KeyPair): Promise<Prevote>;
103
- makePrevoteFromBytes(data: Buffer): Promise<Prevote>;
104
- makePrevoteFromData(data: PrevoteData): Promise<Prevote>;
105
- makePrecommit(data: MakePrecommitData, keyPair: KeyPair): Promise<Precommit>;
106
- makePrecommitFromBytes(data: Buffer): Promise<Precommit>;
107
- makePrecommitFromData(data: PrecommitData): Promise<Precommit>;
26
+ makeMessage(data: MakeMessageData, keyPair: KeyPair, context: SignatureMessageContext): Promise<Message>;
27
+ makeMessageFromBytes(data: Buffer): Promise<Message>;
108
28
  }
109
29
  export interface MessageSerializer {
110
- serializeProposal(proposal: SerializableProposalData, options: SerializeProposalOptions): Promise<Buffer>;
111
- serializePrevote(prevote: PrevoteData): Promise<Buffer>;
112
- serializePrevoteForSignature(prevote: SignaturePrevoteData): Promise<Buffer>;
113
- serializePrecommit(precommit: PrecommitData): Promise<Buffer>;
114
- serializePrecommitForSignature(precommit: SignaturePrecommitData): Promise<Buffer>;
115
- serializeProposed(proposedBlock: ProposedBlockSerializable): Promise<Buffer>;
116
- serializeLockProof(proof: AggregatedSignature): Promise<Buffer>;
117
- lockProofSize(): number;
30
+ serializeMessage(message: MessageData): Promise<Buffer>;
31
+ serializeMessageForSignature(message: SignatureMessageData, context: SignatureMessageContext): Promise<Buffer>;
118
32
  }
119
33
  export interface MessageDeserializer {
120
- deserializeProposal(serialized: Buffer): Promise<ProposalData>;
121
- deserializePrevote(serialized: Buffer): Promise<PrevoteData>;
122
- deserializePrecommit(serialized: Buffer): Promise<PrecommitData>;
123
- deserializeLockProof(serialized: Buffer): Promise<AggregatedSignature>;
34
+ deserializeMessage(serialized: Buffer): Promise<MessageData>;
124
35
  }
125
36
  export interface MessageVerificationResult {
126
37
  readonly verified: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,MAAM,IAAI,WAAW,CAAC;IACtB,QAAQ,IAAI,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC9B,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IACjC,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/G;AAED,MAAM,WAAW,mBAAmB;IACnC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAC1B"}
@@ -1,22 +1,21 @@
1
- import { SpecId } from "../evm/evm.js";
2
- import { CommitJson } from "./commit.js";
1
+ import type { SpecId } from "../evm/evm.js";
2
+ import type { CommitJsonCrypto } from "./commit.js";
3
3
  export type NetworkConfig = {
4
- genesisBlock: CommitJson;
4
+ genesisBlock: CommitJsonCrypto;
5
5
  milestones: Milestone[];
6
6
  network: Network;
7
7
  };
8
8
  export type NetworkConfigPartial = {
9
- genesisBlock: CommitJson;
9
+ genesisBlock: CommitJsonCrypto;
10
10
  milestones: MilestonePartial[];
11
11
  network: Network;
12
12
  };
13
13
  export type Network = {
14
14
  name: string;
15
- messagePrefix: string;
16
15
  pubKeyHash: number;
17
16
  nethash: string;
17
+ chainId: number;
18
18
  wif: number;
19
- slip44: number;
20
19
  client: {
21
20
  token: string;
22
21
  symbol: string;
@@ -26,7 +25,6 @@ export type Network = {
26
25
  export type MilestoneBlock = {
27
26
  maxPayload: number;
28
27
  maxGasLimit: number;
29
- maxTransactions: number;
30
28
  version: number;
31
29
  };
32
30
  export type MilestoneSatoshi = {
@@ -43,13 +41,16 @@ export type MilestoneTimeouts = {
43
41
  export type MilestoneGas = {
44
42
  minimumGasLimit: number;
45
43
  maximumGasLimit: number;
46
- minimumGasFee: number;
47
- nativeFeeMultiplier: number;
44
+ minimumGasPrice: number;
45
+ maximumGasPrice: number;
46
+ };
47
+ export type MilestoneSnapshot = {
48
+ snapshotHash: string;
49
+ previousGenesisBlockHash: string;
48
50
  };
49
51
  export type Milestone = {
50
52
  height: number;
51
- activeValidators: number;
52
- address: Record<string, any>;
53
+ roundValidators: number;
53
54
  block: MilestoneBlock;
54
55
  epoch: string;
55
56
  evmSpec: SpecId;
@@ -57,7 +58,11 @@ export type Milestone = {
57
58
  reward: string;
58
59
  satoshi: MilestoneSatoshi;
59
60
  timeouts: MilestoneTimeouts;
60
- vendorFieldLength: number;
61
+ snapshot?: MilestoneSnapshot;
62
+ p2p?: {
63
+ minimumVersions?: string[];
64
+ };
65
+ validatorRegistrationFee: string;
61
66
  };
62
67
  export type MilestonePartial = Partial<Milestone> & {
63
68
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG;KAAG,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE/D,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,GAAG,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACrC,wBAAwB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG;KAAG,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE/D,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACf,CAAC"}