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.
- package/bundle.min.js +21 -2
- package/package.json +30 -31
- package/proto/generated/google/protobuf/wrappers.d.ts +260 -29
- package/proto/generated/platform.client.d.ts +251 -0
- package/proto/generated/platform.d.ts +3682 -1939
- package/src/DashPlatformSDK.d.ts +5 -4
- package/src/contestedResources/createStateTransition.d.ts +1 -2
- package/src/grpcConnectionPool.d.ts +30 -8
- package/src/keyPair/deriveChild.d.ts +2 -2
- package/src/keyPair/derivePath.d.ts +2 -2
- package/src/keyPair/index.d.ts +39 -114
- package/src/keyPair/mnemonicToSeed.d.ts +1 -1
- package/src/names/searchByIdentity.d.ts +1 -1
- package/src/node/index.d.ts +3 -3
- package/src/node/totalCredits.d.ts +2 -1
- package/src/tokens/getTokenDirectPurchasePrices.d.ts +3 -0
- package/src/tokens/index.d.ts +9 -1
- package/src/types.d.ts +10 -12
- package/src/utils/bytesToTypedArray.d.ts +1 -0
- package/src/utils/calculateMsgHash.d.ts +1 -1
- package/src/utils/calculateSignHash.d.ts +1 -1
- package/src/utils/calculateStateIdHash.d.ts +1 -1
- package/src/utils/createVoterIdentityId.d.ts +1 -1
- package/src/utils/getEvonodeList.d.ts +2 -2
- package/src/utils/sha256.d.ts +1 -1
- package/src/utils/signHash.d.ts +1 -1
- package/src/utils/signRequestId.d.ts +1 -1
- package/src/utils/verifyTenderdashProof.d.ts +1 -1
- package/src/voting/createStateTransition.d.ts +1 -2
- package/src/voting/index.d.ts +3 -4
- package/bundle.min.js.LICENSE.txt +0 -1
- package/index.js +0 -5
- package/proto/generated/google/protobuf/wrappers.js +0 -398
- package/proto/generated/platform.js +0 -18524
- package/src/DashPlatformSDK.js +0 -91
- package/src/constants.js +0 -13
- package/src/contestedResources/createStateTransition.js +0 -9
- package/src/contestedResources/getContestedResourceVoteState.js +0 -123
- package/src/contestedResources/index.js +0 -76
- package/src/dataContracts/create.js +0 -14
- package/src/dataContracts/createStateTransition.js +0 -23
- package/src/dataContracts/getDataContractByIdentifier.js +0 -87
- package/src/dataContracts/index.js +0 -103
- package/src/documents/create.js +0 -7
- package/src/documents/createStateTransition.js +0 -64
- package/src/documents/index.js +0 -130
- package/src/documents/query.js +0 -94
- package/src/grpcConnectionPool.js +0 -137
- package/src/identities/createStateTransition.js +0 -46
- package/src/identities/getIdentityBalance.js +0 -83
- package/src/identities/getIdentityByIdentifier.js +0 -83
- package/src/identities/getIdentityByNonUniquePublicKeyHash.js +0 -85
- package/src/identities/getIdentityByPublicKeyHash.js +0 -83
- package/src/identities/getIdentityContractNonce.js +0 -86
- package/src/identities/getIdentityNonce.js +0 -84
- package/src/identities/getIdentityPublicKeys.js +0 -85
- package/src/identities/index.js +0 -237
- package/src/keyPair/deriveChild.js +0 -50
- package/src/keyPair/derivePath.js +0 -50
- package/src/keyPair/index.js +0 -323
- package/src/keyPair/keyToPublicKey.d.ts +0 -2
- package/src/keyPair/keyToPublicKey.js +0 -47
- package/src/keyPair/keyToWalletId.d.ts +0 -2
- package/src/keyPair/keyToWalletId.js +0 -50
- package/src/keyPair/keyToXPrivateKey.d.ts +0 -3
- package/src/keyPair/keyToXPrivateKey.js +0 -50
- package/src/keyPair/keyToXPublicKey.d.ts +0 -3
- package/src/keyPair/keyToXPublicKey.js +0 -50
- package/src/keyPair/mnemonicToIdentityKey.d.ts +0 -3
- package/src/keyPair/mnemonicToIdentityKey.js +0 -57
- package/src/keyPair/mnemonicToSeed.js +0 -47
- package/src/keyPair/mnemonicToWallet.d.ts +0 -2
- package/src/keyPair/mnemonicToWallet.js +0 -55
- package/src/keyPair/privateKeyToWif.d.ts +0 -2
- package/src/keyPair/privateKeyToWif.js +0 -50
- package/src/keyPair/publicKeyToAddress.d.ts +0 -2
- package/src/keyPair/publicKeyToAddress.js +0 -50
- package/src/keyPair/seedToWallet.d.ts +0 -2
- package/src/keyPair/seedToWallet.js +0 -50
- package/src/keyPair/walletToIdentityKey.d.ts +0 -3
- package/src/keyPair/walletToIdentityKey.js +0 -56
- package/src/keyPair/xkeyToHDXKey.d.ts +0 -2
- package/src/keyPair/xkeyToHDXKey.js +0 -50
- package/src/names/index.js +0 -170
- package/src/names/registerName.js +0 -131
- package/src/names/searchByIdentity.js +0 -51
- package/src/names/searchByName.js +0 -64
- package/src/names/testNameContested.js +0 -6
- package/src/names/validateName.js +0 -14
- package/src/node/epochs.js +0 -88
- package/src/node/index.js +0 -102
- package/src/node/status.js +0 -85
- package/src/node/totalCredits.js +0 -76
- package/src/signer/AbstractSigner.js +0 -2
- package/src/signer/PrivateKeySigner.d.ts +0 -0
- package/src/signer/PrivateKeySigner.js +0 -64
- package/src/signer/setSigner.js +0 -8
- package/src/stateTransitions/broadcast.js +0 -60
- package/src/stateTransitions/index.js +0 -87
- package/src/stateTransitions/waitForStateTransitionResult.js +0 -60
- package/src/tokens/createStateTransition.js +0 -79
- package/src/tokens/getIdentitiesTokenBalances.js +0 -86
- package/src/tokens/getIdentityTokensBalances.js +0 -86
- package/src/tokens/getTokenContractInfo.js +0 -86
- package/src/tokens/getTokenTotalSupply.js +0 -84
- package/src/tokens/index.js +0 -175
- package/src/types.js +0 -25
- package/src/utils/base58ToBytes.js +0 -7
- package/src/utils/bytesToHex.js +0 -6
- package/src/utils/calculateMsgHash.js +0 -34
- package/src/utils/calculateSignHash.js +0 -11
- package/src/utils/calculateStateIdHash.js +0 -12
- package/src/utils/convertToHomographSafeChars.js +0 -14
- package/src/utils/createVoterIdentityId.js +0 -12
- package/src/utils/getEvonodeList.js +0 -63
- package/src/utils/getQuorumPublicKey.js +0 -69
- package/src/utils/getRandomArrayItem.js +0 -6
- package/src/utils/getRandomBytes.js +0 -7
- package/src/utils/hexToBytes.js +0 -7
- package/src/utils/index.js +0 -68
- package/src/utils/indexBytesToString.js +0 -7
- package/src/utils/sha256.js +0 -13
- package/src/utils/signHash.js +0 -25
- package/src/utils/signRequestId.js +0 -22
- package/src/utils/sleep.js +0 -51
- package/src/utils/stringToIndexValueBytes.js +0 -13
- package/src/utils/verifyTenderdashProof.js +0 -30
- package/src/voting/createStateTransition.js +0 -9
- package/src/voting/createVote.js +0 -8
- package/src/voting/index.js +0 -62
- package/test/unit/ContestedResources.spec.js +0 -338
- package/test/unit/DataContract.spec.js +0 -142
- package/test/unit/Document.spec.js +0 -199
- package/test/unit/Identity.spec.js +0 -357
- package/test/unit/KeyPair.spec.js +0 -149
- package/test/unit/Names.spec.js +0 -96
- package/test/unit/Node.spec.js +0 -129
- package/test/unit/SDK.spec.js +0 -12
- package/test/unit/Tokens.spec.js +0 -271
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createVoterIdentityId = createVoterIdentityId;
|
|
4
|
-
var hash_js_1 = require("hash.js");
|
|
5
|
-
var hexToBytes_1 = require("./hexToBytes");
|
|
6
|
-
var pshenmic_dpp_1 = require("pshenmic-dpp");
|
|
7
|
-
function createVoterIdentityId(proTxHash, publicKeyHash) {
|
|
8
|
-
var hash = (0, hash_js_1.sha256)().update((0, hexToBytes_1.default)(proTxHash));
|
|
9
|
-
hash.update((0, hexToBytes_1.default)(publicKeyHash));
|
|
10
|
-
var voterHex = hash.digest('hex');
|
|
11
|
-
return pshenmic_dpp_1.IdentifierWASM.fromHex(voterHex);
|
|
12
|
-
}
|
|
@@ -1,63 +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 = getDAPINodeList;
|
|
40
|
-
function getDAPINodeList(network) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
42
|
-
var url, resp, resultSet;
|
|
43
|
-
return __generator(this, function (_a) {
|
|
44
|
-
switch (_a.label) {
|
|
45
|
-
case 0:
|
|
46
|
-
url = "https://".concat(network === 'mainnet' ? '' : 'testnet.', "platform-explorer.pshenmic.dev/validators?isActive=true");
|
|
47
|
-
return [4 /*yield*/, fetch(url)];
|
|
48
|
-
case 1:
|
|
49
|
-
resp = _a.sent();
|
|
50
|
-
if (resp.status !== 200) {
|
|
51
|
-
throw new Error('Failed to query Platform Explorer for active validators');
|
|
52
|
-
}
|
|
53
|
-
return [4 /*yield*/, resp.json()];
|
|
54
|
-
case 2:
|
|
55
|
-
resultSet = (_a.sent()).resultSet;
|
|
56
|
-
return [2 /*return*/, resultSet
|
|
57
|
-
// eslint-disable-next-line
|
|
58
|
-
.map(function (validator) { var _a, _b; return ((_b = (_a = validator === null || validator === void 0 ? void 0 : validator.proTxInfo) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.service) ? "https://".concat(validator.proTxInfo.state.service.split(':')[0]).concat(network === 'mainnet' ? '' : ':1443') : undefined; })
|
|
59
|
-
.filter(function (e) { return e != null; })];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
@@ -1,69 +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.getQuorumPublicKey = getQuorumPublicKey;
|
|
40
|
-
var cache = {};
|
|
41
|
-
function getQuorumPublicKey(network, quorumType, quorumHash) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var cached, url, resp, data, quorumPublicKey;
|
|
44
|
-
return __generator(this, function (_a) {
|
|
45
|
-
switch (_a.label) {
|
|
46
|
-
case 0:
|
|
47
|
-
cached = cache["".concat(quorumType, "_").concat(quorumHash)];
|
|
48
|
-
if (cached != null) {
|
|
49
|
-
return [2 /*return*/, cached];
|
|
50
|
-
}
|
|
51
|
-
url = "https://".concat(network === 'mainnet' ? '' : 'testnet.', "platform-explorer.pshenmic.dev/quorum/info?quorumType=").concat(quorumType, "&quorumHash=").concat(quorumHash);
|
|
52
|
-
return [4 /*yield*/, fetch(url, {
|
|
53
|
-
method: 'GET'
|
|
54
|
-
})];
|
|
55
|
-
case 1:
|
|
56
|
-
resp = _a.sent();
|
|
57
|
-
if (resp.status !== 200) {
|
|
58
|
-
throw new Error('Failed to query Platform Explorer for quorum public keys');
|
|
59
|
-
}
|
|
60
|
-
return [4 /*yield*/, resp.json()];
|
|
61
|
-
case 2:
|
|
62
|
-
data = _a.sent();
|
|
63
|
-
quorumPublicKey = data.quorumPublicKey;
|
|
64
|
-
cache["".concat(quorumType, "_").concat(quorumHash)] = quorumPublicKey;
|
|
65
|
-
return [2 /*return*/, quorumPublicKey];
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
}
|
package/src/utils/hexToBytes.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = hexToBytes;
|
|
4
|
-
function hexToBytes(hex) {
|
|
5
|
-
var _a;
|
|
6
|
-
return Uint8Array.from(((_a = hex.match(/.{1,2}/g)) !== null && _a !== void 0 ? _a : []).map(function (byte) { return parseInt(byte, 16); }));
|
|
7
|
-
}
|
package/src/utils/index.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UtilsController = void 0;
|
|
4
|
-
var convertToHomographSafeChars_1 = require("./convertToHomographSafeChars");
|
|
5
|
-
var base_1 = require("@scure/base");
|
|
6
|
-
var hexToBytes_1 = require("./hexToBytes");
|
|
7
|
-
var bytesToHex_1 = require("./bytesToHex");
|
|
8
|
-
/**
|
|
9
|
-
* Collection of conversion functions
|
|
10
|
-
*
|
|
11
|
-
* @hideconstructor
|
|
12
|
-
*/
|
|
13
|
-
var UtilsController = /** @class */ (function () {
|
|
14
|
-
function UtilsController() {
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Converts base58 string to an Uint8Array
|
|
18
|
-
*
|
|
19
|
-
* @param str {string}
|
|
20
|
-
*
|
|
21
|
-
* @returns {Uint8Array}
|
|
22
|
-
*/
|
|
23
|
-
UtilsController.prototype.base58ToBytes = function (str) {
|
|
24
|
-
return base_1.base58.decode(str);
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Converts Uint8Array to base58 string
|
|
28
|
-
*
|
|
29
|
-
* @param bytes {Uint8Array}
|
|
30
|
-
*
|
|
31
|
-
* @return {string}
|
|
32
|
-
*/
|
|
33
|
-
UtilsController.prototype.bytesToBase58 = function (bytes) {
|
|
34
|
-
return base_1.base58.encode(bytes);
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Converts Uint8Array to hex string
|
|
38
|
-
*
|
|
39
|
-
* @param bytes {Uint8Array}
|
|
40
|
-
*
|
|
41
|
-
* @return {string}
|
|
42
|
-
*/
|
|
43
|
-
UtilsController.prototype.bytesToHex = function (bytes) {
|
|
44
|
-
return (0, bytesToHex_1.default)(bytes);
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Converts a hex string to Uint8Array
|
|
48
|
-
*
|
|
49
|
-
* @param hex {string} hex-encoded string
|
|
50
|
-
*
|
|
51
|
-
* @return {Uint8Array}
|
|
52
|
-
*/
|
|
53
|
-
UtilsController.prototype.hexToBytes = function (hex) {
|
|
54
|
-
return (0, hexToBytes_1.default)(hex);
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* @deprecated use sdk.names.normalizeLabel()
|
|
58
|
-
*
|
|
59
|
-
* @param str {string}
|
|
60
|
-
*
|
|
61
|
-
* @return {string}
|
|
62
|
-
*/
|
|
63
|
-
UtilsController.prototype.convertToHomographSafeChars = function (str) {
|
|
64
|
-
return (0, convertToHomographSafeChars_1.default)(str);
|
|
65
|
-
};
|
|
66
|
-
return UtilsController;
|
|
67
|
-
}());
|
|
68
|
-
exports.UtilsController = UtilsController;
|
package/src/utils/sha256.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = sha256;
|
|
4
|
-
var hash_js_1 = require("hash.js");
|
|
5
|
-
function sha256(input) {
|
|
6
|
-
var hash = (0, hash_js_1.sha256)().update(input);
|
|
7
|
-
if (typeof input === 'string') {
|
|
8
|
-
return hash.digest('hex');
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return Uint8Array.from(hash.digest());
|
|
12
|
-
}
|
|
13
|
-
}
|
package/src/utils/signHash.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = signHash;
|
|
4
|
-
var sha256_1 = require("./sha256");
|
|
5
|
-
function signHash(quorumType, quorumHash, requestId, signBytesHash) {
|
|
6
|
-
// Calculate total length: 1 byte for quorumType + 3 arrays of 32 bytes each
|
|
7
|
-
var totalLength = 1 + quorumHash.length + requestId.length + signBytesHash.length;
|
|
8
|
-
var combined = new Uint8Array(totalLength);
|
|
9
|
-
var offset = 0;
|
|
10
|
-
// Add quorumType as single byte
|
|
11
|
-
combined[offset] = quorumType;
|
|
12
|
-
offset += 1;
|
|
13
|
-
// Add reversed quorumHash
|
|
14
|
-
var reversedQuorumHash = new Uint8Array(quorumHash).reverse();
|
|
15
|
-
combined.set(reversedQuorumHash, offset);
|
|
16
|
-
offset += quorumHash.length;
|
|
17
|
-
// Add reversed requestId
|
|
18
|
-
var reversedRequestId = new Uint8Array(requestId).reverse();
|
|
19
|
-
combined.set(reversedRequestId, offset);
|
|
20
|
-
offset += requestId.length;
|
|
21
|
-
// Add reversed signBytesHash
|
|
22
|
-
var reversedSignBytesHash = new Uint8Array(signBytesHash).reverse();
|
|
23
|
-
combined.set(reversedSignBytesHash, offset);
|
|
24
|
-
return (0, sha256_1.default)((0, sha256_1.default)(combined));
|
|
25
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = signRequestId;
|
|
4
|
-
var sha256_1 = require("./sha256");
|
|
5
|
-
function signRequestId(prefix, height, round) {
|
|
6
|
-
var prefixBytes = new TextEncoder().encode(prefix);
|
|
7
|
-
// len + i64 + i32 (prefix length + 8 bytes for height + 4 bytes for round)
|
|
8
|
-
var totalLength = prefixBytes.length + 8 + 4;
|
|
9
|
-
var buffer = new ArrayBuffer(totalLength);
|
|
10
|
-
var view = new DataView(buffer);
|
|
11
|
-
var uint8View = new Uint8Array(buffer);
|
|
12
|
-
var offset = 0;
|
|
13
|
-
// Copy prefix bytes
|
|
14
|
-
uint8View.set(prefixBytes, offset);
|
|
15
|
-
offset += prefixBytes.length;
|
|
16
|
-
// Write height as 64-bit little-endian integer
|
|
17
|
-
view.setBigUint64(offset, height, true);
|
|
18
|
-
offset += 8;
|
|
19
|
-
// Write round as 32-bit little-endian integer
|
|
20
|
-
view.setInt32(offset, round, true);
|
|
21
|
-
return (0, sha256_1.default)(uint8View);
|
|
22
|
-
}
|
package/src/utils/sleep.js
DELETED
|
@@ -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 = sleep;
|
|
40
|
-
function sleep(ms) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
42
|
-
return __generator(this, function (_a) {
|
|
43
|
-
switch (_a.label) {
|
|
44
|
-
case 0: return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, ms); })];
|
|
45
|
-
case 1:
|
|
46
|
-
_a.sent();
|
|
47
|
-
return [2 /*return*/];
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = stringToIndexValueBytes;
|
|
4
|
-
function stringToIndexValueBytes(name) {
|
|
5
|
-
var lengthBuffer = new Uint8Array(1);
|
|
6
|
-
lengthBuffer[0] = name.length;
|
|
7
|
-
var nameBuffer = new TextEncoder().encode(name);
|
|
8
|
-
var result = new Uint8Array(1 + 1 + nameBuffer.length);
|
|
9
|
-
result[0] = 0x12;
|
|
10
|
-
result[1] = lengthBuffer[0];
|
|
11
|
-
result.set(nameBuffer, 2);
|
|
12
|
-
return result;
|
|
13
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = verifyTenderdashProof;
|
|
4
|
-
var platform_1 = require("../../proto/generated/platform");
|
|
5
|
-
var calculateSignHash_1 = require("./calculateSignHash");
|
|
6
|
-
var calculateStateIdHash_1 = require("./calculateStateIdHash");
|
|
7
|
-
// import verifyBls from './verifyBls'
|
|
8
|
-
var pshenmic_dpp_1 = require("pshenmic-dpp");
|
|
9
|
-
var hexToBytes_1 = require("./hexToBytes");
|
|
10
|
-
function verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey) {
|
|
11
|
-
var stateId = platform_1.StateId.fromPartial({
|
|
12
|
-
appVersion: String(metadata.protocolVersion),
|
|
13
|
-
coreChainLockedHeight: metadata.coreChainLockedHeight,
|
|
14
|
-
time: metadata.timeMs,
|
|
15
|
-
appHash: rootHash,
|
|
16
|
-
height: metadata.height
|
|
17
|
-
});
|
|
18
|
-
var stateIdHash = (0, calculateStateIdHash_1.calculateStateIdHash)(stateId);
|
|
19
|
-
var commit = platform_1.CanonicalVote.fromPartial({
|
|
20
|
-
type: platform_1.SignedMsgType.PRECOMMIT,
|
|
21
|
-
blockId: proof.blockIdHash,
|
|
22
|
-
chainId: metadata.chainId,
|
|
23
|
-
height: metadata.height,
|
|
24
|
-
round: String(proof.round),
|
|
25
|
-
stateId: stateIdHash
|
|
26
|
-
});
|
|
27
|
-
var signDigest = (0, calculateSignHash_1.calculateSignHash)(commit, metadata.chainId, proof.quorumType, proof.quorumHash, BigInt(metadata.height), proof.round);
|
|
28
|
-
var signature = proof.signature;
|
|
29
|
-
return (0, pshenmic_dpp_1.verifySignatureDigest)(Uint8Array.from(signDigest), signature, (0, hexToBytes_1.default)(quorumPublicKey));
|
|
30
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = createStateTransition;
|
|
4
|
-
var pshenmic_dpp_1 = require("pshenmic-dpp");
|
|
5
|
-
function createStateTransition(voteWASM, proTxHash, identityNonce) {
|
|
6
|
-
var voterIdentity = pshenmic_dpp_1.IdentifierWASM.fromHex(proTxHash);
|
|
7
|
-
var masternodeVoteTransition = new pshenmic_dpp_1.MasternodeVoteTransitionWASM(proTxHash, voterIdentity, voteWASM, identityNonce);
|
|
8
|
-
return masternodeVoteTransition.toStateTransition();
|
|
9
|
-
}
|
package/src/voting/createVote.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = createVote;
|
|
4
|
-
var pshenmic_dpp_1 = require("pshenmic-dpp");
|
|
5
|
-
function createVote(dataContractId, documentTypeName, indexName, indexValues, choice) {
|
|
6
|
-
var votePoll = new pshenmic_dpp_1.VotePollWASM(dataContractId, documentTypeName, indexName, indexValues);
|
|
7
|
-
return new pshenmic_dpp_1.VoteWASM(votePoll, choice);
|
|
8
|
-
}
|
package/src/voting/index.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VotingController = void 0;
|
|
4
|
-
var createVote_1 = require("./createVote");
|
|
5
|
-
var pshenmic_dpp_1 = require("pshenmic-dpp");
|
|
6
|
-
var createVoterIdentityId_1 = require("../utils/createVoterIdentityId");
|
|
7
|
-
/**
|
|
8
|
-
* Voting controller for performing masternode votes
|
|
9
|
-
*
|
|
10
|
-
* @hideconstructor
|
|
11
|
-
*/
|
|
12
|
-
var VotingController = /** @class */ (function () {
|
|
13
|
-
function VotingController() {
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Creates an {IdentifierWASM} from masternode pro tx hash and voting address (public key hash)
|
|
17
|
-
*
|
|
18
|
-
* @param proTxHash {string} voter's masternode pro tx hash
|
|
19
|
-
* @param publicKeyHash {string} voter address's public key hash
|
|
20
|
-
*
|
|
21
|
-
* @return {IdentifierWASM}
|
|
22
|
-
*/
|
|
23
|
-
VotingController.prototype.createVoterIdentityId = function (proTxHash, publicKeyHash) {
|
|
24
|
-
return (0, createVoterIdentityId_1.createVoterIdentityId)(proTxHash, publicKeyHash);
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Creates a {VoteWASM} with all information about the vote, such as data contract id, choice, and target index
|
|
28
|
-
*
|
|
29
|
-
* @param dataContractId {DataContractWASM}
|
|
30
|
-
* @param documentTypeName {string}
|
|
31
|
-
* @param indexName {string}
|
|
32
|
-
* @param indexValues {string[]}
|
|
33
|
-
* @param choice {ResourceVoteChoice}
|
|
34
|
-
*/
|
|
35
|
-
VotingController.prototype.createVote = function (dataContractId, documentTypeName, indexName, indexValues, choice) {
|
|
36
|
-
var resourceVoteChoice;
|
|
37
|
-
if (choice === 'lock') {
|
|
38
|
-
resourceVoteChoice = pshenmic_dpp_1.ResourceVoteChoiceWASM.Lock();
|
|
39
|
-
}
|
|
40
|
-
else if (choice === 'abstain') {
|
|
41
|
-
resourceVoteChoice = pshenmic_dpp_1.ResourceVoteChoiceWASM.Abstain();
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
resourceVoteChoice = pshenmic_dpp_1.ResourceVoteChoiceWASM.TowardsIdentity(new pshenmic_dpp_1.IdentifierWASM(choice));
|
|
45
|
-
}
|
|
46
|
-
return (0, createVote_1.default)(new pshenmic_dpp_1.IdentifierWASM(dataContractId), documentTypeName, indexName, indexValues, resourceVoteChoice);
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Creates a {StateTransitionWASM} from masternoe protxhash and voter identity
|
|
50
|
-
*
|
|
51
|
-
* @param voteWASM {VoteWASM} vote instance from .createMsternodeVote() method
|
|
52
|
-
* @param proTxHash {string} pro tx hash of the masternode as hex
|
|
53
|
-
* @param voterIdentity {IdentifierWASM} voter identity identifier
|
|
54
|
-
* @param identityNonce {BigInt} identity nonce
|
|
55
|
-
*/
|
|
56
|
-
VotingController.prototype.createStateTransition = function (voteWASM, proTxHash, voterIdentity, identityNonce) {
|
|
57
|
-
var transition = new pshenmic_dpp_1.MasternodeVoteTransitionWASM(pshenmic_dpp_1.IdentifierWASM.fromHex(proTxHash), new pshenmic_dpp_1.IdentifierWASM(voterIdentity), voteWASM, identityNonce);
|
|
58
|
-
return transition.toStateTransition();
|
|
59
|
-
};
|
|
60
|
-
return VotingController;
|
|
61
|
-
}());
|
|
62
|
-
exports.VotingController = VotingController;
|