godprotocol 1.0.7991 → 1.1.0
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.
- package/Executables/callables.js +131 -0
- package/Executables/executables.js +230 -0
- package/Executables/functions/adminstrator/adm_register.js +29 -0
- package/Executables/functions/adminstrator/native_components.js +10 -0
- package/Executables/functions/adminstrator/query_selectors.js +10 -0
- package/Executables/functions/adminstrator/render.js +24 -0
- package/Executables/functions/array_register.js +161 -0
- package/Executables/functions/assign.js +19 -0
- package/Executables/functions/display.js +55 -0
- package/Executables/functions/folder.js +95 -0
- package/Executables/functions/folder_register.js +87 -0
- package/Executables/functions/importcheck.js +13 -0
- package/Executables/functions/indices.js +56 -0
- package/Executables/functions/len.js +22 -0
- package/Executables/functions/methods/array.js +272 -0
- package/Executables/functions/methods/string.js +197 -0
- package/Executables/functions/methods/twain.js +148 -0
- package/Executables/functions/op.js +15 -0
- package/Executables/functions/price_register.js +30 -0
- package/Executables/functions/pricing.js +26 -0
- package/Executables/functions/servers/account.js +81 -0
- package/Executables/functions/servers/account_register.js +56 -0
- package/Executables/functions/servers/block.js +21 -0
- package/Executables/functions/servers/block_register.js +18 -0
- package/Executables/functions/servers/chain.js +42 -0
- package/Executables/functions/servers/chain_register.js +28 -0
- package/Executables/functions/set_error_catch.js +34 -0
- package/Executables/functions/string_register.js +130 -0
- package/Executables/functions/twain_register.js +56 -0
- package/Executables/functions/typecast.js +43 -0
- package/Executables/functions/utils.js +9 -0
- package/Executables/stack.js +53 -0
- package/Index.js +2 -7
- package/Loader_sequence/main.js +535 -119
- package/Loader_sequence/repository.js +33 -0
- package/Objects/Account.js +220 -54
- package/Objects/Block.js +46 -16
- package/Objects/Blockweb.js +14 -0
- package/Objects/Chain.js +163 -16
- package/Objects/Fee.js +33 -0
- package/Objects/Filesystem.js +100 -26
- package/Objects/Frame.js +10 -3
- package/Objects/Manager.js +272 -46
- package/Objects/Opcodes.js +60 -10
- package/Objects/Oracle.js +90 -5
- package/Objects/Protocol.js +5 -0
- package/Objects/Virtual_machine.js +145 -53
- package/Trinity.js +20 -0
- package/callables.js +172 -0
- package/framer.js +111 -52
- package/opcodes/add.js +6 -6
- package/opcodes/indices.js +82 -0
- package/opcodes/jmp.js +12 -11
- package/opcodes/std.js +7 -2
- package/opcodes.js +72 -14
- package/package.json +6 -5
- package/readme.md +1 -1
- package/starter_scripts/constants.seq +11 -0
- package/utils/create_server.js +34 -27
- package/utils/hash.js +2 -2
- package/utils/logger.js +79 -0
- package/utils/services.js +5 -3
- package/utils/type_coersion.js +3 -0
- package/utils/vm_utils.js +292 -0
- package/.babelrc +0 -3
- package/build/Account.js +0 -162
- package/build/Block.js +0 -65
- package/build/Blockweb.js +0 -36
- package/build/Chain.js +0 -119
- package/build/Explorer.js +0 -47
- package/build/Filesystem.js +0 -127
- package/build/Frame.js +0 -52
- package/build/Index.js +0 -15
- package/build/Manager.js +0 -99
- package/build/Opcodes.js +0 -39
- package/build/Oracle.js +0 -42
- package/build/Virtual_machine.js +0 -128
- package/build/add.js +0 -41
- package/build/create_server.js +0 -119
- package/build/framer.js +0 -57
- package/build/functions.js +0 -82
- package/build/hash.js +0 -14
- package/build/jmp.js +0 -19
- package/build/main.js +0 -283
- package/build/opcodes.js +0 -42
- package/build/privacy.js +0 -27
- package/build/services.js +0 -50
- package/build/std.js +0 -11
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { generate_random_string } from "generalised-datastore/utils/functions";
|
|
2
|
+
import Executables from "../Executables/executables";
|
|
3
|
+
|
|
4
|
+
class Vm_utils extends Executables{
|
|
5
|
+
constructor(){
|
|
6
|
+
super()
|
|
7
|
+
|
|
8
|
+
setTimeout(() => {
|
|
9
|
+
this. air_object_paths = new Array(
|
|
10
|
+
`${this.account.physical_address}/language/natives/datatypes/string/String`,
|
|
11
|
+
`${this.account.physical_address}/language/natives/datatypes/number/Number`,
|
|
12
|
+
`${this.account.physical_address}/language/natives/datatypes/twain/Twain`,
|
|
13
|
+
`${this.account.physical_address}/language/natives/datatypes/array/Array`,
|
|
14
|
+
`${this.account.physical_address}/language/natives/datatypes/boolean/Boolean`,
|
|
15
|
+
`${this.account.physical_address}/language/natives/datatypes/void/Void`,
|
|
16
|
+
`${this.account.physical_address}/language/natives/server/chain/Chain`,
|
|
17
|
+
`${this.account.physical_address}/language/natives/server/block/Block`,
|
|
18
|
+
`${this.account.physical_address}/language/natives/server/chain/Chain`,
|
|
19
|
+
)
|
|
20
|
+
}, 0);
|
|
21
|
+
|
|
22
|
+
this.error_instance_address = "Accounts/initiator/language/natives/errors"
|
|
23
|
+
|
|
24
|
+
this.air_types = new Array('boolean', 'string', 'twain', 'array', 'number', 'void')
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
set_config = (config)=>{
|
|
28
|
+
config = config.op0;
|
|
29
|
+
let chain = this.handle_chain(config.__address__);
|
|
30
|
+
chain.set_obj_config(config)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
get_context = (index) => {
|
|
34
|
+
return this.contexts.slice(index == null ? -1 : index)[0];
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
parse_arg = (arg, opcode) => {
|
|
38
|
+
let context = this.get_context();
|
|
39
|
+
|
|
40
|
+
let args = arg.split("/"),
|
|
41
|
+
i = 0;
|
|
42
|
+
|
|
43
|
+
while (args[0] === "..") {
|
|
44
|
+
i++;
|
|
45
|
+
|
|
46
|
+
args.splice(0, 1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
i = (i + 1) * -1;
|
|
50
|
+
context = i ? this.get_context(i) : context;
|
|
51
|
+
|
|
52
|
+
arg = args.join("/");
|
|
53
|
+
|
|
54
|
+
while (arg.includes("^")) {
|
|
55
|
+
let blk = context.connections.slice(-1)[0];
|
|
56
|
+
if (!blk) break;
|
|
57
|
+
context = blk.chain;
|
|
58
|
+
let i = arg.indexOf("^");
|
|
59
|
+
arg = `${arg.slice(0, i)}${arg.slice(i + 1)}`;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
let is_cursor = opcode === 'cursor'
|
|
63
|
+
if (arg.startsWith("{*") && is_cursor) {
|
|
64
|
+
arg = context.explore(arg.slice(2, -1));
|
|
65
|
+
} else if (arg.startsWith("{") && !is_cursor) {
|
|
66
|
+
arg = context.explore(arg.slice(1, -1));
|
|
67
|
+
if (['chain', 'link'].includes(opcode) && arg.includes('/')){
|
|
68
|
+
arg = this.account.read(arg)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return arg;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
split_instruction = (instruction) => {
|
|
76
|
+
let split = instruction.split(" ");
|
|
77
|
+
let opcode = split[0],
|
|
78
|
+
args = split.slice(1).join(" ");
|
|
79
|
+
|
|
80
|
+
return { opcode, args };
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
handle_chain = (args, context)=>{
|
|
84
|
+
if (!args) return
|
|
85
|
+
if(!context) context = this.account.chain
|
|
86
|
+
|
|
87
|
+
let web = context.account.manager.web, chain;
|
|
88
|
+
|
|
89
|
+
if (args.includes('/')){
|
|
90
|
+
chain = web.get(args)||web.split_set(args);
|
|
91
|
+
} else chain = context.account.add_chain(args, context);
|
|
92
|
+
|
|
93
|
+
return chain
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
read_chain = (addr, options)=>{
|
|
97
|
+
options = options || {}
|
|
98
|
+
let {no_callable, tell_callable, index} = options, callable;
|
|
99
|
+
|
|
100
|
+
if(!addr) return this.stderr(`Physical address cannot be undefined`)
|
|
101
|
+
let chn = addr.physical_address? addr: this.handle_chain(addr)
|
|
102
|
+
|
|
103
|
+
if (!chn)return this.stderr(`Address chain:${addr.physical_address ||addr} not found`)
|
|
104
|
+
|
|
105
|
+
let output;
|
|
106
|
+
if (chn.datapath && !no_callable){
|
|
107
|
+
output = chn.datapath
|
|
108
|
+
callable = true;
|
|
109
|
+
}else {
|
|
110
|
+
callable = false
|
|
111
|
+
if (!chn.height) return no_callable?null: this.stderr(`Chain has no height - ${addr.physical_address || addr}`)
|
|
112
|
+
|
|
113
|
+
let recent = chn.get_block(index)
|
|
114
|
+
|
|
115
|
+
output = recent.metadata.output;
|
|
116
|
+
|
|
117
|
+
if (!output)return;
|
|
118
|
+
}
|
|
119
|
+
output = this.account.read(output)
|
|
120
|
+
|
|
121
|
+
return tell_callable? {output, callable} :output;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
connect_block = block=>{
|
|
125
|
+
if(!block){
|
|
126
|
+
console.log(`Checkengine`)
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
let prev_context = this.get_context(-2);
|
|
130
|
+
if (prev_context) {
|
|
131
|
+
if(block.chain.datapath){
|
|
132
|
+
block.metadata.output = block.datapath
|
|
133
|
+
}
|
|
134
|
+
prev_context.pending_children.push(block);
|
|
135
|
+
prev_context.connections.push(block);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
get_type_address =type=>{
|
|
140
|
+
return this.air_object_paths.find(p=>p.includes(type))
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
parse_composite_content = (content, options)=>{
|
|
144
|
+
let {item_type, location} = options;
|
|
145
|
+
|
|
146
|
+
if (item_type === 'static_object'){
|
|
147
|
+
for (let c = 0; c< content.length; c++){
|
|
148
|
+
let cont = content[c]
|
|
149
|
+
let cont_addr = `${location}_${c}`
|
|
150
|
+
this.write_chain(cont, cont_addr)
|
|
151
|
+
content[c] = cont_addr;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return content;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
air_object = (content, options)=>{
|
|
159
|
+
let {location, callback, local_address, metadata} = options;
|
|
160
|
+
|
|
161
|
+
if (Array.isArray(content)){
|
|
162
|
+
content= this.parse_composite_content(content, options)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
let static_location = `${local_address || location}_${generate_random_string(8, 'alnum')}`
|
|
166
|
+
|
|
167
|
+
let statc = this.static_cast(content, static_location)
|
|
168
|
+
let type = typeof statc === 'string' ? 'void' : statc.type
|
|
169
|
+
|
|
170
|
+
this.stdin(statc,()=> this.exec({
|
|
171
|
+
executable: this.get_type_address(type),
|
|
172
|
+
location,
|
|
173
|
+
metadata:{callback, ...metadata},
|
|
174
|
+
arguments: {
|
|
175
|
+
argc:1,
|
|
176
|
+
argv:[{position: 0, address: static_location, name:'value'}]
|
|
177
|
+
}}),
|
|
178
|
+
{address: static_location}
|
|
179
|
+
)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
id_hash = (data)=>{
|
|
183
|
+
let res = this.account.manager.oracle.hash(data, 'sha-1')
|
|
184
|
+
if (!isNaN(Number(res[0]))){
|
|
185
|
+
res = `_${res}`
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return res;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
get_voided_block = ()=>{
|
|
192
|
+
if(!this.account.initiated)return
|
|
193
|
+
|
|
194
|
+
let Void = this.account.get_datatype_chain(`Void`)
|
|
195
|
+
this.flags.void = true;
|
|
196
|
+
return Void && Void.get_latest_block()
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
modify_twain = (twa, chain, config)=>{
|
|
200
|
+
|
|
201
|
+
if (twa.__index__){
|
|
202
|
+
if (typeof twa.__index__ === 'number') twa.__index__ = chain.height
|
|
203
|
+
else twa.__index__[config.name] = chain.height
|
|
204
|
+
}
|
|
205
|
+
return twa
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
slice_trace = (s)=>{
|
|
209
|
+
let s_length = this.stacktrace.length;
|
|
210
|
+
for(let i=0; i < s_length - s; i++ ) this.pop_context()
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
push_context = context => {
|
|
214
|
+
this.contexts.push(context)
|
|
215
|
+
this.stacktrace.push(context.physical_address)
|
|
216
|
+
// console.log(`>> Current Stack - ${context.physical_address}`)
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
pop_context = () => {
|
|
220
|
+
let context = this.contexts.pop()
|
|
221
|
+
let addr = this.stacktrace.pop()
|
|
222
|
+
|
|
223
|
+
// console.log(`> Current Stack - ${this.contexts.slice(-1)[0].physical_address}`)
|
|
224
|
+
|
|
225
|
+
if(context && context.physical_address !== addr)
|
|
226
|
+
this.stderr(`Stack missalignment - ${context.physical_address} : ${addr}`)
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
run_opcode = (arg_arr, opcode)=>{
|
|
231
|
+
let circ = this.opcodes[opcode]
|
|
232
|
+
|
|
233
|
+
if (!circ)return this.stderr(`Opcode:${opcode} not set`)
|
|
234
|
+
|
|
235
|
+
let arg = {}
|
|
236
|
+
arg_arr.map((a,i)=>{
|
|
237
|
+
arg[`op${i.toString()}`] = a
|
|
238
|
+
})
|
|
239
|
+
|
|
240
|
+
return circ(arg, this)
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
static_cast = (content, addr)=>{
|
|
244
|
+
let res_obj = {}
|
|
245
|
+
let type = typeof content;
|
|
246
|
+
if(type === 'object' || type === 'undefined'){
|
|
247
|
+
if(content == null){
|
|
248
|
+
res_obj = "{'type':'void','static_value':Void,'__address__':'Accounts/initiator/Datatypes/Void'}"
|
|
249
|
+
}else if (Array.isArray(content)){
|
|
250
|
+
res_obj = {type:'array', static_value: content}
|
|
251
|
+
}else res_obj = {type:'twain', static_value: content}
|
|
252
|
+
}else {
|
|
253
|
+
res_obj = {type, static_value: content}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
if (addr && typeof res_obj !== 'string') {
|
|
257
|
+
res_obj.__address__ = addr
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
return res_obj
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
is_readonly = (args)=>{
|
|
264
|
+
if (args.op1.startsWith('__') && args.op1.endsWith('__') && args.op1 !== '__'){
|
|
265
|
+
let val = args.op0[args.op1]
|
|
266
|
+
let chn = this.handle_chain(`${val}/.config`)
|
|
267
|
+
let recent = chn.get_latest_block()
|
|
268
|
+
let value;
|
|
269
|
+
if(recent){
|
|
270
|
+
value = recent.metadata.output;
|
|
271
|
+
value = this.account.read(value)
|
|
272
|
+
if (value && !['function', 'class'].includes(value.type)){
|
|
273
|
+
return this.stderr('Cannot delete `readonly` property')
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
static_value = (value, blow)=>{
|
|
280
|
+
if (value && value.__print__){
|
|
281
|
+
if(this.air_object_paths.includes(value.__classifier__)){
|
|
282
|
+
value = this.read_chain(value.value)
|
|
283
|
+
}else if (blow){
|
|
284
|
+
return
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return value
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export default Vm_utils
|
package/.babelrc
DELETED
package/build/Account.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _main = _interopRequireDefault(require("../Loader_sequence/main"));
|
|
8
|
-
var _privacy = _interopRequireDefault(require("../utils/privacy"));
|
|
9
|
-
var _Filesystem2 = _interopRequireDefault(require("./Filesystem"));
|
|
10
|
-
var _Virtual_machine = _interopRequireDefault(require("./Virtual_machine"));
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
14
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
15
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
16
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
17
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
18
|
-
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = _getPrototypeOf(t); if (r) { var s = _getPrototypeOf(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return _possibleConstructorReturn(this, e); }; }
|
|
19
|
-
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
20
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
21
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
|
-
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
23
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
24
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
25
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
26
|
-
var Account = /*#__PURE__*/function (_Filesystem) {
|
|
27
|
-
_inherits(Account, _Filesystem);
|
|
28
|
-
var _super = _createSuper(Account);
|
|
29
|
-
function Account(_name) {
|
|
30
|
-
var _this;
|
|
31
|
-
var _meta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
32
|
-
_classCallCheck(this, Account);
|
|
33
|
-
_this = _super.call(this);
|
|
34
|
-
_defineProperty(_assertThisInitialized(_this), "get_account", function (name) {
|
|
35
|
-
return _this.manager.get_account(name) || _assertThisInitialized(_this);
|
|
36
|
-
});
|
|
37
|
-
_defineProperty(_assertThisInitialized(_this), "manage_buffer", function (callback) {
|
|
38
|
-
var call_session = "".concat(Date.now(), "-").concat(Math.random());
|
|
39
|
-
_this.mine_buffer[call_session] = {
|
|
40
|
-
blocks: [],
|
|
41
|
-
callback: callback
|
|
42
|
-
};
|
|
43
|
-
return call_session;
|
|
44
|
-
});
|
|
45
|
-
_defineProperty(_assertThisInitialized(_this), "buff", function (block, pid) {
|
|
46
|
-
var buffer = _this.mine_buffer[pid];
|
|
47
|
-
if (!buffer) return;
|
|
48
|
-
buffer.blocks.push(block.stringify());
|
|
49
|
-
});
|
|
50
|
-
_defineProperty(_assertThisInitialized(_this), "flush_buffer", function (pid) {
|
|
51
|
-
var buff = _this.mine_buffer[pid];
|
|
52
|
-
if (!buff) return;
|
|
53
|
-
buff.callback && _this.run_callback(buff.callback, buff.blocks);
|
|
54
|
-
delete _this.mine_buffer[pid];
|
|
55
|
-
});
|
|
56
|
-
_defineProperty(_assertThisInitialized(_this), "load", function (_ref) {
|
|
57
|
-
var program = _ref.program,
|
|
58
|
-
signature = _ref.signature,
|
|
59
|
-
callback = _ref.callback;
|
|
60
|
-
var instructions = program.instructions,
|
|
61
|
-
account = program.account;
|
|
62
|
-
account = _this.get_account(account);
|
|
63
|
-
if (!account.validate(program, signature)) return;
|
|
64
|
-
var pid = account.manage_buffer(callback);
|
|
65
|
-
_this.manager.push({
|
|
66
|
-
sequence: instructions,
|
|
67
|
-
account: account,
|
|
68
|
-
pid: pid
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
_defineProperty(_assertThisInitialized(_this), "parse", function (_ref2) {
|
|
72
|
-
var payload = _ref2.payload,
|
|
73
|
-
signature = _ref2.signature,
|
|
74
|
-
callback = _ref2.callback;
|
|
75
|
-
var physical_address = payload.physical_address,
|
|
76
|
-
account = payload.account,
|
|
77
|
-
query = payload.query;
|
|
78
|
-
account = _this.get_account(account);
|
|
79
|
-
if (!account.validate(payload, signature)) return;
|
|
80
|
-
var chain = account.manager.web.get(physical_address);
|
|
81
|
-
if (!chain) return _this.run_callback(callback, {
|
|
82
|
-
error: true,
|
|
83
|
-
error_message: "Address not found"
|
|
84
|
-
});
|
|
85
|
-
var data = query ? chain.explore(query) : chain;
|
|
86
|
-
_this.run_callback(callback, data && data.stringify());
|
|
87
|
-
});
|
|
88
|
-
_defineProperty(_assertThisInitialized(_this), "run", function (request) {
|
|
89
|
-
var payload = request.payload,
|
|
90
|
-
signature = request.signature,
|
|
91
|
-
callback = request.callback;
|
|
92
|
-
var physical_address = payload.physical_address,
|
|
93
|
-
account = payload.account,
|
|
94
|
-
query = payload.query;
|
|
95
|
-
account = _this.get_account(account);
|
|
96
|
-
if (!account.validate(payload, signature)) return;
|
|
97
|
-
var pid = account.manage_buffer(callback);
|
|
98
|
-
var context = physical_address ? _this.manager.web.get(physical_address) : account.vm.get_context();
|
|
99
|
-
if (!context) return account.flush_buffer(pid);
|
|
100
|
-
var blk = query ? context.explore(query) : context.get_latest_block();
|
|
101
|
-
if (blk && blk.metadata && blk.metadata.program) {
|
|
102
|
-
var program = _this.read(blk.metadata.program);
|
|
103
|
-
account.vm.contexts.push(context);
|
|
104
|
-
program.push("pop");
|
|
105
|
-
Array.isArray(program) && program.length && _this.manager.push({
|
|
106
|
-
sequence: program,
|
|
107
|
-
account: account,
|
|
108
|
-
pid: pid
|
|
109
|
-
});
|
|
110
|
-
} else account.flush_buffer(pid);
|
|
111
|
-
});
|
|
112
|
-
_defineProperty(_assertThisInitialized(_this), "run_callback", function (callback, payload) {
|
|
113
|
-
setTimeout(function () {
|
|
114
|
-
if (!callback) return;
|
|
115
|
-
if (typeof callback === "function") return callback(payload);
|
|
116
|
-
_this.vm.stdin(payload);
|
|
117
|
-
callback.payload && callback.payload.physical_address && _this.run(callback);
|
|
118
|
-
}, 0);
|
|
119
|
-
});
|
|
120
|
-
_defineProperty(_assertThisInitialized(_this), "validate", function (payload, signature) {
|
|
121
|
-
if (!_this["private"]) return true;
|
|
122
|
-
return (0, _privacy["default"])(_this.name, JSON.stringify(payload), signature);
|
|
123
|
-
});
|
|
124
|
-
_defineProperty(_assertThisInitialized(_this), "stringify", function (str) {
|
|
125
|
-
var obj = {};
|
|
126
|
-
obj.name = _this.name;
|
|
127
|
-
obj.hash = _this.hash;
|
|
128
|
-
obj.path = _this.path;
|
|
129
|
-
obj["private"] = _this["private"];
|
|
130
|
-
obj.chain = _this.chain.stringify();
|
|
131
|
-
obj.physical_address = _this.physical_address;
|
|
132
|
-
return str ? JSON.stringify(obj) : obj;
|
|
133
|
-
});
|
|
134
|
-
_defineProperty(_assertThisInitialized(_this), "create_account", function (payload) {
|
|
135
|
-
var name = payload.name,
|
|
136
|
-
meta = payload.meta;
|
|
137
|
-
return _this.manager.add_account(name, meta);
|
|
138
|
-
});
|
|
139
|
-
_defineProperty(_assertThisInitialized(_this), "endpoint", function (endpoint, payload) {
|
|
140
|
-
var method = _this[endpoint];
|
|
141
|
-
typeof method === "function" && method(payload);
|
|
142
|
-
});
|
|
143
|
-
_meta = _meta || {};
|
|
144
|
-
_this.name = _name;
|
|
145
|
-
_this["private"] = _meta["private"];
|
|
146
|
-
_this.manager = _meta.manager;
|
|
147
|
-
_this.account = _assertThisInitialized(_this);
|
|
148
|
-
if (!_this.manager) throw new Error("Manager instance missing.");
|
|
149
|
-
_this.name_hash();
|
|
150
|
-
_this.physical_address = "".concat(_this.base_address, "/").concat(_this.name);
|
|
151
|
-
_this.set_paths(_assertThisInitialized(_this));
|
|
152
|
-
_this.compiler = new _main["default"](_assertThisInitialized(_this));
|
|
153
|
-
_this.chain = _this.account_chain(_assertThisInitialized(_this));
|
|
154
|
-
_this.vm = new _Virtual_machine["default"](_this.chain);
|
|
155
|
-
_this.mine_buffer = {};
|
|
156
|
-
console.log("Account Instance: ".concat(_this.name));
|
|
157
|
-
return _this;
|
|
158
|
-
}
|
|
159
|
-
return _createClass(Account);
|
|
160
|
-
}(_Filesystem2["default"]);
|
|
161
|
-
var _default = Account;
|
|
162
|
-
exports["default"] = _default;
|
package/build/Block.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _hash = require("../utils/hash");
|
|
8
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
12
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
-
var Block = /*#__PURE__*/_createClass(function Block(chain) {
|
|
16
|
-
var _this = this;
|
|
17
|
-
_classCallCheck(this, Block);
|
|
18
|
-
_defineProperty(this, "generate_hash", function () {
|
|
19
|
-
_this.previous_hash = _this.chain.get_latest_block();
|
|
20
|
-
if (_this.previous_hash) _this.previous_hash = _this.previous_hash.hash;
|
|
21
|
-
_this.hash = (0, _hash.hash)(JSON.stringify(_this.data));
|
|
22
|
-
});
|
|
23
|
-
_defineProperty(this, "store", function (no_curs) {
|
|
24
|
-
var content = _this.chain.buffs.splice(-1)[0];
|
|
25
|
-
if (!no_curs) _this.cursor = _this.chain.cursors.splice(-1)[0];
|
|
26
|
-
if (!content) return;
|
|
27
|
-
var cursors = Object.keys(content).filter(function (c) {
|
|
28
|
-
return c.startsWith("{") && c.endsWith("}");
|
|
29
|
-
});
|
|
30
|
-
for (var c = 0; c < cursors.length; c++) {
|
|
31
|
-
var curs = cursors[c];
|
|
32
|
-
_this.metadata[curs.slice(1, -1)] = content[curs];
|
|
33
|
-
delete content[curs];
|
|
34
|
-
}
|
|
35
|
-
var datapath = _this.chain.account.save(content, _this.chain);
|
|
36
|
-
_this.datapath = datapath;
|
|
37
|
-
});
|
|
38
|
-
_defineProperty(this, "stringify", function (str) {
|
|
39
|
-
var obj = {};
|
|
40
|
-
obj.metadata = _this.metadata;
|
|
41
|
-
obj.datapath = _this.datapath;
|
|
42
|
-
obj.timelapse = _this.timelapse;
|
|
43
|
-
obj.index = _this.index;
|
|
44
|
-
obj.hash = _this.hash;
|
|
45
|
-
obj.data = _this.data;
|
|
46
|
-
obj.children = _this.children.map(function (ch) {
|
|
47
|
-
return new Object({
|
|
48
|
-
hash: ch.hash,
|
|
49
|
-
chain: ch.chain.hash
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
obj.chain = {
|
|
53
|
-
hash: _this.chain.hash,
|
|
54
|
-
physical_address: _this.chain.physical_address
|
|
55
|
-
};
|
|
56
|
-
return str ? JSON.stringify(obj) : obj;
|
|
57
|
-
});
|
|
58
|
-
this.chain = chain;
|
|
59
|
-
this.data = this.chain.txs;
|
|
60
|
-
this.metadata = {};
|
|
61
|
-
this.children = new Array();
|
|
62
|
-
this.index = this.chain.blocks.length;
|
|
63
|
-
});
|
|
64
|
-
var _default = Block;
|
|
65
|
-
exports["default"] = _default;
|
package/build/Blockweb.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _Chain = _interopRequireDefault(require("./Chain"));
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
11
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
13
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
-
var Blockweb = /*#__PURE__*/_createClass(function Blockweb(mgr) {
|
|
17
|
-
var _this = this;
|
|
18
|
-
_classCallCheck(this, Blockweb);
|
|
19
|
-
_defineProperty(this, "get", function (addr) {
|
|
20
|
-
var hash = _this.physical_addresses[addr];
|
|
21
|
-
var chain = _this.chains[hash];
|
|
22
|
-
return chain;
|
|
23
|
-
});
|
|
24
|
-
_defineProperty(this, "set", function (parent, name) {
|
|
25
|
-
var chain = new _Chain["default"](parent, name);
|
|
26
|
-
_this.chains[chain.hash] = chain;
|
|
27
|
-
_this.physical_addresses[chain.physical_address] = chain.hash;
|
|
28
|
-
_this.chains[chain.hash] = chain;
|
|
29
|
-
return chain;
|
|
30
|
-
});
|
|
31
|
-
this.mgr = mgr;
|
|
32
|
-
this.physical_addresses = new Object();
|
|
33
|
-
this.chains = new Object();
|
|
34
|
-
});
|
|
35
|
-
var _default = Blockweb;
|
|
36
|
-
exports["default"] = _default;
|
package/build/Chain.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _hash = require("../utils/hash");
|
|
8
|
-
var _Block = _interopRequireDefault(require("./Block"));
|
|
9
|
-
var _Explorer2 = _interopRequireDefault(require("./Explorer"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
13
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
14
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
15
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
16
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
17
|
-
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = _getPrototypeOf(t); if (r) { var s = _getPrototypeOf(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return _possibleConstructorReturn(this, e); }; }
|
|
18
|
-
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
19
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
20
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
|
-
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
22
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
23
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
24
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
-
var Chain = /*#__PURE__*/function (_Explorer) {
|
|
26
|
-
_inherits(Chain, _Explorer);
|
|
27
|
-
var _super = _createSuper(Chain);
|
|
28
|
-
function Chain(parent, _name) {
|
|
29
|
-
var _this;
|
|
30
|
-
_classCallCheck(this, Chain);
|
|
31
|
-
_this = _super.call(this);
|
|
32
|
-
_defineProperty(_assertThisInitialized(_this), "append_buffer", function () {
|
|
33
|
-
_this.buffs.push({});
|
|
34
|
-
_this.cursors.push(_this.cursor);
|
|
35
|
-
_this.cursor = -1;
|
|
36
|
-
});
|
|
37
|
-
_defineProperty(_assertThisInitialized(_this), "set_cursor", function (cursor) {
|
|
38
|
-
_this.cursor = cursor;
|
|
39
|
-
_this.cursors.push(cursor);
|
|
40
|
-
});
|
|
41
|
-
_defineProperty(_assertThisInitialized(_this), "get_buffer", function () {
|
|
42
|
-
_this.cursor = _this.cursors.pop();
|
|
43
|
-
return _this.buffs.slice(-1)[0];
|
|
44
|
-
});
|
|
45
|
-
_defineProperty(_assertThisInitialized(_this), "generate_hash", function () {
|
|
46
|
-
_this.hash = (0, _hash.hash)(_this.physical_address);
|
|
47
|
-
});
|
|
48
|
-
_defineProperty(_assertThisInitialized(_this), "get_block", function (index) {
|
|
49
|
-
return _this.blocks[index];
|
|
50
|
-
});
|
|
51
|
-
_defineProperty(_assertThisInitialized(_this), "add_tx", function (instruction) {
|
|
52
|
-
if (!_this.txs.length) _this.start_time = Date.now();
|
|
53
|
-
_this.txs.push(instruction);
|
|
54
|
-
});
|
|
55
|
-
_defineProperty(_assertThisInitialized(_this), "mine", function (vm, no_curs) {
|
|
56
|
-
var block = new _Block["default"](_assertThisInitialized(_this));
|
|
57
|
-
block.generate_hash();
|
|
58
|
-
_this.add_block(block);
|
|
59
|
-
block.store(no_curs);
|
|
60
|
-
block.children = _this.pending_children;
|
|
61
|
-
_this.pending_children = new Array();
|
|
62
|
-
var prev_context = vm.get_context(-2);
|
|
63
|
-
if (prev_context) {
|
|
64
|
-
prev_context.pending_children.push(block);
|
|
65
|
-
prev_context.connections.push(block);
|
|
66
|
-
}
|
|
67
|
-
_this.txs = new Array();
|
|
68
|
-
block.timelapse = Date.now() - _this.start_time;
|
|
69
|
-
return block;
|
|
70
|
-
});
|
|
71
|
-
_defineProperty(_assertThisInitialized(_this), "add_block", function (block) {
|
|
72
|
-
_this.blocks.push(block);
|
|
73
|
-
_this.height = _this.blocks.length;
|
|
74
|
-
});
|
|
75
|
-
_defineProperty(_assertThisInitialized(_this), "get_latest_block", function () {
|
|
76
|
-
return _this.blocks.slice(-1)[0];
|
|
77
|
-
});
|
|
78
|
-
_defineProperty(_assertThisInitialized(_this), "stringify", function (str) {
|
|
79
|
-
var obj = {};
|
|
80
|
-
obj.physical_address = _this.physical_address;
|
|
81
|
-
obj.height = _this.blocks.length;
|
|
82
|
-
obj.parent = _this.parent.path;
|
|
83
|
-
obj.account = _this.parent.account.name;
|
|
84
|
-
obj.name = _this.name;
|
|
85
|
-
obj.connections = _this.connections.map(function (b) {
|
|
86
|
-
return new Object({
|
|
87
|
-
chain: b.chain.hash,
|
|
88
|
-
block: b.hash
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
obj.hash = _this.hash;
|
|
92
|
-
obj.blocks = _this.blocks.map(function (blk) {
|
|
93
|
-
return blk.hash;
|
|
94
|
-
});
|
|
95
|
-
return str ? JSON.stringify(obj) : obj;
|
|
96
|
-
});
|
|
97
|
-
_defineProperty(_assertThisInitialized(_this), "add_chain", function (name) {
|
|
98
|
-
return _this.account.add_chain(name, _assertThisInitialized(_this));
|
|
99
|
-
});
|
|
100
|
-
_this.parent = parent;
|
|
101
|
-
_this.account = _this.parent.account;
|
|
102
|
-
_this.name = _name || _this.parent.name;
|
|
103
|
-
_this.physical_address = _this.parent.manager || !_name ? _this.parent.physical_address : "".concat(_this.parent.physical_address, "/").concat(_this.name);
|
|
104
|
-
_this.pending_children = new Array();
|
|
105
|
-
_this.connections = new Array();
|
|
106
|
-
_this.blocks = new Array();
|
|
107
|
-
_this.txs = new Array();
|
|
108
|
-
_this.height = 0;
|
|
109
|
-
_this.cursor = -1;
|
|
110
|
-
_this.cursors = new Array();
|
|
111
|
-
_this.buffs = new Array();
|
|
112
|
-
_this.generate_hash();
|
|
113
|
-
_this.account.set_paths(_assertThisInitialized(_this));
|
|
114
|
-
return _this;
|
|
115
|
-
}
|
|
116
|
-
return _createClass(Chain);
|
|
117
|
-
}(_Explorer2["default"]);
|
|
118
|
-
var _default = Chain;
|
|
119
|
-
exports["default"] = _default;
|