chainHead based backend implementation (#1161)

* add follow_stream impl

* follow_stream_unpin first draft

* add tests for follow_stream_unpin

* more tests and fixes for follow_stream_unpin

* first pass follow_stream_driver

* follow_stream_driver: add tests, fix things, buffer events from last finalized

* First pass finishing Backend impl

* Fix test compile issues

* clippy fixes

* clippy fix and consistify light_client

* revert lightclient tweak

* revert other lightclient thing

* cargo fmt

* start testing unstable backend behind feature flag

* more test fixes and move test-runtime metadata path just incase

* fix compile error

* ensure transaction progress stream actually used and fix another test

* cargo fmt

* CI tweak

* improve some comments and address some feedback bits

* update CI to use our own nightly binary

* wait for finalized block perhaps
This commit is contained in:
James Wilson
2023-09-26 16:58:30 +01:00
committed by GitHub
parent 00cce68371
commit cf7e2db1b7
43 changed files with 2682 additions and 250 deletions
@@ -103,33 +103,33 @@ fn main() {
// We assume Polkadot's config of MultiAddress<AccountId32, ()> here
let _ = node_runtime::tx()
.balances()
.transfer(CustomAddress(1337), 123);
.transfer_allow_death(CustomAddress(1337), 123);
let _ = node_runtime2::tx()
.balances()
.transfer(Generic(AccountId32::from([0x01;32])), 123);
.transfer_allow_death(Generic(AccountId32::from([0x01;32])), 123);
let _ = node_runtime3::tx()
.balances()
.transfer(Generic(()), 123);
.transfer_allow_death(Generic(()), 123);
let _ = node_runtime4::tx()
.balances()
.transfer(Second((), AccountId32::from([0x01;32])), 123);
.transfer_allow_death(Second((), AccountId32::from([0x01;32])), 123);
let _ = node_runtime5::tx()
.balances()
.transfer(Second(true, vec![1u8, 2u8]), 123);
.transfer_allow_death(Second(true, vec![1u8, 2u8]), 123);
let _ = node_runtime6::tx()
.balances()
.transfer(Second((), 1234u16), 123);
.transfer_allow_death(Second((), 1234u16), 123);
let _ = node_runtime7::tx()
.balances()
.transfer(subxt::utils::Static(DoesntImplEncodeDecodeAsType(1337)), 123);
.transfer_allow_death(subxt::utils::Static(DoesntImplEncodeDecodeAsType(1337)), 123);
let _ = node_runtime8::tx()
.balances()
.transfer(subxt::utils::Static(Second(AccountId32::from([0x01;32]), ())), 123);
.transfer_allow_death(subxt::utils::Static(Second(AccountId32::from([0x01;32]), ())), 123);
}