Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
/cache
/broadcast
/dependencies
/contract/sdk
73 changes: 38 additions & 35 deletions Cargo.lock

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

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
resolver = "2"
members = [
"cli",
"build/bindings",
]

[workspace.dependencies]
contract = { path = "build/bindings" }
reaconcom = { path = "sdk" }
contract = { path = "contract/sdk" }

[profile.release]
opt-level = 3
Expand Down
40 changes: 24 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,26 @@ default: release

dependencies:
forge soldeer install

build: dependencies contract
forge build --sizes

build/bindings: build
forge bind --single-file --crate-name contract --skip-cargo-toml --alloy

release/reaconcom: build/bindings
build/contract/%.sol: contract/%.sol dependencies
forge build --out build/contract $<
build/script/%.sol: script/%.sol dependencies
forge build --out build/script $<

contract/sdk: build/contract/Service.sol build/contract/ReactiveHandler.sol
forge bind --bindings-path contract/sdk \
--select ReactiveHandler \
--select Service \
--crate-name contract \
--crate-version $(shell cat version) \
--alloy --alloy-version b2278c4

release/reaconcom: contract/sdk
cargo build --release -p cli
mrdir -p release
cp target/release/reaconcom release/reaconcom
release: release/reaconcom
run:
cargo run -p cli

build/computing.wasm.gz:
cargo run -p computing
Expand All @@ -27,22 +35,22 @@ clean:
forge clean
rm -fr dependencies cache broadcast release

lint: build/bindings
lint: contract/sdk
forge fmt --check
#FIXME cargo +nightly fmt --all --check
#FIXME cargo +nightly clippy
cargo +nightly fmt --all --check
cargo +nightly clippy

fmt: build/bindings
fmt: contract/sdk
forge fmt
cargo +nightly fmt --all

test-contract: build/bindings
test-contract: contract/sdk
forge test

test: test-contract
#FIXME cargo +nightly test
cargo +nightly test

qa: lint test

deploy: build
FOUNDRY_PROFILE=local forge script script/Demo.sol:Deploy --broadcast
deploy: build/script/demo.sol
FOUNDRY_PROFILE=local forge script --quiet --broadcast script/demo.sol:deploy
Loading