@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
@@ -0,0 +1,28 @@
1
+ (self["webpackChunk_leofcoin_chain"] = self["webpackChunk_leofcoin_chain"] || []).push([[228],{
2
+
3
+ /***/ 9347:
4
+ /***/ (function(__unused_webpack_module, exports) {
5
+
6
+
7
+
8
+ exports.MediaStream = window.MediaStream;
9
+ exports.MediaStreamTrack = window.MediaStreamTrack;
10
+ exports.RTCDataChannel = window.RTCDataChannel;
11
+ exports.RTCDataChannelEvent = window.RTCDataChannelEvent;
12
+ exports.RTCDtlsTransport = window.RTCDtlsTransport;
13
+ exports.RTCIceCandidate = window.RTCIceCandidate;
14
+ exports.RTCIceTransport = window.RTCIceTransport;
15
+ exports.RTCPeerConnection = window.RTCPeerConnection;
16
+ exports.RTCPeerConnectionIceEvent = window.RTCPeerConnectionIceEvent;
17
+ exports.RTCRtpReceiver = window.RTCRtpReceiver;
18
+ exports.RTCRtpSender = window.RTCRtpSender;
19
+ exports.RTCRtpTransceiver = window.RTCRtpTransceiver;
20
+ exports.RTCSctpTransport = window.RTCSctpTransport;
21
+ exports.RTCSessionDescription = window.RTCSessionDescription;
22
+ exports.getUserMedia = window.getUserMedia;
23
+ exports.mediaDevices = navigator.mediaDevices;
24
+
25
+
26
+ /***/ })
27
+
28
+ }])
@@ -80,11 +80,11 @@
80
80
  Resources
81
81
  </h3>
82
82
 
83
- <a href="https://github.com/arteontoken/monorepo/chain">github</a>
83
+ <a href="https://github.com/arteontoken/monorepo/tree/main/chain">github</a>
84
84
 
85
85
 
86
86
 
87
- <h3 id="global-nav">Global</h3><ul><li><a href="global.html#addContract">addContract</a></li><li><a href="global.html#createTransaction">createTransaction</a></li><li><a href="global.html#createTransactionFrom">createTransactionFrom</a></li><li><a href="global.html#deployContract">deployContract</a></li><li><a href="global.html#lookup">lookup</a></li><li><a href="global.html#state">state</a></li></ul>
87
+ <h3 id="global-nav">Global</h3><ul><li><a href="global.html#addContract">addContract</a></li><li><a href="global.html#createRawTransaction">createRawTransaction</a></li><li><a href="global.html#createTransaction">createTransaction</a></li><li><a href="global.html#createTransactionFrom">createTransactionFrom</a></li><li><a href="global.html#createTransactionHash">createTransactionHash</a></li><li><a href="global.html#deployContract">deployContract</a></li><li><a href="global.html#lookup">lookup</a></li><li><a href="global.html#state">state</a></li></ul>
88
88
  </nav>
89
89
 
90
90
  <div id="main">
@@ -100,12 +100,18 @@
100
100
  <section>
101
101
  <article>
102
102
  <pre class="prettyprint source linenums"><code>import { BigNumber, formatUnits, parseUnits } from '@leofcoin/utils'
103
- import Machine from './machine'
104
- import lib from '@leofcoin/lib'
103
+ import Machine from './machine.js'
104
+ import { ContractMessage, TransactionMessage, BlockMessage, BWMessage, BWRequestMessage } from './../../messages/src/messages'
105
+ import { addresses } from './../../addresses/src/addresses'
106
+ import { contractFactoryMessage, nativeTokenMessage, validatorsMessage, nameServiceMessage, calculateFee } from './../../lib/src/lib'
107
+ import MultiWallet from '@leofcoin/multi-wallet'
108
+ import {CodecHash} from '@leofcoin/codec-format-interface/dist/index'
109
+ import bs32 from '@vandeurenglenn/base32'
110
+ import config from './config/config'
111
+ import { formatBytes } from '../../utils/src/utils.js'
105
112
 
