diff --git a/Makefile b/Makefile index 5b7294a..f9730a9 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ -.PHONY: run guests dummy-guests tools polkatool pvq-program-metadata-gen chain-spec-builder fmt check-wasm check clippy test chainspec - +.PHONY: run run: chainspec bunx @acala-network/chopsticks@1.0.6 --config poc/runtime/chopsticks.yml --genesis output/chainspec.json @@ -7,8 +6,10 @@ GUEST_EXAMPLES = $(shell find guest-examples -name "Cargo.toml" -not -path "gues GUEST_TARGETS = $(patsubst %,guest-%,$(GUEST_EXAMPLES)) DUMMY_GUEST_TARGETS = $(patsubst %,dummy-guest-%,$(GUEST_EXAMPLES)) +.PHONY: guests guests: $(GUEST_TARGETS) +.PHONY: dummy-guests dummy-guests: $(DUMMY_GUEST_TARGETS) guest-%: @@ -20,35 +21,45 @@ dummy-guest-%: mkdir -p output touch output/guest-$*.polkavm -tools: polkatool chain-spec-builder +.PHONY: tools +tools: polkatool chain-spec-builder pvq-program-metadata-gen +.PHONY: polkatool polkatool: cargo install --path vendor/polkavm/tools/polkatool +.PHONY: pvq-program-metadata-gen pvq-program-metadata-gen: cargo install --path pvq-program-metadata-gen +.PHONY: chain-spec-builder chain-spec-builder: - cargo install --path vendor/polkadot-sdk/substrate/bin/utils/chain-spec-builder + cargo install --locked chain-spec-builder@0.5.0 +.PHONY: fmt fmt: cargo fmt --all +.PHONY: check-wasm check-wasm: cargo check --no-default-features --target=wasm32-unknown-unknown -p pvq-program -p pvq-executor -p pvq-extension-core -p pvq-extension-fungibles -p pvq-extension -p pvq-primitives -p pvq-runtime-api SKIP_WASM_BUILD= cargo check --no-default-features --target=wasm32-unknown-unknown -p poc-runtime +.PHONY: check check: check-wasm SKIP_WASM_BUILD= cargo check cd pvq-program/examples; cargo check +.PHONY: clippy clippy: SKIP_WASM_BUILD= cargo clippy -- -D warnings cd guest-examples; METADATA_OUTPUT_DIR=$(realpath output) cargo clippy --all +.PHONY: test test: SKIP_WASM_BUILD= cargo test +.PHONY: chainspec chainspec: cargo build -p poc-runtime --release mkdir -p output diff --git a/README.md b/README.md index de649dc..fe47c56 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ PolkaVM Query for Polkadot ### Prerequisites -- Pull vendored `polkavm` and patched (for XCM integration PoC) `polkadot-sdk`: `git submodule update --init --recursive`. +- Pull vendored `polkavm`: `git submodule update --init --recursive`. - Install `polkatool` (for relinking the standard RV32E ELF to a PolkaVM blob) and `chain-spec-builder` (for building chainspec from a wasm): `make tools` ### Run Examples @@ -28,14 +28,3 @@ Available PoC guest programs: 2. Build guest programs: `make guests` 3. Run test runner to display hex-encoded `args` in tracing logs: `cargo run -p pvq-test-runner -- --program output/` 4. Upload `program` and `args` in PJS UI. - -### XCM Integration PoC - -The test case of XCM integration is located in `vendor/polkadot-sdk/polkadot/xcm/xcm-simulator/example/src/tests.rs` - -```rust -#[test] -fn test_report_query() { - ... -} -``` diff --git a/poc/runtime/chopsticks.yml b/poc/runtime/chopsticks.yml index 61e2bc3..39975f4 100644 --- a/poc/runtime/chopsticks.yml +++ b/poc/runtime/chopsticks.yml @@ -12,8 +12,15 @@ import-storage: - providers: 1 data: free: "10000000000000000000" + - + - + - 5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty + - providers: 1 + data: + free: "10000000000000000000" Assets: Account: - [[1984, 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY], { balance: 1000000000 }] - [[21, 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY], { balance: 1000000000 }] - Asset: [[[21], { supply: 1000000000 }]] + - [[21, 5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty], { balance: 1000000000 }] + Asset: [[[21], { supply: 2000000000 }]]