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

Parachain support #130

Merged
merged 188 commits into from
Nov 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
815dc4e
copy in parachain template, and sort out cargo.toml
Oct 16, 2023
ea6282c
fix rpc.rs
Oct 16, 2023
4038c7d
edition 2021
Oct 16, 2023
01deb19
fix chain_spec.rs
Oct 16, 2023
5dfe51c
Fix cli.rs
Oct 16, 2023
c6e384d
fix command.rs
Oct 16, 2023
d1bb679
Start working toward service compiling
Oct 16, 2023
54d0d20
attempting to add cumulus dependency breaks the runtime build
Oct 16, 2023
236018d
stub in collect collation info api
Oct 17, 2023
9cd9742
Merge branch 'main' into joshy-parachain
Oct 18, 2023
874675c
fill in the rutime api stub
Oct 18, 2023
00fa1f6
big cargo fmt (gets the collator template)
Oct 18, 2023
f2fee63
Copy in key parts of pallet parachain system
Oct 18, 2023
7a90170
sort
Oct 18, 2023
88e058e
prune resolved comment
Oct 18, 2023
40f24ec
more dev dependencies to make the copied-in tests compile
Oct 18, 2023
24990b4
Sort more dependencies
Oct 18, 2023
3f4572e
still more dependencies
Oct 18, 2023
4de8e97
Remove dependence on pallet parachain system config trait
Oct 18, 2023
fdadbad
older version of trie-db to beat a compile error
Oct 18, 2023
5bd927f
It's a bounded vec
Oct 18, 2023
c911404
kcik can down road on inherent scraping
Oct 18, 2023
ee624b3
export macro
Oct 18, 2023
d8babbb
attempt to use macro in runtime
Oct 18, 2023
fb17030
scribble idea about calling existing runtime apis from validate block
Oct 19, 2023
91db86e
Notes, Hacks, and something that actually compiles.
Oct 20, 2023
2e1a450
Log the client side paraId
Oct 20, 2023
cf004d4
change default paraid to 2000
Oct 20, 2023
a25ba60
Install proper inherent data providers in collator client-side.
Oct 20, 2023
e333766
cargo fmt
Oct 20, 2023
f493099
toml sort
Oct 20, 2023
ce3eac1
fix warning
Oct 20, 2023
286401a
default_features=false for the register_validate_block macro, otherwi…
Oct 20, 2023
c65f18b
validate_block stuff actually builds
Oct 20, 2023
516cc17
fmt
Oct 20, 2023
533b3ce
comment
Oct 20, 2023
6963b91
Start cketching toward a parachain info inherent piece
Oct 20, 2023
59ca142
make toml-sort happy
muraca Oct 21, 2023
dfcd399
make parachain info piece compile
Oct 22, 2023
85128af
Install parachain piece in the runtime
Oct 22, 2023
467fe22
move inherent data wrapper type to core (soon to be moved to parachai…
Oct 23, 2023
f0a6802
hacky attempt to extract parachain inherent data from block
Oct 23, 2023
fe95a64
cargo fmt
Oct 23, 2023
e306175
proper first-block-hack and some better debugging.
Oct 23, 2023
00d97b5
cargo fmt
Oct 23, 2023
c04f56d
put some logs in `validate_block`
Oct 23, 2023
10d0751
proper logging targets
Oct 23, 2023
201bb6d
enable runtime logger, but it makes no difference.
Oct 23, 2023
e592c19
resort to panics for now
Oct 23, 2023
f0d25c5
Slowly and painfully step through the entire flow via panics. It seem…
Oct 23, 2023
6c441ef
Merge branch 'main' into joshy-parachain
Oct 23, 2023
112b1d3
lock file
Oct 23, 2023
4af0ef4
remove feature network protocol staging
Oct 23, 2023
387f43a
re-update trie-db
Oct 23, 2023
5d72340
fmt
Oct 23, 2023
13224da
Add zombienet config
Oct 24, 2023
eed2456
hack around zombienet problem
Oct 24, 2023
71b2c1e
feature gate parachain aspects of runtime and restore working standal…
Oct 24, 2023
9be177d
Mock parachain inherent in standalone node.
Oct 24, 2023
2ddd06c
restore parachain node build
Oct 24, 2023
a910193
tangential: stop gap: better logging of errors.
Oct 24, 2023
a5b107f
Fix logic bug in parachain info piece
Oct 24, 2023
73762ea
fix missing path
Oct 24, 2023
1293866
`register_validate_block` takes 3 parameters instead of a tuple
muraca Oct 25, 2023
fa47462
rust fmt
muraca Oct 25, 2023
ab61989
`toml-sort` now checks only `Cargo.toml` files
muraca Oct 25, 2023
017c7ce
convert `Into` impl to `From` impl
muraca Oct 25, 2023
82779ad
run tests, happy clippy
muraca Oct 25, 2023
74bfd4d
last-minute fmt
muraca Oct 25, 2023
1d6ac8f
add full node to zombinet config.
Oct 25, 2023
3a04fc4
tried to write some light tests for `validate_block` but it isn't wor…
Oct 25, 2023
bf07131
Revert "tried to write some light tests for `validate_block` but it i…
Oct 25, 2023
e60a1ca
checkpoint while trying to separate `tuxedo-parachain-core` crate
Oct 25, 2023
c13a11a
Remove parachain dependencies from tuxedo-core
Oct 25, 2023
42843b0
fix import in validate block
Oct 25, 2023
dfea7de
cleanups and fixes to core's Cargo.toml, but still won't build parach…
Oct 25, 2023
535f8a5
found missing tuxedo-core/std. Now parachain-core compiles. Still not…
Oct 25, 2023
233dafd
Crates are almost fully separated
Oct 25, 2023
292bae3
actually finish separating the crates
Oct 25, 2023
60570f9
fmt and sort
Oct 25, 2023
fd46bb8
Unit tests for parachain piece
Oct 26, 2023
c71a89e
simplify hybrid runtime
Oct 26, 2023
8386da0
rename crate to `parachain-piece` to avoid naming conflict with basti…
Oct 27, 2023
a852fde
comment notes about hrmp watermark being the possible problem.
Oct 27, 2023
23fa025
change zombienet config to use frame parachain
Oct 27, 2023
d0a155c
Revert "change zombienet config to use frame parachain"
Oct 27, 2023
06aefa4
Proper hrmp watermark. Achieve working POC 🤵‍♂️🤱🍆🪂⛓️👶❗️
Oct 27, 2023
d75c74d
fmt and sort
Oct 27, 2023
410c78d
make clippy happy again
muraca Nov 1, 2023
41a8571
use externalities in parachain piece tests
muraca Nov 1, 2023
34a3f11
removed `--seriously-fucking-alice`
muraca Nov 1, 2023
dfa88be
Remove some unnecessary TypeInfo bounds
Nov 9, 2023
c6231f1
Merge branch 'main' into joshy-parachain. Parachain inherent piece do…
Nov 9, 2023
49816eb
remove first block hack from parachain-piece
Nov 9, 2023
adc01b6
fmt
Nov 9, 2023
7bfe401
Merge branch 'main' into joshy-parachain
Nov 9, 2023
e14be80
update parachain genesis config
Nov 9, 2023
969f0b0
Prune old comment
Nov 10, 2023
d0f6c17
Remove commented code: basti's parsing stuff.
Nov 10, 2023
c9ac958
remove incorrect comment about no_std
Nov 10, 2023
4f2d7a0
Try nested aggregation. This may need reverted.
Nov 10, 2023
5f6a9b9
Revert "Try nested aggregation. This may need reverted."
Nov 10, 2023
20baa8e
Try to set proper genesis parachain inherent.
Nov 10, 2023
b83728c
Actually use TuxedoGenesisBlockBuilder in parachain service
Nov 13, 2023
68008d6
re-export
Nov 13, 2023
e6513d1
docs for ParachainInherentDataUtxo
Nov 13, 2023
f583d7c
sketch more structure around relay parent number storage. Perhaps thi…
Nov 13, 2023
b0eb000
Revert "use externalities in parachain piece tests"
Nov 13, 2023
cdb9502
Fix tests for parachain piece
Nov 13, 2023
d59d96e
Finish the re-export thing
Nov 13, 2023
7ac4622
Finish up relay parent number storage
Nov 13, 2023
205ccda
fmt
Nov 13, 2023
c8d2961
Remove unnecessary block number accessor from parachain piece config.
Nov 13, 2023
0947cf4
Cleanup and unify RPC trait bounds
Nov 13, 2023
92db2c9
Merge branch 'main' into joshy-parachain
Nov 14, 2023
9d165bb
unused import
Nov 14, 2023
8e1344e
unused import
Nov 14, 2023
bfe0fb4
update chainspec for beautified genesis
Nov 14, 2023
e7532e0
Try modified `ExportGenesisState` command. Still not working.
Nov 14, 2023
e8a590b
kinda start messing with genesisblockbuilder, but I don't really thin…
Nov 14, 2023
e136462
Revert "kinda start messing with genesisblockbuilder, but I don't rea…
Nov 14, 2023
6513793
Revert unnecessary change to nodes dependancy on runtime
Nov 14, 2023
18c9359
minor compile issue
Nov 15, 2023
08148fd
bump sdk
Nov 15, 2023
8f2ef9e
log genesis hash from `build_genesis_block`
Nov 15, 2023
cce5c3f
restore call to register_validate_block
Nov 15, 2023
2db62fd
revert inconsequential dependency bumps
Nov 15, 2023
961b7dc
add offset to genesis timestamp
Nov 15, 2023
82839d0
Merge branch 'genesis-timestamp-offset' into joshy-parachain
Nov 15, 2023
a527b13
bump hacked sdk
Nov 15, 2023
9697f74
Better name: `ExportGenesisHead` instead of state
Nov 15, 2023
f059dcf
disable the timestamp piece entirely. I'm worried that its non-determ…
Nov 15, 2023
ae6d84f
bump sdk again
Nov 16, 2023
918955a
another bump
Nov 16, 2023
2ea329c
Revert "disable the timestamp piece entirely. I'm worried that its no…
Nov 16, 2023
ee10913
eprintln! so we don't corrupt files created by shell redirects
Nov 16, 2023
a50bf4d
bump sdk version
Nov 16, 2023
8188f71
First attempt at parachain docker image
Nov 17, 2023
4b0470e
folder name dash not underscore
Nov 17, 2023
b780ad2
comment in main dockerfile
Nov 17, 2023
11485d5
Oops, I forgot I rearranged the upstream branches
Nov 17, 2023
c009a43
update for re-named commands
Nov 17, 2023
596fa50
proper image name for parachain docker image
Nov 20, 2023
1aa3bf1
toml-sort
Nov 20, 2023
e19994c
cargo fmt
Nov 20, 2023
fd782a3
proper debugging tract instead of eprintln
Nov 20, 2023
cab3c60
Update comments about aura slot idp
Nov 20, 2023
8b04426
Wrong damn entrypoint
Nov 20, 2023
c99ad7c
remove debugging panics
Nov 20, 2023
9d476df
maybe this unclutter step is the problem.
Nov 20, 2023
ed88670
fmt
Nov 20, 2023
79e4ef6
latest adjustments to zombienet config
Nov 21, 2023
a7671cf
switch branch to 1.3.0 fork
Nov 22, 2023
05a0e6b
Merge branch 'main' into joshy-parachain
Nov 22, 2023
7cc9e58
Remove some commented code that was specific to FRAME and supporting …
Nov 22, 2023
fa1778e
Cleanup comment around not yet checking inherents.
Nov 22, 2023
b054ef6
Link tracking issue for scraping parachain inherent data
Nov 22, 2023
0df744f
prune commented code
Nov 22, 2023
b37f354
clarify comments about potential header log
Nov 22, 2023
f654db8
Comment and tracking issue for async backing.
Nov 22, 2023
81f12c5
Pick https://github.com/paritytech/polkadot-sdk/pull/1897 into our ta…
Nov 22, 2023
0a78750
fix warning
Nov 22, 2023
bbf9cae
Allow dead code in relay state snapshot and create tracking issue for…
Nov 22, 2023
0bdb83f
Bring in dev service
Nov 22, 2023
cbf7131
enable dev service exactly when using --dev
Nov 22, 2023
84856f3
Little mods in the dev service to try to make it work.
Nov 22, 2023
c0a63f9
try more isolated dev service
Nov 27, 2023
51c2c41
fmt
Nov 27, 2023
bb4576e
clippy brken dev service
Nov 27, 2023
476f343
Clean up comments about parachain_id plumbing and interim design
Nov 27, 2023
712e8ea
make dev service work in parachain node
Nov 27, 2023
ab07472
Make wallet work with both parachain and sovereign chain
Nov 27, 2023
9794529
fmt
Nov 27, 2023
cfcdc2b
clippy
Nov 27, 2023
f8824fc
fix warnings
muraca Nov 28, 2023
c9d5416
Restore some typeinfo bounds to call is_signed
Nov 28, 2023
a8268d6
exclude crates from tests
muraca Nov 28, 2023
031015d
Add link to SE post
JoshOrndorff Nov 28, 2023
9068892
Typos from code review
JoshOrndorff Nov 28, 2023
e163f03
revise some docs.
JoshOrndorff Nov 28, 2023
f9d85fa
More typos from review
JoshOrndorff Nov 28, 2023
51c1c95
fmt
JoshOrndorff Nov 28, 2023
a1a0ebf
Update wardrobe/parachain/src/lib.rs
JoshOrndorff Nov 28, 2023
66c6317
Update wardrobe/parachain/src/lib.rs
JoshOrndorff Nov 28, 2023
c21dc9e
Better comments regarding slot IDP
JoshOrndorff Nov 28, 2023
cb48918
remove "mock parachain" feature
JoshOrndorff Nov 28, 2023
edd8be4
fmt
JoshOrndorff Nov 28, 2023
82877f4
remove panics from wallet e2e test
JoshOrndorff Nov 28, 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
12 changes: 9 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
- uses: Off-Narrative-Labs/toml_sort@v1
with:
all: true
match: "Cargo.toml"

test:
name: Test and code coverage
Expand All @@ -49,8 +50,10 @@ jobs:
cache-targets: true
cache-on-failure: true
- name: Run tests and print coverage data
run: cargo llvm-cov nextest --json --output-path lcov.json
--ignore-filename-regex "node/" --summary-only &&
run: cargo llvm-cov nextest --workspace
--exclude node-template --exclude parachain-template-node
--exclude derive-no-bound
--json --output-path lcov.json --summary-only &&
echo "Lines coverage " && jq ".data[0].totals.lines.percent" lcov.json
# if the PR is on the same repo, the coverage data can be reported as a comment
- if: github.event_name == 'pull_request' &&
Expand Down Expand Up @@ -101,6 +104,9 @@ jobs:
cache-targets: true
cache-on-failure: true
- name: Build
run: cargo build
# We do not need the parachain node for the wallet test.
# However, this is more than merely an optimization.
# If we just `cargo build` the runtime will be incorrectly built with the parachain feature.
run: cargo build -p node-template -p tuxedo-template-wallet
- name: Run wallet test
run: ./wallet/test.sh
38 changes: 36 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 1. It feels less official and these containers are not yet ready for production
# 2. It doesn't require setting up a docker hub account or encrypting secrets.

name: Create and publish a Docker image
name: Create and publish Docker images

on:
push:
Expand All @@ -18,7 +18,7 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-node-image:
build-and-push-sovereign-node-image:
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -44,6 +44,40 @@ jobs:
- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
# Consider adding an explicit file path here so it matches the others.
# Also consider moving the node's dockerfile into the node directory.
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

build-and-push-parachain-node-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-parachain

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
file: ./parachain-node/Dockerfile
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
Expand Down
Loading
Loading