dash-platform-sdk 1.3.0-dev.4 → 1.3.0-dev.6

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 (138) hide show
  1. package/bundle.min.js +21 -2
  2. package/index.js +2 -5
  3. package/package.json +30 -31
  4. package/proto/generated/google/protobuf/wrappers.d.ts +260 -29
  5. package/proto/generated/google/protobuf/wrappers.js +562 -345
  6. package/proto/generated/platform.client.d.ts +251 -0
  7. package/proto/generated/platform.client.js +175 -0
  8. package/proto/generated/platform.d.ts +3682 -1939
  9. package/proto/generated/platform.js +8119 -18366
  10. package/src/DashPlatformSDK.d.ts +5 -4
  11. package/src/DashPlatformSDK.js +56 -46
  12. package/src/constants.js +7 -10
  13. package/src/contestedResources/createStateTransition.d.ts +1 -2
  14. package/src/contestedResources/createStateTransition.js +4 -7
  15. package/src/contestedResources/getContestedResourceVoteState.js +67 -118
  16. package/src/contestedResources/index.js +9 -55
  17. package/src/dataContracts/create.js +5 -8
  18. package/src/dataContracts/createStateTransition.js +10 -14
  19. package/src/dataContracts/getDataContractByIdentifier.js +40 -83
  20. package/src/dataContracts/index.js +17 -63
  21. package/src/documents/create.js +3 -6
  22. package/src/documents/createStateTransition.js +19 -31
  23. package/src/documents/index.js +25 -72
  24. package/src/documents/query.js +58 -90
  25. package/src/grpcConnectionPool.d.ts +30 -8
  26. package/src/grpcConnectionPool.js +63 -121
  27. package/src/identities/createStateTransition.js +14 -26
  28. package/src/identities/getIdentityBalance.js +37 -80
  29. package/src/identities/getIdentityByIdentifier.js +37 -80
  30. package/src/identities/getIdentityByNonUniquePublicKeyHash.js +41 -82
  31. package/src/identities/getIdentityByPublicKeyHash.js +37 -80
  32. package/src/identities/getIdentityContractNonce.js +40 -83
  33. package/src/identities/getIdentityNonce.js +38 -81
  34. package/src/identities/getIdentityPublicKeys.js +43 -81
  35. package/src/identities/index.js +57 -153
  36. package/src/keyPair/deriveChild.d.ts +2 -2
  37. package/src/keyPair/deriveChild.js +2 -49
  38. package/src/keyPair/derivePath.d.ts +2 -2
  39. package/src/keyPair/derivePath.js +2 -49
  40. package/src/keyPair/index.d.ts +39 -114
  41. package/src/keyPair/index.js +62 -296
  42. package/src/keyPair/mnemonicToSeed.d.ts +1 -1
  43. package/src/keyPair/mnemonicToSeed.js +3 -46
  44. package/src/names/index.js +43 -111
  45. package/src/names/registerName.js +60 -127
  46. package/src/names/searchByIdentity.d.ts +1 -1
  47. package/src/names/searchByIdentity.js +4 -50
  48. package/src/names/searchByName.js +15 -63
  49. package/src/names/testNameContested.js +1 -4
  50. package/src/names/validateName.js +3 -6
  51. package/src/node/epochs.js +43 -85
  52. package/src/node/index.d.ts +3 -3
  53. package/src/node/index.js +18 -77
  54. package/src/node/status.js +37 -81
  55. package/src/node/totalCredits.d.ts +2 -1
  56. package/src/node/totalCredits.js +32 -73
  57. package/src/signer/AbstractSigner.js +1 -2
  58. package/src/signer/setSigner.js +1 -4
  59. package/src/stateTransitions/broadcast.js +7 -57
  60. package/src/stateTransitions/index.js +13 -66
  61. package/src/stateTransitions/waitForStateTransitionResult.js +6 -58
  62. package/src/tokens/createStateTransition.js +23 -35
  63. package/src/tokens/getIdentitiesTokenBalances.js +40 -83
  64. package/src/tokens/getIdentityTokensBalances.js +40 -83
  65. package/src/tokens/getTokenContractInfo.js +40 -83
  66. package/src/tokens/getTokenDirectPurchasePrices.js +37 -80
  67. package/src/tokens/getTokenTotalSupply.js +38 -81
  68. package/src/tokens/index.js +39 -124
  69. package/src/types.d.ts +6 -12
  70. package/src/types.js +6 -16
  71. package/src/utils/base58ToBytes.js +3 -6
  72. package/src/utils/bytesToHex.js +2 -5
  73. package/src/utils/bytesToTypedArray.d.ts +1 -0
  74. package/src/utils/bytesToTypedArray.js +3 -0
  75. package/src/utils/calculateMsgHash.d.ts +1 -1
  76. package/src/utils/calculateMsgHash.js +10 -13
  77. package/src/utils/calculateSignHash.d.ts +1 -1
  78. package/src/utils/calculateSignHash.js +7 -10
  79. package/src/utils/calculateStateIdHash.d.ts +1 -1
  80. package/src/utils/calculateStateIdHash.js +8 -10
  81. package/src/utils/convertToHomographSafeChars.js +2 -5
  82. package/src/utils/createVoterIdentityId.d.ts +1 -1
  83. package/src/utils/createVoterIdentityId.js +12 -11
  84. package/src/utils/getEvonodeList.d.ts +2 -2
  85. package/src/utils/getEvonodeList.js +10 -61
  86. package/src/utils/getQuorumPublicKey.js +15 -66
  87. package/src/utils/getRandomArrayItem.js +1 -4
  88. package/src/utils/getRandomBytes.js +2 -5
  89. package/src/utils/hexToBytes.js +2 -6
  90. package/src/utils/index.js +21 -28
  91. package/src/utils/indexBytesToString.js +2 -5
  92. package/src/utils/sha256.d.ts +1 -1
  93. package/src/utils/sha256.js +10 -8
  94. package/src/utils/signHash.d.ts +1 -1
  95. package/src/utils/signHash.js +9 -12
  96. package/src/utils/signRequestId.d.ts +1 -1
  97. package/src/utils/signRequestId.js +9 -12
  98. package/src/utils/sleep.js +2 -50
  99. package/src/utils/stringToIndexValueBytes.js +4 -7
  100. package/src/utils/verifyTenderdashProof.d.ts +1 -1
  101. package/src/utils/verifyTenderdashProof.js +13 -17
  102. package/src/voting/createStateTransition.d.ts +1 -2
  103. package/src/voting/createStateTransition.js +4 -7
  104. package/src/voting/createVote.js +4 -7
  105. package/src/voting/index.d.ts +3 -4
  106. package/src/voting/index.js +19 -26
  107. package/test/unit/ContestedResources.spec.js +92 -177
  108. package/test/unit/DataContract.spec.js +44 -111
  109. package/test/unit/Document.spec.js +93 -183
  110. package/test/unit/Identity.spec.js +221 -346
  111. package/test/unit/KeyPair.spec.js +30 -145
  112. package/test/unit/Names.spec.js +27 -90
  113. package/test/unit/Node.spec.js +55 -126
  114. package/test/unit/SDK.spec.js +7 -9
  115. package/test/unit/Tokens.spec.js +111 -278
  116. package/bundle.min.js.LICENSE.txt +0 -1
  117. package/src/keyPair/keyToPublicKey.d.ts +0 -2
  118. package/src/keyPair/keyToPublicKey.js +0 -47
  119. package/src/keyPair/keyToWalletId.d.ts +0 -2
  120. package/src/keyPair/keyToWalletId.js +0 -50
  121. package/src/keyPair/keyToXPrivateKey.d.ts +0 -3
  122. package/src/keyPair/keyToXPrivateKey.js +0 -50
  123. package/src/keyPair/keyToXPublicKey.d.ts +0 -3
  124. package/src/keyPair/keyToXPublicKey.js +0 -50
  125. package/src/keyPair/mnemonicToIdentityKey.d.ts +0 -3
  126. package/src/keyPair/mnemonicToIdentityKey.js +0 -57
  127. package/src/keyPair/mnemonicToWallet.d.ts +0 -2
  128. package/src/keyPair/mnemonicToWallet.js +0 -55
  129. package/src/keyPair/privateKeyToWif.d.ts +0 -2
  130. package/src/keyPair/privateKeyToWif.js +0 -50
  131. package/src/keyPair/publicKeyToAddress.d.ts +0 -2
  132. package/src/keyPair/publicKeyToAddress.js +0 -50
  133. package/src/keyPair/seedToWallet.d.ts +0 -2
  134. package/src/keyPair/seedToWallet.js +0 -50
  135. package/src/keyPair/walletToIdentityKey.d.ts +0 -3
  136. package/src/keyPair/walletToIdentityKey.js +0 -56
  137. package/src/keyPair/xkeyToHDXKey.d.ts +0 -2
  138. package/src/keyPair/xkeyToHDXKey.js +0 -50
