Skip to content
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

fix: invalid query leads to internal error #1898

Closed
wants to merge 209 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 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
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
a3d9651
docs: update and expand mkdocs redirects (#1740)
thephez Mar 7, 2024
d65761a
chore: fmt (#1751)
QuantumExplorer Mar 7, 2024
853ad4c
refactor: resolve clippy warnings in rs-drive-abci (#1755)
PastaPastaPasta Mar 8, 2024
c14ed92
refactor: resolve clippy warnings in rs-drive (#1752)
PastaPastaPasta Mar 8, 2024
3a84f7a
refactor: resolve clippy warnings in wasm-dpp (#1753)
PastaPastaPasta Mar 8, 2024
06fa6f5
refactor: resolve a few clippy warnings in dapi-grpc, rs-drive-proof-…
PastaPastaPasta Mar 8, 2024
4129cf7
refactor: resolve clippy warnings in rs-dpp (#1754)
PastaPastaPasta Mar 8, 2024
5681c4c
fix: update strategy test document transitions with initial contract ids
pauldelucia Mar 8, 2024
26fb3ea
fix: remove unnecessary clone
pauldelucia Mar 8, 2024
22137c7
fix(drive): inconsistent platform state and version during ABCI calls…
shumkov Mar 8, 2024
8030d3d
feat(platform)!: state transition fee increase and priorities (#1750)
QuantumExplorer Mar 8, 2024
b1d3a52
fix(drive): internal error on querying specific identity keys (#1728)
markin-io Mar 8, 2024
54471f6
chore: update testnet genesis and core nightly (#1758)
shumkov Mar 8, 2024
9a93eae
chore(release): update changelog and bump version to 1.0.0-dev.7 (#1759)
shumkov Mar 8, 2024
1ca71e3
refactor: strategy test start identities (#1749)
pauldelucia Mar 9, 2024
867108a
Merge branch 'v1.0-dev' into feat/register-documents-to-supporting-co…
pauldelucia Mar 9, 2024
65dcc26
small fix
QuantumExplorer Mar 10, 2024
1e5569a
fix: update strategy test document transitions with initial contract …
pauldelucia Mar 10, 2024
e831503
refactor: resolve various warnings during build or by clippy (#1761)
PastaPastaPasta Mar 10, 2024
18dee4c
refactor(drive): relax versioning of calls with fees (#1762)
QuantumExplorer Mar 10, 2024
1196a28
fix(platform)!: advanced data contract structure validation position …
QuantumExplorer Mar 11, 2024
e92cc41
chore(dashmate): upgrade to Core 20.1 (#1760)
shumkov Mar 11, 2024
7298616
refactor: drop unused includes; use calculate_sign_hash (#1767)
PastaPastaPasta Mar 13, 2024
a2ad3c4
chore!: update tenderdash to 0.14-dev.4 (#1770)
shumkov Mar 14, 2024
6cb2068
fix(platform)!: data contract validation improvements (#1768)
QuantumExplorer Mar 14, 2024
83d9424
feat(platform)!: key disabled at based on state transition block time…
QuantumExplorer Mar 14, 2024
825d963
feat(platform)!: identity update can not disable a key it is also add…
QuantumExplorer Mar 14, 2024
47cab98
fix(platform): wrong state used to get current validator set (#1773)
QuantumExplorer Mar 14, 2024
9c5d999
chore(release): update changelog and bump version to 1.0.0-dev.8 (#1774)
shumkov Mar 14, 2024
8405c30
refactor: make strategy start identities a new struct (#1764)
pauldelucia Mar 14, 2024
08f6b18
chore(dashmate): readme fixes (#1624)
pshenmic Mar 15, 2024
d2d389e
fix(drive): internal error on querying proofs (#1747)
markin-io Mar 15, 2024
f133e81
feat: created at updated at from block time (#1780)
QuantumExplorer Mar 15, 2024
ea18e91
chore: fix npm audit for follow-redirects package (#1781)
markin-io Mar 15, 2024
9c8d72c
feat: query retry on race condition (#1776)
QuantumExplorer Mar 16, 2024
6a62ae3
ci: enforce warnings as errors (#1783)
PastaPastaPasta Mar 16, 2024
77d62ab
feat(platform)!: created at block height and variants (#1784)
QuantumExplorer Mar 18, 2024
97dc0df
build: rs-tenderdash-abci 0.14.0-dev.9 (#1782)
lklimek Mar 18, 2024
faefb58
fix(sdk)!: don't allow duplicate mock expectations (#1788)
lklimek Mar 18, 2024
51797a6
fix: identity add keys in strategy tests (#1727)
pauldelucia Mar 19, 2024
5f93578
feat: updated descriptions and function names in strategy tests plus …
pauldelucia Mar 19, 2024
85a7f6c
ci: update doc build branch in action config (#1748)
thephez Mar 19, 2024
5493ae9
feat(dapi): use broadcast_tx instead of deprecated broadcast_tx_sync …
markin-io Mar 19, 2024
807942e
feat: identity state transition validation fixes (#1786)
QuantumExplorer Mar 19, 2024
d6688be
chore(release): update changelog and bump version to 1.0.0-dev.9 (#1790)
shumkov Mar 19, 2024
8c47e82
fix(strategy-tests): default identity nonce and document op contract …
pauldelucia Mar 20, 2024
4d8af75
test: added a test registering many random contracts in strategy test…
QuantumExplorer Mar 20, 2024
1582458
fix(platform)!: max state transition size (#1792)
QuantumExplorer Mar 21, 2024
d672ed8
perf(platform)!: use inline on versioned functions (#1793)
QuantumExplorer Mar 21, 2024
02481fc
feat(platform)!: various document validation improvements (#1795)
QuantumExplorer Mar 24, 2024
6947672
feat(dpp)!: validate document type name (#1798)
shumkov Mar 28, 2024
1ac3638
fix: state transition already in chain error on low credit transfer a…
markin-io Mar 28, 2024
b8fd57d
feat(strategy-tests): add extra_keys field for StartIdentities and us…
pauldelucia Mar 29, 2024
0f6a465
feat: pass asset lock vector rather than callback in strategies
pauldelucia Mar 31, 2024
3014b6f
feat(platform)!: mitigate issues of asset lock based transitions (#1796)
QuantumExplorer Mar 31, 2024
08bb6f6
Merge branch 'v1.0-dev' into strategy-asset-lock-proof-refactor
pauldelucia Apr 1, 2024
3be578a
feat(drive-abci)!: better processing costs of state transitions (no s…
QuantumExplorer Apr 1, 2024
44608ed
Merge branch 'v1.0-dev' into strategy-asset-lock-proof-refactor
pauldelucia Apr 2, 2024
21cd7f7
refactor(strategy-tests): take a vector of asset lock proofs rather t…
pauldelucia Apr 2, 2024
642ff91
chore(sdk): export various libraries in rs-sdk (#1802)
QuantumExplorer Apr 3, 2024
4bb24fb
fix(sdk): not bumping nonce on contract creation (#1801)
markin-io Apr 3, 2024
2fdd949
fix(drive)!: versioning issues on epoch change (#1769)
shumkov Apr 4, 2024
3578f87
fix(drive): no longer build full grovedb when using verify feature (#…
QuantumExplorer Apr 4, 2024
7cb35e8
feat(platform)!: improved state processing fees (#1805)
QuantumExplorer Apr 4, 2024
a12abe6
feat(drive)!: provide protocol version in epoch info query (#1778)
shumkov Apr 4, 2024
94f1013
chore(release): update changelog and bump version to 1.0.0-dev.10 (#1…
shumkov Apr 4, 2024
5819113
refactor(platform)!: reduce dependencies, and get verify feature to b…
QuantumExplorer Apr 8, 2024
8d9fd15
refactor(dpp): generic wasm error (#1803)
markin-io Apr 9, 2024
acfe3c6
refactor: reduce dependencies and update ring sub dependency (#1809)
QuantumExplorer Apr 10, 2024
c48f216
chore(sdk): patch tower sub dependency to use new index_map version (…
QuantumExplorer Apr 10, 2024
b322c81
chore: fix node-tar security vulnerability (#1813)
markin-io Apr 11, 2024
96589cc
fix(dpp)!: incorrect json schema compatibility validation (#1814)
shumkov Apr 12, 2024
60ac47d
feat: register init contracts on second block of strategy (#1808)
pauldelucia Apr 13, 2024
e17ecfe
chore: update tenderdash-abci
QuantumExplorer Apr 13, 2024
8a61c85
feat(sdk): reuse dapi connections (#1815)
lklimek Apr 13, 2024
aca3ab5
refactor(sdk)!: rename crate rs-sdk to dash-sdk (#1811)
lklimek Apr 13, 2024
f553b70
feat(platform): query any element in Platform state (#1816)
QuantumExplorer Apr 15, 2024
56a4d88
fix(sdk): dapi client pool should separate platform and core clients …
lklimek Apr 16, 2024
fa72ffe
feat(platform)!: identity create replay protection (#1819)
QuantumExplorer Apr 16, 2024
36a7dcc
fix(platform)!: a withdrawal failure from core should never cause pla…
QuantumExplorer Apr 18, 2024
5d51032
chore: bump to dev.11 (#1822)
QuantumExplorer Apr 18, 2024
dde03fc
feat(drive-abci): configure dir to store rejected txs (#1823)
lklimek Apr 19, 2024
2a5aac3
chore(dapi): update autogenerated clients (#1827)
shumkov Apr 22, 2024
e71f92c
feat(platform)!: ability to transfer documents (#1826)
QuantumExplorer Apr 22, 2024
1c9c669
fix: add tls-webpki-roots to support tls on mobile (Android, iOS) (#1…
HashEngineering Apr 23, 2024
5404679
feat(dapi)!: split getStatus into two endpoints (#1812)
markin-io Apr 24, 2024
0b4a733
feat(sdk): add query for data contract history (#1787)
markin-io Apr 25, 2024
377087b
feat(platform)!: basic nft support (#1829)
QuantumExplorer Apr 25, 2024
122bbb9
feat(wallet-lib): optional sync of the account (#1830)
markin-io Apr 25, 2024
2a331c1
chore(dashmate): limit concurrent state transition checks (#1824)
shumkov Apr 26, 2024
cfdc7dd
feat!: getIdentitiesContractKeys endpoint (#1766)
markin-io Apr 27, 2024
6de96cd
chore(release): update changelog and bump version to 1.0.0-dev.12 (#1…
shumkov Apr 29, 2024
7e1e91c
feat: make purchase document public
pauldelucia Apr 29, 2024
c8262fa
Merge branch 'v1.0-dev' of https://github.com/dashpay/platform into v…
pauldelucia Apr 29, 2024
b47245f
feat: make document tranfers public
pauldelucia Apr 29, 2024
4ea0310
feat: make sdk document purchases public (#1832)
pauldelucia Apr 29, 2024
4566ad9
feat: make sdk files public
pauldelucia Apr 29, 2024
8e4fbde
Merge branch 'v1.0-dev' into feat/public-document-price-update
pauldelucia Apr 29, 2024
d71bfc4
feat: serialize for indexes and change error messages to strings
pauldelucia Apr 30, 2024
5612b31
fix(platform): npm audit security fix (#1836)
pshenmic May 5, 2024
8073c3f
feat(dashmate): handle docker pull error on images update (#1685)
pshenmic May 6, 2024
751ee6e
fix a test
pauldelucia May 7, 2024
02d4ad0
Merge branch 'v1.0-dev' into feat/public-document-price-update
pauldelucia May 7, 2024
c7a1b0f
feat: use all current identities for strategy test state transitions …
pauldelucia May 7, 2024
2b56263
refactor(platform)!: document creation/update/deletion does not refet…
QuantumExplorer May 7, 2024
63d06f6
refactor(sdk)!: don't return Arc in SdkBuilder (#1838)
lklimek May 7, 2024
ddc9c0c
Merge branch 'v1.0-dev' into feat/public-document-price-update
pauldelucia May 8, 2024
fbdfef5
feat: make start identities number u16
pauldelucia May 8, 2024
e624e02
chore: observability and security for HTTP gateway (#1825)
shumkov May 8, 2024
1185bc5
feat: put index serialization behind feature
pauldelucia May 9, 2024
76836ac
Merge branch 'v1.0-dev' into feat/public-document-price-update
pauldelucia May 9, 2024
26abf50
chore: updates needed for compatibility with nfts in the tui (#1833)
pauldelucia May 9, 2024
3c2c524
Merge remote-tracking branch 'origin' into feat/make-start-identities…
pauldelucia May 9, 2024
b34de38
feat: make start identities number u16 (#1841)
pauldelucia May 9, 2024
54623e2
chore(release): update changelog and bump version to 1.0.0-dev.13 (#1…
shumkov May 9, 2024
ed36e73
refactor: rename `DataContractConfig.validate_config_update` (#1843)
shumkov May 13, 2024
7e5b932
refactor: rename `validate` to `full_validation` (#1845)
shumkov May 13, 2024
e1a6191
feat(dashmate): check for DKG before stopping node (#1683)
pshenmic May 14, 2024
c04d6ac
fix!: data contract transition validation issues (#1835)
shumkov May 15, 2024
e80854c
chore(release): update changelog and bump version to 1.0.0-dev.14 (#1…
shumkov May 17, 2024
fc5c7b8
feat: implement mempool document counter in strategy tests
pauldelucia May 19, 2024
f15725b
change to 10 eligible identities and add warning if there are 0
pauldelucia May 20, 2024
3e163aa
docs(drive-abci): added some comments on the initial core height and …
QuantumExplorer May 21, 2024
74f552f
feat: implement mempool document counter in strategy tests (#1848)
pauldelucia May 21, 2024
d7b4541
chore(drive): state transition observability (#1846)
shumkov May 22, 2024
46b8b3e
chore(release): update changelog and bump version to 1.0.0-dev.15 (#1…
shumkov May 22, 2024
ff8e7c5
feat(dpp): random documents based on JSON schema (#1710)
fominok May 22, 2024
e81e699
fix(sdk)!: dapi-grpc generated files overwritten on conflicting featu…
lklimek May 23, 2024
d87f150
fix(sdk): invalid error returned when identity create fails (#1856)
lklimek May 28, 2024
4224881
fix: security vulnerabilities in NPM deps (#1860)
shumkov May 28, 2024
5caf216
chore(dapi)!: disable unnecessary for v1 endpoints (#1857)
shumkov May 28, 2024
710d0ef
perf(dapi): use cached core height in streaming endpoints (#1865)
shumkov May 29, 2024
c79e8fa
perf(dapi): get many transactions at once (#1858)
shumkov May 29, 2024
bc5f55d
perf(dapi): cache `getBestBlockHash` endpoint (#1867)
shumkov May 30, 2024
3ab5e4f
perf(dapi): cache `getBlockchainStatus` endpoint (#1866)
shumkov May 30, 2024
9bf1bff
feat(dapi): introduce `getBestBlockHeight` endpoint (#1863)
shumkov May 30, 2024
18fa8a3
feat: make data contract factory and json schema validator public
pauldelucia Jun 4, 2024
7d3ba7f
fix: validator field didn't need to be public for JsonSchemaValidator
pauldelucia Jun 4, 2024
c03a5f8
chore(dpp): make data contract factory and json schema validator publ…
pauldelucia Jun 4, 2024
52aff41
chore: mute NPM audit warnings (#1879)
shumkov Jun 11, 2024
2c9368a
perf(dapi)!: replace `getMnListDiff` with a streaming endpoint (#1859)
shumkov Jun 12, 2024
75398b7
refactor(drive): encapsulate chain lock validation quorum logic (#1868)
shumkov Jun 14, 2024
9e99878
chore: update websocket client (#1895)
shumkov Jun 19, 2024
e913c9d
fix: invalid query leads to internal error
shumkov Jun 19, 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
37 changes: 37 additions & 0 deletions .github/actions/javy/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: "Setup Javy"
description: "Setup Javy binaries"
inputs:
version:
description: Javy version to use
required: false
default: "1.4.0"
runs:
using: composite
steps:
- name: Install Javy
shell: bash
run: |
set -e

case "${{ runner.arch }}" in
"ARM64")
JAVY_ARCH="arm-linux"
;;
"X64")
JAVY_ARCH="x86_64-linux"
;;
*)
echo "Unsupported architecture: ${{ runner.arch }}"
exit 1
;;
esac

curl -Ls "https://github.com/bytecodealliance/javy/releases/download/v${{ inputs.version }}/javy-${JAVY_ARCH}-v${{ inputs.version }}.gz" | gunzip > javy

chmod +x javy
sudo mv javy /usr/local/bin/javy

- name: Verify Javy installation
shell: bash
run: javy --version
2 changes: 1 addition & 1 deletion .github/actions/nodejs/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ runs:
using: composite
steps:
- name: Setup Node.JS
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: "20"

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
7 changes: 6 additions & 1 deletion .github/package-filters/rs-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,18 @@ dpns-contract: &dpns-contract
- .github/workflows/tests*
- packages/dpns-contract/**

json-schema-compatibility-validator: &json-schema-compatibility-validator
- .github/workflows/tests*
- packages/rs-json-schema-compatibility-validator/**

dpp: &dpp
- .github/workflows/tests*
- packages/rs-dpp/**
- *dashpay-contract
- *masternode-reward-shares-contract
- *dpns-contract
- *withdrawals-contract
- *json-schema-compatibility-validator
- packages/rs-platform-serialization/**
- packages/rs-platform-serialization-derive/**
- packages/rs-platform-value/**
Expand Down Expand Up @@ -54,7 +59,7 @@ rs-dapi-client: &dapi_client
- packages/rs-dapi-client/**
- *dapi_grpc

rs-sdk:
dash-sdk:
- .github/workflows/tests*
- packages/rs-drive-proof-verifier/**
- packages/rs-sdk/**
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages
on:
push:
branches:
- master
- v1.0-dev

jobs:
build:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/tests-dashmate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,12 @@ jobs:
key: build-js-artifacts/${{ github.sha }}

- name: Unpack JS build artifacts archive
run: tar -xf build-js-artifacts-${{ github.sha }}.tar
run: tar -xvf build-js-artifacts-${{ github.sha }}.tar

- name: Replace with pre-built images
run: |
set -x

# Login to ECR
DOCKER_HUB_ORG="${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com"
aws ecr get-login-password --region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin $DOCKER_HUB_ORG
Expand Down
31 changes: 30 additions & 1 deletion .github/workflows/tests-rs-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ jobs:
with:
components: clippy

- name: Setup Node.JS, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/nodejs

- name: Setup Javy, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/javy

- uses: clechasseur/rs-clippy-check@v3
with:
args: --package ${{ inputs.package }} --all-features --locked -- --no-deps
Expand Down Expand Up @@ -106,6 +114,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 Expand Up @@ -176,6 +188,14 @@ jobs:
- name: Setup Rust
uses: ./.github/actions/rust

- name: Setup Node.JS, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/nodejs

- name: Setup Javy, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/javy

- name: Run tests
run: cargo test --package=${{ inputs.package }} --all-features --locked
env:
Expand All @@ -201,7 +221,15 @@ jobs:
- name: Setup Rust
uses: ./.github/actions/rust

- name: Get crate ${{ inputs.package }} info
- name: Setup Node.JS, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/nodejs

- name: Setup Javy, required by json-schema-faker-rs
if: inputs.package == 'dpp'
uses: ./.github/actions/javy

- name: Get crate ${{ runner.arch }} info
id: crate_info
uses: ./.github/actions/crate_info
with:
Expand All @@ -218,6 +246,7 @@ jobs:
set -ex
features="${{ steps.crate_info.outputs.features }}"
fails=""
RUSTFLAGS="-D warnings"
cargo check --no-default-features --package "${{ inputs.package }}" --locked
for feature in $features ; do
echo " ============== Verify feature $feature =============="
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
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) }}
check-each-feature: ${{ contains(fromJSON('["dash-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 Expand Up @@ -126,9 +128,9 @@ jobs:
uses: actions/checkout@v4

- name: Setup Node.JS
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: "18"
node-version: "20"

- name: Enable corepack
run: corepack enable
Expand Down
Loading