Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
2398796
wip(dapi): test dapi build with wasm-dpp
markin-io Feb 22, 2023
2a82e58
wip(dapi): add missing wasm-dpp to Dockerfiles
markin-io Feb 22, 2023
607a51d
build(dapi): build wasm-dpp
markin-io Feb 22, 2023
d165447
build(dapi): add build step for wasm-dpp
markin-io Feb 28, 2023
a3cdcd5
build(dapi): fixed missing deps for wasm-dpp
markin-io Feb 28, 2023
d9c0e76
build: revert unnecessary added wasm-dpp deps in Dockerfile
markin-io Mar 1, 2023
77ffc0d
wip(dapi): test dpp with state repo
markin-io Mar 13, 2023
89d3e3f
build(dapi): cache apt-get packages
markin-io Mar 13, 2023
d529ea9
test(wasm-dpp): add getIdentityFixture.js
markin-io Mar 16, 2023
b25cdba
test(dapi): use getIdentityFixture from wasm-dpp
markin-io Mar 16, 2023
fd610ef
feat(wasm-dpp): make queueable wasm dpp loader (don't trigger bundle …
markin-io Mar 16, 2023
9996d89
test(dapi): use generateRandomIdentifierAsync from wasm-dpp
markin-io Mar 17, 2023
7d688b5
build(dapi): add rs-platform-value
markin-io Mar 17, 2023
8cc6f3e
build(dashmate): add deterministic instant send for dash core config
markin-io Mar 17, 2023
3f778ab
feat(dpp): rework entropy generator to return Result
markin-io Mar 17, 2023
2083db5
fix(wasm-dpp): provide entropy generator for DataContractFactory fixture
markin-io Mar 17, 2023
fe5fca2
test(dapi): use getDataContractFixture from wasm-dpp
markin-io Mar 17, 2023
483e384
test(dapi): use DashPlatformProtocol from wasm-dpp
markin-io Mar 17, 2023
0fe8d4c
feat(wasm-dpp): provide external entropy generator for document_facto…
markin-io Mar 17, 2023
4191670
test(dapi): use getDocumentsFixture fromw wasm-dpp
markin-io Mar 17, 2023
180c79e
test(wasm-dpp): provide real entropy generator for `getDataContractFi…
markin-io Mar 17, 2023
f8e5079
feat(wasm-dpp): add toBuffer to identity_create_transition.rs
markin-io Mar 17, 2023
8cab8da
test(wasm-dpp): add `getIdentityCreateTransitionFixture.js` and `getI…
markin-io Mar 17, 2023
76b8762
test(dapi): replace dpp fixtures with wasm-dpp in `waitForStateTransi…
markin-io Mar 17, 2023
95fdad8
build(wasm-dpp): update lock files
markin-io Mar 22, 2023
14334a9
chore(dpp): fix inconsistencies after merge
markin-io Mar 22, 2023
499d489
feat(sdk): add wasm-dpp dep
markin-io Mar 22, 2023
67f51f5
test(sdk): add tsconfig.mocha.json config
markin-io Mar 22, 2023
ffae422
fix(wasm-dpp): check for fetch instead of window
markin-io Mar 22, 2023
fae2bbd
feat(sdk): add wasm dpp module into Platform.ts
markin-io Mar 22, 2023
c1e96e7
refactor(wasm-dpp): get rid of hacky toObject conversion in ST basic …
markin-io Mar 22, 2023
30e0d93
fix(rs-dpp) missing serde rename transition_type to type in identity STs
markin-io Mar 22, 2023
cb74d47
fix(wasm-dpp): serialization of identity_id
markin-io Mar 22, 2023
c39ae34
fix(rs-dpp): wrong schema in PublicKeysValidator for IdentityCreateST…
markin-io Mar 22, 2023
a82097e
refactor(dpp): use the same state transition basic validator for both…
markin-io Mar 22, 2023
3746733
refactor(sdk): identity#register with wasm-dpp
markin-io Mar 22, 2023
642500d
build(dashmate): add wasm-dpp
markin-io Mar 23, 2023
31d892c
fix(dapi-client): buffer shim bug
markin-io Mar 23, 2023
e50ebd4
fix(sdk): broadcastStateTransition error message
markin-io Mar 23, 2023
2bbaf76
Merge v0.24-dev
markin-io Mar 23, 2023
30e599c
fix(wasm-dpp): wrong import path for EntropyGenerator
markin-io Mar 23, 2023
65d25ca
feat(wasm-dpp): add #toBuffer to identity_topup_transition.rs
markin-io Mar 23, 2023
52e3480
feat(sdk): port identity topUp to wasm-dpp
markin-io Mar 23, 2023
ddba0fc
chore(sdk): improved logs for identity register
markin-io Mar 23, 2023
bb6a64a
fix(dpp): identity transitions bugs
markin-io Mar 23, 2023
fadddf7
fix(dpp): missing file
markin-io Mar 23, 2023
7579190
refactor(sdk): use WASM-DPP for identity update transition
markin-io Mar 23, 2023
0100523
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
markin-io Mar 23, 2023
26cb787
test(rs-drive): fix path to EntropyGenerator
markin-io Mar 23, 2023
67bcdf7
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 24, 2023
fe5b60f
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
markin-io Mar 24, 2023
fcb4d48
fix: flip DashPlatformProtocol arguments
markin-io Mar 24, 2023
04512cc
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 24, 2023
e9f4291
feat: integrate `wasm-dpp` into `js-drive` (#815)
jawid-h Mar 24, 2023
456a06c
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 24, 2023
4635f4e
chore: dpp init
jawid-h Mar 24, 2023
6e271e5
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 24, 2023
5c2f52b
chore: add bls deps
jawid-h Mar 24, 2023
a55c050
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 24, 2023
e2de8ca
chore: var fix
jawid-h Mar 24, 2023
a05003b
chore: invalid use of dppWasm
jawid-h Mar 24, 2023
8073246
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 24, 2023
ff8b79e
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 24, 2023
c7bca81
Merge v0.24-dev
markin-io Mar 24, 2023
db5c25f
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 24, 2023
040823b
feat(wasm-dpp): add verifySignature to data_contract_create_transition
markin-io Mar 24, 2023
8a043cb
feat(sdk): port data contract publish to wasm-dpp
markin-io Mar 24, 2023
7c03d5d
fix(wasm-dpp): identity move in IdentityFacade#validate
markin-io Mar 24, 2023
897adb2
refactor(wasm-dpp): verifySignature return bool in documents_batch_tr…
markin-io Mar 24, 2023
1ba53a9
feat(wasm-dpp): use wasm-dpp in document.broadcast and contract.get
markin-io Mar 24, 2023
f7a6a14
test(wasm-dpp): use wasmDpp facade in top up test
markin-io Mar 24, 2023
1be1b54
chore: make bls work
jawid-h Mar 27, 2023
68eec13
chore: disable MN REWARD SHARES
jawid-h Mar 27, 2023
7e366b0
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 28, 2023
e3fcfdc
chore: patching
jawid-h Mar 28, 2023
54c8d7f
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
markin-io Mar 28, 2023
93a1697
feat(wasm-dpp): provide external entropy generator to dash_platform_p…
markin-io Mar 28, 2023
59eb9d8
test(wasm-dpp): fix DataContractFacade.spec.js
markin-io Mar 28, 2023
4e66591
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Mar 28, 2023
1c33631
chore: trying things
jawid-h Mar 28, 2023
8cac71e
fix(js-drive): missing dppWasm
markin-io Mar 29, 2023
c52f77f
Merge branch 'v0.24-dev' of github.com:dashpay/platform into feat/was…
markin-io Mar 29, 2023
10705d0
Merge branch 'v0.24-dev' of github.com:dashpay/platform into feat/was…
markin-io Mar 29, 2023
bcde6e3
chore: update fee classes
jawid-h Mar 29, 2023
27504ae
feat(wasm-dpp): addOperation and getOperations in state_transition_ex…
markin-io Mar 29, 2023
49f2edd
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 29, 2023
cca7c10
chore: multiple operation add
jawid-h Mar 29, 2023
01e2331
fix(rs-dpp): missing signature in identity create transition
markin-io Mar 29, 2023
e7e53d6
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Mar 29, 2023
7a49cbc
Merge v0.24-dev
markin-io Mar 30, 2023
a07b22c
fix merge conflict
markin-io Mar 30, 2023
3bc5cd4
fix SDK test
markin-io Mar 30, 2023
c87e4d4
chore: operations call
jawid-h Mar 30, 2023
f346ad9
chore: fix
jawid-h Mar 30, 2023
1c48c39
feat(wasm-dpp): add isDryRun to StateTransitionExecutionContext
markin-io Mar 30, 2023
f7b006a
build: optimise installation of wasm-bindgen-cli
markin-io Mar 30, 2023
65f02e4
chore: use `toBuffer` in Drive
jawid-h Mar 30, 2023
6b5aa0b
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Mar 30, 2023
4612c97
chore: fix
jawid-h Mar 30, 2023
317b2fe
build: fix wasm-bindgen-cli installation
markin-io Mar 30, 2023
814705a
fix(wasm-dpp): add is_null checks to state_repository methods
markin-io Mar 30, 2023
5ca02e8
fix(js-drive): parsing of raw instant lock
markin-io Mar 30, 2023
8a10b96
chore: remove console.log
jawid-h Mar 31, 2023
63716fa
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Mar 31, 2023
be0c1b7
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
jawid-h Mar 31, 2023
859084c
chore(wasm-dpp): rework wasm identifier with JS identifier
markin-io Mar 31, 2023
ca2aa4d
build(wasm-dpp): add separate ts build
markin-io Mar 31, 2023
cb4a1da
Merge v0.24-dev
markin-io Mar 31, 2023
41453ec
refactor(wasm-dpp): update paths to loadWasmDpp
markin-io Mar 31, 2023
5294c2f
test(wasm-dpp): fix unit Document.spec.js
markin-io Mar 31, 2023
15658d3
test(wasm-dpp): fix browser tests
markin-io Mar 31, 2023
1cdf0b7
build(wasm-dpp): fix build command
markin-io Mar 31, 2023
bd61919
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
jawid-h Mar 31, 2023
d45b266
fix(wasm-dpp): calculate_operation_fees_wasm accept instances of oper…
markin-io Mar 31, 2023
070ee43
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Mar 31, 2023
90d1a31
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Mar 31, 2023
24b522d
refactor(wasm-dpp): cleanup identifier rs
markin-io Mar 31, 2023
c5e4409
build(wasm-dpp): move bs58 to deps
markin-io Mar 31, 2023
a411246
refactor(wasm-dpp): TS Identifier
markin-io Mar 31, 2023
e3af6a2
refactor(wasm-dpp): TS IdentifierError
markin-io Mar 31, 2023
84449a9
feat(wasm-dpp): add calculateStateTransitionFeeFromOperations
markin-io Mar 31, 2023
8af5ea6
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Mar 31, 2023
3b2fc53
build(wasm-dpp): add missing @types/bs58
markin-io Mar 31, 2023
c02e067
refactor(wasm-dpp): extend DPP module with Identifier and IdentifierE…
markin-io Mar 31, 2023
522f8fd
refactor(wasm-dpp): fix lint
markin-io Mar 31, 2023
072db8f
build(wasm-dpp): get rid of unnecessary webpack bundle
markin-io Apr 1, 2023
85feb37
build(wasm-dpp): add missing lock file update
markin-io Apr 1, 2023
ac10e3d
Revert "refactor(wasm-dpp): update paths to loadWasmDpp"
markin-io Apr 1, 2023
00be682
build(wasm-dpp): rework entry point
markin-io Apr 1, 2023
6b3184f
feat(wasm-dpp): add clearDryOperations to execution context
markin-io Apr 1, 2023
09f9117
Merge branch 'feat/wasm-dpp/identifier-buffer-inheritance' into feat/…
markin-io Apr 1, 2023
1a95d5d
refactor(sdk): get rid of toBuffer hacks
markin-io Apr 1, 2023
a006bf0
chore: fixes
jawid-h Apr 1, 2023
f19b946
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Apr 1, 2023
9cc3c60
fix(sdk): missing identifier conversion in identity get
markin-io Apr 1, 2023
0bf136c
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 1, 2023
b4fc2a3
chore: remove hack
jawid-h Apr 1, 2023
333abb8
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Apr 1, 2023
bb52754
refactor(js-drive): port BlockExecutionContext.js to wasmDpp
markin-io Apr 1, 2023
5b05cc5
chore: remove toBuffer
jawid-h Apr 1, 2023
225b2f0
chore: fixes
jawid-h Apr 1, 2023
8d3c82c
build(wasm-dpp): replace webpack with tsc
markin-io Apr 1, 2023
e3cd784
chore: fixes
jawid-h Apr 1, 2023
6cd8929
fix(sdk): update DPP arguments
markin-io Apr 1, 2023
5595fa4
fix(js-drive): ignore wasm error args parsing and fix DI for fees fun…
markin-io Apr 1, 2023
9bd43ff
debug(js-drive): add logs to DriveStateRepository.js
markin-io Apr 1, 2023
c6b89c4
fix(js-drive): update execution context for state transitions
markin-io Apr 1, 2023
78ad061
fix(rs-drive-nodejs): identity to Buffer
markin-io Apr 2, 2023
df3b9d4
feat(wasm-dpp): add toJSON to Operations
markin-io Apr 2, 2023
51ee49f
fix(js-drive): fees BigInt Number casting
markin-io Apr 2, 2023
c5d4654
fix(sdk): undefined Identifier
markin-io Apr 2, 2023
292a414
fix(sdk): out point buffer tx id endianness
markin-io Apr 2, 2023
dec3900
refactor: use temporary consensus error
markin-io Apr 2, 2023
e6499ff
test(sdk): enable basic identity creation tests
markin-io Apr 2, 2023
c456621
fix(js-drive): StateRepository addKeysToIdentity conversion
markin-io Apr 2, 2023
e5b79fa
test(sdk): enable identity update
markin-io Apr 2, 2023
9b765ed
test(sdk): enable masternode identity tests
markin-io Apr 2, 2023
ff32366
Merge branch 'v0.24-dev' of github.com:dashpay/platform into v0.24-dev
markin-io Apr 3, 2023
972381d
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
markin-io Apr 3, 2023
8613f42
refactor: get rid of unnecessary setExecutionContext calls
markin-io Apr 3, 2023
716f1dc
feat(wasm-dpp): add get_execution_context to data contract transitions
markin-io Apr 3, 2023
315f4e2
fix(js-drive): identifier toBuffer in proofs
markin-io Apr 3, 2023
baf465b
test(sdk): enable data contract creation tests
markin-io Apr 3, 2023
015b389
refactor(js-drive): rename `createDataContract` to `storeDataContract…
markin-io Apr 3, 2023
b353235
chore: pass BigInt using Buffer
jawid-h Apr 3, 2023
fbb1a1e
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Apr 3, 2023
3e6b6ca
fix(wasm-dpp): data_contract_update_transition toObject
markin-io Apr 3, 2023
40c5573
add a crutch for arrays vs buffers in platform value ciborium
antouhou Apr 3, 2023
30a2b31
wip(sdk): data contract update
markin-io Apr 3, 2023
34fd176
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 3, 2023
c0e44a5
fix(rs-drive-nodejs): decodeProtocolEntity and missing wasm Document …
markin-io Apr 3, 2023
c88ce1e
feat(sdk): document create and get with tests
markin-io Apr 3, 2023
f9c3290
fix(dpp): basic validation for identity_update_transition if no keys …
markin-io Apr 3, 2023
dbe583a
test(sdk): fix identity update for disable publickeys
markin-io Apr 3, 2023
fd7c7e8
fix(wasm-dpp): clean value of DataContractUpdateTransition
markin-io Apr 3, 2023
ac65598
wip(sdk): add errors info to createFromBuffer
markin-io Apr 3, 2023
bba4381
test(sdk): skip problematic document tests
markin-io Apr 3, 2023
8ad0b8f
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
shumkov Apr 4, 2023
84c8206
feat(js-drive): add fetchExtendedDocuments
markin-io Apr 4, 2023
0c44273
feat(wasm-dpp): refactor parsing of fee refunds by PreCalculatedOpera…
markin-io Apr 4, 2023
7b9ad69
test: feature flags tests
Apr 4, 2023
2bc3c56
Merge remote-tracking branch 'origin/feat/wasm-dpp-integration' into …
Apr 4, 2023
983b0e2
feat(wasm-dpp): add toObject to Refunds
markin-io Apr 4, 2023
67e9b0b
fix(rs-drive-nodejs): refunds calculation
markin-io Apr 4, 2023
e3ab556
test(sdk): enable Document update
markin-io Apr 4, 2023
7916c5a
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 4, 2023
aca0cc3
chore: simple logging setup for dpp
jawid-h Apr 4, 2023
1be3b7a
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Apr 4, 2023
d4c4a4f
fix DataContractUpdateTransition serialization and parsing
antouhou Apr 4, 2023
78738c1
Merge remote-tracking branch 'origin/feat/wasm-dpp-integration' into …
antouhou Apr 4, 2023
a31f5f8
fix(js-drive): missing extended flag in DocumentRepository.js
markin-io Apr 4, 2023
14a2492
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 4, 2023
180d318
feat: integrate consensus errors
shumkov Apr 4, 2023
34f340e
Merge remote-tracking branch 'origin/feat/wasm-dpp-integration' into …
shumkov Apr 4, 2023
78b7d87
Merge branch 'v0.24-dev' into feat/wasm-dpp-integration
shumkov Apr 4, 2023
56872b1
wip(rs-dpp): add test case with negative operations
markin-io Apr 4, 2023
64e375e
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 4, 2023
960fd0e
chore: unit test fix
jawid-h Apr 5, 2023
b974827
chore: unit test fix
jawid-h Apr 5, 2023
bbe4dda
chore: unit test fix
jawid-h Apr 5, 2023
60c0c7a
fix(wasm-dpp): data contract move in create_data_contract_update_tran…
markin-io Apr 5, 2023
4813975
chore(sdk): add more logs
markin-io Apr 5, 2023
b15f2b8
fix DataContract::setDocumentSchema to update document_types
antouhou Apr 5, 2023
57647e0
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 5, 2023
91ba573
add update_data_contract to state repository and fixed apply_data_con…
antouhou Apr 5, 2023
425329a
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 5, 2023
2f69d8d
build: optimized docker images
shumkov Apr 5, 2023
c565b08
Merge remote-tracking branch 'origin/feat/wasm-dpp-integration' into …
shumkov Apr 5, 2023
95d707d
test(platform-test-suite): enable DataContract update
markin-io Apr 5, 2023
b3bdd7b
chore(rs-dpp): add todo to create DC
markin-io Apr 5, 2023
23ba40c
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 5, 2023
8754aac
chore: unit test fix
jawid-h Apr 5, 2023
1c03ee2
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
jawid-h Apr 5, 2023
1739bd4
chore: update asserions for chai
jawid-h Apr 5, 2023
c9378d4
chore: more unit test fixes
jawid-h Apr 5, 2023
5b17224
fix(wasm-dpp): identity panic
markin-io Apr 5, 2023
677a910
feat(wasm-dpp): optional metadata
markin-io Apr 5, 2023
7439c1d
fix(js-drive): documentQueryHandlerFactory.js queries non extended do…
markin-io Apr 5, 2023
6c0b961
test(platform-test-suite): Document tests error handling
markin-io Apr 5, 2023
8bb7fa6
Merge branch 'feat/wasm-dpp-integration' of github.com:dashpay/platfo…
markin-io Apr 5, 2023
911b569
fix(wasm-dpp): return buffer in getData for identity_public_key_trans…
markin-io Apr 5, 2023
76f7fee
test(platform-test-suite): enable contacts.spec.js
markin-io Apr 5, 2023
20f1053
fix: negative fees
shumkov Apr 6, 2023
394ed43
Merge remote-tracking branch 'origin/feat/wasm-dpp-integration' into …
shumkov Apr 6, 2023
d52c25d
refactor: fee result
shumkov Apr 6, 2023
1fd0351
fix: invalid url format in json schemas
shumkov Apr 6, 2023
6d79eba
fix: invalid `normalizedParentDomainName` pattern
shumkov Apr 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ packages/*/tests
packages/*/doc
packages/*/docs
packages/*/dist
packages/*/wasm
packages/*/node_modules

!packages/platform-test-suite/test
Expand Down
7 changes: 7 additions & 0 deletions .pnp.cjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions packages/dapi/Cargo.toml.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Workspace template with Rust packages required for DAPI (needed for Docker build)
[workspace]

members = [
"packages/rs-platform-value",
"packages/dashpay-contract",
"packages/withdrawals-contract",
"packages/masternode-reward-shares-contract",
"packages/feature-flags-contract",
"packages/dpns-contract",
"packages/data-contracts",
"packages/rs-dpp",
"packages/wasm-dpp"
]
52 changes: 28 additions & 24 deletions packages/dapi/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,38 +1,40 @@
# syntax = docker/dockerfile:1.3
FROM node:16-alpine3.16 as builder

ARG NODE_ENV=production
ENV NODE_ENV ${NODE_ENV}

RUN apk update && \
apk --no-cache upgrade && \
apk add --no-cache git \
openssh-client \
python3 \
alpine-sdk \
zeromq-dev

# Enable corepack https://github.com/nodejs/corepack
RUN corepack enable
# syntax = docker/dockerfile:1.5
FROM strophy/buildbase:0.0.4 as builder

WORKDIR /platform

# Copy yarn files
COPY .yarn ./.yarn
COPY package.json yarn.lock .yarnrc.yml .pnp.* ./
# Copy yarn and Cargo files
COPY .yarn /platform/.yarn
COPY .cargo /platform/.cargo
COPY package.json yarn.lock .yarnrc.yml .pnp.* Cargo.lock rust-toolchain.toml ./
# Use Cargo.toml.template instead of Cargo.toml from project root to avoid copying unnecessary Rust packages
COPY packages/dapi/Cargo.toml.template ./Cargo.toml

# Print build output
RUN yarn config set enableInlineBuilds true

# Copy only necessary packages from monorepo
COPY packages/dapi packages/dapi
COPY packages/dapi-grpc packages/dapi-grpc
COPY packages/js-dpp packages/js-dpp
COPY packages/rs-dpp packages/rs-dpp
COPY packages/wasm-dpp packages/wasm-dpp
COPY packages/js-grpc-common packages/js-grpc-common
COPY packages/feature-flags-contract packages/feature-flags-contract
COPY packages/masternode-reward-shares-contract packages/masternode-reward-shares-contract
COPY packages/dpns-contract packages/dpns-contract
COPY packages/dashpay-contract packages/dashpay-contract
COPY packages/data-contracts packages/data-contracts
COPY packages/rs-platform-value packages/rs-platform-value
COPY packages/withdrawals-contract packages/withdrawals-contract
COPY packages/masternode-reward-shares-contract packages/masternode-reward-shares-contract
COPY packages/feature-flags-contract packages/feature-flags-contract

# Print build output
RUN yarn config set enableInlineBuilds true
# Build WASM DPP
RUN --mount=type=cache,sharing=shared,target=/root/.cache/sccache \
--mount=type=cache,sharing=shared,target=${CARGO_HOME}/registry/index \
--mount=type=cache,sharing=shared,target=${CARGO_HOME}/registry/cache \
--mount=type=cache,sharing=shared,target=${CARGO_HOME}/git/db \
yarn workspace @dashevo/wasm-dpp build && \
cargo clean

# Install DAPI-specific dependencies using previous
# node_modules directory to reuse built binaries
Expand All @@ -41,7 +43,6 @@ RUN --mount=type=cache,target=/tmp/unplugged \
yarn workspaces focus --production @dashevo/dapi && \
cp -R /platform/.yarn/unplugged /tmp/


FROM node:16-alpine3.16

ARG NODE_ENV=production
Expand All @@ -57,6 +58,9 @@ WORKDIR /platform

COPY --from=builder /platform /platform

# Remove Rust sources
RUN rm -rf packages/rs-dpp packages/rs-platform-value

RUN cp /platform/packages/dapi/.env.example /platform/packages/dapi/.env

EXPOSE 2500 2501 2510
2 changes: 1 addition & 1 deletion packages/dapi/lib/externalApis/drive/DriveClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class DriveClient {
return Buffer.from(response.value, 'base64');
}

throw createGrpcErrorFromDriveResponse(response.code, response.info);
throw await createGrpcErrorFromDriveResponse(response.code, response.info);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,15 @@ const {
},
},
} = require('@dashevo/grpc-common');

