@leofcoin/chain 1.0.24 → 1.0.26

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 (132) hide show
  1. package/demo/151.browser.js +271 -0
  2. package/demo/205.browser.js +215 -0
  3. package/demo/427.browser.js +8092 -0
  4. package/demo/560.browser.js +3 -0
  5. package/demo/911.browser.js +11024 -0
  6. package/{dist → demo}/chain.browser.js +6765 -24164
  7. package/demo/index.html +4 -4
  8. package/demo/main.browser.js +8163 -0
  9. package/{dist → demo}/node.browser.js +3157 -2582
  10. package/{dist → demo}/pako.browser.js +0 -0
  11. package/demo/peernet-worker.browser.js +11330 -0
  12. package/demo/workers/machine-worker.js +12544 -0
  13. package/{dist → demo}/wrtc.browser.js +0 -0
  14. package/dist/chain.js +235 -143
  15. package/dist/module/chain.js +1189 -0
  16. package/dist/module/node.js +1 -0
  17. package/dist/module/workers/machine-worker.js +491 -0
  18. package/dist/node.js +1 -1
  19. package/package.json +11 -19
  20. package/rollup.config.js +87 -3
  21. package/src/chain.js +94 -61
  22. package/src/config/config.js +11 -16
  23. package/src/machine.js +96 -57
  24. package/src/node.js +2 -1
  25. package/src/workers/block-worker.js +71 -0
  26. package/src/workers/machine-worker.js +160 -0
  27. package/src/workers/pool-worker.js +37 -0
  28. package/src/workers/transaction-worker.js +26 -0
  29. package/test/chain.js +14 -14
  30. package/test/create-genesis.js +13 -5
  31. package/webpack.config.js +49 -6
  32. package/workers/block-worker.js +1 -0
  33. package/workers/machine-worker.js +1 -0
  34. package/workers/pool-worker.js +1 -0
  35. package/workers/transaction-worker.js +1 -0
  36. package/dist/protons.browser.js +0 -11429
  37. package/docs/@leofcoin/chain/1.0.22/chain.js.html +0 -891
  38. package/docs/@leofcoin/chain/1.0.22/contracts_factory.js.html +0 -182
  39. package/docs/@leofcoin/chain/1.0.22/contracts_nameService.js.html +0 -231
  40. package/docs/@leofcoin/chain/1.0.22/contracts_proxies_factoryProxy.js.html +0 -135
  41. package/docs/@leofcoin/chain/1.0.22/contracts_proxies_nameServiceProxy.js.html +0 -135
  42. package/docs/@leofcoin/chain/1.0.22/contracts_proxies_nativeTokenProxy.js.html +0 -135
  43. package/docs/@leofcoin/chain/1.0.22/contracts_proxies_validatorsProxy.js.html +0 -135
  44. package/docs/@leofcoin/chain/1.0.22/contracts_proxies_votingProxy.js.html +0 -135
  45. package/docs/@leofcoin/chain/1.0.22/contracts_validators.js.html +0 -242
  46. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Bold-webfont.eot +0 -0
  47. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Bold-webfont.svg +0 -1830
  48. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Bold-webfont.woff +0 -0
  49. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  50. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  51. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  52. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Italic-webfont.eot +0 -0
  53. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Italic-webfont.svg +0 -1830
  54. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Italic-webfont.woff +0 -0
  55. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Light-webfont.eot +0 -0
  56. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Light-webfont.svg +0 -1831
  57. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Light-webfont.woff +0 -0
  58. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  59. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  60. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  61. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Regular-webfont.eot +0 -0
  62. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Regular-webfont.svg +0 -1831
  63. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Regular-webfont.woff +0 -0
  64. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Semibold-webfont.eot +0 -0
  65. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  66. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  67. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-Semibold-webfont.woff +0 -0
  68. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  69. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  70. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  71. package/docs/@leofcoin/chain/1.0.22/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  72. package/docs/@leofcoin/chain/1.0.22/global.html +0 -1805
  73. package/docs/@leofcoin/chain/1.0.22/icons/home.svg +0 -4
  74. package/docs/@leofcoin/chain/1.0.22/icons/search.svg +0 -4
  75. package/docs/@leofcoin/chain/1.0.22/index.html +0 -125
  76. package/docs/@leofcoin/chain/1.0.22/machine.js.html +0 -255
  77. package/docs/@leofcoin/chain/1.0.22/scripts/linenumber.js +0 -23
  78. package/docs/@leofcoin/chain/1.0.22/scripts/pagelocation.js +0 -89
  79. package/docs/@leofcoin/chain/1.0.22/standards_roles.js.html +0 -188
  80. package/docs/@leofcoin/chain/1.0.22/standards_token.js.html +0 -260
  81. package/docs/@leofcoin/chain/1.0.22/styles/collapse.css +0 -27
  82. package/docs/@leofcoin/chain/1.0.22/styles/jsdoc-default.css +0 -953
  83. package/docs/@leofcoin/chain/1.0.22/styles/prettify-jsdoc.css +0 -111
  84. package/docs/@leofcoin/chain/1.0.22/styles/prettify-tomorrow.css +0 -138
  85. package/docs/@leofcoin/chain/1.0.24/chain.js.html +0 -891
  86. package/docs/@leofcoin/chain/1.0.24/contracts_factory.js.html +0 -182
  87. package/docs/@leofcoin/chain/1.0.24/contracts_nameService.js.html +0 -231
  88. package/docs/@leofcoin/chain/1.0.24/contracts_proxies_factoryProxy.js.html +0 -135
  89. package/docs/@leofcoin/chain/1.0.24/contracts_proxies_nameServiceProxy.js.html +0 -135
  90. package/docs/@leofcoin/chain/1.0.24/contracts_proxies_nativeTokenProxy.js.html +0 -135
  91. package/docs/@leofcoin/chain/1.0.24/contracts_proxies_validatorsProxy.js.html +0 -135
  92. package/docs/@leofcoin/chain/1.0.24/contracts_proxies_votingProxy.js.html +0 -135
  93. package/docs/@leofcoin/chain/1.0.24/contracts_validators.js.html +0 -242
  94. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Bold-webfont.eot +0 -0
  95. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Bold-webfont.svg +0 -1830
  96. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Bold-webfont.woff +0 -0
  97. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  98. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  99. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  100. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Italic-webfont.eot +0 -0
  101. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Italic-webfont.svg +0 -1830
  102. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Italic-webfont.woff +0 -0
  103. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Light-webfont.eot +0 -0
  104. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Light-webfont.svg +0 -1831
  105. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Light-webfont.woff +0 -0
  106. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  107. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  108. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  109. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Regular-webfont.eot +0 -0
  110. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Regular-webfont.svg +0 -1831
  111. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Regular-webfont.woff +0 -0
  112. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Semibold-webfont.eot +0 -0
  113. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  114. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  115. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-Semibold-webfont.woff +0 -0
  116. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  117. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  118. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  119. package/docs/@leofcoin/chain/1.0.24/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  120. package/docs/@leofcoin/chain/1.0.24/global.html +0 -1805
  121. package/docs/@leofcoin/chain/1.0.24/icons/home.svg +0 -4
  122. package/docs/@leofcoin/chain/1.0.24/icons/search.svg +0 -4
  123. package/docs/@leofcoin/chain/1.0.24/index.html +0 -125
  124. package/docs/@leofcoin/chain/1.0.24/machine.js.html +0 -255
  125. package/docs/@leofcoin/chain/1.0.24/scripts/linenumber.js +0 -23
  126. package/docs/@leofcoin/chain/1.0.24/scripts/pagelocation.js +0 -89
  127. package/docs/@leofcoin/chain/1.0.24/standards_roles.js.html +0 -188
  128. package/docs/@leofcoin/chain/1.0.24/standards_token.js.html +0 -260
  129. package/docs/@leofcoin/chain/1.0.24/styles/collapse.css +0 -27
  130. package/docs/@leofcoin/chain/1.0.24/styles/jsdoc-default.css +0 -953
  131. package/docs/@leofcoin/chain/1.0.24/styles/prettify-jsdoc.css +0 -111
  132. package/docs/@leofcoin/chain/1.0.24/styles/prettify-tomorrow.css +0 -138
