@leofcoin/chain 1.0.21 → 1.0.24

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 (413) hide show
  1. package/.jsdoc.json +1 -1
  2. package/dist/chain.browser.js +28552 -17092
  3. package/dist/chain.js +477 -121
  4. package/dist/node.browser.js +8815 -66914
  5. package/dist/node.js +1 -1
  6. package/dist/pako.browser.js +6731 -0
  7. package/dist/protons.browser.js +11429 -0
  8. package/dist/wrtc.browser.js +28 -0
  9. package/docs/@leofcoin/chain/{1.0.16 → 1.0.22}/chain.js.html +267 -114
  10. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/contracts_factory.js.html +3 -3
  11. package/docs/@leofcoin/chain/{1.0.13 → 1.0.22}/contracts_nameService.js.html +3 -3
  12. package/docs/@leofcoin/chain/{1.0.13 → 1.0.22}/contracts_proxies_factoryProxy.js.html +3 -3
  13. package/docs/@leofcoin/chain/{1.0.13 → 1.0.22}/contracts_proxies_nameServiceProxy.js.html +3 -3
  14. package/docs/@leofcoin/chain/{1.0.13 → 1.0.22}/contracts_proxies_nativeTokenProxy.js.html +3 -3
  15. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/contracts_proxies_validatorsProxy.js.html +3 -3
  16. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/contracts_proxies_votingProxy.js.html +3 -3
  17. package/docs/@leofcoin/chain/{1.0.14 → 1.0.22}/contracts_validators.js.html +3 -3
  18. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Bold-webfont.eot +0 -0
  19. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Bold-webfont.svg +0 -0
  20. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Bold-webfont.woff +0 -0
  21. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  22. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-BoldItalic-webfont.svg +0 -0
  23. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  24. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Italic-webfont.eot +0 -0
  25. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Italic-webfont.svg +0 -0
  26. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Italic-webfont.woff +0 -0
  27. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Light-webfont.eot +0 -0
  28. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Light-webfont.svg +0 -0
  29. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Light-webfont.woff +0 -0
  30. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  31. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-LightItalic-webfont.svg +0 -0
  32. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  33. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Regular-webfont.eot +0 -0
  34. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Regular-webfont.svg +0 -0
  35. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Regular-webfont.woff +0 -0
  36. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Semibold-webfont.eot +0 -0
  37. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Semibold-webfont.svg +0 -0
  38. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  39. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-Semibold-webfont.woff +0 -0
  40. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  41. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -0
  42. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  43. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  44. package/docs/@leofcoin/chain/{1.0.15 → 1.0.22}/global.html +687 -35
  45. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/icons/home.svg +0 -0
  46. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/icons/search.svg +0 -0
  47. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/index.html +3 -3
  48. package/docs/@leofcoin/chain/{1.0.14 → 1.0.22}/machine.js.html +18 -14
  49. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/scripts/linenumber.js +0 -0
  50. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/scripts/pagelocation.js +0 -0
  51. package/docs/@leofcoin/chain/{1.0.14 → 1.0.22}/standards_roles.js.html +3 -3
  52. package/docs/@leofcoin/chain/{1.0.14 → 1.0.22}/standards_token.js.html +3 -3
  53. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/styles/collapse.css +0 -0
  54. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/styles/jsdoc-default.css +0 -0
  55. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/styles/prettify-jsdoc.css +0 -0
  56. package/docs/@leofcoin/chain/{1.0.12 → 1.0.22}/styles/prettify-tomorrow.css +0 -0
  57. package/docs/@leofcoin/chain/{1.0.14 → 1.0.24}/chain.js.html +267 -114
  58. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/contracts_factory.js.html +3 -3
  59. package/docs/@leofcoin/chain/{1.0.12 → 1.0.24}/contracts_nameService.js.html +3 -3
  60. package/docs/@leofcoin/chain/{1.0.14 → 1.0.24}/contracts_proxies_factoryProxy.js.html +3 -3
  61. package/docs/@leofcoin/chain/{1.0.14 → 1.0.24}/contracts_proxies_nameServiceProxy.js.html +3 -3
  62. package/docs/@leofcoin/chain/{1.0.12 → 1.0.24}/contracts_proxies_nativeTokenProxy.js.html +3 -3
  63. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/contracts_proxies_validatorsProxy.js.html +3 -3
  64. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/contracts_proxies_votingProxy.js.html +3 -3
  65. package/docs/@leofcoin/chain/{1.0.15 → 1.0.24}/contracts_validators.js.html +3 -3
  66. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Bold-webfont.eot +0 -0
  67. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Bold-webfont.svg +0 -0
  68. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Bold-webfont.woff +0 -0
  69. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  70. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-BoldItalic-webfont.svg +0 -0
  71. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  72. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Italic-webfont.eot +0 -0
  73. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Italic-webfont.svg +0 -0
  74. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Italic-webfont.woff +0 -0
  75. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Light-webfont.eot +0 -0
  76. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Light-webfont.svg +0 -0
  77. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Light-webfont.woff +0 -0
  78. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  79. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-LightItalic-webfont.svg +0 -0
  80. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  81. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Regular-webfont.eot +0 -0
  82. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Regular-webfont.svg +0 -0
  83. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Regular-webfont.woff +0 -0
  84. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Semibold-webfont.eot +0 -0
  85. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Semibold-webfont.svg +0 -0
  86. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  87. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-Semibold-webfont.woff +0 -0
  88. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  89. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -0
  90. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  91. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  92. package/docs/@leofcoin/chain/{1.0.12 → 1.0.24}/global.html +687 -35
  93. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/icons/home.svg +0 -0
  94. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/icons/search.svg +0 -0
  95. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/index.html +3 -3
  96. package/docs/@leofcoin/chain/{1.0.15 → 1.0.24}/machine.js.html +18 -14
  97. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/scripts/linenumber.js +0 -0
  98. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/scripts/pagelocation.js +0 -0
  99. package/docs/@leofcoin/chain/{1.0.12 → 1.0.24}/standards_roles.js.html +3 -3
  100. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/standards_token.js.html +3 -3
  101. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/styles/collapse.css +0 -0
  102. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/styles/jsdoc-default.css +0 -0
  103. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/styles/prettify-jsdoc.css +0 -0
  104. package/docs/@leofcoin/chain/{1.0.13 → 1.0.24}/styles/prettify-tomorrow.css +0 -0
  105. package/package.json +55 -52
  106. package/rollup.config.js +9 -2
  107. package/src/chain.js +264 -111
  108. package/src/config/config.js +6 -2
  109. package/src/machine.js +15 -11
  110. package/src/node.js +2 -35
  111. package/src/state.js +8 -3
  112. package/src/transactions/transaction.js +3 -0
  113. package/test/chain.js +39 -60
  114. package/webpack.config.js +10 -140
  115. package/dist/browser/peernet.js +0 -101516
  116. package/dist/chain.browser.js.tmp-browserify-65536332430764332457 +0 -0
  117. package/dist/chain.browser.js.tmp-browserify-77283953363424018335 +0 -0
  118. package/dist/chain.browser.min.js +0 -2
  119. package/dist/chain.browser.min.js.LICENSE.txt +0 -10
  120. package/dist/lib.browser.js +0 -16966
  121. package/dist/native.js +0 -1
  122. package/dist/node.browser.min.js +0 -2
  123. package/dist/node.browser.min.js.LICENSE.txt +0 -12
  124. package/dist/token/native.js +0 -1
  125. package/dist/token.js +0 -1
  126. package/docs/@leofcoin/chain/1.0.12/chain.js.html +0 -738
  127. package/docs/@leofcoin/chain/1.0.12/contracts_proxies_factoryProxy.js.html +0 -135
  128. package/docs/@leofcoin/chain/1.0.12/contracts_proxies_nameServiceProxy.js.html +0 -135
  129. package/docs/@leofcoin/chain/1.0.12/contracts_validators.js.html +0 -242
  130. package/docs/@leofcoin/chain/1.0.12/machine.js.html +0 -252
  131. package/docs/@leofcoin/chain/1.0.12/standards_token.js.html +0 -260
  132. package/docs/@leofcoin/chain/1.0.13/chain.js.html +0 -738
  133. package/docs/@leofcoin/chain/1.0.13/contracts_validators.js.html +0 -242
  134. package/docs/@leofcoin/chain/1.0.13/global.html +0 -1153
  135. package/docs/@leofcoin/chain/1.0.13/machine.js.html +0 -251
  136. package/docs/@leofcoin/chain/1.0.13/standards_roles.js.html +0 -188
  137. package/docs/@leofcoin/chain/1.0.14/contracts_factory.js.html +0 -182
  138. package/docs/@leofcoin/chain/1.0.14/contracts_nameService.js.html +0 -231
  139. package/docs/@leofcoin/chain/1.0.14/contracts_proxies_nativeTokenProxy.js.html +0 -135
  140. package/docs/@leofcoin/chain/1.0.14/contracts_proxies_validatorsProxy.js.html +0 -135
  141. package/docs/@leofcoin/chain/1.0.14/contracts_proxies_votingProxy.js.html +0 -135
  142. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Bold-webfont.eot +0 -0
  143. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Bold-webfont.svg +0 -1830
  144. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Bold-webfont.woff +0 -0
  145. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  146. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  147. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  148. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Italic-webfont.eot +0 -0
  149. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Italic-webfont.svg +0 -1830
  150. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Italic-webfont.woff +0 -0
  151. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Light-webfont.eot +0 -0
  152. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Light-webfont.svg +0 -1831
  153. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Light-webfont.woff +0 -0
  154. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  155. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  156. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  157. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Regular-webfont.eot +0 -0
  158. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Regular-webfont.svg +0 -1831
  159. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Regular-webfont.woff +0 -0
  160. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Semibold-webfont.eot +0 -0
  161. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  162. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  163. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-Semibold-webfont.woff +0 -0
  164. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  165. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  166. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  167. package/docs/@leofcoin/chain/1.0.14/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  168. package/docs/@leofcoin/chain/1.0.14/global.html +0 -1153
  169. package/docs/@leofcoin/chain/1.0.14/icons/home.svg +0 -4
  170. package/docs/@leofcoin/chain/1.0.14/icons/search.svg +0 -4
  171. package/docs/@leofcoin/chain/1.0.14/index.html +0 -125
  172. package/docs/@leofcoin/chain/1.0.14/scripts/linenumber.js +0 -23
  173. package/docs/@leofcoin/chain/1.0.14/scripts/pagelocation.js +0 -89
  174. package/docs/@leofcoin/chain/1.0.14/styles/collapse.css +0 -27
  175. package/docs/@leofcoin/chain/1.0.14/styles/jsdoc-default.css +0 -953
  176. package/docs/@leofcoin/chain/1.0.14/styles/prettify-jsdoc.css +0 -111
  177. package/docs/@leofcoin/chain/1.0.14/styles/prettify-tomorrow.css +0 -138
  178. package/docs/@leofcoin/chain/1.0.15/chain.js.html +0 -738
  179. package/docs/@leofcoin/chain/1.0.15/contracts_factory.js.html +0 -182
  180. package/docs/@leofcoin/chain/1.0.15/contracts_nameService.js.html +0 -231
  181. package/docs/@leofcoin/chain/1.0.15/contracts_proxies_factoryProxy.js.html +0 -135
  182. package/docs/@leofcoin/chain/1.0.15/contracts_proxies_nameServiceProxy.js.html +0 -135
  183. package/docs/@leofcoin/chain/1.0.15/contracts_proxies_nativeTokenProxy.js.html +0 -135
  184. package/docs/@leofcoin/chain/1.0.15/contracts_proxies_validatorsProxy.js.html +0 -135
  185. package/docs/@leofcoin/chain/1.0.15/contracts_proxies_votingProxy.js.html +0 -135
  186. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Bold-webfont.eot +0 -0
  187. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Bold-webfont.svg +0 -1830
  188. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Bold-webfont.woff +0 -0
  189. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  190. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  191. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  192. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Italic-webfont.eot +0 -0
  193. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Italic-webfont.svg +0 -1830
  194. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Italic-webfont.woff +0 -0
  195. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Light-webfont.eot +0 -0
  196. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Light-webfont.svg +0 -1831
  197. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Light-webfont.woff +0 -0
  198. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  199. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  200. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  201. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Regular-webfont.eot +0 -0
  202. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Regular-webfont.svg +0 -1831
  203. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Regular-webfont.woff +0 -0
  204. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Semibold-webfont.eot +0 -0
  205. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  206. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  207. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-Semibold-webfont.woff +0 -0
  208. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  209. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  210. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  211. package/docs/@leofcoin/chain/1.0.15/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  212. package/docs/@leofcoin/chain/1.0.15/icons/home.svg +0 -4
  213. package/docs/@leofcoin/chain/1.0.15/icons/search.svg +0 -4
  214. package/docs/@leofcoin/chain/1.0.15/index.html +0 -125
  215. package/docs/@leofcoin/chain/1.0.15/scripts/linenumber.js +0 -23
  216. package/docs/@leofcoin/chain/1.0.15/scripts/pagelocation.js +0 -89
  217. package/docs/@leofcoin/chain/1.0.15/standards_roles.js.html +0 -188
  218. package/docs/@leofcoin/chain/1.0.15/standards_token.js.html +0 -260
  219. package/docs/@leofcoin/chain/1.0.15/styles/collapse.css +0 -27
  220. package/docs/@leofcoin/chain/1.0.15/styles/jsdoc-default.css +0 -953
  221. package/docs/@leofcoin/chain/1.0.15/styles/prettify-jsdoc.css +0 -111
  222. package/docs/@leofcoin/chain/1.0.15/styles/prettify-tomorrow.css +0 -138
  223. package/docs/@leofcoin/chain/1.0.16/contracts_factory.js.html +0 -182
  224. package/docs/@leofcoin/chain/1.0.16/contracts_nameService.js.html +0 -231
  225. package/docs/@leofcoin/chain/1.0.16/contracts_proxies_factoryProxy.js.html +0 -135
  226. package/docs/@leofcoin/chain/1.0.16/contracts_proxies_nameServiceProxy.js.html +0 -135
  227. package/docs/@leofcoin/chain/1.0.16/contracts_proxies_nativeTokenProxy.js.html +0 -135
  228. package/docs/@leofcoin/chain/1.0.16/contracts_proxies_validatorsProxy.js.html +0 -135
  229. package/docs/@leofcoin/chain/1.0.16/contracts_proxies_votingProxy.js.html +0 -135
  230. package/docs/@leofcoin/chain/1.0.16/contracts_validators.js.html +0 -242
  231. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Bold-webfont.eot +0 -0
  232. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Bold-webfont.svg +0 -1830
  233. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Bold-webfont.woff +0 -0
  234. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  235. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  236. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  237. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Italic-webfont.eot +0 -0
  238. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Italic-webfont.svg +0 -1830
  239. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Italic-webfont.woff +0 -0
  240. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Light-webfont.eot +0 -0
  241. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Light-webfont.svg +0 -1831
  242. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Light-webfont.woff +0 -0
  243. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  244. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  245. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  246. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Regular-webfont.eot +0 -0
  247. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Regular-webfont.svg +0 -1831
  248. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Regular-webfont.woff +0 -0
  249. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Semibold-webfont.eot +0 -0
  250. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  251. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  252. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-Semibold-webfont.woff +0 -0
  253. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  254. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  255. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  256. package/docs/@leofcoin/chain/1.0.16/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  257. package/docs/@leofcoin/chain/1.0.16/global.html +0 -1153
  258. package/docs/@leofcoin/chain/1.0.16/icons/home.svg +0 -4
  259. package/docs/@leofcoin/chain/1.0.16/icons/search.svg +0 -4
  260. package/docs/@leofcoin/chain/1.0.16/index.html +0 -125
  261. package/docs/@leofcoin/chain/1.0.16/machine.js.html +0 -251
  262. package/docs/@leofcoin/chain/1.0.16/scripts/linenumber.js +0 -23
  263. package/docs/@leofcoin/chain/1.0.16/scripts/pagelocation.js +0 -89
  264. package/docs/@leofcoin/chain/1.0.16/standards_roles.js.html +0 -188
  265. package/docs/@leofcoin/chain/1.0.16/standards_token.js.html +0 -260
  266. package/docs/@leofcoin/chain/1.0.16/styles/collapse.css +0 -27
  267. package/docs/@leofcoin/chain/1.0.16/styles/jsdoc-default.css +0 -953
  268. package/docs/@leofcoin/chain/1.0.16/styles/prettify-jsdoc.css +0 -111
  269. package/docs/@leofcoin/chain/1.0.16/styles/prettify-tomorrow.css +0 -138
  270. package/docs/@leofcoin/chain/1.0.17/chain.js.html +0 -738
  271. package/docs/@leofcoin/chain/1.0.17/contracts_factory.js.html +0 -182
  272. package/docs/@leofcoin/chain/1.0.17/contracts_nameService.js.html +0 -231
  273. package/docs/@leofcoin/chain/1.0.17/contracts_proxies_factoryProxy.js.html +0 -135
  274. package/docs/@leofcoin/chain/1.0.17/contracts_proxies_nameServiceProxy.js.html +0 -135
  275. package/docs/@leofcoin/chain/1.0.17/contracts_proxies_nativeTokenProxy.js.html +0 -135
  276. package/docs/@leofcoin/chain/1.0.17/contracts_proxies_validatorsProxy.js.html +0 -135
  277. package/docs/@leofcoin/chain/1.0.17/contracts_proxies_votingProxy.js.html +0 -135
  278. package/docs/@leofcoin/chain/1.0.17/contracts_validators.js.html +0 -242
  279. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Bold-webfont.eot +0 -0
  280. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Bold-webfont.svg +0 -1830
  281. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Bold-webfont.woff +0 -0
  282. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  283. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  284. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  285. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Italic-webfont.eot +0 -0
  286. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Italic-webfont.svg +0 -1830
  287. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Italic-webfont.woff +0 -0
  288. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Light-webfont.eot +0 -0
  289. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Light-webfont.svg +0 -1831
  290. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Light-webfont.woff +0 -0
  291. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  292. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  293. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  294. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Regular-webfont.eot +0 -0
  295. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Regular-webfont.svg +0 -1831
  296. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Regular-webfont.woff +0 -0
  297. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Semibold-webfont.eot +0 -0
  298. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  299. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  300. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-Semibold-webfont.woff +0 -0
  301. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  302. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  303. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  304. package/docs/@leofcoin/chain/1.0.17/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  305. package/docs/@leofcoin/chain/1.0.17/global.html +0 -1153
  306. package/docs/@leofcoin/chain/1.0.17/icons/home.svg +0 -4
  307. package/docs/@leofcoin/chain/1.0.17/icons/search.svg +0 -4
  308. package/docs/@leofcoin/chain/1.0.17/index.html +0 -125
  309. package/docs/@leofcoin/chain/1.0.17/machine.js.html +0 -251
  310. package/docs/@leofcoin/chain/1.0.17/scripts/linenumber.js +0 -23
  311. package/docs/@leofcoin/chain/1.0.17/scripts/pagelocation.js +0 -89
  312. package/docs/@leofcoin/chain/1.0.17/standards_roles.js.html +0 -188
  313. package/docs/@leofcoin/chain/1.0.17/standards_token.js.html +0 -260
  314. package/docs/@leofcoin/chain/1.0.17/styles/collapse.css +0 -27
  315. package/docs/@leofcoin/chain/1.0.17/styles/jsdoc-default.css +0 -953
  316. package/docs/@leofcoin/chain/1.0.17/styles/prettify-jsdoc.css +0 -111
  317. package/docs/@leofcoin/chain/1.0.17/styles/prettify-tomorrow.css +0 -138
  318. package/docs/@leofcoin/chain/1.0.18/chain.js.html +0 -738
  319. package/docs/@leofcoin/chain/1.0.18/contracts_factory.js.html +0 -182
  320. package/docs/@leofcoin/chain/1.0.18/contracts_nameService.js.html +0 -231
  321. package/docs/@leofcoin/chain/1.0.18/contracts_proxies_factoryProxy.js.html +0 -135
  322. package/docs/@leofcoin/chain/1.0.18/contracts_proxies_nameServiceProxy.js.html +0 -135
  323. package/docs/@leofcoin/chain/1.0.18/contracts_proxies_nativeTokenProxy.js.html +0 -135
  324. package/docs/@leofcoin/chain/1.0.18/contracts_proxies_validatorsProxy.js.html +0 -135
  325. package/docs/@leofcoin/chain/1.0.18/contracts_proxies_votingProxy.js.html +0 -135
  326. package/docs/@leofcoin/chain/1.0.18/contracts_validators.js.html +0 -242
  327. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Bold-webfont.eot +0 -0
  328. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Bold-webfont.svg +0 -1830
  329. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Bold-webfont.woff +0 -0
  330. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  331. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  332. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  333. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Italic-webfont.eot +0 -0
  334. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Italic-webfont.svg +0 -1830
  335. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Italic-webfont.woff +0 -0
  336. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Light-webfont.eot +0 -0
  337. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Light-webfont.svg +0 -1831
  338. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Light-webfont.woff +0 -0
  339. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  340. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  341. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  342. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Regular-webfont.eot +0 -0
  343. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Regular-webfont.svg +0 -1831
  344. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Regular-webfont.woff +0 -0
  345. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Semibold-webfont.eot +0 -0
  346. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  347. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  348. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-Semibold-webfont.woff +0 -0
  349. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  350. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  351. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  352. package/docs/@leofcoin/chain/1.0.18/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  353. package/docs/@leofcoin/chain/1.0.18/global.html +0 -1153
  354. package/docs/@leofcoin/chain/1.0.18/icons/home.svg +0 -4
  355. package/docs/@leofcoin/chain/1.0.18/icons/search.svg +0 -4
  356. package/docs/@leofcoin/chain/1.0.18/index.html +0 -125
  357. package/docs/@leofcoin/chain/1.0.18/machine.js.html +0 -251
  358. package/docs/@leofcoin/chain/1.0.18/scripts/linenumber.js +0 -23
  359. package/docs/@leofcoin/chain/1.0.18/scripts/pagelocation.js +0 -89
  360. package/docs/@leofcoin/chain/1.0.18/standards_roles.js.html +0 -188
  361. package/docs/@leofcoin/chain/1.0.18/standards_token.js.html +0 -260
  362. package/docs/@leofcoin/chain/1.0.18/styles/collapse.css +0 -27
  363. package/docs/@leofcoin/chain/1.0.18/styles/jsdoc-default.css +0 -953
  364. package/docs/@leofcoin/chain/1.0.18/styles/prettify-jsdoc.css +0 -111
  365. package/docs/@leofcoin/chain/1.0.18/styles/prettify-tomorrow.css +0 -138
  366. package/docs/@leofcoin/chain/1.0.19/chain.js.html +0 -738
  367. package/docs/@leofcoin/chain/1.0.19/contracts_factory.js.html +0 -182
  368. package/docs/@leofcoin/chain/1.0.19/contracts_nameService.js.html +0 -231
  369. package/docs/@leofcoin/chain/1.0.19/contracts_proxies_factoryProxy.js.html +0 -135
  370. package/docs/@leofcoin/chain/1.0.19/contracts_proxies_nameServiceProxy.js.html +0 -135
  371. package/docs/@leofcoin/chain/1.0.19/contracts_proxies_nativeTokenProxy.js.html +0 -135
  372. package/docs/@leofcoin/chain/1.0.19/contracts_proxies_validatorsProxy.js.html +0 -135
  373. package/docs/@leofcoin/chain/1.0.19/contracts_proxies_votingProxy.js.html +0 -135
  374. package/docs/@leofcoin/chain/1.0.19/contracts_validators.js.html +0 -242
  375. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Bold-webfont.eot +0 -0
  376. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Bold-webfont.svg +0 -1830
  377. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Bold-webfont.woff +0 -0
  378. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  379. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  380. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  381. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Italic-webfont.eot +0 -0
  382. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Italic-webfont.svg +0 -1830
  383. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Italic-webfont.woff +0 -0
  384. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Light-webfont.eot +0 -0
  385. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Light-webfont.svg +0 -1831
  386. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Light-webfont.woff +0 -0
  387. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  388. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  389. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  390. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Regular-webfont.eot +0 -0
  391. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Regular-webfont.svg +0 -1831
  392. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Regular-webfont.woff +0 -0
  393. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Semibold-webfont.eot +0 -0
  394. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  395. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  396. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-Semibold-webfont.woff +0 -0
  397. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  398. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  399. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  400. package/docs/@leofcoin/chain/1.0.19/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  401. package/docs/@leofcoin/chain/1.0.19/global.html +0 -1153
  402. package/docs/@leofcoin/chain/1.0.19/icons/home.svg +0 -4
  403. package/docs/@leofcoin/chain/1.0.19/icons/search.svg +0 -4
  404. package/docs/@leofcoin/chain/1.0.19/index.html +0 -125
  405. package/docs/@leofcoin/chain/1.0.19/machine.js.html +0 -251
  406. package/docs/@leofcoin/chain/1.0.19/scripts/linenumber.js +0 -23
  407. package/docs/@leofcoin/chain/1.0.19/scripts/pagelocation.js +0 -89
  408. package/docs/@leofcoin/chain/1.0.19/standards_roles.js.html +0 -188
  409. package/docs/@leofcoin/chain/1.0.19/standards_token.js.html +0 -260
  410. package/docs/@leofcoin/chain/1.0.19/styles/collapse.css +0 -27
  411. package/docs/@leofcoin/chain/1.0.19/styles/jsdoc-default.css +0 -953
  412. package/docs/@leofcoin/chain/1.0.19/styles/prettify-jsdoc.css +0 -111
  413. package/docs/@leofcoin/chain/1.0.19/styles/prettify-tomorrow.css +0 -138
