Skip to content

feat(drive-abci): add some strategy tests that have a hard coded root hash to verify no changes happen between updates. #1730

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 68 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
5b4e232
chore: automatic clippy fixes (#1528)
lklimek Nov 27, 2023
28820ae
chore: cargo clippy fixes, continued (#1602)
lklimek Nov 28, 2023
13243e9
feat(sdk): rs-sdk fetch current epoch (#1604)
lklimek Nov 28, 2023
f801f61
Merge branch 'master' into v1.0-dev
shumkov Dec 28, 2023
5bd7a58
Merge branch 'master' into v1.0-dev
QuantumExplorer Jan 4, 2024
becabaf
feat(drive-abci)!: processing fees for signature verification (#1656)
QuantumExplorer Jan 4, 2024
d177116
fix(platform)!: credit transfer replay attack (#1634)
QuantumExplorer Jan 4, 2024
ea27d6a
feat(drive-abci)!: include invalid state transitions into block (#1657)
shumkov Jan 5, 2024
c47aed4
feat(drive-abci)!: remove unnecessary validation from check tx and re…
QuantumExplorer Jan 5, 2024
8ad118f
fix(dapi): internal error when mempool is full (#1661)
shumkov Jan 11, 2024
c9b2927
chore(release): update change log and versions to 1.0.0-dev.1 (#1662)
shumkov Jan 11, 2024
9b24a19
chore(drive-abci): fix state transition logging (#1664)
shumkov Jan 11, 2024
49586bf
fix(drive-abci)!: internal error if vote extension block is already c…
shumkov Jan 11, 2024
f21ea2f
fix: broadcasting already invalidated transitions (#1668)
shumkov Jan 12, 2024
b3f0114
chore: various logging improvements (#1666)
shumkov Jan 12, 2024
31f84e4
chore(dashmate)!: adjust consensus params and enable re-check (#1669)
shumkov Jan 12, 2024
d320578
fix(dashmate): dapi kills host machine on container stop (#1670)
shumkov Jan 12, 2024
535429a
chore(release): update changelog and bump version to 1.0.0-dev.2 (#1671)
shumkov Jan 12, 2024
77febff
fix(dapi): internal errors if broadcasting failed (#1673)
shumkov Jan 16, 2024
2c0c579
chore(release): update changelog and bump version to 1.0.0-dev.3 (#1674)
shumkov Jan 16, 2024
f8c88f3
chore(dashmate): update to core v20.1.0-devpr5806.a1814ce2 (#1665)
markin-io Jan 23, 2024
30929ea
feat(drive): validate asset lock proof minimal value (#1667)
markin-io Jan 23, 2024
26e775f
fix(drive): invalid protocol version is using to deserialize state (#…
shumkov Jan 26, 2024
20b39d6
feat!: chainlock optimized verification (#1621)
QuantumExplorer Jan 28, 2024
6b8df26
chore: system data contracts versioning (#1676)
shumkov Jan 30, 2024
0e78075
fix(dashmate): service status when tenderdash is syncing (#1682)
pshenmic Feb 1, 2024
63e5366
chore: update rs-tenderdash-abci to v0.14.0-dev.6 and tenderdash to v…
lklimek Feb 1, 2024
9591752
feat(drive): withdrawals finalization (#1601)
markin-io Feb 6, 2024
bf8e7b4
chore(release): update changelog and bump version to 1.0.0-dev.4 (#1688)
shumkov Feb 7, 2024
7fc1cd9
refactor(platform): autogenerated clippy fixes for rust version 1.76 …
QuantumExplorer Feb 8, 2024
865ed22
chore: remove anton as code owner
QuantumExplorer Feb 9, 2024
c97922f
build: bump protoc to 25.2 (#1692)
lklimek Feb 9, 2024
5a145d5
feat(sdk): state transitions support in rust sdk (#1596)
lklimek Feb 12, 2024
2feb87e
refactor(drive): remove min core fee per byte check (#1690)
markin-io Feb 13, 2024
2848340
fix: proof balance and revision for IdentityTopUp (#1678)
fominok Feb 13, 2024
c3d4e7f
fix(platform): remove ability to verify proofs from drive-abci (#1699)
QuantumExplorer Feb 16, 2024
71acab7
fix: npm IP package vulnerable to SSRF attacks (#1703)
shumkov Feb 16, 2024
b408de7
feat(dashmate): tenderdash mempool cache size config option (#1702)
shumkov Feb 16, 2024
86778be
feat(dpp)!: do not allow creating data contracts without documents (#…
markin-io Feb 16, 2024
724b272
feat(platform)!: identity nonce and contract nonces to prevent replay…
QuantumExplorer Feb 20, 2024
acce68d
chore: bump to version 1.0.0 dev 5 (#1704)
QuantumExplorer Feb 20, 2024
5b6fc20
feat(sdk): fetch with metadata (#1707)
QuantumExplorer Feb 22, 2024
c481783
feat(sdk): add fetch_current_with_metadata to ExtendedEpochInfo (#1708)
QuantumExplorer Feb 22, 2024
541b27e
feat(sdk): re-fetch nonce on interval (#1706)
markin-io Feb 22, 2024
a988e69
fix: make strategy tests compatible with all networks and platform tu…
pauldelucia Feb 22, 2024
73f20dc
fix(test-suite): masternode identities (#1709)
markin-io Feb 22, 2024
dc03275
fix(sdk): nonce manager caching bug (#1711)
markin-io Feb 23, 2024
fe3b525
chore: fix npm audit warning (#1723)
markin-io Feb 27, 2024
62480ea
fix(drive-abci): reject reward shares operations (#1722)
markin-io Feb 27, 2024
6c45476
test(test-suite): withdrawals identityRecent index (#1716)
markin-io Feb 29, 2024
d197907
feat(platform)!: identity nonce for Data Contract Create (#1724)
QuantumExplorer Feb 29, 2024
340302d
test(test-suite): restore dpns tests (#1725)
markin-io Feb 29, 2024
41dd0ae
feat: add ContractUpdate to used_contract_ids function
pauldelucia Feb 29, 2024
43f08ed
feat: add ContractUpdate to used_contract_ids function (#1726)
pauldelucia Mar 1, 2024
926a782
feat/addSomeExtraSmallStrategyTests
QuantumExplorer Mar 4, 2024
d887e17
Update main.rs
QuantumExplorer Mar 4, 2024
3d09ba7
perf: query and check tx parallel processing (#1694)
shumkov Mar 5, 2024
208718f
feat(platform): better RW locking of platform state using parking lot…
QuantumExplorer Mar 5, 2024
f90a2d3
feat(sdk): make sdk put_settings public outside of crate (#1732)
pauldelucia Mar 5, 2024
0c3f75f
chore(release): update changelog and bump version to 1.0.0-dev.6 (#1735)
shumkov Mar 5, 2024
aba85d4
refactor: reduce cargo clippy warnings (#1738)
PastaPastaPasta Mar 6, 2024
242770d
feat: enable random contract creation in strategies (#1729)
pauldelucia Mar 6, 2024
a55764f
refactor(drive): expose more groveDB internals (#1739)
QuantumExplorer Mar 6, 2024
33c428e
refactor: reduce cargo clippy warnings (#1741)
PastaPastaPasta Mar 6, 2024
e21cc84
fix: resolve strategy-tests test failures (#1743)
PastaPastaPasta Mar 7, 2024
00eed12
refactor: reduce cargo clippy warnings in rs-dpp (#1742)
PastaPastaPasta Mar 7, 2024
3331c09
refactor: resolve a few clippy warnings in rs-platform-serializaation…
PastaPastaPasta Mar 7, 2024
d9bc0e6
Merge branch 'v1.0-dev' into feat/addSomeExtraSmallStrategyTests
QuantumExplorer Mar 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 7 additions & 2 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# TODO: We shouldn't go with tokio_unstable to production

[target.aarch64-unknown-linux-musl]
rustflags = [ "-C", "target-feature=-crt-static" ]
rustflags = ["-C", "target-feature=-crt-static", "--cfg", "tokio_unstable"]

[target.x86_64-unknown-linux-musl]
rustflags = [ "-C", "target-feature=-crt-static" ]
rustflags = ["-C", "target-feature=-crt-static", "--cfg", "tokio_unstable"]

[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"

[build]
rustflags = ["--cfg", "tokio_unstable"]
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ packages/*/dist
packages/*/wasm
packages/*/lib/wasm
packages/*/node_modules
packages/*/.env

!packages/platform-test-suite/test

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/rust/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ runs:
shell: bash
run: |
curl -Lo /tmp/protoc.zip \
"https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-linux-${{ steps.protoc_arch.outputs.arch }}.zip"
"https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-linux-${{ steps.protoc_arch.outputs.arch }}.zip"
unzip /tmp/protoc.zip -d ${HOME}/.local
echo "PROTOC=${HOME}/.local/bin/protoc" >> $GITHUB_ENV
export PATH="${PATH}:${HOME}/.local/bin"
Expand Down
7 changes: 6 additions & 1 deletion .github/package-filters/js-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,12 @@ dash: &dash
dashmate:
- .github/workflows/tests*
- packages/dashmate/**
- *dash
- *dashpay-contract
- *masternode-reward-shares-contract
- *dpns-contract
- *withdrawals-contract
- *wallet-lib
- *dapi-client

'@dashevo/platform-test-suite':
- .github/workflows/tests*
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/tests-rs-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ jobs:
detect_structure_changes:
name: Detect immutable structure changes
runs-on: ubuntu-22.04
# FIXME: as we use `gh pr view` below, this check can only
# run on pull requests. We should find a way to run it
# when manual triggers are used.
if: github.event_name == 'pull_request'
steps:
- name: Checkout base commit
uses: actions/checkout@v4
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: Tests
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
types: [ opened, synchronize, reopened, ready_for_review ]
branches:
- master
- v[0-9]+\.[0-9]+-dev
- 'v[0-9]+\.[0-9]+-dev'
push:
branches:
- master
Expand Down Expand Up @@ -83,11 +83,13 @@ jobs:
uses: ./.github/workflows/tests-rs-package.yml
with:
package: ${{ matrix.rs-package }}
# Run drive and drive-abci linter on self-hosted 2x
lint-runner: ${{ contains(fromJSON('["drive-abci", "drive"]'), matrix.rs-package) && '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' || '"ubuntu-22.04"' }}
# lint-runner: ${{ contains(fromJSON('["drive-abci", "drive"]'), matrix.rs-package) && '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' || '"ubuntu-22.04"' }}
# FIXME: Clippy fails on github hosted runners, most likely due to RAM usage. Using self-hosted runners for now.
lint-runner: '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]'
# Run drive tests on self-hosted 4x
test-runner: ${{ contains(fromJSON('["drive-abci"]'), matrix.rs-package) && '[ "self-hosted", "linux", "arm64", "ubuntu-platform-4x" ]' || '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' }}
check-each-feature: ${{ contains(fromJSON('["rs-sdk","rs-dapi-client","dapi-grpc","dpp","drive-abci"]'), matrix.rs-package) }}

rs-crates-security:
name: Rust crates security audit
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }}
Expand Down
1,206 changes: 274 additions & 932 deletions .pnp.cjs

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed .yarn/cache/ip-npm-1.1.5-af36318aa6-40a00572cf.zip
Binary file not shown.
Binary file removed .yarn/cache/ip-npm-2.0.0-204facb3cc-1270b11e53.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
149 changes: 149 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,152 @@
## [1.0.0-dev.6](https://github.com/dashpay/platform/compare/v1.0.0-dev.5...v1.0.0-dev.6) (2024-03-05)


### ⚠ BREAKING CHANGES

* **platform:** identity nonce for Data Contract Create (#1724)

### Features

* add ContractUpdate to used_contract_ids function
* **platform:** identity nonce for Data Contract Create ([#1724](https://github.com/dashpay/platform/issues/1724))
* **sdk:** add fetch_current_with_metadata to ExtendedEpochInfo ([#1708](https://github.com/dashpay/platform/issues/1708))
* **sdk:** fetch with metadata ([#1707](https://github.com/dashpay/platform/issues/1707))
* **sdk:** re-fetch nonce on interval ([#1706](https://github.com/dashpay/platform/issues/1706))


### Bug Fixes

* **drive-abci:** reject reward shares operations ([#1722](https://github.com/dashpay/platform/issues/1722))
* make strategy tests compatible with all networks and platform tui ([#1705](https://github.com/dashpay/platform/issues/1705))
* **sdk:** nonce manager caching bug ([#1711](https://github.com/dashpay/platform/issues/1711))
* **test-suite:** masternode identities ([#1709](https://github.com/dashpay/platform/issues/1709))


### Performance Improvements

* query and check tx parallel processing ([#1694](https://github.com/dashpay/platform/issues/1694))


### Miscellaneous Chores

* fix npm audit warning ([#1723](https://github.com/dashpay/platform/issues/1723))


### Tests

* **test-suite:** restore dpns tests ([#1725](https://github.com/dashpay/platform/issues/1725))
* **test-suite:** withdrawals identityRecent index ([#1716](https://github.com/dashpay/platform/issues/1716))

## [1.0.0-dev.5](https://github.com/dashpay/platform/compare/v1.0.0-dev.4...v1.0.0-dev.5) (2024-02-20)

### ⚠ BREAKING CHANGES

* Identity nonce and identity contract nonces to prevent replay attacks (#1681)
* Improved check tx verification (#1681)
* Do not allow creating data contracts without documents (#1675)

### Features

* State transitions support in rust sdk (#1596)
* Mempool uniqueness by state transition identifiers (#1681)
* Remove ability to verify proofs from drive-abci in order to have a smaller package size and to reduce potential issues (#1699)
* Tenderdash mempool cache size config option (#1702)

### Bug Fixes

* Remove min core fee per byte check (#1690)
* Fix proof balance and revision proofs for IdentityTopUp (#1678)
* NPM IP package vulnerable to SSRF attacks (#1703)
* Fix for contract proofs (#1699)

### Miscellaneous Chores
* Autogenerated clippy refactoring and fixes for rust version 1.76 (#1691)
* Bump protoc to 25.2 (#1692)

## [1.0.0-dev.4](https://github.com/dashpay/platform/compare/v1.0.0-dev.3...v1.0.0-dev.4) (2024-02-07)


### ⚠ BREAKING CHANGES

* The state now contains information about chain lock quorums (#1621)
* Minimal asset lock amount is introduced that makes previous data invalid (#1667)
* The initial state is changed (#1601)


### Features

* chainlock optimized verification ([#1621](https://github.com/dashpay/platform/issues/1621))
* **drive:** validate asset lock proof minimal value ([#1667](https://github.com/dashpay/platform/issues/1667))
* **drive:** withdrawals finalization ([#1601](https://github.com/dashpay/platform/issues/1601))


### Bug Fixes

* **dashmate:** service status when tenderdash is syncing ([#1682](https://github.com/dashpay/platform/issues/1682))
* **drive:** invalid protocol version is using to deserialize state ([#1679](https://github.com/dashpay/platform/issues/1679))


### Miscellaneous Chores

* **dashmate:** update to core v20.1.0-devpr5806.a1814ce2 ([#1665](https://github.com/dashpay/platform/issues/1665))
* system data contracts versioning ([#1676](https://github.com/dashpay/platform/issues/1676))
* update rs-tenderdash-abci to v0.14.0-dev.6 and tenderdash to v0.14.0-dev.2 ([#1686](https://github.com/dashpay/platform/issues/1686))

## [1.0.0-dev.3](https://github.com/dashpay/platform/compare/v1.0.0-dev.2...v1.0.0-dev.3) (2024-01-16)


### Bug Fixes

* **dapi:** internal errors if broadcasting failed ([#1673](https://github.com/dashpay/platform/issues/1673))

## [1.0.0-dev.2](https://github.com/dashpay/platform/compare/v1.0.0-dev.1...v1.0.0-dev.2) (2024-01-12)


### ⚠ BREAKING CHANGES

* **dashmate:** adjust consensus params and enable re-check (#1669)
* **drive-abci:** internal error if vote extension block is already committed (#1663)

### Bug Fixes

* broadcasting already invalidated transitions ([#1668](https://github.com/dashpay/platform/issues/1668))
* **dashmate:** dapi kills host machine on container stop ([#1670](https://github.com/dashpay/platform/issues/1670))
* **drive-abci:** internal error if vote extension block is already committed ([#1663](https://github.com/dashpay/platform/issues/1663))


### Miscellaneous Chores

* **dashmate:** adjust consensus params and enable re-check ([#1669](https://github.com/dashpay/platform/issues/1669))
* **drive-abci:** fix state transition logging ([#1664](https://github.com/dashpay/platform/issues/1664))
* various logging improvements ([#1666](https://github.com/dashpay/platform/issues/1666))

## [1.0.0-dev.1](https://github.com/dashpay/platform/compare/v0.25.21...v1.0.0-dev.1) (2024-01-11)


### ⚠ BREAKING CHANGES

* invalid state transitions now included into blocks that makes previous chain data invalid. (#1657)
* credit transfer state transition requires revision. (#1634)
* calculated fee amounts are changed (#1656)

### Features

* **drive-abci:** include invalid state transitions into block ([#1657](https://github.com/dashpay/platform/issues/1657))
* **drive-abci:** processing fees for signature verification ([#1656](https://github.com/dashpay/platform/issues/1656))
* **drive-abci:** remove unnecessary validation from check tx and re-check ([#1647](https://github.com/dashpay/platform/issues/1647))
* **sdk:** rs-sdk fetch current epoch ([#1604](https://github.com/dashpay/platform/issues/1604))


### Bug Fixes

* **platform:** credit transfer replay attack ([#1634](https://github.com/dashpay/platform/issues/1634))
* **dapi**: internal error when mempool is full ([#1661](https://github.com/dashpay/platform/issues/1661))


### Miscellaneous Chores

* automatic clippy fixes ([#1528](https://github.com/dashpay/platform/issues/1528), [#1602](https://github.com/dashpay/platform/issues/1602))

### [0.25.21](https://github.com/dashpay/platform/compare/v0.25.20...v0.25.21) (2023-12-28)


Expand Down
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @shumkov @antouhou @QuantumExplorer
* @shumkov @QuantumExplorer
Loading