dash-platform-sdk 1.3.0-dev.1 → 1.3.0-dev.11
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/index.d.ts +1 -1
- package/index.js +2 -5
- package/package.json +32 -31
- package/proto/generated/google/protobuf/wrappers.d.ts +260 -29
- package/proto/generated/google/protobuf/wrappers.js +562 -345
- package/proto/generated/platform.client.d.ts +261 -0
- package/proto/generated/platform.client.js +182 -0
- package/proto/generated/platform.d.ts +3795 -1938
- package/proto/generated/platform.js +8338 -18362
- package/src/DashPlatformSDK.d.ts +18 -19
- package/src/DashPlatformSDK.js +52 -45
- package/src/constants.d.ts +2 -0
- package/src/constants.js +7 -8
- package/src/contestedResources/createStateTransition.d.ts +2 -0
- package/src/contestedResources/createStateTransition.js +6 -0
- package/src/contestedResources/getContestedResourceVoteState.d.ts +3 -3
- package/src/contestedResources/getContestedResourceVoteState.js +67 -118
- package/src/contestedResources/index.d.ts +3 -3
- package/src/contestedResources/index.js +9 -55
- package/src/dataContracts/create.d.ts +1 -1
- package/src/dataContracts/create.js +5 -8
- package/src/dataContracts/createStateTransition.js +10 -14
- package/src/dataContracts/getDataContractByIdentifier.d.ts +2 -2
- package/src/dataContracts/getDataContractByIdentifier.js +40 -79
- package/src/dataContracts/index.d.ts +2 -2
- package/src/dataContracts/index.js +17 -63
- package/src/documents/create.d.ts +1 -1
- package/src/documents/create.js +3 -6
- package/src/documents/createStateTransition.d.ts +1 -1
- package/src/documents/createStateTransition.js +19 -31
- package/src/documents/index.d.ts +2 -2
- package/src/documents/index.js +25 -72
- package/src/documents/query.d.ts +2 -2
- package/src/documents/query.js +58 -90
- package/src/grpcConnectionPool.d.ts +30 -8
- package/src/grpcConnectionPool.js +63 -121
- package/src/identities/createStateTransition.d.ts +2 -2
- package/src/identities/createStateTransition.js +24 -26
- package/src/identities/getIdentityBalance.d.ts +2 -2
- package/src/identities/getIdentityBalance.js +37 -80
- package/src/identities/getIdentityByIdentifier.d.ts +2 -2
- package/src/identities/getIdentityByIdentifier.js +37 -80
- package/src/identities/getIdentityByNonUniquePublicKeyHash.d.ts +1 -1
- package/src/identities/getIdentityByNonUniquePublicKeyHash.js +41 -82
- package/src/identities/getIdentityByPublicKeyHash.d.ts +1 -1
- package/src/identities/getIdentityByPublicKeyHash.js +37 -80
- package/src/identities/getIdentityContractNonce.d.ts +2 -2
- package/src/identities/getIdentityContractNonce.js +40 -83
- package/src/identities/getIdentityNonce.d.ts +2 -2
- package/src/identities/getIdentityNonce.js +38 -81
- package/src/identities/getIdentityPublicKeys.d.ts +3 -3
- package/src/identities/getIdentityPublicKeys.js +51 -80
- package/src/identities/index.d.ts +9 -6
- package/src/identities/index.js +72 -155
- package/src/keyPair/deriveChild.d.ts +2 -2
- package/src/keyPair/deriveChild.js +2 -49
- package/src/keyPair/derivePath.d.ts +2 -2
- package/src/keyPair/derivePath.js +2 -49
- package/src/keyPair/index.d.ts +39 -114
- package/src/keyPair/index.js +62 -296
- package/src/keyPair/mnemonicToSeed.d.ts +1 -1
- package/src/keyPair/mnemonicToSeed.js +3 -46
- package/src/names/index.d.ts +44 -3
- package/src/names/index.js +81 -69
- package/src/names/registerName.d.ts +3 -0
- package/src/names/registerName.js +64 -0
- package/src/names/searchByIdentity.d.ts +3 -0
- package/src/names/searchByIdentity.js +5 -0
- package/src/names/searchByName.d.ts +3 -0
- package/src/names/searchByName.js +16 -0
- package/src/names/testNameContested.d.ts +1 -0
- package/src/names/testNameContested.js +3 -0
- package/src/names/validateName.d.ts +1 -0
- package/src/names/validateName.js +11 -0
- package/src/node/epochs.d.ts +1 -1
- package/src/node/epochs.js +43 -85
- package/src/node/index.d.ts +5 -5
- package/src/node/index.js +18 -77
- package/src/node/status.d.ts +2 -2
- package/src/node/status.js +37 -81
- package/src/node/totalCredits.d.ts +3 -2
- package/src/node/totalCredits.js +32 -73
- package/src/stateTransitions/broadcast.d.ts +1 -1
- package/src/stateTransitions/broadcast.js +7 -57
- package/src/stateTransitions/index.d.ts +1 -1
- package/src/stateTransitions/index.js +13 -66
- package/src/stateTransitions/waitForStateTransitionResult.d.ts +1 -1
- package/src/stateTransitions/waitForStateTransitionResult.js +48 -61
- package/src/tokens/createStateTransition.d.ts +1 -1
- package/src/tokens/createStateTransition.js +23 -35
- package/src/tokens/getIdentitiesTokenBalances.d.ts +2 -2
- package/src/tokens/getIdentitiesTokenBalances.js +40 -83
- package/src/tokens/getIdentityTokensBalances.d.ts +2 -2
- package/src/tokens/getIdentityTokensBalances.js +40 -83
- package/src/tokens/getTokenContractInfo.d.ts +2 -2
- package/src/tokens/getTokenContractInfo.js +40 -83
- package/src/tokens/getTokenDirectPurchasePrices.d.ts +3 -0
- package/src/tokens/getTokenDirectPurchasePrices.js +40 -0
- package/src/tokens/getTokenTotalSupply.d.ts +2 -2
- package/src/tokens/getTokenTotalSupply.js +38 -81
- package/src/tokens/index.d.ts +13 -5
- package/src/tokens/index.js +46 -113
- package/src/types.d.ts +20 -16
- package/src/types.js +6 -16
- package/src/utils/base58ToBytes.js +3 -6
- package/src/utils/bytesToHex.js +2 -5
- package/src/utils/bytesToTypedArray.d.ts +1 -0
- package/src/utils/bytesToTypedArray.js +3 -0
- package/src/utils/calculateMsgHash.d.ts +1 -1
- package/src/utils/calculateMsgHash.js +10 -13
- package/src/utils/calculateSignHash.d.ts +2 -2
- package/src/utils/calculateSignHash.js +7 -10
- package/src/utils/calculateStateIdHash.d.ts +2 -2
- package/src/utils/calculateStateIdHash.js +8 -10
- package/src/utils/convertToHomographSafeChars.d.ts +0 -4
- package/src/utils/convertToHomographSafeChars.js +2 -9
- package/src/utils/createMasternodeIdentityId.d.ts +2 -0
- package/src/utils/createMasternodeIdentityId.js +4 -0
- package/src/utils/createVoterIdentityId.d.ts +2 -0
- package/src/utils/createVoterIdentityId.js +13 -0
- package/src/utils/getEvonodeList.d.ts +2 -2
- package/src/utils/getEvonodeList.js +10 -61
- package/src/utils/getQuorumPublicKey.js +15 -66
- package/src/utils/getRandomArrayItem.js +1 -4
- package/src/utils/getRandomBytes.d.ts +1 -0
- package/src/utils/getRandomBytes.js +4 -0
- package/src/utils/hexToBytes.js +2 -6
- package/src/utils/index.d.ts +19 -3
- package/src/utils/index.js +45 -31
- package/src/utils/indexBytesToString.js +2 -5
- package/src/utils/sha256.d.ts +1 -1
- package/src/utils/sha256.js +10 -8
- package/src/utils/signHash.d.ts +1 -1
- package/src/utils/signHash.js +9 -12
- package/src/utils/signRequestId.d.ts +1 -1
- package/src/utils/signRequestId.js +9 -12
- package/src/utils/sleep.d.ts +1 -0
- package/src/utils/sleep.js +3 -0
- package/src/utils/stringToIndexValueBytes.js +4 -7
- package/src/utils/verifyTenderdashProof.d.ts +2 -2
- package/src/utils/verifyTenderdashProof.js +13 -17
- package/src/voting/createStateTransition.d.ts +2 -0
- package/src/voting/createStateTransition.js +6 -0
- package/src/voting/createVote.d.ts +2 -0
- package/src/voting/createVote.js +5 -0
- package/src/voting/index.d.ts +37 -0
- package/src/voting/index.js +55 -0
- package/test/unit/ContestedResources.spec.js +91 -90
- package/test/unit/DataContract.spec.js +44 -111
- package/test/unit/Document.spec.js +93 -183
- package/test/unit/Identity.spec.js +254 -357
- package/test/unit/KeyPair.spec.js +30 -145
- package/test/unit/Names.spec.d.ts +1 -0
- package/test/unit/Names.spec.js +35 -0
- package/test/unit/Node.spec.js +55 -126
- package/test/unit/SDK.spec.js +7 -9
- package/test/unit/Tokens.spec.js +112 -262
- package/bundle.min.js.LICENSE.txt +0 -1
- 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/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/search.d.ts +0 -3
- package/src/names/search.js +0 -63
- package/src/signer/AbstractSigner.d.ts +0 -12
- 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.d.ts +0 -2
- package/src/signer/setSigner.js +0 -8
package/src/DashPlatformSDK.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import GRPCConnectionPool from './grpcConnectionPool';
|
|
2
|
-
import { IdentitiesController } from './identities';
|
|
3
|
-
import { StateTransitionsController } from './stateTransitions';
|
|
4
|
-
import { DocumentsController } from './documents';
|
|
5
|
-
import { UtilsController } from './utils';
|
|
6
|
-
import { KeyPairController } from './keyPair';
|
|
7
|
-
import { NodeController } from './node';
|
|
8
|
-
import { NamesController } from './names';
|
|
9
|
-
import { DataContractsController } from './dataContracts';
|
|
10
|
-
import { ContestedResourcesController } from './contestedResources';
|
|
11
|
-
import { TokensController } from './tokens';
|
|
12
|
-
import {
|
|
1
|
+
import GRPCConnectionPool from './grpcConnectionPool.js';
|
|
2
|
+
import { IdentitiesController } from './identities/index.js';
|
|
3
|
+
import { StateTransitionsController } from './stateTransitions/index.js';
|
|
4
|
+
import { DocumentsController } from './documents/index.js';
|
|
5
|
+
import { UtilsController } from './utils/index.js';
|
|
6
|
+
import { KeyPairController } from './keyPair/index.js';
|
|
7
|
+
import { NodeController } from './node/index.js';
|
|
8
|
+
import { NamesController } from './names/index.js';
|
|
9
|
+
import { DataContractsController } from './dataContracts/index.js';
|
|
10
|
+
import { ContestedResourcesController } from './contestedResources/index.js';
|
|
11
|
+
import { TokensController } from './tokens/index.js';
|
|
12
|
+
import { VotingController } from './voting/index.js';
|
|
13
|
+
import { Network } from './types.js';
|
|
13
14
|
export interface GRPCOptions {
|
|
14
15
|
poolLimit: 5;
|
|
15
16
|
dapiUrl?: string | string[];
|
|
16
17
|
}
|
|
17
18
|
export interface SDKOptions {
|
|
18
|
-
network:
|
|
19
|
+
network: Network;
|
|
19
20
|
grpc?: GRPCOptions;
|
|
20
21
|
/** @deprecated Use {GRPCOptions} instead, will be removed in next major version **/
|
|
21
22
|
dapiUrl?: string | string[];
|
|
22
|
-
signer?: AbstractSigner;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Javascript SDK for that let you interact with a Dash Platform blockchain
|
|
26
26
|
*/
|
|
27
27
|
export declare class DashPlatformSDK {
|
|
28
|
-
network:
|
|
28
|
+
network: Network;
|
|
29
29
|
/** @ignore **/
|
|
30
30
|
grpcPool: GRPCConnectionPool;
|
|
31
31
|
/** @ignore **/
|
|
@@ -36,10 +36,10 @@ export declare class DashPlatformSDK {
|
|
|
36
36
|
identities: IdentitiesController;
|
|
37
37
|
documents: DocumentsController;
|
|
38
38
|
keyPair: KeyPairController;
|
|
39
|
+
voting: VotingController;
|
|
39
40
|
tokens: TokensController;
|
|
40
41
|
utils: UtilsController;
|
|
41
42
|
names: NamesController;
|
|
42
|
-
signer?: AbstractSigner;
|
|
43
43
|
node: NodeController;
|
|
44
44
|
/**
|
|
45
45
|
* Constructs a new DashPlatformSDK instance, optionally pass options
|
|
@@ -56,8 +56,7 @@ export declare class DashPlatformSDK {
|
|
|
56
56
|
* @param grpcPool
|
|
57
57
|
* @param network
|
|
58
58
|
*/
|
|
59
|
-
_initialize(grpcPool: GRPCConnectionPool, network:
|
|
60
|
-
setSigner(signer: AbstractSigner): void;
|
|
59
|
+
_initialize(grpcPool: GRPCConnectionPool, network: Network): void;
|
|
61
60
|
/**
|
|
62
61
|
* Get currently used network
|
|
63
62
|
*
|
|
@@ -69,5 +68,5 @@ export declare class DashPlatformSDK {
|
|
|
69
68
|
*
|
|
70
69
|
* @param network {string}
|
|
71
70
|
*/
|
|
72
|
-
setNetwork(network:
|
|
71
|
+
setNetwork(network: Network): void;
|
|
73
72
|
}
|
package/src/DashPlatformSDK.js
CHANGED
|
@@ -1,42 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var contestedResources_1 = require("./contestedResources");
|
|
14
|
-
var tokens_1 = require("./tokens");
|
|
1
|
+
import GRPCConnectionPool from './grpcConnectionPool.js';
|
|
2
|
+
import { IdentitiesController } from './identities/index.js';
|
|
3
|
+
import { StateTransitionsController } from './stateTransitions/index.js';
|
|
4
|
+
import { DocumentsController } from './documents/index.js';
|
|
5
|
+
import { UtilsController } from './utils/index.js';
|
|
6
|
+
import { KeyPairController } from './keyPair/index.js';
|
|
7
|
+
import { NodeController } from './node/index.js';
|
|
8
|
+
import { NamesController } from './names/index.js';
|
|
9
|
+
import { DataContractsController } from './dataContracts/index.js';
|
|
10
|
+
import { ContestedResourcesController } from './contestedResources/index.js';
|
|
11
|
+
import { TokensController } from './tokens/index.js';
|
|
12
|
+
import { VotingController } from './voting/index.js';
|
|
15
13
|
/**
|
|
16
14
|
* Javascript SDK for that let you interact with a Dash Platform blockchain
|
|
17
15
|
*/
|
|
18
|
-
|
|
16
|
+
export class DashPlatformSDK {
|
|
17
|
+
network;
|
|
18
|
+
/** @ignore **/
|
|
19
|
+
grpcPool;
|
|
20
|
+
/** @ignore **/
|
|
21
|
+
options;
|
|
22
|
+
contestedResources;
|
|
23
|
+
stateTransitions;
|
|
24
|
+
dataContracts;
|
|
25
|
+
identities;
|
|
26
|
+
documents;
|
|
27
|
+
keyPair;
|
|
28
|
+
voting;
|
|
29
|
+
tokens;
|
|
30
|
+
utils;
|
|
31
|
+
names;
|
|
32
|
+
node;
|
|
19
33
|
/**
|
|
20
34
|
* Constructs a new DashPlatformSDK instance, optionally pass options
|
|
21
35
|
* if you want to configure the SDK instance (network, dapiUrl, signer)
|
|
22
36
|
*
|
|
23
37
|
* @param options {SDKOptions=}
|
|
24
38
|
*/
|
|
25
|
-
|
|
26
|
-
var _a, _b;
|
|
39
|
+
constructor(options) {
|
|
27
40
|
if (options != null && (options.network == null || !['testnet', 'mainnet'].includes(options.network))) {
|
|
28
41
|
throw new Error('If options is passed, network must be set (either mainnet or testnet)');
|
|
29
42
|
}
|
|
30
|
-
this.network =
|
|
31
|
-
this.signer = options === null || options === void 0 ? void 0 : options.signer;
|
|
43
|
+
this.network = options?.network ?? 'mainnet';
|
|
32
44
|
this.options = options;
|
|
33
|
-
this.utils = new
|
|
45
|
+
this.utils = new UtilsController();
|
|
34
46
|
// Compatibility
|
|
35
|
-
if (
|
|
47
|
+
if (options?.dapiUrl != null && ((options?.grpc) == null)) {
|
|
36
48
|
// @ts-expect-error
|
|
37
49
|
this.options.grpc = { dapiUrl: options.dapiUrl };
|
|
38
50
|
}
|
|
39
|
-
this.grpcPool = new
|
|
51
|
+
this.grpcPool = new GRPCConnectionPool(this.network, this.options?.grpc);
|
|
40
52
|
this._initialize(this.grpcPool, this.network);
|
|
41
53
|
}
|
|
42
54
|
/**
|
|
@@ -47,43 +59,38 @@ var DashPlatformSDK = /** @class */ (function () {
|
|
|
47
59
|
* @param grpcPool
|
|
48
60
|
* @param network
|
|
49
61
|
*/
|
|
50
|
-
|
|
62
|
+
_initialize(grpcPool, network) {
|
|
51
63
|
this.grpcPool = grpcPool;
|
|
52
|
-
this.stateTransitions = new
|
|
53
|
-
this.contestedResources = new
|
|
54
|
-
this.dataContracts = new
|
|
55
|
-
this.identities = new
|
|
56
|
-
this.documents = new
|
|
57
|
-
this.
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.signer = signer;
|
|
64
|
-
};
|
|
64
|
+
this.stateTransitions = new StateTransitionsController(grpcPool);
|
|
65
|
+
this.contestedResources = new ContestedResourcesController(grpcPool);
|
|
66
|
+
this.dataContracts = new DataContractsController(grpcPool);
|
|
67
|
+
this.identities = new IdentitiesController(grpcPool);
|
|
68
|
+
this.documents = new DocumentsController(grpcPool);
|
|
69
|
+
this.voting = new VotingController();
|
|
70
|
+
this.node = new NodeController(grpcPool, network);
|
|
71
|
+
this.tokens = new TokensController(grpcPool);
|
|
72
|
+
this.names = new NamesController(grpcPool);
|
|
73
|
+
this.keyPair = new KeyPairController();
|
|
74
|
+
}
|
|
65
75
|
/**
|
|
66
76
|
* Get currently used network
|
|
67
77
|
*
|
|
68
78
|
* @return {string}
|
|
69
79
|
*/
|
|
70
|
-
|
|
80
|
+
getNetwork() {
|
|
71
81
|
return this.network;
|
|
72
|
-
}
|
|
82
|
+
}
|
|
73
83
|
/**
|
|
74
84
|
* Switches a network that SDK is currently connected to
|
|
75
85
|
*
|
|
76
86
|
* @param network {string}
|
|
77
87
|
*/
|
|
78
|
-
|
|
79
|
-
var _a;
|
|
88
|
+
setNetwork(network) {
|
|
80
89
|
if (network !== 'testnet' && network !== 'mainnet') {
|
|
81
90
|
throw new Error('Unknown network, should be mainnet or testnet');
|
|
82
91
|
}
|
|
83
92
|
this.network = network;
|
|
84
|
-
|
|
93
|
+
const grpcPool = new GRPCConnectionPool(this.network, this.options?.grpc);
|
|
85
94
|
this._initialize(grpcPool, this.network);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
}());
|
|
89
|
-
exports.DashPlatformSDK = DashPlatformSDK;
|
|
95
|
+
}
|
|
96
|
+
}
|
package/src/constants.d.ts
CHANGED
|
@@ -6,3 +6,5 @@ export declare const HALVING_INTERVAL = 210240;
|
|
|
6
6
|
export declare const TESTNET_ACTIVATION_HEIGHT = 1066900;
|
|
7
7
|
export declare const MAINNET_ACTIVATION_HEIGHT = 2128896;
|
|
8
8
|
export declare const GRPC_DEFAULT_POOL_LIMIT = 5;
|
|
9
|
+
export declare const DPNS_DATA_CONTRACT_ID = "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec";
|
|
10
|
+
export declare const DPNS_DATA_CONTRACT_BYTES = "AeZoxlmvZq7h5ywYbd57W34KHXEqCcQNVyH2Ir9TxTFVAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZG9tYWluFgsSEGRvY3VtZW50c011dGFibGUTABIMY2FuQmVEZWxldGVkEwESDHRyYW5zZmVyYWJsZQIBEgl0cmFkZU1vZGUCARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQIWBBIEbmFtZRIScGFyZW50TmFtZUFuZExhYmVsEgpwcm9wZXJ0aWVzFQIWARIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUSA2FzYxYBEg9ub3JtYWxpemVkTGFiZWwSA2FzYxIGdW5pcXVlEwESCWNvbnRlc3RlZBYDEgxmaWVsZE1hdGNoZXMVARYCEgVmaWVsZBIPbm9ybWFsaXplZExhYmVsEgxyZWdleFBhdHRlcm4SE15bYS16QS1aMDEtXXszLDE5fSQSCnJlc29sdXRpb24CABILZGVzY3JpcHRpb24SqklmIHRoZSBub3JtYWxpemVkIGxhYmVsIHBhcnQgb2YgdGhpcyBpbmRleCBpcyBsZXNzIHRoYW4gMjAgY2hhcmFjdGVycyAoYWxsIGFscGhhYmV0IGEteiwgQS1aLCAwLCAxLCBhbmQgLSkgdGhlbiBhIG1hc3Rlcm5vZGUgdm90ZSBjb250ZXN0IHRha2VzIHBsYWNlIHRvIGdpdmUgb3V0IHRoZSBuYW1lFgMSBG5hbWUSCmlkZW50aXR5SWQSDm51bGxTZWFyY2hhYmxlEwASCnByb3BlcnRpZXMVARYBEhByZWNvcmRzLmlkZW50aXR5EgNhc2MSCnByb3BlcnRpZXMWBxIFbGFiZWwWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEipeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIDEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CABILZGVzY3JpcHRpb24SGURvbWFpbiBsYWJlbC4gZS5nLiAnQm9iJy4SD25vcm1hbGl6ZWRMYWJlbBYGEgR0eXBlEgZzdHJpbmcSB3BhdHRlcm4SPF5bYS1oai1rbS1ucC16MC05XVthLWhqLWttLW5wLXowLTktXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWF4TGVuZ3RoAj8SCHBvc2l0aW9uAgESC2Rlc2NyaXB0aW9uEqNEb21haW4gbGFiZWwgY29udmVydGVkIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSB1bmlxdWVuZXNzIHZhbGlkYXRpb24uICJvIiwgImkiIGFuZCAibCIgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIiB0byBtaXRpZ2F0ZSBob21vZ3JhcGggYXR0YWNrLiBlLmcuICdiMGInEggkY29tbWVudBJcTXVzdCBiZSBlcXVhbCB0byB0aGUgbGFiZWwgaW4gbG93ZXJjYXNlLiAibyIsICJpIiBhbmQgImwiIG11c3QgYmUgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIi4SEHBhcmVudERvbWFpbk5hbWUWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEi1eJHxeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIAEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CAhILZGVzY3JpcHRpb24SJ0EgZnVsbCBwYXJlbnQgZG9tYWluIG5hbWUuIGUuZy4gJ2Rhc2gnLhIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUWBxIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEkFeJHxeW2EtaGota20tbnAtejAtOV1bYS1oai1rbS1ucC16MC05LVwuXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWluTGVuZ3RoAgASCW1heExlbmd0aAI/Eghwb3NpdGlvbgIDEgtkZXNjcmlwdGlvbhKiQSBwYXJlbnQgZG9tYWluIG5hbWUgaW4gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHVuaXF1ZW5lc3MgdmFsaWRhdGlvbi4gIm8iLCAiaSIgYW5kICJsIiByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiIHRvIG1pdGlnYXRlIGhvbW9ncmFwaCBhdHRhY2suIGUuZy4gJ2Rhc2gnEggkY29tbWVudBLATXVzdCBlaXRoZXIgYmUgZXF1YWwgdG8gYW4gZXhpc3RpbmcgZG9tYWluIG9yIGVtcHR5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCBkb21haW4uICJvIiwgImkiIGFuZCAibCIgbXVzdCBiZSByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiLiBPbmx5IHRoZSBkYXRhIGNvbnRyYWN0IG93bmVyIGNhbiBjcmVhdGUgdG9wIGxldmVsIGRvbWFpbnMuEgxwcmVvcmRlclNhbHQWBhIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIEEgtkZXNjcmlwdGlvbhIiU2FsdCB1c2VkIGluIHRoZSBwcmVvcmRlciBkb2N1bWVudBIHcmVjb3JkcxYFEgR0eXBlEgZvYmplY3QSCnByb3BlcnRpZXMWARIIaWRlbnRpdHkWBxIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIBEhBjb250ZW50TWVkaWFUeXBlEiFhcHBsaWNhdGlvbi94LmRhc2guZHBwLmlkZW50aWZpZXISC2Rlc2NyaXB0aW9uEjFJZGVudGlmaWVyIG5hbWUgcmVjb3JkIHRoYXQgcmVmZXJzIHRvIGFuIElkZW50aXR5Eg1taW5Qcm9wZXJ0aWVzAgESCHBvc2l0aW9uAgUSFGFkZGl0aW9uYWxQcm9wZXJ0aWVzEwASDnN1YmRvbWFpblJ1bGVzFgYSBHR5cGUSBm9iamVjdBIKcHJvcGVydGllcxYBEg9hbGxvd1N1YmRvbWFpbnMWBBIEdHlwZRIHYm9vbGVhbhILZGVzY3JpcHRpb24SW1RoaXMgb3B0aW9uIGRlZmluZXMgd2hvIGNhbiBjcmVhdGUgc3ViZG9tYWluczogdHJ1ZSAtIGFueW9uZTsgZmFsc2UgLSBvbmx5IHRoZSBkb21haW4gb3duZXISCCRjb21tZW50Ek9Pbmx5IHRoZSBkb21haW4gb3duZXIgaXMgYWxsb3dlZCB0byBjcmVhdGUgc3ViZG9tYWlucyBmb3Igbm9uIHRvcC1sZXZlbCBkb21haW5zEghwb3NpdGlvbgIAEghwb3NpdGlvbgIGEgtkZXNjcmlwdGlvbhJCU3ViZG9tYWluIHJ1bGVzIGFsbG93IGRvbWFpbiBvd25lcnMgdG8gZGVmaW5lIHJ1bGVzIGZvciBzdWJkb21haW5zEhRhZGRpdGlvbmFsUHJvcGVydGllcxMAEghyZXF1aXJlZBUBEg9hbGxvd1N1YmRvbWFpbnMSCHJlcXVpcmVkFQkSCiRjcmVhdGVkQXQSCiR1cGRhdGVkQXQSDiR0cmFuc2ZlcnJlZEF0EgVsYWJlbBIPbm9ybWFsaXplZExhYmVsEhpub3JtYWxpemVkUGFyZW50RG9tYWluTmFtZRIMcHJlb3JkZXJTYWx0EgdyZWNvcmRzEg5zdWJkb21haW5SdWxlcxIJdHJhbnNpZW50FQESDHByZW9yZGVyU2FsdBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQS+wE3SW4gb3JkZXIgdG8gcmVnaXN0ZXIgYSBkb21haW4geW91IG5lZWQgdG8gY3JlYXRlIGEgcHJlb3JkZXIuIFRoZSBwcmVvcmRlciBzdGVwIGlzIG5lZWRlZCB0byBwcmV2ZW50IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuIG5vcm1hbGl6ZWRMYWJlbCArICcuJyArIG5vcm1hbGl6ZWRQYXJlbnREb21haW4gbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4gMjUzIGNoYXJzIGxlbmd0aCBhcyBkZWZpbmVkIGJ5IFJGQyAxMDM1LiBEb21haW4gZG9jdW1lbnRzIGFyZSBpbW11dGFibGU6IG1vZGlmaWNhdGlvbiBhbmQgZGVsZXRpb24gYXJlIHJlc3RyaWN0ZWQIcHJlb3JkZXIWCBIQZG9jdW1lbnRzTXV0YWJsZRMAEgxjYW5CZURlbGV0ZWQTARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQEWAxIEbmFtZRIKc2FsdGVkSGFzaBIKcHJvcGVydGllcxUBFgESEHNhbHRlZERvbWFpbkhhc2gSA2FzYxIGdW5pcXVlEwESCnByb3BlcnRpZXMWARIQc2FsdGVkRG9tYWluSGFzaBYGEgR0eXBlEgVhcnJheRIJYnl0ZUFycmF5EwESCG1pbkl0ZW1zAiASCG1heEl0ZW1zAiASCHBvc2l0aW9uAgASC2Rlc2NyaXB0aW9uEllEb3VibGUgc2hhLTI1NiBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhIDMyIGJ5dGUgcmFuZG9tIHNhbHQgYW5kIGEgbm9ybWFsaXplZCBkb21haW4gbmFtZRIIcmVxdWlyZWQVARIQc2FsdGVkRG9tYWluSGFzaBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQSSlByZW9yZGVyIGRvY3VtZW50cyBhcmUgaW1tdXRhYmxlOiBtb2RpZmljYXRpb24gYW5kIGRlbGV0aW9uIGFyZSByZXN0cmljdGVkAAAAAAAAAAAAAA==";
|
package/src/constants.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GRPC_DEFAULT_POOL_LIMIT = exports.MAINNET_ACTIVATION_HEIGHT = exports.TESTNET_ACTIVATION_HEIGHT = exports.HALVING_INTERVAL = exports.DAPI_DEFAULT_LIMIT = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Default amount of documents to retrieve from DAPI
|
|
6
3
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
export const DAPI_DEFAULT_LIMIT = 100;
|
|
5
|
+
export const HALVING_INTERVAL = 210240;
|
|
6
|
+
export const TESTNET_ACTIVATION_HEIGHT = 1066900;
|
|
7
|
+
export const MAINNET_ACTIVATION_HEIGHT = 2128896;
|
|
8
|
+
export const GRPC_DEFAULT_POOL_LIMIT = 5;
|
|
9
|
+
export const DPNS_DATA_CONTRACT_ID = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
|
|
10
|
+
export const DPNS_DATA_CONTRACT_BYTES = 'AeZoxlmvZq7h5ywYbd57W34KHXEqCcQNVyH2Ir9TxTFVAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZG9tYWluFgsSEGRvY3VtZW50c011dGFibGUTABIMY2FuQmVEZWxldGVkEwESDHRyYW5zZmVyYWJsZQIBEgl0cmFkZU1vZGUCARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQIWBBIEbmFtZRIScGFyZW50TmFtZUFuZExhYmVsEgpwcm9wZXJ0aWVzFQIWARIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUSA2FzYxYBEg9ub3JtYWxpemVkTGFiZWwSA2FzYxIGdW5pcXVlEwESCWNvbnRlc3RlZBYDEgxmaWVsZE1hdGNoZXMVARYCEgVmaWVsZBIPbm9ybWFsaXplZExhYmVsEgxyZWdleFBhdHRlcm4SE15bYS16QS1aMDEtXXszLDE5fSQSCnJlc29sdXRpb24CABILZGVzY3JpcHRpb24SqklmIHRoZSBub3JtYWxpemVkIGxhYmVsIHBhcnQgb2YgdGhpcyBpbmRleCBpcyBsZXNzIHRoYW4gMjAgY2hhcmFjdGVycyAoYWxsIGFscGhhYmV0IGEteiwgQS1aLCAwLCAxLCBhbmQgLSkgdGhlbiBhIG1hc3Rlcm5vZGUgdm90ZSBjb250ZXN0IHRha2VzIHBsYWNlIHRvIGdpdmUgb3V0IHRoZSBuYW1lFgMSBG5hbWUSCmlkZW50aXR5SWQSDm51bGxTZWFyY2hhYmxlEwASCnByb3BlcnRpZXMVARYBEhByZWNvcmRzLmlkZW50aXR5EgNhc2MSCnByb3BlcnRpZXMWBxIFbGFiZWwWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEipeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIDEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CABILZGVzY3JpcHRpb24SGURvbWFpbiBsYWJlbC4gZS5nLiAnQm9iJy4SD25vcm1hbGl6ZWRMYWJlbBYGEgR0eXBlEgZzdHJpbmcSB3BhdHRlcm4SPF5bYS1oai1rbS1ucC16MC05XVthLWhqLWttLW5wLXowLTktXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWF4TGVuZ3RoAj8SCHBvc2l0aW9uAgESC2Rlc2NyaXB0aW9uEqNEb21haW4gbGFiZWwgY29udmVydGVkIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSB1bmlxdWVuZXNzIHZhbGlkYXRpb24uICJvIiwgImkiIGFuZCAibCIgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIiB0byBtaXRpZ2F0ZSBob21vZ3JhcGggYXR0YWNrLiBlLmcuICdiMGInEggkY29tbWVudBJcTXVzdCBiZSBlcXVhbCB0byB0aGUgbGFiZWwgaW4gbG93ZXJjYXNlLiAibyIsICJpIiBhbmQgImwiIG11c3QgYmUgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIi4SEHBhcmVudERvbWFpbk5hbWUWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEi1eJHxeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIAEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CAhILZGVzY3JpcHRpb24SJ0EgZnVsbCBwYXJlbnQgZG9tYWluIG5hbWUuIGUuZy4gJ2Rhc2gnLhIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUWBxIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEkFeJHxeW2EtaGota20tbnAtejAtOV1bYS1oai1rbS1ucC16MC05LVwuXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWluTGVuZ3RoAgASCW1heExlbmd0aAI/Eghwb3NpdGlvbgIDEgtkZXNjcmlwdGlvbhKiQSBwYXJlbnQgZG9tYWluIG5hbWUgaW4gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHVuaXF1ZW5lc3MgdmFsaWRhdGlvbi4gIm8iLCAiaSIgYW5kICJsIiByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiIHRvIG1pdGlnYXRlIGhvbW9ncmFwaCBhdHRhY2suIGUuZy4gJ2Rhc2gnEggkY29tbWVudBLATXVzdCBlaXRoZXIgYmUgZXF1YWwgdG8gYW4gZXhpc3RpbmcgZG9tYWluIG9yIGVtcHR5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCBkb21haW4uICJvIiwgImkiIGFuZCAibCIgbXVzdCBiZSByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiLiBPbmx5IHRoZSBkYXRhIGNvbnRyYWN0IG93bmVyIGNhbiBjcmVhdGUgdG9wIGxldmVsIGRvbWFpbnMuEgxwcmVvcmRlclNhbHQWBhIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIEEgtkZXNjcmlwdGlvbhIiU2FsdCB1c2VkIGluIHRoZSBwcmVvcmRlciBkb2N1bWVudBIHcmVjb3JkcxYFEgR0eXBlEgZvYmplY3QSCnByb3BlcnRpZXMWARIIaWRlbnRpdHkWBxIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIBEhBjb250ZW50TWVkaWFUeXBlEiFhcHBsaWNhdGlvbi94LmRhc2guZHBwLmlkZW50aWZpZXISC2Rlc2NyaXB0aW9uEjFJZGVudGlmaWVyIG5hbWUgcmVjb3JkIHRoYXQgcmVmZXJzIHRvIGFuIElkZW50aXR5Eg1taW5Qcm9wZXJ0aWVzAgESCHBvc2l0aW9uAgUSFGFkZGl0aW9uYWxQcm9wZXJ0aWVzEwASDnN1YmRvbWFpblJ1bGVzFgYSBHR5cGUSBm9iamVjdBIKcHJvcGVydGllcxYBEg9hbGxvd1N1YmRvbWFpbnMWBBIEdHlwZRIHYm9vbGVhbhILZGVzY3JpcHRpb24SW1RoaXMgb3B0aW9uIGRlZmluZXMgd2hvIGNhbiBjcmVhdGUgc3ViZG9tYWluczogdHJ1ZSAtIGFueW9uZTsgZmFsc2UgLSBvbmx5IHRoZSBkb21haW4gb3duZXISCCRjb21tZW50Ek9Pbmx5IHRoZSBkb21haW4gb3duZXIgaXMgYWxsb3dlZCB0byBjcmVhdGUgc3ViZG9tYWlucyBmb3Igbm9uIHRvcC1sZXZlbCBkb21haW5zEghwb3NpdGlvbgIAEghwb3NpdGlvbgIGEgtkZXNjcmlwdGlvbhJCU3ViZG9tYWluIHJ1bGVzIGFsbG93IGRvbWFpbiBvd25lcnMgdG8gZGVmaW5lIHJ1bGVzIGZvciBzdWJkb21haW5zEhRhZGRpdGlvbmFsUHJvcGVydGllcxMAEghyZXF1aXJlZBUBEg9hbGxvd1N1YmRvbWFpbnMSCHJlcXVpcmVkFQkSCiRjcmVhdGVkQXQSCiR1cGRhdGVkQXQSDiR0cmFuc2ZlcnJlZEF0EgVsYWJlbBIPbm9ybWFsaXplZExhYmVsEhpub3JtYWxpemVkUGFyZW50RG9tYWluTmFtZRIMcHJlb3JkZXJTYWx0EgdyZWNvcmRzEg5zdWJkb21haW5SdWxlcxIJdHJhbnNpZW50FQESDHByZW9yZGVyU2FsdBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQS+wE3SW4gb3JkZXIgdG8gcmVnaXN0ZXIgYSBkb21haW4geW91IG5lZWQgdG8gY3JlYXRlIGEgcHJlb3JkZXIuIFRoZSBwcmVvcmRlciBzdGVwIGlzIG5lZWRlZCB0byBwcmV2ZW50IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuIG5vcm1hbGl6ZWRMYWJlbCArICcuJyArIG5vcm1hbGl6ZWRQYXJlbnREb21haW4gbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4gMjUzIGNoYXJzIGxlbmd0aCBhcyBkZWZpbmVkIGJ5IFJGQyAxMDM1LiBEb21haW4gZG9jdW1lbnRzIGFyZSBpbW11dGFibGU6IG1vZGlmaWNhdGlvbiBhbmQgZGVsZXRpb24gYXJlIHJlc3RyaWN0ZWQIcHJlb3JkZXIWCBIQZG9jdW1lbnRzTXV0YWJsZRMAEgxjYW5CZURlbGV0ZWQTARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQEWAxIEbmFtZRIKc2FsdGVkSGFzaBIKcHJvcGVydGllcxUBFgESEHNhbHRlZERvbWFpbkhhc2gSA2FzYxIGdW5pcXVlEwESCnByb3BlcnRpZXMWARIQc2FsdGVkRG9tYWluSGFzaBYGEgR0eXBlEgVhcnJheRIJYnl0ZUFycmF5EwESCG1pbkl0ZW1zAiASCG1heEl0ZW1zAiASCHBvc2l0aW9uAgASC2Rlc2NyaXB0aW9uEllEb3VibGUgc2hhLTI1NiBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhIDMyIGJ5dGUgcmFuZG9tIHNhbHQgYW5kIGEgbm9ybWFsaXplZCBkb21haW4gbmFtZRIIcmVxdWlyZWQVARIQc2FsdGVkRG9tYWluSGFzaBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQSSlByZW9yZGVyIGRvY3VtZW50cyBhcmUgaW1tdXRhYmxlOiBtb2RpZmljYXRpb24gYW5kIGRlbGV0aW9uIGFyZSByZXN0cmljdGVkAAAAAAAAAAAAAA==';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IdentifierWASM, MasternodeVoteTransitionWASM } from 'pshenmic-dpp';
|
|
2
|
+
export default function createStateTransition(voteWASM, proTxHash, identityNonce) {
|
|
3
|
+
const voterIdentity = IdentifierWASM.fromHex(proTxHash);
|
|
4
|
+
const masternodeVoteTransition = new MasternodeVoteTransitionWASM(proTxHash, voterIdentity, voteWASM, identityNonce);
|
|
5
|
+
return masternodeVoteTransition.toStateTransition();
|
|
6
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContestedResourceVoteState, ContestedStateResultType } from '../types';
|
|
2
|
-
import GRPCConnectionPool from '../grpcConnectionPool';
|
|
3
|
-
import { GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo } from '../../proto/generated/platform';
|
|
1
|
+
import { ContestedResourceVoteState, ContestedStateResultType } from '../types.js';
|
|
2
|
+
import GRPCConnectionPool from '../grpcConnectionPool.js';
|
|
3
|
+
import { GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo } from '../../proto/generated/platform.js';
|
|
4
4
|
import { DataContractWASM } from 'pshenmic-dpp';
|
|
5
5
|
export type StartAtIdentifierInfo = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo;
|
|
6
6
|
export default function getContestedResourceVoteState(grpcPool: GRPCConnectionPool, contract: DataContractWASM, documentTypeName: string, indexName: string, indexValues: Array<Uint8Array<ArrayBufferLike>>, resultType: ContestedStateResultType, allowIncludeLockedAndAbstainingVoteTally: boolean, startAtIdentifierInfo?: StartAtIdentifierInfo, count?: number): Promise<ContestedResourceVoteState>;
|
|
@@ -1,123 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { GetContestedResourceVoteStateRequest } from '../../proto/generated/platform.js';
|
|
2
|
+
import { DocumentWASM, IdentifierWASM, PlatformVersionWASM, verifyVotePollVoteStateProof } from 'pshenmic-dpp';
|
|
3
|
+
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
4
|
+
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
|
+
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
|
+
export default async function getContestedResourceVoteState(grpcPool, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count) {
|
|
7
|
+
if (startAtIdentifierInfo != null) {
|
|
8
|
+
startAtIdentifierInfo = {
|
|
9
|
+
startIdentifier: (new IdentifierWASM(startAtIdentifierInfo.startIdentifier)).bytes(),
|
|
10
|
+
startIdentifierIncluded: startAtIdentifierInfo.startIdentifierIncluded
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const getContestedResourceVoteStateRequest = GetContestedResourceVoteStateRequest.create({
|
|
14
|
+
version: {
|
|
15
|
+
oneofKind: 'v0',
|
|
16
|
+
v0: {
|
|
17
|
+
contractId: contract.id.bytes(),
|
|
18
|
+
documentTypeName,
|
|
19
|
+
indexName,
|
|
20
|
+
indexValues,
|
|
21
|
+
resultType: resultType,
|
|
22
|
+
allowIncludeLockedAndAbstainingVoteTally,
|
|
23
|
+
startAtIdentifierInfo,
|
|
24
|
+
count,
|
|
25
|
+
prove: true
|
|
26
|
+
}
|
|
8
27
|
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
28
|
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
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;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
29
|
+
const { response } = await grpcPool.getClient().getContestedResourceVoteState(getContestedResourceVoteStateRequest);
|
|
30
|
+
const { version } = response;
|
|
31
|
+
if (version.oneofKind !== 'v0') {
|
|
32
|
+
throw new Error('Unexpected oneOf type returned from DAPI (must be v0)');
|
|
33
|
+
}
|
|
34
|
+
const { v0 } = version;
|
|
35
|
+
if (v0.result.oneofKind !== 'proof') {
|
|
36
|
+
throw new Error('Unexpected oneOf type returned from DAPI (must be proof)');
|
|
47
37
|
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
prove: true
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return [4 /*yield*/, grpcPool.getClient().getContestedResourceVoteState(getContestedResourceVoteStateRequest)];
|
|
83
|
-
case 1:
|
|
84
|
-
v0 = (_e.sent()).v0;
|
|
85
|
-
_a = v0, proof = _a.proof, metadata = _a.metadata;
|
|
86
|
-
if (proof == null) {
|
|
87
|
-
throw new Error('Proof not found');
|
|
88
|
-
}
|
|
89
|
-
if (metadata == null) {
|
|
90
|
-
throw new Error('Metadata not found');
|
|
91
|
-
}
|
|
92
|
-
_b = (0, pshenmic_dpp_1.verifyVotePollVoteStateProof)(proof.grovedbProof, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, count, startAtIdentifierInfo, pshenmic_dpp_1.PlatformVersionWASM.PLATFORM_V9), rootHash = _b.rootHash, result = _b.result;
|
|
93
|
-
return [4 /*yield*/, (0, getQuorumPublicKey_1.getQuorumPublicKey)(grpcPool.network, proof.quorumType, (0, bytesToHex_1.default)(proof.quorumHash))];
|
|
94
|
-
case 2:
|
|
95
|
-
quorumPublicKey = _e.sent();
|
|
96
|
-
verify = (0, verifyTenderdashProof_1.default)(proof, metadata, rootHash, quorumPublicKey);
|
|
97
|
-
if (!verify) {
|
|
98
|
-
throw new Error('Failed to verify query');
|
|
99
|
-
}
|
|
100
|
-
contenders = (result !== null && result !== void 0 ? result : { contenders: [] }).contenders;
|
|
101
|
-
winner = (result !== null && result !== void 0 ? result : { winner: undefined }).winner;
|
|
102
|
-
if (contenders.length === 0) {
|
|
103
|
-
throw new Error('Vote state not found');
|
|
104
|
-
}
|
|
105
|
-
return [2 /*return*/, {
|
|
106
|
-
contenders: contenders.map(function (contender) { return (__assign(__assign({}, contender), { identifier: contender.identityId, document: contender.serializedDocument != null ? pshenmic_dpp_1.DocumentWASM.fromBytes(contender.serializedDocument, contract, documentTypeName, pshenmic_dpp_1.PlatformVersionWASM.PLATFORM_V9) : undefined })); }),
|
|
107
|
-
abstainVoteTally: (_c = result === null || result === void 0 ? void 0 : result.abstainingVoteTally) !== null && _c !== void 0 ? _c : 0,
|
|
108
|
-
lockVoteTally: (_d = result === null || result === void 0 ? void 0 : result.lockedVoteTally) !== null && _d !== void 0 ? _d : 0,
|
|
109
|
-
finishedVoteInfo: (winner != null)
|
|
110
|
-
? {
|
|
111
|
-
type: winner.type,
|
|
112
|
-
wonByIdentityId: winner.identityId != null ? new pshenmic_dpp_1.IdentifierWASM(winner.identityId) : undefined,
|
|
113
|
-
finishedAtBlockHeight: winner.blockInfo.height,
|
|
114
|
-
finishedAtCoreBlockHeight: winner.blockInfo.coreHeight,
|
|
115
|
-
finishedAtBlockTimeMs: winner.blockInfo.timeMs,
|
|
116
|
-
finishedAtEpoch: winner.blockInfo.epoch
|
|
117
|
-
}
|
|
118
|
-
: undefined
|
|
119
|
-
}];
|
|
38
|
+
const { result: { proof }, metadata } = v0;
|
|
39
|
+
if (metadata == null) {
|
|
40
|
+
throw new Error('Metadata not found');
|
|
41
|
+
}
|
|
42
|
+
const { rootHash, result } = verifyVotePollVoteStateProof(proof.grovedbProof, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, count, startAtIdentifierInfo, PlatformVersionWASM.PLATFORM_V9);
|
|
43
|
+
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
44
|
+
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
45
|
+
if (!verify) {
|
|
46
|
+
throw new Error('Failed to verify query');
|
|
47
|
+
}
|
|
48
|
+
const { contenders } = result ?? { contenders: [] };
|
|
49
|
+
const { winner } = result ?? { winner: undefined };
|
|
50
|
+
if (contenders.length === 0) {
|
|
51
|
+
throw new Error('Vote state not found');
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
contenders: contenders.map(contender => ({
|
|
55
|
+
...contender,
|
|
56
|
+
identifier: contender.identityId,
|
|
57
|
+
document: contender.serializedDocument != null ? DocumentWASM.fromBytes(contender.serializedDocument, contract, documentTypeName, PlatformVersionWASM.PLATFORM_V9) : undefined
|
|
58
|
+
})),
|
|
59
|
+
abstainVoteTally: result?.abstainingVoteTally ?? 0,
|
|
60
|
+
lockVoteTally: result?.lockedVoteTally ?? 0,
|
|
61
|
+
finishedVoteInfo: (winner != null)
|
|
62
|
+
? {
|
|
63
|
+
type: winner.type,
|
|
64
|
+
wonByIdentityId: winner.identityId != null ? new IdentifierWASM(winner.identityId) : undefined,
|
|
65
|
+
finishedAtBlockHeight: winner.blockInfo.height,
|
|
66
|
+
finishedAtCoreBlockHeight: winner.blockInfo.coreHeight,
|
|
67
|
+
finishedAtBlockTimeMs: winner.blockInfo.timeMs,
|
|
68
|
+
finishedAtEpoch: winner.blockInfo.epoch
|
|
120
69
|
}
|
|
121
|
-
|
|
122
|
-
}
|
|
70
|
+
: undefined
|
|
71
|
+
};
|
|
123
72
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import GRPCConnectionPool from '../grpcConnectionPool';
|
|
2
|
-
import { ContestedResourceVoteState, ContestedStateResultType } from '../types';
|
|
3
|
-
import { StartAtIdentifierInfo } from './getContestedResourceVoteState';
|
|
1
|
+
import GRPCConnectionPool from '../grpcConnectionPool.js';
|
|
2
|
+
import { ContestedResourceVoteState, ContestedStateResultType } from '../types.js';
|
|
4
3
|
import { DataContractWASM } from 'pshenmic-dpp';
|
|
4
|
+
import { StartAtIdentifierInfo } from './getContestedResourceVoteState.js';
|
|
5
5
|
/**
|
|
6
6
|
* Contested Resources controller for requesting information about contested resources
|
|
7
7
|
*
|
|
@@ -1,50 +1,13 @@
|
|
|
1
|
-
|
|
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.ContestedResourcesController = void 0;
|
|
40
|
-
var getContestedResourceVoteState_1 = require("./getContestedResourceVoteState");
|
|
1
|
+
import getContestedResourceVoteState from './getContestedResourceVoteState.js';
|
|
41
2
|
/**
|
|
42
3
|
* Contested Resources controller for requesting information about contested resources
|
|
43
4
|
*
|
|
44
5
|
* @hideconstructor
|
|
45
6
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
7
|
+
export class ContestedResourcesController {
|
|
8
|
+
/** @ignore **/
|
|
9
|
+
grpcPool;
|
|
10
|
+
constructor(grpcPool) {
|
|
48
11
|
this.grpcPool = grpcPool;
|
|
49
12
|
}
|
|
50
13
|
/**
|
|
@@ -61,16 +24,7 @@ var ContestedResourcesController = /** @class */ (function () {
|
|
|
61
24
|
*
|
|
62
25
|
* @return {Promise<ContestedResourceVoteState>}
|
|
63
26
|
*/
|
|
64
|
-
|
|
65
|
-
return
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
case 0: return [4 /*yield*/, (0, getContestedResourceVoteState_1.default)(this.grpcPool, contract, documentTypeName, indexName, indexValuesBytes, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count)];
|
|
69
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
return ContestedResourcesController;
|
|
75
|
-
}());
|
|
76
|
-
exports.ContestedResourcesController = ContestedResourcesController;
|
|
27
|
+
async getContestedResourceVoteState(contract, documentTypeName, indexName, indexValuesBytes, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count) {
|
|
28
|
+
return await getContestedResourceVoteState(this.grpcPool, contract, documentTypeName, indexName, indexValuesBytes, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DataContractWASM, PlatformVersionWASM, TokenConfigurationWASM } from 'pshenmic-dpp';
|
|
2
|
-
import { DataContractConfig, IdentifierLike } from '../types';
|
|
2
|
+
import { DataContractConfig, IdentifierLike } from '../types.js';
|
|
3
3
|
export default function createDataContract(ownerId: IdentifierLike, identityNonce: bigint, schema: object, tokenConfiguration?: TokenConfigurationWASM, config?: DataContractConfig, fullValidation?: boolean | undefined, platformVersion?: PlatformVersionWASM | undefined): DataContractWASM;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function createDataContract(ownerId, identityNonce, schema, tokenConfiguration, config, fullValidation, platformVersion) {
|
|
6
|
-
var id = new pshenmic_dpp_1.IdentifierWASM(ownerId);
|
|
7
|
-
var dataContract = new pshenmic_dpp_1.DataContractWASM(id, identityNonce, schema,
|
|
1
|
+
import { DataContractWASM, IdentifierWASM, PlatformVersionWASM } from 'pshenmic-dpp';
|
|
2
|
+
export default function createDataContract(ownerId, identityNonce, schema, tokenConfiguration, config, fullValidation, platformVersion) {
|
|
3
|
+
const id = new IdentifierWASM(ownerId);
|
|
4
|
+
const dataContract = new DataContractWASM(id, identityNonce, schema,
|
|
8
5
|
// we don't know what that param means yet
|
|
9
|
-
null, tokenConfiguration, fullValidation
|
|
6
|
+
null, tokenConfiguration, fullValidation ?? true, platformVersion ?? PlatformVersionWASM.PLATFORM_V9);
|
|
10
7
|
if (config != null) {
|
|
11
8
|
dataContract.setConfig(config, platformVersion);
|
|
12
9
|
}
|