let {
deserializeConsensusError,
} = require('@dashevo/wasm-dpp');

const { default: loadWasmDpp } = require('@dashevo/wasm-dpp');

const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes');
const AlreadyExistsGrpcError = require('@dashevo/grpc-common/lib/server/error/AlreadyExistsGrpcError');
const createConsensusError = require('@dashevo/dpp/lib/errors/consensus/createConsensusError');

/**
* @param {Object} data
Expand Down Expand Up @@ -48,7 +54,9 @@ const COMMON_ERROR_CLASSES = {
* @param {string} info
* @return {GrpcError}
*/
function createGrpcErrorFromDriveResponse(code, info) {
async function createGrpcErrorFromDriveResponse(code, info) {
({ deserializeConsensusError } = await loadWasmDpp());

if (code === undefined) {
return new InternalGrpcError(new Error('Drive’s error code is empty'));
}
Expand Down Expand Up @@ -101,7 +109,7 @@ function createGrpcErrorFromDriveResponse(code, info) {

// DPP errors
if (code >= 1000 && code < 5000) {
const consensusError = createConsensusError(code, data.arguments || []);
const consensusError = deserializeConsensusError(data.serializedError || []);

// Basic
if (code >= 1000 && code < 2000) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ function broadcastStateTransitionHandlerFactory(rpcClient, createGrpcErrorFromDr
}

if (result.code !== 0) {
throw createGrpcErrorFromDriveResponse(result.code, result.info);
throw await createGrpcErrorFromDriveResponse(result.code, result.info);
}

return new BroadcastStateTransitionResponse();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,11 @@ function waitForStateTransitionResultHandlerFactory(
* @param {Object} txDeliverResult
* @return {StateTransitionBroadcastError}
*/
function createStateTransitionDeliverError(txDeliverResult) {
const grpcError = createGrpcErrorFromDriveResponse(txDeliverResult.code, txDeliverResult.info);
async function createStateTransitionDeliverError(txDeliverResult) {
const grpcError = await createGrpcErrorFromDriveResponse(
txDeliverResult.code,
txDeliverResult.info,
);

const error = new StateTransitionBroadcastError();

Expand Down Expand Up @@ -95,7 +98,9 @@ function waitForStateTransitionResultHandlerFactory(
const response = new WaitForStateTransitionResultResponse();

if (result instanceof TransactionErrorResult) {
const error = createStateTransitionDeliverError(result.getResult());
const error = await createStateTransitionDeliverError(
result.getResult(),
);

response.setError(error);

Expand Down
2 changes: 2 additions & 0 deletions packages/dapi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,13 @@
"all": true
},
"dependencies": {
"@dashevo/bls": "~1.2.7",
"@dashevo/dapi-grpc": "workspace:*",
"@dashevo/dashcore-lib": "~0.20.0",
"@dashevo/dashd-rpc": "^18.2.0",
"@dashevo/dpp": "workspace:*",
"@dashevo/grpc-common": "workspace:*",
"@dashevo/wasm-dpp": "workspace:*",
"@grpc/grpc-js": "^1.3.7",
"ajv": "^8.6.0",
"bs58": "^4.0.1",
Expand Down
19 changes: 12 additions & 7 deletions packages/dapi/scripts/api.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Entry point for DAPI.
const dotenv = require('dotenv');
const grpc = require('@grpc/grpc-js');
const loadBLS = require('@dashevo/bls');

const {
server: {
Expand All @@ -13,7 +14,8 @@ const {
getPlatformDefinition,
} = require('@dashevo/dapi-grpc');

const DashPlatformProtocol = require('@dashevo/dpp');
const DashPlatformProtocolJS = require('@dashevo/dpp');
const { default: loadWasmDpp } = require('@dashevo/wasm-dpp');

const { client: RpcClient } = require('jayson/promise');

Expand All @@ -39,6 +41,9 @@ const platformHandlersFactory = require(
);

async function main() {
const { DashPlatformProtocol } = await loadWasmDpp();
const blsSignatures = await loadBLS();

/* Application start */
const configValidationResult = validateConfig(config);
if (!configValidationResult.isValid) {
Expand All @@ -65,8 +70,7 @@ async function main() {
port: config.tendermintCore.port,
});

const dppForParsingContracts = new DashPlatformProtocol();
await dppForParsingContracts.initialize();
const dppForParsingContracts = new DashPlatformProtocol(blsSignatures, {});
const driveStateRepository = new DriveStateRepository(driveClient, dppForParsingContracts);

log.info(`Connecting to Tenderdash on ${config.tendermintCore.host}:${config.tendermintCore.port}`);
Expand Down Expand Up @@ -94,10 +98,11 @@ async function main() {
});
log.info(`JSON RPC server is listening on port ${config.rpcServer.port}`);

const dpp = new DashPlatformProtocol({
stateRepository: driveStateRepository,
});
await dpp.initialize();
const dpp = new DashPlatformProtocol(blsSignatures, driveStateRepository);
// const dpp = new DashPlatformProtocolJS({
// stateRepository: driveStateRepository,
// });
// await dpp.initialize();

// Start GRPC server
log.info('Starting GRPC server');
Expand Down
Loading