@xelis/sdk 0.11.15 → 0.11.16

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