dash-platform-sdk 1.4.0-dev.8 → 1.4.0
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/README.md +122 -0
- package/bundle.min.js +17 -17
- package/package.json +6 -2
- package/src/constants.d.ts +1 -1
- package/src/constants.js +2 -1
- package/src/contestedResources/getContestedResourceVoteState.js +1 -1
- package/src/documents/index.js +1 -1
- package/src/documents/query.js +4 -6
- package/src/stateTransitions/broadcast.js +3 -2
- package/test/unit/DataContract.spec.js +1 -1
- package/test/unit/Document.spec.js +31 -2
- package/test/unit/Identity.spec.js +26 -26
- package/test/unit/PlatformAddress.spec.js +4 -4
- package/test/unit/Tokens.spec.js +2 -2
- package/types.d.ts +1 -1
- package/types.js +1 -1
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dash-platform-sdk",
|
|
3
|
-
"version": "1.4.0
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"description": "Lightweight SDK for accessing Dash Platform blockchain",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/pshenmic/dash-platform-sdk.git"
|
|
9
|
+
},
|
|
6
10
|
"ts-standard": {
|
|
7
11
|
"ignore": [
|
|
8
12
|
"proto"
|
|
@@ -55,6 +59,6 @@
|
|
|
55
59
|
"@scure/bip39": "^2.0.0",
|
|
56
60
|
"@scure/btc-signer": "^2.0.1",
|
|
57
61
|
"cbor-x": "^1.6.0",
|
|
58
|
-
"pshenmic-dpp": "2.0.0-dev.
|
|
62
|
+
"pshenmic-dpp": "2.0.0-dev.20"
|
|
59
63
|
}
|
|
60
64
|
}
|
package/src/constants.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ export declare const MAINNET_ACTIVATION_HEIGHT = 2128896;
|
|
|
9
9
|
export declare const GRPC_DEFAULT_POOL_LIMIT = 5;
|
|
10
10
|
export declare const DPNS_DATA_CONTRACT_ID = "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec";
|
|
11
11
|
export declare const DPNS_DATA_CONTRACT_BYTES = "AeZoxlmvZq7h5ywYbd57W34KHXEqCcQNVyH2Ir9TxTFVAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZG9tYWluFgsSEGRvY3VtZW50c011dGFibGUTABIMY2FuQmVEZWxldGVkEwESDHRyYW5zZmVyYWJsZQIBEgl0cmFkZU1vZGUCARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQIWBBIEbmFtZRIScGFyZW50TmFtZUFuZExhYmVsEgpwcm9wZXJ0aWVzFQIWARIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUSA2FzYxYBEg9ub3JtYWxpemVkTGFiZWwSA2FzYxIGdW5pcXVlEwESCWNvbnRlc3RlZBYDEgxmaWVsZE1hdGNoZXMVARYCEgVmaWVsZBIPbm9ybWFsaXplZExhYmVsEgxyZWdleFBhdHRlcm4SE15bYS16QS1aMDEtXXszLDE5fSQSCnJlc29sdXRpb24CABILZGVzY3JpcHRpb24SqklmIHRoZSBub3JtYWxpemVkIGxhYmVsIHBhcnQgb2YgdGhpcyBpbmRleCBpcyBsZXNzIHRoYW4gMjAgY2hhcmFjdGVycyAoYWxsIGFscGhhYmV0IGEteiwgQS1aLCAwLCAxLCBhbmQgLSkgdGhlbiBhIG1hc3Rlcm5vZGUgdm90ZSBjb250ZXN0IHRha2VzIHBsYWNlIHRvIGdpdmUgb3V0IHRoZSBuYW1lFgMSBG5hbWUSCmlkZW50aXR5SWQSDm51bGxTZWFyY2hhYmxlEwASCnByb3BlcnRpZXMVARYBEhByZWNvcmRzLmlkZW50aXR5EgNhc2MSCnByb3BlcnRpZXMWBxIFbGFiZWwWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEipeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIDEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CABILZGVzY3JpcHRpb24SGURvbWFpbiBsYWJlbC4gZS5nLiAnQm9iJy4SD25vcm1hbGl6ZWRMYWJlbBYGEgR0eXBlEgZzdHJpbmcSB3BhdHRlcm4SPF5bYS1oai1rbS1ucC16MC05XVthLWhqLWttLW5wLXowLTktXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWF4TGVuZ3RoAj8SCHBvc2l0aW9uAgESC2Rlc2NyaXB0aW9uEqNEb21haW4gbGFiZWwgY29udmVydGVkIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSB1bmlxdWVuZXNzIHZhbGlkYXRpb24uICJvIiwgImkiIGFuZCAibCIgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIiB0byBtaXRpZ2F0ZSBob21vZ3JhcGggYXR0YWNrLiBlLmcuICdiMGInEggkY29tbWVudBJcTXVzdCBiZSBlcXVhbCB0byB0aGUgbGFiZWwgaW4gbG93ZXJjYXNlLiAibyIsICJpIiBhbmQgImwiIG11c3QgYmUgcmVwbGFjZWQgd2l0aCAiMCIgYW5kICIxIi4SEHBhcmVudERvbWFpbk5hbWUWBhIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEi1eJHxeW2EtekEtWjAtOV1bYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSQSCW1pbkxlbmd0aAIAEgltYXhMZW5ndGgCPxIIcG9zaXRpb24CAhILZGVzY3JpcHRpb24SJ0EgZnVsbCBwYXJlbnQgZG9tYWluIG5hbWUuIGUuZy4gJ2Rhc2gnLhIabm9ybWFsaXplZFBhcmVudERvbWFpbk5hbWUWBxIEdHlwZRIGc3RyaW5nEgdwYXR0ZXJuEkFeJHxeW2EtaGota20tbnAtejAtOV1bYS1oai1rbS1ucC16MC05LVwuXXswLDYxfVthLWhqLWttLW5wLXowLTldJBIJbWluTGVuZ3RoAgASCW1heExlbmd0aAI/Eghwb3NpdGlvbgIDEgtkZXNjcmlwdGlvbhKiQSBwYXJlbnQgZG9tYWluIG5hbWUgaW4gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHVuaXF1ZW5lc3MgdmFsaWRhdGlvbi4gIm8iLCAiaSIgYW5kICJsIiByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiIHRvIG1pdGlnYXRlIGhvbW9ncmFwaCBhdHRhY2suIGUuZy4gJ2Rhc2gnEggkY29tbWVudBLATXVzdCBlaXRoZXIgYmUgZXF1YWwgdG8gYW4gZXhpc3RpbmcgZG9tYWluIG9yIGVtcHR5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCBkb21haW4uICJvIiwgImkiIGFuZCAibCIgbXVzdCBiZSByZXBsYWNlZCB3aXRoICIwIiBhbmQgIjEiLiBPbmx5IHRoZSBkYXRhIGNvbnRyYWN0IG93bmVyIGNhbiBjcmVhdGUgdG9wIGxldmVsIGRvbWFpbnMuEgxwcmVvcmRlclNhbHQWBhIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIEEgtkZXNjcmlwdGlvbhIiU2FsdCB1c2VkIGluIHRoZSBwcmVvcmRlciBkb2N1bWVudBIHcmVjb3JkcxYFEgR0eXBlEgZvYmplY3QSCnByb3BlcnRpZXMWARIIaWRlbnRpdHkWBxIEdHlwZRIFYXJyYXkSCWJ5dGVBcnJheRMBEghtaW5JdGVtcwIgEghtYXhJdGVtcwIgEghwb3NpdGlvbgIBEhBjb250ZW50TWVkaWFUeXBlEiFhcHBsaWNhdGlvbi94LmRhc2guZHBwLmlkZW50aWZpZXISC2Rlc2NyaXB0aW9uEjFJZGVudGlmaWVyIG5hbWUgcmVjb3JkIHRoYXQgcmVmZXJzIHRvIGFuIElkZW50aXR5Eg1taW5Qcm9wZXJ0aWVzAgESCHBvc2l0aW9uAgUSFGFkZGl0aW9uYWxQcm9wZXJ0aWVzEwASDnN1YmRvbWFpblJ1bGVzFgYSBHR5cGUSBm9iamVjdBIKcHJvcGVydGllcxYBEg9hbGxvd1N1YmRvbWFpbnMWBBIEdHlwZRIHYm9vbGVhbhILZGVzY3JpcHRpb24SW1RoaXMgb3B0aW9uIGRlZmluZXMgd2hvIGNhbiBjcmVhdGUgc3ViZG9tYWluczogdHJ1ZSAtIGFueW9uZTsgZmFsc2UgLSBvbmx5IHRoZSBkb21haW4gb3duZXISCCRjb21tZW50Ek9Pbmx5IHRoZSBkb21haW4gb3duZXIgaXMgYWxsb3dlZCB0byBjcmVhdGUgc3ViZG9tYWlucyBmb3Igbm9uIHRvcC1sZXZlbCBkb21haW5zEghwb3NpdGlvbgIAEghwb3NpdGlvbgIGEgtkZXNjcmlwdGlvbhJCU3ViZG9tYWluIHJ1bGVzIGFsbG93IGRvbWFpbiBvd25lcnMgdG8gZGVmaW5lIHJ1bGVzIGZvciBzdWJkb21haW5zEhRhZGRpdGlvbmFsUHJvcGVydGllcxMAEghyZXF1aXJlZBUBEg9hbGxvd1N1YmRvbWFpbnMSCHJlcXVpcmVkFQkSCiRjcmVhdGVkQXQSCiR1cGRhdGVkQXQSDiR0cmFuc2ZlcnJlZEF0EgVsYWJlbBIPbm9ybWFsaXplZExhYmVsEhpub3JtYWxpemVkUGFyZW50RG9tYWluTmFtZRIMcHJlb3JkZXJTYWx0EgdyZWNvcmRzEg5zdWJkb21haW5SdWxlcxIJdHJhbnNpZW50FQESDHByZW9yZGVyU2FsdBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQS+wE3SW4gb3JkZXIgdG8gcmVnaXN0ZXIgYSBkb21haW4geW91IG5lZWQgdG8gY3JlYXRlIGEgcHJlb3JkZXIuIFRoZSBwcmVvcmRlciBzdGVwIGlzIG5lZWRlZCB0byBwcmV2ZW50IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuIG5vcm1hbGl6ZWRMYWJlbCArICcuJyArIG5vcm1hbGl6ZWRQYXJlbnREb21haW4gbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4gMjUzIGNoYXJzIGxlbmd0aCBhcyBkZWZpbmVkIGJ5IFJGQyAxMDM1LiBEb21haW4gZG9jdW1lbnRzIGFyZSBpbW11dGFibGU6IG1vZGlmaWNhdGlvbiBhbmQgZGVsZXRpb24gYXJlIHJlc3RyaWN0ZWQIcHJlb3JkZXIWCBIQZG9jdW1lbnRzTXV0YWJsZRMAEgxjYW5CZURlbGV0ZWQTARIEdHlwZRIGb2JqZWN0EgdpbmRpY2VzFQEWAxIEbmFtZRIKc2FsdGVkSGFzaBIKcHJvcGVydGllcxUBFgESEHNhbHRlZERvbWFpbkhhc2gSA2FzYxIGdW5pcXVlEwESCnByb3BlcnRpZXMWARIQc2FsdGVkRG9tYWluSGFzaBYGEgR0eXBlEgVhcnJheRIJYnl0ZUFycmF5EwESCG1pbkl0ZW1zAiASCG1heEl0ZW1zAiASCHBvc2l0aW9uAgASC2Rlc2NyaXB0aW9uEllEb3VibGUgc2hhLTI1NiBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhIDMyIGJ5dGUgcmFuZG9tIHNhbHQgYW5kIGEgbm9ybWFsaXplZCBkb21haW4gbmFtZRIIcmVxdWlyZWQVARIQc2FsdGVkRG9tYWluSGFzaBIUYWRkaXRpb25hbFByb3BlcnRpZXMTABIIJGNvbW1lbnQSSlByZW9yZGVyIGRvY3VtZW50cyBhcmUgaW1tdXRhYmxlOiBtb2RpZmljYXRpb24gYW5kIGRlbGV0aW9uIGFyZSByZXN0cmljdGVkAAAAAAAAAAAAAA==";
|
|
12
|
-
export declare const LATEST_PLATFORM_VERSION = PlatformVersionWASM.
|
|
12
|
+
export declare const LATEST_PLATFORM_VERSION = PlatformVersionWASM.PLATFORM_V12;
|
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,4 +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==';
|
|
11
|
-
export const LATEST_PLATFORM_VERSION =
|
|
12
|
+
export const LATEST_PLATFORM_VERSION = PlatformVersionWASM.PLATFORM_V12;
|
|
@@ -66,7 +66,7 @@ export default async function getContestedResourceVoteState(grpcPool, contract,
|
|
|
66
66
|
finishedVoteInfo: (winner != null)
|
|
67
67
|
? {
|
|
68
68
|
type: winner.type,
|
|
69
|
-
wonByIdentityId: 'identityId' in winner ? new IdentifierWASM(winner.identityId) : undefined,
|
|
69
|
+
wonByIdentityId: 'identityId' in winner && winner.identityId != null ? new IdentifierWASM(winner.identityId) : undefined,
|
|
70
70
|
finishedAtBlockHeight: winner.blockInfo.height,
|
|
71
71
|
finishedAtCoreBlockHeight: winner.blockInfo.coreHeight,
|
|
72
72
|
finishedAtBlockTimeMs: winner.blockInfo.timeMs,
|
package/src/documents/index.js
CHANGED
|
@@ -39,7 +39,7 @@ export class DocumentsController {
|
|
|
39
39
|
* @param startAfter {IdentifierLike=} Same as previous, but with exclusion. Cannot be set if startAt already provided
|
|
40
40
|
*/
|
|
41
41
|
async query(dataContractId, documentType, where, orderBy, limit, startAt, startAfter) {
|
|
42
|
-
if (startAfter != null && startAt
|
|
42
|
+
if (startAfter != null && startAt != null) {
|
|
43
43
|
throw new Error('You may only set either startAfter or startAt at once');
|
|
44
44
|
}
|
|
45
45
|
return await query(this.grpcPool, new IdentifierWASM(dataContractId), documentType, where, orderBy, limit ?? 100, startAt, startAfter);
|
package/src/documents/query.js
CHANGED
|
@@ -7,20 +7,17 @@ import verifyTenderdashProof from '../utils/verifyTenderdashProof.js';
|
|
|
7
7
|
import { encode } from 'cbor-x';
|
|
8
8
|
import getDataContractByIdentifier from '../dataContracts/getDataContractByIdentifier.js';
|
|
9
9
|
export default async function query(grpcPool, dataContractId, documentTypeName, where, orderBy, limit = 100, startAt, startAfter) {
|
|
10
|
-
if ([startAt, startAfter].filter(e => e != null).length === 2) {
|
|
11
|
-
throw new Error('Only startAt or startAfter could be specified at one time');
|
|
12
|
-
}
|
|
13
10
|
let start;
|
|
14
11
|
if (startAt != null) {
|
|
15
12
|
start = {
|
|
16
13
|
oneofKind: 'startAt',
|
|
17
|
-
startAt: startAt.
|
|
14
|
+
startAt: startAt.bytes()
|
|
18
15
|
};
|
|
19
16
|
}
|
|
20
17
|
if (startAfter != null) {
|
|
21
18
|
start = {
|
|
22
19
|
oneofKind: 'startAfter',
|
|
23
|
-
|
|
20
|
+
startAfter: startAfter.bytes()
|
|
24
21
|
};
|
|
25
22
|
}
|
|
26
23
|
const getDocumentsRequest = GetDocumentsRequest.create({
|
|
@@ -52,7 +49,8 @@ export default async function query(grpcPool, dataContractId, documentTypeName,
|
|
|
52
49
|
throw new Error('Metadata not found');
|
|
53
50
|
}
|
|
54
51
|
const startAtIncluded = startAt != null;
|
|
55
|
-
const
|
|
52
|
+
const startIdentifier = startAt ?? startAfter;
|
|
53
|
+
const { rootHash, documents } = verifyDocumentsProof(proof.grovedbProof, dataContract, documentTypeName, where, orderBy, limit, startIdentifier?.bytes(), startAtIncluded, BigInt(metadata?.timeMs), LATEST_PLATFORM_VERSION);
|
|
56
54
|
const quorumPublicKey = await getQuorumPublicKey(grpcPool.network, proof.quorumType, bytesToHex(proof.quorumHash));
|
|
57
55
|
const verify = await verifyTenderdashProof(proof, metadata, rootHash, quorumPublicKey);
|
|
58
56
|
if (!verify) {
|
|
@@ -11,8 +11,9 @@ export default async function broadcast(grpcPool, stateTransition) {
|
|
|
11
11
|
await grpcPool.getClient().broadcastStateTransition(broadcastStateTransitionRequest);
|
|
12
12
|
}
|
|
13
13
|
catch (err) {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const errorBin = err.meta?.['dash-serialized-consensus-error-bin'];
|
|
15
|
+
if (errorBin?.length !== 0 && errorBin != null) {
|
|
16
|
+
throw new Error(deserializeConsensusError(errorBin));
|
|
16
17
|
}
|
|
17
18
|
else {
|
|
18
19
|
throw err;
|
|
@@ -11,7 +11,7 @@ describe('DataContract', () => {
|
|
|
11
11
|
ownerIdentifier = 'GARSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec';
|
|
12
12
|
identityNonce = BigInt(11);
|
|
13
13
|
config = {
|
|
14
|
-
$
|
|
14
|
+
$formatVersion: '1',
|
|
15
15
|
canBeDeleted: true,
|
|
16
16
|
readonly: true,
|
|
17
17
|
keepsHistory: false,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocumentWASM, StateTransitionWASM } from 'pshenmic-dpp';
|
|
1
|
+
import { DocumentWASM, GasFeesPaidByWASM, StateTransitionWASM } from 'pshenmic-dpp';
|
|
2
2
|
import { DashPlatformSDK } from '../../src/DashPlatformSDK.js';
|
|
3
3
|
let sdk;
|
|
4
4
|
let dataContract;
|
|
@@ -42,6 +42,35 @@ describe('Document', () => {
|
|
|
42
42
|
expect(document.dataContractId.base58()).toEqual(dataContract);
|
|
43
43
|
expect(document).toEqual(expect.any(DocumentWASM));
|
|
44
44
|
});
|
|
45
|
+
test('should be able to get document with startAt', async () => {
|
|
46
|
+
const dataContract = '6hVQW16jyvZyGSQk2YVty4ND6bgFXozizYWnPt753uW5';
|
|
47
|
+
const documentType = 'torrent';
|
|
48
|
+
const limit = 5;
|
|
49
|
+
// @ts-expect-error
|
|
50
|
+
const [firstQueriedDoc] = (await sdk.documents.query(dataContract, documentType, null, null, limit)).toReversed();
|
|
51
|
+
// @ts-expect-error
|
|
52
|
+
const [secondQueriedDoc] = await sdk.documents.query(dataContract, documentType, null, null, limit, firstQueriedDoc.id);
|
|
53
|
+
expect(secondQueriedDoc.id.base58()).toEqual(firstQueriedDoc.id.base58());
|
|
54
|
+
expect(secondQueriedDoc.createdAtBlockHeight).toEqual(undefined);
|
|
55
|
+
expect(secondQueriedDoc.dataContractId.base58()).toEqual(dataContract);
|
|
56
|
+
expect(secondQueriedDoc).toEqual(expect.any(DocumentWASM));
|
|
57
|
+
});
|
|
58
|
+
test('should be able to get document with startAfter', async () => {
|
|
59
|
+
const dataContract = '6hVQW16jyvZyGSQk2YVty4ND6bgFXozizYWnPt753uW5';
|
|
60
|
+
const documentType = 'torrent';
|
|
61
|
+
const limit = 5;
|
|
62
|
+
const masterQueryLimit = limit * 2;
|
|
63
|
+
// @ts-expect-error
|
|
64
|
+
const masterQuery = await sdk.documents.query(dataContract, documentType, null, null, masterQueryLimit);
|
|
65
|
+
// @ts-expect-error
|
|
66
|
+
const [firstQueriedDoc] = (await sdk.documents.query(dataContract, documentType, null, null, limit)).toReversed();
|
|
67
|
+
// @ts-expect-error
|
|
68
|
+
const [secondQueriedDoc] = await sdk.documents.query(dataContract, documentType, null, null, limit, undefined, firstQueriedDoc.id);
|
|
69
|
+
expect(masterQuery[5].id.base58()).toEqual(secondQueriedDoc.id.base58());
|
|
70
|
+
expect(secondQueriedDoc.createdAtBlockHeight).toEqual(undefined);
|
|
71
|
+
expect(secondQueriedDoc.dataContractId.base58()).toEqual(dataContract);
|
|
72
|
+
expect(secondQueriedDoc).toEqual(expect.any(DocumentWASM));
|
|
73
|
+
});
|
|
45
74
|
describe('should be able to create state transition', () => {
|
|
46
75
|
test('should be able to create a create transition', async () => {
|
|
47
76
|
const document = sdk.documents.create(dataContract, documentType, data, identity);
|
|
@@ -67,7 +96,7 @@ describe('Document', () => {
|
|
|
67
96
|
tokenContractPosition: 0,
|
|
68
97
|
minimumTokenCost: BigInt(1000),
|
|
69
98
|
maximumTokenCost: BigInt(100000),
|
|
70
|
-
gasFeesPaidBy:
|
|
99
|
+
gasFeesPaidBy: GasFeesPaidByWASM.ContractOwner
|
|
71
100
|
};
|
|
72
101
|
const stateTransition = sdk.documents.createStateTransition(document, 'create', { identityContractNonce, tokenPaymentInfo });
|
|
73
102
|
expect(stateTransition).toEqual(expect.any(StateTransitionWASM));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CoreScriptWASM, IdentityPublicKeyWASM, IdentityWASM, PrivateKeyWASM, StateTransitionWASM } from 'pshenmic-dpp';
|
|
1
|
+
import { CoreScriptWASM, IdentityPublicKeyWASM, IdentityWASM, KeyType, PrivateKeyWASM, Purpose, SecurityLevel, StateTransitionWASM } from 'pshenmic-dpp';
|
|
2
2
|
import { DashPlatformSDK } from '../../types.js';
|
|
3
3
|
import { base58 } from '@scure/base';
|
|
4
4
|
let sdk;
|
|
@@ -50,18 +50,18 @@ describe('Identity', () => {
|
|
|
50
50
|
const privateKey1 = PrivateKeyWASM.fromHex('a1286dd195e2b8e1f6bdc946c56a53e0c544750d6452ddc0f4c593ef311f21af', 'testnet');
|
|
51
51
|
const identityPublicKeyInCreation1 = {
|
|
52
52
|
id: 0,
|
|
53
|
-
purpose:
|
|
54
|
-
securityLevel:
|
|
55
|
-
keyType:
|
|
53
|
+
purpose: Purpose.AUTHENTICATION,
|
|
54
|
+
securityLevel: SecurityLevel.MASTER,
|
|
55
|
+
keyType: KeyType.ECDSA_SECP256K1,
|
|
56
56
|
readOnly: false,
|
|
57
57
|
data: privateKey1.getPublicKey().bytes()
|
|
58
58
|
};
|
|
59
59
|
const privateKey2 = PrivateKeyWASM.fromHex('44a8195e242364b935e9d7ff2106ed109e9baf3800907f5e58a259fdfd1ca5e5', 'testnet');
|
|
60
60
|
const identityPublicKeyInCreation2 = {
|
|
61
61
|
id: 1,
|
|
62
|
-
purpose:
|
|
63
|
-
securityLevel:
|
|
64
|
-
keyType:
|
|
62
|
+
purpose: Purpose.AUTHENTICATION,
|
|
63
|
+
securityLevel: SecurityLevel.HIGH,
|
|
64
|
+
keyType: KeyType.ECDSA_SECP256K1,
|
|
65
65
|
readOnly: false,
|
|
66
66
|
data: privateKey2.getPublicKey().bytes()
|
|
67
67
|
};
|
|
@@ -76,7 +76,7 @@ describe('Identity', () => {
|
|
|
76
76
|
type: 'chainLock'
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
identityCreateStateTransition.signByPrivateKey(privateKey1,
|
|
79
|
+
identityCreateStateTransition.signByPrivateKey(privateKey1, KeyType.ECDSA_SECP256K1);
|
|
80
80
|
identityPublicKeyInCreation1.signature = identityCreateStateTransition.signature;
|
|
81
81
|
// Set identity public key signature for public key 1
|
|
82
82
|
identityCreateStateTransition = sdk.identities.createStateTransition('create', {
|
|
@@ -88,7 +88,7 @@ describe('Identity', () => {
|
|
|
88
88
|
type: 'chainLock'
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
|
-
identityCreateStateTransition.signByPrivateKey(privateKey2,
|
|
91
|
+
identityCreateStateTransition.signByPrivateKey(privateKey2, KeyType.ECDSA_SECP256K1);
|
|
92
92
|
identityPublicKeyInCreation2.signature = identityCreateStateTransition.signature;
|
|
93
93
|
// Finalize
|
|
94
94
|
identityCreateStateTransition = sdk.identities.createStateTransition('create', {
|
|
@@ -100,7 +100,7 @@ describe('Identity', () => {
|
|
|
100
100
|
type: 'chainLock'
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
|
-
identityCreateStateTransition.signByPrivateKey(assetLockPrivateKey,
|
|
103
|
+
identityCreateStateTransition.signByPrivateKey(assetLockPrivateKey, KeyType.ECDSA_SECP256K1);
|
|
104
104
|
});
|
|
105
105
|
test('should be able to create IdentityCreateTransition via InstantSend', async () => {
|
|
106
106
|
const assetLockPrivateKey = PrivateKeyWASM.fromHex('edd04a71bddb31e530f6c2314fd42ada333f6656bb853ece13f0577a8fd30612', 'testnet');
|
|
@@ -110,18 +110,18 @@ describe('Identity', () => {
|
|
|
110
110
|
const privateKey1 = PrivateKeyWASM.fromHex('a1286dd195e2b8e1f6bdc946c56a53e0c544750d6452ddc0f4c593ef311f21af', 'testnet');
|
|
111
111
|
const identityPublicKeyInCreation1 = {
|
|
112
112
|
id: 0,
|
|
113
|
-
purpose:
|
|
114
|
-
securityLevel:
|
|
115
|
-
keyType:
|
|
113
|
+
purpose: Purpose.AUTHENTICATION,
|
|
114
|
+
securityLevel: SecurityLevel.MASTER,
|
|
115
|
+
keyType: KeyType.ECDSA_SECP256K1,
|
|
116
116
|
readOnly: false,
|
|
117
117
|
data: privateKey1.getPublicKey().bytes()
|
|
118
118
|
};
|
|
119
119
|
const privateKey2 = PrivateKeyWASM.fromHex('44a8195e242364b935e9d7ff2106ed109e9baf3800907f5e58a259fdfd1ca5e5', 'testnet');
|
|
120
120
|
const identityPublicKeyInCreation2 = {
|
|
121
121
|
id: 1,
|
|
122
|
-
purpose:
|
|
123
|
-
securityLevel:
|
|
124
|
-
keyType:
|
|
122
|
+
purpose: Purpose.AUTHENTICATION,
|
|
123
|
+
securityLevel: SecurityLevel.HIGH,
|
|
124
|
+
keyType: KeyType.ECDSA_SECP256K1,
|
|
125
125
|
readOnly: false,
|
|
126
126
|
data: privateKey2.getPublicKey().bytes()
|
|
127
127
|
};
|
|
@@ -136,7 +136,7 @@ describe('Identity', () => {
|
|
|
136
136
|
type: 'instantLock'
|
|
137
137
|
}
|
|
138
138
|
});
|
|
139
|
-
identityCreateStateTransition.signByPrivateKey(privateKey1,
|
|
139
|
+
identityCreateStateTransition.signByPrivateKey(privateKey1, KeyType.ECDSA_SECP256K1);
|
|
140
140
|
identityPublicKeyInCreation1.signature = identityCreateStateTransition.signature;
|
|
141
141
|
// Set identity public key signature for public key 1
|
|
142
142
|
identityCreateStateTransition = sdk.identities.createStateTransition('create', {
|
|
@@ -148,7 +148,7 @@ describe('Identity', () => {
|
|
|
148
148
|
type: 'instantLock'
|
|
149
149
|
}
|
|
150
150
|
});
|
|
151
|
-
identityCreateStateTransition.signByPrivateKey(privateKey2,
|
|
151
|
+
identityCreateStateTransition.signByPrivateKey(privateKey2, KeyType.ECDSA_SECP256K1);
|
|
152
152
|
identityPublicKeyInCreation2.signature = identityCreateStateTransition.signature;
|
|
153
153
|
// Finalize
|
|
154
154
|
identityCreateStateTransition = sdk.identities.createStateTransition('create', {
|
|
@@ -160,7 +160,7 @@ describe('Identity', () => {
|
|
|
160
160
|
type: 'instantLock'
|
|
161
161
|
}
|
|
162
162
|
});
|
|
163
|
-
identityCreateStateTransition.signByPrivateKey(assetLockPrivateKey,
|
|
163
|
+
identityCreateStateTransition.signByPrivateKey(assetLockPrivateKey, KeyType.ECDSA_SECP256K1);
|
|
164
164
|
});
|
|
165
165
|
test('should be able to create IdentityTopUpTransition via InstantSend', async () => {
|
|
166
166
|
const transaction = '03000800011a468e6a7cf1c5111b09b7bca6743f2571a9bf13d2ff6d21d3d230fd1dea1e97000000006b483045022100fceb25c45e77e1a273660e4f4c9a09042fb858a57704806e14bf80a734af232a02201929893dd720cf5855e31dda577cda16df29520a9774b4f3e813a4cc468fe086012103e16ede6dc5c99f28e3a5733f47a7494992bc6ce4f98551c092645910b9888b8fffffffff0200e1f50500000000026a004054fa02000000001976a91416bbe230f46eea86fc4bf4dd550be45dc9adfcb488ac0000000024010100e1f505000000001976a9147f78813975a3282e09e284d97d93c083b202e34188ac';
|
|
@@ -177,7 +177,7 @@ describe('Identity', () => {
|
|
|
177
177
|
type: 'instantLock'
|
|
178
178
|
}
|
|
179
179
|
});
|
|
180
|
-
identityTopUpTransaction.signByPrivateKey(assetLockPrivateKey, undefined,
|
|
180
|
+
identityTopUpTransaction.signByPrivateKey(assetLockPrivateKey, undefined, KeyType.ECDSA_SECP256K1);
|
|
181
181
|
});
|
|
182
182
|
test('should be able to create IdentityTopUpTransition via ChainLock', async () => {
|
|
183
183
|
const txid = '61aede830477254876d435a317241ad46753c4b1350dc991a45ebcf19ab80a11';
|
|
@@ -194,7 +194,7 @@ describe('Identity', () => {
|
|
|
194
194
|
type: 'chainLock'
|
|
195
195
|
}
|
|
196
196
|
});
|
|
197
|
-
identityTopUpTransaction.signByPrivateKey(assetLockPrivateKey, undefined,
|
|
197
|
+
identityTopUpTransaction.signByPrivateKey(assetLockPrivateKey, undefined, KeyType.ECDSA_SECP256K1);
|
|
198
198
|
});
|
|
199
199
|
test('should be able to create IdentityUpdateTransition', async () => {
|
|
200
200
|
const identityId = 'HT3pUBM1Uv2mKgdPEN1gxa7A4PdsvNY89aJbdSKQb5wR';
|
|
@@ -207,9 +207,9 @@ describe('Identity', () => {
|
|
|
207
207
|
const identityPrivateKey = PrivateKeyWASM.fromHex('16f614c6242580628d849e3616491dda1eccce99642a85667eb9a364dc85324a', 'testnet');
|
|
208
208
|
const identityPublicKeyInCreation = {
|
|
209
209
|
id: keyId,
|
|
210
|
-
purpose:
|
|
211
|
-
securityLevel:
|
|
212
|
-
keyType:
|
|
210
|
+
purpose: Purpose.AUTHENTICATION,
|
|
211
|
+
securityLevel: SecurityLevel.HIGH,
|
|
212
|
+
keyType: KeyType.ECDSA_SECP256K1,
|
|
213
213
|
readOnly: false,
|
|
214
214
|
data: identityPrivateKey.getPublicKey().bytes()
|
|
215
215
|
};
|
|
@@ -219,7 +219,7 @@ describe('Identity', () => {
|
|
|
219
219
|
identityNonce,
|
|
220
220
|
addPublicKeys: [identityPublicKeyInCreation]
|
|
221
221
|
});
|
|
222
|
-
identityUpdateTransition.signByPrivateKey(masterPrivateKey, masterKeyId,
|
|
222
|
+
identityUpdateTransition.signByPrivateKey(masterPrivateKey, masterKeyId, KeyType.ECDSA_SECP256K1);
|
|
223
223
|
identityPublicKeyInCreation.signature = identityUpdateTransition.signature;
|
|
224
224
|
identityUpdateTransition = sdk.identities.createStateTransition('update', {
|
|
225
225
|
identityId,
|
|
@@ -227,7 +227,7 @@ describe('Identity', () => {
|
|
|
227
227
|
identityNonce,
|
|
228
228
|
addPublicKeys: [identityPublicKeyInCreation]
|
|
229
229
|
});
|
|
230
|
-
identityUpdateTransition.signByPrivateKey(masterPrivateKey, masterKeyId,
|
|
230
|
+
identityUpdateTransition.signByPrivateKey(masterPrivateKey, masterKeyId, KeyType.ECDSA_SECP256K1);
|
|
231
231
|
});
|
|
232
232
|
test('should able be create credit transfer transition', async () => {
|
|
233
233
|
const identityId = 'QMfCRPcjXoTnZa9sA9JR2KWgGxZXMRJ4akgS3Uia1Qv';
|
|
@@ -5,16 +5,16 @@ describe('PlatformAddress', () => {
|
|
|
5
5
|
sdk = new DashPlatformSDK({ network: 'testnet' });
|
|
6
6
|
});
|
|
7
7
|
test('getAddressInfo', async () => {
|
|
8
|
-
const info = await sdk.platformAddresses.getAddressInfo('
|
|
8
|
+
const info = await sdk.platformAddresses.getAddressInfo('tdash1kzg5azscav69z7m6dfzr9ner0a5vt7pn9ca4sz8d');
|
|
9
9
|
expect(info.balance).toBeDefined();
|
|
10
10
|
expect(info.nonce).toBeDefined();
|
|
11
11
|
expect(info.address).toBeDefined();
|
|
12
12
|
});
|
|
13
13
|
test('getAddressesInfos', async () => {
|
|
14
14
|
const addresses = [
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
15
|
+
'tdash1kzg5azscav69z7m6dfzr9ner0a5vt7pn9ca4sz8d',
|
|
16
|
+
'tdash1kqr3cxhgel75ru0yrhj5eq8j8jt92m5enqrfajxw',
|
|
17
|
+
'tdash1kq9plfyacx9q26dtaxgwuw9lt78nyu2mzc3xwcxv'
|
|
18
18
|
];
|
|
19
19
|
const info = await sdk.platformAddresses.getAddressesInfos(addresses);
|
|
20
20
|
expect(info).toHaveLength(addresses.length);
|
package/test/unit/Tokens.spec.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StateTransitionWASM, TokenBaseTransitionWASM } from 'pshenmic-dpp';
|
|
1
|
+
import { StateTransitionWASM, TokenBaseTransitionWASM, TokenEmergencyActionWASM } from 'pshenmic-dpp';
|
|
2
2
|
import { DashPlatformSDK } from '../../src/DashPlatformSDK.js';
|
|
3
3
|
let sdk;
|
|
4
4
|
describe('Tokens', () => {
|
|
@@ -95,7 +95,7 @@ describe('Tokens', () => {
|
|
|
95
95
|
test('should be able to create emergency action transition', async () => {
|
|
96
96
|
const tokenId = '6niNoQpsT9zyVDJtXcbpV3tR3qEGi6BC6xoDdJyx1u7C';
|
|
97
97
|
const owner = 'HT3pUBM1Uv2mKgdPEN1gxa7A4PdsvNY89aJbdSKQb5wR';
|
|
98
|
-
const emergencyAction =
|
|
98
|
+
const emergencyAction = TokenEmergencyActionWASM.Pause;
|
|
99
99
|
const tokenBaseTransition = await sdk.tokens.createBaseTransition(tokenId, owner);
|
|
100
100
|
const stateTransition = sdk.tokens.createStateTransition(tokenBaseTransition, owner, 'emergencyAction', { emergencyAction });
|
|
101
101
|
expect(stateTransition).toBeInstanceOf(StateTransitionWASM);
|
package/types.d.ts
CHANGED
|
@@ -125,7 +125,7 @@ export interface ContestedResourceVoteState {
|
|
|
125
125
|
finishedVoteInfo?: FinishedVoteInfo;
|
|
126
126
|
}
|
|
127
127
|
export interface DataContractConfig {
|
|
128
|
-
$
|
|
128
|
+
$formatVersion: string;
|
|
129
129
|
canBeDeleted: boolean;
|
|
130
130
|
readonly: boolean;
|
|
131
131
|
keepsHistory: boolean;
|
package/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CoreScriptWASM, DocumentWASM, IdentifierWASM, TokenPricingScheduleWASM, StateTransitionWASM, BatchTransitionWASM, IdentityPublicKeyWASM, PrivateKeyWASM, DataContractUpdateTransitionWASM, IdentityWASM, IdentityUpdateTransitionWASM, IdentityCreditTransferWASM, MasternodeVoteTransitionWASM } from 'pshenmic-dpp';
|
|
1
|
+
export { CoreScriptWASM, DocumentWASM, GasFeesPaidByWASM, IdentifierWASM, KeyType, Purpose, SecurityLevel, TokenEmergencyActionWASM, TokenPricingScheduleWASM, StateTransitionWASM, BatchTransitionWASM, IdentityPublicKeyWASM, PrivateKeyWASM, DataContractUpdateTransitionWASM, IdentityWASM, IdentityUpdateTransitionWASM, IdentityCreditTransferWASM, MasternodeVoteTransitionWASM } from 'pshenmic-dpp';
|
|
2
2
|
export { DashPlatformSDK } from './src/DashPlatformSDK.js';
|
|
3
3
|
export var ContestedStateResultType;
|
|
4
4
|
(function (ContestedStateResultType) {
|