@xelis/sdk 0.11.14 → 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 (51) 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 +99 -20
  49. package/dist/types/daemon/websocket.d.ts +5 -2
  50. package/dist/types/wallet/types.d.ts +1 -1
  51. package/package.json +1 -1
@@ -2,66 +2,87 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- exports.__esModule = true;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.App = void 0;
7
- var qrcode_1 = __importDefault(require("qrcode"));
8
- var App = /** @class */ (function () {
9
- function App(relayer) {
10
- var _this = this;
7
+ const qrcode_1 = __importDefault(require("qrcode"));
8
+ class App {
9
+ constructor(relayer) {
11
10
  this.relayer = relayer;
12
- this.element = document.createElement("div");
13
- this.element.classList.add("xelis-xswd-relayer");
14
- this.contentElement = document.createElement("div");
15
- this.contentElement.classList.add("xelis-xswd-relayer-content");
11
+ this.element = document.createElement(`div`);
12
+ this.element.classList.add(`xelis-xswd-relayer`);
13
+ this.contentElement = document.createElement(`div`);
14
+ this.contentElement.classList.add(`xelis-xswd-relayer-content`);
16
15
  this.element.appendChild(this.contentElement);
17
- this.loadingElement = document.createElement("div");
18
- this.loadingElement.innerHTML = "\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.0001 12C20.0001 13.3811 19.6425 14.7386 18.9623 15.9405C18.282 17.1424 17.3022 18.1477 16.1182 18.8587C14.9341 19.5696 13.5862 19.9619 12.2056 19.9974C10.825 20.0328 9.45873 19.7103 8.23975 19.0612\" stroke=\"currentColor\" stroke-width=\"3.55556\" stroke-linecap=\"round\"/>\n </svg>\n ";
19
- this.loadingElement.classList.add("xelis-xswd-relayer-loading");
20
- this.errElement = document.createElement("div");
21
- this.errElement.classList.add("xelis-xswd-relayer-error");
22
- this.qrCodeElement = document.createElement("div");
23
- this.qrCodeElement.classList.add("xelis-xswd-relayer-qrcode");
24
- this.qrCodeElement.innerHTML = "\n <div class=\"xelis-xswd-relayer-scan-logo\">\n <svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4,4h6v6H4V4M20,4v6H14V4h6M14,15h2V13H14V11h2v2h2V11h2v2H18v2h2v3H18v2H16V18H13v2H11V16h3V15m2,0v3h2V15H16M4,20V14h6v6H4M6,6V8H8V6H6M16,6V8h2V6H16M6,16v2H8V16H6M4,11H6v2H4V11m5,0h4v4H11V13H9V11m2-5h2v4H11V6M2,2V6H0V2A2,2,0,0,1,2,0H6V2H2M22,0a2,2,0,0,1,2,2V6H22V2H18V0h4M2,18v4H6v2H2a2,2,0,0,1-2-2V18H2m20,4V18h2v4a2,2,0,0,1-2,2H18V22Z\"/>\n </svg>\n </div>\n <div class=\"xelis-xswd-relayer-logo-wrap\">\n <div class=\"xelis-xswd-relayer-logo\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 778 743\" fill=\"currentColor\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M388.909 742.872L777.817 353.964L424.056 0.202599L478.809 132.737L700.036 353.964L388.909 665.091L77.7817 353.964L299.507 129.121L353.964 0L0 353.964L388.909 742.872Z\" />\n <path d=\"M388.909 665.091L353.964 0L299.507 129.121L388.909 665.091Z\" />\n <path d=\"M424.056 0.202599L388.909 665.091L478.809 132.737L424.056 0.202599Z\" />\n </svg>\n </div>\n </div>\n <div class=\"xelis-xswd-relayer-title\">XSWD Relayer</div>\n <canvas></canvas>\n ";
25
- this.element.addEventListener("click", function (e) {
16
+ this.loadingElement = document.createElement(`div`);
17
+ this.loadingElement.innerHTML = `
18
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
19
+ <path d="M20.0001 12C20.0001 13.3811 19.6425 14.7386 18.9623 15.9405C18.282 17.1424 17.3022 18.1477 16.1182 18.8587C14.9341 19.5696 13.5862 19.9619 12.2056 19.9974C10.825 20.0328 9.45873 19.7103 8.23975 19.0612" stroke="currentColor" stroke-width="3.55556" stroke-linecap="round"/>
20
+ </svg>
21
+ `;
22
+ this.loadingElement.classList.add(`xelis-xswd-relayer-loading`);
23
+ this.errElement = document.createElement(`div`);
24
+ this.errElement.classList.add(`xelis-xswd-relayer-error`);
25
+ this.qrCodeElement = document.createElement(`div`);
26
+ this.qrCodeElement.classList.add(`xelis-xswd-relayer-qrcode`);
27
+ this.qrCodeElement.innerHTML = `
28
+ <div class="xelis-xswd-relayer-scan-logo">
29
+ <svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
30
+ <path d="M4,4h6v6H4V4M20,4v6H14V4h6M14,15h2V13H14V11h2v2h2V11h2v2H18v2h2v3H18v2H16V18H13v2H11V16h3V15m2,0v3h2V15H16M4,20V14h6v6H4M6,6V8H8V6H6M16,6V8h2V6H16M6,16v2H8V16H6M4,11H6v2H4V11m5,0h4v4H11V13H9V11m2-5h2v4H11V6M2,2V6H0V2A2,2,0,0,1,2,0H6V2H2M22,0a2,2,0,0,1,2,2V6H22V2H18V0h4M2,18v4H6v2H2a2,2,0,0,1-2-2V18H2m20,4V18h2v4a2,2,0,0,1-2,2H18V22Z"/>
31
+ </svg>
32
+ </div>
33
+ <div class="xelis-xswd-relayer-logo-wrap">
34
+ <div class="xelis-xswd-relayer-logo">
35
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 778 743" fill="currentColor">
36
+ <path fillRule="evenodd" clipRule="evenodd" d="M388.909 742.872L777.817 353.964L424.056 0.202599L478.809 132.737L700.036 353.964L388.909 665.091L77.7817 353.964L299.507 129.121L353.964 0L0 353.964L388.909 742.872Z" />
37
+ <path d="M388.909 665.091L353.964 0L299.507 129.121L388.909 665.091Z" />
38
+ <path d="M424.056 0.202599L388.909 665.091L478.809 132.737L424.056 0.202599Z" />
39
+ </svg>
40
+ </div>
41
+ </div>
42
+ <div class="xelis-xswd-relayer-title">XSWD Relayer</div>
43
+ <canvas></canvas>
44
+ `;
45
+ this.element.addEventListener(`click`, (e) => {
26
46
  // close the app if clicking outside
27
- if (_this.element.isEqualNode(e.target)) {
28
- _this.relayer.close();
47
+ if (this.element.isEqualNode(e.target)) {
48
+ this.relayer.close();
29
49
  }
30
50
  });
31
51
  this.relayer.props.parent.appendChild(this.element);
32
52
  this.setLoading();
33
53
  }
34
- App.prototype.clear = function () {
54
+ clear() {
35
55
  this.loadingElement.remove();
36
56
  this.errElement.remove();
37
57
  this.qrCodeElement.remove();
38
- };
39
- App.prototype.setError = function (msg) {
58
+ }
59
+ setError(msg) {
40
60
  this.clear();
41
- this.errElement.innerHTML = "\n <div class=\"xelis-xswd-relayer-error-text\">error: ".concat(msg, "</div>\n ");
61
+ this.errElement.innerHTML = `
62
+ <div class="xelis-xswd-relayer-error-text">error: ${msg}</div>
63
+ `;
42
64
  this.contentElement.appendChild(this.errElement);
43
- };
44
- App.prototype.setLoading = function () {
65
+ }
66
+ setLoading() {
45
67
  this.clear();
46
68
  this.contentElement.appendChild(this.loadingElement);
47
- };
48
- App.prototype.setQRCode = function (channelId) {
69
+ }
70
+ setQRCode(channelId) {
49
71
  this.clear();
50
- var canvas = this.qrCodeElement.querySelector("canvas");
51
- var qrCodeData = JSON.stringify({
72
+ const canvas = this.qrCodeElement.querySelector(`canvas`);
73
+ const qrCodeData = JSON.stringify({
52
74
  inner: {},
53
75
  channel_id: channelId,
54
76
  relayer: this.relayer.props.url,
55
77
  encryption_mode: this.relayer.props.encryption_mode
56
78
  });
57
- qrcode_1["default"].toCanvas(canvas, qrCodeData, {
79
+ qrcode_1.default.toCanvas(canvas, qrCodeData, {
58
80
  color: {
59
- dark: "#fff",
60
- light: "#000" // background
81
+ dark: `#fff`,
82
+ light: `#000` // background
61
83
  }
62
84
  });
63
85
  this.contentElement.appendChild(this.qrCodeElement);
64
- };
65
- return App;
66
- }());
86
+ }
87
+ }
67
88
  exports.App = App;
@@ -1,48 +1,46 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var app_1 = require("./app");
4
- var Relayer = /** @class */ (function () {
5
- function Relayer(props) {
6
- var _this = this;
7
- this.onOpen = function (e) {
8
- _this.message_timeout = window.setTimeout(function () {
9
- _this.app.setError("timeout occured (did not receive any message)");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const app_1 = require("./app");
4
+ class Relayer {
5
+ constructor(props) {
6
+ this.onOpen = (e) => {
7
+ this.message_timeout = window.setTimeout(() => {
8
+ this.app.setError("timeout occured (did not receive any message)");
10
9
  }, 3000);
11
10
  };
12
- this.onMessage = function (e) {
13
- window.clearTimeout(_this.message_timeout);
11
+ this.onMessage = (e) => {
12
+ window.clearTimeout(this.message_timeout);
14
13
  try {
15
14
  console.log(e);
16
- var data = JSON.parse(e.data);
15
+ const data = JSON.parse(e.data);
17
16
  if (data.channel_id) {
18
- _this.app.setQRCode(data.channel_id);
17
+ this.app.setQRCode(data.channel_id);
19
18
  }
20
19
  else {
21
- _this.app.setError("channel id not found");
20
+ this.app.setError("channel id not found");
22
21
  }
23
22
  }
24
23
  catch (e) {
25
- _this.app.setError("invalid data format");
24
+ this.app.setError("invalid data format");
26
25
  }
27
26
  };
28
- this.onError = function (e) {
29
- _this.app.setError("connection failed");
27
+ this.onError = (e) => {
28
+ this.app.setError("connection failed");
30
29
  };
31
- this.onClose = function (e) {
32
- _this.app.setError("connection closed");
30
+ this.onClose = (e) => {
31
+ this.app.setError("connection closed");
33
32
  };
34
33
  this.props = props;
35
34
  this.app = new app_1.App(this);
36
35
  this.ws = new WebSocket(this.props.url);
37
- this.ws.addEventListener("open", this.onOpen);
38
- this.ws.addEventListener("message", this.onMessage);
39
- this.ws.addEventListener("error", this.onError);
40
- this.ws.addEventListener("close", this.onClose);
36
+ this.ws.addEventListener(`open`, this.onOpen);
37
+ this.ws.addEventListener(`message`, this.onMessage);
38
+ this.ws.addEventListener(`error`, this.onError);
39
+ this.ws.addEventListener(`close`, this.onClose);
41
40
  }
42
- Relayer.prototype.close = function () {
41
+ close() {
43
42
  this.ws.close();
44
43
  this.app.element.remove();
45
- };
46
- return Relayer;
47
- }());
48
- exports["default"] = Relayer;
44
+ }
45
+ }
46
+ exports.default = Relayer;
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,38 +1,20 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.WS = void 0;
19
- var websocket_1 = require("../rpc/websocket");
20
- var websocket_2 = require("../daemon/websocket");
21
- var websocket_3 = require("../wallet/websocket");
22
- var WS = /** @class */ (function (_super) {
23
- __extends(WS, _super);
24
- function WS(endpoint) {
25
- var _this = _super.call(this, endpoint) || this;
26
- _this.callTimeout = 0; // xswd needs user input for confirmation - timeout should not be used
27
- _this.daemon = new websocket_2.DaemonMethods(_this, "node.");
28
- _this.wallet = new websocket_3.WalletMethods(_this, "wallet.");
29
- return _this;
4
+ const websocket_1 = require("../rpc/websocket");
5
+ const websocket_2 = require("../daemon/websocket");
6
+ const websocket_3 = require("../wallet/websocket");
7
+ class WS extends websocket_1.WSRPC {
8
+ constructor(endpoint) {
9
+ super(endpoint);
10
+ this.callTimeout = 0; // xswd needs user input for confirmation - timeout should not be used
11
+ this.daemon = new websocket_2.DaemonMethods(this, "node.");
12
+ this.wallet = new websocket_3.WalletMethods(this, "wallet.");
30
13
  }
31
- WS.prototype.authorize = function (app) {
32
- var data = JSON.stringify(app);
14
+ authorize(app) {
15
+ const data = JSON.stringify(app);
33
16
  return this.rawCall(0, data);
34
- };
35
- return WS;
36
- }(websocket_1.WSRPC));
17
+ }
18
+ }
37
19
  exports.WS = WS;
38
- exports["default"] = WS;
20
+ exports.default = WS;
@@ -1,41 +1,32 @@
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
- var CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
11
- var GENERATOR = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];
12
- var SEPARTOR = ":";
1
+ const CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
2
+ const GENERATOR = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];
3
+ const SEPARTOR = ":";
13
4
  var ErrHrpMixCase = "mix case is not allowed in human readable part";
14
5
  var ErrInvalidChecksum = "invalid checksum";
15
6
  var ErrNonZeroPadding = "non zero padding";
16
7
  var ErrIllegalZeroPadding = "illegal zero padding";
17
8
  var ErrHrpEmpty = "human readable part is empty";
18
9
  function ErrSeparatorInvalidPosition(pos) {
19
- return "invalid separator position: ".concat(pos);
10
+ return `invalid separator position: ${pos}`;
20
11
  }
21
12
  function ErrHrpInvalidCharacter(c) {
22
- return "invalid character value in human readable part: ".concat(c);
13
+ return `invalid character value in human readable part: ${c}`;
23
14
  }
24
15
  function ErrInvalidIndex(index) {
25
- return "invalid index ".concat(index);
16
+ return `invalid index ${index}`;
26
17
  }
27
18
  function ErrInvalidValue(value, max) {
28
- return "invalid value: ".concat(value, ", max is ").concat(max);
19
+ return `invalid value: ${value}, max is ${max}`;
29
20
  }
30
21
  function ErrInvalidDataRange(value, from) {
31
- return "invalid data range: ".concat(value, ", max is ").concat(from);
22
+ return `invalid data range: ${value}, max is ${from}`;
32
23
  }
33
24
  function polymod(values) {
34
- var chk = 1;
35
- values.forEach(function (value) {
36
- var top = chk >> 25;
25
+ let chk = 1;
26
+ values.forEach((value) => {
27
+ let top = chk >> 25;
37
28
  chk = ((chk & 0x1ffffff) << 5) ^ value;
38
- GENERATOR.forEach(function (item, i) {
29
+ GENERATOR.forEach((item, i) => {
39
30
  if (((top >> i) & 1) === 1) {
40
31
  chk ^= item;
41
32
  }
@@ -44,34 +35,34 @@ function polymod(values) {
44
35
  return chk;
45
36
  }
46
37
  function hrpExpand(hrp) {
47
- var encoder = new TextEncoder();
48
- var bytes = encoder.encode(hrp);
49
- var result = [];
50
- bytes.forEach(function (c) { return result.push(c >> 5); });
38
+ let encoder = new TextEncoder();
39
+ let bytes = encoder.encode(hrp);
40
+ let result = [];
41
+ bytes.forEach((c) => result.push(c >> 5));
51
42
  result.push(0);
52
- bytes.forEach(function (c) { return result.push(c & 31); });
43
+ bytes.forEach((c) => result.push(c & 31));
53
44
  return result;
54
45
  }
55
46
  function verifyChecksum(hrp, data) {
56
- var vec = hrpExpand(hrp);
57
- vec = __spreadArray(__spreadArray([], vec, true), data, true);
47
+ let vec = hrpExpand(hrp);
48
+ vec = [...vec, ...data];
58
49
  return polymod(vec) === 1;
59
50
  }
60
51
  function createChecksum(hrp, data) {
61
- var result = [0, 0, 0, 0, 0, 0];
62
- var values = __spreadArray(__spreadArray(__spreadArray([], hrpExpand(hrp), true), data, true), result, true);
63
- var pm = polymod(values) ^ 1;
64
- for (var i = 0; i < 6; i++) {
52
+ let result = [0, 0, 0, 0, 0, 0];
53
+ let values = [...hrpExpand(hrp), ...data, ...result];
54
+ let pm = polymod(values) ^ 1;
55
+ for (let i = 0; i < 6; i++) {
65
56
  result[i] = pm >> (5 * (5 - i)) & 31;
66
57
  }
67
58
  return result;
68
59
  }
69
60
  export function convertBits(data, from, to, pad) {
70
- var result = [];
71
- var acc = 0;
72
- var bits = 0;
73
- var maxValue = (1 << to) - 1;
74
- data.forEach(function (value) {
61
+ let result = [];
62
+ let acc = 0;
63
+ let bits = 0;
64
+ let maxValue = (1 << to) - 1;
65
+ data.forEach((value) => {
75
66
  if (value >> from !== 0) {
76
67
  throw ErrInvalidDataRange(value, from);
77
68
  }
@@ -99,25 +90,25 @@ export function decode(bech) {
99
90
  if (bech.toUpperCase() !== bech && bech.toLowerCase() !== bech) {
100
91
  throw ErrHrpMixCase;
101
92
  }
102
- var pos = bech.indexOf(SEPARTOR);
93
+ let pos = bech.indexOf(SEPARTOR);
103
94
  if (pos < 1 || pos + 7 > bech.length) {
104
95
  throw ErrSeparatorInvalidPosition(pos);
105
96
  }
106
- var hrp = bech.substring(0, pos);
107
- var encoder = new TextEncoder();
108
- var hrpBytes = encoder.encode(hrp);
109
- var decoded = [];
110
- hrpBytes.forEach(function (value) {
97
+ let hrp = bech.substring(0, pos);
98
+ let encoder = new TextEncoder();
99
+ let hrpBytes = encoder.encode(hrp);
100
+ let decoded = [];
101
+ hrpBytes.forEach((value) => {
111
102
  if (value < 33 || value > 126) {
112
103
  throw ErrHrpInvalidCharacter(value);
113
104
  }
114
105
  });
115
- for (var i = pos + 1; i < bech.length; i++) {
106
+ for (let i = pos + 1; i < bech.length; i++) {
116
107
  if (i >= bech.length) {
117
108
  throw ErrInvalidIndex(i);
118
109
  }
119
- var c = bech[i];
120
- var index = CHARSET.indexOf(c);
110
+ let c = bech[i];
111
+ let index = CHARSET.indexOf(c);
121
112
  if (index === -1) {
122
113
  throw ErrHrpInvalidCharacter;
123
114
  }
@@ -127,15 +118,15 @@ export function decode(bech) {
127
118
  throw ErrInvalidChecksum;
128
119
  }
129
120
  decoded.splice(decoded.length - 6, 6);
130
- return { hrp: hrp, decoded: decoded };
121
+ return { hrp, decoded };
131
122
  }
132
123
  export function encode(hrp, data) {
133
124
  if (hrp.length === 0) {
134
125
  throw ErrHrpEmpty;
135
126
  }
136
- var encoder = new TextEncoder();
137
- var hrpBytes = encoder.encode(hrp);
138
- hrpBytes.forEach(function (value) {
127
+ let encoder = new TextEncoder();
128
+ let hrpBytes = encoder.encode(hrp);
129
+ hrpBytes.forEach((value) => {
139
130
  if (value < 33 || value > 126) {
140
131
  throw ErrHrpInvalidCharacter(value);
141
132
  }
@@ -144,18 +135,18 @@ export function encode(hrp, data) {
144
135
  throw ErrHrpMixCase;
145
136
  }
146
137
  hrp = hrp.toLowerCase();
147
- var combined = __spreadArray(__spreadArray([], data, true), createChecksum(hrp, data), true);
148
- var result = __spreadArray(__spreadArray([], Array.from(hrpBytes), true), [SEPARTOR.charCodeAt(0)], false);
149
- combined.forEach(function (index) {
138
+ let combined = [...data, ...createChecksum(hrp, data)];
139
+ let result = [...Array.from(hrpBytes), SEPARTOR.charCodeAt(0)];
140
+ combined.forEach((index) => {
150
141
  if (index > CHARSET.length) {
151
142
  throw ErrInvalidValue(index, CHARSET.length);
152
143
  }
153
- var value = CHARSET.charCodeAt(index);
144
+ let value = CHARSET.charCodeAt(index);
154
145
  if (!value) {
155
146
  throw ErrInvalidIndex(index);
156
147
  }
157
148
  result.push(value);
158
149
  });
159
- var decoder = new TextDecoder();
150
+ let decoder = new TextDecoder();
160
151
  return decoder.decode(new Uint8Array(result));
161
152
  }
@@ -5,15 +5,15 @@ var TestnetPrefixAddress = "xet";
5
5
  var ExtraDataLimit = 1024;
6
6
  var ErrIntegratedDataLimit = "invalid data in integrated address, maximum size reached";
7
7
  var ErrInvalidNetworkPrefix = "invalid network prefix (xel or xet)";
8
- var Address = /** @class */ (function () {
9
- function Address(data, hrp) {
8
+ class Address {
9
+ constructor(data, hrp) {
10
10
  this.isMainnet = hrp === PrefixAddress;
11
11
  this.publicKey = Array.from(data);
12
12
  switch (data[32]) {
13
13
  case 1:
14
14
  this.isIntegrated = true;
15
- var extraData = new Uint8Array(this.publicKey.slice(33));
16
- var reader = new ValueReader(extraData);
15
+ let extraData = new Uint8Array(this.publicKey.slice(33));
16
+ let reader = new ValueReader(extraData);
17
17
  this.extraData = reader.read();
18
18
  break;
19
19
  case 0:
@@ -23,31 +23,30 @@ var Address = /** @class */ (function () {
23
23
  throw "invalid address type";
24
24
  }
25
25
  }
26
- Address.fromString = function (addr) {
27
- var _a = decode(addr), hrp = _a.hrp, decoded = _a.decoded;
26
+ static fromString(addr) {
27
+ let { hrp, decoded } = decode(addr);
28
28
  if (hrp !== PrefixAddress && hrp !== TestnetPrefixAddress) {
29
29
  throw ErrInvalidNetworkPrefix;
30
30
  }
31
- var bits = convertBits(decoded, 5, 8, false);
31
+ let bits = convertBits(decoded, 5, 8, false);
32
32
  return new Address(bits, hrp);
33
- };
34
- Address.isValid = function (addr) {
33
+ }
34
+ static isValid(addr) {
35
35
  try {
36
36
  Address.fromString(addr);
37
37
  return true;
38
38
  }
39
- catch (_a) {
39
+ catch {
40
40
  return false;
41
41
  }
42
- };
43
- Address.prototype.format = function () {
44
- var bits = convertBits(this.publicKey, 8, 5, true);
45
- var hrp = PrefixAddress;
42
+ }
43
+ format() {
44
+ let bits = convertBits(this.publicKey, 8, 5, true);
45
+ let hrp = PrefixAddress;
46
46
  if (!this.isMainnet) {
47
47
  hrp = TestnetPrefixAddress;
48
48
  }
49
49
  return encode(hrp, bits);
50
- };
51
- return Address;
52
- }());
50
+ }
51
+ }
53
52
  export default Address;
@@ -1,39 +1,27 @@
1
- export var DAEMON_RPC_PORT = "8080";
2
- export var WALLET_RPC_PORT = "8081";
3
- export var XSWD_PORT = "44325";
4
- export var MAINNET_NODE_URL = "node.xelis.io";
5
- export var TESTNET_NODE_URL = "testnet-node.xelis.io";
6
- export var LOCAL_NODE_URL = "127.0.0.1:".concat(DAEMON_RPC_PORT);
7
- export var MAINNET_NODE_RPC = "https://".concat(MAINNET_NODE_URL, "/json_rpc");
8
- export var TESTNET_NODE_RPC = "https://".concat(TESTNET_NODE_URL, "/json_rpc");
9
- export var LOCAL_NODE_RPC = "http://".concat(LOCAL_NODE_URL, "/json_rpc");
10
- export var MAINNET_NODE_WS = "wss://".concat(MAINNET_NODE_URL, "/json_rpc");
11
- export var TESTNET_NODE_WS = "wss://".concat(TESTNET_NODE_URL, "/json_rpc");
12
- export var LOCAL_NODE_WS = "ws://".concat(LOCAL_NODE_URL, "/json_rpc");
13
- export var LOCAL_WALLET_URL = "127.0.0.1:".concat(WALLET_RPC_PORT);
14
- export var LOCAL_WALLET_RPC = "http://".concat(LOCAL_WALLET_URL, "/json_rpc");
15
- export var LOCAL_WALLET_WS = "ws://".concat(LOCAL_WALLET_URL, "/json_rpc");
16
- export var LOCAL_XSWD_URL = "127.0.0.1:".concat(XSWD_PORT);
17
- export var LOCAL_XSWD_WS = "ws://".concat(LOCAL_XSWD_URL, "/xswd");
18
- export var XELIS_ASSET = "0000000000000000000000000000000000000000000000000000000000000000";
19
- export var XELIS_DECIMALS = 8;
1
+ export const DAEMON_RPC_PORT = `8080`;
2
+ export const WALLET_RPC_PORT = `8081`;
3
+ export const XSWD_PORT = `44325`;
4
+ export const MAINNET_NODE_URL = `node.xelis.io`;
5
+ export const TESTNET_NODE_URL = `testnet-node.xelis.io`;
6
+ export const LOCAL_NODE_URL = `127.0.0.1:${DAEMON_RPC_PORT}`;
7
+ export const MAINNET_NODE_RPC = `https://${MAINNET_NODE_URL}/json_rpc`;
8
+ export const TESTNET_NODE_RPC = `https://${TESTNET_NODE_URL}/json_rpc`;
9
+ export const LOCAL_NODE_RPC = `http://${LOCAL_NODE_URL}/json_rpc`;
10
+ export const MAINNET_NODE_WS = `wss://${MAINNET_NODE_URL}/json_rpc`;
11
+ export const TESTNET_NODE_WS = `wss://${TESTNET_NODE_URL}/json_rpc`;
12
+ export const LOCAL_NODE_WS = `ws://${LOCAL_NODE_URL}/json_rpc`;
13
+ export const LOCAL_WALLET_URL = `127.0.0.1:${WALLET_RPC_PORT}`;
14
+ export const LOCAL_WALLET_RPC = `http://${LOCAL_WALLET_URL}/json_rpc`;
15
+ export const LOCAL_WALLET_WS = `ws://${LOCAL_WALLET_URL}/json_rpc`;
16
+ export const LOCAL_XSWD_URL = `127.0.0.1:${XSWD_PORT}`;
17
+ export const LOCAL_XSWD_WS = `ws://${LOCAL_XSWD_URL}/xswd`;
18
+ export const XELIS_ASSET = `0000000000000000000000000000000000000000000000000000000000000000`;
19
+ export const XELIS_DECIMALS = 8;
20
20
  export default {
21
- MAINNET_NODE_URL: MAINNET_NODE_URL,
22
- TESTNET_NODE_URL: TESTNET_NODE_URL,
23
- MAINNET_NODE_RPC: MAINNET_NODE_RPC,
24
- TESTNET_NODE_RPC: TESTNET_NODE_RPC,
25
- LOCAL_NODE_RPC: LOCAL_NODE_RPC,
26
- MAINNET_NODE_WS: MAINNET_NODE_WS,
27
- TESTNET_NODE_WS: TESTNET_NODE_WS,
28
- LOCAL_NODE_WS: LOCAL_NODE_WS,
29
- DAEMON_RPC_PORT: DAEMON_RPC_PORT,
30
- WALLET_RPC_PORT: WALLET_RPC_PORT,
31
- XSWD_PORT: XSWD_PORT,
32
- LOCAL_WALLET_URL: LOCAL_WALLET_URL,
33
- LOCAL_WALLET_RPC: LOCAL_WALLET_RPC,
34
- LOCAL_WALLET_WS: LOCAL_WALLET_WS,
35
- LOCAL_XSWD_URL: LOCAL_XSWD_URL,
36
- LOCAL_XSWD_WS: LOCAL_XSWD_WS,
37
- XELIS_ASSET: XELIS_ASSET,
38
- XELIS_DECIMALS: XELIS_DECIMALS
21
+ MAINNET_NODE_URL, TESTNET_NODE_URL,
22
+ MAINNET_NODE_RPC, TESTNET_NODE_RPC, LOCAL_NODE_RPC,
23
+ MAINNET_NODE_WS, TESTNET_NODE_WS, LOCAL_NODE_WS,
24
+ DAEMON_RPC_PORT, WALLET_RPC_PORT, XSWD_PORT,
25
+ LOCAL_WALLET_URL, LOCAL_WALLET_RPC, LOCAL_WALLET_WS,
26
+ LOCAL_XSWD_URL, LOCAL_XSWD_WS, XELIS_ASSET, XELIS_DECIMALS
39
27
  };