dash-platform-sdk 1.3.0-dev.3 → 1.3.0-dev.5

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 (139) hide show
  1. package/bundle.min.js +21 -2
  2. package/package.json +30 -31
  3. package/proto/generated/google/protobuf/wrappers.d.ts +260 -29
  4. package/proto/generated/platform.client.d.ts +251 -0
  5. package/proto/generated/platform.d.ts +3682 -1939
  6. package/src/DashPlatformSDK.d.ts +5 -4
  7. package/src/contestedResources/createStateTransition.d.ts +1 -2
  8. package/src/grpcConnectionPool.d.ts +30 -8
  9. package/src/keyPair/deriveChild.d.ts +2 -2
  10. package/src/keyPair/derivePath.d.ts +2 -2
  11. package/src/keyPair/index.d.ts +39 -114
  12. package/src/keyPair/mnemonicToSeed.d.ts +1 -1
  13. package/src/names/searchByIdentity.d.ts +1 -1
  14. package/src/node/index.d.ts +3 -3
  15. package/src/node/totalCredits.d.ts +2 -1
  16. package/src/tokens/getTokenDirectPurchasePrices.d.ts +3 -0
  17. package/src/tokens/index.d.ts +9 -1
  18. package/src/types.d.ts +10 -12
  19. package/src/utils/bytesToTypedArray.d.ts +1 -0
  20. package/src/utils/calculateMsgHash.d.ts +1 -1
  21. package/src/utils/calculateSignHash.d.ts +1 -1
  22. package/src/utils/calculateStateIdHash.d.ts +1 -1
  23. package/src/utils/createVoterIdentityId.d.ts +1 -1
  24. package/src/utils/getEvonodeList.d.ts +2 -2
  25. package/src/utils/sha256.d.ts +1 -1
  26. package/src/utils/signHash.d.ts +1 -1
  27. package/src/utils/signRequestId.d.ts +1 -1
  28. package/src/utils/verifyTenderdashProof.d.ts +1 -1
  29. package/src/voting/createStateTransition.d.ts +1 -2
  30. package/src/voting/index.d.ts +3 -4
  31. package/bundle.min.js.LICENSE.txt +0 -1
  32. package/index.js +0 -5
  33. package/proto/generated/google/protobuf/wrappers.js +0 -398
  34. package/proto/generated/platform.js +0 -18524
  35. package/src/DashPlatformSDK.js +0 -91
  36. package/src/constants.js +0 -13
  37. package/src/contestedResources/createStateTransition.js +0 -9
  38. package/src/contestedResources/getContestedResourceVoteState.js +0 -123
  39. package/src/contestedResources/index.js +0 -76
  40. package/src/dataContracts/create.js +0 -14
  41. package/src/dataContracts/createStateTransition.js +0 -23
  42. package/src/dataContracts/getDataContractByIdentifier.js +0 -87
  43. package/src/dataContracts/index.js +0 -103
  44. package/src/documents/create.js +0 -7
  45. package/src/documents/createStateTransition.js +0 -64
  46. package/src/documents/index.js +0 -130
  47. package/src/documents/query.js +0 -94
  48. package/src/grpcConnectionPool.js +0 -137
  49. package/src/identities/createStateTransition.js +0 -46
  50. package/src/identities/getIdentityBalance.js +0 -83
  51. package/src/identities/getIdentityByIdentifier.js +0 -83
  52. package/src/identities/getIdentityByNonUniquePublicKeyHash.js +0 -85
  53. package/src/identities/getIdentityByPublicKeyHash.js +0 -83
  54. package/src/identities/getIdentityContractNonce.js +0 -86
  55. package/src/identities/getIdentityNonce.js +0 -84
  56. package/src/identities/getIdentityPublicKeys.js +0 -85
  57. package/src/identities/index.js +0 -237
  58. package/src/keyPair/deriveChild.js +0 -50
  59. package/src/keyPair/derivePath.js +0 -50
  60. package/src/keyPair/index.js +0 -323
  61. package/src/keyPair/keyToPublicKey.d.ts +0 -2
  62. package/src/keyPair/keyToPublicKey.js +0 -47
  63. package/src/keyPair/keyToWalletId.d.ts +0 -2
  64. package/src/keyPair/keyToWalletId.js +0 -50
  65. package/src/keyPair/keyToXPrivateKey.d.ts +0 -3
  66. package/src/keyPair/keyToXPrivateKey.js +0 -50
  67. package/src/keyPair/keyToXPublicKey.d.ts +0 -3
  68. package/src/keyPair/keyToXPublicKey.js +0 -50
  69. package/src/keyPair/mnemonicToIdentityKey.d.ts +0 -3
  70. package/src/keyPair/mnemonicToIdentityKey.js +0 -57
  71. package/src/keyPair/mnemonicToSeed.js +0 -47
  72. package/src/keyPair/mnemonicToWallet.d.ts +0 -2
  73. package/src/keyPair/mnemonicToWallet.js +0 -55
  74. package/src/keyPair/privateKeyToWif.d.ts +0 -2
  75. package/src/keyPair/privateKeyToWif.js +0 -50
  76. package/src/keyPair/publicKeyToAddress.d.ts +0 -2
  77. package/src/keyPair/publicKeyToAddress.js +0 -50
  78. package/src/keyPair/seedToWallet.d.ts +0 -2
  79. package/src/keyPair/seedToWallet.js +0 -50
  80. package/src/keyPair/walletToIdentityKey.d.ts +0 -3
  81. package/src/keyPair/walletToIdentityKey.js +0 -56
  82. package/src/keyPair/xkeyToHDXKey.d.ts +0 -2
  83. package/src/keyPair/xkeyToHDXKey.js +0 -50
  84. package/src/names/index.js +0 -170
  85. package/src/names/registerName.js +0 -131
  86. package/src/names/searchByIdentity.js +0 -51
  87. package/src/names/searchByName.js +0 -64
  88. package/src/names/testNameContested.js +0 -6
  89. package/src/names/validateName.js +0 -14
  90. package/src/node/epochs.js +0 -88
  91. package/src/node/index.js +0 -102
  92. package/src/node/status.js +0 -85
  93. package/src/node/totalCredits.js +0 -76
  94. package/src/signer/AbstractSigner.js +0 -2
  95. package/src/signer/PrivateKeySigner.d.ts +0 -0
  96. package/src/signer/PrivateKeySigner.js +0 -64
  97. package/src/signer/setSigner.js +0 -8
  98. package/src/stateTransitions/broadcast.js +0 -60
  99. package/src/stateTransitions/index.js +0 -87
  100. package/src/stateTransitions/waitForStateTransitionResult.js +0 -60
  101. package/src/tokens/createStateTransition.js +0 -79
  102. package/src/tokens/getIdentitiesTokenBalances.js +0 -86
  103. package/src/tokens/getIdentityTokensBalances.js +0 -86
  104. package/src/tokens/getTokenContractInfo.js +0 -86
  105. package/src/tokens/getTokenTotalSupply.js +0 -84
  106. package/src/tokens/index.js +0 -175
  107. package/src/types.js +0 -25
  108. package/src/utils/base58ToBytes.js +0 -7
  109. package/src/utils/bytesToHex.js +0 -6
  110. package/src/utils/calculateMsgHash.js +0 -34
  111. package/src/utils/calculateSignHash.js +0 -11
  112. package/src/utils/calculateStateIdHash.js +0 -12
  113. package/src/utils/convertToHomographSafeChars.js +0 -14
  114. package/src/utils/createVoterIdentityId.js +0 -12
  115. package/src/utils/getEvonodeList.js +0 -63
  116. package/src/utils/getQuorumPublicKey.js +0 -69
  117. package/src/utils/getRandomArrayItem.js +0 -6
  118. package/src/utils/getRandomBytes.js +0 -7
  119. package/src/utils/hexToBytes.js +0 -7
  120. package/src/utils/index.js +0 -68
  121. package/src/utils/indexBytesToString.js +0 -7
  122. package/src/utils/sha256.js +0 -13
  123. package/src/utils/signHash.js +0 -25
  124. package/src/utils/signRequestId.js +0 -22
  125. package/src/utils/sleep.js +0 -51
  126. package/src/utils/stringToIndexValueBytes.js +0 -13
  127. package/src/utils/verifyTenderdashProof.js +0 -30
  128. package/src/voting/createStateTransition.js +0 -9
  129. package/src/voting/createVote.js +0 -8
  130. package/src/voting/index.js +0 -62
  131. package/test/unit/ContestedResources.spec.js +0 -338
  132. package/test/unit/DataContract.spec.js +0 -142
  133. package/test/unit/Document.spec.js +0 -199
  134. package/test/unit/Identity.spec.js +0 -357
  135. package/test/unit/KeyPair.spec.js +0 -149
  136. package/test/unit/Names.spec.js +0 -96
  137. package/test/unit/Node.spec.js +0 -129
  138. package/test/unit/SDK.spec.js +0 -12
  139. package/test/unit/Tokens.spec.js +0 -271
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = xkeyToHDXKey;
40
- var DashHD = require("dashhd");
41
- function xkeyToHDXKey(xKey, opts) {
42
- return __awaiter(this, void 0, void 0, function () {
43
- return __generator(this, function (_a) {
44
- switch (_a.label) {
45
- case 0: return [4 /*yield*/, DashHD.fromXKey(xKey, opts)];
46
- case 1: return [2 /*return*/, _a.sent()];
47
- }
48
- });
49
- });
50
- }
@@ -1,170 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.NamesController = void 0;
40
- var pshenmic_dpp_1 = require("pshenmic-dpp");
41
- var searchByName_1 = require("./searchByName");
42
- var searchByIdentity_1 = require("./searchByIdentity");
43
- var registerName_1 = require("./registerName");
44
- var validateName_1 = require("./validateName");
45
- var getIdentityByIdentifier_1 = require("../identities/getIdentityByIdentifier");
46
- var convertToHomographSafeChars_1 = require("../utils/convertToHomographSafeChars");
47
- var testNameContested_1 = require("./testNameContested");
48
- /**
49
- * Functions related to DPNS names (usernames)
50
- *
51
- * @hideconstructor
52
- */
53
- var NamesController = /** @class */ (function () {
54
- function NamesController(grpcPool) {
55
- this.grpcPool = grpcPool;
56
- }
57
- /**
58
- * Searches for a registered DPNS name in the network
59
- *
60
- * Should be in a human-readable format, for example pshenmic.dash
61
- *
62
- * Returns a {DocumentWASM} document of type 'domain' from DPNS system data contract if found,
63
- * returns null if not found.
64
- *
65
- * https://testnet.platform-explorer.com/dataContract/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec?tab=schema
66
- *
67
- * @param name {string}
68
- *
69
- * @return Promise<DocumentWASM | null>
70
- */
71
- NamesController.prototype.searchByName = function (name) {
72
- return __awaiter(this, void 0, void 0, function () {
73
- var validation;
74
- return __generator(this, function (_a) {
75
- switch (_a.label) {
76
- case 0:
77
- validation = (0, validateName_1.default)(name);
78
- if (validation != null) {
79
- throw new Error(validation);
80
- }
81
- return [4 /*yield*/, (0, searchByName_1.default)(this.grpcPool, name)];
82
- case 1: return [2 /*return*/, _a.sent()];
83
- }
84
- });
85
- });
86
- };
87
- /**
88
- * Tests a given username against contested names rules.
89
- * Contested names includes an additional fee of 0.2 Dash
90
- * as a voting resolution fee
91
- *
92
- * This function return boolean whether given username (f.e pshenmic.dash)
93
- * falls under contested names rules.
94
- * @param name
95
- */
96
- NamesController.prototype.testNameContested = function (name) {
97
- var validation = (0, validateName_1.default)(name);
98
- if (validation != null) {
99
- throw new Error(validation);
100
- }
101
- var label = name.split('.')[0];
102
- var normalizedLabel = (0, convertToHomographSafeChars_1.default)(label);
103
- return (0, testNameContested_1.default)(normalizedLabel);
104
- };
105
- NamesController.prototype.searchByIdentity = function (identifier) {
106
- return __awaiter(this, void 0, void 0, function () {
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0: return [4 /*yield*/, (0, searchByIdentity_1.default)(this.grpcPool, new pshenmic_dpp_1.IdentifierWASM(identifier))];
110
- case 1: return [2 /*return*/, _a.sent()];
111
- }
112
- });
113
- });
114
- };
115
- /**
116
- * Performs a DPNS name registration sequence
117
- * Contested names are include additional fee of 0.2 Dash
118
- * Check your name is contested with .testNameContested(name) method to check if additional fee will be charged
119
- *
120
- * @param name {string} username (ex. pshenmic.dash)
121
- * @param identityId {IdentifierLike} identity identifier
122
- * @param privateKey {PrivateKeyWASM} Authentication / High private key from your identity
123
- */
124
- NamesController.prototype.registerName = function (name, identityId, privateKey) {
125
- return __awaiter(this, void 0, void 0, function () {
126
- var validation, identity;
127
- return __generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0:
130
- validation = (0, validateName_1.default)(name);
131
- if (validation != null) {
132
- throw new Error(validation);
133
- }
134
- return [4 /*yield*/, (0, getIdentityByIdentifier_1.default)(this.grpcPool, identityId)];
135
- case 1:
136
- identity = _a.sent();
137
- return [4 /*yield*/, (0, registerName_1.default)(this.grpcPool, name, identity, privateKey)];
138
- case 2:
139
- _a.sent();
140
- return [2 /*return*/];
141
- }
142
- });
143
- });
144
- };
145
- /**
146
- * Converts DPNS name to normalized format (ex. alice.dash -> al1ce.dash)
147
- *
148
- * source: https://github.com/dashpay/platform/blob/master/packages/js-dash-sdk/src/utils/convertToHomographSafeChars.ts
149
- *
150
- *
151
- * @param label {string}
152
- *
153
- * @return {string}
154
- */
155
- NamesController.prototype.normalizeLabel = function (label) {
156
- return (0, convertToHomographSafeChars_1.default)(label);
157
- };
158
- /**
159
- * Validates a DPNS name that you would like to register
160
- *
161
- * @param fullName {string} full DPNS name (ex. pshenmic.dash)
162
- *
163
- * @return {string} null if valid or string with a reason
164
- */
165
- NamesController.prototype.validateName = function (fullName) {
166
- return (0, validateName_1.default)(fullName);
167
- };
168
- return NamesController;
169
- }());
170
- exports.NamesController = NamesController;
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.default = registerName;
49
- var convertToHomographSafeChars_1 = require("../utils/convertToHomographSafeChars");
50
- var pshenmic_dpp_1 = require("pshenmic-dpp");
51
- var getRandomBytes_1 = require("../utils/getRandomBytes");
52
- var sha256_1 = require("../utils/sha256");
53
- var create_1 = require("../documents/create");
54
- var createStateTransition_1 = require("../documents/createStateTransition");
55
- var getIdentityContractNonce_1 = require("../identities/getIdentityContractNonce");
56
- var broadcast_1 = require("../stateTransitions/broadcast");
57
- var waitForStateTransitionResult_1 = require("../stateTransitions/waitForStateTransitionResult");
58
- var testNameContested_1 = require("./testNameContested");
59
- var constants_1 = require("../constants");
60
- function registerName(grpcPool, name, identity, privateKey) {
61
- return __awaiter(this, void 0, void 0, function () {
62
- var identityPublicKey, _a, label, parentDomainName, salt, normalizedParentDomainName, normalizedLabel, normalizedFullDomainName, saltedDomainHash, document, stateTransition, preorderData, identityContractNonce, domainData;
63
- return __generator(this, function (_b) {
64
- switch (_b.label) {
65
- case 0:
66
- identityPublicKey = identity.getPublicKeys().filter(function (identityPublicKey) { return identityPublicKey.getPublicKeyHash() === privateKey.getPublicKeyHash(); })[0];
67
- if (identityPublicKey == null) {
68
- throw new Error('Private key does not match the identity');
69
- }
70
- if (identityPublicKey.securityLevel !== 'HIGH' && identityPublicKey.purpose !== 'AUTHENTICATION') {
71
- throw new Error('Wrong private key, must be from AUTHENTICATION HIGH identity public key');
72
- }
73
- _a = name.split('.'), label = _a[0], parentDomainName = _a[1];
74
- salt = (0, getRandomBytes_1.default)(32);
75
- normalizedParentDomainName = (0, convertToHomographSafeChars_1.default)(parentDomainName);
76
- normalizedLabel = (0, convertToHomographSafeChars_1.default)(label);
77
- normalizedFullDomainName = "".concat(normalizedLabel, ".").concat(normalizedParentDomainName);
78
- saltedDomainHash = (0, sha256_1.default)((0, sha256_1.default)(new Uint8Array(__spreadArray(__spreadArray([], salt, true), new TextEncoder().encode(normalizedFullDomainName), true))));
79
- preorderData = {
80
- saltedDomainHash: Array.from(saltedDomainHash)
81
- };
82
- return [4 /*yield*/, (0, getIdentityContractNonce_1.default)(grpcPool, identity.id, constants_1.DPNS_DATA_CONTRACT_ID)];
83
- case 1:
84
- identityContractNonce = _b.sent();
85
- document = (0, create_1.default)(constants_1.DPNS_DATA_CONTRACT_ID, 'preorder', preorderData, identity.id.base58());
86
- stateTransition = (0, createStateTransition_1.default)(document, 'create', { identityContractNonce: identityContractNonce + BigInt(1) });
87
- return [4 /*yield*/, stateTransition.sign(privateKey, identityPublicKey)];
88
- case 2:
89
- _b.sent();
90
- return [4 /*yield*/, (0, broadcast_1.default)(grpcPool, stateTransition)
91
- // wait for state transition confirmation before next broadcast
92
- ];
93
- case 3:
94
- _b.sent();
95
- // wait for state transition confirmation before next broadcast
96
- return [4 /*yield*/, (0, waitForStateTransitionResult_1.default)(grpcPool, stateTransition)
97
- // 2. Create domain document
98
- ];
99
- case 4:
100
- // wait for state transition confirmation before next broadcast
101
- _b.sent();
102
- domainData = {
103
- label: label,
104
- normalizedLabel: normalizedLabel,
105
- parentDomainName: parentDomainName,
106
- normalizedParentDomainName: normalizedParentDomainName,
107
- preorderSalt: Array.from(salt),
108
- records: {
109
- identity: Array.from(identity.id.bytes())
110
- },
111
- subdomainRules: {
112
- allowSubdomains: false
113
- }
114
- };
115
- document = (0, create_1.default)(constants_1.DPNS_DATA_CONTRACT_ID, 'domain', domainData, identity.id.base58());
116
- stateTransition = (0, createStateTransition_1.default)(document, 'create', {
117
- identityContractNonce: identityContractNonce + BigInt(2),
118
- // @ts-expect-error
119
- prefundedVotingBalance: (0, testNameContested_1.default)(normalizedLabel) ? new pshenmic_dpp_1.PrefundedVotingBalanceWASM('parentNameAndLabel', BigInt(20000000000)) : undefined
120
- });
121
- return [4 /*yield*/, stateTransition.sign(privateKey, identityPublicKey)];
122
- case 5:
123
- _b.sent();
124
- return [4 /*yield*/, (0, broadcast_1.default)(grpcPool, stateTransition)];
125
- case 6:
126
- _b.sent();
127
- return [2 /*return*/];
128
- }
129
- });
130
- });
131
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = search;
40
- var query_1 = require("../documents/query");
41
- var DPNS_DATA_CONTRACT_ID = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
42
- function search(grpcPool, identifier) {
43
- return __awaiter(this, void 0, void 0, function () {
44
- return __generator(this, function (_a) {
45
- switch (_a.label) {
46
- case 0: return [4 /*yield*/, (0, query_1.default)(grpcPool, DPNS_DATA_CONTRACT_ID, 'domain', [['records.identity', '=', identifier.base58()]], [['records.identity', 'asc']])];
47
- case 1: return [2 /*return*/, _a.sent()];
48
- }
49
- });
50
- });
51
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = search;
40
- var convertToHomographSafeChars_1 = require("../utils/convertToHomographSafeChars");
41
- var query_1 = require("../documents/query");
42
- var DPNS_DATA_CONTRACT_ID = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
43
- function search(grpcPool, name) {
44
- return __awaiter(this, void 0, void 0, function () {
45
- var _a, label, parentDomainName, normalizedParentDomainName, normalizedLabelPrefix, where, orderBy;
46
- return __generator(this, function (_b) {
47
- switch (_b.label) {
48
- case 0:
49
- _a = name.split('.'), label = _a[0], parentDomainName = _a[1];
50
- normalizedParentDomainName = (0, convertToHomographSafeChars_1.default)(parentDomainName);
51
- normalizedLabelPrefix = (0, convertToHomographSafeChars_1.default)(label);
52
- where = [
53
- ['normalizedParentDomainName', '==', normalizedParentDomainName],
54
- ['normalizedLabel', 'startsWith', normalizedLabelPrefix]
55
- ];
56
- orderBy = [
57
- ['normalizedLabel', 'asc']
58
- ];
59
- return [4 /*yield*/, (0, query_1.default)(grpcPool, DPNS_DATA_CONTRACT_ID, 'domain', where, orderBy)];
60
- case 1: return [2 /*return*/, _b.sent()];
61
- }
62
- });
63
- });
64
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = testNameContested;
4
- function testNameContested(normalizedLabel) {
5
- return /^[a-zA-Z01-]{3,19}$/.test(normalizedLabel);
6
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = validateName;
4
- function validateName(fullName) {
5
- var chunks = fullName.split('.');
6
- if (chunks.length !== 2) {
7
- return 'Name to search should be a full domain name (ex. pshenmic.dash)';
8
- }
9
- var label = chunks[0], parentDomainName = chunks[1];
10
- if (parentDomainName !== 'dash') {
11
- return 'Root domain must be .dash';
12
- }
13
- return /^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$/.test(label) ? null : 'Unacceptable label name';
14
- }
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = epochs;
40
- var platform_1 = require("../../proto/generated/platform");
41
- var pshenmic_dpp_1 = require("pshenmic-dpp");
42
- var getQuorumPublicKey_1 = require("../utils/getQuorumPublicKey");
43
- var bytesToHex_1 = require("../utils/bytesToHex");
44
- var verifyTenderdashProof_1 = require("../utils/verifyTenderdashProof");
45
- function epochs(grpcPool, count, ascending, start) {
46
- return __awaiter(this, void 0, void 0, function () {
47
- var request, v0, _a, proof, metadata, _b, rootHash, epochsInfo, quorumPublicKey, verify;
48
- return __generator(this, function (_c) {
49
- switch (_c.label) {
50
- case 0:
51
- request = platform_1.GetEpochsInfoRequest.fromPartial({
52
- v0: {
53
- startEpoch: start,
54
- count: count,
55
- ascending: ascending,
56
- prove: true
57
- }
58
- });
59
- return [4 /*yield*/, grpcPool.getClient().getEpochsInfo(request)];
60
- case 1:
61
- v0 = (_c.sent()).v0;
62
- _a = v0, proof = _a.proof, metadata = _a.metadata;
63
- if (proof == null) {
64
- throw new Error('Proof not found');
65
- }
66
- if (metadata == null) {
67
- throw new Error('Metadata not found');
68
- }
69
- _b = (0, pshenmic_dpp_1.verifyEpochsInfoProof)(proof.grovedbProof, metadata.epoch, start, count, ascending, pshenmic_dpp_1.PlatformVersionWASM.PLATFORM_V9), rootHash = _b.rootHash, epochsInfo = _b.epochsInfo;
70
- return [4 /*yield*/, (0, getQuorumPublicKey_1.getQuorumPublicKey)(grpcPool.network, proof.quorumType, (0, bytesToHex_1.default)(proof.quorumHash))];
71
- case 2:
72
- quorumPublicKey = _c.sent();
73
- verify = (0, verifyTenderdashProof_1.default)(proof, metadata, rootHash, quorumPublicKey);
74
- if (!verify) {
75
- throw new Error('Failed to verify query');
76
- }
77
- return [2 /*return*/, epochsInfo.map(function (info) { return ({
78
- number: info.index,
79
- firstBlockHeight: info.firstBlockHeight,
80
- firstCoreBlockHeight: info.firstCoreBlockHeight,
81
- startTime: info.firstBlockTime,
82
- feeMultiplier: info.feeMultiplierPermille,
83
- protocolVersion: info.protocolVersion
84
- }); })];
85
- }
86
- });
87
- });
88
- }