package/dist/chain.js CHANGED
@@ -2,12 +2,180 @@
2
2
 
3
3
  var utils = require('@leofcoin/utils');
4
4
  require('vm');
5
+ var codecFormatInterface = require('@leofcoin/codec-format-interface');
6
+ require('@ethersproject/bignumber');
7
+ require('@ethersproject/units');
5
8
  var messages = require('@leofcoin/messages');
6
- var lib = require('@leofcoin/lib');
9
+ var addresses$1 = require('@leofcoin/addresses');
10
+ var MultiWallet = require('@leofcoin/multi-wallet');
11
+ var index = require('@leofcoin/codec-format-interface/dist/index');
12
+ var bs32 = require('@vandeurenglenn/base32');
13
+ var util = require('util');
14
+ var fs = require('fs');
7
15
 
8
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
17
 
10
- var lib__default = /*#__PURE__*/_interopDefaultLegacy(lib);
18
+ var MultiWallet__default = /*#__PURE__*/_interopDefaultLegacy(MultiWallet);
19
+ var bs32__default = /*#__PURE__*/_interopDefaultLegacy(bs32);
20
+
21
+ var proto$4 = `
22
+ message ContractMessage {
23
+ required string creator = 1;
24
+ required bytes contract = 2;
25
+ repeated string constructorParameters = 3;
26
+ }
27
+ `;
28
+
29
+ class ContractMessage extends codecFormatInterface.FormatInterface {
30
+ get keys() {
31
+ return ['creator', 'contract', 'constructorParameters']
32
+ }
33
+
34
+ get messageName() {
35
+ return 'ContractMessage'
36
+ }
37
+
38
+ constructor(buffer) {
39
+ super(buffer, proto$4, {name: 'contract-message'});
40
+ }
41
+ }
42
+
43
+ var proto$3 = `
44
+
45
+ message TransactionMessage {
46
+ required uint64 timestamp = 1;
47
+ required string from = 2;
48
+ required string to = 3;
49
+ required uint64 nonce = 4;
50
+ required string method = 5;
51
+ repeated string params = 6;
52
+ required string signature = 7;
53
+ }
54
+ `;
55
+
56
+ class TransactionMessage extends codecFormatInterface.FormatInterface {
57
+ get keys() {
58
+ return ['timestamp', 'from', 'to', 'nonce', 'method', 'params', 'signature']
59
+ }
60
+
61
+ get messageName() {
62
+ return 'TransactionMessage'
63
+ }
64
+
65
+ constructor(buffer) {
66
+ const name = 'transaction-message';
67
+ super(buffer, proto$3, {name});
68
+ }
69
+ }
70
+
71
+ var proto$2 = `
72
+ message ValidatorMessage {
73
+ required string address = 1;
74
+ required string reward = 2;
75
+ }
76
+
77
+ message Transaction {
78
+ required string hash = 1;
79
+ required uint64 timestamp = 2;
80
+ required string from = 3;
81
+ required string to = 4;
82
+ required uint64 nonce = 5;
83
+ required string method = 6;
84
+ repeated string params = 7;
85
+ }
86
+
87
+ message BlockMessage {
88
+ required uint64 index = 1;
89
+ required string previousHash = 3;
90
+ required uint64 timestamp = 4;
91
+ required uint64 reward = 5;
92
+ required string fees = 6;
93
+ repeated Transaction transactions = 7;
94
+ repeated ValidatorMessage validators = 8;
95
+ }
96
+ `;
97
+
98
+ class BlockMessage extends codecFormatInterface.FormatInterface {
99
+ get keys() {
100
+ return ['index', 'previousHash', 'timestamp', 'reward', 'fees', 'transactions', 'validators']
101
+ }
102
+
103
+ get messageName() {
104
+ return 'BlockMessage'
105
+ }
106
+
107
+ constructor(buffer) {
108
+ const name = 'block-message';
109
+ super(buffer, proto$2, {name});
110
+ }
111
+ }
112
+
113
+ var proto$1 = `
114
+
115
+ message BWMessage {
116
+ required uint64 up = 1;
117
+ required uint64 down = 2;
118
+ }
119
+ `;
120
+
121
+ class BWMessage extends codecFormatInterface.FormatInterface {
122
+ get keys() {
123
+ return ['up', 'down']
124
+ }
125
+
126
+ get messageName() {
127
+ return 'BWMessage'
128
+ }
129
+
130
+ constructor(buffer) {
131
+ const name = 'bw-message';
132
+ super(buffer, proto$1, {name});
133
+ }
134
+ }
135
+
136
+ var proto = `
137
+
138
+ message BWRequestMessage {
139
+ }
140
+ `;
141
+
142
+ class BWRequestMessage extends codecFormatInterface.FormatInterface {
143
+ get keys() {
144
+ return []
145
+ }
146
+
147
+ get messageName() {
148
+ return 'BWRequestMessage'
149
+ }
150
+
151
+ constructor(buffer) {
152
+ const name = 'bw-request-message';
153
+ super(buffer, proto, {name});
154
+ }
155
+ }
156
+
157
+ var contractFactory$1 = "ba5xdac4ybttixammtscsptfsvtqwnzuaw5p6eghn2sh7tf5dskqtdghjc";
158
+ var nativeToken$1 = "ba5xdad2t57fpdadkrumwht32uwcdubjppq6z2vkwomgowfjpzmjbn2wo2";
159
+ var nameService$1 = "ba5xdadb3f2jptnup2j6ev6usz4vs6p5vo7vst5hj7r4ddkhdxpnvebxvh";
160
+ var validators$1 = "ba5xdacicpruzh4lu6je5mfn42f6s4y7tboxosyrspxmner5wjma5bvntn";
161
+ var addresses = {
162
+ contractFactory: contractFactory$1,
163
+ nativeToken: nativeToken$1,
164
+ nameService: nameService$1,
165
+ validators: validators$1
166
+ };
167
+
168
+ const byteFormats = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
169
+
170
+ const formatBytes = (bytes, decimals = 2) => {
171
+ if (bytes === 0) return '0 Bytes';
172
+ if (decimals < 0) decimals = 0;
173
+
174
+ const k = 1024;
175
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
176
+
177
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${byteFormats[i]}`
178
+ };
11
179
 
12
180
  // import State from './state'
13
181
 
@@ -30,15 +198,18 @@ class Machine {
30
198
  // return
31
199
  try {
32
200
  let contracts = [
33
- contractStore.get(lib__default["default"].contractFactory),
34
- contractStore.get(lib__default["default"].nativeToken),
35
- contractStore.get(lib__default["default"].validators),
36
- contractStore.get(lib__default["default"].nameService)
201
+ contractStore.get(contractFactory$1),
202
+ contractStore.get(nativeToken$1),
203
+ contractStore.get(validators$1),
204
+ contractStore.get(nameService$1)
37
205
  ];
38
206
 
39
207
  contracts = await Promise.all(contracts);
208
+ console.log(contracts);
40
209
  for (const contract of contracts) {
41
- const message = new messages.ContractMessage(new Uint8Array(contract.buffer, contract.buffer.byteOffset, contract.buffer.byteLength));
210
+
211
+ const message = await new ContractMessage(new Uint8Array(contract.buffer, contract.buffer.byteOffset, contract.buffer.byteLength));
212
+ console.log(message);
42
213
  await this.#runContract(message);
43
214
  }
44
215
  } catch (e) {
@@ -59,6 +230,7 @@ console.log(e);
59
230
  }
60
231
 
61
232
  async #runContract(contractMessage) {
233
+ console.log(contractMessage);
62
234
  const params = contractMessage.decoded.constructorParameters;
63
235
  try {
64
236
 
@@ -67,16 +239,15 @@ console.log(e);
67
239
 
68
240
  globalThis.msg = this.#createMessage(contractMessage.decoded.creator);
69
241
  // globalThis.msg = {sender: contractMessage.decoded.creator}
70
- this.#contracts[contractMessage.hash] = new Contract(...params);
71
- debug(`loaded contract: ${contractMessage.hash}`);
72
- debug(`size: ${Math.round((contractMessage.encoded.length / 1024) * 100) / 100} kb`);
242
+ this.#contracts[await contractMessage.hash] = await new Contract(...params);
243
+ debug(`loaded contract: ${await contractMessage.hash}`);
244
+ debug(`size: ${formatBytes(contractMessage.encoded.length)}`);
73
245
  } catch (e) {
74
246
  console.log(e);
75
247
  console.warn(`removing contract ${contractMessage.hash}`);
76
248
  await contractStore.delete(contractMessage.hash, contractMessage.encoded);
77
249
  }
78
250
  }
79
-
80
251
  /**
81
252
  * @params {ContractMessage} - contractMessage
82
253
  */
@@ -135,9 +306,47 @@ console.log(e);
135
306
  }
136
307
  }
137
308
 
309
+ var contractFactory = "237,198,1,10,54,51,67,122,86,50,109,72,55,122,115,71,66,119,54,122,122,71,99,53,69,102,111,109,116,76,78,114,116,75,78,51,103,78,90,77,98,69,99,112,89,118,83,82,75,115,52,106,85,90,68,116,118,71,121,18,146,8,114,101,116,117,114,110,32,99,108,97,115,115,32,70,97,99,116,111,114,121,123,35,110,97,109,101,61,34,65,114,116,79,110,108,105,110,101,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,34,59,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,48,59,35,99,111,110,116,114,97,99,116,115,61,91,93,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,38,38,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,99,111,110,116,114,97,99,116,115,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,116,111,116,97,108,67,111,110,116,114,97,99,116,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,116,111,116,97,108,67,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,44,99,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,125,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,91,46,46,46,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,93,125,103,101,116,32,116,111,116,97,108,67,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,125,105,115,118,97,108,105,100,40,104,97,115,104,44,99,114,101,97,116,111,114,44,99,111,110,116,114,97,99,116,44,99,111,110,115,116,114,117,99,116,111,114,80,97,114,97,109,101,116,101,114,115,61,91,93,41,123,99,111,110,115,116,32,109,101,115,115,97,103,101,61,110,101,119,32,67,111,110,116,114,97,99,116,77,101,115,115,97,103,101,40,123,99,114,101,97,116,111,114,58,99,114,101,97,116,111,114,44,99,111,110,116,114,97,99,116,58,99,111,110,116,114,97,99,116,44,99,111,110,115,116,114,117,99,116,111,114,80,97,114,97,109,101,116,101,114,115,58,99,111,110,115,116,114,117,99,116,111,114,80,97,114,97,109,101,116,101,114,115,125,41,59,114,101,116,117,114,110,32,66,111,111,108,101,97,110,40,109,101,115,115,97,103,101,46,104,97,115,104,61,61,61,104,97,115,104,41,125,97,115,121,110,99,32,100,101,112,108,111,121,67,111,110,116,114,97,99,116,40,99,111,110,116,114,97,99,116,72,97,115,104,44,99,114,101,97,116,111,114,44,99,111,110,116,114,97,99,116,44,99,111,110,115,116,114,117,99,116,111,114,80,97,114,97,109,101,116,101,114,115,61,91,93,41,123,105,102,40,99,111,110,116,114,97,99,116,46,99,114,101,97,116,111,114,33,61,61,109,115,103,46,115,101,110,100,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,110,108,121,32,97,32,99,111,110,116,114,97,99,116,32,99,114,101,97,116,111,114,32,99,97,110,32,100,101,112,108,111,121,32,97,32,99,111,110,116,114,97,99,116,34,41,59,105,102,40,97,119,97,105,116,32,99,111,110,116,114,97,99,116,83,116,111,114,101,46,104,97,115,40,104,97,115,104,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,100,117,112,108,105,99,97,116,101,32,99,111,110,116,114,97,99,116,34,41,59,105,102,40,33,116,104,105,115,46,105,115,86,97,108,105,100,40,99,111,110,116,114,97,99,116,72,97,115,104,44,99,114,101,97,116,111,114,44,99,111,110,116,114,97,99,116,44,99,111,110,115,116,114,117,99,116,111,114,80,97,114,97,109,101,116,101,114,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,118,97,108,105,100,32,99,111,110,116,114,97,99,116,34,41,59,97,119,97,105,116,32,99,111,110,116,114,97,99,116,83,116,111,114,101,46,112,117,116,40,104,97,115,104,44,101,110,99,111,100,101,100,41,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,43,61,49,44,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,112,117,115,104,40,104,97,115,104,41,125,125,59,10";
310
+ var nativeToken = "237,198,1,10,54,51,67,122,86,50,109,72,55,122,115,71,66,119,54,122,122,71,99,53,69,102,111,109,116,76,78,114,116,75,78,51,103,78,90,77,98,69,99,112,89,118,83,82,75,115,52,106,85,90,68,116,118,71,121,18,152,26,114,101,116,117,114,110,32,99,108,97,115,115,32,65,114,116,79,110,108,105,110,101,32,101,120,116,101,110,100,115,32,99,108,97,115,115,32,84,111,107,101,110,32,101,120,116,101,110,100,115,32,99,108,97,115,115,32,82,111,108,101,115,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,114,111,108,101,115,41,123,105,102,40,114,111,108,101,115,41,123,105,102,40,33,40,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,114,111,108,101,115,44,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,45,49,33,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,123,35,110,97,109,101,59,35,115,121,109,98,111,108,59,35,104,111,108,100,101,114,115,61,48,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,97,112,112,114,111,118,97,108,115,61,123,125,59,35,100,101,99,105,109,97,108,115,61,49,56,59,35,116,111,116,97,108,83,117,112,112,108,121,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,48,41,59,99,111,110,115,116,114,117,99,116,111,114,40,110,97,109,101,44,115,121,109,98,111,108,44,100,101,99,105,109,97,108,115,61,49,56,44,115,116,97,116,101,41,123,105,102,40,33,110,97,109,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,115,121,109,98,111,108,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,121,109,98,111,108,32,117,110,100,101,102,105,110,101,100,34,41,59,115,117,112,101,114,40,115,116,97,116,101,63,46,114,111,108,101,115,41,44,116,104,105,115,46,35,110,97,109,101,61,110,97,109,101,44,116,104,105,115,46,35,115,121,109,98,111,108,61,115,121,109,98,111,108,44,116,104,105,115,46,35,100,101,99,105,109,97,108,115,61,100,101,99,105,109,97,108,115,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,104,111,108,100,101,114,115,58,116,104,105,115,46,104,111,108,100,101,114,115,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,46,46,46,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,125,44,116,111,116,97,108,83,117,112,112,108,121,58,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,125,125,103,101,116,32,116,111,116,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,115,121,109,98,111,108,125,103,101,116,32,104,111,108,100,101,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,104,111,108,100,101,114,115,125,103,101,116,32,98,97,108,97,110,99,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,98,97,108,97,110,99,101,115,125,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,77,73,78,84,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,46,97,100,100,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,66,85,82,78,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,46,115,117,98,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,124,124,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,125,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,123,34,48,120,48,48,34,61,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,116,111,72,101,120,83,116,114,105,110,103,40,41,63,116,104,105,115,46,35,104,111,108,100,101,114,115,45,61,49,58,34,48,120,48,48,34,33,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,116,111,72,101,120,83,116,114,105,110,103,40,41,38,38,34,48,120,48,48,34,61,61,61,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,46,116,111,72,101,120,83,116,114,105,110,103,40,41,38,38,40,116,104,105,115,46,35,104,111,108,100,101,114,115,43,61,49,41,125,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,124,124,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,48,41,41,59,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,97,100,100,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,115,117,98,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,98,97,108,97,110,99,101,79,102,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,125,115,101,116,65,112,112,114,111,118,97,108,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,111,119,110,101,114,61,103,108,111,98,97,108,84,104,105,115,46,109,115,103,46,115,101,110,100,101,114,59,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,124,124,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,97,109,111,117,110,116,125,97,112,112,114,111,118,101,100,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,61,61,97,109,111,117,110,116,125,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,125,123,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,34,65,114,116,79,110,108,105,110,101,34,44,34,65,82,84,34,44,49,56,44,115,116,97,116,101,41,125,125,59,10";
311
+ var nameService = "237,198,1,10,54,51,67,122,86,50,109,72,55,122,115,71,66,119,54,122,122,71,99,53,69,102,111,109,116,76,78,114,116,75,78,51,103,78,90,77,98,69,99,112,89,118,83,82,75,115,52,106,85,90,68,116,118,71,121,18,138,12,114,101,116,117,114,110,32,99,108,97,115,115,32,78,97,109,101,83,101,114,118,105,99,101,123,35,110,97,109,101,61,34,65,114,116,79,110,108,105,110,101,78,97,109,101,83,101,114,118,105,99,101,34,59,35,111,119,110,101,114,59,35,112,114,105,99,101,61,48,59,35,114,101,103,105,115,116,114,121,61,123,125,59,35,99,117,114,114,101,110,99,121,59,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,114,101,103,105,115,116,114,121,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,103,101,116,32,115,116,97,116,101,40,41,123,125,99,111,110,115,116,114,117,99,116,111,114,40,102,97,99,116,111,114,121,65,100,100,114,101,115,115,44,99,117,114,114,101,110,99,121,44,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,44,112,114,105,99,101,44,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,111,119,110,101,114,61,115,116,97,116,101,46,111,119,110,101,114,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,61,115,116,97,116,101,46,114,101,103,105,115,116,114,121,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,115,116,97,116,101,46,99,117,114,114,101,110,99,121,44,116,104,105,115,46,35,112,114,105,99,101,61,115,116,97,116,101,46,112,114,105,99,101,41,58,40,116,104,105,115,46,35,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,112,114,105,99,101,61,112,114,105,99,101,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,102,97,99,116,111,114,121,65,100,100,114,101,115,115,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,84,111,107,101,110,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,99,117,114,114,101,110,99,121,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,86,97,108,105,100,97,116,111,114,115,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,125,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,41,125,99,104,97,110,103,101,79,119,110,101,114,40,111,119,110,101,114,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,111,119,110,101,114,61,111,119,110,101,114,125,99,104,97,110,103,101,80,114,105,99,101,40,112,114,105,99,101,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,112,114,105,99,101,61,112,114,105,99,101,125,99,104,97,110,103,101,67,117,114,114,101,110,99,121,40,99,117,114,114,101,110,99,121,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,125,97,115,121,110,99,32,112,117,114,99,104,97,115,101,78,97,109,101,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,60,116,104,105,115,46,35,112,114,105,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,105,99,101,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,59,116,114,121,123,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,111,119,110,101,114,44,116,104,105,115,46,35,112,114,105,99,101,93,41,125,99,97,116,99,104,40,101,41,123,116,104,114,111,119,32,101,125,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,97,100,100,114,101,115,115,125,125,108,111,111,107,117,112,40,110,97,109,101,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,125,116,114,97,110,115,102,101,114,79,119,110,101,114,115,104,105,112,40,110,97,109,101,44,116,111,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,61,116,111,125,99,104,97,110,103,101,65,100,100,114,101,115,115,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,97,100,100,114,101,115,115,61,97,100,100,114,101,115,115,125,125,59,10,26,58,98,97,53,120,100,97,99,52,121,98,116,116,105,120,97,109,109,116,115,99,115,112,116,102,115,118,116,113,119,110,122,117,97,119,53,112,54,101,103,104,110,50,115,104,55,116,102,53,100,115,107,113,116,100,103,104,106,99,26,58,98,97,53,120,100,97,100,50,116,53,55,102,112,100,97,100,107,114,117,109,119,104,116,51,50,117,119,99,100,117,98,106,112,112,113,54,122,50,118,107,119,111,109,103,111,119,102,106,112,122,109,106,98,110,50,119,111,50,26,58,98,97,53,120,100,97,99,105,99,112,114,117,122,104,52,108,117,54,106,101,53,109,102,110,52,50,102,54,115,52,121,55,116,98,111,120,111,115,121,114,115,112,120,109,110,101,114,53,119,106,109,97,53,98,118,110,116,110,26,17,48,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49";
312
+ var validators = "237,198,1,10,54,51,67,122,86,50,109,72,55,122,115,71,66,119,54,122,122,71,99,53,69,102,111,109,116,76,78,114,116,75,78,51,103,78,90,77,98,69,99,112,89,118,83,82,75,115,52,106,85,90,68,116,118,71,121,18,215,16,114,101,116,117,114,110,32,99,108,97,115,115,32,86,97,108,105,100,97,116,111,114,115,123,35,110,97,109,101,61,34,65,114,116,79,110,108,105,110,101,86,97,108,105,100,97,116,111,114,115,34,59,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,61,48,59,35,118,97,108,105,100,97,116,111,114,115,61,123,125,59,35,111,119,110,101,114,59,35,99,117,114,114,101,110,99,121,59,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,59,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,111,119,110,101,114,58,116,104,105,115,46,35,111,119,110,101,114,44,109,105,110,105,109,117,109,66,97,108,97,110,99,101,58,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,99,117,114,114,101,110,99,121,58,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,58,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,44,118,97,108,105,100,97,116,111,114,115,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,125,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,65,100,100,114,101,115,115,44,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,111,119,110,101,114,61,115,116,97,116,101,46,111,119,110,101,114,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,115,116,97,116,101,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,115,116,97,116,101,46,99,117,114,114,101,110,99,121,44,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,61,115,116,97,116,101,46,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,61,115,116,97,116,101,46,118,97,108,105,100,97,116,111,114,115,41,58,40,116,104,105,115,46,35,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,53,101,52,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,116,111,107,101,110,65,100,100,114,101,115,115,44,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,43,61,49,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,109,115,103,46,115,101,110,100,101,114,93,61,123,102,105,114,115,116,83,101,101,110,58,40,110,101,119,32,68,97,116,101,41,46,103,101,116,84,105,109,101,40,41,44,97,99,116,105,118,101,58,33,48,125,41,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,111,119,110,101,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,111,119,110,101,114,125,103,101,116,32,99,117,114,114,101,110,99,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,117,114,114,101,110,99,121,125,103,101,116,32,118,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,125,103,101,116,32,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,125,103,101,116,32,109,105,110,105,109,117,109,66,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,99,104,97,110,103,101,79,119,110,101,114,40,111,119,110,101,114,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,110,32,111,119,110,101,114,34,41,125,99,104,97,110,103,101,67,117,114,114,101,110,99,121,40,99,117,114,114,101,110,99,121,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,110,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,125,104,97,115,40,118,97,108,105,100,97,116,111,114,41,123,114,101,116,117,114,110,32,66,111,111,108,101,97,110,40,118,111,105,100,32,48,33,61,61,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,41,125,97,115,121,110,99,32,97,100,100,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,108,114,101,97,100,121,32,97,32,118,97,108,105,100,97,116,111,114,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,61,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,59,105,102,40,98,97,108,97,110,99,101,60,116,104,105,115,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,98,97,108,97,110,99,101,32,116,111,32,108,111,119,33,32,103,111,116,58,32,36,123,98,97,108,97,110,99,101,125,32,110,101,101,100,58,32,36,123,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,96,41,59,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,43,61,49,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,61,123,102,105,114,115,116,83,101,101,110,58,40,110,101,119,32,68,97,116,101,41,46,103,101,116,84,105,109,101,40,41,44,97,99,116,105,118,101,58,33,48,125,125,114,101,109,111,118,101,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,33,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,110,111,116,32,102,111,117,110,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,45,61,49,44,100,101,108,101,116,101,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,125,97,115,121,110,99,32,117,112,100,97,116,101,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,44,97,99,116,105,118,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,110,111,116,32,102,111,117,110,100,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,61,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,59,105,102,40,98,97,108,97,110,99,101,60,116,104,105,115,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,38,38,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,46,97,99,116,105,118,101,38,38,40,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,46,97,99,116,105,118,101,61,33,49,41,44,98,97,108,97,110,99,101,60,116,104,105,115,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,98,97,108,97,110,99,101,32,116,111,32,108,111,119,33,32,103,111,116,58,32,36,123,98,97,108,97,110,99,101,125,32,110,101,101,100,58,32,36,123,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,96,41,59,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,91,118,97,108,105,100,97,116,111,114,93,46,97,99,116,105,118,101,61,97,99,116,105,118,101,125,125,59,10,26,58,98,97,53,120,100,97,100,50,116,53,55,102,112,100,97,100,107,114,117,109,119,104,116,51,50,117,119,99,100,117,98,106,112,112,113,54,122,50,118,107,119,111,109,103,111,119,102,106,112,122,109,106,98,110,50,119,111,50";
313
+ var bytecodes = {
314
+ contractFactory: contractFactory,
315
+ nativeToken: nativeToken,
316
+ nameService: nameService,
317
+ validators: validators
318
+ };
319
+
320
+ const contractFactoryMessage = new Uint8Array(bytecodes.contractFactory.split(','));
321
+ const nativeTokenMessage = new Uint8Array(bytecodes.nativeToken.split(','));
322
+
323
+ const nameServiceMessage = new Uint8Array(bytecodes.nameService.split(','));
324
+ const validatorsMessage = new Uint8Array(bytecodes.validators.split(','));
325
+
326
+ const calculateFee = async transaction => {
327
+ // excluded from fees
328
+ if (transaction.to === addresses$1.validators) return 0
329
+ // fee per gb
330
+ transaction = await new messages.TransactionMessage(transaction);
331
+ let fee = transaction.encoded.length;
332
+ fee = fee / 1024;
333
+ fee = fee / 1000000;
334
+ const parts = String(fee).split('.');
335
+ let decimals = 0;
336
+ if (parts[1]) {
337
+ const potentional = parts[1].split('e');
338
+ parts[1] = potentional[0];
339
+ decimals = Number(potentional[1].replace(/\-|\+/g, '')) + Number(potentional[0].length);
340
+ }
341
+
342
+ return Number.parseFloat(fee.toString()).toFixed(decimals)
343
+ };
344
+
345
+ util.promisify(fs.readFile);
346
+ util.promisify(fs.writeFile);
347
+
138
348
  globalThis.BigNumber = utils.BigNumber;
139
349
 
140
- const { ContractMessage, TransactionMessage, BlockMessage, BWMessage, BWRequestMessage } = lib__default["default"];
141
350
  // check if browser or local
142
351
  class Chain {
143
352
  #validators = []
@@ -151,7 +360,7 @@ class Chain {
151
360
  }
152
361
 
153
362
  get lib() {
154
- return lib__default["default"]
363
+ return lib
155
364
  }
156
365
 
157
366
  get lastBlock() {
@@ -159,7 +368,7 @@ class Chain {
159
368
  }
160
369
 
161
370
  get nativeToken() {
162
- return lib__default["default"].nativeToken
371
+ return addresses.nativeToken
163
372
  }
164
373
 
165
374
  get validators() {
@@ -172,28 +381,39 @@ class Chain {
172
381
 
173
382
  async hasTransactionToHandle() {
174
383
  const size = await transactionPoolStore.size();
384
+ console.log({size});
175
385
  if (size > 0) return true
176
386
  return false
177
387
  }
178
388
 
179
389
  async #runEpoch() {
180
- const validators = await this.staticCall(lib__default["default"].validators, 'validators');
390
+ this.#runningEpoch = true;
391
+ console.log('epoch');
392
+ const validators = await this.staticCall(addresses.validators, 'validators');
181
393
  if (!validators[peernet.id]?.active) return
394
+ console.log('active');
182
395
 
183
- this.#runningEpoch = true;
396
+
184
397
  const start = new Date().getTime();
185
- await this.#createBlock();
398
+ try {
399
+ await this.#createBlock();
400
+ } catch (e) {
401
+ console.error(e);
402
+ }
403
+
186
404
  const end = new Date().getTime();
187
- console.log((end - start) / 1000 + ' s');
405
+ console.log(((end - start) / 1000) + ' s');
406
+
188
407
  if (await this.hasTransactionToHandle()) return this.#runEpoch()
189
408
  this.#runningEpoch = false;
409
+ // if (await this.hasTransactionToHandle() && !this.#runningEpoch) return this.#runEpoch()
190
410
  }
191
411
 
192
412
  async #setup() {
193
- await contractStore.put(lib__default["default"].contractFactory, lib__default["default"].contractFactoryMessage);
194
- await contractStore.put(lib__default["default"].nativeToken, lib__default["default"].nativeTokenMessage);
195
- await contractStore.put(lib__default["default"].validators, lib__default["default"].validatorsMessage);
196
- await contractStore.put(lib__default["default"].nameService, lib__default["default"].nameServiceMessage);
413
+ await contractStore.put(addresses.contractFactory, contractFactoryMessage);
414
+ await contractStore.put(addresses.nativeToken, nativeTokenMessage);
415
+ await contractStore.put(addresses.validators, validatorsMessage);
416
+ await contractStore.put(addresses.nameService, nameServiceMessage);
197
417
  console.log('handle native contracts');
198
418
  // handle native contracts
199
419
  }
@@ -212,7 +432,6 @@ class Chain {
212
432
 
213
433
  promises = await Promise.allSettled(promises);
214
434
  promises = promises.reduce((set, c) => {
215
- console.log({c});
216
435
  if (c.index > set.index) {
217
436
  set.index = c.index;
218
437
  set.hash = c.hash;
@@ -225,7 +444,8 @@ class Chain {
225
444
  async #init() {
226
445
  // this.node = await new Node()
227
446
  this.participants = [];
228
- const initialized = await contractStore.has(lib__default["default"].contractFactory);
447
+ this.participating = false;
448
+ const initialized = await contractStore.has(addresses.contractFactory);
229
449
  if (!initialized) await this.#setup();
230
450
 
231
451
  this.#machine = await new Machine();
@@ -234,8 +454,8 @@ class Chain {
234
454
  try {
235
455
  let localBlock = await chainStore.get('lastBlock');
236
456
  localBlock = await peernet.get(new TextDecoder().decode(localBlock));
237
- localBlock = new BlockMessage(localBlock);
238
- this.#lastBlock = {...localBlock.decoded, hash: localBlock.hash};
457
+ localBlock = await await new BlockMessage(localBlock);
458
+ this.#lastBlock = {...localBlock.decoded, hash: await localBlock.hash};
239
459
  // console.log(this.lastBlock.decoded.transactions);
240
460
  } catch (e) {
241
461
  await this.#sync();
@@ -251,15 +471,7 @@ class Chain {
251
471
 
252
472
  peernet.subscribe('add-block', this.#addBlock.bind(this));
253
473
 
254
- peernet.subscribe('add-transaction', async transaction => {
255
- try {
256
- transaction = new TransactionMessage(transaction);
257
- await transactionPoolStore.put(transaction.hash, transaction.encoded);
258
- if (await this.hasTransactionToHandle() && !this.#runningEpoch) return this.#runEpoch()
259
- } catch (e) {
260
- throw Error('invalid transaction')
261
- }
262
- });
474
+ peernet.subscribe('add-transaction', this.#addTransaction.bind(this));
263
475
 
264
476
  pubsub.subscribe('peer:connected', this.#peerConnected.bind(this));
265
477
 
@@ -292,28 +504,41 @@ class Chain {
292
504
  this.#blocks.length;
293
505
  (this.#blocks.length) - blocksSynced;
294
506
  await this.#loadBlocks(this.#blocks);
295
- const message = new BlockMessage(this.lastBlock);
296
- await blockStore.put(message.hash, message.encoded);
507
+ const message = await new BlockMessage(this.lastBlock);
508
+ await blockStore.put(await message.hash, message.encoded);
297
509
  await chainStore.put('lastBlock', new TextEncoder().encode(this.lastBlock.hash));
298
510
  }
299
511
  }
300
512
 
301
- async #lastBlockHandler() {
302
- return new peernet.protos['peernet-response']({response: new TextEncoder().encode(JSON.stringify({ hash: this.lastBlock?.hash, index: this.lastBlock?.index }))})
303
- }
513
+ #epochTimeout
304
514
 
305
- async resolveBlock(hash) {
306
- let block = await peernet.get(hash, 'block');
307
- if (!await peernet.has(hash, 'block')) await peernet.put(hash, block, 'block');
308
- block = await new BlockMessage(block);
309
- const size = block.encoded.length || block.encoded.byteLength;
310
- block = {...block.decoded, hash};
311
- this.#blocks[block.index] = block;
312
- console.log(`loaded block: ${hash} @${block.index} ${Math.round((size / 1024 / 1024) * 100) / 100} mb`);
313
- if (block.index !== 0) {
314
- return this.resolveBlock(block.previousHash)
315
- }
515
+ async #addTransaction(transaction) {
516
+ try {
517
+ transaction = await new TransactionMessage(transaction);
518
+ const has = await transactionPoolStore.has(await transaction.hash);
519
+ if (!has) await transactionPoolStore.put(await transaction.hash, transaction.encoded);
520
+ if (this.participating && !this.#runningEpoch) this.#runEpoch();
521
+ } catch (e) {
522
+ throw Error('invalid transaction')
523
+ }
524
+ }
525
+
526
+ async #lastBlockHandler() {
527
+ return new peernet.protos['peernet-response']({response: new TextEncoder().encode(JSON.stringify({ hash: this.lastBlock?.hash, index: this.lastBlock?.index }))})
528
+ }
529
+
530
+ async resolveBlock(hash) {
531
+ let block = await peernet.get(hash, 'block');
532
+ if (!await peernet.has(hash, 'block')) await peernet.put(hash, block, 'block');
533
+ block = await new BlockMessage(block);
534
+ const size = block.encoded.length || block.encoded.byteLength;
535
+ block = {...block.decoded, hash};
536
+ this.#blocks[block.index] = block;
537
+ console.log(`loaded block: ${hash} @${block.index} ${formatBytes(size)}`);
538
+ if (block.index !== 0) {
539
+ return this.resolveBlock(block.previousHash)
316
540
  }
541
+ }
317
542
 
318
543
  async resolveBlocks() {
319
544
  try {
@@ -378,7 +603,7 @@ class Chain {
378
603
  }
379
604
 
380
605
  async #addBlock(block) {
381
- const blockMessage = new BlockMessage(block);
606
+ const blockMessage = await new BlockMessage(block);
382
607
  // if (!Buffer.isBuffer(block)) block = Buffer.from(block, 'hex')
383
608
  // const transactionJob = async transaction => {
384
609
  // try {
@@ -394,14 +619,14 @@ class Chain {
394
619
  // return transaction
395
620
  // }
396
621
  await Promise.all(blockMessage.decoded.transactions
397
- .map(transaction => transactionPoolStore.delete(transaction.hash)));
398
-
622
+ .map(async transaction => transactionPoolStore.delete(await transaction.hash)));
623
+ const hash = await blockMessage.hash;
399
624
  // let transactions = blockMessage.decoded.transactions.map(tx => transactionJob(tx))
400
625
  // transactions = await Promise.all(transactions)
401
- this.#lastBlock = {hash: blockMessage.hash, ...blockMessage.decoded};
402
- await blockStore.put(blockMessage.hash, blockMessage.encoded);
403
- await chainStore.put('lastBlock', new TextEncoder().encode(blockMessage.hash));
404
- debug(`added block: ${blockMessage.hash}`);
626
+ this.#lastBlock = { hash, ...blockMessage.decoded };
627
+ await blockStore.put(hash, blockMessage.encoded);
628
+ await chainStore.put('lastBlock', new TextEncoder().encode(hash));
629
+ debug(`added block: ${hash}`);
405
630
  let promises = [];
406
631
  let contracts = [];
407
632
  for (let transaction of blockMessage.decoded.transactions) {
@@ -412,7 +637,10 @@ class Chain {
412
637
  }
413
638
  try {
414
639
  promises = await Promise.allSettled(promises);
415
-
640
+ for (let transaction of blockMessage.decoded.transactions) {
641
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)));
642
+ }
643
+
416
644
  // todo finish state
417
645
  // for (const contract of contracts) {
418
646
  // const state = await this.#machine.get(contract, 'state')
@@ -426,6 +654,10 @@ class Chain {
426
654
 
427
655
  }
428
656
 
657
+ async #updateState() {
658
+
659
+ }
660
+
429
661
 
430
662
 
431
663
  async participate() {
@@ -435,56 +667,72 @@ class Chain {
435
667
  // introduce peer-reputation
436
668
  // peerReputation(peerId)
437
669
  // {bandwith: {up, down}, uptime}
438
- if (!await this.staticCall(lib__default["default"].validators, 'has', [peernet.id])) await this.createTransactionFrom(peernet.id, lib__default["default"].validators, 'addValidator', [peernet.id]);
439
- if (await this.hasTransactionToHandle() && !this.#runningEpoch) return this.#runEpoch()
670
+ this.participating = true;
671
+ if (!await this.staticCall(addresses.validators, 'has', [peernet.id])) await this.createTransactionFrom(peernet.id, addresses.validators, 'addValidator', [peernet.id]);
672
+ if (await this.hasTransactionToHandle() && !this.#runningEpoch) await this.#runEpoch();
673
+
674
+ // const runEpoch = () => setTimeout(async () => {
675
+ // if (await this.hasTransactionToHandle() && !this.#runningEpoch) await this.#runEpoch()
676
+ // runEpoch()
677
+ // }, 5000)
678
+ // runEpoch()
440
679
  }
441
680
 
442
681
  calculateFee(transaction) {
443
682
  // excluded from fees
444
- if (transaction.decoded.to === lib__default["default"].validators) return 0
683
+ // if (transaction.decoded.to === addresses.validators) return 0
445
684
  // fee per gb
446
685
  return (transaction.encoded.length / 1024) / 1e-6
447
686
  }
448
687
 
688
+ async getTransactions (transactions) {
689
+ return new Promise(async (resolve, reject) => {
690
+ let size = 0;
691
+ const _transactions = [];
692
+ const promises = await Promise.all(Object.values(transactions)
693
+ .map(tx => new TransactionMessage(new Uint8Array(tx, tx.byteOffset, tx.byteLength))));
694
+
695
+ for (let transaction of promises) {
696
+ size += transaction.encoded.length;
697
+ if ((size / 1024) / 1024 <= 1.15 ) _transactions.push({...transaction.decoded, hash: await transaction.hash });
698
+ else return resolve(_transactions)
699
+
700
+ }
701
+ return resolve(_transactions)
702
+ })
703
+
704
+ }
449
705
  async #createBlock() {
450
706
  let transactions = await transactionPoolStore.get();
451
707
 
452
708
  if (Object.keys(transactions)?.length === 0 ) return
709
+
453
710
  let block = {
454
711
  transactions: [],
455
712
  validators: [],
456
713
  fees: 0
457
714
  };
458
715
 
459
- let _transactions = [];
460
-
461
716
  // exclude failing tx
462
- for (let transaction of Object.values(transactions)) {
463
- transaction = new TransactionMessage(new Uint8Array(transaction, transaction.byteOffset, transaction.byteLength));
717
+ transactions = await this.getTransactions(transactions);
464
718
 
465
- block.fees += Number(lib__default["default"].calculateFee(transaction));
466
- _transactions.push({...transaction.decoded, hash: transaction.hash });
467
- }
468
-
469
- transactions = _transactions.sort((a, b) => a.nonce - b.nonce);
470
- _transactions = [];
471
- for (let transaction of transactions) {
719
+ transactions = transactions.sort((a, b) => a.nonce - b.nonce);
720
+ for (let transaction of transactions) {
472
721
  try {
473
722
  await this.#executeTransaction(transaction);
474
- _transactions.push(transaction);
723
+ block.transactions.push(transaction);
724
+ block.fees += Number(calculateFee(transaction));
725
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)));
475
726
  } catch (e) {
476
- transaction = new TransactionMessage(transaction);
477
- block.fees -= Number(lib__default["default"].calculateFee(transaction));
478
- await transactionPoolStore.delete(transaction.hash);
479
-
727
+ console.error(e);
728
+ transaction = await new TransactionMessage(transaction);
729
+ await transactionPoolStore.delete(await transaction.hash);
730
+ console.log(e);
480
731
  }
481
732
  }
482
- transactions = _transactions;
483
733
  // don't add empty block
484
- if (transactions.length === 0) return
485
-
486
- block.transactions = transactions;
487
- const validators = await this.staticCall(lib__default["default"].validators, 'validators');
734
+ if (block.transactions.length === 0) return
735
+ const validators = await this.staticCall(addresses.validators, 'validators');
488
736
  console.log({validators});
489
737
  // block.validators = Object.keys(block.validators).reduce((set, key) => {
490
738
  // if (block.validators[key].active) {
@@ -501,7 +749,7 @@ class Chain {
501
749
  if (validators[validator].active) {
502
750
  const peer = peers[validator];
503
751
  if (peer && peer.connected) {
504
- let data = new BWRequestMessage();
752
+ let data = await new BWRequestMessage();
505
753
  const node = await peernet.prepareMessage(validator, data.encoded);
506
754
  try {
507
755
  const bw = await peer.request(node.encoded);
@@ -525,7 +773,7 @@ class Chain {
525
773
 
526
774
  }
527
775
 
528
- console.log(block.validators);
776
+ console.log({validators: block.validators});
529
777
 
530
778
  block.reward = 150;
531
779
  block.validators = block.validators.map(validator => {
@@ -533,7 +781,7 @@ class Chain {
533
781
  delete validator.bw;
534
782
  return validator
535
783
  });
536
- // block.validators = lib.calculateValidatorReward(block.validators, block.fees)
784
+ // block.validators = calculateValidatorReward(block.validators, block.fees)
537
785
 
538
786
  block.index = this.lastBlock?.index;
539
787
  if (block.index === undefined) block.index = 0;
@@ -557,25 +805,48 @@ class Chain {
557
805
  block.fees = Number.parseFloat(String(block.fees)).toFixed(decimals);
558
806
 
559
807
  try {
560
- let blockMessage = new BlockMessage(block);
561
- this.#lastBlock = {...block, hash: blockMessage.hash};
808
+ let blockMessage = await new BlockMessage(block);
809
+ const hash = await blockMessage.hash;
810
+ await Promise.all(blockMessage.decoded.transactions
811
+ .map(async transaction => transactionPoolStore.delete(await transaction.hash)));
812
+
813
+ this.#lastBlock = { hash, ...blockMessage.decoded };
814
+ await blockStore.put(hash, blockMessage.encoded);
815
+ await chainStore.put('lastBlock', new TextEncoder().encode(hash));
816
+ debug(`created block: ${hash}`);
817
+
562
818
  peernet.publish('add-block', blockMessage.encoded);
563
- this.#addBlock(blockMessage.encoded);
819
+ this.#updateState(blockMessage);
564
820
  } catch (e) {
821
+ console.log(e);
565
822
  throw Error(`invalid block ${block}`)
566
823
  }
567
824
  // data = await this.#machine.execute(to, method, params)
568
825
  // transactionStore.put(message.hash, message.encoded)
569
826
  }
570
827
 
571
- async getNonce(address) {
828
+ async promiseTransactions(transactions) {
829
+ transactions = await Promise.all(transactions.map(tx => new TransactionMessage(tx)));
830
+ return transactions
831
+ }
832
+
833
+ async promiseTransactionsContent(transactions) {
834
+ transactions = await Promise.all(transactions.map(tx => new Promise(async (resolve, reject) => {
835
+ resolve({ ...tx.decoded, hash: await tx.hash });
836
+ })));
837
+
838
+ return transactions
839
+ }
840
+
841
+ async #getNonceFallback(address) {
572
842
  let transactions = await transactionPoolStore.get();
573
- transactions = Object.keys(transactions).map(tx => new TransactionMessage(transactions[tx]));
843
+ transactions = await this.promiseTransactions(Object.values(transactions));
574
844
  transactions = transactions.filter(tx => tx.decoded.from === address);
575
- transactions = transactions.map(tx => { return {...tx.decoded, hash: tx.hash} });
845
+ transactions = await this.promiseTransactionsContent(transactions);
846
+
576
847
  if (this.lastBlock && transactions.length === 0) {
577
848
  let block = await peernet.get(this.lastBlock.hash);
578
- block = new BlockMessage(block);
849
+ block = await new BlockMessage(block);
579
850
 
580
851
  // for (let tx of block.decoded?.transactions) {
581
852
  // tx = await peernet.get(tx, 'transaction')
@@ -584,7 +855,7 @@ class Chain {
584
855
  transactions = transactions.filter(tx => tx.from === address);
585
856
  while (transactions.length === 0 && block.decoded.index !== 0) {
586
857
  block = await blockStore.get(block.decoded.previousHash);
587
- block = new BlockMessage(block);
858
+ block = await new BlockMessage(block);
588
859
  transactions = block.decoded.transactions.filter(tx => tx.from === address);
589
860
  }
590
861
 
@@ -595,6 +866,16 @@ class Chain {
595
866
  return transactions[transactions.length - 1].nonce
596
867
  }
597
868
 
869
+ async getNonce(address) {
870
+ if (!await accountsStore.has(address)) {
871
+ const nonce = await this.#getNonceFallback(address);
872
+ await accountsStore.put(address, new TextEncoder().encode(String(nonce)));
873
+ }
874
+ let nonce = await accountsStore.get(address);
875
+ nonce = new TextDecoder().decode(nonce);
876
+ return Number(nonce)
877
+ }
878
+
598
879
  /**
599
880
  * whenever method = createContract params should hold the contract hash
600
881
  *
@@ -606,9 +887,74 @@ class Chain {
606
887
  * @param {Array} params - array of paramters to apply to the contract method
607
888
  * @param {Number} nonce - total transaction count [optional]
608
889
  */
609
- createTransaction(to, method, params, nonce) {
890
+ async createTransaction(to, method, params, nonce, signature) {
610
891
  return this.createTransactionFrom(peernet.id, to, method, params, nonce)
611
892
  }
893
+
894
+
895
+
896
+ /**
897
+ *
898
+ * @param {Object} transaction {}
899
+ * @param {String} transaction.from address
900
+ * @param {String} transaction.to address
901
+ * @param {Object} transaction.params {}
902
+ * @param {String} transaction.params.method get, call
903
+ * @param {Buffer} transaction.params.data
904
+ * @returns
905
+ */
906
+ async createTransactionHash(transaction) {
907
+ // todo: validate
908
+ const peernetHash = await new index.CodecHash(transaction, {name: 'transaction-message'});
909
+ return peernetHash.digest
910
+ }
911
+
912
+ /**
913
+ * @params {object} transaction -
914
+ * @params {object} wallet - any wallet/signer that supports sign(RAWtransaction)
915
+ */
916
+ async #signTransaction (transaction, wallet) {
917
+ return wallet.sign(await this.createTransactionHash(transaction))
918
+ }
919
+
920
+ async signTransaction(transaction, signer) {
921
+ let identity = await walletStore.get('identity');
922
+ identity = JSON.parse(new TextDecoder().decode(identity));
923
+ const wallet = new MultiWallet__default["default"](peernet.network);
924
+ wallet.recover(identity.mnemonic);
925
+ wallet.account(0).external(0);
926
+ transaction.signature = await this.#signTransaction(transaction, wallet);
927
+ transaction.signature = bs32__default["default"].encode(transaction.signature);
928
+ return transaction
929
+ }
930
+
931
+ /**
932
+ *
933
+ * @param {Object} transaction
934
+ * @param {Address} transaction.from
935
+ * @param {Address} transaction.to
936
+ * @param {String} transaction.method
937
+ * @param {Array} transaction.params
938
+ * @param {Number} transaction.nonce
939
+ *
940
+ * @returns {Object} transaction
941
+ */
942
+ async createRawTransaction(transaction) {
943
+ if (!transaction.from) transaction.from = peernet.id;
944
+ transaction.timestamp = Date.now();
945
+
946
+ if (transaction.nonce === undefined) {
947
+ transaction.nonce = await this.getNonce(transaction.from);
948
+ transaction.nonce += 1;
949
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)));
950
+ } else {
951
+ let nonce = await accountsStore.get(transaction.from);
952
+ nonce = new TextDecoder().decode(nonce);
953
+ if (transaction.nonce < nonce) throw Error(`a transaction with a higher nonce already exists`)
954
+ if (transaction.nonce === nonce) throw Error(`a transaction with the same nonce already exists`)
955
+ }
956
+ return transaction
957
+ }
612
958
  /**
613
959
  * every tx done is trough contracts so no need for amount
614
960
  * data is undefined when nothing is returned
@@ -621,31 +967,41 @@ class Chain {
621
967
  * @param {Number} nonce - total transaction count [optional]
622
968
  */
623
969
  async createTransactionFrom(from, to, method, params, nonce) {
624
- if (nonce === undefined) {
625
- nonce = await this.getNonce(from);
626
- nonce += 1;
627
- }
628
-
629
- let data;
630
- let message = new TransactionMessage({timestamp: new Date().getTime(), from, to, nonce, method, params});
631
970
  try {
971
+
972
+ const rawTransaction = await this.createRawTransaction({from, to, nonce, method, params});
973
+ const transaction = await this.signTransaction(rawTransaction, from);
974
+ const message = await new TransactionMessage(transaction);
975
+
976
+ let data;
632
977
  // await transactionPoolStore.put(message.hash, new TextEncoder().encode(JSON.stringify({signature, message: message.encoded})))
633
- await transactionPoolStore.put(message.hash, message.encoded);
978
+ const wait = () => new Promise(async (resolve, reject) => {
979
+ if (pubsub.subscribers[`transaction.completed.${await message.hash}`]) {
980
+ const result = pubsub.subscribers[`transaction.completed.${await message.hash}`].value;
981
+ result.status === 'fulfilled' ? resolve(await result.hash) : reject({hash: await result.hash, error: result.error});
982
+ } else {
983
+ const completed = async result => {
984
+ result.status === 'fulfilled' ? resolve(await result.hash) : reject({hash: await result.hash, error: result.error});
985
+
986
+ setTimeout(async () => {
987
+ pubsub.unsubscribe(`transaction.completed.${await message.hash}`, completed);
988
+ }, 10000);
989
+ };
990
+ pubsub.subscribe(`transaction.completed.${await message.hash}`, completed);
991
+ }
992
+
993
+
994
+ });
995
+
996
+ await transactionPoolStore.put(await message.hash, message.encoded);
634
997
  peernet.publish('add-transaction', message.encoded);
998
+ this.#addTransaction(message.encoded);
999
+ return {hash: await message.hash, data, fee: await calculateFee(message.decoded), wait}
635
1000
  } catch (e) {
1001
+ console.log(e);
636
1002
  throw e
637
1003
  }
638
- const wait = () => new Promise((resolve, reject) => {
639
- const completed = result => {
640
- result.status === 'fulfilled' ? resolve(result.hash) : reject({hash: result.hash, error: result.error});
641
-
642
- pubsub.unsubscribe(`transaction.completed.${message.hash}`, completed);
643
- };
644
- pubsub.subscribe(`transaction.completed.${message.hash}`, completed);
645
- });
646
-
647
- if (await this.hasTransactionToHandle() && !this.#runningEpoch) this.#runEpoch();
648
- return {hash: message.hash, data, fee: lib__default["default"].calculateFee(message), wait}
1004
+
649
1005
  }
650
1006
 
651
1007
  async createContractMessage(creator, contract, constructorParameters = []) {
@@ -657,8 +1013,8 @@ class Chain {
657
1013
  }
658
1014
 
659
1015
  async createContractAddress(creator, contract, constructorParameters = []) {
660
- return this.createContractMessage(creator, contract, constructorParameters)
661
- .hash
1016
+ contract = await this.createContractMessage(creator, contract, constructorParameters);
1017
+ return contract.hash
662
1018
  }
663
1019
 
664
1020
  /**
@@ -671,7 +1027,7 @@ class Chain {
671
1027
  const hash = await this.createContractAddress(creator, contract, params);
672
1028
 
673
1029
  try {
674
- const tx = await this.createTransactionFrom(peernet.id, lib__default["default"].contractFactory, 'deployContract', [hash, creator, contract, constructorParameters]);
1030
+ const tx = await this.createTransactionFrom(peernet.id, addresses.contractFactory, 'deployContract', [hash, creator, contract, constructorParameters]);
675
1031
  } catch (e) {
676
1032
  throw e
677
1033
  }
@@ -718,15 +1074,15 @@ class Chain {
718
1074
  }
719
1075
 
720
1076
  mint(to, amount) {
721
- return this.call(lib__default["default"].nativeToken, 'mint', [to, amount])
1077
+ return this.call(addresses.nativeToken, 'mint', [to, amount])
722
1078
  }
723
1079
 
724
1080
  transfer(from, to, amount) {
725
- return this.call(lib__default["default"].nativeToken, 'transfer', [from, to, amount])
1081
+ return this.call(addresses.nativeToken, 'transfer', [from, to, amount])
726
1082
  }
727
1083
 
728
1084
  get balances() {
729
- return this.staticCall(lib__default["default"].nativeToken, 'balances')
1085
+ return this.staticCall(addresses.nativeToken, 'balances')
730
1086
  }
731
1087
 
732
1088
  deleteAll() {
@@ -743,7 +1099,7 @@ class Chain {
743
1099
  * @example chain.lookup('myCoolContractName') // qmqsfddfdgfg...
744
1100
  */
745
1101
  lookup(name) {
746
- return this.call(lib__default["default"].nameService, 'lookup', [name])
1102
+ return this.call(addresses.nameService, 'lookup', [name])
747
1103
  }
748
1104
  }
749
1105