diff --git a/README.md b/README.md index b6715fd..1d6faa3 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,30 @@ Build the android libraries for the local machine (only works on Mac) ```bash ./gradlew publishToMavenLocal ``` -Build the android libraries to publish to Maven Central +Build the android libraries to publish to Maven Central: +1) Verify release & deploy configuration +```bash +./gradlew jreleaserConfig +``` +2) Ensure a clean deployment +```bash +./gradlew clean +``` +3) Generate all needed code for SWIG and Protobuf +```bash +./gradlew generateSWIG && ./gradlew generateProto +``` +4) Stage all artifacts to a local directory ```bash ./gradlew publish ``` - +5) Deploy and release +```bash +./gradlew jreleaserDeploy +``` ### Use in other projects ```groovy -dppVersion = "1.7.5" +dppVersion = "2.0.0-SNAPSHOT" dependencies { implementation "org.dashj.platform:dash-sdk-java:$dppVersion" implementation "org.dashj.platform:dash-sdk-kotlin:$dppVersion" // dpp diff --git a/build.gradle b/build.gradle index 84fe3b7..83bd331 100644 --- a/build.gradle +++ b/build.gradle @@ -1,16 +1,18 @@ buildscript { - ext.version = '1.7.5' + ext.version = '2.0.0-SNAPSHOT' ext.kotlin_version = '1.8.22' ext.dashj_version = '21.1.7' repositories { google() // Required for Android library and application projects mavenCentral() + gradlePluginPortal() // Required for JReleaser plugin } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.android.tools.build:gradle:7.2.2' // Use the latest version + classpath 'com.android.tools.build:gradle:8.1.4' // Use the latest version classpath "com.google.protobuf:protobuf-gradle-plugin:0.9.4" + classpath 'org.jreleaser:jreleaser-gradle-plugin:1.17.0' } } diff --git a/dash-sdk-android/build.gradle b/dash-sdk-android/build.gradle index ef13510..fc987d6 100644 --- a/dash-sdk-android/build.gradle +++ b/dash-sdk-android/build.gradle @@ -3,6 +3,7 @@ plugins { id 'maven-publish' id 'signing' } +apply plugin: 'org.jreleaser' android { namespace "org.dashj.platform" @@ -102,7 +103,7 @@ dependencies { task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs - classifier = 'sources' + archiveClassifier.set("sources") } assemble.dependsOn(publishToMavenLocal) @@ -117,7 +118,7 @@ task javadoc(type: Javadoc) { } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier.set("javadoc") from javadoc.destinationDir } @@ -130,12 +131,14 @@ assemble.dependsOn(publishToMavenLocal) assemble.dependsOn(sourcesJar) afterEvaluate { + def projectVersion = rootProject.ext.version + publishing { publications { release(MavenPublication) { groupId group artifactId 'dash-sdk-android' - version project.rootProject.ext.version + version projectVersion from components.release pom { @@ -166,13 +169,46 @@ afterEvaluate { } repositories { maven { - // change URLs to point to your repos, e.g. http://my.org/repo - def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" - def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" - url = project.rootProject.ext.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl - credentials { - username = project.hasProperty('ossrhUsername') ? project.findProperty('ossrhUsername') : '' - password = project.hasProperty('ossrhPassword') ? project.findProperty('ossrhPassword') : '' + url = layout.buildDirectory.dir('staging-deploy') + } + } + } + jreleaser { + project { + name = 'dash-sdk-android' + description = 'Dash-SDK-Android' + website = 'https://dashj.org' + authors = ['HashEngineering'] + license = 'MIT' + gitRootSearch = true + version = projectVersion + } + + signing { + active = 'ALWAYS' + armored = true + } + + deploy { + maven { + mavenCentral { + sonatype { + active = 'ALWAYS' + url = 'https://central.sonatype.com/api/v1/publisher' + stagingRepository("$buildDir/staging-deploy") + } + } + nexus2 { + app { + active = 'SNAPSHOT' + url = 'https://central.sonatype.com/repository/maven-snapshots/' + snapshotUrl = 'https://central.sonatype.com/repository/maven-snapshots/' + applyMavenCentralRules = false // must be false for aar + snapshotSupported = true + closeRepository = true + releaseRepository = true + stagingRepository("$buildDir/staging-deploy") + } } } } diff --git a/dash-sdk-android/src/main/AndroidManifest.xml b/dash-sdk-android/src/main/AndroidManifest.xml index 35c1e93..a5918e6 100644 --- a/dash-sdk-android/src/main/AndroidManifest.xml +++ b/dash-sdk-android/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/dash-sdk-android/src/main/rust/Cargo.lock b/dash-sdk-android/src/main/rust/Cargo.lock index d68fc6b..98794ba 100644 --- a/dash-sdk-android/src/main/rust/Cargo.lock +++ b/dash-sdk-android/src/main/rust/Cargo.lock @@ -17,17 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -72,15 +61,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.15" @@ -163,28 +143,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.95", -] - [[package]] name = "async-trait" version = "0.1.83" @@ -219,61 +177,13 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -[[package]] -name = "axum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" -dependencies = [ - "async-trait", - "axum-core", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "backon" -version = "1.2.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4fa97bb310c33c811334143cf64c5bb2b7b3c06e453db6b095d7061eff8f113" +checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7" dependencies = [ "fastrand", - "gloo-timers", "tokio", ] @@ -316,6 +226,15 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64-compat" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8d4d2746f89841e49230dd26917df1876050f95abafafbe34f47cb534b88d7" +dependencies = [ + "byteorder", +] + [[package]] name = "base64ct" version = "1.6.0" @@ -347,29 +266,6 @@ dependencies = [ "virtue 0.0.13", ] -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.95", - "which", -] - [[package]] name = "bip37-bloom-filter" version = "0.1.0" @@ -401,21 +297,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" -[[package]] -name = "bitcoin-private" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" - -[[package]] -name = "bitcoin_hashes" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" -dependencies = [ - "bitcoin-private", -] - [[package]] name = "bitcoin_hashes" version = "0.14.0" @@ -434,9 +315,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "bitvec" @@ -452,9 +333,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.6.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -528,30 +409,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.95", - "syn_derive", -] - [[package]] name = "bs58" version = "0.5.1" @@ -567,28 +424,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bytecount" version = "0.6.8" @@ -612,34 +447,34 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -648,7 +483,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" dependencies = [ - "clap", + "clap 3.2.25", "heck 0.4.1", "indexmap 1.9.3", "log", @@ -658,25 +493,35 @@ dependencies = [ "serde_json", "syn 1.0.109", "tempfile", - "toml", + "toml 0.5.11", ] [[package]] -name = "cc" -version = "1.1.29" +name = "cbindgen" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1" +checksum = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff" dependencies = [ - "shlex", + "clap 4.5.40", + "heck 0.4.1", + "indexmap 2.7.0", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.95", + "tempfile", + "toml 0.8.19", ] [[package]] -name = "cexpr" -version = "0.6.0" +name = "cc" +version = "1.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1" dependencies = [ - "nom", + "shlex", ] [[package]] @@ -685,12 +530,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chrono" version = "0.4.38" @@ -706,10 +545,33 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "chrono-tz" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + [[package]] name = "ciborium" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", @@ -718,29 +580,20 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "3.2.25" @@ -749,13 +602,34 @@ checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", "bitflags 1.3.2", - "clap_lex", + "clap_lex 0.2.4", "indexmap 1.9.3", "strsim 0.10.0", "termcolor", "textwrap", ] +[[package]] +name = "clap" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.7.5", + "strsim 0.11.1", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -765,6 +639,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" + [[package]] name = "colorchoice" version = "1.0.2" @@ -832,6 +712,12 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -884,23 +770,24 @@ dependencies = [ [[package]] name = "dapi-grpc" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dapi-grpc-macros", "futures-core", + "getrandom", "platform-version", "prost 0.13.3", "serde", "serde_bytes", "serde_json", "tenderdash-proto", - "tonic 0.12.3", + "tonic 0.13.1", "tonic-build", ] [[package]] name = "dapi-grpc-macros" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "heck 0.5.0", "quote", @@ -944,7 +831,7 @@ dependencies = [ [[package]] name = "dash-sdk" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "arc-swap", "async-trait", @@ -954,15 +841,15 @@ dependencies = [ "ciborium", "dapi-grpc", "dapi-grpc-macros", - "dashcore-rpc 0.16.0", - "derive_more", + "dashcore-rpc", + "derive_more 1.0.0", "dotenvy", "dpp", "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro 0.2.3", "futures", "hex", "http 1.1.0", @@ -972,7 +859,7 @@ dependencies = [ "rustls-pemfile", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", "tokio", "tokio-util", "tracing", @@ -981,95 +868,60 @@ dependencies = [ [[package]] name = "dash-sdk-bindings" -version = "1.0.0" +version = "2.0.0" dependencies = [ - "cbindgen", + "cbindgen 0.26.0", "dash-sdk", - "dashcore 0.30.0", + "dashcore", "dpp", "drive", "drive-proof-verifier", - "ferment 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.1.4", + "ferment-sys", "platform-mobile", "platform-value", ] [[package]] name = "dashcore" -version = "0.30.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" -dependencies = [ - "anyhow", - "bech32", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore_hashes 0.12.0", - "hex", - "hex_lit", - "rustversion", - "secp256k1 0.27.0", - "serde", -] - -[[package]] -name = "dashcore" -version = "0.35.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "anyhow", + "base64-compat", "bech32", - "bitflags 2.6.0", + "bitflags 2.9.1", + "blake3", "blsful", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", + "dashcore-private 0.39.6", + "dashcore_hashes 0.39.6", "ed25519-dalek", "hex", "hex_lit", - "lazy_static", "rustversion", - "secp256k1 0.30.0", + "secp256k1", "serde", - "serde_repr", - "strum", + "thiserror 2.0.12", ] -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" - -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" - [[package]] name = "dashcore-private" version = "0.1.0" source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" [[package]] -name = "dashcore-rpc" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore-rpc-json 0.15.2", - "env_logger 0.10.2", - "hex", - "jsonrpc", - "log", - "serde", - "serde_json", -] +name = "dashcore-private" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" [[package]] name = "dashcore-rpc" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-rpc-json 0.16.0", + "dashcore-rpc-json", "hex", "jsonrpc", "log", @@ -1079,25 +931,11 @@ dependencies = [ [[package]] name = "dashcore-rpc-json" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "bincode", - "dashcore 0.30.0", - "hex", - "serde", - "serde_json", - "serde_repr", - "serde_with", -] - -[[package]] -name = "dashcore-rpc-json" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" -dependencies = [ - "bincode", - "dashcore 0.35.0", + "dashcore", "hex", "serde", "serde_json", @@ -1105,58 +943,49 @@ dependencies = [ "serde_with", ] -[[package]] -name = "dashcore_hashes" -version = "0.12.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "rs-x11-hash", - "secp256k1 0.27.0", - "serde", -] - [[package]] name = "dashcore_hashes" version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" +source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "secp256k1 0.30.0", - "serde", + "dashcore-private 0.1.0", + "secp256k1", ] [[package]] name = "dashcore_hashes" -version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore)", - "secp256k1 0.30.0", + "dashcore-private 0.39.6", + "secp256k1", + "serde", ] [[package]] name = "dashpay-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "data-contracts" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dashpay-contract", "dpns-contract", "feature-flags-contract", + "keyword-search-contract", "masternode-reward-shares-contract", "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", + "token-history-contract", "wallet-utils-contract", "withdrawals-contract", ] @@ -1198,7 +1027,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", ] [[package]] @@ -1213,6 +1051,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + [[package]] name = "digest" version = "0.10.7" @@ -1243,31 +1092,33 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dpns-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "dpp" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "anyhow", "async-trait", "base64 0.22.1", "bincode", + "bincode_derive", "bs58", "byteorder", "chrono", + "chrono-tz", "ciborium", - "dashcore 0.35.0", + "dashcore", "data-contracts", - "derive_more", - "env_logger 0.11.5", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "derive_more 1.0.0", + "env_logger", + "ferment-macro 0.2.3", "getrandom", "hex", "indexmap 2.7.0", @@ -1276,7 +1127,6 @@ dependencies = [ "json-schema-compatibility-validator", "jsonschema", "lazy_static", - "log", "nohash-hasher", "num_enum 0.7.3", "once_cell", @@ -1287,26 +1137,23 @@ dependencies = [ "platform-versioning", "rand", "regex", - "rust_decimal", - "rust_decimal_macros", "serde", "serde_json", "serde_repr", "sha2", "strum", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "drive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "byteorder", - "derive_more", + "derive_more 1.0.0", "dpp", - "ferment 0.1.4", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.2.3", "grovedb", "grovedb-costs", "grovedb-epoch-based-storage-flags", @@ -1320,20 +1167,20 @@ dependencies = [ "platform-version", "serde", "sqlparser", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", ] [[package]] name = "drive-proof-verifier" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "dapi-grpc", - "derive_more", + "derive_more 1.0.0", "dpp", "drive", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.2.3", "hex", "indexmap 2.7.0", "platform-serialization", @@ -1341,7 +1188,7 @@ dependencies = [ "serde", "serde_json", "tenderdash-abci", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", ] @@ -1451,19 +1298,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.11.5" @@ -1521,64 +1355,59 @@ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "feature-flags-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "ferment" -version = "0.1.4" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ - "ansi_term", - "cargo_metadata", - "env_logger 0.11.5", - "ferment-macro 0.1.4", - "log", - "proc-macro2", - "quote", - "syn 1.0.109", + "indexmap 2.7.0", + "serde_json", ] [[package]] -name = "ferment" +name = "ferment-interfaces" version = "0.1.4" source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" dependencies = [ - "ansi_term", - "cargo_metadata", - "env_logger 0.11.5", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", - "log", - "proc-macro2", - "quote", - "syn 1.0.109", + "indexmap 2.7.0", ] [[package]] -name = "ferment-interfaces" +name = "ferment-macro" version = "0.1.4" source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" dependencies = [ - "indexmap 2.7.0", + "quote", + "syn 1.0.109", ] [[package]] name = "ferment-macro" -version = "0.1.4" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ "quote", "syn 1.0.109", ] [[package]] -name = "ferment-macro" -version = "0.1.4" -source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" +name = "ferment-sys" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ + "cargo_metadata", + "cbindgen 0.28.0", + "env_logger", + "ferment-macro 0.2.3", + "proc-macro2", "quote", "syn 1.0.109", ] @@ -1845,11 +1674,12 @@ dependencies = [ [[package]] name = "grovedb" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf36cc41af86d8ccb8b7f64fd15006cd83ec979c49cd2ad30628bf855c54d7d" +checksum = "611077565b279965fa34897787ae52f79471f0476db785116cceb92077f237ad" dependencies = [ "bincode", + "bincode_derive", "blake3", "grovedb-costs", "grovedb-merk", @@ -1866,9 +1696,9 @@ dependencies = [ [[package]] name = "grovedb-costs" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc526a58bdca58cb86340632081e27264e3557a73608cf29f6738ad9bfab316" +checksum = "0ab159c3f82b0387f6a27a54930b18aa594b507013de947c8e909cf61abb75fe" dependencies = [ "integer-encoding", "intmap", @@ -1877,9 +1707,9 @@ dependencies = [ [[package]] name = "grovedb-epoch-based-storage-flags" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd5f01eb50ff57b2c24e856377684d42dacdbd04de7c0189bf2e0e0cd109692" +checksum = "3dce2f34c6bfddb3a26696b42e6169f986330513e0e9f4c5d7ba290d09867a5e" dependencies = [ "grovedb-costs", "hex", @@ -1890,12 +1720,14 @@ dependencies = [ [[package]] name = "grovedb-merk" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce3b133a76e9935f3a57e08598769849d79df582244e1ac99509177e23c2605" +checksum = "4580e54da0031d2f36e50312f3361005099bceeb8adb0f6ccbf87a0880cd1b08" dependencies = [ "bincode", + "bincode_derive", "blake3", + "byteorder", "ed", "grovedb-costs", "grovedb-path", @@ -1909,15 +1741,18 @@ dependencies = [ [[package]] name = "grovedb-path" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67dc8bc00b9be473f7b25670d1422daadd706c9b09ed6aa5cf2caf8722a487ac" +checksum = "0d61e09bb3055358974ceb65b91752064979450092014d91a6bc4a52d77887ea" +dependencies = [ + "hex", +] [[package]] name = "grovedb-version" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a987e051c8c9cf8fa381b29b243d4951f8c1f24f9c90ceed52afca3ac460986c" +checksum = "2d61d27c76d49758b365a9e4a9da7f995f976b9525626bf645aef258024defd2" dependencies = [ "thiserror 2.0.12", "versioned-feature-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1925,9 +1760,9 @@ dependencies = [ [[package]] name = "grovedb-visualize" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56eee6f57d324505611de0042af2b6b9933235e704a1a6542ff7ba5b5c56f64e" +checksum = "eaebfe3c1e5f263f14fd25ab060543b31eb4b9d6bdc44fe220e88df6be7ddf59" dependencies = [ "hex", "itertools 0.14.0", @@ -1954,9 +1789,13 @@ dependencies = [ [[package]] name = "half" -version = "1.8.3" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] [[package]] name = "hash32" @@ -1972,9 +1811,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -1982,7 +1818,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2034,12 +1870,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hex" version = "0.4.3" @@ -2088,15 +1918,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2358,17 +2179,6 @@ version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2410,10 +2220,11 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2430,19 +2241,19 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "json-patch", "once_cell", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "jsonrpc" -version = "0.14.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8128f36b47411cd3f044be8c1f5cc0c9e24d1d1bfdc45f0a57897b32513053f2" +checksum = "3662a38d341d77efecb73caf01420cfa5aa63c0253fd7bc05289ef9f6616e1bf" dependencies = [ "base64 0.13.1", "serde", @@ -2454,7 +2265,7 @@ name = "jsonschema" version = "0.18.0" source = "git+https://github.com/dashpay/jsonschema-rs?branch=configure_regexp#7b00a2442ce44772e278b468bc4c2adc5e252226" dependencies = [ - "ahash 0.8.11", + "ahash", "anyhow", "base64 0.22.1", "bytecount", @@ -2485,18 +2296,22 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "keyword-search-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lhash" version = "1.1.0" @@ -2509,16 +2324,6 @@ version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets", -] - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2543,9 +2348,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" @@ -2558,12 +2363,12 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -2575,12 +2380,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "memchr" version = "2.7.4" @@ -2874,7 +2673,7 @@ version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2982,16 +2781,19 @@ dependencies = [ ] [[package]] -name = "paste" -version = "1.0.15" +name = "parse-zoneinfo" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -3009,6 +2811,44 @@ dependencies = [ "indexmap 2.7.0", ] +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.6" @@ -3059,15 +2899,15 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "platform-mobile" -version = "1.7.3" +version = "2.0.0" dependencies = [ "async-trait", "base64 0.13.1", "dapi-grpc", "dash-sdk", - "dashcore 0.30.0", - "dashcore-rpc 0.15.2", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore)", + "dashcore", + "dashcore-rpc", + "dashcore_hashes 0.14.0", "dashpay-contract", "data-contracts", "dotenvy", @@ -3076,8 +2916,8 @@ dependencies = [ "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro 0.2.3", "hex", "http 0.2.12", "lazy_static", @@ -3104,7 +2944,7 @@ dependencies = [ [[package]] name = "platform-serialization" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "platform-version", @@ -3112,7 +2952,7 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3122,43 +2962,40 @@ dependencies = [ [[package]] name = "platform-value" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", "bs58", - "cbindgen", + "cbindgen 0.26.0", "ciborium", - "ferment 0.1.4", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.2.3", "hex", "indexmap 2.7.0", - "lazy_static", "platform-serialization", "platform-version", "rand", - "regex", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", "treediff", ] [[package]] name = "platform-version" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.2.3", "grovedb-version", "once_cell", - "thiserror 1.0.64", + "thiserror 2.0.12", "versioned-feature-core 1.0.0 (git+https://github.com/dashpay/versioned-feature-core)", ] [[package]] name = "platform-versioning" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3215,29 +3052,6 @@ dependencies = [ "toml_edit 0.22.22", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.92" @@ -3309,26 +3123,6 @@ dependencies = [ "prost 0.13.3", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "quote" version = "1.0.37" @@ -3398,7 +3192,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", ] [[package]] @@ -3445,15 +3239,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.12.8" @@ -3513,90 +3298,30 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rkyv" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rs-dapi-client" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "backon", "chrono", "dapi-grpc", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro 0.2.3", "futures", + "getrandom", + "gloo-timers", "hex", + "http 1.1.0", "http-serde", "lru", "rand", "serde", "serde_json", "sha2", - "thiserror 1.0.64", + "thiserror 2.0.12", "tokio", + "tonic-web-wasm-client", "tracing", -] - -[[package]] -name = "rs-x11-hash" -version = "0.1.9" -source = "git+https://github.com/hashengineering/rs-x11-hash?branch=feat%2Fadd-android-support#fb870999df16dbc3649c6b63279757e19e5234f7" -dependencies = [ - "bindgen", - "cc", - "libc", -] - -[[package]] -name = "rust_decimal" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" -dependencies = [ - "arrayvec", - "borsh", - "bytes", - "num-traits", - "rand", - "rkyv", - "serde", - "serde_json", -] - -[[package]] -name = "rust_decimal_macros" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da991f231869f34268415a49724c6578e740ad697ba0999199d6f22b3949332c" -dependencies = [ - "quote", - "rust_decimal", + "wasm-bindgen-futures", ] [[package]] @@ -3605,12 +3330,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.4.1" @@ -3626,7 +3345,7 @@ version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys", @@ -3635,9 +3354,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "log", "once_cell", @@ -3672,15 +3391,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.9.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -3689,9 +3411,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -3723,12 +3445,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.7.3" @@ -3743,39 +3459,18 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" -dependencies = [ - "bitcoin_hashes 0.12.0", - "rand", - "secp256k1-sys 0.8.1", - "serde", -] - [[package]] name = "secp256k1" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ - "bitcoin_hashes 0.14.0", + "bitcoin_hashes", "rand", - "secp256k1-sys 0.10.1", + "secp256k1-sys", "serde", ] -[[package]] -name = "secp256k1-sys" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" -dependencies = [ - "cc", -] - [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -3791,7 +3486,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation", "core-foundation-sys", "libc", @@ -3819,9 +3514,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -3846,9 +3541,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -3857,9 +3552,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "indexmap 2.7.0", "itoa", @@ -3879,6 +3574,15 @@ dependencies = [ "syn 2.0.95", ] +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3980,22 +3684,22 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "simple-signer" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", - "dashcore-rpc 0.16.0", + "dashcore-rpc", "dpp", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -4136,18 +3840,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.95", -] - [[package]] name = "sync_wrapper" version = "1.0.1" @@ -4163,7 +3855,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation", "system-configuration-sys", ] @@ -4199,28 +3891,27 @@ dependencies = [ [[package]] name = "tenderdash-abci" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "hex", "lhash", "semver", - "serde_json", "tenderdash-proto", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", "url", ] [[package]] name = "tenderdash-proto" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "chrono", - "derive_more", + "derive_more 2.0.1", "flex-error", "num-derive", "num-traits", @@ -4229,19 +3920,17 @@ dependencies = [ "subtle-encoding", "tenderdash-proto-compiler", "time", - "tonic 0.12.3", ] [[package]] name = "tenderdash-proto-compiler" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "fs_extra", "prost-build", "regex", "tempfile", - "tonic-build", "ureq", "walkdir", "zip", @@ -4367,6 +4056,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "token-history-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "tokio" version = "1.40.0" @@ -4406,12 +4105,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] @@ -4448,11 +4146,26 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.22", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -4472,6 +4185,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap 2.7.0", + "serde", + "serde_spanned", "toml_datetime", "winnow 0.6.20", ] @@ -4499,13 +4214,11 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", - "axum", "base64 0.22.1", "bytes", "h2", @@ -4519,7 +4232,6 @@ dependencies = [ "pin-project", "prost 0.13.3", "rustls-native-certs", - "rustls-pemfile", "socket2", "tokio", "tokio-rustls", @@ -4533,9 +4245,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", @@ -4545,18 +4257,43 @@ dependencies = [ "syn 2.0.95", ] +[[package]] +name = "tonic-web-wasm-client" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66e3bb7acca55e6790354be650f4042d418fcf8e2bc42ac382348f2b6bf057e5" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "httparse", + "js-sys", + "pin-project", + "thiserror 2.0.12", + "tonic 0.13.1", + "tower-service", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + [[package]] name = "tower" -version = "0.4.13" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "indexmap 2.7.0", - "pin-project", "pin-project-lite", - "rand", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -4566,13 +4303,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -4708,20 +4447,35 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +checksum = "217751151c53226090391713e533d9a5e904ba2570dabaaace29032687589c3e" dependencies = [ "base64 0.22.1", + "cc", "flate2", "log", - "once_cell", + "percent-encoding", "rustls", + "rustls-pemfile", "rustls-pki-types", - "url", + "ureq-proto", + "utf-8", "webpki-roots", ] +[[package]] +name = "ureq-proto" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae239d0a3341aebc94259414d1dc67cfce87d41cbebc816772c91b77902fafa4" +dependencies = [ + "base64 0.22.1", + "http 1.1.0", + "httparse", + "log", +] + [[package]] name = "url" version = "2.5.2" @@ -4733,6 +4487,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8parse" version = "0.2.2" @@ -4817,12 +4577,12 @@ dependencies = [ [[package]] name = "wallet-utils-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -4842,24 +4602,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.95", @@ -4868,21 +4628,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4890,9 +4651,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -4903,39 +4664,43 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] -name = "web-sys" -version = "0.3.72" +name = "wasm-streams" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ + "futures-util", "js-sys", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "webpki-roots" -version = "0.26.6" +name = "web-sys" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ - "rustls-pki-types", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "which" -version = "4.4.2" +name = "webpki-roots" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ - "either", - "home", - "once_cell", - "rustix", + "rustls-pki-types", ] [[package]] @@ -5110,7 +4875,7 @@ dependencies = [ [[package]] name = "withdrawals-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "num_enum 0.5.11", "platform-value", @@ -5118,7 +4883,7 @@ dependencies = [ "serde", "serde_json", "serde_repr", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -5202,3 +4967,23 @@ dependencies = [ "once_cell", "simd-adler32", ] + +[[patch.unused]] +name = "rs-x11-hash" +version = "0.1.9" +source = "git+https://github.com/hashengineering/rs-x11-hash?branch=feat%2Fadd-android-support#fb870999df16dbc3649c6b63279757e19e5234f7" + +[[patch.unused]] +name = "tower" +version = "0.4.13" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" + +[[patch.unused]] +name = "tower-layer" +version = "0.3.2" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" + +[[patch.unused]] +name = "tower-service" +version = "0.3.2" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" diff --git a/dash-sdk-android/src/main/rust/Cargo.toml b/dash-sdk-android/src/main/rust/Cargo.toml index 8a342c8..f081fe1 100644 --- a/dash-sdk-android/src/main/rust/Cargo.toml +++ b/dash-sdk-android/src/main/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-sdk-bindings" -version = "1.0.0" +version = "2.0.0" edition = "2021" [dependencies] @@ -22,16 +22,19 @@ dashcore = { git = "https://github.com/dashpay/rust-dashcore", features = [ "rand", "signer", "serde", -], default-features = false, branch = "master" } +], default-features = false, tag = "v0.39.6" } drive = { path = "../../../../../platform/packages/rs-drive", default-features = false, features = [ "verify", "serde", ] } drive-proof-verifier = { path = "../../../../../platform/packages/rs-drive-proof-verifier"} +ferment = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment" } [build-dependencies] cbindgen = "0.26.0" -ferment = { git = "https://github.com/dashpay/ferment", branch = "feat/opaque-default", package = "ferment" } +# ferment = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment" } +ferment-sys = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-sys", features = ["cbindgen_only"] } +#ferment-sys = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-sys" } [patch.crates-io] tower-service = { git = "https://github.com/QuantumExplorer/tower", branch = "fix/indexMap2OnV0413" } diff --git a/dash-sdk-android/src/main/rust/build.rs b/dash-sdk-android/src/main/rust/build.rs index 52bdfde..83016b4 100644 --- a/dash-sdk-android/src/main/rust/build.rs +++ b/dash-sdk-android/src/main/rust/build.rs @@ -1,33 +1,23 @@ extern crate cbindgen; -extern crate ferment; +extern crate ferment_sys; -use std::process::Command; -use ferment::{Builder, Crate}; - -pub const SELF_NAME: &str = "rs_sdk_bindings"; fn main() { - - let c_header = format!("target/{}.h", SELF_NAME); - match Builder::new(Crate::current_with_name(SELF_NAME)) - .with_mod_name("fermented") - .with_crates( - vec![ - "platform-value", - "dpp", - "drive", - "drive-proof-verifier", - "dash-sdk", - "rs-dapi-client", - "platform-mobile" - ] - ) - .generate() { - Ok(()) => match Command::new("cbindgen") - .args(["--config", "cbindgen.toml", "-o", c_header.as_str()]) - .status() { - Ok(status) => println!("[cbindgen] [ok] generated into {c_header} with status: {status}"), - Err(err) => panic!("[cbindgen] [error] {err}") - } - Err(err) => panic!("[ferment] Can't create FFI expansion: {err}") - } + const SELF_NAME: &str = "dash_sdk_bindings"; + match ferment_sys::Ferment::with_crate_name(SELF_NAME) + .with_default_mod_name() + .with_cbindgen_config_from_file("cbindgen.toml") + .with_external_crates(vec![ + "platform-value", + "dpp", + "drive", + "dapi-grpc", + "drive-proof-verifier", + "dash-sdk", + "rs-dapi-client", + "platform-mobile" + ]) + .generate() { + Ok(_) => println!("[ferment] [ok]: {SELF_NAME}"), + Err(err) => panic!("[ferment] [err]: {}", err) + } } \ No newline at end of file diff --git a/dash-sdk-bindings/Cargo.lock b/dash-sdk-bindings/Cargo.lock index fe63439..0d3323d 100644 --- a/dash-sdk-bindings/Cargo.lock +++ b/dash-sdk-bindings/Cargo.lock @@ -17,17 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -72,15 +61,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.15" @@ -163,28 +143,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "async-trait" version = "0.1.83" @@ -219,61 +177,13 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "axum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" -dependencies = [ - "async-trait", - "axum-core", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "backon" -version = "1.2.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4fa97bb310c33c811334143cf64c5bb2b7b3c06e453db6b095d7061eff8f113" +checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7" dependencies = [ "fastrand", - "gloo-timers", "tokio", ] @@ -316,6 +226,15 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64-compat" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8d4d2746f89841e49230dd26917df1876050f95abafafbe34f47cb534b88d7" +dependencies = [ + "byteorder", +] + [[package]] name = "base64ct" version = "1.6.0" @@ -347,29 +266,6 @@ dependencies = [ "virtue 0.0.13", ] -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.87", - "which", -] - [[package]] name = "bip37-bloom-filter" version = "0.1.0" @@ -401,21 +297,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" -[[package]] -name = "bitcoin-private" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" - -[[package]] -name = "bitcoin_hashes" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" -dependencies = [ - "bitcoin-private", -] - [[package]] name = "bitcoin_hashes" version = "0.14.0" @@ -434,9 +315,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "bitvec" @@ -452,9 +333,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.6.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -492,7 +373,7 @@ dependencies = [ "sha2", "sha3", "subtle", - "thiserror 2.0.11", + "thiserror 2.0.12", "uint-zigzag", "vsss-rs", "zeroize", @@ -528,30 +409,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.87", - "syn_derive", -] - [[package]] name = "bs58" version = "0.5.1" @@ -567,28 +424,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bytecount" version = "0.6.8" @@ -612,34 +447,34 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] @@ -648,7 +483,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" dependencies = [ - "clap", + "clap 3.2.25", "heck 0.4.1", "indexmap 1.9.3", "log", @@ -662,21 +497,31 @@ dependencies = [ ] [[package]] -name = "cc" -version = "1.2.16" +name = "cbindgen" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff" dependencies = [ - "shlex", + "clap 4.5.40", + "heck 0.4.1", + "indexmap 2.7.0", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.87", + "tempfile", + "toml 0.8.19", ] [[package]] -name = "cexpr" -version = "0.6.0" +name = "cc" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ - "nom", + "shlex", ] [[package]] @@ -685,12 +530,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chrono" version = "0.4.38" @@ -706,10 +545,33 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "chrono-tz" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + [[package]] name = "ciborium" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", @@ -718,29 +580,20 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "3.2.25" @@ -749,13 +602,34 @@ checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", "bitflags 1.3.2", - "clap_lex", + "clap_lex 0.2.4", "indexmap 1.9.3", "strsim 0.10.0", "termcolor", "textwrap", ] +[[package]] +name = "clap" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.7.5", + "strsim 0.11.1", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -765,6 +639,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" + [[package]] name = "colorchoice" version = "1.0.2" @@ -832,6 +712,12 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -884,23 +770,24 @@ dependencies = [ [[package]] name = "dapi-grpc" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dapi-grpc-macros", "futures-core", + "getrandom", "platform-version", "prost 0.13.3", "serde", "serde_bytes", "serde_json", "tenderdash-proto", - "tonic 0.12.3", + "tonic 0.13.1", "tonic-build", ] [[package]] name = "dapi-grpc-macros" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "heck 0.5.0", "quote", @@ -944,7 +831,7 @@ dependencies = [ [[package]] name = "dash-sdk" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "arc-swap", "async-trait", @@ -954,15 +841,15 @@ dependencies = [ "ciborium", "dapi-grpc", "dapi-grpc-macros", - "dashcore-rpc 0.16.0", - "derive_more", + "dashcore-rpc", + "derive_more 1.0.0", "dotenvy", "dpp", "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro", "futures", "hex", "http 1.1.0", @@ -972,7 +859,7 @@ dependencies = [ "rustls-pemfile", "serde", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", "tokio", "tokio-util", "tracing", @@ -981,16 +868,17 @@ dependencies = [ [[package]] name = "dash-sdk-bindings" -version = "1.0.0" +version = "2.0.0" dependencies = [ - "cbindgen", + "cbindgen 0.26.0", "dash-sdk", + "dashcore", "dpp", "drive", "drive-proof-verifier", "ferment", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", + "ferment-sys", "platform-mobile", "platform-value", "toml 0.8.19", @@ -998,78 +886,42 @@ dependencies = [ [[package]] name = "dashcore" -version = "0.30.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#a29315dbe56729be1be963fb6f7b60a22288663f" -dependencies = [ - "anyhow", - "bech32", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore_hashes 0.12.0", - "hex", - "hex_lit", - "rustversion", - "secp256k1 0.27.0", - "serde", -] - -[[package]] -name = "dashcore" -version = "0.35.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "anyhow", + "base64-compat", "bech32", - "bitflags 2.6.0", + "bitflags 2.9.1", + "blake3", "blsful", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", + "dashcore-private 0.39.6", + "dashcore_hashes 0.39.6", "ed25519-dalek", "hex", "hex_lit", - "lazy_static", "rustversion", - "secp256k1 0.30.0", + "secp256k1", "serde", - "serde_repr", - "strum", + "thiserror 2.0.12", ] -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" - -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#a29315dbe56729be1be963fb6f7b60a22288663f" - [[package]] name = "dashcore-private" version = "0.1.0" source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" [[package]] -name = "dashcore-rpc" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore-rpc-json 0.15.2", - "env_logger 0.10.2", - "hex", - "jsonrpc", - "log", - "serde", - "serde_json", -] +name = "dashcore-private" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" [[package]] name = "dashcore-rpc" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-rpc-json 0.16.0", + "dashcore-rpc-json", "hex", "jsonrpc", "log", @@ -1079,25 +931,11 @@ dependencies = [ [[package]] name = "dashcore-rpc-json" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" -dependencies = [ - "bincode", - "dashcore 0.30.0", - "hex", - "serde", - "serde_json", - "serde_repr", - "serde_with", -] - -[[package]] -name = "dashcore-rpc-json" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "bincode", - "dashcore 0.35.0", + "dashcore", "hex", "serde", "serde_json", @@ -1105,58 +943,49 @@ dependencies = [ "serde_with", ] -[[package]] -name = "dashcore_hashes" -version = "0.12.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#a29315dbe56729be1be963fb6f7b60a22288663f" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "rs-x11-hash", - "secp256k1 0.27.0", - "serde", -] - [[package]] name = "dashcore_hashes" version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" +source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "secp256k1 0.30.0", - "serde", + "dashcore-private 0.1.0", + "secp256k1", ] [[package]] name = "dashcore_hashes" -version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore)", - "secp256k1 0.30.0", + "dashcore-private 0.39.6", + "secp256k1", + "serde", ] [[package]] name = "dashpay-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] name = "data-contracts" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dashpay-contract", "dpns-contract", "feature-flags-contract", + "keyword-search-contract", "masternode-reward-shares-contract", "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", + "token-history-contract", "wallet-utils-contract", "withdrawals-contract", ] @@ -1198,7 +1027,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", ] [[package]] @@ -1213,6 +1051,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "digest" version = "0.10.7" @@ -1243,31 +1092,33 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dpns-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] name = "dpp" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "anyhow", "async-trait", "base64 0.22.1", "bincode", + "bincode_derive", "bs58", "byteorder", "chrono", + "chrono-tz", "ciborium", - "dashcore 0.35.0", + "dashcore", "data-contracts", - "derive_more", - "env_logger 0.11.5", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "derive_more 1.0.0", + "env_logger", + "ferment-macro", "getrandom", "hex", "indexmap 2.7.0", @@ -1276,7 +1127,6 @@ dependencies = [ "json-schema-compatibility-validator", "jsonschema", "lazy_static", - "log", "nohash-hasher", "num_enum 0.7.3", "once_cell", @@ -1287,26 +1137,23 @@ dependencies = [ "platform-versioning", "rand", "regex", - "rust_decimal", - "rust_decimal_macros", "serde", "serde_json", "serde_repr", "sha2", "strum", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] name = "drive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "byteorder", - "derive_more", + "derive_more 1.0.0", "dpp", - "ferment", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "grovedb", "grovedb-costs", "grovedb-epoch-based-storage-flags", @@ -1320,20 +1167,20 @@ dependencies = [ "platform-version", "serde", "sqlparser", - "thiserror 1.0.68", + "thiserror 2.0.12", "tracing", ] [[package]] name = "drive-proof-verifier" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "dapi-grpc", - "derive_more", + "derive_more 1.0.0", "dpp", "drive", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "hex", "indexmap 2.7.0", "platform-serialization", @@ -1341,7 +1188,7 @@ dependencies = [ "serde", "serde_json", "tenderdash-abci", - "thiserror 1.0.68", + "thiserror 2.0.12", "tracing", ] @@ -1451,19 +1298,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.11.5" @@ -1521,49 +1355,42 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "feature-flags-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] name = "ferment" -version = "0.1.4" -dependencies = [ - "ansi_term", - "cargo_metadata", - "env_logger 0.11.5", - "ferment-macro 0.1.4", - "log", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ferment-interfaces" -version = "0.1.4" -source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ "indexmap 2.7.0", + "serde_json", ] [[package]] name = "ferment-macro" -version = "0.1.4" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ "quote", "syn 1.0.109", ] [[package]] -name = "ferment-macro" -version = "0.1.4" -source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" +name = "ferment-sys" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ + "cargo_metadata", + "cbindgen 0.28.0", + "env_logger", + "ferment-macro", + "proc-macro2", "quote", "syn 1.0.109", ] @@ -1830,11 +1657,12 @@ dependencies = [ [[package]] name = "grovedb" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf36cc41af86d8ccb8b7f64fd15006cd83ec979c49cd2ad30628bf855c54d7d" +checksum = "611077565b279965fa34897787ae52f79471f0476db785116cceb92077f237ad" dependencies = [ "bincode", + "bincode_derive", "blake3", "grovedb-costs", "grovedb-merk", @@ -1846,41 +1674,43 @@ dependencies = [ "integer-encoding", "reqwest", "sha2", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-costs" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc526a58bdca58cb86340632081e27264e3557a73608cf29f6738ad9bfab316" +checksum = "0ab159c3f82b0387f6a27a54930b18aa594b507013de947c8e909cf61abb75fe" dependencies = [ "integer-encoding", "intmap", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-epoch-based-storage-flags" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd5f01eb50ff57b2c24e856377684d42dacdbd04de7c0189bf2e0e0cd109692" +checksum = "3dce2f34c6bfddb3a26696b42e6169f986330513e0e9f4c5d7ba290d09867a5e" dependencies = [ "grovedb-costs", "hex", "integer-encoding", "intmap", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-merk" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce3b133a76e9935f3a57e08598769849d79df582244e1ac99509177e23c2605" +checksum = "4580e54da0031d2f36e50312f3361005099bceeb8adb0f6ccbf87a0880cd1b08" dependencies = [ "bincode", + "bincode_derive", "blake3", + "byteorder", "ed", "grovedb-costs", "grovedb-path", @@ -1889,30 +1719,33 @@ dependencies = [ "hex", "indexmap 2.7.0", "integer-encoding", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-path" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67dc8bc00b9be473f7b25670d1422daadd706c9b09ed6aa5cf2caf8722a487ac" +checksum = "0d61e09bb3055358974ceb65b91752064979450092014d91a6bc4a52d77887ea" +dependencies = [ + "hex", +] [[package]] name = "grovedb-version" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a987e051c8c9cf8fa381b29b243d4951f8c1f24f9c90ceed52afca3ac460986c" +checksum = "2d61d27c76d49758b365a9e4a9da7f995f976b9525626bf645aef258024defd2" dependencies = [ - "thiserror 2.0.11", + "thiserror 2.0.12", "versioned-feature-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "grovedb-visualize" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56eee6f57d324505611de0042af2b6b9933235e704a1a6542ff7ba5b5c56f64e" +checksum = "eaebfe3c1e5f263f14fd25ab060543b31eb4b9d6bdc44fe220e88df6be7ddf59" dependencies = [ "hex", "itertools 0.14.0", @@ -1939,9 +1772,13 @@ dependencies = [ [[package]] name = "half" -version = "1.8.3" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] [[package]] name = "hash32" @@ -1957,9 +1794,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -1967,7 +1801,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2067,15 +1901,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2337,17 +2162,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is-terminal" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2389,10 +2203,11 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2409,19 +2224,19 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "json-patch", "once_cell", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] name = "jsonrpc" -version = "0.14.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8128f36b47411cd3f044be8c1f5cc0c9e24d1d1bfdc45f0a57897b32513053f2" +checksum = "3662a38d341d77efecb73caf01420cfa5aa63c0253fd7bc05289ef9f6616e1bf" dependencies = [ "base64 0.13.1", "serde", @@ -2433,7 +2248,7 @@ name = "jsonschema" version = "0.18.0" source = "git+https://github.com/dashpay/jsonschema-rs?branch=configure_regexp#7b00a2442ce44772e278b468bc4c2adc5e252226" dependencies = [ - "ahash 0.8.11", + "ahash", "anyhow", "base64 0.22.1", "bytecount", @@ -2464,18 +2279,22 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "keyword-search-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lhash" version = "1.1.0" @@ -2488,16 +2307,6 @@ version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2522,9 +2331,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" @@ -2537,12 +2346,12 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] @@ -2554,12 +2363,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "memchr" version = "2.7.4" @@ -2853,7 +2656,7 @@ version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2961,16 +2764,19 @@ dependencies = [ ] [[package]] -name = "paste" -version = "1.0.15" +name = "parse-zoneinfo" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -2988,6 +2794,44 @@ dependencies = [ "indexmap 2.7.0", ] +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.5" @@ -3038,15 +2882,15 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platform-mobile" -version = "1.7.3" +version = "2.0.0" dependencies = [ "async-trait", "base64 0.13.1", "dapi-grpc", "dash-sdk", - "dashcore 0.30.0", - "dashcore-rpc 0.15.2", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore)", + "dashcore", + "dashcore-rpc", + "dashcore_hashes 0.14.0", "dashpay-contract", "data-contracts", "dotenvy", @@ -3055,8 +2899,8 @@ dependencies = [ "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro", "hex", "http 0.2.12", "lazy_static", @@ -3083,7 +2927,7 @@ dependencies = [ [[package]] name = "platform-serialization" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "platform-version", @@ -3091,7 +2935,7 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3101,43 +2945,40 @@ dependencies = [ [[package]] name = "platform-value" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", "bs58", - "cbindgen", + "cbindgen 0.26.0", "ciborium", - "ferment", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "hex", "indexmap 2.7.0", - "lazy_static", "platform-serialization", "platform-version", "rand", - "regex", "serde", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", "treediff", ] [[package]] name = "platform-version" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "grovedb-version", "once_cell", - "thiserror 1.0.68", + "thiserror 2.0.12", "versioned-feature-core 1.0.0 (git+https://github.com/dashpay/versioned-feature-core)", ] [[package]] name = "platform-versioning" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3194,29 +3035,6 @@ dependencies = [ "toml_edit 0.21.1", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.86" @@ -3288,26 +3106,6 @@ dependencies = [ "prost 0.13.3", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "quote" version = "1.0.37" @@ -3377,7 +3175,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", ] [[package]] @@ -3424,15 +3222,6 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.12.5" @@ -3492,90 +3281,30 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rkyv" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rs-dapi-client" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "backon", "chrono", "dapi-grpc", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "futures", + "getrandom", + "gloo-timers", "hex", + "http 1.1.0", "http-serde", "lru", "rand", "serde", "serde_json", "sha2", - "thiserror 1.0.68", + "thiserror 2.0.12", "tokio", + "tonic-web-wasm-client", "tracing", -] - -[[package]] -name = "rs-x11-hash" -version = "0.1.9" -source = "git+https://github.com/hashengineering/rs-x11-hash?branch=feat%2Fadd-android-support#fb870999df16dbc3649c6b63279757e19e5234f7" -dependencies = [ - "bindgen", - "cc", - "libc", -] - -[[package]] -name = "rust_decimal" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" -dependencies = [ - "arrayvec", - "borsh", - "bytes", - "num-traits", - "rand", - "rkyv", - "serde", - "serde_json", -] - -[[package]] -name = "rust_decimal_macros" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a05bf7103af0797dbce0667c471946b29b9eaea34652eff67324f360fec027de" -dependencies = [ - "quote", - "rust_decimal", + "wasm-bindgen-futures", ] [[package]] @@ -3584,12 +3313,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.4.0" @@ -3605,7 +3328,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys", @@ -3614,9 +3337,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "log", "once_cell", @@ -3652,15 +3375,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -3669,9 +3395,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -3703,12 +3429,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.7.3" @@ -3723,39 +3443,18 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" -dependencies = [ - "bitcoin_hashes 0.12.0", - "rand", - "secp256k1-sys 0.8.1", - "serde", -] - [[package]] name = "secp256k1" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ - "bitcoin_hashes 0.14.0", + "bitcoin_hashes", "rand", - "secp256k1-sys 0.10.1", + "secp256k1-sys", "serde", ] -[[package]] -name = "secp256k1-sys" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" -dependencies = [ - "cc", -] - [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -3771,7 +3470,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation", "core-foundation-sys", "libc", @@ -3799,9 +3498,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.214" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -3826,9 +3525,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.214" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -3837,9 +3536,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.122" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "indexmap 2.7.0", "itoa", @@ -3969,22 +3668,22 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - [[package]] name = "simple-signer" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", - "dashcore-rpc 0.16.0", + "dashcore-rpc", "dpp", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -4125,18 +3824,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "sync_wrapper" version = "1.0.1" @@ -4185,28 +3872,27 @@ dependencies = [ [[package]] name = "tenderdash-abci" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "hex", "lhash", "semver", - "serde_json", "tenderdash-proto", - "thiserror 1.0.68", + "thiserror 2.0.12", "tracing", "url", ] [[package]] name = "tenderdash-proto" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "chrono", - "derive_more", + "derive_more 2.0.1", "flex-error", "num-derive", "num-traits", @@ -4215,19 +3901,17 @@ dependencies = [ "subtle-encoding", "tenderdash-proto-compiler", "time", - "tonic 0.12.3", ] [[package]] name = "tenderdash-proto-compiler" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "fs_extra", "prost-build", "regex", "tempfile", - "tonic-build", "ureq", "walkdir", "zip", @@ -4259,11 +3943,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -4279,9 +3963,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", @@ -4353,6 +4037,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "token-history-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "tokio" version = "1.41.0" @@ -4392,12 +4086,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] @@ -4513,13 +4206,11 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", - "axum", "base64 0.22.1", "bytes", "h2", @@ -4533,7 +4224,6 @@ dependencies = [ "pin-project", "prost 0.13.3", "rustls-native-certs", - "rustls-pemfile", "socket2", "tokio", "tokio-rustls", @@ -4547,9 +4237,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", @@ -4559,18 +4249,43 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "tonic-web-wasm-client" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66e3bb7acca55e6790354be650f4042d418fcf8e2bc42ac382348f2b6bf057e5" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "httparse", + "js-sys", + "pin-project", + "thiserror 2.0.12", + "tonic 0.13.1", + "tower-service", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + [[package]] name = "tower" -version = "0.4.13" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "indexmap 2.7.0", - "pin-project", "pin-project-lite", - "rand", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -4580,13 +4295,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" -source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -4722,20 +4439,35 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +checksum = "217751151c53226090391713e533d9a5e904ba2570dabaaace29032687589c3e" dependencies = [ "base64 0.22.1", + "cc", "flate2", "log", - "once_cell", + "percent-encoding", "rustls", + "rustls-pemfile", "rustls-pki-types", - "url", + "ureq-proto", + "utf-8", "webpki-roots", ] +[[package]] +name = "ureq-proto" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae239d0a3341aebc94259414d1dc67cfce87d41cbebc816772c91b77902fafa4" +dependencies = [ + "base64 0.22.1", + "http 1.1.0", + "httparse", + "log", +] + [[package]] name = "url" version = "2.5.2" @@ -4747,6 +4479,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8parse" version = "0.2.2" @@ -4831,12 +4569,12 @@ dependencies = [ [[package]] name = "wallet-utils-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] @@ -4856,23 +4594,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.87", @@ -4881,21 +4620,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4903,9 +4643,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -4916,39 +4656,43 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] -name = "web-sys" -version = "0.3.69" +name = "wasm-streams" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" dependencies = [ + "futures-util", "js-sys", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "webpki-roots" -version = "0.26.3" +name = "web-sys" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ - "rustls-pki-types", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "which" -version = "4.4.2" +name = "webpki-roots" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" dependencies = [ - "either", - "home", - "once_cell", - "rustix", + "rustls-pki-types", ] [[package]] @@ -5169,7 +4913,7 @@ dependencies = [ [[package]] name = "withdrawals-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "num_enum 0.5.11", "platform-value", @@ -5177,7 +4921,7 @@ dependencies = [ "serde", "serde_json", "serde_repr", - "thiserror 1.0.68", + "thiserror 2.0.12", ] [[package]] @@ -5261,3 +5005,23 @@ dependencies = [ "once_cell", "simd-adler32", ] + +[[patch.unused]] +name = "rs-x11-hash" +version = "0.1.9" +source = "git+https://github.com/hashengineering/rs-x11-hash?branch=feat%2Fadd-android-support#fb870999df16dbc3649c6b63279757e19e5234f7" + +[[patch.unused]] +name = "tower" +version = "0.4.13" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" + +[[patch.unused]] +name = "tower-layer" +version = "0.3.2" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" + +[[patch.unused]] +name = "tower-service" +version = "0.3.2" +source = "git+https://github.com/QuantumExplorer/tower?branch=fix%2FindexMap2OnV0413#5286f8c605d10f48d51254f2434c5ab3fc5d7779" diff --git a/dash-sdk-bindings/Cargo.toml b/dash-sdk-bindings/Cargo.toml index 187b01e..cedb061 100644 --- a/dash-sdk-bindings/Cargo.toml +++ b/dash-sdk-bindings/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "dash-sdk-bindings" -version = "1.0.0" +version = "2.0.0" edition = "2021" [dependencies] -ferment-interfaces = { git = "https://github.com/dashpay/ferment", branch = "feat/opaque-default", package = "ferment-interfaces" } -ferment-macro = { git = "https://github.com/dashpay/ferment", branch = "feat/opaque-default", package = "ferment-macro" } +ferment = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment" } +ferment-macro = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-macro" } platform-mobile = { path = "../platform-mobile"} # dependencies required by ferment platform-value = { path = "../../platform/packages/rs-platform-value" } @@ -21,10 +21,17 @@ drive = { path = "../../platform/packages/rs-drive", default-features = false, f ] } #tokio = { version = "1.34", features = ["full"] } #tokio-util = "0.7.11" - +dashcore = { git = "https://github.com/dashpay/rust-dashcore", features = [ + "std", + "secp-recovery", + "rand", + "signer", + "serde", +], default-features = false, tag = "v0.39.6" } [build-dependencies] cbindgen = "0.26.0" -ferment = { path = "../../ferment/ferment" } +ferment-sys = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-sys", features = ["cbindgen_only"] } +#ferment-sys = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-sys"} toml = "0.8.8" [patch.crates-io] diff --git a/dash-sdk-bindings/build.rs b/dash-sdk-bindings/build.rs index b17739a..83016b4 100644 --- a/dash-sdk-bindings/build.rs +++ b/dash-sdk-bindings/build.rs @@ -1,34 +1,23 @@ extern crate cbindgen; -extern crate ferment; +extern crate ferment_sys; -use std::process::Command; -use ferment::{Builder, Crate}; - -pub const SELF_NAME: &str = "dash_sdk_bindings"; fn main() { - - let c_header = format!("target/{}.h", SELF_NAME); - match Builder::new(Crate::current_with_name(SELF_NAME)) - .with_mod_name("fermented") - .with_crates( - vec![ - "platform-value", - "dpp", - "drive", - "dapi-grpc", - "drive-proof-verifier", - "dash-sdk", - "rs-dapi-client", - "platform-mobile" - ] - ) - .generate() { - Ok(()) => match Command::new("cbindgen") - .args(["--config", "cbindgen.toml", "-o", c_header.as_str()]) - .status() { - Ok(status) => println!("[cbindgen] [ok] generated into {c_header} with status: {status}"), - Err(err) => panic!("[cbindgen] [error] {err}") - } - Err(err) => panic!("[ferment] Can't create FFI expansion: {err}") - } + const SELF_NAME: &str = "dash_sdk_bindings"; + match ferment_sys::Ferment::with_crate_name(SELF_NAME) + .with_default_mod_name() + .with_cbindgen_config_from_file("cbindgen.toml") + .with_external_crates(vec![ + "platform-value", + "dpp", + "drive", + "dapi-grpc", + "drive-proof-verifier", + "dash-sdk", + "rs-dapi-client", + "platform-mobile" + ]) + .generate() { + Ok(_) => println!("[ferment] [ok]: {SELF_NAME}"), + Err(err) => panic!("[ferment] [err]: {}", err) + } } \ No newline at end of file diff --git a/dash-sdk-bindings/rust-toolchain.toml b/dash-sdk-bindings/rust-toolchain.toml index 2584e77..f5a2eff 100644 --- a/dash-sdk-bindings/rust-toolchain.toml +++ b/dash-sdk-bindings/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] # Rust version the same as in /README.md -channel = "1.83" +channel = "1.85" diff --git a/dash-sdk-java/build.gradle b/dash-sdk-java/build.gradle index 8878859..8ebebc0 100644 --- a/dash-sdk-java/build.gradle +++ b/dash-sdk-java/build.gradle @@ -1,13 +1,12 @@ plugins { id 'java' -// id 'org.gradle.model' version '0.5' id 'cpp' id("dev.welbyseely.gradle-cmake-plugin") version "0.1.0" - id 'maven-publish' id 'jacoco' id 'signing' } +apply plugin: 'org.jreleaser' repositories { mavenLocal() @@ -87,7 +86,7 @@ task sourcesJar(type: Jar, dependsOn: classes) { // Create a separate test JAR task testJar(type: Jar) { - classifier = 'tests' // This adds '-tests' to the name of the JAR + archiveClassifier.set("tests") // This adds '-tests' to the name of the JAR from sourceSets.test.output // Package the test classes } @@ -136,13 +135,48 @@ publishing { } repositories { maven { - // change URLs to point to your repos, e.g. http://my.org/repo - def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" - def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" - url = project.rootProject.ext.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl - credentials { - username = project.hasProperty('ossrhUsername')?project.findProperty('ossrhUsername'):'' - password = project.hasProperty('ossrhPassword')?project.findProperty('ossrhPassword'):'' + url = layout.buildDirectory.dir('staging-deploy') + } + } +} + +jreleaser { + def projectVersion = rootProject.ext.version + project { + name = 'dash-sdk-java' + description = 'Dash SDK for Java' + website = 'https://dashj.org' + authors = ['HashEngineering'] + license = 'MIT' + gitRootSearch = true + version = projectVersion + } + + signing { + active = 'ALWAYS' + armored = true + } + + deploy { + maven { + mavenCentral { + sonatype { + active = 'ALWAYS' + url = 'https://central.sonatype.com/api/v1/publisher' + stagingRepository("$buildDir/staging-deploy") + } + } + nexus2 { + app { + active = 'SNAPSHOT' + url = 'https://central.sonatype.com/repository/maven-snapshots/' + snapshotUrl = 'https://central.sonatype.com/repository/maven-snapshots/' + applyMavenCentralRules = true + snapshotSupported = true + closeRepository = true + releaseRepository = true + stagingRepository("$buildDir/staging-deploy") + } } } } diff --git a/dash-sdk-java/ignore.py b/dash-sdk-java/ignore.py index 5dd1c08..de30f35 100755 --- a/dash-sdk-java/ignore.py +++ b/dash-sdk-java/ignore.py @@ -1,7 +1,7 @@ # ignore _ctor and _destroy functions import re -header_file_path = '../dash-sdk-bindings/target/dash_sdk_bindings.h' +header_file_path = '../dash-sdk-bindings/target/include/dash_sdk_bindings.h' output_file_path = 'src/main/swig/ignore.i' clone_file_path = 'src/main/cpp/clone.h' diff --git a/dash-sdk-java/src/main/cpp/context_provider.cpp b/dash-sdk-java/src/main/cpp/context_provider.cpp index c725324..f091099 100644 --- a/dash-sdk-java/src/main/cpp/context_provider.cpp +++ b/dash-sdk-java/src/main/cpp/context_provider.cpp @@ -1,7 +1,7 @@ #include #include "config.h" -#include "../../../../dash-sdk-bindings/target/dash_sdk_bindings.h" +#include "../../../../dash-sdk-bindings/target/include/dash_sdk_bindings.h" #include #include "jnihelper.h" #include "context_provider.h" diff --git a/dash-sdk-java/src/main/cpp/conversions.h b/dash-sdk-java/src/main/cpp/conversions.h index 97bf38a..ade4b45 100644 --- a/dash-sdk-java/src/main/cpp/conversions.h +++ b/dash-sdk-java/src/main/cpp/conversions.h @@ -7,7 +7,7 @@ #include #include "config.h" -#include "../../../../dash-sdk-bindings/target/dash_sdk_bindings.h" +#include "../../../../dash-sdk-bindings/target/include/dash_sdk_bindings.h" typedef std_collections_Map_keys_dpp_identity_identity_public_key_KeyID_values_dpp_identity_identity_public_key_IdentityPublicKey FermentMapKeyIDIdentityPublicKey; jobject fermented_tree_to_java_map_KeyID_IdentityPublicKey(JNIEnv * jenv, FermentMapKeyIDIdentityPublicKey * input); diff --git a/dash-sdk-java/src/main/swig/platform_value.i b/dash-sdk-java/src/main/swig/platform_value.i index 2937e72..a2f415e 100644 --- a/dash-sdk-java/src/main/swig/platform_value.i +++ b/dash-sdk-java/src/main/swig/platform_value.i @@ -25,8 +25,8 @@ CTYPE get##RTYPE() { \ %rename (PlatformValue) platform_value_Value; %extend platform_value_Value { CTOR_CLONE(Text, char *, memoryFactory.clone) - CTOR(U128, uint128_t) - CTOR(I128, int128_t) + //CTOR(U128, uint128_t) + //CTOR(I128, int128_t) //CTOR(U64, uint64_t) CTOR(I64, int64_t) //CTOR(U32, uint32_t) // ignored by SWIG @@ -113,13 +113,13 @@ CTYPE get##RTYPE() { \ VALUE_GET(I16, int16_t, i16) VALUE_GET(I32, int32_t, i32) VALUE_GET(I64, int64_t, i64) - VALUE_GET(I128, int128_t, i128) +// VALUE_GET(I128, int128_t, i128) VALUE_GET(U8, uint8_t, u8) VALUE_GET(U16, uint16_t, u16) VALUE_GET(U32, uint32_t, u32) VALUE_GET(U64, int64_t, u64) - VALUE_GET(U128, uint128_t, u128) + // VALUE_GET(U128, uint128_t, u128) VALUE_GET(Float, double, float_) @@ -149,7 +149,7 @@ VALUE_IGNORE(i8, I8); VALUE_IGNORE(i16, I16); VALUE_IGNORE(i32, I32); VALUE_IGNORE(i64, I64); -VALUE_IGNORE(i128, I128); +// VALUE_IGNORE(i128, I128); VALUE_IGNORE(u8, U8); VALUE_IGNORE(u16, U16); VALUE_IGNORE(u32, U32); diff --git a/dash-sdk-java/src/main/swig/root.i b/dash-sdk-java/src/main/swig/root.i index 0a36282..a98b4e0 100644 --- a/dash-sdk-java/src/main/swig/root.i +++ b/dash-sdk-java/src/main/swig/root.i @@ -2,7 +2,7 @@ %{ #include "config.h" -#include "../../../../dash-sdk-bindings/target/dash_sdk_bindings.h" +#include "../../../../dash-sdk-bindings/target/include/dash_sdk_bindings.h" #include "dpp.h" #include "conversions.h" @@ -91,7 +91,7 @@ import org.dashj.platform.sdk.base.BaseObject; %include "tests.i" // header files to convert to Java -%include "../../../../dash-sdk-bindings/target/dash_sdk_bindings.h" +%include "../../../../dash-sdk-bindings/target/include/dash_sdk_bindings.h" %include "src/main/cpp/dpp.h" // put missing structs here diff --git a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BaseTest.java b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BaseTest.java index 2bef68a..d37f55e 100644 --- a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BaseTest.java +++ b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BaseTest.java @@ -26,6 +26,10 @@ public class BaseTest { 44, 24, 16, (byte)146, (byte)129, (byte)193, 70, (byte)231, (byte)178, 113, (byte)188, }; + static byte[] walletUtilsContracId = new byte[]{ + 92, 20, 14, 101, 92, 2, 101, (byte)187, (byte)194, (byte)168, 8, 113, 109, (byte)225, (byte)132, 121, (byte)133, 19, 89, 24, (byte)173, + 81, (byte)205, (byte)253, 11, 118, 102, 75, (byte)169, 91, (byte)163, 124 + }; static MemoryFactory memoryFactory = MemoryFactory.getInstance(); diff --git a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BinaryDataTest.java b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BinaryDataTest.java index ea5d004..17ee7c1 100644 --- a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BinaryDataTest.java +++ b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/BinaryDataTest.java @@ -28,22 +28,4 @@ public void createBinaryDataInJavaAndDestroyTest() { System.out.printf("BinaryData %x\n", BinaryData.getCPtr(data)); data.delete(); } - - @Test - public void getBinaryDataEmptyTest() { - BinaryData data = dashsdk.platformMobileTestsGetBinaryDataEmpty(); - assertNotNull(data); - assertEquals(0, data.get_0().length); - assertArrayEquals(new byte[0], data.get_0()); - data.delete(); - } - - @Test - public void getBinaryData4Test() { - BinaryData data = dashsdk.platformMobileTestsGetBinaryData4(); - assertNotNull(data); - assertEquals(4, data.get_0().length); - assertArrayEquals(new byte[] {0, 1, 2, 3}, data.get_0()); - data.delete(); - } } diff --git a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/DataContractTest.java b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/DataContractTest.java index 6209891..2a91303 100644 --- a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/DataContractTest.java +++ b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/DataContractTest.java @@ -22,6 +22,18 @@ public void fetchDataContractTest() throws Exception { dataContract.getDoc_types().forEach(System.out::println); } + @Test + public void fetchWalletUtilsDataContractTest() throws Exception { + Identifier contractId = new Identifier(walletUtilsContracId); + Result, String> result = dashsdk.platformMobileDataContractsFetchDataContract( + sdk, contractId); + + DataContract dataContract = result.unwrap().get(); + assertArrayEquals(walletUtilsContracId, dataContract.getId().get_0().get_0()); + assertEquals(1, dataContract.getDoc_types().size()); + dataContract.getDoc_types().forEach(System.out::println); + } + @Test public void fetchDataContractFailureTest() throws Exception { Identifier contractId = new Identifier(identifier); diff --git a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/ValueTest.java b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/ValueTest.java index ea56718..e16e921 100644 --- a/dash-sdk-java/src/test/java/org/dashj/platform/sdk/ValueTest.java +++ b/dash-sdk-java/src/test/java/org/dashj/platform/sdk/ValueTest.java @@ -18,31 +18,6 @@ public class ValueTest extends BaseTest { - @Test - public void getPlatformValueTest() { - PlatformValue value = dashsdk.platformMobileTestsGetPlatformValueBool(false); - assertNotNull(value); - assertEquals(PlatformValue.Tag.Bool, value.getTag()); - assertFalse(value.getBool()); - value.delete(); - } - - @Test - public void getPlatformValueMapTest() { - PlatformValue value = dashsdk.platformMobileTestsGetPlatformValueWithMap(); - assertNotNull(value); - assertEquals(PlatformValue.Tag.Map, value.getTag()); - PlatformValueMap valueMap = value.getMap(); - Map map = valueMap.get_0(); - assertNotNull(map); - assertEquals(1, map.size()); - map.forEach((k, v) -> { - assertEquals(PlatformValue.Tag.Text, k.getTag()); - assertEquals(PlatformValue.Tag.I32, v.getTag()); - }); - - value.delete(); - } @Test public void createPlatformValueTest() { @@ -165,7 +140,7 @@ public static void testArrayValue(byte[] value, PlatformValue.Tag tag, Const public void createPlatformValuePrimitiveTest() { testValue(true, PlatformValue.Tag.Bool, () -> new PlatformValue(true), PlatformValue::getBool); BigInteger i128Value = BigInteger.valueOf(Long.MAX_VALUE).multiply(BigInteger.ONE); - testValue(i128Value, PlatformValue.Tag.I128, () -> new PlatformValue(i128Value), PlatformValue::getI128); + // testValue(i128Value, PlatformValue.Tag.I128, () -> new PlatformValue(i128Value), PlatformValue::getI128); testValue((byte)1, PlatformValue.Tag.I8, () -> new PlatformValue((byte)1), PlatformValue::getI8); // testValue(Short.MAX_VALUE + 1, PlatformValue.Tag.U16, () -> new PlatformValue(true), v -> v.getU16().get_0()); // testValue(Integer.MAX_VALUE + 1, PlatformValue.Tag.U32, () -> new PlatformValue(true), v -> v.getU32().get_0()); @@ -203,7 +178,7 @@ public void createPlatformValueVectorsTestTwo() { public void accessInvalidTypeTest() { PlatformValue platformValue = new PlatformValue("text"); platformValue.getText(); // should not throw an exception - assertThrows(IllegalArgumentException.class, platformValue::getI128); + // assertThrows(IllegalArgumentException.class, platformValue::getI128); assertThrows(IllegalArgumentException.class, platformValue::getI64); assertThrows(IllegalArgumentException.class, platformValue::getI32); assertThrows(IllegalArgumentException.class, platformValue::getI8); diff --git a/dpp/build.gradle b/dpp/build.gradle index 228b71a..ba525fe 100644 --- a/dpp/build.gradle +++ b/dpp/build.gradle @@ -5,6 +5,7 @@ plugins { id('io.gitlab.arturbosch.detekt').version("1.19.0") id 'maven-publish' id 'signing' + id 'org.jreleaser' } group 'org.dashj.platform' @@ -149,13 +150,48 @@ publishing { } repositories { maven { - // change URLs to point to your repos, e.g. http://my.org/repo - def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" - def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" - url = project.rootProject.ext.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl - credentials { - username = project.hasProperty('ossrhUsername')?project.findProperty('ossrhUsername'):'' - password = project.hasProperty('ossrhPassword')?project.findProperty('ossrhPassword'):'' + url = layout.buildDirectory.dir('staging-deploy') + } + } +} + +jreleaser { + def projectVersion = rootProject.ext.version + project { + name = 'dash-sdk-kotlin' + description = 'Higher level Dash SDK for Kotlin' + website = 'https://dashj.org' + authors = ['HashEngineering'] + license = 'The Apache License, Version 2.0' + gitRootSearch = true + version = projectVersion + } + + signing { + active = 'ALWAYS' + armored = true + } + + deploy { + maven { + mavenCentral { + sonatype { + active = 'ALWAYS' + url = 'https://central.sonatype.com/api/v1/publisher' + stagingRepository("$buildDir/staging-deploy") + } + } + nexus2 { + app { + active = 'SNAPSHOT' + url = 'https://central.sonatype.com/repository/maven-snapshots/' + snapshotUrl = 'https://central.sonatype.com/repository/maven-snapshots/' + applyMavenCentralRules = true + snapshotSupported = true + closeRepository = true + releaseRepository = true + stagingRepository("$buildDir/staging-deploy") + } } } } diff --git a/dpp/src/main/java/org/dashj/platform/dashpay/Profiles.kt b/dpp/src/main/java/org/dashj/platform/dashpay/Profiles.kt index 7125925..5045ecc 100644 --- a/dpp/src/main/java/org/dashj/platform/dashpay/Profiles.kt +++ b/dpp/src/main/java/org/dashj/platform/dashpay/Profiles.kt @@ -43,6 +43,7 @@ class Profiles( signer: WalletSignerCallback ): Document { val profileDocument = createProfileDocument(displayName, publicMessage, avatarUrl, avatarHash, avatarFingerprint, identity) + log.info("creating profile document: {}", profileDocument.toJSON()) profileDocument.createdAt = Date().time val highIdentityPublicKey = identity.getFirstPublicKey(SecurityLevel.HIGH) @@ -99,7 +100,7 @@ class Profiles( val profileDocument = platform.dpp.document.createFromObject(profileData) profileDocument.updatedAt = Date().time profileDocument.revision += 1 - + log.info("replacing profile document: {}", profileDocument.toJSON()) val highIdentityPublicKey = identity.getFirstPublicKey(SecurityLevel.HIGH) ?: error("can't find a public key with HIGH security level") diff --git a/dpp/src/main/java/org/dashj/platform/dpp/util/PlatformValueFunctions.kt b/dpp/src/main/java/org/dashj/platform/dpp/util/PlatformValueFunctions.kt index 188c7a6..e1e5f44 100644 --- a/dpp/src/main/java/org/dashj/platform/dpp/util/PlatformValueFunctions.kt +++ b/dpp/src/main/java/org/dashj/platform/dpp/util/PlatformValueFunctions.kt @@ -82,8 +82,8 @@ class EnumString(strings: List) : List { fun convertPlatformValue(value: PlatformValue): Any? { return when (value.tag) { - PlatformValue.Tag.U128 -> value.u128 - PlatformValue.Tag.I128 -> value.i128 + //PlatformValue.Tag.U128 -> value.u128 + //PlatformValue.Tag.I128 -> value.i128 PlatformValue.Tag.U64 -> value.u64 PlatformValue.Tag.I64 -> value.i64 PlatformValue.Tag.U32 -> value.u32 @@ -148,7 +148,7 @@ fun convertToPlatformValue(value: Any?) : PlatformValue { is Short -> PlatformValue(value) is Int -> PlatformValue(value) is Long -> PlatformValue(value) - is BigInteger -> PlatformValue(value) + //is BigInteger -> PlatformValue(value) is ByteArray -> PlatformValue(value, true) is ByteArray20 -> PlatformValue(value.bytes, true) is ByteArray32 -> PlatformValue(value.bytes, true) diff --git a/dpp/src/test/kotlin/org/dashj/platform/dapiclient/DapiGrpcClientTest.kt b/dpp/src/test/kotlin/org/dashj/platform/dapiclient/DapiGrpcClientTest.kt index faa2b3d..6c34b27 100644 --- a/dpp/src/test/kotlin/org/dashj/platform/dapiclient/DapiGrpcClientTest.kt +++ b/dpp/src/test/kotlin/org/dashj/platform/dapiclient/DapiGrpcClientTest.kt @@ -285,13 +285,20 @@ class DapiGrpcClientTest : BaseTest() { fun getTransationTest() { val txid = "e43b58cf1f24d3366d7f6e96586586453b706aa3ef1226d2eff32b9b6c077e24" - val result: ByteArray? = client.getTransactionKotlin(txid)?.transaction + val response = client.getTransactionKotlin(txid) + val result = response?.transaction + println(response) println(Utils.HEX.encode(result!!)) val resultTwo: ByteArray? = client.getTransactionBytesKotlin(txid) println(Utils.HEX.encode(resultTwo!!)) + + for (i in 0..100) { + val resultOfI: ByteArray? = client.getTransactionBytesKotlin(txid) + println("$i. ${Utils.HEX.encode(resultOfI!!)}") + } } @Test diff --git a/examples/src/main/kotlin/dashj/org/platform/DisplayIdentityKeys.kt b/examples/src/main/kotlin/dashj/org/platform/DisplayIdentityKeys.kt new file mode 100644 index 0000000..48541d9 --- /dev/null +++ b/examples/src/main/kotlin/dashj/org/platform/DisplayIdentityKeys.kt @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2025-present, Dash Core Group + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +package dashj.org.platform + +import org.bitcoinj.crypto.MnemonicCode +import org.bitcoinj.wallet.authentication.AuthenticationGroupExtension +import java.util.Scanner +import org.dashj.platform.dpp.toHex +import org.dashj.platform.sdk.Client +import org.dashj.platform.sdk.client.ClientOptions +import org.dashj.platform.sdk.client.WalletOptions + +class DisplayIdentityKeys { + companion object { + lateinit var client: Client + + @JvmStatic + fun main(args: Array) { + if (args.isEmpty()) { + println("Usage: DisplayIdentityKeys network") + return + } + println("Enter a recovery phrase: ") + val scanner = Scanner(System.`in`) + val phrase = scanner.nextLine() + + MnemonicCode().check(phrase.split(" ", "\n")) + + val recoveryPhrase = if (phrase == "default") { DefaultIdentity(args[0]).seed } else phrase + client = Client(ClientOptions(network = args[0], walletOptions = WalletOptions(recoveryPhrase))) + client.platform.useValidNodes() + displayKeys() + } + + private fun displayKeys() { + val authGroup = client.wallet!!.getKeyChainExtension(AuthenticationGroupExtension.EXTENSION_ID) as AuthenticationGroupExtension + val firstKey = authGroup.identityKeyChain.getKey(0) + println(firstKey) + println("pubkeyhash: ${firstKey.pubKeyHash.toHex()}") + } + } +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 75668a3..20db9ad 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/platform-mobile/Cargo.lock b/platform-mobile/Cargo.lock index 6cf1017..18e0684 100644 --- a/platform-mobile/Cargo.lock +++ b/platform-mobile/Cargo.lock @@ -17,17 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -72,15 +61,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.15" @@ -163,28 +143,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.95", -] - [[package]] name = "async-trait" version = "0.1.83" @@ -219,61 +177,13 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -[[package]] -name = "axum" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" -dependencies = [ - "async-trait", - "axum-core", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper 1.0.1", - "tower 0.5.1", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper 1.0.1", - "tower-layer", - "tower-service", -] - [[package]] name = "backon" -version = "1.2.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4fa97bb310c33c811334143cf64c5bb2b7b3c06e453db6b095d7061eff8f113" +checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7" dependencies = [ "fastrand", - "gloo-timers", "tokio", ] @@ -316,6 +226,15 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64-compat" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8d4d2746f89841e49230dd26917df1876050f95abafafbe34f47cb534b88d7" +dependencies = [ + "byteorder", +] + [[package]] name = "base64ct" version = "1.6.0" @@ -347,29 +266,6 @@ dependencies = [ "virtue 0.0.13", ] -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.95", - "which", -] - [[package]] name = "bip37-bloom-filter" version = "0.1.0" @@ -401,21 +297,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" -[[package]] -name = "bitcoin-private" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" - -[[package]] -name = "bitcoin_hashes" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" -dependencies = [ - "bitcoin-private", -] - [[package]] name = "bitcoin_hashes" version = "0.14.0" @@ -434,9 +315,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "bitvec" @@ -452,9 +333,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.6.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -492,7 +373,7 @@ dependencies = [ "sha2", "sha3", "subtle", - "thiserror 2.0.11", + "thiserror 2.0.12", "uint-zigzag", "vsss-rs", "zeroize", @@ -528,30 +409,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.95", - "syn_derive", -] - [[package]] name = "bs58" version = "0.5.1" @@ -567,28 +424,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bytecount" version = "0.6.8" @@ -610,38 +445,6 @@ dependencies = [ "serde", ] -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 1.0.64", -] - [[package]] name = "cbindgen" version = "0.26.0" @@ -670,27 +473,12 @@ dependencies = [ "shlex", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chrono" version = "0.4.38" @@ -706,10 +494,33 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "chrono-tz" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + [[package]] name = "ciborium" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", @@ -718,29 +529,20 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" -version = "0.2.0" -source = "git+https://github.com/qrayven/ciborium?branch=feat-ser-null-as-undefined#5fbba76d132caf04cd1f271336d9daafdc747f10" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "3.2.25" @@ -842,6 +644,12 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -894,23 +702,24 @@ dependencies = [ [[package]] name = "dapi-grpc" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dapi-grpc-macros", "futures-core", + "getrandom", "platform-version", "prost 0.13.3", "serde", "serde_bytes", "serde_json", "tenderdash-proto", - "tonic 0.12.3", + "tonic 0.13.1", "tonic-build", ] [[package]] name = "dapi-grpc-macros" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "heck 0.5.0", "quote", @@ -954,7 +763,7 @@ dependencies = [ [[package]] name = "dash-sdk" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "arc-swap", "async-trait", @@ -964,15 +773,15 @@ dependencies = [ "ciborium", "dapi-grpc", "dapi-grpc-macros", - "dashcore-rpc 0.16.0", - "derive_more", + "dashcore-rpc", + "derive_more 1.0.0", "dotenvy", "dpp", "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro", "futures", "hex", "http 1.1.0", @@ -982,7 +791,7 @@ dependencies = [ "rustls-pemfile", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", "tokio", "tokio-util", "tracing", @@ -991,78 +800,42 @@ dependencies = [ [[package]] name = "dashcore" -version = "0.30.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "anyhow", + "base64-compat", "bech32", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore_hashes 0.12.0", - "hex", - "hex_lit", - "rustversion", - "secp256k1 0.27.0", - "serde", -] - -[[package]] -name = "dashcore" -version = "0.35.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" -dependencies = [ - "anyhow", - "bech32", - "bitflags 2.6.0", + "bitflags 2.9.1", + "blake3", "blsful", - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", + "dashcore-private 0.39.6", + "dashcore_hashes 0.39.6", "ed25519-dalek", "hex", "hex_lit", - "lazy_static", "rustversion", - "secp256k1 0.30.0", + "secp256k1", "serde", - "serde_repr", - "strum", + "thiserror 2.0.12", ] -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" - -[[package]] -name = "dashcore-private" -version = "0.1.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" - [[package]] name = "dashcore-private" version = "0.1.0" source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" [[package]] -name = "dashcore-rpc" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "dashcore-rpc-json 0.15.2", - "env_logger 0.10.2", - "hex", - "jsonrpc", - "log", - "serde", - "serde_json", -] +name = "dashcore-private" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" [[package]] name = "dashcore-rpc" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-rpc-json 0.16.0", + "dashcore-rpc-json", "hex", "jsonrpc", "log", @@ -1072,25 +845,11 @@ dependencies = [ [[package]] name = "dashcore-rpc-json" -version = "0.15.2" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.15.4#bd6efdb850151f1dcd8e3f38d4796d18c5be518c" -dependencies = [ - "bincode", - "dashcore 0.30.0", - "hex", - "serde", - "serde_json", - "serde_repr", - "serde_with", -] - -[[package]] -name = "dashcore-rpc-json" -version = "0.16.0" -source = "git+https://github.com/dashpay/rust-dashcore-rpc?tag=v0.16.0#099e871a64bbff1faf9c1d56014b612a1da1f3e0" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ "bincode", - "dashcore 0.35.0", + "dashcore", "hex", "serde", "serde_json", @@ -1098,58 +857,49 @@ dependencies = [ "serde_with", ] -[[package]] -name = "dashcore_hashes" -version = "0.12.0" -source = "git+https://github.com/dashpay/rust-dashcore?branch=master#2f624ff36ac639336ea4d320ab446511b72ed194" -dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?branch=master)", - "rs-x11-hash", - "secp256k1 0.27.0", - "serde", -] - [[package]] name = "dashcore_hashes" version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0#521a76bfd7eaa90d2d89dc576808ec5772544f07" +source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore?tag=v0.35.0)", - "secp256k1 0.30.0", - "serde", + "dashcore-private 0.1.0", + "secp256k1", ] [[package]] name = "dashcore_hashes" -version = "0.14.0" -source = "git+https://github.com/dashpay/rust-dashcore#db9ad0df2baded4ca478663013f823491bddcd7c" +version = "0.39.6" +source = "git+https://github.com/dashpay/rust-dashcore?tag=v0.39.6#51df58f5d5d499f5ee80ab17076ff70b5347c7db" dependencies = [ - "dashcore-private 0.1.0 (git+https://github.com/dashpay/rust-dashcore)", - "secp256k1 0.30.0", + "dashcore-private 0.39.6", + "secp256k1", + "serde", ] [[package]] name = "dashpay-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "data-contracts" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "dashpay-contract", "dpns-contract", "feature-flags-contract", + "keyword-search-contract", "masternode-reward-shares-contract", "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", + "token-history-contract", "wallet-utils-contract", "withdrawals-contract", ] @@ -1191,7 +941,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", ] [[package]] @@ -1206,6 +965,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + [[package]] name = "digest" version = "0.10.7" @@ -1236,31 +1006,33 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dpns-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "dpp" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "anyhow", "async-trait", "base64 0.22.1", "bincode", + "bincode_derive", "bs58", "byteorder", "chrono", + "chrono-tz", "ciborium", - "dashcore 0.35.0", + "dashcore", "data-contracts", - "derive_more", - "env_logger 0.11.5", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "derive_more 1.0.0", + "env_logger", + "ferment-macro", "getrandom", "hex", "indexmap 2.7.0", @@ -1269,7 +1041,6 @@ dependencies = [ "json-schema-compatibility-validator", "jsonschema", "lazy_static", - "log", "nohash-hasher", "num_enum 0.7.3", "once_cell", @@ -1280,26 +1051,23 @@ dependencies = [ "platform-versioning", "rand", "regex", - "rust_decimal", - "rust_decimal_macros", "serde", "serde_json", "serde_repr", "sha2", "strum", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "drive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "byteorder", - "derive_more", + "derive_more 1.0.0", "dpp", - "ferment", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "grovedb", "grovedb-costs", "grovedb-epoch-based-storage-flags", @@ -1313,20 +1081,20 @@ dependencies = [ "platform-version", "serde", "sqlparser", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", ] [[package]] name = "drive-proof-verifier" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "dapi-grpc", - "derive_more", + "derive_more 1.0.0", "dpp", "drive", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "hex", "indexmap 2.7.0", "platform-serialization", @@ -1334,7 +1102,7 @@ dependencies = [ "serde", "serde_json", "tenderdash-abci", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", ] @@ -1444,19 +1212,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.11.5" @@ -1514,48 +1269,27 @@ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "feature-flags-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "ferment" -version = "0.1.4" -dependencies = [ - "ansi_term", - "cargo_metadata", - "env_logger 0.11.5", - "ferment-macro 0.1.4", - "log", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ferment-interfaces" -version = "0.1.4" -source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ "indexmap 2.7.0", + "serde_json", ] [[package]] name = "ferment-macro" -version = "0.1.4" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ferment-macro" -version = "0.1.4" -source = "git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default#a9cf93872a7bd1229c394ac2443c109fb0d70949" +version = "0.2.3" +source = "git+https://github.com/dashpay/ferment?tag=v0.2.3#867aba9a03b86c8552d3526952af80f566ab0174" dependencies = [ "quote", "syn 1.0.109", @@ -1823,11 +1557,12 @@ dependencies = [ [[package]] name = "grovedb" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf36cc41af86d8ccb8b7f64fd15006cd83ec979c49cd2ad30628bf855c54d7d" +checksum = "611077565b279965fa34897787ae52f79471f0476db785116cceb92077f237ad" dependencies = [ "bincode", + "bincode_derive", "blake3", "grovedb-costs", "grovedb-merk", @@ -1839,41 +1574,43 @@ dependencies = [ "integer-encoding", "reqwest", "sha2", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-costs" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc526a58bdca58cb86340632081e27264e3557a73608cf29f6738ad9bfab316" +checksum = "0ab159c3f82b0387f6a27a54930b18aa594b507013de947c8e909cf61abb75fe" dependencies = [ "integer-encoding", "intmap", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-epoch-based-storage-flags" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd5f01eb50ff57b2c24e856377684d42dacdbd04de7c0189bf2e0e0cd109692" +checksum = "3dce2f34c6bfddb3a26696b42e6169f986330513e0e9f4c5d7ba290d09867a5e" dependencies = [ "grovedb-costs", "hex", "integer-encoding", "intmap", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-merk" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce3b133a76e9935f3a57e08598769849d79df582244e1ac99509177e23c2605" +checksum = "4580e54da0031d2f36e50312f3361005099bceeb8adb0f6ccbf87a0880cd1b08" dependencies = [ "bincode", + "bincode_derive", "blake3", + "byteorder", "ed", "grovedb-costs", "grovedb-path", @@ -1882,30 +1619,33 @@ dependencies = [ "hex", "indexmap 2.7.0", "integer-encoding", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "grovedb-path" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67dc8bc00b9be473f7b25670d1422daadd706c9b09ed6aa5cf2caf8722a487ac" +checksum = "0d61e09bb3055358974ceb65b91752064979450092014d91a6bc4a52d77887ea" +dependencies = [ + "hex", +] [[package]] name = "grovedb-version" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a987e051c8c9cf8fa381b29b243d4951f8c1f24f9c90ceed52afca3ac460986c" +checksum = "2d61d27c76d49758b365a9e4a9da7f995f976b9525626bf645aef258024defd2" dependencies = [ - "thiserror 2.0.11", + "thiserror 2.0.12", "versioned-feature-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "grovedb-visualize" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56eee6f57d324505611de0042af2b6b9933235e704a1a6542ff7ba5b5c56f64e" +checksum = "eaebfe3c1e5f263f14fd25ab060543b31eb4b9d6bdc44fe220e88df6be7ddf59" dependencies = [ "hex", "itertools 0.14.0", @@ -1932,9 +1672,13 @@ dependencies = [ [[package]] name = "half" -version = "1.8.3" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] [[package]] name = "hash32" @@ -1950,9 +1694,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -1960,7 +1701,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2012,12 +1753,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hex" version = "0.4.3" @@ -2066,15 +1801,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2336,17 +2062,6 @@ version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2388,10 +2103,11 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2408,19 +2124,19 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "json-patch", "once_cell", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] name = "jsonrpc" -version = "0.14.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8128f36b47411cd3f044be8c1f5cc0c9e24d1d1bfdc45f0a57897b32513053f2" +checksum = "3662a38d341d77efecb73caf01420cfa5aa63c0253fd7bc05289ef9f6616e1bf" dependencies = [ "base64 0.13.1", "serde", @@ -2432,7 +2148,7 @@ name = "jsonschema" version = "0.18.0" source = "git+https://github.com/dashpay/jsonschema-rs?branch=configure_regexp#7b00a2442ce44772e278b468bc4c2adc5e252226" dependencies = [ - "ahash 0.8.11", + "ahash", "anyhow", "base64 0.22.1", "bytecount", @@ -2463,18 +2179,22 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "keyword-search-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lhash" version = "1.1.0" @@ -2487,16 +2207,6 @@ version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets", -] - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2521,9 +2231,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" @@ -2536,12 +2246,12 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -2553,12 +2263,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "memchr" version = "2.7.4" @@ -2852,7 +2556,7 @@ version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2960,16 +2664,19 @@ dependencies = [ ] [[package]] -name = "paste" -version = "1.0.15" +name = "parse-zoneinfo" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -2987,6 +2694,44 @@ dependencies = [ "indexmap 2.7.0", ] +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.6" @@ -3037,15 +2782,15 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "platform-mobile" -version = "1.7.3" +version = "2.0.0" dependencies = [ "async-trait", "base64 0.13.1", "dapi-grpc", "dash-sdk", - "dashcore 0.30.0", - "dashcore-rpc 0.15.2", - "dashcore_hashes 0.14.0 (git+https://github.com/dashpay/rust-dashcore)", + "dashcore", + "dashcore-rpc", + "dashcore_hashes 0.14.0", "dashpay-contract", "data-contracts", "dotenvy", @@ -3054,8 +2799,8 @@ dependencies = [ "drive", "drive-proof-verifier", "envy", - "ferment-interfaces", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment", + "ferment-macro", "hex", "http 0.2.12", "lazy_static", @@ -3082,7 +2827,7 @@ dependencies = [ [[package]] name = "platform-serialization" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", "platform-version", @@ -3090,7 +2835,7 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3100,43 +2845,40 @@ dependencies = [ [[package]] name = "platform-value" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", "bs58", "cbindgen", "ciborium", - "ferment", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "hex", "indexmap 2.7.0", - "lazy_static", "platform-serialization", "platform-version", "rand", - "regex", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", "treediff", ] [[package]] name = "platform-version" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "bincode", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "grovedb-version", "once_cell", - "thiserror 1.0.64", + "thiserror 2.0.12", "versioned-feature-core 1.0.0 (git+https://github.com/dashpay/versioned-feature-core)", ] [[package]] name = "platform-versioning" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "proc-macro2", "quote", @@ -3193,29 +2935,6 @@ dependencies = [ "toml_edit 0.22.22", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.92" @@ -3287,26 +3006,6 @@ dependencies = [ "prost 0.13.3", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "quote" version = "1.0.37" @@ -3376,7 +3075,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", ] [[package]] @@ -3423,15 +3122,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.12.8" @@ -3491,91 +3181,30 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rkyv" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rs-dapi-client" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "backon", "chrono", "dapi-grpc", - "ferment-macro 0.1.4 (git+https://github.com/dashpay/ferment?branch=feat%2Fopaque-default)", + "ferment-macro", "futures", + "getrandom", + "gloo-timers", "hex", + "http 1.1.0", "http-serde", "lru", "rand", "serde", "serde_json", "sha2", - "thiserror 1.0.64", + "thiserror 2.0.12", "tokio", + "tonic-web-wasm-client", "tracing", -] - -[[package]] -name = "rs-x11-hash" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ea852806513d6f5fd7750423300375bc8481a18ed033756c1a836257893a30" -dependencies = [ - "bindgen", - "cc", - "libc", -] - -[[package]] -name = "rust_decimal" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" -dependencies = [ - "arrayvec", - "borsh", - "bytes", - "num-traits", - "rand", - "rkyv", - "serde", - "serde_json", -] - -[[package]] -name = "rust_decimal_macros" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da991f231869f34268415a49724c6578e740ad697ba0999199d6f22b3949332c" -dependencies = [ - "quote", - "rust_decimal", + "wasm-bindgen-futures", ] [[package]] @@ -3584,12 +3213,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.4.1" @@ -3605,7 +3228,7 @@ version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys", @@ -3614,9 +3237,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" dependencies = [ "log", "once_cell", @@ -3667,9 +3290,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -3701,12 +3324,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.7.3" @@ -3721,39 +3338,18 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" -dependencies = [ - "bitcoin_hashes 0.12.0", - "rand", - "secp256k1-sys 0.8.1", - "serde", -] - [[package]] name = "secp256k1" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ - "bitcoin_hashes 0.14.0", + "bitcoin_hashes", "rand", - "secp256k1-sys 0.10.1", + "secp256k1-sys", "serde", ] -[[package]] -name = "secp256k1-sys" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" -dependencies = [ - "cc", -] - [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -3769,7 +3365,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -3782,7 +3378,7 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation 0.10.0", "core-foundation-sys", "libc", @@ -3804,15 +3400,12 @@ name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] [[package]] name = "serde" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -3837,9 +3430,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -3848,9 +3441,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "indexmap 2.7.0", "itoa", @@ -3971,22 +3564,22 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "simple-signer" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "base64 0.22.1", "bincode", - "dashcore-rpc 0.16.0", + "dashcore-rpc", "dpp", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -4127,18 +3720,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.95", -] - [[package]] name = "sync_wrapper" version = "0.1.2" @@ -4160,7 +3741,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -4196,28 +3777,27 @@ dependencies = [ [[package]] name = "tenderdash-abci" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "hex", "lhash", "semver", - "serde_json", "tenderdash-proto", - "thiserror 1.0.64", + "thiserror 2.0.12", "tracing", "url", ] [[package]] name = "tenderdash-proto" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "bytes", "chrono", - "derive_more", + "derive_more 2.0.1", "flex-error", "num-derive", "num-traits", @@ -4226,19 +3806,17 @@ dependencies = [ "subtle-encoding", "tenderdash-proto-compiler", "time", - "tonic 0.12.3", ] [[package]] name = "tenderdash-proto-compiler" -version = "1.2.1+1.3.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.1%2B1.3.0#aad72f4d25816bdf0f584ee4ba3cd383addf8a33" +version = "1.4.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.4.0#e2dd15f39246081e7d569e585ab78ff5340116ac" dependencies = [ "fs_extra", "prost-build", "regex", "tempfile", - "tonic-build", "ureq", "walkdir", "zip", @@ -4270,11 +3848,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -4290,9 +3868,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", @@ -4364,6 +3942,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "token-history-contract" +version = "2.0.0-rc.17" +dependencies = [ + "platform-value", + "platform-version", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "tokio" version = "1.40.0" @@ -4403,12 +3991,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] @@ -4496,13 +4083,11 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", - "axum", "base64 0.22.1", "bytes", "h2", @@ -4516,12 +4101,11 @@ dependencies = [ "pin-project", "prost 0.13.3", "rustls-native-certs", - "rustls-pemfile", "socket2", "tokio", "tokio-rustls", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -4530,9 +4114,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", @@ -4543,23 +4127,28 @@ dependencies = [ ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-web-wasm-client" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "66e3bb7acca55e6790354be650f4042d418fcf8e2bc42ac382348f2b6bf057e5" dependencies = [ - "futures-core", + "base64 0.22.1", + "byteorder", + "bytes", "futures-util", - "indexmap 1.9.3", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "httparse", + "js-sys", "pin-project", - "pin-project-lite", - "rand", - "slab", - "tokio", - "tokio-util", - "tower-layer", + "thiserror 2.0.12", + "tonic 0.13.1", "tower-service", - "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", ] [[package]] @@ -4570,10 +4159,15 @@ checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" dependencies = [ "futures-core", "futures-util", + "indexmap 2.7.0", "pin-project-lite", + "slab", "sync_wrapper 0.1.2", + "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -4722,20 +4316,35 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +checksum = "217751151c53226090391713e533d9a5e904ba2570dabaaace29032687589c3e" dependencies = [ "base64 0.22.1", + "cc", "flate2", "log", - "once_cell", + "percent-encoding", "rustls", + "rustls-pemfile", "rustls-pki-types", - "url", + "ureq-proto", + "utf-8", "webpki-roots", ] +[[package]] +name = "ureq-proto" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae239d0a3341aebc94259414d1dc67cfce87d41cbebc816772c91b77902fafa4" +dependencies = [ + "base64 0.22.1", + "http 1.1.0", + "httparse", + "log", +] + [[package]] name = "url" version = "2.5.2" @@ -4747,6 +4356,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8parse" version = "0.2.2" @@ -4831,12 +4446,12 @@ dependencies = [ [[package]] name = "wallet-utils-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "platform-value", "platform-version", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] @@ -4856,24 +4471,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.95", @@ -4882,21 +4497,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4904,9 +4520,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -4917,39 +4533,43 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] -name = "web-sys" -version = "0.3.72" +name = "wasm-streams" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ + "futures-util", "js-sys", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "webpki-roots" -version = "0.26.6" +name = "web-sys" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ - "rustls-pki-types", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "which" -version = "4.4.2" +name = "webpki-roots" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ - "either", - "home", - "once_cell", - "rustix", + "rustls-pki-types", ] [[package]] @@ -5124,7 +4744,7 @@ dependencies = [ [[package]] name = "withdrawals-contract" -version = "1.8.0" +version = "2.0.0-rc.17" dependencies = [ "num_enum 0.5.11", "platform-value", @@ -5132,7 +4752,7 @@ dependencies = [ "serde", "serde_json", "serde_repr", - "thiserror 1.0.64", + "thiserror 2.0.12", ] [[package]] diff --git a/platform-mobile/Cargo.toml b/platform-mobile/Cargo.toml index 1d179cf..51d29c2 100644 --- a/platform-mobile/Cargo.toml +++ b/platform-mobile/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "platform-mobile" -version = "1.7.3" +version = "2.0.0" edition = "2021" [dependencies] -ferment-interfaces = { git = "https://github.com/dashpay/ferment", branch = "feat/opaque-default", package = "ferment-interfaces" } -ferment-macro = { git = "https://github.com/dashpay/ferment", branch = "feat/opaque-default", package = "ferment-macro" } +ferment = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment" } +ferment-macro = { git = "https://github.com/dashpay/ferment", tag = "v0.2.3", package = "ferment-macro" } platform-value = { path = "../../platform/packages/rs-platform-value" } data-contracts = { path = "../../platform/packages/data-contracts" } @@ -45,10 +45,10 @@ dashcore = { git = "https://github.com/dashpay/rust-dashcore", features = [ "rand", "signer", "serde", -], default-features = false, branch = "master" } +], default-features = false, tag = "v0.39.6" } dashcore_hashes = { git = "https://github.com/dashpay/rust-dashcore" } # dashcore-rpc is only needed for core rpc; TODO remove once we have correct core rpc impl -dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.4" } +dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", tag = "v0.39.6" } rand = "0.8.5" base64 = "0.13" tonic = { version = "0.11", features = [ diff --git a/platform-mobile/src/config.rs b/platform-mobile/src/config.rs index 035289b..ce1869a 100644 --- a/platform-mobile/src/config.rs +++ b/platform-mobile/src/config.rs @@ -18,8 +18,10 @@ use parking_lot::Mutex; use dash_sdk::mock::provider::GrpcContextProvider; use dash_sdk::{RequestSettings, Sdk}; use dpp::data_contract::accessors::v0::DataContractV0Getters; -use ferment_interfaces::{boxed, unbox_any}; +use ferment::{boxed, unbox_any}; use dash_sdk::sdk::Uri; +use platform_version::version::PlatformVersion; +use platform_version::version::v7::PLATFORM_V7; use tokio::runtime::{Builder, Runtime}; use crate::logs::setup_logs; use crate::provider::{Cache, CallbackContextProvider}; @@ -62,8 +64,8 @@ pub const TESTNET_ADDRESS_LIST: [&str; 26] = [ ]; -pub const MAINNET_ADDRESS_LIST: [&str; 128] = [ - "149.28.241.190", "216.238.75.46", "134.255.182.186", "157.66.81.162", "213.199.34.250", "157.90.238.161", "185.198.234.68", "37.60.236.212", "207.244.247.40", "45.32.70.131", "158.220.122.76", "52.33.9.172", "185.158.107.124", "185.198.234.17", "93.190.140.101", "194.163.153.225", "194.146.13.7", "93.190.140.112", "65.108.74.95", "44.240.99.214", "5.75.133.148", "192.248.178.237", "95.179.159.65", "139.84.232.129", "37.60.243.119", "194.195.87.34", "46.254.241.7", "161.97.160.92", "65.108.246.145", "64.176.10.71", "37.60.244.220", "2.58.82.231", "185.198.234.54", "37.27.67.154", "134.255.182.185", "139.84.137.143", "173.212.239.124", "5.189.186.78", "173.249.53.139", "37.60.236.151", "37.27.67.159", "104.200.24.196", "37.60.236.225", "57.128.212.163", "158.220.122.74", "185.198.234.25", "134.255.183.250", "185.192.96.70", "134.255.183.248", "52.36.102.91", "134.255.183.247", "49.13.28.255", "168.119.102.10", "37.27.83.17", "134.255.182.187", "38.242.198.100", "37.27.67.163", "198.7.115.43", "70.34.206.123", "65.108.74.78", "108.61.165.170", "157.10.199.79", "31.220.88.116", "185.166.217.154", "37.27.67.164", "31.220.85.180", "161.97.170.251", "157.10.199.82", "91.107.226.241", "167.88.169.16", "216.238.99.9", "62.169.17.112", "52.10.213.198", "198.7.115.38", "37.60.236.161", "49.13.193.251", "46.254.241.9", "185.215.167.70", "65.108.74.75", "95.179.241.182", "95.216.146.18", "31.220.84.93", "185.197.250.227", "149.28.247.165", "213.199.34.251", "185.198.234.12", "87.228.24.64", "45.32.52.10", "91.107.204.136", "157.66.81.130", "157.10.199.125", "46.254.241.8", "49.12.102.105", "134.255.182.189", "81.17.101.141", "65.108.74.79", "64.23.134.67", "54.69.95.118", "158.220.122.13", "49.13.154.121", "82.211.25.69", "75.119.149.9", "93.190.140.111", "93.190.140.114", "195.201.238.55", "135.181.110.216", "45.76.141.74", "109.199.123.11", "50.116.28.103", "188.245.90.255", "130.162.233.186", "65.109.65.126", "95.179.139.125", "213.199.34.248", "213.199.35.18", "213.199.35.6", "37.60.243.59", "37.27.67.156", "37.60.236.247", "159.69.204.162", "46.254.241.11", "173.199.71.83", "185.215.166.126", "157.66.81.218", "213.199.35.15", "114.132.172.215", "93.190.140.162", "65.108.74.109" +pub const MAINNET_ADDRESS_LIST: [&str; 92] = [ + "149.28.241.190", "134.255.182.186", "157.66.81.162", "213.199.34.250", "5.182.33.231", "37.60.236.212", "207.244.247.40", "45.32.70.131", "158.220.122.76", "52.33.9.172", "185.158.107.124", "185.198.234.17", "93.190.140.101", "194.163.153.225", "194.146.13.7", "93.190.140.112", "75.119.132.2", "44.240.99.214", "5.75.133.148", "192.248.178.237", "37.60.243.119", "194.195.87.34", "46.254.241.7", "65.108.246.145", "37.60.244.220", "2.58.82.231", "213.199.44.112", "134.255.182.185", "173.212.239.124", "157.10.199.77", "5.189.186.78", "104.200.24.196", "37.60.236.225", "57.128.212.163", "158.220.122.74", "185.198.234.25", "134.255.183.250", "185.192.96.70", "134.255.183.248", "52.36.102.91", "134.255.183.247", "49.13.237.193", "37.27.83.17", "134.255.182.187", "38.242.198.100", "198.7.115.43", "108.61.165.170", "157.10.199.79", "31.220.88.116", "185.166.217.154", "161.97.170.251", "157.10.199.82", "167.88.169.16", "62.169.17.112", "52.10.213.198", "198.7.115.38", "37.60.236.161", "46.254.241.9", "95.179.241.182", "95.216.146.18", "185.194.216.84", "31.220.84.93", "185.197.250.227", "149.28.247.165", "213.199.34.251", "87.228.24.64", "157.66.81.130", "157.10.199.125", "46.254.241.8", "49.12.102.105", "134.255.182.189", "64.23.134.67", "54.69.95.118", "158.220.122.13", "82.211.25.69", "93.190.140.111", "93.190.140.114", "135.181.110.216", "45.76.141.74", "188.245.90.255", "37.60.236.201", "95.179.139.125", "213.199.34.248", "213.199.35.18", "37.60.243.59", "37.60.236.247", "46.254.241.11", "185.215.166.126", "157.66.81.218", "213.199.35.15", "114.132.172.215", "93.190.140.162" ]; #[ferment_macro::export] pub fn testnet_address_list() -> Vec { @@ -270,23 +272,28 @@ impl Config { /// new test vectors during execution /// * `offline-testing` is set - use mock implementation and /// load existing test vectors from disk - pub async fn setup_api(&self) -> Arc { + pub async fn setup_api(&self, version: &'static PlatformVersion) -> Arc { let sdk = { // Dump all traffic to disk - let builder = dash_sdk::SdkBuilder::new(self.address_list()).with_core( + let builder = dash_sdk::SdkBuilder::new(self.address_list()) + .with_version(version) + .with_core( &self.core_ip, self.core_port, &self.core_user, &self.core_password, ); - builder.build().expect("cannot initialize api") + builder + .with_version(version) + .build().expect("cannot initialize api") }; sdk.into() } - pub async fn setup_api_list(&self, address_list: Vec) -> Arc { + pub async fn setup_api_list(&self, address_list: Vec, + version: &'static PlatformVersion) -> Arc { let sdk = { // Dump all traffic to disk let builder = dash_sdk::SdkBuilder::new(self.new_address_list(address_list)).with_core( @@ -296,7 +303,9 @@ impl Config { &self.core_password, ); - builder.build().expect("cannot initialize api") + builder + .with_version(version) + .build().expect("cannot initialize api") }; sdk.into() @@ -330,7 +339,8 @@ impl Config { data_contract_cache: Arc>, connect_timeout: usize, timeout: usize, - retries: usize + retries: usize, + version: &'static PlatformVersion ) -> Arc { let mut context_provider = CallbackContextProvider::new( context_provider_context, @@ -361,6 +371,7 @@ impl Config { ban_failed_address: Some(true), } ) + .with_version(&version) .with_context_provider(context_provider_clone); builder.build().expect("cannot initialize api") }; @@ -376,7 +387,8 @@ impl Config { q: u64, d: u64, data_contract_cache: Arc>, - address_list: Vec + address_list: Vec, + version: &'static PlatformVersion ) -> Arc { let mut context_provider = CallbackContextProvider::new( context, @@ -389,7 +401,10 @@ impl Config { let mut sdk = { // Dump all traffic to disk let builder = dash_sdk::SdkBuilder::new(self.new_address_list(address_list)); - builder.build().expect("cannot initialize api") + builder + .with_version(version) + .build() + .expect("cannot initialize api") }; // not ideal because context provider has a clone of the sdk context_provider.set_sdk(Some(Arc::new(sdk.clone()))); diff --git a/platform-mobile/src/core.rs b/platform-mobile/src/core.rs index 0b2201f..7797cb3 100644 --- a/platform-mobile/src/core.rs +++ b/platform-mobile/src/core.rs @@ -1,6 +1,7 @@ use dapi_grpc::core::v0::{GetTransactionRequest}; use dash_sdk::dapi_client::DapiRequestExecutor; use dash_sdk::RequestSettings; +use platform_version::version::LATEST_PLATFORM_VERSION; use tokio::runtime::Builder; use crate::config::{Config, EntryPoint}; use crate::logs::setup_logs; @@ -19,7 +20,7 @@ pub fn get_transaction(txid: [u8; 32], quorum_public_key_callback: u64, data_con // Execute the async block using the Tokio runtime rt.block_on(async { let cfg = Config::new(); - let sdk = cfg.setup_api().await; + let sdk = cfg.setup_api(LATEST_PLATFORM_VERSION).await; let tx_info_result = sdk.execute( GetTransactionRequest { diff --git a/platform-mobile/src/custom.rs b/platform-mobile/src/custom.rs index 342f08a..b4033d9 100644 --- a/platform-mobile/src/custom.rs +++ b/platform-mobile/src/custom.rs @@ -9,20 +9,23 @@ pub struct OutPoint { pub txid: *mut [u8; 32], pub vout: u32, } -impl ferment_interfaces::FFIConversion for OutPoint { +impl ferment::FFIConversionFrom for OutPoint { unsafe fn ffi_from_const(ffi: *const Self) -> dashcore::blockdata::transaction::OutPoint { let ffi = &*ffi; dashcore::blockdata::transaction::OutPoint::new(dashcore::hash_types::Txid::from_slice(&*ffi.txid).expect("err"), ffi.vout) } - unsafe fn ffi_to_const(obj: dashcore::blockdata::transaction::OutPoint) -> *const Self { - ferment_interfaces::boxed(OutPoint { txid: ferment_interfaces::boxed(obj.txid.to_raw_hash().into_32()), vout: obj.vout }) +} +impl ferment::FFIConversionTo for OutPoint { + + unsafe fn ffi_to_const(obj: dashcore::blockdata::transaction::OutPoint) -> *const Self { + ferment::boxed(OutPoint { txid: ferment::boxed(obj.txid.to_raw_hash().into()), vout: obj.vout }) } } impl Drop for OutPoint { fn drop(&mut self) { unsafe { - ferment_interfaces::unbox_any(self.txid); + ferment::unbox_any(self.txid); } } } @@ -39,21 +42,24 @@ impl Drop for OutPoint { pub struct InstantLock { pub raw: *mut dashcore::ephemerealdata::instant_lock::InstantLock, } -impl ferment_interfaces::FFIConversion for InstantLock { +impl ferment::FFIConversionFrom for InstantLock { unsafe fn ffi_from_const(ffi: *const Self) -> dashcore::ephemerealdata::instant_lock::InstantLock { let ffi = &*ffi; let raw = &*ffi.raw; raw.clone() } +} +impl ferment::FFIConversionTo for InstantLock { + unsafe fn ffi_to_const(obj: dashcore::ephemerealdata::instant_lock::InstantLock) -> *const Self { - ferment_interfaces::boxed(Self { raw: ferment_interfaces::boxed(obj) }) + ferment::boxed(Self { raw: ferment::boxed(obj) }) } } impl Drop for InstantLock { fn drop(&mut self) { unsafe { - ferment_interfaces::unbox_any(self.raw); + ferment::unbox_any(self.raw); } } } @@ -70,21 +76,24 @@ impl Drop for InstantLock { pub struct Transaction { pub raw: *mut dashcore::blockdata::transaction::Transaction, } -impl ferment_interfaces::FFIConversion for Transaction { +impl ferment::FFIConversionFrom for Transaction { unsafe fn ffi_from_const(ffi: *const Self) -> dashcore::blockdata::transaction::Transaction { let ffi = &*ffi; let raw = &*ffi.raw; raw.clone() } +} +impl ferment::FFIConversionTo for Transaction { + unsafe fn ffi_to_const(obj: dashcore::blockdata::transaction::Transaction) -> *const Self { - ferment_interfaces::boxed(Self { raw: ferment_interfaces::boxed(obj) }) + ferment::boxed(Self { raw: ferment::boxed(obj) }) } } impl Drop for Transaction { fn drop(&mut self) { unsafe { - ferment_interfaces::unbox_any(self.raw); + ferment::unbox_any(self.raw); } } } @@ -94,11 +103,11 @@ impl Drop for Transaction { // pub struct dashcore_consensus_encode_Error { // pub raw: Box, // } -// impl ferment_interfaces::FFIConversion for dashcore_consensus_encode_Error { +// impl ferment::FFIConversion for dashcore_consensus_encode_Error { // unsafe fn ffi_from_const(ffi: *const Self) -> dashcore::consensus::encode::Error { // *(*ffi).raw // } // unsafe fn ffi_to_const(obj: dashcore::consensus::encode::Error) -> *const Self { -// ferment_interfaces::boxed(Self { raw: Box::new(obj) }) +// ferment::boxed(Self { raw: Box::new(obj) }) // } // } \ No newline at end of file diff --git a/platform-mobile/src/data_contracts.rs b/platform-mobile/src/data_contracts.rs index c3b68bc..24ba1fe 100644 --- a/platform-mobile/src/data_contracts.rs +++ b/platform-mobile/src/data_contracts.rs @@ -14,7 +14,12 @@ use tokio::runtime::Builder; use crate::config::{Config, EntryPoint}; use crate::logs::setup_logs; use crate::provider::Cache; -use crate::sdk::{create_dash_sdk_using_core_testnet, DashSdk}; +use crate::sdk::{ + create_dash_sdk_using_core_mainnet, + create_dash_sdk_using_core_testnet, + create_dash_sdk_using_single_evonode, + DashSdk +}; #[derive(Clone, Debug)] #[ferment_macro::export] @@ -42,6 +47,14 @@ impl Into for DataContract { version: contract.version() } } + DataContract::V1(contract) => { + DataContractFFI { + id: contract.id(), + owner_id: contract.owner_id(), + doc_types: contract.document_types.keys().cloned().collect(), + version: contract.version() + } + } _ => panic!("unknown version of DataContract") } } @@ -102,11 +115,12 @@ pub fn fetch_data_contract( Some(data_contract) => Ok(Some(data_contract.into())), None => { let request_settings = unsafe { (*rust_sdk).get_request_settings() }; - match (DataContract::fetch_with_settings(&sdk, data_contract_id.clone(), request_settings) - .await) { + match (DataContract::fetch_with_settings(&sdk, data_contract_id.clone(), request_settings).await) { Ok(Some(data_contract)) => { + tracing::info!("{:?}", data_contract); unsafe { (*rust_sdk).add_data_contract(&data_contract); }; let data_contract_ffi: DataContractFFI = data_contract.into(); + tracing::info!("{:?}", data_contract_ffi); Ok(Some(data_contract_ffi)) }, Ok(None) => return Ok(None),//Err("data contract not found".to_string()), @@ -134,7 +148,55 @@ fn get_wallet_utils_data_contract_test() { & mut sdk, Identifier::from(wallet_utils_contract::ID_BYTES) ).unwrap(); - tracing::info!("wallet-utils: {:?}", data_contract); + println!("wallet-utils: {:?}", data_contract); +} + +#[test] +fn get_wallet_utils_data_contract_mainnet_test() { + let mut sdk = create_dash_sdk_using_core_mainnet(); + let data_contract = fetch_data_contract( + & mut sdk, + Identifier::from(wallet_utils_contract::ID_BYTES) + ); + assert!(data_contract.is_ok(), "cannot find the wallet utils contract"); + println!("wallet-utils: {:?}", data_contract.unwrap()); +} + +#[test] +fn get_wallet_utils_data_contract_test_all() { + for i in crate::config::TESTNET_ADDRESS_LIST { + let mut sdk = create_dash_sdk_using_single_evonode(i.into(), 0, 0, true); + let data_contract_result = fetch_data_contract( + &mut sdk, + Identifier::from(wallet_utils_contract::ID_BYTES) + ); + match data_contract_result { + Ok(Some(data_contract)) => println!("wallet-utils: {}. {:?}", i, data_contract.doc_types), + Ok(None) => println!("wallet-utils: {}. contract not found", i), + Err(e) => println!("wallet-utils {}. {:?}", i, e) + }; + } +} + +#[test] +fn get_wallet_utils_data_contract_mainnet_all() { + let mut success = true; + for i in crate::config::MAINNET_ADDRESS_LIST { + let mut sdk = create_dash_sdk_using_single_evonode(i.into(), 0, 0, false); + let data_contract_result = fetch_data_contract( + &mut sdk, + Identifier::from(wallet_utils_contract::ID_BYTES) + ); + match data_contract_result { + Ok(Some(data_contract)) => println!("wallet-utils: {}. {:?}", i, data_contract.doc_types), + Ok(None) => println!("wallet-utils: {}. contract not found", i), + Err(e) => { + println!("wallet-utils {}. {:?}", i, e); + success = false + } + }; + } + assert!(success) } #[test] @@ -156,7 +218,7 @@ mod tests { #[test] fn generate_random_32_byte_vector() { let mut rng = rand::thread_rng(); - let random_bytes: Vec = (0..32).map(|_| rng.gen()).collect(); + let random_bytes: Vec = (0..32).map(|_| rng.r#gen()).collect(); println!("{:?}", random_bytes); // Encode in Base58 and print let base58_encoded = encode(&random_bytes, Encoding::Base58); diff --git a/platform-mobile/src/fetch_identity.rs b/platform-mobile/src/fetch_identity.rs index dde412d..a51288e 100644 --- a/platform-mobile/src/fetch_identity.rs +++ b/platform-mobile/src/fetch_identity.rs @@ -13,7 +13,7 @@ use drive_proof_verifier::types::IdentityBalance; use platform_value::string_encoding::Encoding; use crate::config::{Config, EntryPoint}; use crate::logs::setup_logs; -use crate::sdk::{create_dash_sdk, create_dash_sdk_using_core_testnet, DashSdk}; +use crate::sdk::{create_dash_sdk, create_dash_sdk_using_core_mainnet, create_dash_sdk_using_core_testnet, DashSdk}; pub fn test_identifier() -> Identifier { Identifier::from_string("7Yowk46VwwHqmD5yZyyygggh937aP6h2UW7aQWBdWpM5", Encoding::Base58).unwrap() diff --git a/platform-mobile/src/lib.rs b/platform-mobile/src/lib.rs index 2c6ca78..b76f0c5 100644 --- a/platform-mobile/src/lib.rs +++ b/platform-mobile/src/lib.rs @@ -13,7 +13,6 @@ pub mod core; mod logs; pub mod voting; pub mod sdk; -pub mod tests; extern crate ferment_macro; diff --git a/platform-mobile/src/provider.rs b/platform-mobile/src/provider.rs index 90be71d..3a74811 100644 --- a/platform-mobile/src/provider.rs +++ b/platform-mobile/src/provider.rs @@ -8,7 +8,7 @@ use std::sync::Arc; use std::thread; use dapi_grpc::tonic::codegen::Body; -use dpp::data_contract::DataContract; +use dpp::data_contract::{DataContract, TokenConfiguration}; use platform_value::types::identifier::Identifier; use drive_proof_verifier::error::ContextProviderError; use drive_proof_verifier::ContextProvider; @@ -18,6 +18,7 @@ use dash_sdk::{Sdk, Error}; use dpp::identity::IdentityPublicKey; use dpp::prelude::CoreBlockHeight; use platform_value::types::binary_data::BinaryData; +use platform_version::version::PlatformVersion; use tokio::runtime::{Handle, Runtime}; use tokio::sync::mpsc; use crate::config::Config; @@ -141,6 +142,7 @@ impl ContextProvider for CallbackContextProvider { fn get_data_contract( &self, data_contract_id: &Identifier, + platform_version: &PlatformVersion, ) -> Result>, ContextProviderError> { return if let Some(contract) = self.data_contracts_cache.get(data_contract_id) { Ok(Some(contract)) @@ -174,6 +176,10 @@ impl ContextProvider for CallbackContextProvider { fn get_platform_activation_height(&self) -> Result { Ok(1_000_000) } + + fn get_token_configuration(&self, token_id: &Identifier) -> Result, ContextProviderError> { + Ok(None) + } } unsafe impl Send for CallbackContextProvider {} diff --git a/platform-mobile/src/put.rs b/platform-mobile/src/put.rs index 6ec14dd..613456b 100644 --- a/platform-mobile/src/put.rs +++ b/platform-mobile/src/put.rs @@ -408,6 +408,7 @@ pub fn put_identity_sdk( identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; let state_transition_result = Identity::put_to_platform( @@ -479,6 +480,7 @@ pub fn topup_identity_sdk( identity_nonce_stale_time_s: None, user_fee_increase: Some(user_fee_increase), wait_timeout: None, + state_transition_creation_options: None }; let identity_result = identity.top_up_identity( &sdk, @@ -510,8 +512,9 @@ fn put_document_with_retry( match new_document.put_to_platform( &sdk, document_type.clone(), - entropy.clone(), + Some(entropy.clone()), identity_public_key.clone(), + None, &signer_callback, Some(put_settings) ).await { @@ -604,6 +607,7 @@ pub fn put_document_sdk( identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; trace!("call Document::put_to_platform & wait_for_response"); @@ -729,6 +733,7 @@ pub fn replace_document_sdk( identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; trace!("call Document::replace_on_platform & wait_for_response"); diff --git a/platform-mobile/src/put_test.rs b/platform-mobile/src/put_test.rs index 834792e..1a62a05 100644 --- a/platform-mobile/src/put_test.rs +++ b/platform-mobile/src/put_test.rs @@ -26,7 +26,7 @@ use dpp::state_transition::StateTransition; use dpp::util::entropy_generator::{DefaultEntropyGenerator, EntropyGenerator}; use platform_value::{BinaryData, Identifier, Value}; use platform_value::string_encoding::Encoding; -use platform_version::version::PlatformVersion; +use platform_version::version::{LATEST_PLATFORM_VERSION, PlatformVersion}; use rand::random; use simple_signer::signer::SimpleSigner; use tokio::runtime::Builder; @@ -195,6 +195,7 @@ fn test_put_documents_for_username() { identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; tracing::warn!("Call Document::put_to_platform_and_wait_for_response"); @@ -211,8 +212,9 @@ fn test_put_documents_for_username() { let preorder_transition = new_preorder_document.put_to_platform( &sdk, preorder_document_type.to_owned_document_type(), - entropy.clone(), + Some(entropy.clone()), identity_public_key.clone(), + None, &signer, Some(settings) ).await.or_else(|err|Err(ProtocolError::Generic(err.to_string())))?; @@ -246,8 +248,9 @@ fn test_put_documents_for_username() { let second_document_result = new_domain_document.put_to_platform_and_wait_for_response( &sdk, domain_document_type.to_owned_document_type(), - entropy2, + Some(entropy2), identity_public_key, + None, &signer, Some(settings) ).await.or_else(|err|Err(ProtocolError::Generic(err.to_string())))?; @@ -299,7 +302,7 @@ fn test_put_txmetadata_contract() { // Your async code here let cfg = if testnet { Config::new_testnet() } else { Config::new_mainnet() }; tracing::warn!("Setting up SDK"); - let sdk = cfg.setup_api().await; + let sdk = cfg.setup_api(LATEST_PLATFORM_VERSION).await; tracing::warn!("Finished SDK, {:?}", sdk); tracing::warn!("Set up entropy, data contract and signer"); @@ -320,6 +323,7 @@ fn test_put_txmetadata_contract() { identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; let file_path = "dashwallet-contract.json"; diff --git a/platform-mobile/src/sdk.rs b/platform-mobile/src/sdk.rs index 0d07339..322e789 100644 --- a/platform-mobile/src/sdk.rs +++ b/platform-mobile/src/sdk.rs @@ -5,8 +5,11 @@ use std::time::Duration; use dash_sdk::{RequestSettings, Sdk}; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::data_contract::DataContract; -use ferment_interfaces::{boxed, unbox_any}; +use ferment::{boxed, unbox_any}; use platform_value::Identifier; +use platform_version::version::PlatformVersion; +use platform_version::version::v7::PLATFORM_V7; +use platform_version::version::v9::PLATFORM_V9; use tokio::runtime::{Builder, Runtime}; use crate::config::{Config, EntryPoint}; use crate::logs::setup_logs; @@ -61,7 +64,8 @@ pub fn update_sdk_with_address_list( rust_sdk: * mut DashSdk, quorum_public_key_callback: u64, data_contract_callback: u64, - address_list: Vec + address_list: Vec, + version: &'static PlatformVersion ) { let rt = unsafe { (*rust_sdk).get_runtime() }; @@ -76,7 +80,8 @@ pub fn update_sdk_with_address_list( quorum_public_key_callback, data_contract_callback, unsafe { (*rust_sdk).get_data_contract_cache() }, - address_list + address_list, + version ).await; tracing::info!("sdk created"); @@ -141,7 +146,13 @@ pub fn create_dash_sdk_with_context( } else { Config::new_mainnet() }; + let version: &'static PlatformVersion = if is_testnet { + &PLATFORM_V9 + } else { + &PLATFORM_V9 + }; tracing::info!("configuring for testnet={} using platform port={}", cfg.is_testnet, cfg.platform_port); + tracing::info!("configuring platform version {:?}", version); let data_contract_cache = Arc::new(Cache::new(NonZeroUsize::new(100).expect("Non Zero"))); let sdk = if quorum_public_key_callback != 0 { // use the callbacks to obtain quorum public keys @@ -152,12 +163,14 @@ pub fn create_dash_sdk_with_context( data_contract_cache.clone(), connect_timeout, timeout, - retries + retries, + &version ).await } else { // use Dash Core for quorum public keys - cfg.setup_api().await + cfg.setup_api(version).await }; + tracing::info!("Sdk version {:?}", sdk.version()); DashSdk { config: Arc::new(cfg), runtime: rt.clone(), @@ -196,13 +209,18 @@ pub fn create_dash_sdk_using_single_evonode( } else { Config::new_mainnet() }; + let version: &'static PlatformVersion = if is_testnet { + &PLATFORM_V9 + } else { + &PLATFORM_V7 + }; let data_contract_cache = Arc::new(Cache::new(NonZeroUsize::new(100).expect("Non Zero"))); let sdk = if quorum_public_key_callback != 0 { // use the callbacks to obtain quorum public keys - cfg.setup_api_with_callbacks_cache_list(std::ptr::null(), quorum_public_key_callback, data_contract_callback, data_contract_cache.clone(), vec![evonode]).await + cfg.setup_api_with_callbacks_cache_list(std::ptr::null(), quorum_public_key_callback, data_contract_callback, data_contract_cache.clone(), vec![evonode], version).await } else { // use Dash Core for quorum public keys - cfg.setup_api_list(vec![evonode]).await + cfg.setup_api_list(vec![evonode], version).await }; DashSdk { config: Arc::new(cfg), @@ -211,8 +229,8 @@ pub fn create_dash_sdk_using_single_evonode( context_provider_context: std::ptr::null(), data_contract_cache: data_contract_cache, request_settings: RequestSettings { - connect_timeout: Some(Duration::from_secs(5)), - timeout: Some(Duration::from_secs(5)), + connect_timeout: Some(Duration::from_secs(10)), + timeout: Some(Duration::from_secs(10)), retries: Some(0), ban_failed_address: Some(false), } diff --git a/platform-mobile/src/tests/documents.rs b/platform-mobile/src/tests/documents.rs deleted file mode 100644 index 7cba3ab..0000000 --- a/platform-mobile/src/tests/documents.rs +++ /dev/null @@ -1,7 +0,0 @@ -use std::collections::BTreeMap; -use dpp::data_contract::{DataContract, DataContractV0, DocumentName}; -use dpp::data_contract::document_type::DocumentType; -use dpp::data_contract::document_type::v0::DocumentTypeV0; -use platform_value::{Identifier, IdentifierBytes32, Value, ValueMap}; - -fn data_contract_() {} \ No newline at end of file diff --git a/platform-mobile/src/tests/mod.rs b/platform-mobile/src/tests/mod.rs deleted file mode 100644 index 1ed2935..0000000 --- a/platform-mobile/src/tests/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -pub mod documents; - -//use drive_proof_verifier::ContextProvider; -use platform_value::types::binary_data::BinaryData; -use dash_sdk::platform::types::identity::PublicKeyHash; -//use dpp::bincode::{Decode, Encode}; -use platform_value::{Value}; - -#[ferment_macro::export] -pub fn convert_to_pkh(pkh: [u8; 20]) -> PublicKeyHash { - PublicKeyHash(pkh) -} - -#[ferment_macro::export] -pub fn get_binary_data_empty() -> BinaryData { - BinaryData::new(vec![]) -} -#[ferment_macro::export] -pub fn get_binary_data_4() -> BinaryData { - BinaryData(vec![0, 1, 2, 3]) -} - -#[ferment_macro::export] -pub fn get_platform_value_bool(value: bool) -> Value { - Value::Bool(value) -} - -#[ferment_macro::export] -pub fn get_platform_value_with_map() -> Value { - Value::Map(vec![(Value::Text("key".to_string()), Value::I32(4))]) -} \ No newline at end of file diff --git a/platform-mobile/src/voting.rs b/platform-mobile/src/voting.rs index c2f26e3..cc155f3 100644 --- a/platform-mobile/src/voting.rs +++ b/platform-mobile/src/voting.rs @@ -63,6 +63,7 @@ pub fn put_vote_to_platform( identity_nonce_stale_time_s: None, user_fee_increase: None, wait_timeout: None, + state_transition_creation_options: None }; tracing::info!("Call Vote::put_to_platform");