package/src/node/index.js CHANGED
@@ -1,52 +1,16 @@
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.NodeController = void 0;
40
- var status_1 = require("./status");
41
- var epochs_1 = require("./epochs");
42
- var totalCredits_1 = require("./totalCredits");
1
+ import getStatus from './status';
2
+ import getEpochsInfo from './epochs';
3
+ import getTotalCredits from './totalCredits';
43
4
  /**
44
5
  * Node controller for requesting information about DAPI node
45
6
  *
46
7
  * @hideconstructor
47
8
  */
48
- var NodeController = /** @class */ (function () {
49
- function NodeController(grpcPool, network) {
9
+ export class NodeController {
10
+ /** @ignore **/
11
+ grpcPool;
12
+ network;
13
+ constructor(grpcPool, network) {
50
14
  this.grpcPool = grpcPool;
51
15
  this.network = network;
52
16
  }
@@ -56,47 +20,24 @@ var NodeController = /** @class */ (function () {
56
20
  *
57
21
  * @return {Promise<NodeStatus>}
58
22
  */
59
- NodeController.prototype.status = function () {
60
- return __awaiter(this, void 0, void 0, function () {
61
- return __generator(this, function (_a) {
62
- switch (_a.label) {
63
- case 0: return [4 /*yield*/, (0, status_1.default)(this.grpcPool)];
64
- case 1: return [2 /*return*/, _a.sent()];
65
- }
66
- });
67
- });
68
- };
23
+ async status() {
24
+ return await getStatus(this.grpcPool);
25
+ }
69
26
  /**
70
27
  * Returns total credits amount in platform
71
28
  *
72
29
  * @return {Promise<bigint>}
73
30
  */
74
- NodeController.prototype.totalCredits = function () {
75
- return __awaiter(this, void 0, void 0, function () {
76
- return __generator(this, function (_a) {
77
- switch (_a.label) {
78
- case 0: return [4 /*yield*/, (0, totalCredits_1.default)(this.grpcPool, this.network)];
79
- case 1: return [2 /*return*/, _a.sent()];
80
- }
81
- });
82
- });
83
- };
31
+ async totalCredits() {
32
+ return await getTotalCredits(this.grpcPool, this.network);
33
+ }
84
34
  /**
85
35
  * Retrieves an info about epochs
86
36
  * Includes information about first block height, time, fee multiplier, number
87
37
  *
88
38
  * @return {Promise<EpochInfo[]>}
89
39
  */
90
- NodeController.prototype.getEpochsInfo = function (count, ascending, start) {
91
- return __awaiter(this, void 0, void 0, function () {
92
- return __generator(this, function (_a) {
93
- switch (_a.label) {
94
- case 0: return [4 /*yield*/, (0, epochs_1.default)(this.grpcPool, count, ascending, start)];
95
- case 1: return [2 /*return*/, _a.sent()];
96
- }
97
- });
98
- });
99
- };
100
- return NodeController;
101
- }());
102
- exports.NodeController = NodeController;
40
+ async getEpochsInfo(count, ascending, start) {
41
+ return await getEpochsInfo(this.grpcPool, count, ascending, start);
42
+ }
43
+ }
@@ -1,85 +1,41 @@
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());
1
+ import { GetStatusRequest } from '../../proto/generated/platform';
2
+ import bytesToHex from '../utils/bytesToHex';
3
+ export default async function status(grpcPool) {
4
+ const getStatusRequest = GetStatusRequest.create({
5
+ version: {
6
+ oneofKind: 'v0',
7
+ v0: {}
8
+ }
9
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 };
10
+ const { response } = await grpcPool.getClient().getStatus(getStatusRequest);
11
+ const { version } = response;
12
+ if (version.oneofKind !== 'v0') {
13
+ throw new Error('Unexpected oneOf type returned from DAPI (must be v0)');
36
14
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = status;
40
- var platform_1 = require("../../proto/generated/platform");
41
- var bytesToHex_1 = require("../utils/bytesToHex");
42
- function status(grpcPool) {
43
- return __awaiter(this, void 0, void 0, function () {
44
- var getStatusRequest, response, v0;
45
- var _a, _b, _c, _d, _e, _f, _g, _h;
46
- return __generator(this, function (_j) {
47
- switch (_j.label) {
48
- case 0:
49
- getStatusRequest = platform_1.GetStatusRequest.fromPartial({ v0: {} });
50
- return [4 /*yield*/, grpcPool.getClient().getStatus(getStatusRequest)];
51
- case 1:
52
- response = _j.sent();
53
- v0 = response.v0;
54
- if (v0 == null) {
55
- throw new Error('Unable to get node status');
56
- }
57
- return [2 /*return*/, {
58
- node: (v0.node != null)
59
- ? {
60
- id: (0, bytesToHex_1.default)(v0.node.id),
61
- proTxHash: v0.node.proTxHash != null ? (0, bytesToHex_1.default)(v0.node.proTxHash) : undefined
62
- }
63
- : undefined,
64
- chain: (v0.chain != null)
65
- ? {
66
- catchingUp: v0.chain.catchingUp,
67
- latestBlockHeight: v0.chain.latestBlockHeight,
68
- earliestBlockHeight: v0.chain.earliestBlockHeight,
69
- maxPeerBlockHeight: v0.chain.maxPeerBlockHeight,
70
- coreChainLockedHeight: v0.chain.coreChainLockedHeight,
71
- latestBlockHash: ((_a = v0.chain) === null || _a === void 0 ? void 0 : _a.latestBlockHash) != null ? (0, bytesToHex_1.default)((_b = v0.chain) === null || _b === void 0 ? void 0 : _b.latestBlockHash) : '',
72
- latestAppHash: ((_c = v0.chain) === null || _c === void 0 ? void 0 : _c.latestAppHash) != null ? (0, bytesToHex_1.default)((_d = v0.chain) === null || _d === void 0 ? void 0 : _d.latestAppHash) : '',
73
- earliestBlockHash: ((_e = v0.chain) === null || _e === void 0 ? void 0 : _e.earliestBlockHash) != null ? (0, bytesToHex_1.default)((_f = v0.chain) === null || _f === void 0 ? void 0 : _f.earliestBlockHash) : '',
74
- earliestAppHash: ((_g = v0.chain) === null || _g === void 0 ? void 0 : _g.earliestAppHash) != null ? (0, bytesToHex_1.default)((_h = v0.chain) === null || _h === void 0 ? void 0 : _h.earliestAppHash) : ''
75
- }
76
- : undefined,
77
- version: v0.version,
78
- network: v0.network,
79
- stateSync: v0.stateSync,
80
- time: v0.time
81
- }];
15
+ const { v0 } = version;
16
+ return {
17
+ node: (v0.node != null)
18
+ ? {
19
+ id: bytesToHex(v0.node.id),
20
+ proTxHash: v0.node.proTxHash != null ? bytesToHex(v0.node.proTxHash) : undefined
82
21
  }
83
- });
84
- });
22
+ : undefined,
23
+ chain: (v0.chain != null)
24
+ ? {
25
+ catchingUp: v0.chain.catchingUp,
26
+ latestBlockHeight: v0.chain.latestBlockHeight,
27
+ earliestBlockHeight: v0.chain.earliestBlockHeight,
28
+ maxPeerBlockHeight: v0.chain.maxPeerBlockHeight,
29
+ coreChainLockedHeight: v0.chain.coreChainLockedHeight,
30
+ latestBlockHash: v0.chain?.latestBlockHash != null ? bytesToHex(v0.chain?.latestBlockHash) : '',
31
+ latestAppHash: v0.chain?.latestAppHash != null ? bytesToHex(v0.chain?.latestAppHash) : '',
32
+ earliestBlockHash: v0.chain?.earliestBlockHash != null ? bytesToHex(v0.chain?.earliestBlockHash) : '',
33
+ earliestAppHash: v0.chain?.earliestAppHash != null ? bytesToHex(v0.chain?.earliestAppHash) : ''
34
+ }
35
+ : undefined,
36
+ version: v0.version,
37
+ network: v0.network,
38
+ stateSync: v0.stateSync,
39
+ time: v0.time
40
+ };
85
41
  }
@@ -1,2 +1,3 @@
1
1
  import GRPCConnectionPool from '../grpcConnectionPool';
2
- export default function totalCredits(grpcPool: GRPCConnectionPool, network: 'testnet' | 'mainnet'): Promise<bigint>;
2
+ import { Network } from '../types';
3
+ export default function totalCredits(grpcPool: GRPCConnectionPool, network: Network): Promise<bigint>;
@@ -1,76 +1,35 @@
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());
1
+ import { GetTotalCreditsInPlatformRequest } from '../../proto/generated/platform';
2
+ import { HALVING_INTERVAL, MAINNET_ACTIVATION_HEIGHT, TESTNET_ACTIVATION_HEIGHT } from '../constants';
3
+ import { PlatformVersionWASM, verifyTotalCreditsProof } from 'pshenmic-dpp';
4
+ import { getQuorumPublicKey } from '../utils/getQuorumPublicKey';
5
+ import bytesToHex from '../utils/bytesToHex';
6
+ import verifyTenderdashProof from '../utils/verifyTenderdashProof';
7
+ export default async function totalCredits(grpcPool, network) {
8
+ const getTotalCreditsInPlatformRequest = GetTotalCreditsInPlatformRequest.create({
9
+ version: {
10
+ oneofKind: 'v0',
11
+ v0: { prove: true }
12
+ }
9
13
  });
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 };
14
+ const { response } = await grpcPool.getClient().getTotalCreditsInPlatform(getTotalCreditsInPlatformRequest);
15
+ const { version } = response;
16
+ if (version.oneofKind !== 'v0') {
17
+ throw new Error('Unexpected oneOf type returned from DAPI (must be v0)');
36
18
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = totalCredits;
40
- var platform_1 = require("../../proto/generated/platform");
41
- var constants_1 = require("../constants");
42
- var pshenmic_dpp_1 = require("pshenmic-dpp");
43
- var getQuorumPublicKey_1 = require("../utils/getQuorumPublicKey");
44
- var bytesToHex_1 = require("../utils/bytesToHex");
45
- var verifyTenderdashProof_1 = require("../utils/verifyTenderdashProof");
46
- function totalCredits(grpcPool, network) {
47
- return __awaiter(this, void 0, void 0, function () {
48
- var request, v0, _a, proof, metadata, activationHeight, _b, rootHash, totalCredits, quorumPublicKey, verify;
49
- return __generator(this, function (_c) {
50
- switch (_c.label) {
51
- case 0:
52
- request = platform_1.GetTotalCreditsInPlatformRequest.fromPartial({ v0: { prove: true } });
53
- return [4 /*yield*/, grpcPool.getClient().getTotalCreditsInPlatform(request)];
54
- case 1:
55
- v0 = (_c.sent()).v0;
56
- _a = v0, proof = _a.proof, metadata = _a.metadata;
57
- if (proof == null) {
58
- throw new Error('Proof not found');
59
- }
60
- if (metadata == null) {
61
- throw new Error('Metadata not found');
62
- }
63
- activationHeight = network === 'testnet' ? constants_1.TESTNET_ACTIVATION_HEIGHT : constants_1.MAINNET_ACTIVATION_HEIGHT;
64
- _b = (0, pshenmic_dpp_1.verifyTotalCreditsProof)(proof.grovedbProof, constants_1.HALVING_INTERVAL, activationHeight, Number(metadata.height), pshenmic_dpp_1.PlatformVersionWASM.PLATFORM_V9), rootHash = _b.rootHash, totalCredits = _b.totalCredits;
65
- return [4 /*yield*/, (0, getQuorumPublicKey_1.getQuorumPublicKey)(grpcPool.network, proof.quorumType, (0, bytesToHex_1.default)(proof.quorumHash))];
66
- case 2:
67
- quorumPublicKey = _c.sent();
68
- verify = (0, verifyTenderdashProof_1.default)(proof, metadata, rootHash, quorumPublicKey);
69
- if (!verify) {
70
- throw new Error('Failed to verify query');
71
- }
72
- return [2 /*return*/, totalCredits];
73
- }
74
- });
75
- });
19
+ const { v0 } = version;
20
+ if (v0.result.oneofKind !== 'proof') {
21
+ throw new Error('Unexpected oneOf type returned from DAPI (must be proof)');
22
+ }
23
+ const { result: { proof }, metadata } = v0;
24
+ if (metadata == null) {
25
+ throw new Error('Metadata not found');
26
+ }
27
+ const activationHeight = network === 'testnet' ? TESTNET_ACTIVATION_HEIGHT : MAINNET_ACTIVATION_HEIGHT;
28
+ const { rootHash, totalCredits } = verifyTotalCreditsProof(proof.grovedbProof, HALVING_INTERVAL, activationHeight, Number(metadata.height), PlatformVersionWASM.PLATFORM_V9);
29
+ const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
30
+ const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
31
+ if (!verify) {
32
+ throw new Error('Failed to verify query');
33
+ }
34
+ return totalCredits;
76
35
  }
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = setSigner;
4
- function setSigner(signer) {
1
+ export default function setSigner(signer) {
5
2
  this.signer = signer;
6
3
  this.signer.identities = this.identities;
7
4
  this.signer.setSigner = setSigner;
@@ -1,60 +1,10 @@
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 };
1
+ import { BroadcastStateTransitionRequest } from '../../proto/generated/platform';
2
+ export default async function broadcast(grpcPool, stateTransition) {
3
+ if (stateTransition.signature.length === 0) {
4
+ throw new Error('State Transition is not signed');
36
5
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = broadcast;
40
- var platform_1 = require("../../proto/generated/platform");
41
- function broadcast(grpcPool, stateTransition) {
42
- return __awaiter(this, void 0, void 0, function () {
43
- var broadcastStateTransitionRequest;
44
- return __generator(this, function (_a) {
45
- switch (_a.label) {
46
- case 0:
47
- if (stateTransition.signature.length === 0) {
48
- throw new Error('State Transition is not signed');
49
- }
50
- broadcastStateTransitionRequest = platform_1.BroadcastStateTransitionRequest.fromPartial({
51
- stateTransition: stateTransition.bytes()
52
- });
53
- return [4 /*yield*/, grpcPool.getClient().broadcastStateTransition(broadcastStateTransitionRequest)];
54
- case 1:
55
- _a.sent();
56
- return [2 /*return*/];
57
- }
58
- });
6
+ const broadcastStateTransitionRequest = BroadcastStateTransitionRequest.create({
7
+ stateTransition: stateTransition.bytes()
59
8
  });
9
+ await grpcPool.getClient().broadcastStateTransition(broadcastStateTransitionRequest);
60
10
  }
@@ -1,51 +1,14 @@
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.StateTransitionsController = void 0;
40
- var waitForStateTransitionResult_1 = require("./waitForStateTransitionResult");
41
- var broadcast_1 = require("./broadcast");
1
+ import waitForStateTransitionResult from './waitForStateTransitionResult';
2
+ import broadcast from './broadcast';
42
3
  /**
43
4
  * Collection of methods to perform state transitions (transactions) such like broadcast, wait for state transition result
44
5
  *
45
6
  * @hideconstructor
46
7
  */
47
- var StateTransitionsController = /** @class */ (function () {
48
- function StateTransitionsController(grpcPool) {
8
+ export class StateTransitionsController {
9
+ /** @ignore **/
10
+ grpcPool;
11
+ constructor(grpcPool) {
49
12
  this.grpcPool = grpcPool;
50
13
  }
51
14
  /**
@@ -55,16 +18,9 @@ var StateTransitionsController = /** @class */ (function () {
55
18
  *
56
19
  * @return {Promise<void>}
57
20
  */
58
- StateTransitionsController.prototype.broadcast = function (stateTransition) {
59
- return __awaiter(this, void 0, void 0, function () {
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0: return [4 /*yield*/, (0, broadcast_1.default)(this.grpcPool, stateTransition)];
63
- case 1: return [2 /*return*/, _a.sent()];
64
- }
65
- });
66
- });
67
- };
21
+ async broadcast(stateTransition) {
22
+ return await broadcast(this.grpcPool, stateTransition);
23
+ }
68
24
  /**
69
25
  * Waits for a given state transition to finalize in the network (usually 1-3 sec)
70
26
  *
@@ -72,16 +28,7 @@ var StateTransitionsController = /** @class */ (function () {
72
28
  *
73
29
  * @return {Promise<void>}
74
30
  */
75
- StateTransitionsController.prototype.waitForStateTransitionResult = function (stateTransition) {
76
- return __awaiter(this, void 0, void 0, function () {
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0: return [4 /*yield*/, (0, waitForStateTransitionResult_1.default)(this.grpcPool, stateTransition)];
80
- case 1: return [2 /*return*/, _a.sent()];
81
- }
82
- });
83
- });
84
- };
85
- return StateTransitionsController;
86
- }());
87
- exports.StateTransitionsController = StateTransitionsController;
31
+ async waitForStateTransitionResult(stateTransition) {
32
+ return await waitForStateTransitionResult(this.grpcPool, stateTransition);
33
+ }
34
+ }
@@ -1,60 +1,8 @@
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 };
1
+ export default async function waitForStateTransitionResult(grpcPool, stateTransition) {
2
+ const url = `https://${grpcPool.network === 'mainnet' ? '' : 'testnet.'}platform-explorer.pshenmic.dev/waitForStateTransitionResult/${stateTransition.hash(false)}`;
3
+ const resp = await fetch(url);
4
+ if (resp.status !== 200) {
5
+ console.log(await resp.json());
6
+ throw new Error('Internal server error while waiting for state transition result');
36
7
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = waitForStateTransitionResult;
40
- function waitForStateTransitionResult(grpcPool, stateTransition) {
41
- return __awaiter(this, void 0, void 0, function () {
42
- var url, resp, _a, _b;
43
- return __generator(this, function (_c) {
44
- switch (_c.label) {
45
- case 0:
46
- url = "https://".concat(grpcPool.network === 'mainnet' ? '' : 'testnet.', "platform-explorer.pshenmic.dev/waitForStateTransitionResult/").concat(stateTransition.hash(false));
47
- return [4 /*yield*/, fetch(url)];
48
- case 1:
49
- resp = _c.sent();
50
- if (!(resp.status !== 200)) return [3 /*break*/, 3];
51
- _b = (_a = console).log;
52
- return [4 /*yield*/, resp.json()];
53
- case 2:
54
- _b.apply(_a, [_c.sent()]);
55
- throw new Error('Internal server error while waiting for state transition result');
56
- case 3: return [2 /*return*/];
57
- }
58
- });
59
- });
60
8
  }