@xelis/sdk 0.11.15 → 0.11.17

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 (50) hide show
  1. package/dist/cjs/address/bech32.js +47 -56
  2. package/dist/cjs/address/index.js +20 -21
  3. package/dist/cjs/config.js +26 -38
  4. package/dist/cjs/contract/contract.js +178 -0
  5. package/dist/cjs/contract/typed_contract.js +259 -0
  6. package/dist/cjs/contract/xvm_serializer.js +170 -0
  7. package/dist/cjs/daemon/rpc.js +157 -168
  8. package/dist/cjs/daemon/types.js +4 -1
  9. package/dist/cjs/daemon/websocket.js +170 -181
  10. package/dist/cjs/data/element.js +39 -41
  11. package/dist/cjs/data/value.js +106 -111
  12. package/dist/cjs/react/daemon.js +33 -43
  13. package/dist/cjs/rpc/http.js +75 -132
  14. package/dist/cjs/rpc/parse_json/parse_json.js +4 -4
  15. package/dist/cjs/rpc/types.js +1 -1
  16. package/dist/cjs/rpc/websocket.js +131 -201
  17. package/dist/cjs/wallet/rpc.js +98 -117
  18. package/dist/cjs/wallet/types.js +1 -1
  19. package/dist/cjs/wallet/websocket.js +105 -126
  20. package/dist/cjs/xswd/relayer/app.js +57 -36
  21. package/dist/cjs/xswd/relayer/index.js +25 -27
  22. package/dist/cjs/xswd/types.js +1 -1
  23. package/dist/cjs/xswd/websocket.js +15 -33
  24. package/dist/esm/address/bech32.js +46 -55
  25. package/dist/esm/address/index.js +16 -17
  26. package/dist/esm/config.js +25 -37
  27. package/dist/esm/contract/contract.js +172 -0
  28. package/dist/esm/contract/typed_contract.js +251 -0
  29. package/dist/esm/contract/xvm_serializer.js +163 -0
  30. package/dist/esm/daemon/rpc.js +153 -165
  31. package/dist/esm/daemon/types.js +3 -0
  32. package/dist/esm/daemon/websocket.js +166 -179
  33. package/dist/esm/data/element.js +37 -40
  34. package/dist/esm/data/value.js +104 -112
  35. package/dist/esm/react/daemon.js +30 -40
  36. package/dist/esm/rpc/http.js +73 -131
  37. package/dist/esm/rpc/parse_json/parse_json.js +1 -1
  38. package/dist/esm/rpc/websocket.js +126 -197
  39. package/dist/esm/wallet/rpc.js +93 -113
  40. package/dist/esm/wallet/websocket.js +101 -124
  41. package/dist/esm/xswd/relayer/app.js +54 -34
  42. package/dist/esm/xswd/relayer/index.js +22 -24
  43. package/dist/esm/xswd/websocket.js +10 -29
  44. package/dist/types/contract/contract.d.ts +80 -0
  45. package/dist/types/contract/typed_contract.d.ts +94 -0
  46. package/dist/types/contract/xvm_serializer.d.ts +69 -0
  47. package/dist/types/daemon/rpc.d.ts +5 -2
  48. package/dist/types/daemon/types.d.ts +97 -18
  49. package/dist/types/daemon/websocket.d.ts +5 -2
  50. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ValueWriter = exports.ValueReader = exports.Value = exports.ValueType = void 0;
4
- var element_1 = require("./element");
4
+ const element_1 = require("./element");
5
5
  var MaxStringSize = 255;
6
6
  var ErrMaxStringSize = "string max limit is 255 bytes";
7
7
  var MaxBlobSize = 65535;
8
8
  var ErrMaxBlobSize = "blob max size is 65535 bytes";
9
9
  function ErrUnsupportedValue(value) {
10
- return "unsupported value type ".concat(value);
10
+ return `unsupported value type ${value}`;
11
11
  }
12
12
  function getUIntTypeByValue(value) {
13
13
  if (value < 0)
@@ -36,16 +36,16 @@ var ValueType;
36
36
  ValueType[ValueType["Hash"] = 7] = "Hash";
37
37
  ValueType[ValueType["Blob"] = 8] = "Blob";
38
38
  })(ValueType = exports.ValueType || (exports.ValueType = {}));
