Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
1cb990d
feat(runtime): wire pallet_revive into both runtimes (issue #83 step 1)
ilchu May 27, 2026
2afca09
feat(precompiles): storage-provider + drive-registry pallet_revive pr…
ilchu May 27, 2026
348975a
feat(examples): StorageMarketplace.sol example contract (issue #83 st…
ilchu May 27, 2026
db9f8a7
feat(papi): pure-PAPI e2e driver + per-selector coverage (issue #83 s…
ilchu May 27, 2026
875c13b
feat(just): build-contracts + sc-demo + sc-coverage recipes (issue #8…
ilchu May 27, 2026
b9eee89
ci: install solc/resolc and run sc-demo + sc-coverage (issue #83 step 6)
ilchu May 27, 2026
8c87fb0
docs: smart-contract architecture, precompile ABI tables (issue #83 s…
ilchu May 27, 2026
5346764
fix(papi): bump default proof_size to fit deleteDrive
ilchu May 27, 2026
5568143
feat(precompiles): pallet_s3_registry precompile (issue #83 follow-up)
ilchu May 27, 2026
69b9147
feat(examples): SharedTeamDrive dApp + e2e (issue #83 follow-up)
ilchu May 27, 2026
b07ac53
feat(examples): TokenGatedDrive dApp + s3 docs (issue #83 follow-up)
ilchu May 27, 2026
0e572e4
fix(ci): drop comment line from .github/env
ilchu May 27, 2026
48b6621
fix(papi): drop unused imports + add missing bucketC id assertion
ilchu May 27, 2026
c4390a5
fix(precompiles): propagate s3-registry try-runtime in s3 precompile
ilchu May 28, 2026
3f0a2c1
fix(ci): pin solc to 0.8.34 (resolc 1.1.0 rejects 0.8.35)
ilchu May 28, 2026
3d735f4
fix(papi): silence non-target providers before sc demos
ilchu May 28, 2026
face2ef
ci: split sc demos into a parallel job
ilchu May 28, 2026
86c48ca
Merge branch 'dev' into ic/smart-contract-revive
ilchu May 29, 2026
01bb91d
Merge branch 'dev' into ic/smart-contract-revive
ilchu Jun 1, 2026
873ad98
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Jun 1, 2026
7ec6c38
Update from github-actions[bot] running command 'bench'
github-actions[bot] Jun 1, 2026
97a1979
Merge branch 'dev' into ic/smart-contract-revive
ilchu Jun 2, 2026
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
2 changes: 2 additions & 0 deletions .github/env
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ POLKADOT_SDK_VERSION=polkadot-stable2603
ZOMBIENET_VERSION=v0.4.11
CI_IMAGE=docker.io/paritytech/ci-unified:bullseye-1.93.0-2026-01-27-v202603042356
NODE_VERSION=22
SOLC_VERSION=0.8.34
RESOLC_VERSION=1.1.0
25 changes: 25 additions & 0 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,31 @@ jobs:
- name: Run PAPI drive-lifecycle demo
run: just drain-tx-pool-then papi-drive-lifecycle "http://127.0.0.1:3333" "//Alice" "//Bob" "//Ferdie"

- name: Install solc and resolc for smart-contract demo
run: |
curl -L -o /usr/local/bin/solc \
"https://github.com/ethereum/solidity/releases/download/v${SOLC_VERSION}/solc-static-linux"
curl -L -o /usr/local/bin/resolc \
"https://github.com/paritytech/revive/releases/download/v${RESOLC_VERSION}/resolc-x86_64-unknown-linux-musl"
chmod +x /usr/local/bin/solc /usr/local/bin/resolc
solc --version
resolc --version

- name: Build example marketplace contract
run: just build-contracts

- name: Run smart-contract end-to-end demo
run: just drain-tx-pool-then sc-demo "http://127.0.0.1:3333" "//Alice" "//Bob"

- name: Run smart-contract precompile-coverage e2e
run: just drain-tx-pool-then sc-coverage "http://127.0.0.1:3333" "//Alice" "//Bob"

- name: Run SharedTeamDrive dApp e2e
run: just drain-tx-pool-then sc-team-drive "http://127.0.0.1:3333" "//Alice" "//Bob"

- name: Run TokenGatedDrive dApp e2e
run: just drain-tx-pool-then sc-token-gated "http://127.0.0.1:3333" "//Alice" "//Bob"

- name: Stop services
if: always()
run: |
Expand Down
6 changes: 6 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,10 @@ web3-storage/
├── primitives/ # Layer 0 shared types and utilities
│ ├── src/lib.rs # Common types
│ └── Cargo.toml # Primitive dependencies
├── precompiles/ # pallet_revive precompiles (Solidity → pallets)
│ ├── storage-provider-precompile/ # 0x…0901 — bucket lifecycle
│ └── drive-registry-precompile/ # 0x…0902 — drive lifecycle
├── examples/contracts/ # Example Solidity dApps (StorageMarketplace.sol)
├── storage-interfaces/ # Layer 1 - High-level interfaces
│ └── file-system/ # File System Interface
│ ├── primitives/ # File system types (DriveInfo, CommitStrategy, etc.)
Expand Down Expand Up @@ -274,6 +278,8 @@ web3-storage/

**Primitives (`primitives/`)**: Shared types used across pallet, provider node, and client.

**Smart Contracts (`precompiles/`, `examples/contracts/`)**: `pallet_revive` (PolkaVM-based smart contracts) is wired into both runtimes. Two custom precompiles expose the client-side bucket lifecycle and drive registry to Solidity contracts. The `StorageMarketplace.sol` example shows how a dApp buys storage on behalf of its users; `just sc-demo` runs the end-to-end PAPI test. Full design in [docs/design/smart-contracts.md](docs/design/smart-contracts.md).

#### Layer 1 (File System Interface)

**File System Primitives (`storage-interfaces/file-system/primitives/`)**: High-level types for file system:
Expand Down
Loading
Loading