106
113
  globalThis.BigNumber = BigNumber
107
114
 
108
- const { ContractMessage, TransactionMessage, BlockMessage, BWMessage, BWRequestMessage } = lib
109
115
  // check if browser or local
110
116
  export default class Chain {
111
117
  #validators = []
@@ -127,7 +133,7 @@ export default class Chain {
127
133
  }
128
134
 
129
135
  get nativeToken() {
130
- return lib.nativeToken
136
+ return addresses.nativeToken
131
137
  }
132
138
 
133
139
  get validators() {
@@ -140,28 +146,39 @@ export default class Chain {
140
146
 
141
147
  async hasTransactionToHandle() {
142
148
  const size = await transactionPoolStore.size()
149
+ console.log({size});
143
150
  if (size > 0) return true
144
151
  return false
145
152
  }
146
153
 
147
154
  async #runEpoch() {
148
- const validators = await this.staticCall(lib.validators, 'validators')
155
+ this.#runningEpoch = true
156
+ console.log('epoch');
157
+ const validators = await this.staticCall(addresses.validators, 'validators')
149
158
  if (!validators[peernet.id]?.active) return
159
+ console.log('active');
150
160
 
151
- this.#runningEpoch = true
161
+
152
162
  const start = new Date().getTime()
153
- await this.#createBlock()
163
+ try {
164
+ await this.#createBlock()
165
+ } catch (e) {
166
+ console.error(e);
167
+ }
168
+
154
169
  const end = new Date().getTime()
155
- console.log((end - start) / 1000 + ' s');
170
+ console.log(((end - start) / 1000) + ' s');
171
+
156
172
  if (await this.hasTransactionToHandle()) return this.#runEpoch()
157
173
  this.#runningEpoch = false
174
+ // if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) return this.#runEpoch()
158
175
  }
159
176
 
160
177
  async #setup() {
161
- await contractStore.put(lib.contractFactory, lib.contractFactoryMessage)
162
- await contractStore.put(lib.nativeToken, lib.nativeTokenMessage)
163
- await contractStore.put(lib.validators, lib.validatorsMessage)
164
- await contractStore.put(lib.nameService, lib.nameServiceMessage)
178
+ await contractStore.put(addresses.contractFactory, contractFactoryMessage)
179
+ await contractStore.put(addresses.nativeToken, nativeTokenMessage)
180
+ await contractStore.put(addresses.validators, validatorsMessage)
181
+ await contractStore.put(addresses.nameService, nameServiceMessage)
165
182
  console.log('handle native contracts');
166
183
  // handle native contracts
167
184
  }
@@ -180,7 +197,6 @@ export default class Chain {
180
197
 
181
198
  promises = await Promise.allSettled(promises)
182
199
  promises = promises.reduce((set, c) => {
183
- console.log({c});
184
200
  if (c.index > set.index) {
185
201
  set.index = c.index
186
202
  set.hash = c.hash
@@ -193,7 +209,8 @@ export default class Chain {
193
209
  async #init() {
194
210
  // this.node = await new Node()
195
211
  this.participants = []
196
- const initialized = await contractStore.has(lib.contractFactory)
212
+ this.participating = false
213
+ const initialized = await contractStore.has(addresses.contractFactory)
197
214
  if (!initialized) await this.#setup()
198
215
 
199
216
  this.#machine = await new Machine()
@@ -202,8 +219,8 @@ export default class Chain {
202
219
  try {
203
220
  let localBlock = await chainStore.get('lastBlock')
204
221
  localBlock = await peernet.get(new TextDecoder().decode(localBlock))
205
- localBlock = new BlockMessage(localBlock)
206
- this.#lastBlock = {...localBlock.decoded, hash: localBlock.hash}
222
+ localBlock = await await new BlockMessage(localBlock)
223
+ this.#lastBlock = {...localBlock.decoded, hash: await localBlock.hash}
207
224
  // console.log(this.lastBlock.decoded.transactions);
208
225
  } catch (e) {
209
226
  await this.#sync()
@@ -219,15 +236,7 @@ export default class Chain {
219
236
 
220
237
  peernet.subscribe('add-block', this.#addBlock.bind(this))
221
238
 
222
- peernet.subscribe('add-transaction', async transaction => {
223
- try {
224
- transaction = new TransactionMessage(transaction)
225
- await transactionPoolStore.put(transaction.hash, transaction.encoded)
226
- if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) return this.#runEpoch()
227
- } catch (e) {
228
- throw Error('invalid transaction')
229
- }
230
- })
239
+ peernet.subscribe('add-transaction', this.#addTransaction.bind(this))
231
240
 
232
241
  pubsub.subscribe('peer:connected', this.#peerConnected.bind(this))
233
242
 
@@ -260,28 +269,41 @@ export default class Chain {
260
269
  const end = this.#blocks.length
261
270
  const start = (this.#blocks.length) - blocksSynced
262
271
  await this.#loadBlocks(this.#blocks)
263
- const message = new BlockMessage(this.lastBlock)
264
- await blockStore.put(message.hash, message.encoded)
272
+ const message = await new BlockMessage(this.lastBlock)
273
+ await blockStore.put(await message.hash, message.encoded)
265
274
  await chainStore.put('lastBlock', new TextEncoder().encode(this.lastBlock.hash))
266
275
  }
267
276
  }
268
277
 
269
- async #lastBlockHandler() {
270
- return new peernet.protos['peernet-response']({response: new TextEncoder().encode(JSON.stringify({ hash: this.lastBlock?.hash, index: this.lastBlock?.index }))})
278
+ #epochTimeout
279
+
280
+ async #addTransaction(transaction) {
281
+ try {
282
+ transaction = await new TransactionMessage(transaction)
283
+ const has = await transactionPoolStore.has(await transaction.hash)
284
+ if (!has) await transactionPoolStore.put(await transaction.hash, transaction.encoded)
285
+ if (this.participating &amp;&amp; !this.#runningEpoch) this.#runEpoch()
286
+ } catch (e) {
287
+ throw Error('invalid transaction')
271
288
  }
289
+ }
272
290
 
273
- async resolveBlock(hash) {
274
- let block = await peernet.get(hash, 'block')
275
- if (!await peernet.has(hash, 'block')) await peernet.put(hash, block, 'block')
276
- block = await new BlockMessage(block)
277
- const size = block.encoded.length || block.encoded.byteLength
278
- block = {...block.decoded, hash}
279
- this.#blocks[block.index] = block
280
- console.log(`loaded block: ${hash} @${block.index} ${Math.round((size / 1024 / 1024) * 100) / 100} mb`);
281
- if (block.index !== 0) {
282
- return this.resolveBlock(block.previousHash)
283
- }
291
+ async #lastBlockHandler() {
292
+ return new peernet.protos['peernet-response']({response: new TextEncoder().encode(JSON.stringify({ hash: this.lastBlock?.hash, index: this.lastBlock?.index }))})
293
+ }
294
+
295
+ async resolveBlock(hash) {
296
+ let block = await peernet.get(hash, 'block')
297
+ if (!await peernet.has(hash, 'block')) await peernet.put(hash, block, 'block')
298
+ block = await new BlockMessage(block)
299
+ const size = block.encoded.length || block.encoded.byteLength
300
+ block = {...block.decoded, hash}
301
+ this.#blocks[block.index] = block
302
+ console.log(`loaded block: ${hash} @${block.index} ${formatBytes(size)}`);
303
+ if (block.index !== 0) {
304
+ return this.resolveBlock(block.previousHash)
284
305
  }
306
+ }
285
307
 
286
308
  async resolveBlocks() {
287
309
  try {
@@ -346,7 +368,7 @@ export default class Chain {
346
368
  }
347
369
 
348
370
  async #addBlock(block) {
349
- const blockMessage = new BlockMessage(block)
371
+ const blockMessage = await new BlockMessage(block)
350
372
  // if (!Buffer.isBuffer(block)) block = Buffer.from(block, 'hex')
351
373
  // const transactionJob = async transaction => {
352
374
  // try {
@@ -361,15 +383,15 @@ export default class Chain {
361
383
  // transaction = new TransactionMessage(transaction)
362
384
  // return transaction
363
385
  // }
364
- await Promise.all(blockMessage.decoded.transactions
365
- .map(transaction => transactionPoolStore.delete(transaction.hash)))
366
-
386
+ const deletions = await Promise.all(blockMessage.decoded.transactions
387
+ .map(async transaction => transactionPoolStore.delete(await transaction.hash)))
388
+ const hash = await blockMessage.hash
367
389
  // let transactions = blockMessage.decoded.transactions.map(tx => transactionJob(tx))
368
390
  // transactions = await Promise.all(transactions)
369
- this.#lastBlock = {hash: blockMessage.hash, ...blockMessage.decoded}
370
- await blockStore.put(blockMessage.hash, blockMessage.encoded)
371
- await chainStore.put('lastBlock', new TextEncoder().encode(blockMessage.hash))
372
- debug(`added block: ${blockMessage.hash}`)
391
+ this.#lastBlock = { hash, ...blockMessage.decoded }
392
+ await blockStore.put(hash, blockMessage.encoded)
393
+ await chainStore.put('lastBlock', new TextEncoder().encode(hash))
394
+ debug(`added block: ${hash}`)
373
395
  let promises = []
374
396
  let contracts = []
375
397
  for (let transaction of blockMessage.decoded.transactions) {
@@ -380,7 +402,10 @@ export default class Chain {
380
402
  }
381
403
  try {
382
404
  promises = await Promise.allSettled(promises)
383
-
405
+ for (let transaction of blockMessage.decoded.transactions) {
406
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)))
407
+ }
408
+
384
409
  // todo finish state
385
410
  // for (const contract of contracts) {
386
411
  // const state = await this.#machine.get(contract, 'state')
@@ -394,6 +419,10 @@ export default class Chain {
394
419
 
395
420
  }
396
421
 
422
+ async #updateState() {
423
+
424
+ }
425
+
397
426
 
398
427
 
399
428
  async participate() {
@@ -403,56 +432,72 @@ export default class Chain {
403
432
  // introduce peer-reputation
404
433
  // peerReputation(peerId)
405
434
  // {bandwith: {up, down}, uptime}
406
- if (!await this.staticCall(lib.validators, 'has', [peernet.id])) await this.createTransactionFrom(peernet.id, lib.validators, 'addValidator', [peernet.id])
407
- if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) return this.#runEpoch()
435
+ this.participating = true
436
+ if (!await this.staticCall(addresses.validators, 'has', [peernet.id])) await this.createTransactionFrom(peernet.id, addresses.validators, 'addValidator', [peernet.id])
437
+ if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) await this.#runEpoch()
438
+
439
+ // const runEpoch = () => setTimeout(async () => {
440
+ // if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) await this.#runEpoch()
441
+ // runEpoch()
442
+ // }, 5000)
443
+ // runEpoch()
408
444
  }
409
445
 
410
446
  calculateFee(transaction) {
411
447
  // excluded from fees
412
- if (transaction.decoded.to === lib.validators) return 0
448
+ // if (transaction.decoded.to === addresses.validators) return 0
413
449
  // fee per gb
414
450
  return (transaction.encoded.length / 1024) / 1e-6
415
451
  }
416
452
 
453
+ async getTransactions (transactions) {
454
+ return new Promise(async (resolve, reject) => {
455
+ let size = 0
456
+ const _transactions = []
457
+ const promises = await Promise.all(Object.values(transactions)
458
+ .map(tx => new TransactionMessage(new Uint8Array(tx, tx.byteOffset, tx.byteLength))))
459
+
460
+ for (let transaction of promises) {
461
+ size += transaction.encoded.length
462
+ if ((size / 1024) / 1024 &lt;= 1.15 ) _transactions.push({...transaction.decoded, hash: await transaction.hash })
463
+ else return resolve(_transactions)
464
+
465
+ }
466
+ return resolve(_transactions)
467
+ })
468
+
469
+ }
417
470
  async #createBlock() {
418
471
  let transactions = await transactionPoolStore.get()
419
472
 
420
473
  if (Object.keys(transactions)?.length === 0 ) return
474
+
421
475
  let block = {
422
476
  transactions: [],
423
477
  validators: [],
424
478
  fees: 0
425
479
  }
426
480
 
427
- let _transactions = []
428
-
429
481
  // exclude failing tx
430
- for (let transaction of Object.values(transactions)) {
431
- transaction = new TransactionMessage(new Uint8Array(transaction, transaction.byteOffset, transaction.byteLength))
432
-
433
- block.fees += Number(lib.calculateFee(transaction))
434
- _transactions.push({...transaction.decoded, hash: transaction.hash })
435
- }
482
+ transactions = await this.getTransactions(transactions)
436
483
 
437
- transactions = _transactions.sort((a, b) => a.nonce - b.nonce)
438
- _transactions = []
439
- for (let transaction of transactions) {
484
+ transactions = transactions.sort((a, b) => a.nonce - b.nonce)
485
+ for (let transaction of transactions) {
440
486
  try {
441
487
  await this.#executeTransaction(transaction)
442
- _transactions.push(transaction)
488
+ block.transactions.push(transaction)
489
+ block.fees += Number(calculateFee(transaction))
490
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)))
443
491
  } catch (e) {
444
- transaction = new TransactionMessage(transaction)
445
- block.fees -= Number(lib.calculateFee(transaction))
446
- await transactionPoolStore.delete(transaction.hash)
447
-
492
+ console.error(e)
493
+ transaction = await new TransactionMessage(transaction)
494
+ await transactionPoolStore.delete(await transaction.hash)
495
+ console.log(e);
448
496
  }
449
497
  }
450
- transactions = _transactions
451
498
  // don't add empty block
452
- if (transactions.length === 0) return
453
-
454
- block.transactions = transactions
455
- const validators = await this.staticCall(lib.validators, 'validators')
499
+ if (block.transactions.length === 0) return
500
+ const validators = await this.staticCall(addresses.validators, 'validators')
456
501
  console.log({validators});
457
502
  // block.validators = Object.keys(block.validators).reduce((set, key) => {
458
503
  // if (block.validators[key].active) {
@@ -469,7 +514,7 @@ export default class Chain {
469
514
  if (validators[validator].active) {
470
515
  const peer = peers[validator]
471
516
  if (peer &amp;&amp; peer.connected) {
472
- let data = new BWRequestMessage()
517
+ let data = await new BWRequestMessage()
473
518
  const node = await peernet.prepareMessage(validator, data.encoded)
474
519
  try {
475
520
  const bw = await peer.request(node.encoded)
@@ -493,7 +538,7 @@ export default class Chain {
493
538
 
494
539
  }
495
540
 
496
- console.log(block.validators);
541
+ console.log({validators: block.validators});
497
542
 
498
543
  block.reward = 150
499
544
  block.validators = block.validators.map(validator => {
@@ -501,7 +546,7 @@ export default class Chain {
501
546
  delete validator.bw
502
547
  return validator
503
548
  })
504
- // block.validators = lib.calculateValidatorReward(block.validators, block.fees)
549
+ // block.validators = calculateValidatorReward(block.validators, block.fees)
505
550
 
506
551
  block.index = this.lastBlock?.index
507
552
  if (block.index === undefined) block.index = 0
@@ -525,25 +570,48 @@ export default class Chain {
525
570
  block.fees = Number.parseFloat(String(block.fees)).toFixed(decimals)
526
571
 
527
572
  try {
528
- let blockMessage = new BlockMessage(block)
529
- this.#lastBlock = {...block, hash: blockMessage.hash}
573
+ let blockMessage = await new BlockMessage(block)
574
+ const hash = await blockMessage.hash
575
+ await Promise.all(blockMessage.decoded.transactions
576
+ .map(async transaction => transactionPoolStore.delete(await transaction.hash)))
577
+
578
+ this.#lastBlock = { hash, ...blockMessage.decoded }
579
+ await blockStore.put(hash, blockMessage.encoded)
580
+ await chainStore.put('lastBlock', new TextEncoder().encode(hash))
581
+ debug(`created block: ${hash}`)
582
+
530
583
  peernet.publish('add-block', blockMessage.encoded)
531
- this.#addBlock(blockMessage.encoded)
584
+ this.#updateState(blockMessage)
532
585
  } catch (e) {
586
+ console.log(e);
533
587
  throw Error(`invalid block ${block}`)
534
588
  }
535
589
  // data = await this.#machine.execute(to, method, params)
536
590
  // transactionStore.put(message.hash, message.encoded)
537
591
  }
538
592
 
539
- async getNonce(address) {
593
+ async promiseTransactions(transactions) {
594
+ transactions = await Promise.all(transactions.map(tx => new TransactionMessage(tx)))
595
+ return transactions
596
+ }
597
+
598
+ async promiseTransactionsContent(transactions) {
599
+ transactions = await Promise.all(transactions.map(tx => new Promise(async (resolve, reject) => {
600
+ resolve({ ...tx.decoded, hash: await tx.hash })
601
+ })))
602
+
603
+ return transactions
604
+ }
605
+
606
+ async #getNonceFallback(address) {
540
607
  let transactions = await transactionPoolStore.get()
541
- transactions = Object.keys(transactions).map(tx => new TransactionMessage(transactions[tx]))
608
+ transactions = await this.promiseTransactions(Object.values(transactions))
542
609
  transactions = transactions.filter(tx => tx.decoded.from === address)
543
- transactions = transactions.map(tx => { return {...tx.decoded, hash: tx.hash} })
610
+ transactions = await this.promiseTransactionsContent(transactions)
611
+
544
612
  if (this.lastBlock &amp;&amp; transactions.length === 0) {
545
613
  let block = await peernet.get(this.lastBlock.hash)
546
- block = new BlockMessage(block)
614
+ block = await new BlockMessage(block)
547
615
 
548
616
  // for (let tx of block.decoded?.transactions) {
549
617
  // tx = await peernet.get(tx, 'transaction')
@@ -552,7 +620,7 @@ export default class Chain {
552
620
  transactions = transactions.filter(tx => tx.from === address)
553
621
  while (transactions.length === 0 &amp;&amp; block.decoded.index !== 0) {
554
622
  block = await blockStore.get(block.decoded.previousHash)
555
- block = new BlockMessage(block)
623
+ block = await new BlockMessage(block)
556
624
  transactions = block.decoded.transactions.filter(tx => tx.from === address)
557
625
  }
558
626
 
@@ -563,6 +631,16 @@ export default class Chain {
563
631
  return transactions[transactions.length - 1].nonce
564
632
  }
565
633
 
634
+ async getNonce(address) {
635
+ if (!await accountsStore.has(address)) {
636
+ const nonce = await this.#getNonceFallback(address)
637
+ await accountsStore.put(address, new TextEncoder().encode(String(nonce)))
638
+ }
639
+ let nonce = await accountsStore.get(address)
640
+ nonce = new TextDecoder().decode(nonce)
641
+ return Number(nonce)
642
+ }
643
+
566
644
  /**
567
645
  * whenever method = createContract params should hold the contract hash
568
646
  *
@@ -574,9 +652,74 @@ export default class Chain {
574
652
  * @param {Array} params - array of paramters to apply to the contract method
575
653
  * @param {Number} nonce - total transaction count [optional]
576
654
  */
577
- createTransaction(to, method, params, nonce) {
655
+ async createTransaction(to, method, params, nonce, signature) {
578
656
  return this.createTransactionFrom(peernet.id, to, method, params, nonce)
579
657
  }
658
+
659
+
660
+
661
+ /**
662
+ *
663
+ * @param {Object} transaction {}
664
+ * @param {String} transaction.from address
665
+ * @param {String} transaction.to address
666
+ * @param {Object} transaction.params {}
667
+ * @param {String} transaction.params.method get, call
668
+ * @param {Buffer} transaction.params.data
669
+ * @returns
670
+ */
671
+ async createTransactionHash(transaction) {
672
+ // todo: validate
673
+ const peernetHash = await new CodecHash(transaction, {name: 'transaction-message'})
674
+ return peernetHash.digest
675
+ }
676
+
677
+ /**
678
+ * @params {object} transaction -
679
+ * @params {object} wallet - any wallet/signer that supports sign(RAWtransaction)
680
+ */
681
+ async #signTransaction (transaction, wallet) {
682
+ return wallet.sign(await this.createTransactionHash(transaction))
683
+ }
684
+
685
+ async signTransaction(transaction, signer) {
686
+ let identity = await walletStore.get('identity')
687
+ identity = JSON.parse(new TextDecoder().decode(identity))
688
+ const wallet = new MultiWallet(peernet.network)
689
+ wallet.recover(identity.mnemonic)
690
+ const account = wallet.account(0).external(0)
691
+ transaction.signature = await this.#signTransaction(transaction, wallet)
692
+ transaction.signature = bs32.encode(transaction.signature)
693
+ return transaction
694
+ }
695
+
696
+ /**
697
+ *
698
+ * @param {Object} transaction
699
+ * @param {Address} transaction.from
700
+ * @param {Address} transaction.to
701
+ * @param {String} transaction.method
702
+ * @param {Array} transaction.params
703
+ * @param {Number} transaction.nonce
704
+ *
705
+ * @returns {Object} transaction
706
+ */
707
+ async createRawTransaction(transaction) {
708
+ if (!transaction.from) transaction.from = peernet.id
709
+ transaction.timestamp = Date.now()
710
+
711
+ if (transaction.nonce === undefined) {
712
+ transaction.nonce = await this.getNonce(transaction.from)
713
+ transaction.nonce += 1
714
+ await accountsStore.put(transaction.from, new TextEncoder().encode(String(transaction.nonce)))
715
+ } else {
716
+ let nonce = await accountsStore.get(transaction.from)
717
+ nonce = new TextDecoder().decode(nonce)
718
+ if (transaction.nonce &lt; nonce) throw Error(`a transaction with a higher nonce already exists`)
719
+ if (transaction.nonce === nonce) throw Error(`a transaction with the same nonce already exists`)
720
+ }
721
+ return transaction
722
+ }
580
723
  /**
581
724
  * every tx done is trough contracts so no need for amount
582
725
  * data is undefined when nothing is returned
@@ -589,31 +732,41 @@ export default class Chain {
589
732
  * @param {Number} nonce - total transaction count [optional]
590
733
  */
591
734
  async createTransactionFrom(from, to, method, params, nonce) {
592
- if (nonce === undefined) {
593
- nonce = await this.getNonce(from)
594
- nonce += 1
595
- }
596
-
597
- let data
598
- let message = new TransactionMessage({timestamp: new Date().getTime(), from, to, nonce, method, params})
599
735
  try {
736
+
737
+ const rawTransaction = await this.createRawTransaction({from, to, nonce, method, params})
738
+ const transaction = await this.signTransaction(rawTransaction, from)
739
+ const message = await new TransactionMessage(transaction)
740
+
741
+ let data
600
742
  // await transactionPoolStore.put(message.hash, new TextEncoder().encode(JSON.stringify({signature, message: message.encoded})))
601
- await transactionPoolStore.put(message.hash, message.encoded)
743
+ const wait = () => new Promise(async (resolve, reject) => {
744
+ if (pubsub.subscribers[`transaction.completed.${await message.hash}`]) {
745
+ const result = pubsub.subscribers[`transaction.completed.${await message.hash}`].value
746
+ result.status === 'fulfilled' ? resolve(await result.hash) : reject({hash: await result.hash, error: result.error})
747
+ } else {
748
+ const completed = async result => {
749
+ result.status === 'fulfilled' ? resolve(await result.hash) : reject({hash: await result.hash, error: result.error})
750
+
751
+ setTimeout(async () => {
752
+ pubsub.unsubscribe(`transaction.completed.${await message.hash}`, completed)
753
+ }, 10000)
754
+ }
755
+ pubsub.subscribe(`transaction.completed.${await message.hash}`, completed)
756
+ }
757
+
758
+
759
+ })
760
+
761
+ await transactionPoolStore.put(await message.hash, message.encoded)
602
762
  peernet.publish('add-transaction', message.encoded)
763
+ this.#addTransaction(message.encoded)
764
+ return {hash: await message.hash, data, fee: await calculateFee(message.decoded), wait}
603
765
  } catch (e) {
766
+ console.log(e);
604
767
  throw e
605
768
  }
606
- const wait = () => new Promise((resolve, reject) => {
607
- const completed = result => {
608
- result.status === 'fulfilled' ? resolve(result.hash) : reject({hash: result.hash, error: result.error})
609
-
610
- pubsub.unsubscribe(`transaction.completed.${message.hash}`, completed)
611
- }
612
- pubsub.subscribe(`transaction.completed.${message.hash}`, completed)
613
- })
614
-
615
- if (await this.hasTransactionToHandle() &amp;&amp; !this.#runningEpoch) this.#runEpoch()
616
- return {hash: message.hash, data, fee: lib.calculateFee(message), wait}
769
+
617
770
  }
618
771
 
619
772
  async createContractMessage(creator, contract, constructorParameters = []) {
@@ -625,8 +778,8 @@ export default class Chain {
625
778
  }
626
779
 
627
780
  async createContractAddress(creator, contract, constructorParameters = []) {
628
- return this.createContractMessage(creator, contract, constructorParameters)
629
- .hash
781
+ contract = await this.createContractMessage(creator, contract, constructorParameters)
782
+ return contract.hash
630
783
  }
631
784
 
632
785
  /**
@@ -639,7 +792,7 @@ export default class Chain {
639
792
  const hash = await this.createContractAddress(creator, contract, params)
640
793
 
641
794
  try {
642
- const tx = await this.createTransactionFrom(peernet.id, lib.contractFactory, 'deployContract', [hash, creator, contract, constructorParameters])
795
+ const tx = await this.createTransactionFrom(peernet.id, addresses.contractFactory, 'deployContract', [hash, creator, contract, constructorParameters])
643
796
  } catch (e) {
644
797
  throw e
645
798
  }
@@ -686,15 +839,15 @@ export default class Chain {
686
839
  }
687
840
 
688
841
  mint(to, amount) {
689
- return this.call(lib.nativeToken, 'mint', [to, amount])
842
+ return this.call(addresses.nativeToken, 'mint', [to, amount])
690
843
  }
691
844
 
692
845
  transfer(from, to, amount) {
693
- return this.call(lib.nativeToken, 'transfer', [from, to, amount])
846
+ return this.call(addresses.nativeToken, 'transfer', [from, to, amount])
694
847
  }
695
848
 
696
849
  get balances() {
697
- return this.staticCall(lib.nativeToken, 'balances')
850
+ return this.staticCall(addresses.nativeToken, 'balances')
698
851
  }
699
852
 
700
853
  deleteAll() {
@@ -711,7 +864,7 @@ export default class Chain {
711
864
  * @example chain.lookup('myCoolContractName') // qmqsfddfdgfg...
712
865
  */
713
866
  lookup(name) {
714
- return this.call(lib.nameService, 'lookup', [name])
867
+ return this.call(addresses.nameService, 'lookup', [name])
715
868
  }
716
869
  }
717
870
  </code></pre>
@@ -726,7 +879,7 @@ export default class Chain {
726
879
  <br class="clear">
727
880
 
728
881
  <footer>
729
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a>
882
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a>
730
883
  </footer>
731
884
 
732
885
  <script src="scripts/linenumber.js"></script>