39
- var Value = /** @class */ (function () {
40
- function Value(vType, data) {
39
+ class Value {
40
+ constructor(vType, data) {
41
41
  this.vType = vType;
42
42
  this.data = data;
43
43
  }
44
- Value["new"] = function (data) {
45
- if (typeof data === "string") {
44
+ static new(data) {
45
+ if (typeof data === `string`) {
46
46
  return new Value(ValueType.String, data);
47
47
  }
48
- else if (typeof data === "boolean") {
48
+ else if (typeof data === `boolean`) {
49
49
  return new Value(ValueType.Bool, data);
50
50
  }
51
51
  else if (Array.isArray(data)) {
@@ -55,7 +55,7 @@ var Value = /** @class */ (function () {
55
55
  return new Value(ValueType.Hash, data);
56
56
  }
57
57
  else if (typeof data === "number" || typeof data === "bigint") {
58
- var eType = getUIntTypeByValue(data);
58
+ let eType = getUIntTypeByValue(data);
59
59
  switch (eType) {
60
60
  case ValueType.U8:
61
61
  return new Value(ValueType.U8, data);
@@ -72,81 +72,80 @@ var Value = /** @class */ (function () {
72
72
  }
73
73
  }
74
74
  throw "unsupported data type";
75
- };
76
- return Value;
77
- }());
75
+ }
76
+ }
78
77
  exports.Value = Value;
79
- var ValueReader = /** @class */ (function () {
80
- function ValueReader(data) {
78
+ class ValueReader {
79
+ constructor(data) {
81
80
  this.data = Array.from(data);
82
81
  }
83
- ValueReader.prototype.read = function () {
84
- var eType = this.readByte();
82
+ read() {
83
+ let eType = this.readByte();
85
84
  switch (eType) {
86
85
  case element_1.ElementType.Value:
87
86
  return element_1.Element.value(this.readValue());
88
87
  case element_1.ElementType.Array:
89
- var arrSize = this.readByte();
90
- var elements = [];
91
- for (var i = 0; i < arrSize; i++) {
88
+ let arrSize = this.readByte();
89
+ let elements = [];
90
+ for (let i = 0; i < arrSize; i++) {
92
91
  elements.push(this.read());
93
92
  }
94
93
  return element_1.Element.array(elements);
95
94
  case element_1.ElementType.Fields:
96
- var fieldsSize = this.readByte();
97
- var map = new Map();
98
- for (var i = 0; i < fieldsSize; i++) {
95
+ let fieldsSize = this.readByte();
96
+ let map = new Map();
97
+ for (let i = 0; i < fieldsSize; i++) {
99
98
  map.set(this.readValue(), this.read());
100
99
  }
101
100
  return element_1.Element.fields(map);
102
101
  default:
103
102
  throw "invalid element type";
104
103
  }
105
- };
106
- ValueReader.prototype.readByte = function () {
104
+ }
105
+ readByte() {
107
106
  return this.data.splice(0, 1)[0];
108
- };
109
- ValueReader.prototype.readU16 = function () {
110
- var arr = new Uint8Array(this.data.splice(0, 2));
111
- var view = new DataView(arr.buffer);
107
+ }
108
+ readU16() {
109
+ let arr = new Uint8Array(this.data.splice(0, 2));
110
+ let view = new DataView(arr.buffer);
112
111
  return view.getUint16(0, false);
113
- };
114
- ValueReader.prototype.readU32 = function () {
115
- var arr = new Uint8Array(this.data.splice(0, 4));
116
- var view = new DataView(arr.buffer);
112
+ }
113
+ readU32() {
114
+ let arr = new Uint8Array(this.data.splice(0, 4));
115
+ let view = new DataView(arr.buffer);
117
116
  return view.getUint32(0, false);
118
- };
119
- ValueReader.prototype.readU64 = function () {
120
- var arr = new Uint8Array(this.data.splice(0, 8));
121
- var view = new DataView(arr.buffer);
117
+ }
118
+ readU64() {
119
+ let arr = new Uint8Array(this.data.splice(0, 8));
120
+ let view = new DataView(arr.buffer);
122
121
  return view.getBigUint64(0, false);
123
- };
124
- ValueReader.prototype.readU128 = function () {
125
- var data = this.data.splice(0, 16);
126
- var value = BigInt(0);
127
- for (var i = 0; i < 16; i++) {
122
+ }
123
+ readU128() {
124
+ let data = this.data.splice(0, 16);
125
+ let value = BigInt(0);
126
+ for (let i = 0; i < 16; i++) {
128
127
  value = (value << BigInt(8)) | BigInt(data[i]);
129
128
  }
130
129
  return value;
131
- };
132
- ValueReader.prototype.readString = function () {
133
- var size = this.readByte();
134
- var decoder = new TextDecoder();
135
- var data = new Uint8Array(this.data.splice(0, size));
130
+ }
131
+ readString() {
132
+ let size = this.readByte();
133
+ let decoder = new TextDecoder();
134
+ let data = new Uint8Array(this.data.splice(0, size));
136
135
  return decoder.decode(data);
137
- };
138
- ValueReader.prototype.readBool = function () {
136
+ }
137
+ readBool() {
139
138
  return this.readByte() === 1 ? true : false;
140
- };
141
- ValueReader.prototype.readHash = function () {
139
+ }
140
+ readHash() {
142
141
  return this.data.splice(0, 32);
143
- };
144
- ValueReader.prototype.readBlob = function () {
145
- var size = this.readByte();
142
+ }
143
+ readBlob() {
144
+ let size = this.readByte();
146
145
  return this.data.splice(0, size);
147
- };
148
- ValueReader.prototype.readValue = function () {
149
- var vType = this.readByte();
146
+ }
147
+ readValue() {
148
+ let vType = this.readByte();
150
149
  switch (vType) {
151
150
  case ValueType.U8:
152
151
  return new Value(vType, this.readByte());
@@ -169,17 +168,15 @@ var ValueReader = /** @class */ (function () {
169
168
  default:
170
169
  throw "";
171
170
  }
172
- };
173
- return ValueReader;
174
- }());
171
+ }
172
+ }
175
173
  exports.ValueReader = ValueReader;
176
- var ValueWriter = /** @class */ (function () {
177
- function ValueWriter() {
174
+ class ValueWriter {
175
+ constructor() {
178
176
  this.data = [];
179
177
  }
180
- ValueWriter.prototype.write = function (dataElement) {
181
- var _this = this;
182
- var eType = dataElement.validate();
178
+ write(dataElement) {
179
+ let eType = dataElement.validate();
183
180
  switch (eType) {
184
181
  case element_1.ElementType.Value:
185
182
  this.writeU8(element_1.ElementType.Value);
@@ -187,100 +184,99 @@ var ValueWriter = /** @class */ (function () {
187
184
  break;
188
185
  case element_1.ElementType.Array:
189
186
  this.writeU8(element_1.ElementType.Array);
190
- var array = dataElement.array;
187
+ let array = dataElement.array;
191
188
  this.writeU8(array.length);
192
- array.forEach(function (element) {
193
- _this.write(element);
189
+ array.forEach((element) => {
190
+ this.write(element);
194
191
  });
195
192
  break;
196
193
  case element_1.ElementType.Fields:
197
194
  this.writeU8(element_1.ElementType.Fields);
198
- var fields = dataElement.fields;
195
+ let fields = dataElement.fields;
199
196
  this.writeU8(fields.size);
200
- fields.forEach(function (element, key) {
201
- _this.writeValue(key);
202
- _this.write(element);
197
+ fields.forEach((element, key) => {
198
+ this.writeValue(key);
199
+ this.write(element);
203
200
  });
204
201
  break;
205
202
  }
206
- };
207
- ValueWriter.prototype.appendData = function (data) {
208
- var _a;
209
- (_a = this.data).push.apply(_a, Array.from(data));
210
- };
211
- ValueWriter.prototype.appendBuffer = function (buf) {
203
+ }
204
+ appendData(data) {
205
+ this.data.push(...Array.from(data));
206
+ }
207
+ appendBuffer(buf) {
212
208
  this.appendData(new Uint8Array(buf));
213
- };
214
- ValueWriter.prototype.writeU8 = function (value) {
209
+ }
210
+ writeU8(value) {
215
211
  if (typeof value !== "number") {
216
212
  throw "value is not a number";
217
213
  }
218
214
  this.appendBuffer(new Uint8Array([value]));
219
- };
220
- ValueWriter.prototype.writeU16 = function (value) {
215
+ }
216
+ writeU16(value) {
221
217
  if (typeof value !== "number") {
222
218
  throw "value is not a number";
223
219
  }
224
- var buf = new ArrayBuffer(2);
225
- var view = new DataView(buf);
220
+ let buf = new ArrayBuffer(2);
221
+ let view = new DataView(buf);
226
222
  view.setUint16(0, value, false);
227
223
  this.appendBuffer(buf);
228
- };
229
- ValueWriter.prototype.writeU32 = function (value) {
224
+ }
225
+ writeU32(value) {
230
226
  if (typeof value !== "number") {
231
227
  throw "value is not a number";
232
228
  }
233
- var buf = new ArrayBuffer(4);
234
- var view = new DataView(buf);
229
+ let buf = new ArrayBuffer(4);
230
+ let view = new DataView(buf);
235
231
  view.setUint32(0, value, false);
236
232
  this.appendBuffer(buf);
237
- };
238
- ValueWriter.prototype.writeU64 = function (value) {
233
+ }
234
+ writeU64(value) {
239
235
  if (typeof value !== "bigint") {
240
236
  throw "value is not a bigint";
241
237
  }
242
- var buf = new ArrayBuffer(8);
243
- var view = new DataView(buf);
238
+ let buf = new ArrayBuffer(8);
239
+ let view = new DataView(buf);
244
240
  view.setBigUint64(0, value, false);
245
241
  this.appendBuffer(buf);
246
- };
247
- ValueWriter.prototype.writeU128 = function (value) {
242
+ }
243
+ writeU128(value) {
248
244
  if (typeof value !== "bigint") {
249
245
  throw "value is not a bigint";
250
246
  }
251
- var bytes = [];
252
- for (var i = 0; i < 16; i++) {
253
- var byte = Number((value >> BigInt(8 * (15 - i))) & BigInt(0xFF));
247
+ let bytes = [];
248
+ for (let i = 0; i < 16; i++) {
249
+ let byte = Number((value >> BigInt(8 * (15 - i))) & BigInt(0xFF));
254
250
  bytes.push(byte);
255
251
  }
256
252
  this.appendData(new Uint8Array(bytes));
257
- };
258
- ValueWriter.prototype.writeString = function (value) {
253
+ }
254
+ writeString(value) {
259
255
  if (typeof value !== "string") {
260
256
  throw "value is not string";
261
257
  }
262
- var encoder = new TextEncoder();
263
- var data = encoder.encode(value);
258
+ let encoder = new TextEncoder();
259
+ let data = encoder.encode(value);
264
260
  if (data.length > MaxStringSize) {
265
261
  throw ErrMaxStringSize;
266
262
  }
267
263
  this.writeU8(data.length);
268
264
  this.appendData(data);
269
- };
270
- ValueWriter.prototype.writeBool = function (value) {
265
+ }
266
+ writeBool(value) {
271
267
  if (typeof value !== "boolean") {
272
268
  throw "value is not a boolean";
273
269
  }
274
270
  this.writeU8(value ? 1 : 0);
275
- };
276
- ValueWriter.prototype.writeBlob = function (value) {
271
+ }
272
+ writeBlob(value) {
277
273
  this.writeU8(value.length);
278
274
  this.appendData(new Uint8Array(value));
279
- };
280
- ValueWriter.prototype.writeHash = function (value) {
275
+ }
276
+ writeHash(value) {
281
277
  this.appendData(value);
282
- };
283
- ValueWriter.prototype.writeValue = function (value) {
278
+ }
279
+ writeValue(value) {
284
280
  switch (value.vType) {
285
281
  case ValueType.Bool:
286
282
  this.writeU8(ValueType.Bool);
@@ -321,7 +317,6 @@ var ValueWriter = /** @class */ (function () {
321
317
  default:
322
318
  throw ErrUnsupportedValue(value);
323
319
  }
324
- };
325
- return ValueWriter;
326
- }());
320
+ }
321
+ }
327
322
  exports.ValueWriter = ValueWriter;
@@ -22,97 +22,87 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
- if (ar || !(i in from)) {
28
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
- ar[i] = from[i];
30
- }
31
- }
32
- return to.concat(ar || Array.prototype.slice.call(from));
33
- };
34
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
27
  };
37
- exports.__esModule = true;
28
+ Object.defineProperty(exports, "__esModule", { value: true });
38
29
  exports.useNodeSocket = exports.useNodeSocketSubscribe = exports.NodeSocketProvider = exports.INITIATING = void 0;
39
- var react_1 = __importStar(require("react"));
40
- var websocket_1 = __importDefault(require("../daemon/websocket"));
30
+ const react_1 = __importStar(require("react"));
31
+ const websocket_1 = __importDefault(require("../daemon/websocket"));
41
32
  exports.INITIATING = -1;
42
- var Context = (0, react_1.createContext)({
33
+ const Context = (0, react_1.createContext)({
43
34
  err: undefined,
44
35
  daemon: undefined,
45
36
  readyState: exports.INITIATING
46
37
  });
47
- var NodeSocketProvider = function (props) {
48
- var children = props.children, endpoint = props.endpoint, timeout = props.timeout;
49
- var _a = (0, react_1.useState)(exports.INITIATING), readyState = _a[0], setReadyState = _a[1];
50
- var _b = (0, react_1.useState)(), err = _b[0], setErr = _b[1];
51
- var _c = (0, react_1.useState)(), daemon = _c[0], setDaemon = _c[1];
52
- (0, react_1.useEffect)(function () {
53
- var daemon = new websocket_1["default"](endpoint);
38
+ const NodeSocketProvider = (props) => {
39
+ const { children, endpoint, timeout } = props;
40
+ const [readyState, setReadyState] = (0, react_1.useState)(exports.INITIATING);
41
+ const [err, setErr] = (0, react_1.useState)();
42
+ const [daemon, setDaemon] = (0, react_1.useState)();
43
+ (0, react_1.useEffect)(() => {
44
+ const daemon = new websocket_1.default(endpoint);
54
45
  setDaemon(daemon);
55
- return function () { return daemon.socket.close(); };
46
+ return () => daemon.socket.close();
56
47
  }, [endpoint]);
57
- (0, react_1.useEffect)(function () {
48
+ (0, react_1.useEffect)(() => {
58
49
  if (!timeout)
59
50
  return;
60
51
  if (daemon)
61
52
  daemon.callTimeout = timeout;
62
53
  }, [timeout]);
63
- (0, react_1.useEffect)(function () {
54
+ (0, react_1.useEffect)(() => {
64
55
  if (!daemon)
65
56
  return;
66
57
  setReadyState(daemon.socket.readyState);
67
- var onOpen = function () {
58
+ const onOpen = () => {
68
59
  setReadyState(daemon.socket.readyState);
69
60
  setErr(undefined);
70
61
  };
71
- var onClose = function (event) {
62
+ const onClose = (event) => {
72
63
  if (!daemon.socket)
73
64
  return;
74
65
  setReadyState(daemon.socket.readyState);
75
66
  setErr(new Error(event.reason));
76
67
  };
77
- var onError = function (err) {
68
+ const onError = (err) => {
78
69
  if (!daemon.socket)
79
70
  return;
80
71
  setReadyState(daemon.socket.readyState);
81
72
  setErr(new Error(err.message));
82
73
  };
83
- daemon.socket.addEventListener("open", onOpen);
84
- daemon.socket.addEventListener("close", onClose);
85
- daemon.socket.addEventListener("error", onError);
86
- return function () {
74
+ daemon.socket.addEventListener(`open`, onOpen);
75
+ daemon.socket.addEventListener(`close`, onClose);
76
+ daemon.socket.addEventListener(`error`, onError);
77
+ return () => {
87
78
  if (!daemon.socket)
88
79
  return;
89
- daemon.socket.removeEventListener("open", onOpen);
90
- daemon.socket.removeEventListener("close", onClose);
91
- daemon.socket.removeEventListener("error", onError);
80
+ daemon.socket.removeEventListener(`open`, onOpen);
81
+ daemon.socket.removeEventListener(`close`, onClose);
82
+ daemon.socket.removeEventListener(`error`, onError);
92
83
  };
93
84
  }, [daemon]);
94
- return react_1["default"].createElement(Context.Provider, { value: { daemon: daemon, err: err, readyState: readyState } }, children);
85
+ return react_1.default.createElement(Context.Provider, { value: { daemon, err, readyState } }, children);
95
86
  };
96
87
  exports.NodeSocketProvider = NodeSocketProvider;
97
- var useNodeSocketSubscribe = function (_a, dependencies) {
98
- var event = _a.event, onLoad = _a.onLoad, onData = _a.onData;
99
- var nodeSocket = (0, exports.useNodeSocket)();
100
- (0, react_1.useEffect)(function () {
88
+ const useNodeSocketSubscribe = ({ event, onLoad, onData }, dependencies) => {
89
+ const nodeSocket = (0, exports.useNodeSocket)();
90
+ (0, react_1.useEffect)(() => {
101
91
  if (!nodeSocket.daemon)
102
92
  return;
103
93
  if (nodeSocket.readyState !== WebSocket.OPEN)
104
94
  return;
105
- if (typeof onLoad === "function")
95
+ if (typeof onLoad === `function`)
106
96
  onLoad();
107
97
  nodeSocket.daemon.listen(event, onData);
108
- return function () {
98
+ return () => {
109
99
  if (!nodeSocket.daemon)
110
100
  return;
111
101
  nodeSocket.daemon.closeListener(event, onData);
112
102
  };
113
- }, __spreadArray([nodeSocket], dependencies, true));
103
+ }, [nodeSocket, ...dependencies]);
114
104
  };
115
105
  exports.useNodeSocketSubscribe = useNodeSocketSubscribe;
116
- var useNodeSocket = function () { return (0, react_1.useContext)(Context); };
106
+ const useNodeSocket = () => (0, react_1.useContext)(Context);
117
107
  exports.useNodeSocket = useNodeSocket;
118
- exports["default"] = exports.useNodeSocket;
108
+ exports.default = exports.useNodeSocket;