@@ -1,182 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html>
4
- <html lang="en">
5
- <head>
6
-
7
- <meta charset="utf-8">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
-
10
- <title>
11
- contracts/factory.js - Documentation
12
- </title>
13
-
14
- <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
- <script>hljs.initHighlightingOnLoad();</script>
18
-
19
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
-
21
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
-
24
- <link type="text/css" rel="stylesheet" href="styles/collapse.css">
25
-
26
-
27
-
28
-
29
- <!-- start Mixpanel -->
30
- <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
31
- 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
32
- for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
33
- mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
34
- <!-- end Mixpanel -->
35
- </head>
36
-
37
- <body>
38
- <svg style="display: none;">
39
- <defs>
40
- <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
41
- <path d="M0 0h24v24H0z" fill="none"/>
42
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
43
- </symbol>
44
- </defs>
45
- </svg>
46
-
47
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
48
- <label for="nav-trigger" class="navicon-button x">
49
- <div class="navicon"></div>
50
- </label>
51
-
52
- <label for="nav-trigger" class="overlay"></label>
53
-
54
- <div class="top-nav-wrapper">
55
- <ul>
56
- <li >
57
- <a href="index.html">
58
-
59
- <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
60
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
61
- <path d="M0 0h24v24H0z" fill="none"/>
62
- </svg>
63
-
64
-
65
- </a>
66
- </li>
67
-
68
-
69
-
70
- </ul>
71
- </div>
72
-
73
- <nav>
74
- <h3 class="reference-title">
75
- @leofcoin/chain
76
- </h3>
77
-
78
-
79
- <h3>
80
- Resources
81
- </h3>
82
-
83
- <a href="https://github.com/arteontoken/monorepo/tree/main/chain">github</a>
84
-
85
-
86
-
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
- </nav>
89
-
90
- <div id="main">
91
-
92
- <h1 class="page-title">
93
- contracts/factory.js
94
- </h1>
95
-
96
-
97
-
98
-
99
-
100
- <section>
101
- <article>
102
- <pre class="prettyprint source linenums"><code>export default class Factory {
103
- /**
104
- * string
105
- */
106
- #name = 'ArtOnlineContractFactory'
107
- /**
108
- * uint
109
- */
110
- #totalContracts = 0
111
- /**
112
- * Array => string
113
- */
114
- #contracts = []
115
-
116
- constructor(state) {
117
- if (state) {
118
- this.#contracts = state.contracts
119
- this.#totalContracts = state.totalContracts
120
- }
121
- }
122
-
123
- get state() {
124
- return {
125
- totalContracts: this.#totalContracts,
126
- contracts: this.#contracts
127
- }
128
- }
129
-
130
- get name() {
131
- return this.#name
132
- }
133
-
134
- get contracts() {
135
- return [...this.#contracts]
136
- }
137
-
138
- get totalContracts() {
139
- return this.#totalContracts
140
- }
141
-
142
- isvalid(hash, creator, contract, constructorParameters = []) {
143
- const message = new ContractMessage({
144
- creator,
145
- contract,
146
- constructorParameters
147
- })
148
- return Boolean(message.hash === hash)
149
- }
150
-
151
- async deployContract(contractHash, creator, contract, constructorParameters = []) {
152
- if (contract.creator !== msg.sender) throw new Error('only a contract creator can deploy a contract')
153
- if (await contractStore.has(hash)) throw new Error('duplicate contract')
154
- if (!this.isValid(contractHash, creator, contract, constructorParameters)) throw new Error('invalid contract')
155
-
156
- await contractStore.put(hash, encoded)
157
- this.#totalContracts += 1
158
- this.#contracts.push(hash)
159
- }
160
- }
161
- </code></pre>
162
- </article>
163
- </section>
164
-
165
-
166
-
167
-
168
- </div>
169
-
170
- <br class="clear">
171
-
172
- <footer>
173
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a>
174
- </footer>
175
-
176
- <script src="scripts/linenumber.js"></script>
177
- <script src="scripts/pagelocation.js"></script>
178
-
179
-
180
-
181
- </body>
182
- </html>
@@ -1,231 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html>
4
- <html lang="en">
5
- <head>
6
-
7
- <meta charset="utf-8">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
-
10
- <title>
11
- contracts/nameService.js - Documentation
12
- </title>
13
-
14
- <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
- <script>hljs.initHighlightingOnLoad();</script>
18
-
19
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
-
21
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
-
24
- <link type="text/css" rel="stylesheet" href="styles/collapse.css">
25
-
26
-
27
-
28
-
29
- <!-- start Mixpanel -->
30
- <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
31
- 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
32
- for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
33
- mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
34
- <!-- end Mixpanel -->
35
- </head>
36
-
37
- <body>
38
- <svg style="display: none;">
39
- <defs>
40
- <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
41
- <path d="M0 0h24v24H0z" fill="none"/>
42
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
43
- </symbol>
44
- </defs>
45
- </svg>
46
-
47
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
48
- <label for="nav-trigger" class="navicon-button x">
49
- <div class="navicon"></div>
50
- </label>
51
-
52
- <label for="nav-trigger" class="overlay"></label>
53
-
54
- <div class="top-nav-wrapper">
55
- <ul>
56
- <li >
57
- <a href="index.html">
58
-
59
- <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
60
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
61
- <path d="M0 0h24v24H0z" fill="none"/>
62
- </svg>
63
-
64
-
65
- </a>
66
- </li>
67
-
68
-
69
-
70
- </ul>
71
- </div>
72
-
73
- <nav>
74
- <h3 class="reference-title">
75
- @leofcoin/chain
76
- </h3>
77
-
78
-
79
- <h3>
80
- Resources
81
- </h3>
82
-
83
- <a href="https://github.com/arteontoken/monorepo/tree/main/chain">github</a>
84
-
85
-
86
-
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
- </nav>
89
-
90
- <div id="main">
91
-
92
- <h1 class="page-title">
93
- contracts/nameService.js
94
- </h1>
95
-
96
-
97
-
98
-
99
-
100
- <section>
101
- <article>
102
- <pre class="prettyprint source linenums"><code>export default class NameService {
103
- /**
104
- * string
105
- */
106
- #name = 'ArtOnlineNameService'
107
- /**
108
- * string
109
- */
110
- #owner
111
- /**
112
- * number
113
- */
114
- #price = 0
115
- /**
116
- * Object => string
117
- */
118
- #registry = {}
119
-
120
- /**
121
- * => string
122
- */
123
- #currency
124
-
125
- get name() {
126
- return this.#name
127
- }
128
-
129
- get registry() {
130
- return {...this.#registry}
131
- }
132
-
133
- get state() {
134
-
135
- }
136
-
137
- // TODO: control with contract
138
- constructor(factoryAddress, currency, validatorAddress, price, state) {
139
- if (state) {
140
- this.#owner = state.owner
141
- this.#registry = state.registry
142
- this.#currency = state.currency
143
- this.#price = state.price
144
- } else {
145
- this.#owner = msg.sender
146
- this.#price = price
147
- this.#registry['ArtOnlineContractFactory'] = {
148
- owner: msg.sender,
149
- address: factoryAddress
150
- }
151
-
152
- this.#registry['ArtOnlineToken'] = {
153
- owner: msg.sender,
154
- address: currency
155
- }
156
-
157
- this.#registry['ArtOnlineValidators'] = {
158
- owner: msg.sender,
159
- address: validatorAddress
160
- }
161
-
162
- this.#currency = currency
163
- }
164
- }
165
-
166
- changeOwner(owner) {
167
- if (msg.sender !== this.#owner) throw new Error('no owner')
168
- this.#owner = owner
169
- }
170
-
171
- changePrice(price) {
172
- if (msg.sender !== this.#owner) throw new Error('no owner')
173
- this.#price = price
174
- }
175
-
176
- changeCurrency(currency) {
177
- if (msg.sender !== this.#owner) throw new Error('no owner')
178
- this.#currency = currency
179
- }
180
-
181
- async purchaseName(name, address) {
182
- const balance = await msg.call(this.#currency, 'balanceOf', [msg.sender])
183
- if (balance &lt; this.#price) throw new Error('price exceeds balance')
184
- try {
185
- await msg.call(this.#currency, 'transfer', [msg.sender, this.#owner, this.#price])
186
- } catch (e) {
187
- throw e
188
- }
189
-
190
- this.#registry[name] = {
191
- owner: msg.sender,
192
- address
193
- }
194
- }
195
-
196
- lookup(name) {
197
- return this.#registry[name]
198
- }
199
-
200
- transferOwnership(name, to) {
201
- if (msg.sender !== this.#registry.owner) throw new Error('not a owner')
202
- this.#registry[name].owner = to
203
- }
204
-
205
- changeAddress(name, address) {
206
- if (msg.sender !== this.#registry.owner) throw new Error('not a owner')
207
- this.#registry[name].address = address
208
- }
209
- }
210
- </code></pre>
211
- </article>
212
- </section>
213
-
214
-
215
-
216
-
217
- </div>
218
-
219
- <br class="clear">
220
-
221
- <footer>
222
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a>
223
- </footer>
224
-
225
- <script src="scripts/linenumber.js"></script>
226
- <script src="scripts/pagelocation.js"></script>
227
-
228
-
229
-
230
- </body>
231
- </html>
@@ -1,135 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html>
4
- <html lang="en">
5
- <head>
6
-
7
- <meta charset="utf-8">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
-
10
- <title>
11
- contracts/proxies/factoryProxy.js - Documentation
12
- </title>
13
-
14
- <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
- <script>hljs.initHighlightingOnLoad();</script>
18
-
19
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
-
21
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
-
24
- <link type="text/css" rel="stylesheet" href="styles/collapse.css">
25
-
26
-
27
-
28
-
29
- <!-- start Mixpanel -->
30
- <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
31
- 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
32
- for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
33
- mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
34
- <!-- end Mixpanel -->
35
- </head>
36
-
37
- <body>
38
- <svg style="display: none;">
39
- <defs>
40
- <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
41
- <path d="M0 0h24v24H0z" fill="none"/>
42
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
43
- </symbol>
44
- </defs>
45
- </svg>
46
-
47
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
48
- <label for="nav-trigger" class="navicon-button x">
49
- <div class="navicon"></div>
50
- </label>
51
-
52
- <label for="nav-trigger" class="overlay"></label>
53
-
54
- <div class="top-nav-wrapper">
55
- <ul>
56
- <li >
57
- <a href="index.html">
58
-
59
- <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
60
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
61
- <path d="M0 0h24v24H0z" fill="none"/>
62
- </svg>
63
-
64
-
65
- </a>
66
- </li>
67
-
68
-
69
-
70
- </ul>
71
- </div>
72
-
73
- <nav>
74
- <h3 class="reference-title">
75
- @leofcoin/chain
76
- </h3>
77
-
78
-
79
- <h3>
80
- Resources
81
- </h3>
82
-
83
- <a href="https://github.com/arteontoken/monorepo/tree/main/chain">github</a>
84
-
85
-
86
-
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
- </nav>
89
-
90
- <div id="main">
91
-
92
- <h1 class="page-title">
93
- contracts/proxies/factoryProxy.js
94
- </h1>
95
-
96
-
97
-
98
-
99
-
100
- <section>
101
- <article>
102
- <pre class="prettyprint source linenums"><code>import Proxy from './../../standards/Proxy.js'
103
-
104
- export default class FactoryProxy extends Proxy {
105
- /**
106
- * string
107
- */
108
- #name = 'ArtOnlineContractFactoryProxy'
109
-
110
- constructor(proxyManager, state) {
111
- super(proxyManager, state)
112
- }
113
- }
114
- </code></pre>
115
- </article>
116
- </section>
117
-
118
-
119
-
120
-
121
- </div>
122
-
123
- <br class="clear">
124
-
125
- <footer>
126
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a>
127
- </footer>
128
-
129
- <script src="scripts/linenumber.js"></script>
130
- <script src="scripts/pagelocation.js"></script>
131
-
132
-
133
-
134
- </body>
135
- </html>
@@ -1,135 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html>
4
- <html lang="en">
5
- <head>
6
-
7
- <meta charset="utf-8">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
-
10
- <title>
11
- contracts/proxies/nameServiceProxy.js - Documentation
12
- </title>
13
-
14
- <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
- <script>hljs.initHighlightingOnLoad();</script>
18
-
19
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
-
21
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
-
24
- <link type="text/css" rel="stylesheet" href="styles/collapse.css">
25
-
26
-
27
-
28
-
29
- <!-- start Mixpanel -->
30
- <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
31
- 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
32
- for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
33
- mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
34
- <!-- end Mixpanel -->
35
- </head>
36
-
37
- <body>
38
- <svg style="display: none;">
39
- <defs>
40
- <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
41
- <path d="M0 0h24v24H0z" fill="none"/>
42
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
43
- </symbol>
44
- </defs>
45
- </svg>
46
-
47
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
48
- <label for="nav-trigger" class="navicon-button x">
49
- <div class="navicon"></div>
50
- </label>
51
-
52
- <label for="nav-trigger" class="overlay"></label>
53
-
54
- <div class="top-nav-wrapper">
55
- <ul>
56
- <li >
57
- <a href="index.html">
58
-
59
- <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
60
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
61
- <path d="M0 0h24v24H0z" fill="none"/>
62
- </svg>
63
-
64
-
65
- </a>
66
- </li>
67
-
68
-
69
-
70
- </ul>
71
- </div>
72
-
73
- <nav>
74
- <h3 class="reference-title">
75
- @leofcoin/chain
76
- </h3>
77
-
78
-
79
- <h3>
80
- Resources
81
- </h3>
82
-
83
- <a href="https://github.com/arteontoken/monorepo/tree/main/chain">github</a>
84
-
85
-
86
-
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
- </nav>
89
-
90
- <div id="main">
91
-
92
- <h1 class="page-title">
93
- contracts/proxies/nameServiceProxy.js
94
- </h1>
95
-
96
-
97
-
98
-
99
-
100
- <section>
101
- <article>
102
- <pre class="prettyprint source linenums"><code>import Proxy from './../../standards/Proxy.js'
103
-
104
- export default class NameServiceProxy extends Proxy {
105
- /**
106
- * string
107
- */
108
- #name = 'ArtOnlineNameServiceProxy'
109
-
110
- constructor(proxyManager, state) {
111
- super(proxyManager, state)
112
- }
113
- }
114
- </code></pre>
115
- </article>
116
- </section>
117
-
118
-
119
-
120
-
121
- </div>
122
-
123
- <br class="clear">
124
-
125
- <footer>
126
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a>
127
- </footer>
128
-
129
- <script src="scripts/linenumber.js"></script>
130
- <script src="scripts/pagelocation.js"></script>
131
-
132
-
133
-
134
- </body>
135
- </html>