dash-platform-sdk 1.3.0-dev.11 → 1.3.0-dev.13
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 +17 -17
- package/package.json +4 -3
- package/src/constants.d.ts +2 -0
- package/src/constants.js +2 -0
- package/src/contestedResources/getContestedResourceVoteState.js +5 -3
- package/src/dataContracts/create.js +3 -2
- package/src/dataContracts/getDataContractByIdentifier.js +3 -3
- package/src/documents/query.js +3 -3
- package/src/identities/getIdentityBalance.js +3 -2
- package/src/identities/getIdentityByIdentifier.js +3 -2
- package/src/identities/getIdentityByNonUniquePublicKeyHash.js +3 -2
- package/src/identities/getIdentityByPublicKeyHash.js +3 -2
- package/src/identities/getIdentityContractNonce.js +3 -2
- package/src/identities/getIdentityNonce.js +3 -2
- package/src/identities/getIdentityPublicKeys.js +3 -2
- package/src/node/epochs.js +3 -2
- package/src/node/totalCredits.js +3 -3
- package/src/stateTransitions/broadcast.js +1 -1
- package/src/tokens/getIdentitiesTokenBalances.js +3 -2
- package/src/tokens/getIdentityTokensBalances.js +3 -2
- package/src/tokens/getTokenContractInfo.js +3 -2
- package/src/tokens/getTokenDirectPurchasePrices.js +3 -2
- package/src/tokens/getTokenTotalSupply.js +3 -2
- package/src/types.d.ts +2 -0
- package/test/unit/ContestedResources.spec.js +1 -0
- package/test/unit/DataContract.spec.js +3 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dash-platform-sdk",
|
|
3
|
-
"version": "1.3.0-dev.
|
|
3
|
+
"version": "1.3.0-dev.13",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"description": "Lightweight SDK for accessing Dash Platform blockchain",
|
|
6
6
|
"ts-standard": {
|
|
@@ -48,16 +48,17 @@
|
|
|
48
48
|
"docs": "typedoc"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"pshenmic-dpp": "1.1.
|
|
51
|
+
"pshenmic-dpp": "1.1.2-dev.8"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@bufbuild/protobuf": "^2.6.0",
|
|
55
55
|
"@protobuf-ts/grpcweb-transport": "^2.11.1",
|
|
56
56
|
"@scure/base": "^1.2.4",
|
|
57
|
+
|
|
57
58
|
"@scure/bip32": "^2.0.0",
|
|
58
59
|
"@scure/bip39": "^2.0.0",
|
|
59
60
|
"@scure/btc-signer": "^2.0.1",
|
|
60
61
|
"cbor-x": "^1.6.0",
|
|
61
|
-
"pshenmic-dpp": "1.1.2-dev.
|
|
62
|
+
"pshenmic-dpp": "1.1.2-dev.8"
|
|
62
63
|
}
|
|
63
64
|
}
|
package/src/constants.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlatformVersionWASM } from 'pshenmic-dpp';
|
|
1
2
|
/**
|
|
2
3
|
* Default amount of documents to retrieve from DAPI
|
|
3
4
|
*/
|
|
@@ -8,3 +9,4 @@ export declare const MAINNET_ACTIVATION_HEIGHT = 2128896;
|
|
|
8
9
|
export declare const GRPC_DEFAULT_POOL_LIMIT = 5;
|
|
9
10
|
export declare const DPNS_DATA_CONTRACT_ID = "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec";
|
|
10
11
|
export declare const DPNS_DATA_CONTRACT_BYTES = "AeZoxlmvZq7h5ywYbd57W34KHXEqCcQNVyH2Ir9TxTFVAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZG9tYWluFgsSEGRvY3VtZW50c011dGFibGUTABIMY2FuQmVEZWxldGVkEwESDHRyYW5zZmVyYWJsZQIBEgl0cmFkZU1vZGUCARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQIWBBIEbmFtZRIScGFyZW50TmFtZUFuZExhYmVsEgpwcm9wZXJ0aWVzFQIWARIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUSA2FzYxYBEg9ub3JtYWxpemVkTGFiZWwSA2FzYxIGdW5pcXVlEwESCWNvbnRlc3RlZBYDEgxmaWVsZE1hdGNoZXMVARYCEgVmaWVsZBIPbm9ybWFsaXplZExhYmVsEgxyZWdleFBhdHRlcm4SE15bYS16QS1aMDEtXXszLDE5fSQSCnJlc29sdXRpb24CABILZGVzY3JpcHRpb24SqklmIHRoZSBub3JtYWxpemVkIGxhYmVsIHBhcnQgb2YgdGhpcyBpbmRleCBpcyBsZXNzIHRoYW4gMjAgY2hhcmFjdGVycyAoYWxsIGFscGhhYmV0IGEteiwgQS1aLCAwLCAxLCBhbmQgLSkgdGhlbiBhIG1hc3Rlcm5vZGUgdm90ZSBjb250ZXN0IHRha2VzIHBsYWNlIHRvIGdpdmUgb3V0IHRoZSBuYW1lFgMSBG5hbWUSCmlkZW50aXR5SWQSDm51bGxTZWFyY2hhYmxlEwASCnByb3BlcnRpZXMVARYBEhByZWNvcmRzLmlkZW50aXR5EgNhc2MSCnByb3BlcnRpZXMWBxIFbGFiZWwWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEipeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIDEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CABILZGVzY3JpcHRpb24SGURvbWFpbiBsYWJlbC4gZS5nLiAnQm9iJy4SD25vcm1hbGl6ZWRMYWJlbBYGEgR0eXBlEgZzdHJpbmcSB3BhdHRlcm4SPF5bYS1oai1rbS1ucC16MC05XVthLWhqLWttLW5wLXowLTktXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWF4TGVuZ3RoAj8SCHBvc2l0aW9uAgESC2Rlc2NyaXB0aW9uEqNEb21haW4gbGFiZWwgY29udmVydGVkIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSB1bmlxdWVuZXNzIHZhbGlkYXRpb24uICJvIiwgImkiIGFuZCAibCIgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIiB0byBtaXRpZ2F0ZSBob21vZ3JhcGggYXR0YWNrLiBlLmcuICdiMGInEggkY29tbWVudBJcTXVzdCBiZSBlcXVhbCB0byB0aGUgbGFiZWwgaW4gbG93ZXJjYXNlLiAibyIsICJpIiBhbmQgImwiIG11c3QgYmUgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIi4SEHBhcmVudERvbWFpbk5hbWUWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEi1eJHxeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIAEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CAhILZGVzY3JpcHRpb24SJ0EgZnVsbCBwYXJlbnQgZG9tYWluIG5hbWUuIGUuZy4gJ2Rhc2gnLhIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUWBxIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEkFeJHxeW2EtaGota20tbnAtejAtOV1bYS1oai1rbS1ucC16MC05LVwuXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWluTGVuZ3RoAgASCW1heExlbmd0aAI/Eghwb3NpdGlvbgIDEgtkZXNjcmlwdGlvbhKiQSBwYXJlbnQgZG9tYWluIG5hbWUgaW4gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHVuaXF1ZW5lc3MgdmFsaWRhdGlvbi4gIm8iLCAiaSIgYW5kICJsIiByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiIHRvIG1pdGlnYXRlIGhvbW9ncmFwaCBhdHRhY2suIGUuZy4gJ2Rhc2gnEggkY29tbWVudBLATXVzdCBlaXRoZXIgYmUgZXF1YWwgdG8gYW4gZXhpc3RpbmcgZG9tYWluIG9yIGVtcHR5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCBkb21haW4uICJvIiwgImkiIGFuZCAibCIgbXVzdCBiZSByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiLiBPbmx5IHRoZSBkYXRhIGNvbnRyYWN0IG93bmVyIGNhbiBjcmVhdGUgdG9wIGxldmVsIGRvbWFpbnMuEgxwcmVvcmRlclNhbHQWBhIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIEEgtkZXNjcmlwdGlvbhIiU2FsdCB1c2VkIGluIHRoZSBwcmVvcmRlciBkb2N1bWVudBIHcmVjb3JkcxYFEgR0eXBlEgZvYmplY3QSCnByb3BlcnRpZXMWARIIaWRlbnRpdHkWBxIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIBEhBjb250ZW50TWVkaWFUeXBlEiFhcHBsaWNhdGlvbi94LmRhc2guZHBwLmlkZW50aWZpZXISC2Rlc2NyaXB0aW9uEjFJZGVudGlmaWVyIG5hbWUgcmVjb3JkIHRoYXQgcmVmZXJzIHRvIGFuIElkZW50aXR5Eg1taW5Qcm9wZXJ0aWVzAgESCHBvc2l0aW9uAgUSFGFkZGl0aW9uYWxQcm9wZXJ0aWVzEwASDnN1YmRvbWFpblJ1bGVzFgYSBHR5cGUSBm9iamVjdBIKcHJvcGVydGllcxYBEg9hbGxvd1N1YmRvbWFpbnMWBBIEdHlwZRIHYm9vbGVhbhILZGVzY3JpcHRpb24SW1RoaXMgb3B0aW9uIGRlZmluZXMgd2hvIGNhbiBjcmVhdGUgc3ViZG9tYWluczogdHJ1ZSAtIGFueW9uZTsgZmFsc2UgLSBvbmx5IHRoZSBkb21haW4gb3duZXISCCRjb21tZW50Ek9Pbmx5IHRoZSBkb21haW4gb3duZXIgaXMgYWxsb3dlZCB0byBjcmVhdGUgc3ViZG9tYWlucyBmb3Igbm9uIHRvcC1sZXZlbCBkb21haW5zEghwb3NpdGlvbgIAEghwb3NpdGlvbgIGEgtkZXNjcmlwdGlvbhJCU3ViZG9tYWluIHJ1bGVzIGFsbG93IGRvbWFpbiBvd25lcnMgdG8gZGVmaW5lIHJ1bGVzIGZvciBzdWJkb21haW5zEhRhZGRpdGlvbmFsUHJvcGVydGllcxMAEghyZXF1aXJlZBUBEg9hbGxvd1N1YmRvbWFpbnMSCHJlcXVpcmVkFQkSCiRjcmVhdGVkQXQSCiR1cGRhdGVkQXQSDiR0cmFuc2ZlcnJlZEF0EgVsYWJlbBIPbm9ybWFsaXplZExhYmVsEhpub3JtYWxpemVkUGFyZW50RG9tYWluTmFtZRIMcHJlb3JkZXJTYWx0EgdyZWNvcmRzEg5zdWJkb21haW5SdWxlcxIJdHJhbnNpZW50FQESDHByZW9yZGVyU2FsdBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQS+wE3SW4gb3JkZXIgdG8gcmVnaXN0ZXIgYSBkb21haW4geW91IG5lZWQgdG8gY3JlYXRlIGEgcHJlb3JkZXIuIFRoZSBwcmVvcmRlciBzdGVwIGlzIG5lZWRlZCB0byBwcmV2ZW50IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuIG5vcm1hbGl6ZWRMYWJlbCArICcuJyArIG5vcm1hbGl6ZWRQYXJlbnREb21haW4gbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4gMjUzIGNoYXJzIGxlbmd0aCBhcyBkZWZpbmVkIGJ5IFJGQyAxMDM1LiBEb21haW4gZG9jdW1lbnRzIGFyZSBpbW11dGFibGU6IG1vZGlmaWNhdGlvbiBhbmQgZGVsZXRpb24gYXJlIHJlc3RyaWN0ZWQIcHJlb3JkZXIWCBIQZG9jdW1lbnRzTXV0YWJsZRMAEgxjYW5CZURlbGV0ZWQTARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQEWAxIEbmFtZRIKc2FsdGVkSGFzaBIKcHJvcGVydGllcxUBFgESEHNhbHRlZERvbWFpbkhhc2gSA2FzYxIGdW5pcXVlEwESCnByb3BlcnRpZXMWARIQc2FsdGVkRG9tYWluSGFzaBYGEgR0eXBlEgVhcnJheRIJYnl0ZUFycmF5EwESCG1pbkl0ZW1zAiASCG1heEl0ZW1zAiASCHBvc2l0aW9uAgASC2Rlc2NyaXB0aW9uEllEb3VibGUgc2hhLTI1NiBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhIDMyIGJ5dGUgcmFuZG9tIHNhbHQgYW5kIGEgbm9ybWFsaXplZCBkb21haW4gbmFtZRIIcmVxdWlyZWQVARIQc2FsdGVkRG9tYWluSGFzaBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQSSlByZW9yZGVyIGRvY3VtZW50cyBhcmUgaW1tdXRhYmxlOiBtb2RpZmljYXRpb24gYW5kIGRlbGV0aW9uIGFyZSByZXN0cmljdGVkAAAAAAAAAAAAAA==";
|
|
12
|
+
export declare const LATEST_PLATFORM_VERSION = PlatformVersionWASM.PLATFORM_V11;
|
package/src/constants.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlatformVersionWASM } from 'pshenmic-dpp';
|
|
1
2
|
/**
|
|
2
3
|
* Default amount of documents to retrieve from DAPI
|
|
3
4
|
*/
|
|
@@ -8,3 +9,4 @@ export const MAINNET_ACTIVATION_HEIGHT = 2128896;
|
|
|
8
9
|
export const GRPC_DEFAULT_POOL_LIMIT = 5;
|
|
9
10
|
export const DPNS_DATA_CONTRACT_ID = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
|
|
10
11
|
export const DPNS_DATA_CONTRACT_BYTES = 'AeZoxlmvZq7h5ywYbd57W34KHXEqCcQNVyH2Ir9TxTFVAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZG9tYWluFgsSEGRvY3VtZW50c011dGFibGUTABIMY2FuQmVEZWxldGVkEwESDHRyYW5zZmVyYWJsZQIBEgl0cmFkZU1vZGUCARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQIWBBIEbmFtZRIScGFyZW50TmFtZUFuZExhYmVsEgpwcm9wZXJ0aWVzFQIWARIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUSA2FzYxYBEg9ub3JtYWxpemVkTGFiZWwSA2FzYxIGdW5pcXVlEwESCWNvbnRlc3RlZBYDEgxmaWVsZE1hdGNoZXMVARYCEgVmaWVsZBIPbm9ybWFsaXplZExhYmVsEgxyZWdleFBhdHRlcm4SE15bYS16QS1aMDEtXXszLDE5fSQSCnJlc29sdXRpb24CABILZGVzY3JpcHRpb24SqklmIHRoZSBub3JtYWxpemVkIGxhYmVsIHBhcnQgb2YgdGhpcyBpbmRleCBpcyBsZXNzIHRoYW4gMjAgY2hhcmFjdGVycyAoYWxsIGFscGhhYmV0IGEteiwgQS1aLCAwLCAxLCBhbmQgLSkgdGhlbiBhIG1hc3Rlcm5vZGUgdm90ZSBjb250ZXN0IHRha2VzIHBsYWNlIHRvIGdpdmUgb3V0IHRoZSBuYW1lFgMSBG5hbWUSCmlkZW50aXR5SWQSDm51bGxTZWFyY2hhYmxlEwASCnByb3BlcnRpZXMVARYBEhByZWNvcmRzLmlkZW50aXR5EgNhc2MSCnByb3BlcnRpZXMWBxIFbGFiZWwWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEipeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIDEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CABILZGVzY3JpcHRpb24SGURvbWFpbiBsYWJlbC4gZS5nLiAnQm9iJy4SD25vcm1hbGl6ZWRMYWJlbBYGEgR0eXBlEgZzdHJpbmcSB3BhdHRlcm4SPF5bYS1oai1rbS1ucC16MC05XVthLWhqLWttLW5wLXowLTktXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWF4TGVuZ3RoAj8SCHBvc2l0aW9uAgESC2Rlc2NyaXB0aW9uEqNEb21haW4gbGFiZWwgY29udmVydGVkIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSB1bmlxdWVuZXNzIHZhbGlkYXRpb24uICJvIiwgImkiIGFuZCAibCIgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIiB0byBtaXRpZ2F0ZSBob21vZ3JhcGggYXR0YWNrLiBlLmcuICdiMGInEggkY29tbWVudBJcTXVzdCBiZSBlcXVhbCB0byB0aGUgbGFiZWwgaW4gbG93ZXJjYXNlLiAibyIsICJpIiBhbmQgImwiIG11c3QgYmUgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIi4SEHBhcmVudERvbWFpbk5hbWUWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEi1eJHxeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIAEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CAhILZGVzY3JpcHRpb24SJ0EgZnVsbCBwYXJlbnQgZG9tYWluIG5hbWUuIGUuZy4gJ2Rhc2gnLhIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUWBxIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEkFeJHxeW2EtaGota20tbnAtejAtOV1bYS1oai1rbS1ucC16MC05LVwuXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWluTGVuZ3RoAgASCW1heExlbmd0aAI/Eghwb3NpdGlvbgIDEgtkZXNjcmlwdGlvbhKiQSBwYXJlbnQgZG9tYWluIG5hbWUgaW4gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHVuaXF1ZW5lc3MgdmFsaWRhdGlvbi4gIm8iLCAiaSIgYW5kICJsIiByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiIHRvIG1pdGlnYXRlIGhvbW9ncmFwaCBhdHRhY2suIGUuZy4gJ2Rhc2gnEggkY29tbWVudBLATXVzdCBlaXRoZXIgYmUgZXF1YWwgdG8gYW4gZXhpc3RpbmcgZG9tYWluIG9yIGVtcHR5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCBkb21haW4uICJvIiwgImkiIGFuZCAibCIgbXVzdCBiZSByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiLiBPbmx5IHRoZSBkYXRhIGNvbnRyYWN0IG93bmVyIGNhbiBjcmVhdGUgdG9wIGxldmVsIGRvbWFpbnMuEgxwcmVvcmRlclNhbHQWBhIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIEEgtkZXNjcmlwdGlvbhIiU2FsdCB1c2VkIGluIHRoZSBwcmVvcmRlciBkb2N1bWVudBIHcmVjb3JkcxYFEgR0eXBlEgZvYmplY3QSCnByb3BlcnRpZXMWARIIaWRlbnRpdHkWBxIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIBEhBjb250ZW50TWVkaWFUeXBlEiFhcHBsaWNhdGlvbi94LmRhc2guZHBwLmlkZW50aWZpZXISC2Rlc2NyaXB0aW9uEjFJZGVudGlmaWVyIG5hbWUgcmVjb3JkIHRoYXQgcmVmZXJzIHRvIGFuIElkZW50aXR5Eg1taW5Qcm9wZXJ0aWVzAgESCHBvc2l0aW9uAgUSFGFkZGl0aW9uYWxQcm9wZXJ0aWVzEwASDnN1YmRvbWFpblJ1bGVzFgYSBHR5cGUSBm9iamVjdBIKcHJvcGVydGllcxYBEg9hbGxvd1N1YmRvbWFpbnMWBBIEdHlwZRIHYm9vbGVhbhILZGVzY3JpcHRpb24SW1RoaXMgb3B0aW9uIGRlZmluZXMgd2hvIGNhbiBjcmVhdGUgc3ViZG9tYWluczogdHJ1ZSAtIGFueW9uZTsgZmFsc2UgLSBvbmx5IHRoZSBkb21haW4gb3duZXISCCRjb21tZW50Ek9Pbmx5IHRoZSBkb21haW4gb3duZXIgaXMgYWxsb3dlZCB0byBjcmVhdGUgc3ViZG9tYWlucyBmb3Igbm9uIHRvcC1sZXZlbCBkb21haW5zEghwb3NpdGlvbgIAEghwb3NpdGlvbgIGEgtkZXNjcmlwdGlvbhJCU3ViZG9tYWluIHJ1bGVzIGFsbG93IGRvbWFpbiBvd25lcnMgdG8gZGVmaW5lIHJ1bGVzIGZvciBzdWJkb21haW5zEhRhZGRpdGlvbmFsUHJvcGVydGllcxMAEghyZXF1aXJlZBUBEg9hbGxvd1N1YmRvbWFpbnMSCHJlcXVpcmVkFQkSCiRjcmVhdGVkQXQSCiR1cGRhdGVkQXQSDiR0cmFuc2ZlcnJlZEF0EgVsYWJlbBIPbm9ybWFsaXplZExhYmVsEhpub3JtYWxpemVkUGFyZW50RG9tYWluTmFtZRIMcHJlb3JkZXJTYWx0EgdyZWNvcmRzEg5zdWJkb21haW5SdWxlcxIJdHJhbnNpZW50FQESDHByZW9yZGVyU2FsdBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQS+wE3SW4gb3JkZXIgdG8gcmVnaXN0ZXIgYSBkb21haW4geW91IG5lZWQgdG8gY3JlYXRlIGEgcHJlb3JkZXIuIFRoZSBwcmVvcmRlciBzdGVwIGlzIG5lZWRlZCB0byBwcmV2ZW50IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuIG5vcm1hbGl6ZWRMYWJlbCArICcuJyArIG5vcm1hbGl6ZWRQYXJlbnREb21haW4gbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4gMjUzIGNoYXJzIGxlbmd0aCBhcyBkZWZpbmVkIGJ5IFJGQyAxMDM1LiBEb21haW4gZG9jdW1lbnRzIGFyZSBpbW11dGFibGU6IG1vZGlmaWNhdGlvbiBhbmQgZGVsZXRpb24gYXJlIHJlc3RyaWN0ZWQIcHJlb3JkZXIWCBIQZG9jdW1lbnRzTXV0YWJsZRMAEgxjYW5CZURlbGV0ZWQTARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQEWAxIEbmFtZRIKc2FsdGVkSGFzaBIKcHJvcGVydGllcxUBFgESEHNhbHRlZERvbWFpbkhhc2gSA2FzYxIGdW5pcXVlEwESCnByb3BlcnRpZXMWARIQc2FsdGVkRG9tYWluSGFzaBYGEgR0eXBlEgVhcnJheRIJYnl0ZUFycmF5EwESCG1pbkl0ZW1zAiASCG1heEl0ZW1zAiASCHBvc2l0aW9uAgASC2Rlc2NyaXB0aW9uEllEb3VibGUgc2hhLTI1NiBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhIDMyIGJ5dGUgcmFuZG9tIHNhbHQgYW5kIGEgbm9ybWFsaXplZCBkb21haW4gbmFtZRIIcmVxdWlyZWQVARIQc2FsdGVkRG9tYWluSGFzaBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQSSlByZW9yZGVyIGRvY3VtZW50cyBhcmUgaW1tdXRhYmxlOiBtb2RpZmljYXRpb24gYW5kIGRlbGV0aW9uIGFyZSByZXN0cmljdGVkAAAAAAAAAAAAAA==';
|
|
12
|
+
export const LATEST_PLATFORM_VERSION = PlatformVersionWASM.PLATFORM_V11;
|
|
@@ -3,6 +3,7 @@ import { DocumentWASM, IdentifierWASM, PlatformVersionWASM, verifyVotePollVoteSt
|
|
|
3
3
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getContestedResourceVoteState(grpcPool, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count) {
|
|
7
8
|
if (startAtIdentifierInfo != null) {
|
|
8
9
|
startAtIdentifierInfo = {
|
|
@@ -39,7 +40,7 @@ export default async function getContestedResourceVoteState(grpcPool, contract,
|
|
|
39
40
|
if (metadata == null) {
|
|
40
41
|
throw new Error('Metadata not found');
|
|
41
42
|
}
|
|
42
|
-
const { rootHash, result } = verifyVotePollVoteStateProof(proof.grovedbProof, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, count, startAtIdentifierInfo,
|
|
43
|
+
const { rootHash, result } = verifyVotePollVoteStateProof(proof.grovedbProof, contract, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, count, startAtIdentifierInfo, LATEST_PLATFORM_VERSION);
|
|
43
44
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
44
45
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
45
46
|
if (!verify) {
|
|
@@ -52,12 +53,13 @@ export default async function getContestedResourceVoteState(grpcPool, contract,
|
|
|
52
53
|
}
|
|
53
54
|
return {
|
|
54
55
|
contenders: contenders.map(contender => ({
|
|
55
|
-
...contender,
|
|
56
56
|
identifier: contender.identityId,
|
|
57
|
-
document: contender.serializedDocument != null ? DocumentWASM.fromBytes(contender.serializedDocument, contract, documentTypeName, PlatformVersionWASM.PLATFORM_V9) : undefined
|
|
57
|
+
document: contender.serializedDocument != null ? DocumentWASM.fromBytes(contender.serializedDocument, contract, documentTypeName, PlatformVersionWASM.PLATFORM_V9) : undefined,
|
|
58
|
+
voteTally: contender.voteTally
|
|
58
59
|
})),
|
|
59
60
|
abstainVoteTally: result?.abstainingVoteTally ?? 0,
|
|
60
61
|
lockVoteTally: result?.lockedVoteTally ?? 0,
|
|
62
|
+
skipped: result?.skipped === 1,
|
|
61
63
|
finishedVoteInfo: (winner != null)
|
|
62
64
|
? {
|
|
63
65
|
type: winner.type,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { DataContractWASM, IdentifierWASM
|
|
1
|
+
import { DataContractWASM, IdentifierWASM } from 'pshenmic-dpp';
|
|
2
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
2
3
|
export default function createDataContract(ownerId, identityNonce, schema, tokenConfiguration, config, fullValidation, platformVersion) {
|
|
3
4
|
const id = new IdentifierWASM(ownerId);
|
|
4
5
|
const dataContract = new DataContractWASM(id, identityNonce, schema,
|
|
5
6
|
// we don't know what that param means yet
|
|
6
|
-
null, tokenConfiguration, fullValidation ?? true, platformVersion ??
|
|
7
|
+
null, tokenConfiguration, fullValidation ?? true, platformVersion ?? LATEST_PLATFORM_VERSION);
|
|
7
8
|
if (config != null) {
|
|
8
9
|
dataContract.setConfig(config, platformVersion);
|
|
9
10
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DataContractWASM, IdentifierWASM,
|
|
1
|
+
import { DataContractWASM, IdentifierWASM, verifyContractProof } from 'pshenmic-dpp';
|
|
2
2
|
import { GetDataContractRequest } from '../../proto/generated/platform.js';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
-
import { DPNS_DATA_CONTRACT_BYTES, DPNS_DATA_CONTRACT_ID } from '../constants.js';
|
|
6
|
+
import { DPNS_DATA_CONTRACT_BYTES, DPNS_DATA_CONTRACT_ID, LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
7
7
|
export default async function getByIdentifier(grpcPool, identifier) {
|
|
8
8
|
const id = new IdentifierWASM(identifier);
|
|
9
9
|
if (id.base58() === DPNS_DATA_CONTRACT_ID) {
|
|
@@ -31,7 +31,7 @@ export default async function getByIdentifier(grpcPool, identifier) {
|
|
|
31
31
|
if (metadata == null) {
|
|
32
32
|
throw new Error('Metadata not found');
|
|
33
33
|
}
|
|
34
|
-
const { rootHash, dataContract } = verifyContractProof(proof.grovedbProof, undefined, false, false, id.bytes(),
|
|
34
|
+
const { rootHash, dataContract } = verifyContractProof(proof.grovedbProof, undefined, false, false, id.bytes(), LATEST_PLATFORM_VERSION);
|
|
35
35
|
if (dataContract == null) {
|
|
36
36
|
throw new Error(`Data Contract with identifier ${id.base58()} not found`);
|
|
37
37
|
}
|
package/src/documents/query.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetDocumentsRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
3
|
-
import { DAPI_DEFAULT_LIMIT } from '../constants.js';
|
|
2
|
+
import { IdentifierWASM, verifyDocumentsProof } from 'pshenmic-dpp';
|
|
3
|
+
import { DAPI_DEFAULT_LIMIT, LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
6
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
@@ -52,7 +52,7 @@ export default async function query(grpcPool, dataContractId, documentTypeName,
|
|
|
52
52
|
throw new Error('Metadata not found');
|
|
53
53
|
}
|
|
54
54
|
const startAtIncluded = startAt != null;
|
|
55
|
-
const { rootHash, documents } = verifyDocumentsProof(proof.grovedbProof, dataContract, documentTypeName, where, orderBy, limit, startAt?.bytes(), startAtIncluded, BigInt(metadata?.timeMs),
|
|
55
|
+
const { rootHash, documents } = verifyDocumentsProof(proof.grovedbProof, dataContract, documentTypeName, where, orderBy, limit, startAt?.bytes(), startAtIncluded, BigInt(metadata?.timeMs), LATEST_PLATFORM_VERSION);
|
|
56
56
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
57
57
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
58
58
|
if (!verify) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentityBalanceRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyIdentityBalanceProof } from 'pshenmic-dpp';
|
|
3
3
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getIdentityBalance(grpcPool, identifier) {
|
|
7
8
|
const id = new IdentifierWASM(identifier);
|
|
8
9
|
const getIdentityBalanceRequest = GetIdentityBalanceRequest.create({
|
|
@@ -27,7 +28,7 @@ export default async function getIdentityBalance(grpcPool, identifier) {
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, balance } = verifyIdentityBalanceProof(proof.grovedbProof, id.bytes(), true,
|
|
31
|
+
const { rootHash, balance } = verifyIdentityBalanceProof(proof.grovedbProof, id.bytes(), true, LATEST_PLATFORM_VERSION);
|
|
31
32
|
if (balance == null) {
|
|
32
33
|
throw new Error(`Failed to fetch balance for identifier ${id.base58()}`);
|
|
33
34
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentityRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyIdentityByIdentifierProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getIdentityByIdentifier(grpcPool, identifier) {
|
|
7
8
|
const id = new IdentifierWASM(identifier);
|
|
8
9
|
const getIdentityRequest = GetIdentityRequest.create({
|
|
@@ -27,7 +28,7 @@ export default async function getIdentityByIdentifier(grpcPool, identifier) {
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, identity } = verifyIdentityByIdentifierProof(proof.grovedbProof, id, true,
|
|
31
|
+
const { rootHash, identity } = verifyIdentityByIdentifierProof(proof.grovedbProof, id, true, LATEST_PLATFORM_VERSION);
|
|
31
32
|
if (identity == null) {
|
|
32
33
|
throw new Error(`Identity with identifier ${id.base58()} not found`);
|
|
33
34
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { GetIdentityByNonUniquePublicKeyHashRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import {
|
|
2
|
+
import { verifyIdentifierByNonUniquePublicKeyHashProof } from 'pshenmic-dpp';
|
|
3
3
|
import hexToBytes from '../utils/hexToBytes.js';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
6
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
7
7
|
import getIdentityByIdentifier from './getIdentityByIdentifier.js';
|
|
8
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
8
9
|
export default async function getIdentityByNonUniquePublicKeyHash(grpcPool, hex) {
|
|
9
10
|
const getIdentityByNonUniquePublicKeyHashRequest = GetIdentityByNonUniquePublicKeyHashRequest.create({
|
|
10
11
|
version: {
|
|
@@ -31,7 +32,7 @@ export default async function getIdentityByNonUniquePublicKeyHash(grpcPool, hex)
|
|
|
31
32
|
if (proof.grovedbIdentityPublicKeyHashProof == null) {
|
|
32
33
|
throw new Error('GroveDB proof not found for identity by non unique public key request');
|
|
33
34
|
}
|
|
34
|
-
const { rootHash, identifier } = verifyIdentifierByNonUniquePublicKeyHashProof(proof.grovedbIdentityPublicKeyHashProof.grovedbProof, false, hexToBytes(hex), undefined,
|
|
35
|
+
const { rootHash, identifier } = verifyIdentifierByNonUniquePublicKeyHashProof(proof.grovedbIdentityPublicKeyHashProof.grovedbProof, false, hexToBytes(hex), undefined, LATEST_PLATFORM_VERSION);
|
|
35
36
|
if (identifier == null) {
|
|
36
37
|
throw new Error(`Identity with non unique public key hash ${hex} not found`);
|
|
37
38
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { GetIdentityByPublicKeyHashRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import {
|
|
2
|
+
import { verifyIdentityByUniqueKeyHashProof } from 'pshenmic-dpp';
|
|
3
3
|
import hexToBytes from '../utils/hexToBytes.js';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
6
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
7
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
7
8
|
export default async function getIdentityByPublicKeyHash(grpcPool, hex) {
|
|
8
9
|
const getIdentityByPublicKeyHashRequest = GetIdentityByPublicKeyHashRequest.create({
|
|
9
10
|
version: {
|
|
@@ -27,7 +28,7 @@ export default async function getIdentityByPublicKeyHash(grpcPool, hex) {
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, identity } = verifyIdentityByUniqueKeyHashProof(proof.grovedbProof, hexToBytes(hex),
|
|
31
|
+
const { rootHash, identity } = verifyIdentityByUniqueKeyHashProof(proof.grovedbProof, hexToBytes(hex), LATEST_PLATFORM_VERSION);
|
|
31
32
|
if (identity == null) {
|
|
32
33
|
throw new Error(`Identity with public key hash ${hex} not found`);
|
|
33
34
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentityContractNonceRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyIdentityContractNonceProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
const IDENTITY_CONTRACT_NONCE_VALUE_FILTER = BigInt(0xFFFFFFFFFF);
|
|
7
8
|
export default async function getIdentityContractNonce(grpcPool, identity, dataContract) {
|
|
8
9
|
const identityIdentifier = new IdentifierWASM(identity);
|
|
@@ -30,7 +31,7 @@ export default async function getIdentityContractNonce(grpcPool, identity, dataC
|
|
|
30
31
|
if (metadata == null) {
|
|
31
32
|
throw new Error('Metadata not found');
|
|
32
33
|
}
|
|
33
|
-
const { rootHash, contractNonce } = verifyIdentityContractNonceProof(proof.grovedbProof, identityIdentifier.bytes(), dataContractIdentifier.bytes(), true,
|
|
34
|
+
const { rootHash, contractNonce } = verifyIdentityContractNonceProof(proof.grovedbProof, identityIdentifier.bytes(), dataContractIdentifier.bytes(), true, LATEST_PLATFORM_VERSION);
|
|
34
35
|
if (contractNonce == null) {
|
|
35
36
|
return BigInt(0);
|
|
36
37
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentityNonceRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyIdentityNonceProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
const IDENTITY_NONCE_VALUE_FILTER = BigInt(0xFFFFFFFFFF);
|
|
7
8
|
export default async function getIdentityNonce(grpcPool, identifier) {
|
|
8
9
|
const id = new IdentifierWASM(identifier);
|
|
@@ -28,7 +29,7 @@ export default async function getIdentityNonce(grpcPool, identifier) {
|
|
|
28
29
|
if (metadata == null) {
|
|
29
30
|
throw new Error('Metadata not found');
|
|
30
31
|
}
|
|
31
|
-
const { rootHash, nonce } = verifyIdentityNonceProof(proof.grovedbProof, id.bytes(), true,
|
|
32
|
+
const { rootHash, nonce } = verifyIdentityNonceProof(proof.grovedbProof, id.bytes(), true, LATEST_PLATFORM_VERSION);
|
|
32
33
|
if (nonce == null) {
|
|
33
34
|
return BigInt(0);
|
|
34
35
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentityKeysRequest, KeyRequestType } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyIdentityKeysByIdentifierProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from "../constants.js";
|
|
6
7
|
export default async function getIdentityPublicKeys(grpcPool, identifier, keyIds) {
|
|
7
8
|
const id = new IdentifierWASM(identifier);
|
|
8
9
|
let requestType = {
|
|
@@ -42,7 +43,7 @@ export default async function getIdentityPublicKeys(grpcPool, identifier, keyIds
|
|
|
42
43
|
if (metadata == null) {
|
|
43
44
|
throw new Error('Metadata not found');
|
|
44
45
|
}
|
|
45
|
-
const { rootHash, identity } = verifyIdentityKeysByIdentifierProof(proof.grovedbProof, id.bytes(), keyIds != null ? keyIds : null, false, false, true, null, null,
|
|
46
|
+
const { rootHash, identity } = verifyIdentityKeysByIdentifierProof(proof.grovedbProof, id.bytes(), keyIds != null ? keyIds : null, false, false, true, null, null, LATEST_PLATFORM_VERSION);
|
|
46
47
|
if (identity == null) {
|
|
47
48
|
throw new Error(`Identity with identifier ${id.base58()} not found`);
|
|
48
49
|
}
|
package/src/node/epochs.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { GetEpochsInfoRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import {
|
|
2
|
+
import { verifyEpochsInfoProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
6
|
import { UInt32Value } from '../../proto/generated/google/protobuf/wrappers.js';
|
|
7
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
7
8
|
export default async function epochs(grpcPool, count, ascending, start) {
|
|
8
9
|
const getEpochsInfoRequest = GetEpochsInfoRequest.create({
|
|
9
10
|
version: {
|
|
@@ -29,7 +30,7 @@ export default async function epochs(grpcPool, count, ascending, start) {
|
|
|
29
30
|
if (metadata == null) {
|
|
30
31
|
throw new Error('Metadata not found');
|
|
31
32
|
}
|
|
32
|
-
const { rootHash, epochsInfo } = verifyEpochsInfoProof(proof.grovedbProof, metadata.epoch, start, count, ascending,
|
|
33
|
+
const { rootHash, epochsInfo } = verifyEpochsInfoProof(proof.grovedbProof, metadata.epoch, start, count, ascending, LATEST_PLATFORM_VERSION);
|
|
33
34
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
34
35
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
35
36
|
if (!verify) {
|
package/src/node/totalCredits.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetTotalCreditsInPlatformRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { HALVING_INTERVAL, MAINNET_ACTIVATION_HEIGHT, TESTNET_ACTIVATION_HEIGHT } from '../constants.js';
|
|
3
|
-
import {
|
|
2
|
+
import { HALVING_INTERVAL, LATEST_PLATFORM_VERSION, MAINNET_ACTIVATION_HEIGHT, TESTNET_ACTIVATION_HEIGHT } from '../constants.js';
|
|
3
|
+
import { verifyTotalCreditsProof } from 'pshenmic-dpp';
|
|
4
4
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
5
5
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
6
6
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
@@ -25,7 +25,7 @@ export default async function totalCredits(grpcPool, network) {
|
|
|
25
25
|
throw new Error('Metadata not found');
|
|
26
26
|
}
|
|
27
27
|
const activationHeight = network === 'testnet' ? TESTNET_ACTIVATION_HEIGHT : MAINNET_ACTIVATION_HEIGHT;
|
|
28
|
-
const { rootHash, totalCredits } = verifyTotalCreditsProof(proof.grovedbProof, HALVING_INTERVAL, activationHeight, Number(metadata.height),
|
|
28
|
+
const { rootHash, totalCredits } = verifyTotalCreditsProof(proof.grovedbProof, HALVING_INTERVAL, activationHeight, Number(metadata.height), LATEST_PLATFORM_VERSION);
|
|
29
29
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
30
30
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
31
31
|
if (!verify) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BroadcastStateTransitionRequest } from '../../proto/generated/platform.js';
|
|
2
2
|
export default async function broadcast(grpcPool, stateTransition) {
|
|
3
|
-
if (stateTransition.signature
|
|
3
|
+
if (stateTransition.signature?.length === 0) {
|
|
4
4
|
throw new Error('State Transition is not signed');
|
|
5
5
|
}
|
|
6
6
|
const broadcastStateTransitionRequest = BroadcastStateTransitionRequest.create({
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetIdentitiesTokenBalancesRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyTokenBalancesForIdentitiesProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getIdentitiesTokenBalances(grpcPool, identifiers, tokenIdentifier) {
|
|
7
8
|
const ids = identifiers.map(identifier => new IdentifierWASM(identifier));
|
|
8
9
|
const tokenId = new IdentifierWASM(tokenIdentifier);
|
|
@@ -29,7 +30,7 @@ export default async function getIdentitiesTokenBalances(grpcPool, identifiers,
|
|
|
29
30
|
if (metadata == null) {
|
|
30
31
|
throw new Error('Metadata not found');
|
|
31
32
|
}
|
|
32
|
-
const { rootHash, balances } = verifyTokenBalancesForIdentitiesProof(proof.grovedbProof, tokenId, true, ids,
|
|
33
|
+
const { rootHash, balances } = verifyTokenBalancesForIdentitiesProof(proof.grovedbProof, tokenId, true, ids, LATEST_PLATFORM_VERSION);
|
|
33
34
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
34
35
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
35
36
|
if (!verify) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IdentifierWASM,
|
|
1
|
+
import { IdentifierWASM, verifyTokensBalancesForIdentityProof } from 'pshenmic-dpp';
|
|
2
2
|
import { GetIdentityTokenBalancesRequest } from '../../proto/generated/platform.js';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getIdentityTokensBalances(grpcPool, identifier, tokenIdentifiers) {
|
|
7
8
|
const id = new IdentifierWASM(identifier);
|
|
8
9
|
const tokenIds = tokenIdentifiers.map(tokenIdentifier => new IdentifierWASM(tokenIdentifier));
|
|
@@ -29,7 +30,7 @@ export default async function getIdentityTokensBalances(grpcPool, identifier, to
|
|
|
29
30
|
if (metadata == null) {
|
|
30
31
|
throw new Error('Metadata not found');
|
|
31
32
|
}
|
|
32
|
-
const { rootHash, balances } = verifyTokensBalancesForIdentityProof(proof.grovedbProof, tokenIds, id, true,
|
|
33
|
+
const { rootHash, balances } = verifyTokensBalancesForIdentityProof(proof.grovedbProof, tokenIds, id, true, LATEST_PLATFORM_VERSION);
|
|
33
34
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
34
35
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
35
36
|
if (!verify) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetTokenContractInfoRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyTokenContractInfoProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getTokenContractInfo(grpcPool, tokenIdentifier) {
|
|
7
8
|
const tokenId = new IdentifierWASM(tokenIdentifier);
|
|
8
9
|
const getTokenContractInfoRequest = GetTokenContractInfoRequest.create({
|
|
@@ -27,7 +28,7 @@ export default async function getTokenContractInfo(grpcPool, tokenIdentifier) {
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, contractInfo } = verifyTokenContractInfoProof(proof.grovedbProof, tokenId, true,
|
|
31
|
+
const { rootHash, contractInfo } = verifyTokenContractInfoProof(proof.grovedbProof, tokenId, true, LATEST_PLATFORM_VERSION);
|
|
31
32
|
if (contractInfo == null) {
|
|
32
33
|
throw new Error('ContractInfo not found');
|
|
33
34
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IdentifierWASM,
|
|
1
|
+
import { IdentifierWASM, verifyTokenDirectPurchasePrices } from 'pshenmic-dpp';
|
|
2
2
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
3
3
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import { GetTokenDirectPurchasePricesRequest } from '../../proto/generated/platform.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getTokenDirectPurchasePrices(grpcPool, tokenIdentifiers) {
|
|
7
8
|
const tokenIds = tokenIdentifiers.map(tokenId => new IdentifierWASM(tokenId).bytes());
|
|
8
9
|
const request = GetTokenDirectPurchasePricesRequest.create({
|
|
@@ -27,7 +28,7 @@ export default async function getTokenDirectPurchasePrices(grpcPool, tokenIdenti
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, prices } = verifyTokenDirectPurchasePrices(proof.grovedbProof, tokenIds, true,
|
|
31
|
+
const { rootHash, prices } = verifyTokenDirectPurchasePrices(proof.grovedbProof, tokenIds, true, LATEST_PLATFORM_VERSION);
|
|
31
32
|
if (prices == null) {
|
|
32
33
|
throw new Error('Prices not found');
|
|
33
34
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GetTokenTotalSupplyRequest } from '../../proto/generated/platform.js';
|
|
2
|
-
import { IdentifierWASM,
|
|
2
|
+
import { IdentifierWASM, verifyTokenTotalSupplyProof } from 'pshenmic-dpp';
|
|
3
3
|
import { getQuorumPublicKey } from '../utils/getQuorumPublicKey.js';
|
|
4
4
|
import bytesToHex from '../utils/bytesToHex.js';
|
|
5
5
|
import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
6
|
+
import { LATEST_PLATFORM_VERSION } from '../constants.js';
|
|
6
7
|
export default async function getTokenTotalSupply(grpcPool, tokenIdentifier) {
|
|
7
8
|
const tokenId = new IdentifierWASM(tokenIdentifier);
|
|
8
9
|
const getTokenTotalSupplyRequest = GetTokenTotalSupplyRequest.create({
|
|
@@ -27,7 +28,7 @@ export default async function getTokenTotalSupply(grpcPool, tokenIdentifier) {
|
|
|
27
28
|
if (metadata == null) {
|
|
28
29
|
throw new Error('Metadata not found');
|
|
29
30
|
}
|
|
30
|
-
const { rootHash, totalBalance } = verifyTokenTotalSupplyProof(proof.grovedbProof, tokenId, true,
|
|
31
|
+
const { rootHash, totalBalance } = verifyTokenTotalSupplyProof(proof.grovedbProof, tokenId, true, LATEST_PLATFORM_VERSION);
|
|
31
32
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
32
33
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
33
34
|
if (!verify) {
|
package/src/types.d.ts
CHANGED
|
@@ -122,6 +122,7 @@ export interface ContestedResourceVoteState {
|
|
|
122
122
|
contenders: Contender[];
|
|
123
123
|
abstainVoteTally?: number | undefined;
|
|
124
124
|
lockVoteTally?: number | undefined;
|
|
125
|
+
skipped: boolean;
|
|
125
126
|
finishedVoteInfo?: FinishedVoteInfo;
|
|
126
127
|
}
|
|
127
128
|
export interface DataContractConfig {
|
|
@@ -134,6 +135,7 @@ export interface DataContractConfig {
|
|
|
134
135
|
documentsCanBeDeletedContractDefault: boolean;
|
|
135
136
|
requiresIdentityEncryptionBoundedKey?: number | null;
|
|
136
137
|
requiresIdentityDecryptionBoundedKey?: number | null;
|
|
138
|
+
sizedIntegerTypes: boolean;
|
|
137
139
|
}
|
|
138
140
|
export type TokenTransitionType = 'burn' | 'mint' | 'transfer' | 'freeze' | 'unfreeze' | 'destroyFrozenFunds' | 'emergencyAction' | 'directPurchase' | 'setPriceForDirectPurchase';
|
|
139
141
|
export interface TokenTransitionParams {
|
|
@@ -184,6 +184,7 @@ describe('Contested Resources', () => {
|
|
|
184
184
|
expect(voteState.contenders.length).toBeGreaterThan(0);
|
|
185
185
|
expect(voteState.abstainVoteTally).toBeDefined();
|
|
186
186
|
expect(voteState.lockVoteTally).toBeDefined();
|
|
187
|
+
expect(voteState.skipped).toBeDefined();
|
|
187
188
|
});
|
|
188
189
|
test('should be able to get contested resource vote state for incorrect values', async () => {
|
|
189
190
|
try {
|
|
@@ -11,7 +11,7 @@ describe('DataContract', () => {
|
|
|
11
11
|
ownerIdentifier = 'GARSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
|
|
12
12
|
identityNonce = BigInt(11);
|
|
13
13
|
config = {
|
|
14
|
-
$format_version: '
|
|
14
|
+
$format_version: '1',
|
|
15
15
|
canBeDeleted: true,
|
|
16
16
|
readonly: true,
|
|
17
17
|
keepsHistory: false,
|
|
@@ -19,7 +19,8 @@ describe('DataContract', () => {
|
|
|
19
19
|
documentsMutableContractDefault: false,
|
|
20
20
|
documentsCanBeDeletedContractDefault: true,
|
|
21
21
|
requiresIdentityEncryptionBoundedKey: null,
|
|
22
|
-
requiresIdentityDecryptionBoundedKey: null
|
|
22
|
+
requiresIdentityDecryptionBoundedKey: null,
|
|
23
|
+
sizedIntegerTypes: true
|
|
23
24
|
};
|
|
24
25
|
schema = {
|
|
25
26
|
note: {
|