diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml
index 32c86f783..38f1703bb 100644
--- a/.github/workflows/publish-docker.yml
+++ b/.github/workflows/publish-docker.yml
@@ -19,18 +19,12 @@ jobs:
fail-fast: false
matrix:
include:
- - binary: tangle-standalone
+ - binary: tangle
features: default
- image_name: tangle-standalone
- - binary: tangle-standalone
- features: integration-tests
- image_name: tangle-standalone-integration-tests
- - binary: tangle-standalone
+ image_name: tangle
+ - binary: tangle
features: txpool
- image_name: tangle-standalone-txpool
- - binary: tangle-standalone
- features: relayer
- image_name: tangle-standalone-relayer
+ image_name: tangle-txpool
permissions:
contents: read
packages: write
diff --git a/.github/workflows/publish-release-binary.yml b/.github/workflows/publish-release-binary.yml
index 018057ea7..2a974f27b 100644
--- a/.github/workflows/publish-release-binary.yml
+++ b/.github/workflows/publish-release-binary.yml
@@ -28,37 +28,25 @@ jobs:
run: sudo apt-get install protobuf-compiler
- name: Build binary
- run: cargo build --release -p tangle-standalone --locked
+ run: cargo build --release -p tangle --locked
- name: Upload regular binary to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: target/release/tangle-standalone
- asset_name: tangle-standalone-linux-amd64
+ file: target/release/tangle
+ asset_name: tangle-linux-amd64
tag: ${{ github.ref }}
overwrite: true
- name: Build binary with txpool
- run: cargo build --release -p tangle-standalone --locked --features txpool
+ run: cargo build --release -p tangle --locked --features txpool
- name: Upload txpool binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: target/release/tangle-standalone
- asset_name: tangle-standalone-txpool-linux-amd64
- tag: ${{ github.ref }}
- overwrite: true
-
- - name: Build binary with relayer
- run: cargo build --release -p tangle-standalone --locked --features relayer
-
- - name: Upload relayer binaries to release
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: target/release/tangle-standalone
- asset_name: tangle-standalone-relayer-linux-amd64
+ file: target/release/tangle
+ asset_name: tangle-txpool-linux-amd64
tag: ${{ github.ref }}
overwrite: true
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 79e98208d..3a665d770 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12,15 +12,6 @@ dependencies = [
"regex",
]
-[[package]]
-name = "addr2line"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
-dependencies = [
- "gimli 0.26.2",
-]
-
[[package]]
name = "addr2line"
version = "0.19.0"
@@ -45,12 +36,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-[[package]]
-name = "adler32"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-
[[package]]
name = "aead"
version = "0.3.2"
@@ -240,7 +225,7 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -1181,7 +1166,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures-sink",
"futures-util",
"memchr",
@@ -1209,12 +1194,6 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
-[[package]]
-name = "atomic_refcell"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c"
-
[[package]]
name = "atty"
version = "0.2.14"
@@ -1223,7 +1202,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -1254,12 +1233,12 @@ dependencies = [
"axum-core",
"base64 0.21.5",
"bitflags 1.3.2",
- "bytes 1.5.0",
+ "bytes",
"futures-util",
"http",
- "http-body 0.4.5",
- "hyper 0.14.27",
- "itoa 1.0.9",
+ "http-body",
+ "hyper",
+ "itoa",
"matchit",
"memchr",
"mime",
@@ -1269,11 +1248,11 @@ dependencies = [
"serde",
"serde_json",
"serde_path_to_error",
- "serde_urlencoded 0.7.1",
+ "serde_urlencoded",
"sha1",
"sync_wrapper",
- "tokio 1.34.0",
- "tokio-tungstenite 0.20.1",
+ "tokio",
+ "tokio-tungstenite",
"tower",
"tower-layer",
"tower-service",
@@ -1297,10 +1276,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
dependencies = [
"async-trait",
- "bytes 1.5.0",
+ "bytes",
"futures-util",
"http",
- "http-body 0.4.5",
+ "http-body",
"mime",
"rustversion",
"tower-layer",
@@ -1318,7 +1297,7 @@ dependencies = [
"instant",
"pin-project-lite 0.2.13",
"rand 0.8.5",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -1382,12 +1361,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581"
-[[package]]
-name = "base64"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
-
[[package]]
name = "base64"
version = "0.13.1"
@@ -1733,16 +1706,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "buf_redux"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
-dependencies = [
- "memchr",
- "safemem",
-]
-
[[package]]
name = "build-data"
version = "0.1.5"
@@ -1815,12 +1778,6 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
-[[package]]
-name = "bytes"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-
[[package]]
name = "bytes"
version = "1.5.0"
@@ -2055,6 +2012,15 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "ckb-merkle-mountain-range"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
[[package]]
name = "clang-sys"
version = "1.6.1"
@@ -2494,15 +2460,6 @@ version = "0.82.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf"
-[[package]]
-name = "cranelift-entity"
-version = "0.92.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9e39cfc857e7e539aa623e03bb6bec11f54aef3dfdef41adcfa7b594af3b54"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "cranelift-entity"
version = "0.95.1"
@@ -2566,7 +2523,7 @@ dependencies = [
"log",
"smallvec",
"wasmparser 0.102.0",
- "wasmtime-types 8.0.1",
+ "wasmtime-types",
]
[[package]]
@@ -2595,9 +2552,9 @@ dependencies = [
[[package]]
name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch",
@@ -2606,22 +2563,21 @@ dependencies = [
[[package]]
name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa"
dependencies = [
"autocfg",
"cfg-if 1.0.0",
"crossbeam-utils",
"memoffset 0.9.0",
- "scopeguard",
]
[[package]]
name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils",
@@ -2629,9 +2585,9 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f"
dependencies = [
"cfg-if 1.0.0",
]
@@ -3180,7 +3136,7 @@ checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
dependencies = [
"libc",
"redox_users",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -3203,7 +3159,7 @@ checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
"redox_users",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -3285,12 +3241,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-[[package]]
-name = "dtoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
-
[[package]]
name = "dtoa"
version = "1.0.9"
@@ -3497,7 +3447,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b"
dependencies = [
"base64 0.21.5",
- "bytes 1.5.0",
+ "bytes",
"hex",
"k256",
"log",
@@ -3581,19 +3531,6 @@ dependencies = [
"syn 2.0.39",
]
-[[package]]
-name = "env_logger"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
-
[[package]]
name = "env_logger"
version = "0.10.1"
@@ -3671,52 +3608,6 @@ dependencies = [
"webb-tree-hash-derive",
]
-[[package]]
-name = "eth2-to-substrate-relay"
-version = "0.2.0-dev"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "anyhow",
- "async-trait",
- "atomic_refcell",
- "backoff",
- "bitvec",
- "dotenvy",
- "env_logger 0.9.3",
- "eth-types",
- "ethereum-types 0.14.1",
- "ethereum_hashing",
- "ethereum_ssz",
- "funty",
- "futures 0.3.29",
- "hex",
- "lazy_static",
- "log",
- "min-max",
- "primitive-types 0.12.2",
- "prometheus 0.9.0",
- "reqwest",
- "serde",
- "serde_json",
- "sp-core 16.0.0",
- "sp-keyring 18.0.0",
- "tokio 1.34.0",
- "toml 0.5.11",
- "tracing",
- "types",
- "warp",
- "webb 0.7.4",
- "webb-consensus-types",
- "webb-eth-rpc-client",
- "webb-eth2-pallet-init",
- "webb-finality-update-verify",
- "webb-lc-relay-config",
- "webb-lc-relayer-context",
- "webb-merkle-proof",
- "webb-proposals 0.8.0",
- "webb-tree-hash",
-]
-
[[package]]
name = "eth2_interop_keypairs"
version = "0.2.0"
@@ -3792,7 +3683,7 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"ethereum-types 0.14.1",
"hash-db 0.15.2",
"hash256-std-hasher",
@@ -3921,7 +3812,7 @@ dependencies = [
"ethers-providers",
"futures-util",
"once_cell",
- "pin-project 1.1.3",
+ "pin-project",
"serde",
"serde_json",
"thiserror",
@@ -3974,7 +3865,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f03e0bdc216eeb9e355b90cf610ef6c5bb8aca631f97b5ae9980ce34ea7878d"
dependencies = [
"arrayvec 0.7.4",
- "bytes 1.5.0",
+ "bytes",
"cargo_metadata 0.18.1",
"chrono",
"const-hex",
@@ -4034,7 +3925,7 @@ dependencies = [
"serde",
"serde_json",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"tracing-futures",
"url",
@@ -4049,7 +3940,7 @@ dependencies = [
"async-trait",
"auto_impl",
"base64 0.21.5",
- "bytes 1.5.0",
+ "bytes",
"const-hex",
"enr",
"ethers-core",
@@ -4061,13 +3952,13 @@ dependencies = [
"instant",
"jsonwebtoken",
"once_cell",
- "pin-project 1.1.3",
+ "pin-project",
"reqwest",
"serde",
"serde_json",
"thiserror",
- "tokio 1.34.0",
- "tokio-tungstenite 0.20.1",
+ "tokio",
+ "tokio-tungstenite",
"tracing",
"tracing-futures",
"url",
@@ -4122,7 +4013,7 @@ dependencies = [
"svm-rs",
"thiserror",
"tiny-keccak",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"walkdir",
"yansi",
@@ -4277,9 +4168,9 @@ dependencies = [
[[package]]
name = "eyre"
-version = "0.6.9"
+version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd"
+checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799"
dependencies = [
"indenter",
"once_cell",
@@ -4398,7 +4289,7 @@ dependencies = [
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-storage 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sqlx",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -4421,7 +4312,7 @@ dependencies = [
"sp-consensus",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -4446,7 +4337,7 @@ dependencies = [
"log",
"pallet-evm",
"parity-scale-codec",
- "prometheus 0.13.3",
+ "prometheus",
"rand 0.8.5",
"rlp",
"sc-client-api",
@@ -4475,7 +4366,7 @@ dependencies = [
"sp-timestamp",
"substrate-prometheus-endpoint",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -4563,7 +4454,7 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866"
dependencies = [
- "env_logger 0.10.1",
+ "env_logger",
"log",
]
@@ -5112,25 +5003,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
dependencies = [
"libc",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
+name = "fs4"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47"
dependencies = [
- "bitflags 1.3.2",
- "fuchsia-zircon-sys",
+ "rustix 0.38.25",
+ "windows-sys 0.48.0",
]
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -5341,7 +5226,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
dependencies = [
"libc",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -5469,33 +5354,13 @@ dependencies = [
"subtle",
]
-[[package]]
-name = "h2"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap 1.9.3",
- "slab",
- "tokio 0.2.25",
- "tokio-util 0.3.1",
- "tracing",
- "tracing-futures",
-]
-
[[package]]
name = "h2"
version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"fnv",
"futures-core",
"futures-sink",
@@ -5503,8 +5368,8 @@ dependencies = [
"http",
"indexmap 2.1.0",
"slab",
- "tokio 1.34.0",
- "tokio-util 0.7.10",
+ "tokio",
+ "tokio-util",
"tracing",
]
@@ -5599,30 +5464,6 @@ dependencies = [
"hashbrown 0.14.3",
]
-[[package]]
-name = "headers"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
-dependencies = [
- "base64 0.21.5",
- "bytes 1.5.0",
- "headers-core",
- "http",
- "httpdate 1.0.3",
- "mime",
- "sha1",
-]
-
-[[package]]
-name = "headers-core"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
-dependencies = [
- "http",
-]
-
[[package]]
name = "heck"
version = "0.3.3"
@@ -5673,9 +5514,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
[[package]]
name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac 0.12.1",
]
@@ -5737,7 +5578,7 @@ checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
dependencies = [
"libc",
"match_cfg",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -5746,19 +5587,9 @@ version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"fnv",
- "itoa 1.0.9",
-]
-
-[[package]]
-name = "http-body"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
-dependencies = [
- "bytes 0.5.6",
- "http",
+ "itoa",
]
[[package]]
@@ -5767,7 +5598,7 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"http",
"pin-project-lite 0.2.13",
]
@@ -5784,12 +5615,6 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-[[package]]
-name = "httpdate"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
-
[[package]]
name = "httpdate"
version = "1.0.3"
@@ -5802,49 +5627,25 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-[[package]]
-name = "hyper"
-version = "0.13.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
-dependencies = [
- "bytes 0.5.6",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2 0.2.7",
- "http",
- "http-body 0.3.1",
- "httparse",
- "httpdate 0.3.2",
- "itoa 0.4.8",
- "pin-project 1.1.3",
- "socket2 0.3.19",
- "tokio 0.2.25",
- "tower-service",
- "tracing",
- "want",
-]
-
[[package]]
name = "hyper"
version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures-channel",
"futures-core",
"futures-util",
- "h2 0.3.22",
+ "h2",
"http",
- "http-body 0.4.5",
+ "http-body",
"httparse",
- "httpdate 1.0.3",
- "itoa 1.0.9",
+ "httpdate",
+ "itoa",
"pin-project-lite 0.2.13",
"socket2 0.4.10",
- "tokio 1.34.0",
+ "tokio",
"tower-service",
"tracing",
"want",
@@ -5858,11 +5659,11 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http",
- "hyper 0.14.27",
+ "hyper",
"log",
"rustls 0.21.9",
"rustls-native-certs",
- "tokio 1.34.0",
+ "tokio",
"tokio-rustls",
"webpki-roots 0.25.3",
]
@@ -5873,10 +5674,10 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
- "bytes 1.5.0",
- "hyper 0.14.27",
+ "bytes",
+ "hyper",
"native-tls",
- "tokio 1.34.0",
+ "tokio",
"tokio-native-tls",
]
@@ -5955,7 +5756,7 @@ dependencies = [
"log",
"rtnetlink",
"system-configuration",
- "tokio 1.34.0",
+ "tokio",
"windows",
]
@@ -6058,15 +5859,6 @@ dependencies = [
"generic-array 0.14.7",
]
-[[package]]
-name = "input_buffer"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19a8a95243d5a0398cae618ec29477c6e3cb631152be5c19481f80bc71559754"
-dependencies = [
- "bytes 0.5.6",
-]
-
[[package]]
name = "instant"
version = "0.1.12"
@@ -6081,7 +5873,7 @@ name = "int_to_bytes"
version = "0.2.0"
source = "git+https://github.com/webb-tools/lighthouse.git?rev=ef72e752eaf45f4b7eb64dd8dbb0fe088f955df8#ef72e752eaf45f4b7eb64dd8dbb0fe088f955df8"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
]
[[package]]
@@ -6100,13 +5892,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b"
dependencies = [
"async-trait",
- "bytes 1.5.0",
+ "bytes",
"log",
"rand 0.8.5",
"rtcp",
"rtp",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"waitgroup",
"webrtc-srtp",
"webrtc-util",
@@ -6129,15 +5921,6 @@ dependencies = [
"windows-sys 0.48.0",
]
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "ip_network"
version = "0.4.1"
@@ -6191,12 +5974,6 @@ dependencies = [
"either",
]
-[[package]]
-name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
[[package]]
name = "itoa"
version = "1.0.9"
@@ -6247,13 +6024,13 @@ dependencies = [
"http",
"jsonrpsee-core",
"jsonrpsee-types",
- "pin-project 1.1.3",
+ "pin-project",
"rustls-native-certs",
"soketto",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tokio-rustls",
- "tokio-util 0.7.10",
+ "tokio-util",
"tracing",
"webpki-roots 0.25.3",
]
@@ -6273,7 +6050,7 @@ dependencies = [
"futures-timer",
"futures-util",
"globset",
- "hyper 0.14.27",
+ "hyper",
"jsonrpsee-types",
"parking_lot 0.12.1",
"rand 0.8.5",
@@ -6282,7 +6059,7 @@ dependencies = [
"serde_json",
"soketto",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tracing",
]
@@ -6293,7 +6070,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e5f9fabdd5d79344728521bb65e3106b49ec405a78b66fbff073b72b389fa43"
dependencies = [
"async-trait",
- "hyper 0.14.27",
+ "hyper",
"hyper-rustls",
"jsonrpsee-core",
"jsonrpsee-types",
@@ -6301,7 +6078,7 @@ dependencies = [
"serde",
"serde_json",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tracing",
]
@@ -6327,15 +6104,15 @@ dependencies = [
"futures-channel",
"futures-util",
"http",
- "hyper 0.14.27",
+ "hyper",
"jsonrpsee-core",
"jsonrpsee-types",
"serde",
"serde_json",
"soketto",
- "tokio 1.34.0",
+ "tokio",
"tokio-stream",
- "tokio-util 0.7.10",
+ "tokio-util",
"tower",
"tracing",
]
@@ -6403,16 +6180,6 @@ dependencies = [
"cpufeatures",
]
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
[[package]]
name = "kvdb"
version = "0.13.0"
@@ -6501,26 +6268,6 @@ version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
-[[package]]
-name = "libflate"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18"
-dependencies = [
- "adler32",
- "crc32fast",
- "libflate_lz77",
-]
-
-[[package]]
-name = "libflate_lz77"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf"
-dependencies = [
- "rle-decode-fast",
-]
-
[[package]]
name = "libloading"
version = "0.7.4"
@@ -6528,7 +6275,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
dependencies = [
"cfg-if 1.0.0",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -6543,7 +6290,7 @@ version = "0.51.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"futures-timer",
"getrandom 0.2.11",
@@ -6568,7 +6315,7 @@ dependencies = [
"libp2p-websocket",
"libp2p-yamux",
"multiaddr",
- "pin-project 1.1.3",
+ "pin-project",
]
[[package]]
@@ -6613,7 +6360,7 @@ dependencies = [
"multistream-select",
"once_cell",
"parking_lot 0.12.1",
- "pin-project 1.1.3",
+ "pin-project",
"quick-protobuf",
"rand 0.8.5",
"rw-stream-sink",
@@ -6685,7 +6432,7 @@ checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff"
dependencies = [
"arrayvec 0.7.4",
"asynchronous-codec",
- "bytes 1.5.0",
+ "bytes",
"either",
"fnv",
"futures 0.3.29",
@@ -6721,7 +6468,7 @@ dependencies = [
"rand 0.8.5",
"smallvec",
"socket2 0.4.10",
- "tokio 1.34.0",
+ "tokio",
"trust-dns-proto",
"void",
]
@@ -6746,7 +6493,7 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"curve25519-dalek 3.2.0",
"futures 0.3.29",
"libp2p-core",
@@ -6786,7 +6533,7 @@ version = "0.7.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"futures-timer",
"if-watch",
@@ -6799,7 +6546,7 @@ dependencies = [
"rand 0.8.5",
"rustls 0.20.9",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -6835,7 +6582,7 @@ dependencies = [
"log",
"rand 0.8.5",
"smallvec",
- "tokio 1.34.0",
+ "tokio",
"void",
]
@@ -6863,7 +6610,7 @@ dependencies = [
"libp2p-core",
"log",
"socket2 0.4.10",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -6907,7 +6654,7 @@ checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8"
dependencies = [
"async-trait",
"asynchronous-codec",
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"futures-timer",
"hex",
@@ -6925,8 +6672,8 @@ dependencies = [
"stun",
"thiserror",
"tinytemplate",
- "tokio 1.34.0",
- "tokio-util 0.7.10",
+ "tokio",
+ "tokio-util",
"webrtc",
]
@@ -7372,16 +7119,6 @@ dependencies = [
"autocfg",
]
-[[package]]
-name = "memory-db"
-version = "0.31.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66"
-dependencies = [
- "hash-db 0.15.2",
- "hashbrown 0.12.3",
-]
-
[[package]]
name = "memory-db"
version = "0.32.0"
@@ -7391,12 +7128,6 @@ dependencies = [
"hash-db 0.16.0",
]
-[[package]]
-name = "memory_units"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3"
-
[[package]]
name = "merkle_proof"
version = "0.2.0"
@@ -7475,25 +7206,6 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-[[package]]
-name = "mime_guess"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
-dependencies = [
- "mime",
- "unicase",
-]
-
-[[package]]
-name = "min-max"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe75516622e34f7e712e0f60b6a9bb1b2df281d1985c11a21fa5dabc1e34885f"
-dependencies = [
- "partial-min-max",
-]
-
[[package]]
name = "minimal-lexical"
version = "0.2.1"
@@ -7509,25 +7221,6 @@ dependencies = [
"adler",
]
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
[[package]]
name = "mio"
version = "0.8.9"
@@ -7540,15 +7233,19 @@ dependencies = [
]
[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+name = "mmr-rpc"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
+ "anyhow",
+ "jsonrpsee",
+ "parity-scale-codec",
+ "serde",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-mmr-primitives",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
[[package]]
@@ -7651,34 +7348,16 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
-[[package]]
-name = "multipart"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d050aeedc89243f5347c3e237e3e13dc76fbe4ae3742a57b94dc14f69acf76d4"
-dependencies = [
- "buf_redux",
- "httparse",
- "log",
- "mime",
- "mime_guess",
- "quick-error",
- "rand 0.7.3",
- "safemem",
- "tempfile",
- "twoway",
-]
-
[[package]]
name = "multistream-select"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"log",
- "pin-project 1.1.3",
+ "pin-project",
"smallvec",
"unsigned-varint",
]
@@ -7737,17 +7416,6 @@ dependencies = [
"tempfile",
]
-[[package]]
-name = "net2"
-version = "0.2.39"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
[[package]]
name = "netlink-packet-core"
version = "0.4.2"
@@ -7792,13 +7460,13 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"log",
"netlink-packet-core",
"netlink-sys",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -7807,11 +7475,11 @@ version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures 0.3.29",
"libc",
"log",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -7879,7 +7547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -7923,7 +7591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
dependencies = [
"arrayvec 0.7.4",
- "itoa 1.0.9",
+ "itoa",
]
[[package]]
@@ -8032,18 +7700,6 @@ dependencies = [
"memchr",
]
-[[package]]
-name = "object"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
-dependencies = [
- "crc32fast",
- "hashbrown 0.12.3",
- "indexmap 1.9.3",
- "memchr",
-]
-
[[package]]
name = "object"
version = "0.30.4"
@@ -8109,7 +7765,7 @@ checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce"
dependencies = [
"arrayvec 0.7.4",
"auto_impl",
- "bytes 1.5.0",
+ "bytes",
"ethereum-types 0.14.1",
"open-fastrlp-derive",
]
@@ -8120,7 +7776,7 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"proc-macro2",
"quote",
"syn 1.0.109",
@@ -8239,33 +7895,40 @@ dependencies = [
]
[[package]]
-name = "pallet-aura"
+name = "pallet-authorship"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
"frame-support",
"frame-system",
- "log",
- "pallet-timestamp",
+ "impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-consensus-aura",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
[[package]]
-name = "pallet-authorship"
+name = "pallet-babe"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
+ "frame-benchmarking",
"frame-support",
"frame-system",
- "impl-trait-for-tuples",
+ "log",
+ "pallet-authorship",
+ "pallet-session",
+ "pallet-timestamp",
"parity-scale-codec",
"scale-info",
+ "sp-application-crypto 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-consensus-babe",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-session",
+ "sp-staking",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
@@ -8524,33 +8187,6 @@ dependencies = [
"webb-tree-hash-derive",
]
-[[package]]
-name = "pallet-eth2-light-client-relayer-gadget"
-version = "0.2.0-dev"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "anyhow",
- "async-trait",
- "backoff",
- "eth2-to-substrate-relay",
- "ethereum-types 0.14.1",
- "subxt 0.29.0",
- "tokio 1.34.0",
- "tracing",
- "webb-eth2-pallet-init",
- "webb-lc-relay-config",
- "webb-lc-relayer-context",
- "webb-proposals 0.8.0",
-]
-
-[[package]]
-name = "pallet-eth2-light-client-relayer-gadget-cli"
-version = "0.0.1"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "clap 4.4.10",
-]
-
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
@@ -9478,7 +9114,7 @@ dependencies = [
"arrayvec 0.7.4",
"bitvec",
"byte-slice-cast",
- "bytes 1.5.0",
+ "bytes",
"impl-trait-for-tuples",
"parity-scale-codec-derive",
"serde",
@@ -9546,7 +9182,7 @@ dependencies = [
"libc",
"redox_syscall 0.2.16",
"smallvec",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -9562,12 +9198,6 @@ dependencies = [
"windows-targets 0.48.5",
]
-[[package]]
-name = "partial-min-max"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6448add382c60bbbc64f9dab41309a12ec530c05191601042f911356ac09758c"
-
[[package]]
name = "partial_sort"
version = "0.2.0"
@@ -9807,33 +9437,13 @@ dependencies = [
"siphasher",
]
-[[package]]
-name = "pin-project"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ef0f924a5ee7ea9cbcea77529dba45f8a9ba9f622419fe3386ca581a3ae9d5a"
-dependencies = [
- "pin-project-internal 0.4.30",
-]
-
[[package]]
name = "pin-project"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
dependencies = [
- "pin-project-internal 1.1.3",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "pin-project-internal",
]
[[package]]
@@ -10220,36 +9830,6 @@ dependencies = [
"unicode-ident",
]
-[[package]]
-name = "procfs"
-version = "0.7.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c434e93ef69c216e68e4f417c927b4f31502c3560b72cfdb6827e2321c5c6b3e"
-dependencies = [
- "bitflags 1.3.2",
- "byteorder",
- "hex",
- "lazy_static",
- "libc",
- "libflate",
-]
-
-[[package]]
-name = "prometheus"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd0ced56dee39a6e960c15c74dc48849d614586db2eaada6497477af7c7811cd"
-dependencies = [
- "cfg-if 0.1.10",
- "fnv",
- "lazy_static",
- "libc",
- "procfs",
- "protobuf",
- "spin 0.5.2",
- "thiserror",
-]
-
[[package]]
name = "prometheus"
version = "0.13.3"
@@ -10270,8 +9850,8 @@ version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e"
dependencies = [
- "dtoa 1.0.9",
- "itoa 1.0.9",
+ "dtoa",
+ "itoa",
"parking_lot 0.12.1",
"prometheus-client-derive-encode",
]
@@ -10309,7 +9889,7 @@ version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"prost-derive",
]
@@ -10319,7 +9899,7 @@ version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"heck 0.4.1",
"itertools 0.10.5",
"lazy_static",
@@ -10357,12 +9937,6 @@ dependencies = [
"prost",
]
-[[package]]
-name = "protobuf"
-version = "2.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
-
[[package]]
name = "psm"
version = "0.1.21"
@@ -10414,7 +9988,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b"
dependencies = [
"asynchronous-codec",
- "bytes 1.5.0",
+ "bytes",
"quick-protobuf",
"thiserror",
"unsigned-varint",
@@ -10437,7 +10011,7 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"rand 0.8.5",
"ring 0.16.20",
"rustc-hash",
@@ -10644,18 +10218,18 @@ dependencies = [
[[package]]
name = "ref-cast"
-version = "1.0.20"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280"
+checksum = "53313ec9f12686aeeffb43462c3ac77aa25f590a5f630eb2cde0de59417b29c7"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.20"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
+checksum = "2566c4bf6845f2c2e83b27043c3f5dfcd5ba8f2937d6c00dc009bfb51a079dc4"
dependencies = [
"proc-macro2",
"quote",
@@ -10744,7 +10318,7 @@ dependencies = [
"bitflags 1.3.2",
"libc",
"mach",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -10763,14 +10337,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
dependencies = [
"base64 0.21.5",
- "bytes 1.5.0",
+ "bytes",
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.3.22",
+ "h2",
"http",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http-body",
+ "hyper",
"hyper-rustls",
"hyper-tls",
"ipnet",
@@ -10785,9 +10359,9 @@ dependencies = [
"rustls-pemfile",
"serde",
"serde_json",
- "serde_urlencoded 0.7.1",
+ "serde_urlencoded",
"system-configuration",
- "tokio 1.34.0",
+ "tokio",
"tokio-native-tls",
"tokio-rustls",
"tower-service",
@@ -10857,7 +10431,7 @@ dependencies = [
"spin 0.5.2",
"untrusted 0.7.1",
"web-sys",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -10911,19 +10485,13 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "rle-decode-fast"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
-
[[package]]
name = "rlp"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"rlp-derive",
"rustc-hex",
]
@@ -11034,7 +10602,7 @@ dependencies = [
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -11098,7 +10666,7 @@ dependencies = [
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-transaction-pool",
"substrate-prometheus-endpoint",
- "tokio 1.34.0",
+ "tokio",
"tracing",
]
@@ -11130,7 +10698,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"thiserror",
"webrtc-util",
]
@@ -11147,7 +10715,7 @@ dependencies = [
"netlink-proto",
"nix",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -11167,7 +10735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80"
dependencies = [
"async-trait",
- "bytes 1.5.0",
+ "bytes",
"rand 0.8.5",
"serde",
"thiserror",
@@ -11375,7 +10943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04"
dependencies = [
"futures 0.3.29",
- "pin-project 1.1.3",
+ "pin-project",
"static_assertions",
]
@@ -11461,12 +11029,6 @@ name = "safe_arith"
version = "0.1.0"
source = "git+https://github.com/webb-tools/lighthouse.git?rev=ef72e752eaf45f4b7eb64dd8dbb0fe088f955df8#ef72e752eaf45f4b7eb64dd8dbb0fe088f955df8"
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
[[package]]
name = "salsa20"
version = "0.10.2"
@@ -11496,6 +11058,34 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "sc-authority-discovery"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "async-trait",
+ "futures 0.3.29",
+ "futures-timer",
+ "ip_network",
+ "libp2p",
+ "log",
+ "multihash",
+ "parity-scale-codec",
+ "prost",
+ "prost-build",
+ "rand 0.8.5",
+ "sc-client-api",
+ "sc-network",
+ "sp-api",
+ "sp-authority-discovery",
+ "sp-blockchain",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-keystore 0.27.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "substrate-prometheus-endpoint",
+ "thiserror",
+]
+
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
@@ -11600,7 +11190,7 @@ dependencies = [
"sp-version",
"thiserror",
"tiny-bip39",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -11745,6 +11335,28 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "sc-consensus-babe-rpc"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "futures 0.3.29",
+ "jsonrpsee",
+ "sc-consensus-babe",
+ "sc-consensus-epochs",
+ "sc-rpc-api",
+ "serde",
+ "sp-api",
+ "sp-application-crypto 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-babe",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-keystore 0.27.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "thiserror",
+]
+
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
@@ -11799,6 +11411,26 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "sc-consensus-grandpa-rpc"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "finality-grandpa",
+ "futures 0.3.29",
+ "jsonrpsee",
+ "log",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sc-consensus-grandpa",
+ "sc-rpc",
+ "serde",
+ "sp-blockchain",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "thiserror",
+]
+
[[package]]
name = "sc-consensus-manual-seal"
version = "0.10.0-dev"
@@ -11905,7 +11537,7 @@ dependencies = [
"sc-executor-common",
"sp-runtime-interface 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-wasm-interface 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "wasmtime 8.0.1",
+ "wasmtime",
]
[[package]]
@@ -11947,7 +11579,7 @@ dependencies = [
"async-channel 1.9.0",
"async-trait",
"asynchronous-codec",
- "bytes 1.5.0",
+ "bytes",
"either",
"fnv",
"futures 0.3.29",
@@ -11960,7 +11592,7 @@ dependencies = [
"parity-scale-codec",
"parking_lot 0.12.1",
"partial_sort",
- "pin-project 1.1.3",
+ "pin-project",
"rand 0.8.5",
"sc-client-api",
"sc-network-common",
@@ -12055,6 +11687,24 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "sc-network-statement"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "array-bytes 6.2.0",
+ "async-channel 1.9.0",
+ "futures 0.3.29",
+ "libp2p",
+ "log",
+ "parity-scale-codec",
+ "sc-network",
+ "sc-network-common",
+ "sp-consensus",
+ "sp-statement-store",
+ "substrate-prometheus-endpoint",
+]
+
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
@@ -12113,11 +11763,11 @@ version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
"array-bytes 6.2.0",
- "bytes 1.5.0",
+ "bytes",
"fnv",
"futures 0.3.29",
"futures-timer",
- "hyper 0.14.27",
+ "hyper",
"hyper-rustls",
"libp2p",
"log",
@@ -12178,7 +11828,7 @@ dependencies = [
"sp-session",
"sp-statement-store",
"sp-version",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -12210,7 +11860,7 @@ dependencies = [
"log",
"serde_json",
"substrate-prometheus-endpoint",
- "tokio 1.34.0",
+ "tokio",
"tower",
"tower-http",
]
@@ -12239,7 +11889,7 @@ dependencies = [
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-version",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tokio-stream",
]
@@ -12257,7 +11907,7 @@ dependencies = [
"log",
"parity-scale-codec",
"parking_lot 0.12.1",
- "pin-project 1.1.3",
+ "pin-project",
"rand 0.8.5",
"sc-block-builder",
"sc-chain-spec",
@@ -12302,7 +11952,7 @@ dependencies = [
"substrate-prometheus-endpoint",
"tempfile",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"tracing-futures",
]
@@ -12318,6 +11968,58 @@ dependencies = [
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
+[[package]]
+name = "sc-statement-store"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "log",
+ "parity-db",
+ "parking_lot 0.12.1",
+ "sc-client-api",
+ "sc-keystore",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-statement-store",
+ "substrate-prometheus-endpoint",
+ "tokio",
+]
+
+[[package]]
+name = "sc-storage-monitor"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "clap 4.4.10",
+ "fs4",
+ "log",
+ "sc-client-db",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "sc-sync-state-rpc"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "jsonrpsee",
+ "parity-scale-codec",
+ "sc-chain-spec",
+ "sc-client-api",
+ "sc-consensus-babe",
+ "sc-consensus-epochs",
+ "sc-consensus-grandpa",
+ "serde",
+ "serde_json",
+ "sp-blockchain",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "thiserror",
+]
+
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
@@ -12347,7 +12049,7 @@ dependencies = [
"libp2p",
"log",
"parking_lot 0.12.1",
- "pin-project 1.1.3",
+ "pin-project",
"rand 0.8.5",
"sc-utils",
"serde",
@@ -12449,7 +12151,7 @@ dependencies = [
"lazy_static",
"log",
"parking_lot 0.12.1",
- "prometheus 0.13.3",
+ "prometheus",
"sp-arithmetic 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
@@ -12708,12 +12410,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -12970,7 +12666,7 @@ version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
- "itoa 1.0.9",
+ "itoa",
"ryu",
"serde",
]
@@ -12981,7 +12677,7 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335"
dependencies = [
- "itoa 1.0.9",
+ "itoa",
"serde",
]
@@ -12994,18 +12690,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "serde_urlencoded"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
-dependencies = [
- "dtoa 0.4.8",
- "itoa 0.4.8",
- "serde",
- "url",
-]
-
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@@ -13013,7 +12697,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa 1.0.9",
+ "itoa",
"ryu",
"serde",
]
@@ -13340,7 +13024,7 @@ dependencies = [
"num-rational",
"num-traits",
"pbkdf2 0.12.2",
- "pin-project 1.1.3",
+ "pin-project",
"rand 0.8.5",
"rand_chacha 0.3.1",
"ruzstd",
@@ -13356,7 +13040,7 @@ dependencies = [
"soketto",
"tiny-keccak",
"twox-hash",
- "wasmi 0.30.0",
+ "wasmi",
]
[[package]]
@@ -13411,17 +13095,6 @@ dependencies = [
"subtle",
]
-[[package]]
-name = "socket2"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "winapi 0.3.9",
-]
-
[[package]]
name = "socket2"
version = "0.4.10"
@@ -13429,7 +13102,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -13449,7 +13122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2"
dependencies = [
"base64 0.13.1",
- "bytes 1.5.0",
+ "bytes",
"flate2",
"futures 0.3.29",
"http",
@@ -13508,20 +13181,6 @@ dependencies = [
"syn 2.0.39",
]
-[[package]]
-name = "sp-application-crypto"
-version = "17.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f08604ba4bd856311946722958711a08bded5c929e1227f7a697c58deb09468"
-dependencies = [
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-core 16.0.0",
- "sp-io 17.0.0",
- "sp-std 6.0.0",
-]
-
[[package]]
name = "sp-application-crypto"
version = "23.0.0"
@@ -13551,46 +13210,44 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
-version = "12.0.0"
+version = "16.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7796939f2e3b68a3b9410ea17a2063b78038cd366f57fa772dd3be0798bd3412"
+checksum = "bb6020576e544c6824a51d651bc8df8e6ab67cd59f1c9ac09868bb81a5199ded"
dependencies = [
"integer-sqrt",
"num-traits",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-std 6.0.0",
+ "sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"static_assertions",
]
[[package]]
name = "sp-arithmetic"
version = "16.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb6020576e544c6824a51d651bc8df8e6ab67cd59f1c9ac09868bb81a5199ded"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
"integer-sqrt",
"num-traits",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"static_assertions",
]
[[package]]
-name = "sp-arithmetic"
-version = "16.0.0"
+name = "sp-authority-discovery"
+version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "integer-sqrt",
- "num-traits",
"parity-scale-codec",
"scale-info",
- "serde",
+ "sp-api",
+ "sp-application-crypto 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "static_assertions",
]
[[package]]
@@ -13703,50 +13360,6 @@ dependencies = [
"sp-timestamp",
]
-[[package]]
-name = "sp-core"
-version = "16.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c96dc3debbe5c22ebf18f99e6a53199efe748e6e584a1902adb88cbad66ae7c"
-dependencies = [
- "array-bytes 4.2.0",
- "base58",
- "bitflags 1.3.2",
- "blake2 0.10.6",
- "bounded-collections",
- "dyn-clonable",
- "ed25519-zebra",
- "futures 0.3.29",
- "hash-db 0.15.2",
- "hash256-std-hasher",
- "impl-serde",
- "lazy_static",
- "libsecp256k1",
- "log",
- "merlin 2.0.1",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "primitive-types 0.12.2",
- "rand 0.8.5",
- "regex",
- "scale-info",
- "schnorrkel 0.9.1",
- "secp256k1 0.24.3",
- "secrecy",
- "serde",
- "sp-core-hashing 6.0.0",
- "sp-debug-derive 6.0.0",
- "sp-externalities 0.17.0",
- "sp-runtime-interface 13.0.0",
- "sp-std 6.0.0",
- "sp-storage 11.0.0",
- "ss58-registry",
- "substrate-bip39",
- "thiserror",
- "tiny-bip39",
- "zeroize",
-]
-
[[package]]
name = "sp-core"
version = "21.0.0"
@@ -13839,21 +13452,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "sp-core-hashing"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbc2d1947252b7a4e403b0a260f596920443742791765ec111daa2bbf98eff25"
-dependencies = [
- "blake2 0.10.6",
- "byteorder",
- "digest 0.10.7",
- "sha2 0.10.8",
- "sha3 0.10.8",
- "sp-std 6.0.0",
- "twox-hash",
-]
-
[[package]]
name = "sp-core-hashing"
version = "9.0.0"
@@ -13901,17 +13499,6 @@ dependencies = [
"parking_lot 0.12.1",
]
-[[package]]
-name = "sp-debug-derive"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66fb9dc63d54de7d7bed62a505b6e0bd66c122525ea1abb348f6564717c3df2d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "sp-debug-derive"
version = "8.0.0"
@@ -13933,18 +13520,6 @@ dependencies = [
"syn 2.0.39",
]
-[[package]]
-name = "sp-externalities"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57052935c9c9b070ea6b339ef0da3bf241b7e065fc37f9c551669ee83ecfc3c1"
-dependencies = [
- "environmental",
- "parity-scale-codec",
- "sp-std 6.0.0",
- "sp-storage 11.0.0",
-]
-
[[package]]
name = "sp-externalities"
version = "0.19.0"
@@ -13993,39 +13568,13 @@ dependencies = [
"thiserror",
]
-[[package]]
-name = "sp-io"
-version = "17.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578959f9a7e44fd2dd96e8b8bc893cea04fcd7c00a4ffbb0b91c5013899dd02b"
-dependencies = [
- "bytes 1.5.0",
- "ed25519 1.5.3",
- "ed25519-dalek 1.0.1",
- "futures 0.3.29",
- "libsecp256k1",
- "log",
- "parity-scale-codec",
- "secp256k1 0.24.3",
- "sp-core 16.0.0",
- "sp-externalities 0.17.0",
- "sp-keystore 0.22.0",
- "sp-runtime-interface 13.0.0",
- "sp-state-machine 0.22.0",
- "sp-std 6.0.0",
- "sp-tracing 8.0.0",
- "sp-trie 16.0.0",
- "tracing",
- "tracing-core",
-]
-
[[package]]
name = "sp-io"
version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d597e35a9628fe7454b08965b2442e3ec0f264b0a90d41328e87422cec02e99"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"ed25519 1.5.3",
"ed25519-dalek 1.0.1",
"futures 0.3.29",
@@ -14051,7 +13600,7 @@ name = "sp-io"
version = "23.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"ed25519-dalek 2.1.0",
"libsecp256k1",
"log",
@@ -14070,18 +13619,6 @@ dependencies = [
"tracing-core",
]
-[[package]]
-name = "sp-keyring"
-version = "18.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc13a168cdc15e185db5cbe8644e3eaafa534e229593768b3044b60bea00fc8c"
-dependencies = [
- "lazy_static",
- "sp-core 16.0.0",
- "sp-runtime 18.0.0",
- "strum 0.24.1",
-]
-
[[package]]
name = "sp-keyring"
version = "24.0.0"
@@ -14105,23 +13642,6 @@ dependencies = [
"strum 0.24.1",
]
-[[package]]
-name = "sp-keystore"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "480dbd54b281c638209fbcfce69902b82a0a1af0e22219d46825eadced3136b6"
-dependencies = [
- "async-trait",
- "futures 0.3.29",
- "merlin 2.0.1",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "schnorrkel 0.9.1",
- "sp-core 16.0.0",
- "sp-externalities 0.17.0",
- "thiserror",
-]
-
[[package]]
name = "sp-keystore"
version = "0.27.0"
@@ -14169,38 +13689,45 @@ dependencies = [
]
[[package]]
-name = "sp-npos-elections"
+name = "sp-mmr-primitives"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
+ "ckb-merkle-mountain-range",
+ "log",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-arithmetic 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-api",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-debug-derive 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "thiserror",
]
[[package]]
-name = "sp-offchain"
+name = "sp-npos-elections"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "sp-api",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-arithmetic 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
[[package]]
-name = "sp-panic-handler"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4abed79c3d5b3622f65ab065676addd9923b9b122cd257df23e2757ce487c6d2"
+name = "sp-offchain"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "backtrace",
- "lazy_static",
- "regex",
+ "sp-api",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
[[package]]
@@ -14234,29 +13761,6 @@ dependencies = [
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
-[[package]]
-name = "sp-runtime"
-version = "18.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8ab2fd44668d3e8674e2253a43852857a47d49be7db737e98bf157e4bcebefd"
-dependencies = [
- "either",
- "hash256-std-hasher",
- "impl-trait-for-tuples",
- "log",
- "parity-scale-codec",
- "paste",
- "rand 0.8.5",
- "scale-info",
- "serde",
- "sp-application-crypto 17.0.0",
- "sp-arithmetic 12.0.0",
- "sp-core 16.0.0",
- "sp-io 17.0.0",
- "sp-std 6.0.0",
- "sp-weights 14.0.0",
-]
-
[[package]]
name = "sp-runtime"
version = "24.0.0"
@@ -14302,32 +13806,13 @@ dependencies = [
"sp-weights 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
-[[package]]
-name = "sp-runtime-interface"
-version = "13.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb7707246cee4967a8cc71e3ef0e82f562e8b1020606447a6a12b99c7c1b443"
-dependencies = [
- "bytes 1.5.0",
- "impl-trait-for-tuples",
- "parity-scale-codec",
- "primitive-types 0.12.2",
- "sp-externalities 0.17.0",
- "sp-runtime-interface-proc-macro 9.0.0",
- "sp-std 6.0.0",
- "sp-storage 11.0.0",
- "sp-tracing 8.0.0",
- "sp-wasm-interface 10.0.0",
- "static_assertions",
-]
-
[[package]]
name = "sp-runtime-interface"
version = "17.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e676128182f90015e916f806cba635c8141e341e7abbc45d25525472e1bbce8"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
"primitive-types 0.12.2",
@@ -14345,7 +13830,7 @@ name = "sp-runtime-interface"
version = "17.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
"primitive-types 0.12.2",
@@ -14358,19 +13843,6 @@ dependencies = [
"static_assertions",
]
-[[package]]
-name = "sp-runtime-interface-proc-macro"
-version = "9.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2773c90e5765847c5e8b4a24b553d38a9ca52ded47c142cfcfb7948f42827af9"
-dependencies = [
- "Inflector",
- "proc-macro-crate 1.1.3",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "11.0.0"
@@ -14425,27 +13897,6 @@ dependencies = [
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
-[[package]]
-name = "sp-state-machine"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c957b8b4c252507c12674948db427c5e34fd1760ce256922f1ec5f89f781a4f"
-dependencies = [
- "hash-db 0.15.2",
- "log",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "rand 0.8.5",
- "smallvec",
- "sp-core 16.0.0",
- "sp-externalities 0.17.0",
- "sp-panic-handler 6.0.0",
- "sp-std 6.0.0",
- "sp-trie 16.0.0",
- "thiserror",
- "tracing",
-]
-
[[package]]
name = "sp-state-machine"
version = "0.28.0"
@@ -14485,7 +13936,7 @@ dependencies = [
"sp-trie 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"thiserror",
"tracing",
- "trie-db 0.27.1",
+ "trie-db",
]
[[package]]
@@ -14512,12 +13963,6 @@ dependencies = [
"x25519-dalek 2.0.0",
]
-[[package]]
-name = "sp-std"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af0ee286f98455272f64ac5bb1384ff21ac029fbb669afbaf48477faff12760e"
-
[[package]]
name = "sp-std"
version = "8.0.0"
@@ -14529,20 +13974,6 @@ name = "sp-std"
version = "8.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
-[[package]]
-name = "sp-storage"
-version = "11.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c20cb0c562d1a159ecb2c7ca786828c81e432c535474967d2df3a484977cea4"
-dependencies = [
- "impl-serde",
- "parity-scale-codec",
- "ref-cast",
- "serde",
- "sp-debug-derive 6.0.0",
- "sp-std 6.0.0",
-]
-
[[package]]
name = "sp-storage"
version = "13.0.0"
@@ -14585,25 +14016,12 @@ dependencies = [
[[package]]
name = "sp-tracing"
-version = "8.0.0"
+version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e46bd547da89a9cda69b4ce4c91a5b7e1f86915190d83cd407b715d0c6bac042"
+checksum = "357f7591980dd58305956d32f8f6646d0a8ea9ea0e7e868e46f53b68ddf00cec"
dependencies = [
"parity-scale-codec",
- "sp-std 6.0.0",
- "tracing",
- "tracing-core",
- "tracing-subscriber 0.2.25",
-]
-
-[[package]]
-name = "sp-tracing"
-version = "10.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "357f7591980dd58305956d32f8f6646d0a8ea9ea0e7e868e46f53b68ddf00cec"
-dependencies = [
- "parity-scale-codec",
- "sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"tracing",
"tracing-core",
"tracing-subscriber 0.2.25",
@@ -14645,30 +14063,6 @@ dependencies = [
"sp-trie 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
]
-[[package]]
-name = "sp-trie"
-version = "16.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8efbe5b6d29a18fea7c2f52e0098135f2f864b31d335d5105b40a349866ba874"
-dependencies = [
- "ahash 0.8.6",
- "hash-db 0.15.2",
- "hashbrown 0.12.3",
- "lazy_static",
- "memory-db 0.31.0",
- "nohash-hasher",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "scale-info",
- "schnellru",
- "sp-core 16.0.0",
- "sp-std 6.0.0",
- "thiserror",
- "tracing",
- "trie-db 0.24.0",
- "trie-root 0.17.0",
-]
-
[[package]]
name = "sp-trie"
version = "22.0.0"
@@ -14679,7 +14073,7 @@ dependencies = [
"hash-db 0.16.0",
"hashbrown 0.13.2",
"lazy_static",
- "memory-db 0.32.0",
+ "memory-db",
"nohash-hasher",
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -14689,8 +14083,8 @@ dependencies = [
"sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"thiserror",
"tracing",
- "trie-db 0.27.1",
- "trie-root 0.18.0",
+ "trie-db",
+ "trie-root",
]
[[package]]
@@ -14702,7 +14096,7 @@ dependencies = [
"hash-db 0.16.0",
"hashbrown 0.13.2",
"lazy_static",
- "memory-db 0.32.0",
+ "memory-db",
"nohash-hasher",
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -14712,8 +14106,8 @@ dependencies = [
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"thiserror",
"tracing",
- "trie-db 0.27.1",
- "trie-root 0.18.0",
+ "trie-db",
+ "trie-root",
]
[[package]]
@@ -14744,21 +14138,6 @@ dependencies = [
"syn 2.0.39",
]
-[[package]]
-name = "sp-wasm-interface"
-version = "10.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbbc05650b6338808892a7b04f0c56bb1f7f928bfa9ac58e0af2c1e5bef33229"
-dependencies = [
- "anyhow",
- "impl-trait-for-tuples",
- "log",
- "parity-scale-codec",
- "sp-std 6.0.0",
- "wasmi 0.13.2",
- "wasmtime 5.0.1",
-]
-
[[package]]
name = "sp-wasm-interface"
version = "14.0.0"
@@ -14770,7 +14149,7 @@ dependencies = [
"log",
"parity-scale-codec",
"sp-std 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "wasmtime 8.0.1",
+ "wasmtime",
]
[[package]]
@@ -14783,23 +14162,7 @@ dependencies = [
"log",
"parity-scale-codec",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "wasmtime 8.0.1",
-]
-
-[[package]]
-name = "sp-weights"
-version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ebab7696f915aa548494aef3ca8d15217baf10458fe6edb87e60587a47de358"
-dependencies = [
- "parity-scale-codec",
- "scale-info",
- "serde",
- "smallvec",
- "sp-arithmetic 12.0.0",
- "sp-core 16.0.0",
- "sp-debug-derive 6.0.0",
- "sp-std 6.0.0",
+ "wasmtime",
]
[[package]]
@@ -14899,7 +14262,7 @@ dependencies = [
"ahash 0.8.6",
"atoi",
"byteorder",
- "bytes 1.5.0",
+ "bytes",
"crc",
"crossbeam-queue",
"dotenvy",
@@ -14924,7 +14287,7 @@ dependencies = [
"smallvec",
"sqlformat",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tokio-stream",
"tracing",
"url",
@@ -14963,7 +14326,7 @@ dependencies = [
"sqlx-sqlite",
"syn 1.0.109",
"tempfile",
- "tokio 1.34.0",
+ "tokio",
"url",
]
@@ -15046,7 +14409,7 @@ dependencies = [
"parking_lot 0.11.2",
"parking_lot_core 0.8.6",
"static_init_macro",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -15170,7 +14533,7 @@ dependencies = [
"ring 0.16.20",
"subtle",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"url",
"webrtc-util",
]
@@ -15234,11 +14597,28 @@ name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
dependencies = [
- "hyper 0.14.27",
+ "hyper",
"log",
- "prometheus 0.13.3",
+ "prometheus",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
+]
+
+[[package]]
+name = "substrate-state-trie-migration-rpc"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901"
+dependencies = [
+ "jsonrpsee",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sc-rpc-api",
+ "serde",
+ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-state-machine 0.28.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-trie 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "trie-db",
]
[[package]]
@@ -15363,7 +14743,7 @@ dependencies = [
"subxt-metadata 0.29.0",
"syn 2.0.39",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -15383,7 +14763,7 @@ dependencies = [
"subxt-metadata 0.31.0",
"syn 2.0.39",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -15398,7 +14778,7 @@ dependencies = [
"serde_json",
"smoldot-light",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tokio-stream",
"tracing",
]
@@ -15580,100 +14960,98 @@ dependencies = [
]
[[package]]
-name = "tangle-mainnet-runtime"
+name = "tangle"
version = "0.5.0"
dependencies = [
- "evm-tracer",
+ "clap 4.4.10",
+ "fc-api",
+ "fc-cli",
+ "fc-consensus",
+ "fc-db",
+ "fc-mapping-sync",
+ "fc-rpc",
+ "fc-rpc-core",
+ "fc-storage",
"fp-account",
+ "fp-dynamic-fee",
"fp-evm",
"fp-rpc",
- "fp-self-contained",
"frame-benchmarking",
- "frame-election-provider-support",
- "frame-executive",
- "frame-support",
+ "frame-benchmarking-cli",
"frame-system",
- "frame-system-benchmarking",
"frame-system-rpc-runtime-api",
+ "futures 0.3.29",
"hex-literal",
+ "jsonrpsee",
"log",
- "num_enum 0.5.11",
- "pallet-airdrop-claims",
- "pallet-aura",
- "pallet-authorship",
- "pallet-bags-list",
- "pallet-balances",
- "pallet-base-fee",
- "pallet-bounties",
- "pallet-child-bounties",
- "pallet-collective",
- "pallet-democracy",
- "pallet-dynamic-fee",
- "pallet-election-provider-multi-phase",
- "pallet-elections-phragmen",
- "pallet-eth2-light-client",
- "pallet-ethereum",
- "pallet-evm",
- "pallet-evm-chain-id",
- "pallet-evm-precompile-batch",
- "pallet-evm-precompile-blake2",
- "pallet-evm-precompile-bn128",
- "pallet-evm-precompile-call-permit",
- "pallet-evm-precompile-curve25519",
- "pallet-evm-precompile-democracy",
- "pallet-evm-precompile-dispatch",
- "pallet-evm-precompile-ed25519",
- "pallet-evm-precompile-modexp",
- "pallet-evm-precompile-preimage",
- "pallet-evm-precompile-proxy",
- "pallet-evm-precompile-registry",
- "pallet-evm-precompile-sha3fips",
- "pallet-evm-precompile-simple",
- "pallet-evm-precompile-staking",
- "pallet-grandpa",
- "pallet-hotfix-sufficients",
- "pallet-identity",
+ "mmr-rpc",
"pallet-im-online",
- "pallet-indices",
- "pallet-insecure-randomness-collective-flip",
- "pallet-nomination-pools",
- "pallet-offences",
- "pallet-preimage",
- "pallet-proxy",
- "pallet-scheduler",
- "pallet-session",
- "pallet-staking",
- "pallet-staking-reward-curve",
- "pallet-sudo",
- "pallet-timestamp",
- "pallet-transaction-pause",
"pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-treasury",
- "pallet-utility",
- "pallet-vesting",
+ "pallet-transaction-payment-rpc",
"parity-scale-codec",
- "precompile-utils",
+ "primitives-ext",
+ "rand 0.7.3",
+ "rpc-debug",
"rpc-primitives-debug",
"rpc-primitives-txpool",
- "scale-info",
- "serde",
+ "rpc-trace",
+ "rpc-txpool",
+ "sc-authority-discovery",
+ "sc-basic-authorship",
+ "sc-chain-spec",
+ "sc-cli",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-consensus-babe",
+ "sc-consensus-babe-rpc",
+ "sc-consensus-grandpa",
+ "sc-consensus-grandpa-rpc",
+ "sc-consensus-manual-seal",
+ "sc-consensus-slots",
+ "sc-executor",
+ "sc-keystore",
+ "sc-network",
+ "sc-network-common",
+ "sc-network-statement",
+ "sc-network-sync",
+ "sc-offchain",
+ "sc-rpc",
+ "sc-rpc-api",
+ "sc-rpc-spec-v2",
+ "sc-service",
+ "sc-statement-store",
+ "sc-storage-monitor",
+ "sc-sync-state-rpc",
+ "sc-sysinfo",
+ "sc-telemetry",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "serde_json",
"sp-api",
"sp-block-builder",
- "sp-consensus-aura",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-babe",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-inherents",
- "sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-offchain",
+ "sp-keyring 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-keystore 0.27.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-session",
- "sp-staking",
- "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-transaction-pool",
- "sp-version",
- "static_assertions",
- "substrate-wasm-builder",
+ "sp-statement-store",
+ "sp-timestamp",
+ "sp-transaction-storage-proof",
+ "sp-trie 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "substrate-build-script-utils",
+ "substrate-frame-rpc-system",
+ "substrate-prometheus-endpoint",
+ "substrate-state-trie-migration-rpc",
"tangle-primitives",
+ "tangle-runtime",
+ "tangle-testnet-runtime",
+ "tokio",
+ "wasmer",
+ "webb-consensus-types",
+ "webb-proposals 0.8.0",
]
[[package]]
@@ -15696,7 +15074,7 @@ dependencies = [
"serde",
"smallvec",
"sp-arithmetic 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-consensus-aura",
+ "sp-consensus-babe",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
@@ -15726,87 +15104,100 @@ dependencies = [
]
[[package]]
-name = "tangle-standalone"
+name = "tangle-runtime"
version = "0.5.0"
dependencies = [
- "clap 4.4.10",
- "fc-api",
- "fc-cli",
- "fc-consensus",
- "fc-db",
- "fc-mapping-sync",
- "fc-rpc",
- "fc-rpc-core",
- "fc-storage",
+ "evm-tracer",
"fp-account",
- "fp-dynamic-fee",
"fp-evm",
"fp-rpc",
+ "fp-self-contained",
"frame-benchmarking",
- "frame-benchmarking-cli",
+ "frame-election-provider-support",
+ "frame-executive",
+ "frame-support",
"frame-system",
- "futures 0.3.29",
- "hex",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
"hex-literal",
- "jsonrpsee",
"log",
- "pallet-eth2-light-client-relayer-gadget",
- "pallet-eth2-light-client-relayer-gadget-cli",
+ "num_enum 0.5.11",
+ "pallet-airdrop-claims",
+ "pallet-authorship",
+ "pallet-babe",
+ "pallet-bags-list",
+ "pallet-balances",
+ "pallet-base-fee",
+ "pallet-bounties",
+ "pallet-child-bounties",
+ "pallet-collective",
+ "pallet-democracy",
+ "pallet-dynamic-fee",
+ "pallet-election-provider-multi-phase",
+ "pallet-elections-phragmen",
+ "pallet-eth2-light-client",
+ "pallet-ethereum",
+ "pallet-evm",
+ "pallet-evm-chain-id",
+ "pallet-evm-precompile-batch",
+ "pallet-evm-precompile-blake2",
+ "pallet-evm-precompile-bn128",
+ "pallet-evm-precompile-call-permit",
+ "pallet-evm-precompile-curve25519",
+ "pallet-evm-precompile-democracy",
+ "pallet-evm-precompile-dispatch",
+ "pallet-evm-precompile-ed25519",
+ "pallet-evm-precompile-modexp",
+ "pallet-evm-precompile-preimage",
+ "pallet-evm-precompile-proxy",
+ "pallet-evm-precompile-registry",
+ "pallet-evm-precompile-sha3fips",
+ "pallet-evm-precompile-simple",
+ "pallet-evm-precompile-staking",
+ "pallet-grandpa",
+ "pallet-hotfix-sufficients",
+ "pallet-identity",
"pallet-im-online",
+ "pallet-indices",
+ "pallet-insecure-randomness-collective-flip",
+ "pallet-nomination-pools",
+ "pallet-offences",
+ "pallet-preimage",
+ "pallet-proxy",
+ "pallet-scheduler",
+ "pallet-session",
+ "pallet-staking",
+ "pallet-staking-reward-curve",
+ "pallet-sudo",
+ "pallet-timestamp",
+ "pallet-transaction-pause",
"pallet-transaction-payment",
- "pallet-transaction-payment-rpc",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "pallet-treasury",
+ "pallet-utility",
+ "pallet-vesting",
"parity-scale-codec",
- "primitives-ext",
- "rand 0.7.3",
- "rpc-debug",
+ "precompile-utils",
"rpc-primitives-debug",
"rpc-primitives-txpool",
- "rpc-trace",
- "rpc-txpool",
- "sc-basic-authorship",
- "sc-chain-spec",
- "sc-cli",
- "sc-client-api",
- "sc-consensus",
- "sc-consensus-aura",
- "sc-consensus-grandpa",
- "sc-consensus-manual-seal",
- "sc-executor",
- "sc-keystore",
- "sc-network",
- "sc-network-sync",
- "sc-offchain",
- "sc-rpc",
- "sc-rpc-api",
- "sc-service",
- "sc-telemetry",
- "sc-transaction-pool",
- "sc-transaction-pool-api",
- "serde_json",
+ "scale-info",
+ "serde",
"sp-api",
- "sp-application-crypto 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-block-builder",
- "sp-blockchain",
- "sp-consensus-aura",
+ "sp-consensus-babe",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-inherents",
- "sp-keyring 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-keystore 0.27.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-offchain",
"sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "sp-timestamp",
- "sp-trie 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
- "substrate-build-script-utils",
- "substrate-frame-rpc-system",
- "substrate-prometheus-endpoint",
- "tangle-mainnet-runtime",
+ "sp-session",
+ "sp-staking",
+ "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
+ "sp-transaction-pool",
+ "sp-version",
+ "static_assertions",
+ "substrate-wasm-builder",
"tangle-primitives",
- "tangle-relayer-gadget",
- "tangle-relayer-gadget-cli",
- "tangle-testnet-runtime",
- "tokio 1.34.0",
- "wasmer",
- "webb-consensus-types",
- "webb-proposals 0.8.0",
]
[[package]]
@@ -15829,8 +15220,8 @@ dependencies = [
"log",
"num_enum 0.5.11",
"pallet-airdrop-claims",
- "pallet-aura",
"pallet-authorship",
+ "pallet-babe",
"pallet-bags-list",
"pallet-balances",
"pallet-base-fee",
@@ -15895,7 +15286,7 @@ dependencies = [
"serde",
"sp-api",
"sp-block-builder",
- "sp-consensus-aura",
+ "sp-consensus-babe",
"sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
"sp-inherents",
"sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0)",
@@ -15920,7 +15311,7 @@ dependencies = [
"hex",
"serde",
"serde_json",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"webb 0.8.2",
]
@@ -15958,7 +15349,7 @@ checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
dependencies = [
"dirs-next",
"rustversion",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -16076,7 +15467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
dependencies = [
"deranged",
- "itoa 1.0.9",
+ "itoa",
"powerfmt",
"serde",
"time-core",
@@ -16151,23 +15542,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-[[package]]
-name = "tokio"
-version = "0.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "iovec",
- "lazy_static",
- "memchr",
- "mio 0.6.23",
- "pin-project-lite 0.1.12",
- "slab",
-]
-
[[package]]
name = "tokio"
version = "1.34.0"
@@ -16175,9 +15549,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
"backtrace",
- "bytes 1.5.0",
+ "bytes",
"libc",
- "mio 0.8.9",
+ "mio",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite 0.2.13",
@@ -16205,7 +15579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -16215,7 +15589,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls 0.21.9",
- "tokio 1.34.0",
+ "tokio",
]
[[package]]
@@ -16226,21 +15600,8 @@ checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
dependencies = [
"futures-core",
"pin-project-lite 0.2.13",
- "tokio 1.34.0",
- "tokio-util 0.7.10",
-]
-
-[[package]]
-name = "tokio-tungstenite"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d9e878ad426ca286e4dcae09cbd4e1973a7f8987d97570e2469703dd7f5720c"
-dependencies = [
- "futures-util",
- "log",
- "pin-project 0.4.30",
- "tokio 0.2.25",
- "tungstenite 0.11.1",
+ "tokio",
+ "tokio-util",
]
[[package]]
@@ -16252,38 +15613,24 @@ dependencies = [
"futures-util",
"log",
"rustls 0.21.9",
- "tokio 1.34.0",
+ "tokio",
"tokio-rustls",
- "tungstenite 0.20.1",
+ "tungstenite",
"webpki-roots 0.25.3",
]
-[[package]]
-name = "tokio-util"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
-dependencies = [
- "bytes 0.5.6",
- "futures-core",
- "futures-sink",
- "log",
- "pin-project-lite 0.1.12",
- "tokio 0.2.25",
-]
-
[[package]]
name = "tokio-util"
version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"futures-core",
"futures-io",
"futures-sink",
"pin-project-lite 0.2.13",
- "tokio 1.34.0",
+ "tokio",
"tracing",
]
@@ -16374,9 +15721,9 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
dependencies = [
"futures-core",
"futures-util",
- "pin-project 1.1.3",
+ "pin-project",
"pin-project-lite 0.2.13",
- "tokio 1.34.0",
+ "tokio",
"tower-layer",
"tower-service",
"tracing",
@@ -16389,11 +15736,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
dependencies = [
"bitflags 2.4.1",
- "bytes 1.5.0",
+ "bytes",
"futures-core",
"futures-util",
"http",
- "http-body 0.4.5",
+ "http-body",
"http-range-header",
"pin-project-lite 0.2.13",
"tower-layer",
@@ -16452,7 +15799,7 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
- "pin-project 1.1.3",
+ "pin-project",
"tracing",
]
@@ -16552,19 +15899,6 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "trie-db"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908"
-dependencies = [
- "hash-db 0.15.2",
- "hashbrown 0.12.3",
- "log",
- "rustc-hex",
- "smallvec",
-]
-
[[package]]
name = "trie-db"
version = "0.27.1"
@@ -16578,15 +15912,6 @@ dependencies = [
"smallvec",
]
-[[package]]
-name = "trie-root"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891"
-dependencies = [
- "hash-db 0.15.2",
-]
-
[[package]]
name = "trie-root"
version = "0.18.0"
@@ -16627,7 +15952,7 @@ dependencies = [
"socket2 0.4.10",
"thiserror",
"tinyvec",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"url",
]
@@ -16647,7 +15972,7 @@ dependencies = [
"resolv-conf",
"smallvec",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"trust-dns-proto",
]
@@ -16679,25 +16004,6 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df"
-[[package]]
-name = "tungstenite"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0308d80d86700c5878b9ef6321f020f29b1bb9d5ff3cab25e75e23f3a492a23"
-dependencies = [
- "base64 0.12.3",
- "byteorder",
- "bytes 0.5.6",
- "http",
- "httparse",
- "input_buffer",
- "log",
- "rand 0.7.3",
- "sha-1",
- "url",
- "utf-8",
-]
-
[[package]]
name = "tungstenite"
version = "0.20.1"
@@ -16705,7 +16011,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
dependencies = [
"byteorder",
- "bytes 1.5.0",
+ "bytes",
"data-encoding",
"http",
"httparse",
@@ -16733,26 +16039,17 @@ dependencies = [
"ring 0.16.20",
"stun",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webrtc-util",
]
-[[package]]
-name = "twoway"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "twox-hash"
version = "1.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if 0.1.10",
"digest 0.10.7",
"rand 0.8.5",
"static_assertions",
@@ -16889,15 +16186,6 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
-[[package]]
-name = "unicase"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
-dependencies = [
- "version_check",
-]
-
[[package]]
name = "unicode-bidi"
version = "0.3.13"
@@ -16970,7 +16258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105"
dependencies = [
"asynchronous-codec",
- "bytes 1.5.0",
+ "bytes",
"futures-io",
"futures-util",
]
@@ -16999,12 +16287,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "urlencoding"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a1f0175e03a0973cf4afd476bef05c26e228520400eb1fd473ad417b1c00ffb"
-
[[package]]
name = "utf-8"
version = "0.7.6"
@@ -17100,34 +16382,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "warp"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f41be6df54c97904af01aa23e613d4521eed7ab23537cede692d4058f6449407"
-dependencies = [
- "bytes 0.5.6",
- "futures 0.3.29",
- "headers",
- "http",
- "hyper 0.13.10",
- "log",
- "mime",
- "mime_guess",
- "multipart",
- "pin-project 0.4.30",
- "scoped-tls",
- "serde",
- "serde_json",
- "serde_urlencoded 0.6.1",
- "tokio 0.2.25",
- "tokio-tungstenite 0.11.0",
- "tower-service",
- "tracing",
- "tracing-futures",
- "urlencoding",
-]
-
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
@@ -17303,7 +16557,7 @@ dependencies = [
"wasmer-types",
"wasmer-vm",
"wat",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -17435,7 +16689,7 @@ dependencies = [
"wasmer-engine-universal-artifact",
"wasmer-types",
"wasmer-vm",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -17507,18 +16761,7 @@ dependencies = [
"thiserror",
"wasmer-artifact",
"wasmer-types",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "wasmi"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422"
-dependencies = [
- "parity-wasm",
- "wasmi-validation",
- "wasmi_core 0.2.1",
+ "winapi",
]
[[package]]
@@ -17531,38 +16774,16 @@ dependencies = [
"smallvec",
"spin 0.9.8",
"wasmi_arena",
- "wasmi_core 0.12.0",
+ "wasmi_core",
"wasmparser-nostd",
]
-[[package]]
-name = "wasmi-validation"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b"
-dependencies = [
- "parity-wasm",
-]
-
[[package]]
name = "wasmi_arena"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468"
-[[package]]
-name = "wasmi_core"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7"
-dependencies = [
- "downcast-rs",
- "libm",
- "memory_units",
- "num-rational",
- "num-traits",
-]
-
[[package]]
name = "wasmi_core"
version = "0.12.0"
@@ -17581,16 +16802,6 @@ version = "0.83.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a"
-[[package]]
-name = "wasmparser"
-version = "0.96.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adde01ade41ab9a5d10ec8ed0bb954238cf8625b5cd5a13093d6de2ad9c2be1a"
-dependencies = [
- "indexmap 1.9.3",
- "url",
-]
-
[[package]]
name = "wasmparser"
version = "0.102.0"
@@ -17610,31 +16821,6 @@ dependencies = [
"indexmap-nostd",
]
-[[package]]
-name = "wasmtime"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49ffcc607adc9da024e87ca814592d4bc67f5c5b58e488f5608d5734a1ebc23e"
-dependencies = [
- "anyhow",
- "bincode",
- "cfg-if 1.0.0",
- "indexmap 1.9.3",
- "libc",
- "log",
- "object 0.29.0",
- "once_cell",
- "paste",
- "psm",
- "serde",
- "target-lexicon",
- "wasmparser 0.96.0",
- "wasmtime-environ 5.0.1",
- "wasmtime-jit 5.0.1",
- "wasmtime-runtime 5.0.1",
- "windows-sys 0.42.0",
-]
-
[[package]]
name = "wasmtime"
version = "8.0.1"
@@ -17657,21 +16843,12 @@ dependencies = [
"wasmparser 0.102.0",
"wasmtime-cache",
"wasmtime-cranelift",
- "wasmtime-environ 8.0.1",
- "wasmtime-jit 8.0.1",
- "wasmtime-runtime 8.0.1",
+ "wasmtime-environ",
+ "wasmtime-jit",
+ "wasmtime-runtime",
"windows-sys 0.45.0",
]
-[[package]]
-name = "wasmtime-asm-macros"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cb5dc4d79cd7b2453c395f64e9013d2ad90bd083be556d5565cb224ebe8d57"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
[[package]]
name = "wasmtime-asm-macros"
version = "8.0.1"
@@ -17720,7 +16897,7 @@ dependencies = [
"thiserror",
"wasmparser 0.102.0",
"wasmtime-cranelift-shared",
- "wasmtime-environ 8.0.1",
+ "wasmtime-environ",
]
[[package]]
@@ -17735,26 +16912,7 @@ dependencies = [
"gimli 0.27.3",
"object 0.30.4",
"target-lexicon",
- "wasmtime-environ 8.0.1",
-]
-
-[[package]]
-name = "wasmtime-environ"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9350c919553cddf14f78f9452119c8004d7ef6bfebb79a41a21819ed0c5604d8"
-dependencies = [
- "anyhow",
- "cranelift-entity 0.92.1",
- "gimli 0.26.2",
- "indexmap 1.9.3",
- "log",
- "object 0.29.0",
- "serde",
- "target-lexicon",
- "thiserror",
- "wasmparser 0.96.0",
- "wasmtime-types 5.0.1",
+ "wasmtime-environ",
]
[[package]]
@@ -17773,30 +16931,7 @@ dependencies = [
"target-lexicon",
"thiserror",
"wasmparser 0.102.0",
- "wasmtime-types 8.0.1",
-]
-
-[[package]]
-name = "wasmtime-jit"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ba5779ea786386432b94c9fc9ad5597346c319e8239db0d98d5be5cc109a7e"
-dependencies = [
- "addr2line 0.17.0",
- "anyhow",
- "bincode",
- "cfg-if 1.0.0",
- "cpp_demangle",
- "gimli 0.26.2",
- "log",
- "object 0.29.0",
- "rustc-demangle",
- "serde",
- "target-lexicon",
- "wasmtime-environ 5.0.1",
- "wasmtime-jit-icache-coherence 5.0.1",
- "wasmtime-runtime 5.0.1",
- "windows-sys 0.42.0",
+ "wasmtime-types",
]
[[package]]
@@ -17816,22 +16951,13 @@ dependencies = [
"rustc-demangle",
"serde",
"target-lexicon",
- "wasmtime-environ 8.0.1",
- "wasmtime-jit-debug 8.0.1",
- "wasmtime-jit-icache-coherence 8.0.1",
- "wasmtime-runtime 8.0.1",
+ "wasmtime-environ",
+ "wasmtime-jit-debug",
+ "wasmtime-jit-icache-coherence",
+ "wasmtime-runtime",
"windows-sys 0.45.0",
]
-[[package]]
-name = "wasmtime-jit-debug"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9841a44c82c74101c10ad4f215392761a2523b3c6c838597962bdb6de75fdb3"
-dependencies = [
- "once_cell",
-]
-
[[package]]
name = "wasmtime-jit-debug"
version = "8.0.1"
@@ -17843,17 +16969,6 @@ dependencies = [
"rustix 0.36.17",
]
-[[package]]
-name = "wasmtime-jit-icache-coherence"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4356c2493002da3b111d470c2ecea65a3017009afce8adc46eaa5758739891"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "windows-sys 0.42.0",
-]
-
[[package]]
name = "wasmtime-jit-icache-coherence"
version = "8.0.1"
@@ -17865,30 +16980,6 @@ dependencies = [
"windows-sys 0.45.0",
]
-[[package]]
-name = "wasmtime-runtime"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd26efea7a790fcf430e663ba2519f0ab6eb8980adf8b0c58c62b727da77c2ec"
-dependencies = [
- "anyhow",
- "cc",
- "cfg-if 1.0.0",
- "indexmap 1.9.3",
- "libc",
- "log",
- "mach",
- "memfd",
- "memoffset 0.6.5",
- "paste",
- "rand 0.8.5",
- "rustix 0.36.17",
- "wasmtime-asm-macros 5.0.1",
- "wasmtime-environ 5.0.1",
- "wasmtime-jit-debug 5.0.1",
- "windows-sys 0.42.0",
-]
-
[[package]]
name = "wasmtime-runtime"
version = "8.0.1"
@@ -17907,24 +16998,12 @@ dependencies = [
"paste",
"rand 0.8.5",
"rustix 0.36.17",
- "wasmtime-asm-macros 8.0.1",
- "wasmtime-environ 8.0.1",
- "wasmtime-jit-debug 8.0.1",
+ "wasmtime-asm-macros",
+ "wasmtime-environ",
+ "wasmtime-jit-debug",
"windows-sys 0.45.0",
]
-[[package]]
-name = "wasmtime-types"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86e1e4f66a2b9a114f9def450ab9971828c968db6ea6fccd613724b771fa4913"
-dependencies = [
- "cranelift-entity 0.92.1",
- "serde",
- "thiserror",
- "wasmparser 0.96.0",
-]
-
[[package]]
name = "wasmtime-types"
version = "8.0.1"
@@ -18036,7 +17115,7 @@ dependencies = [
"futures 0.3.29",
"hex",
"hex-literal",
- "tokio 1.34.0",
+ "tokio",
"typed-builder 0.16.2",
"webb 0.8.2",
"webb-proposals 0.6.0",
@@ -18102,7 +17181,7 @@ dependencies = [
"reqwest",
"serde",
"serde_json",
- "tokio 1.34.0",
+ "tokio",
"toml 0.5.11",
"tree_hash",
"types",
@@ -18136,7 +17215,7 @@ dependencies = [
"serde_json",
"sp-keyring 24.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"subxt 0.29.0",
- "tokio 1.34.0",
+ "tokio",
"toml 0.5.11",
"types",
"webb 0.7.4",
@@ -18179,7 +17258,7 @@ dependencies = [
"native-tls",
"sled",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"webb 0.8.2",
"webb-proposals 0.6.0",
@@ -18198,7 +17277,7 @@ dependencies = [
"ethereum-types 0.14.1",
"hex",
"sled",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"webb 0.8.2",
"webb-event-watcher-traits",
@@ -18226,7 +17305,7 @@ dependencies = [
"native-tls",
"serde_json",
"sled",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"typed-builder 0.16.2",
"webb 0.8.2",
@@ -18239,33 +17318,6 @@ dependencies = [
"webb-relayer-utils",
]
-[[package]]
-name = "webb-finality-update-verify"
-version = "0.2.0-dev"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "anyhow",
- "bitvec",
- "eth-types",
- "serde",
- "webb-bls",
- "webb-consensus-types",
- "webb-tree-hash",
-]
-
-[[package]]
-name = "webb-lc-relay-config"
-version = "0.2.0-dev"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "dotenvy",
- "reqwest",
- "serde",
- "toml 0.5.11",
- "webb-eth-rpc-client",
- "webb-eth2-pallet-init",
-]
-
[[package]]
name = "webb-lc-relay-types"
version = "0.2.0-dev"
@@ -18276,25 +17328,12 @@ dependencies = [
"reqwest",
"serde",
"serde_json",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"typed-builder 0.16.2",
"webb 0.7.4",
]
-[[package]]
-name = "webb-lc-relayer-context"
-version = "0.2.0-dev"
-source = "git+https://github.com/webb-tools/pallet-eth2-light-client?tag=v0.5.0#0ac997902435ed0bebfd03fbb0dccc0473b8d621"
-dependencies = [
- "anyhow",
- "subxt 0.29.0",
- "tokio 1.34.0",
- "tracing",
- "webb-eth2-pallet-init",
- "webb-lc-relay-config",
-]
-
[[package]]
name = "webb-light-client-primitives"
version = "0.1.0"
@@ -18361,7 +17400,7 @@ dependencies = [
"parking_lot 0.12.1",
"sled",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"typed-builder 0.16.2",
"webb 0.8.2",
@@ -18415,7 +17454,7 @@ dependencies = [
"serde_json",
"sled",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tower-http",
"tracing",
"url",
@@ -18471,7 +17510,7 @@ dependencies = [
"serde",
"serde_json",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"url",
"webb 0.8.2",
@@ -18490,7 +17529,7 @@ source = "git+https://github.com/webb-tools/relayer?branch=develop#e71db7888b2ae
dependencies = [
"native-tls",
"serde",
- "tokio 1.34.0",
+ "tokio",
"webb 0.8.2",
"webb-relayer-store",
"webb-relayer-tx-relay-utils",
@@ -18510,7 +17549,7 @@ dependencies = [
"serde",
"serde_json",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tokio-stream",
"tracing",
"webb 0.8.2",
@@ -18553,7 +17592,7 @@ dependencies = [
"rand 0.8.5",
"sled",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"url",
"webb 0.8.2",
@@ -18573,7 +17612,7 @@ dependencies = [
"once_cell",
"serde",
"subxt-signer",
- "tokio 1.34.0",
+ "tokio",
"tracing",
"webb 0.8.2",
"webb-chains-info",
@@ -18626,9 +17665,9 @@ dependencies = [
"futures 0.3.29",
"glob",
"hex",
- "hyper 0.14.27",
+ "hyper",
"libsecp256k1",
- "prometheus 0.13.3",
+ "prometheus",
"reqwest",
"serde",
"serde_bytes",
@@ -18709,7 +17748,7 @@ checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb"
dependencies = [
"arc-swap",
"async-trait",
- "bytes 1.5.0",
+ "bytes",
"hex",
"interceptor",
"lazy_static",
@@ -18728,7 +17767,7 @@ dependencies = [
"stun",
"thiserror",
"time",
- "tokio 1.34.0",
+ "tokio",
"turn",
"url",
"waitgroup",
@@ -18748,11 +17787,11 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100"
dependencies = [
- "bytes 1.5.0",
+ "bytes",
"derive_builder",
"log",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webrtc-sctp",
"webrtc-util",
]
@@ -18790,7 +17829,7 @@ dependencies = [
"signature 1.6.4",
"subtle",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webpki 0.21.4",
"webrtc-util",
"x25519-dalek 2.0.0",
@@ -18812,7 +17851,7 @@ dependencies = [
"serde_json",
"stun",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"turn",
"url",
"uuid 1.6.1",
@@ -18830,7 +17869,7 @@ dependencies = [
"log",
"socket2 0.4.10",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webrtc-util",
]
@@ -18841,7 +17880,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991"
dependencies = [
"byteorder",
- "bytes 1.5.0",
+ "bytes",
"rand 0.8.5",
"rtp",
"thiserror",
@@ -18855,12 +17894,12 @@ checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0"
dependencies = [
"arc-swap",
"async-trait",
- "bytes 1.5.0",
+ "bytes",
"crc",
"log",
"rand 0.8.5",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webrtc-util",
]
@@ -18875,7 +17914,7 @@ dependencies = [
"aes-gcm 0.9.4",
"async-trait",
"byteorder",
- "bytes 1.5.0",
+ "bytes",
"ctr 0.8.0",
"hmac 0.11.0",
"log",
@@ -18884,7 +17923,7 @@ dependencies = [
"sha-1",
"subtle",
"thiserror",
- "tokio 1.34.0",
+ "tokio",
"webrtc-util",
]
@@ -18896,7 +17935,7 @@ checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87"
dependencies = [
"async-trait",
"bitflags 1.3.2",
- "bytes 1.5.0",
+ "bytes",
"cc",
"ipnet",
"lazy_static",
@@ -18905,8 +17944,8 @@ dependencies = [
"nix",
"rand 0.8.5",
"thiserror",
- "tokio 1.34.0",
- "winapi 0.3.9",
+ "tokio",
+ "winapi",
]
[[package]]
@@ -18937,12 +17976,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
[[package]]
name = "winapi"
version = "0.3.9"
@@ -18953,12 +17986,6 @@ dependencies = [
"winapi-x86_64-pc-windows-gnu",
]
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
@@ -18971,7 +17998,7 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -19012,21 +18039,6 @@ dependencies = [
"windows_x86_64_msvc 0.33.0",
]
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
[[package]]
name = "windows-sys"
version = "0.45.0"
@@ -19274,16 +18286,6 @@ dependencies = [
"windows-sys 0.48.0",
]
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
[[package]]
name = "ws_stream_wasm"
version = "0.7.4"
diff --git a/Cargo.toml b/Cargo.toml
index d7d172634..a4b35b4d8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -77,7 +77,7 @@ tangle-relayer-gadget = { packge = "tangle-relayer-gadget", path = "relayer-gadg
tangle-relayer-gadget-cli = { packge = "tangle-relayer-gadget-cli", path = "relayer-gadget/cli" }
tangle-testnet-runtime = { package = "tangle-testnet-runtime", path = "runtime/testnet" }
-tangle-mainnet-runtime = { package = "tangle-mainnet-runtime", path = "runtime/mainnet" }
+tangle-runtime = { package = "tangle-runtime", path = "runtime/mainnet" }
# Arkworks
ark-ec = { version = "^0.4.0", default-features = false }
@@ -105,7 +105,7 @@ pallet-zksaas = { path = "pallets/zksaas", default-features = false }
# Substrate dependencies
sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
-sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
@@ -114,6 +114,8 @@ sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "re
sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sp-statement-store = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sc-statement-store = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
@@ -135,6 +137,7 @@ sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "
sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sc-network-statement = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
frame-election-provider-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
@@ -144,12 +147,14 @@ frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "r
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sc-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
-sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sc-storage-monitor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
frame-rpc-system = { default-features = false, package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
@@ -162,10 +167,19 @@ try-runtime-cli = { default-features = false, git = "https://github.com/parityte
sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
+sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" }
sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sp-transaction-storage-proof = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sc-consensus-babe-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+mmr-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sc-rpc-spec-v2 = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+sc-sync-state-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
-pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
+pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
pallet-bags-list = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0", default-features = false }
diff --git a/README.md b/README.md
index dd667508b..1dfd8bd58 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@ If you want to use Nix for development, please follow following instructions
Run Standalone Local Testnet
-1. Build `tangle-standalone` node.
+1. Build `tangle` node.
```bash
cargo build --release
```
diff --git a/RELAYER.md b/RELAYER.md
index 734a9fc6b..995395240 100644
--- a/RELAYER.md
+++ b/RELAYER.md
@@ -8,7 +8,7 @@ which is totally OK if you are not looking into running the webb relayer gadget.
1. Compile the tangle standalone node with relayer feature
```sh
-cargo build --release -p tangle-standalone --features relayer
+cargo build --release -p tangle --features relayer
```
2. Create your .env file to store your secrets (during the development)
@@ -75,7 +75,7 @@ events-watcher = { enabled = true, polling-interval = 3000, print-progress-inter
5. Start Tangle Node with the relayer config.
```sh
-./target/release/tangle-standalone --tmp --chain local --validator --alice --rpc-cors all --rpc-methods=unsafe --rpc-port 9944 --relayer-config-dir ./relayer-config
+./target/release/tangle --tmp --chain local --validator --alice --rpc-cors all --rpc-methods=unsafe --rpc-port 9944 --relayer-config-dir ./relayer-config
```
Now, you should notice that the error about not starting the relayer gadget is gone, and to verify everything is working
diff --git a/chainspecs/testnet/tangle-standalone.json b/chainspecs/testnet/tangle-standalone.json
index 08325091e..aa1dc7ce8 100644
--- a/chainspecs/testnet/tangle-standalone.json
+++ b/chainspecs/testnet/tangle-standalone.json
@@ -1,6 +1,6 @@
{
"name": "Tangle Standalone Testnet",
- "id": "tangle-standalone-testnet",
+ "id": "tangle-testnet",
"chainType": "Development",
"bootNodes": [
"/ip4/3.22.222.30/tcp/30333/p2p/12D3KooWRdvZ3PRteq8DC78Z3z5ZiehipKrKhHDRpgvCjc8XSeQx",
diff --git a/dkg-liveness-test/.envrc b/dkg-liveness-test/.envrc
deleted file mode 100644
index 4f721ca2c..000000000
--- a/dkg-liveness-test/.envrc
+++ /dev/null
@@ -1,5 +0,0 @@
-source_env_if_exists ../.envrc
-dotenv_if_exists
-layout node
-
-# vi: ft=sh
diff --git a/dkg-liveness-test/index.js b/dkg-liveness-test/index.js
deleted file mode 100644
index 88c1fb3b5..000000000
--- a/dkg-liveness-test/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Import the API
-const { ApiPromise, WsProvider } = require("@polkadot/api");
-var assert = require("assert");
-
-async function main() {
- // Initialise the provider to connect to the local node
- try {
- const provider = new WsProvider("ws://127.0.0.1:9944");
- console.log(provider.isConnected);
-
- // Create the API and wait until ready
- const api = await ApiPromise.create({ provider });
-
- // Make our basic chain state/storage queries, all in one go
- const [
- current_block,
- current_session,
- keygenThreshold,
- signatureThreshold,
- lastSessionRotationBlock,
- jailedKeygenAuthorities,
- jailedSigningAuthorities,
- ] = await Promise.all([
- api.query.system.number(),
- api.query.session.currentIndex(),
- api.query.dkg.keygenThreshold(),
- api.query.dkg.signatureThreshold(),
- api.query.dkg.lastSessionRotationBlock(),
- api.query.dkg.jailedKeygenAuthorities.entries(),
- api.query.dkg.jailedSigningAuthorities.entries(),
- ]);
-
- if (current_block > 0) {
- console.log("Network produces blocks : ", current_block);
- if (lastSessionRotationBlock > 0) {
- console.log("DKG has rotated : ", lastSessionRotationBlock);
- // ensure all params are normal
- assert(jailedKeygenAuthorities.entries().length == 0);
- assert(jailedSigningAuthorities.entries().length == 0);
- assert(current_session != 0);
- process.exit(0);
- }
- process.exit(0);
- }
- } catch (err) {
- console.log("exiting due to error : ", err);
- process.exit(1);
- }
-}
-
-main().catch(console.error);
diff --git a/dkg-liveness-test/package.json b/dkg-liveness-test/package.json
deleted file mode 100644
index eae16fb36..000000000
--- a/dkg-liveness-test/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "dkg-liveness-test",
- "version": "1.0.0",
- "description": "",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/webb-tools/tangle-deployer.git"
- },
- "author": "",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/webb-tools/tangle-deployer/issues"
- },
- "homepage": "https://github.com/webb-tools/tangle-deployer#readme",
- "dependencies": {
- "@polkadot/api": "^9.11.3",
- "@slack/webhook": "^6.1.0",
- "assert": "^2.0.0",
- "dotenv": "^16.0.3"
- }
-}
diff --git a/dkg-liveness-test/yarn.lock b/dkg-liveness-test/yarn.lock
deleted file mode 100644
index 1f419ceb3..000000000
--- a/dkg-liveness-test/yarn.lock
+++ /dev/null
@@ -1,895 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6":
- "integrity" "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw=="
- "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz"
- "version" "7.21.0"
- dependencies:
- "regenerator-runtime" "^0.13.11"
-
-"@noble/hashes@1.2.0":
- "integrity" "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ=="
- "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz"
- "version" "1.2.0"
-
-"@noble/secp256k1@1.7.1":
- "integrity" "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw=="
- "resolved" "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz"
- "version" "1.7.1"
-
-"@polkadot/api-augment@9.14.2":
- "integrity" "sha512-19MmW8AHEcLkdcUIo3LLk0eCQgREWqNSxkUyOeWn7UiNMY1AhDOOwMStUBNCvrIDK6VL6GGc1sY7rkPCLMuKSw=="
- "resolved" "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/api-base" "9.14.2"
- "@polkadot/rpc-augment" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-augment" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/api-base@9.14.2":
- "integrity" "sha512-ky9fmzG1Tnrjr/SBZ0aBB21l0TFr+CIyQenQczoUyVgiuxVaI/2Bp6R2SFrHhG28P+PW2/RcYhn2oIAR2Z2fZQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/api-base/-/api-base-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/rpc-core" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "rxjs" "^7.8.0"
-
-"@polkadot/api-derive@9.14.2":
- "integrity" "sha512-yw9OXucmeggmFqBTMgza0uZwhNjPxS7MaT7lSCUIRKckl1GejdV+qMhL3XFxPFeYzXwzFpdPG11zWf+qJlalqw=="
- "resolved" "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/api" "9.14.2"
- "@polkadot/api-augment" "9.14.2"
- "@polkadot/api-base" "9.14.2"
- "@polkadot/rpc-core" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "@polkadot/util-crypto" "^10.4.2"
- "rxjs" "^7.8.0"
-
-"@polkadot/api@^9.11.3", "@polkadot/api@9.14.2":
- "integrity" "sha512-R3eYFj2JgY1zRb+OCYQxNlJXCs2FA+AU4uIEiVcXnVLmR3M55tkRNEwYAZmiFxx0pQmegGgPMc33q7TWGdw24A=="
- "resolved" "https://registry.npmjs.org/@polkadot/api/-/api-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/api-augment" "9.14.2"
- "@polkadot/api-base" "9.14.2"
- "@polkadot/api-derive" "9.14.2"
- "@polkadot/keyring" "^10.4.2"
- "@polkadot/rpc-augment" "9.14.2"
- "@polkadot/rpc-core" "9.14.2"
- "@polkadot/rpc-provider" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-augment" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/types-create" "9.14.2"
- "@polkadot/types-known" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "@polkadot/util-crypto" "^10.4.2"
- "eventemitter3" "^5.0.0"
- "rxjs" "^7.8.0"
-
-"@polkadot/keyring@^10.4.2":
- "integrity" "sha512-7iHhJuXaHrRTG6cJDbZE9G+c1ts1dujp0qbO4RfAPmT7YUvphHvAtCKueN9UKPz5+TYDL+rP/jDEaSKU8jl/qQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/keyring/-/keyring-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/util" "10.4.2"
- "@polkadot/util-crypto" "10.4.2"
-
-"@polkadot/networks@^10.4.2", "@polkadot/networks@10.4.2":
- "integrity" "sha512-FAh/znrEvWBiA/LbcT5GXHsCFUl//y9KqxLghSr/CreAmAergiJNT0MVUezC7Y36nkATgmsr4ylFwIxhVtuuCw=="
- "resolved" "https://registry.npmjs.org/@polkadot/networks/-/networks-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/util" "10.4.2"
- "@substrate/ss58-registry" "^1.38.0"
-
-"@polkadot/rpc-augment@9.14.2":
- "integrity" "sha512-mOubRm3qbKZTbP9H01XRrfTk7k5it9WyzaWAg72DJBQBYdgPUUkGSgpPD/Srkk5/5GAQTWVWL1I2UIBKJ4TJjQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/rpc-core" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/rpc-core@9.14.2":
- "integrity" "sha512-krA/mtQ5t9nUQEsEVC1sjkttLuzN6z6gyJxK2IlpMS3S5ncy/R6w4FOpy+Q0H18Dn83JBo0p7ZtY7Y6XkK48Kw=="
- "resolved" "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/rpc-augment" "9.14.2"
- "@polkadot/rpc-provider" "9.14.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "rxjs" "^7.8.0"
-
-"@polkadot/rpc-provider@9.14.2":
- "integrity" "sha512-YTSywjD5PF01V47Ru5tln2LlpUwJiSOdz6rlJXPpMaY53hUp7+xMU01FVAQ1bllSBNisSD1Msv/mYHq84Oai2g=="
- "resolved" "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/keyring" "^10.4.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-support" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "@polkadot/util-crypto" "^10.4.2"
- "@polkadot/x-fetch" "^10.4.2"
- "@polkadot/x-global" "^10.4.2"
- "@polkadot/x-ws" "^10.4.2"
- "eventemitter3" "^5.0.0"
- "mock-socket" "^9.2.1"
- "nock" "^13.3.0"
- optionalDependencies:
- "@substrate/connect" "0.7.19"
-
-"@polkadot/types-augment@9.14.2":
- "integrity" "sha512-WO9d7RJufUeY3iFgt2Wz762kOu1tjEiGBR5TT4AHtpEchVHUeosVTrN9eycC+BhleqYu52CocKz6u3qCT/jKLg=="
- "resolved" "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/types-codec@9.14.2":
- "integrity" "sha512-AJ4XF7W1no4PENLBRU955V6gDxJw0h++EN3YoDgThozZ0sj3OxyFupKgNBZcZb2V23H8JxQozzIad8k+nJbO1w=="
- "resolved" "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/util" "^10.4.2"
- "@polkadot/x-bigint" "^10.4.2"
-
-"@polkadot/types-create@9.14.2":
- "integrity" "sha512-nSnKpBierlmGBQT8r6/SHf6uamBIzk4WmdMsAsR4uJKJF1PtbIqx2W5PY91xWSiMSNMzjkbCppHkwaDAMwLGaw=="
- "resolved" "https://registry.npmjs.org/@polkadot/types-create/-/types-create-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/types-known@9.14.2":
- "integrity" "sha512-iM8WOCgguzJ3TLMqlm4K1gKQEwWm2zxEKT1HZZ1irs/lAbBk9MquDWDvebryiw3XsLB8xgrp3RTIBn2Q4FjB2A=="
- "resolved" "https://registry.npmjs.org/@polkadot/types-known/-/types-known-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/networks" "^10.4.2"
- "@polkadot/types" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/types-create" "9.14.2"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/types-support@9.14.2":
- "integrity" "sha512-VWCOPgXDK3XtXT7wMLyIWeNDZxUbNcw/8Pn6n6vMogs7o/n4h6WGbGMeTIQhPWyn831/RmkVs5+2DUC+2LlOhw=="
- "resolved" "https://registry.npmjs.org/@polkadot/types-support/-/types-support-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/util" "^10.4.2"
-
-"@polkadot/types@9.14.2":
- "integrity" "sha512-hGLddTiJbvowhhUZJ3k+olmmBc1KAjWIQxujIUIYASih8FQ3/YJDKxaofGOzh0VygOKW3jxQBN2VZPofyDP9KQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/types/-/types-9.14.2.tgz"
- "version" "9.14.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/keyring" "^10.4.2"
- "@polkadot/types-augment" "9.14.2"
- "@polkadot/types-codec" "9.14.2"
- "@polkadot/types-create" "9.14.2"
- "@polkadot/util" "^10.4.2"
- "@polkadot/util-crypto" "^10.4.2"
- "rxjs" "^7.8.0"
-
-"@polkadot/util-crypto@^10.4.2", "@polkadot/util-crypto@10.4.2":
- "integrity" "sha512-RxZvF7C4+EF3fzQv8hZOLrYCBq5+wA+2LWv98nECkroChY3C2ZZvyWDqn8+aonNULt4dCVTWDZM0QIY6y4LUAQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@noble/hashes" "1.2.0"
- "@noble/secp256k1" "1.7.1"
- "@polkadot/networks" "10.4.2"
- "@polkadot/util" "10.4.2"
- "@polkadot/wasm-crypto" "^6.4.1"
- "@polkadot/x-bigint" "10.4.2"
- "@polkadot/x-randomvalues" "10.4.2"
- "@scure/base" "1.1.1"
- "ed2curve" "^0.3.0"
- "tweetnacl" "^1.0.3"
-
-"@polkadot/util@*", "@polkadot/util@^10.4.2", "@polkadot/util@10.4.2":
- "integrity" "sha512-0r5MGICYiaCdWnx+7Axlpvzisy/bi1wZGXgCSw5+ZTyPTOqvsYRqM2X879yxvMsGfibxzWqNzaiVjToz1jvUaA=="
- "resolved" "https://registry.npmjs.org/@polkadot/util/-/util-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-bigint" "10.4.2"
- "@polkadot/x-global" "10.4.2"
- "@polkadot/x-textdecoder" "10.4.2"
- "@polkadot/x-textencoder" "10.4.2"
- "@types/bn.js" "^5.1.1"
- "bn.js" "^5.2.1"
-
-"@polkadot/wasm-bridge@6.4.1":
- "integrity" "sha512-QZDvz6dsUlbYsaMV5biZgZWkYH9BC5AfhT0f0/knv8+LrbAoQdP3Asbvddw8vyU9sbpuCHXrd4bDLBwUCRfrBQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
-
-"@polkadot/wasm-crypto-asmjs@6.4.1":
- "integrity" "sha512-UxZTwuBZlnODGIQdCsE2Sn/jU0O2xrNQ/TkhRFELfkZXEXTNu4lw6NpaKq7Iey4L+wKd8h4lT3VPVkMcPBLOvA=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
-
-"@polkadot/wasm-crypto-init@6.4.1":
- "integrity" "sha512-1ALagSi/nfkyFaH6JDYfy/QbicVbSn99K8PV9rctDUfxc7P06R7CoqbjGQ4OMPX6w1WYVPU7B4jPHGLYBlVuMw=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
- "@polkadot/wasm-bridge" "6.4.1"
- "@polkadot/wasm-crypto-asmjs" "6.4.1"
- "@polkadot/wasm-crypto-wasm" "6.4.1"
-
-"@polkadot/wasm-crypto-wasm@6.4.1":
- "integrity" "sha512-3VV9ZGzh0ZY3SmkkSw+0TRXxIpiO0nB8lFwlRgcwaCihwrvLfRnH9GI8WE12mKsHVjWTEVR3ogzILJxccAUjDA=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
- "@polkadot/wasm-util" "6.4.1"
-
-"@polkadot/wasm-crypto@^6.4.1":
- "integrity" "sha512-FH+dcDPdhSLJvwL0pMLtn/LIPd62QDPODZRCmDyw+pFjLOMaRBc7raomWUOqyRWJTnqVf/iscc2rLVLNMyt7ag=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
- "@polkadot/wasm-bridge" "6.4.1"
- "@polkadot/wasm-crypto-asmjs" "6.4.1"
- "@polkadot/wasm-crypto-init" "6.4.1"
- "@polkadot/wasm-crypto-wasm" "6.4.1"
- "@polkadot/wasm-util" "6.4.1"
-
-"@polkadot/wasm-util@6.4.1":
- "integrity" "sha512-Uwo+WpEsDmFExWC5kTNvsVhvqXMZEKf4gUHXFn4c6Xz4lmieRT5g+1bO1KJ21pl4msuIgdV3Bksfs/oiqMFqlw=="
- "resolved" "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-6.4.1.tgz"
- "version" "6.4.1"
- dependencies:
- "@babel/runtime" "^7.20.6"
-
-"@polkadot/x-bigint@^10.4.2", "@polkadot/x-bigint@10.4.2":
- "integrity" "sha512-awRiox+/XSReLzimAU94fPldowiwnnMUkQJe8AebYhNocAj6SJU00GNoj6j6tAho6yleOwrTJXZaWFBaQVJQNg=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
-
-"@polkadot/x-fetch@^10.4.2":
- "integrity" "sha512-Ubb64yaM4qwhogNP+4mZ3ibRghEg5UuCYRMNaCFoPgNAY8tQXuDKrHzeks3+frlmeH9YRd89o8wXLtWouwZIcw=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
- "@types/node-fetch" "^2.6.2"
- "node-fetch" "^3.3.0"
-
-"@polkadot/x-global@^10.4.2", "@polkadot/x-global@10.4.2":
- "integrity" "sha512-g6GXHD/ykZvHap3M6wh19dO70Zm43l4jEhlxf5LtTo5/0/UporFCXr2YJYZqfbn9JbQwl1AU+NroYio+vtJdiA=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-global/-/x-global-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
-
-"@polkadot/x-randomvalues@*", "@polkadot/x-randomvalues@10.4.2":
- "integrity" "sha512-mf1Wbpe7pRZHO0V3V89isPLqZOy5XGX2bCqsfUWHgb1NvV1MMx5TjVjdaYyNlGTiOkAmJKlOHshcfPU2sYWpNg=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
-
-"@polkadot/x-textdecoder@10.4.2":
- "integrity" "sha512-d3ADduOKUTU+cliz839+KCFmi23pxTlabH7qh7Vs1GZQvXOELWdqFOqakdiAjtMn68n1KVF4O14Y+OUm7gp/zA=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
-
-"@polkadot/x-textencoder@10.4.2":
- "integrity" "sha512-mxcQuA1exnyv74Kasl5vxBq01QwckG088lYjc3KwmND6+pPrW2OWagbxFX5VFoDLDAE+UJtnUHsjdWyOTDhpQA=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
-
-"@polkadot/x-ws@^10.4.2":
- "integrity" "sha512-3gHSTXAWQu1EMcMVTF5QDKHhEHzKxhAArweEyDXE7VsgKUP/ixxw4hVZBrkX122iI5l5mjSiooRSnp/Zl3xqDQ=="
- "resolved" "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-10.4.2.tgz"
- "version" "10.4.2"
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@polkadot/x-global" "10.4.2"
- "@types/websocket" "^1.0.5"
- "websocket" "^1.0.34"
-
-"@scure/base@1.1.1":
- "integrity" "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="
- "resolved" "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz"
- "version" "1.1.1"
-
-"@slack/types@^1.2.1":
- "integrity" "sha512-tA7GG7Tj479vojfV3AoxbckalA48aK6giGjNtgH6ihpLwTyHE3fIgRrvt8TWfLwW8X8dyu7vgmAsGLRG7hWWOg=="
- "resolved" "https://registry.npmjs.org/@slack/types/-/types-1.10.0.tgz"
- "version" "1.10.0"
-
-"@slack/webhook@^6.1.0":
- "integrity" "sha512-7AYNISyAjn/lA/VDwZ307K5ft5DojXgBd3DRrGoFN8XxIwIyRALdFhxBiMgAqeJH8eWoktvNwLK24R9hREEqpA=="
- "resolved" "https://registry.npmjs.org/@slack/webhook/-/webhook-6.1.0.tgz"
- "version" "6.1.0"
- dependencies:
- "@slack/types" "^1.2.1"
- "@types/node" ">=12.0.0"
- "axios" "^0.21.4"
-
-"@substrate/connect-extension-protocol@^1.0.1":
- "integrity" "sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg=="
- "resolved" "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz"
- "version" "1.0.1"
-
-"@substrate/connect@0.7.19":
- "integrity" "sha512-+DDRadc466gCmDU71sHrYOt1HcI2Cbhm7zdCFjZfFVHXhC/E8tOdrVSglAH2HDEHR0x2SiHRxtxOGC7ak2Zjog=="
- "resolved" "https://registry.npmjs.org/@substrate/connect/-/connect-0.7.19.tgz"
- "version" "0.7.19"
- dependencies:
- "@substrate/connect-extension-protocol" "^1.0.1"
- "@substrate/smoldot-light" "0.7.9"
- "eventemitter3" "^4.0.7"
-
-"@substrate/smoldot-light@0.7.9":
- "integrity" "sha512-HP8iP7sFYlpSgjjbo0lqHyU+gu9lL2hbDNce6dWk5/10mFFF9jKIFGfui4zCecUY808o/Go9pan/31kMJoLbug=="
- "resolved" "https://registry.npmjs.org/@substrate/smoldot-light/-/smoldot-light-0.7.9.tgz"
- "version" "0.7.9"
- dependencies:
- "pako" "^2.0.4"
- "ws" "^8.8.1"
-
-"@substrate/ss58-registry@^1.38.0":
- "integrity" "sha512-qZYpuE6n+mwew+X71dOur/CbMXj6rNW27o63JeJwdQH/GvcSKm3JLNhd+bGzwUKg0D/zD30Qc6p4JykArzM+tA=="
- "resolved" "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.39.0.tgz"
- "version" "1.39.0"
-
-"@types/bn.js@^5.1.1":
- "integrity" "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g=="
- "resolved" "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz"
- "version" "5.1.1"
- dependencies:
- "@types/node" "*"
-
-"@types/node-fetch@^2.6.2":
- "integrity" "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A=="
- "resolved" "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz"
- "version" "2.6.2"
- dependencies:
- "@types/node" "*"
- "form-data" "^3.0.0"
-
-"@types/node@*", "@types/node@>=12.0.0":
- "integrity" "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw=="
- "resolved" "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz"
- "version" "18.15.3"
-
-"@types/websocket@^1.0.5":
- "integrity" "sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ=="
- "resolved" "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.5.tgz"
- "version" "1.0.5"
- dependencies:
- "@types/node" "*"
-
-"assert@^2.0.0":
- "integrity" "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A=="
- "resolved" "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz"
- "version" "2.0.0"
- dependencies:
- "es6-object-assign" "^1.1.0"
- "is-nan" "^1.2.1"
- "object-is" "^1.0.1"
- "util" "^0.12.0"
-
-"asynckit@^0.4.0":
- "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
- "version" "0.4.0"
-
-"available-typed-arrays@^1.0.5":
- "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
- "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
- "version" "1.0.5"
-
-"axios@^0.21.4":
- "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg=="
- "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz"
- "version" "0.21.4"
- dependencies:
- "follow-redirects" "^1.14.0"
-
-"bn.js@^5.2.1":
- "integrity" "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
- "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz"
- "version" "5.2.1"
-
-"bufferutil@^4.0.1":
- "integrity" "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw=="
- "resolved" "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz"
- "version" "4.0.7"
- dependencies:
- "node-gyp-build" "^4.3.0"
-
-"call-bind@^1.0.0", "call-bind@^1.0.2":
- "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA=="
- "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
- "version" "1.0.2"
- dependencies:
- "function-bind" "^1.1.1"
- "get-intrinsic" "^1.0.2"
-
-"combined-stream@^1.0.8":
- "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="
- "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
- "version" "1.0.8"
- dependencies:
- "delayed-stream" "~1.0.0"
-
-"d@^1.0.1", "d@1":
- "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA=="
- "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz"
- "version" "1.0.1"
- dependencies:
- "es5-ext" "^0.10.50"
- "type" "^1.0.1"
-
-"data-uri-to-buffer@^4.0.0":
- "integrity" "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="
- "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz"
- "version" "4.0.1"
-
-"debug@^2.2.0":
- "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- "version" "2.6.9"
- dependencies:
- "ms" "2.0.0"
-
-"debug@^4.1.0":
- "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
- "version" "4.3.4"
- dependencies:
- "ms" "2.1.2"
-
-"define-properties@^1.1.3":
- "integrity" "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA=="
- "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz"
- "version" "1.2.0"
- dependencies:
- "has-property-descriptors" "^1.0.0"
- "object-keys" "^1.1.1"
-
-"delayed-stream@~1.0.0":
- "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
- "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- "version" "1.0.0"
-
-"dotenv@^16.0.3":
- "integrity" "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
- "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz"
- "version" "16.0.3"
-
-"ed2curve@^0.3.0":
- "integrity" "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ=="
- "resolved" "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz"
- "version" "0.3.0"
- dependencies:
- "tweetnacl" "1.x.x"
-
-"es5-ext@^0.10.35", "es5-ext@^0.10.50":
- "integrity" "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA=="
- "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz"
- "version" "0.10.62"
- dependencies:
- "es6-iterator" "^2.0.3"
- "es6-symbol" "^3.1.3"
- "next-tick" "^1.1.0"
-
-"es6-iterator@^2.0.3":
- "integrity" "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g=="
- "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"
- "version" "2.0.3"
- dependencies:
- "d" "1"
- "es5-ext" "^0.10.35"
- "es6-symbol" "^3.1.1"
-
-"es6-object-assign@^1.1.0":
- "integrity" "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw=="
- "resolved" "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz"
- "version" "1.1.0"
-
-"es6-symbol@^3.1.1", "es6-symbol@^3.1.3":
- "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA=="
- "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz"
- "version" "3.1.3"
- dependencies:
- "d" "^1.0.1"
- "ext" "^1.1.2"
-
-"eventemitter3@^4.0.7":
- "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
- "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
- "version" "4.0.7"
-
-"eventemitter3@^5.0.0":
- "integrity" "sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg=="
- "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.0.tgz"
- "version" "5.0.0"
-
-"ext@^1.1.2":
- "integrity" "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw=="
- "resolved" "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz"
- "version" "1.7.0"
- dependencies:
- "type" "^2.7.2"
-
-"fetch-blob@^3.1.2", "fetch-blob@^3.1.4":
- "integrity" "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="
- "resolved" "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz"
- "version" "3.2.0"
- dependencies:
- "node-domexception" "^1.0.0"
- "web-streams-polyfill" "^3.0.3"
-
-"follow-redirects@^1.14.0":
- "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
- "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz"
- "version" "1.15.2"
-
-"for-each@^0.3.3":
- "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw=="
- "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
- "version" "0.3.3"
- dependencies:
- "is-callable" "^1.1.3"
-
-"form-data@^3.0.0":
- "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg=="
- "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz"
- "version" "3.0.1"
- dependencies:
- "asynckit" "^0.4.0"
- "combined-stream" "^1.0.8"
- "mime-types" "^2.1.12"
-
-"formdata-polyfill@^4.0.10":
- "integrity" "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="
- "resolved" "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz"
- "version" "4.0.10"
- dependencies:
- "fetch-blob" "^3.1.2"
-
-"function-bind@^1.1.1":
- "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
- "version" "1.1.1"
-
-"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3":
- "integrity" "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q=="
- "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz"
- "version" "1.2.0"
- dependencies:
- "function-bind" "^1.1.1"
- "has" "^1.0.3"
- "has-symbols" "^1.0.3"
-
-"gopd@^1.0.1":
- "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA=="
- "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
- "version" "1.0.1"
- dependencies:
- "get-intrinsic" "^1.1.3"
-
-"has-property-descriptors@^1.0.0":
- "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
- "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
- "version" "1.0.0"
- dependencies:
- "get-intrinsic" "^1.1.1"
-
-"has-symbols@^1.0.2", "has-symbols@^1.0.3":
- "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
- "version" "1.0.3"
-
-"has-tostringtag@^1.0.0":
- "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ=="
- "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
- "version" "1.0.0"
- dependencies:
- "has-symbols" "^1.0.2"
-
-"has@^1.0.3":
- "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
- "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
- "version" "1.0.3"
- dependencies:
- "function-bind" "^1.1.1"
-
-"inherits@^2.0.3":
- "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
- "version" "2.0.4"
-
-"is-arguments@^1.0.4":
- "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA=="
- "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
- "version" "1.1.1"
- dependencies:
- "call-bind" "^1.0.2"
- "has-tostringtag" "^1.0.0"
-
-"is-callable@^1.1.3":
- "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
- "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
- "version" "1.2.7"
-
-"is-generator-function@^1.0.7":
- "integrity" "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A=="
- "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz"
- "version" "1.0.10"
- dependencies:
- "has-tostringtag" "^1.0.0"
-
-"is-nan@^1.2.1":
- "integrity" "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w=="
- "resolved" "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz"
- "version" "1.3.2"
- dependencies:
- "call-bind" "^1.0.0"
- "define-properties" "^1.1.3"
-
-"is-typed-array@^1.1.10", "is-typed-array@^1.1.3":
- "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A=="
- "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz"
- "version" "1.1.10"
- dependencies:
- "available-typed-arrays" "^1.0.5"
- "call-bind" "^1.0.2"
- "for-each" "^0.3.3"
- "gopd" "^1.0.1"
- "has-tostringtag" "^1.0.0"
-
-"is-typedarray@^1.0.0":
- "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
- "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
- "version" "1.0.0"
-
-"json-stringify-safe@^5.0.1":
- "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
- "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
- "version" "5.0.1"
-
-"lodash@^4.17.21":
- "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
- "version" "4.17.21"
-
-"mime-db@1.52.0":
- "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
- "version" "1.52.0"
-
-"mime-types@^2.1.12":
- "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="
- "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
- "version" "2.1.35"
- dependencies:
- "mime-db" "1.52.0"
-
-"mock-socket@^9.2.1":
- "integrity" "sha512-aw9F9T9G2zpGipLLhSNh6ZpgUyUl4frcVmRN08uE1NWPWg43Wx6+sGPDbQ7E5iFZZDJW5b5bypMeAEHqTbIFag=="
- "resolved" "https://registry.npmjs.org/mock-socket/-/mock-socket-9.2.1.tgz"
- "version" "9.2.1"
-
-"ms@2.0.0":
- "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- "version" "2.0.0"
-
-"ms@2.1.2":
- "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
- "version" "2.1.2"
-
-"next-tick@^1.1.0":
- "integrity" "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
- "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz"
- "version" "1.1.0"
-
-"nock@^13.3.0":
- "integrity" "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg=="
- "resolved" "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz"
- "version" "13.3.0"
- dependencies:
- "debug" "^4.1.0"
- "json-stringify-safe" "^5.0.1"
- "lodash" "^4.17.21"
- "propagate" "^2.0.0"
-
-"node-domexception@^1.0.0":
- "integrity" "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="
- "resolved" "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz"
- "version" "1.0.0"
-
-"node-fetch@^3.3.0":
- "integrity" "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow=="
- "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz"
- "version" "3.3.1"
- dependencies:
- "data-uri-to-buffer" "^4.0.0"
- "fetch-blob" "^3.1.4"
- "formdata-polyfill" "^4.0.10"
-
-"node-gyp-build@^4.3.0":
- "integrity" "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ=="
- "resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz"
- "version" "4.6.0"
-
-"object-is@^1.0.1":
- "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw=="
- "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz"
- "version" "1.1.5"
- dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
-
-"object-keys@^1.1.1":
- "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
- "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
- "version" "1.1.1"
-
-"pako@^2.0.4":
- "integrity" "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
- "resolved" "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz"
- "version" "2.1.0"
-
-"propagate@^2.0.0":
- "integrity" "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag=="
- "resolved" "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz"
- "version" "2.0.1"
-
-"regenerator-runtime@^0.13.11":
- "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
- "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
- "version" "0.13.11"
-
-"rxjs@^7.8.0":
- "integrity" "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg=="
- "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz"
- "version" "7.8.0"
- dependencies:
- "tslib" "^2.1.0"
-
-"tslib@^2.1.0":
- "integrity" "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
- "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz"
- "version" "2.5.0"
-
-"tweetnacl@^1.0.3", "tweetnacl@1.x.x":
- "integrity" "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
- "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz"
- "version" "1.0.3"
-
-"type@^1.0.1":
- "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
- "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz"
- "version" "1.2.0"
-
-"type@^2.7.2":
- "integrity" "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
- "resolved" "https://registry.npmjs.org/type/-/type-2.7.2.tgz"
- "version" "2.7.2"
-
-"typedarray-to-buffer@^3.1.5":
- "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q=="
- "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz"
- "version" "3.1.5"
- dependencies:
- "is-typedarray" "^1.0.0"
-
-"utf-8-validate@^5.0.2", "utf-8-validate@>=5.0.2":
- "integrity" "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ=="
- "resolved" "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz"
- "version" "5.0.10"
- dependencies:
- "node-gyp-build" "^4.3.0"
-
-"util@^0.12.0":
- "integrity" "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA=="
- "resolved" "https://registry.npmjs.org/util/-/util-0.12.5.tgz"
- "version" "0.12.5"
- dependencies:
- "inherits" "^2.0.3"
- "is-arguments" "^1.0.4"
- "is-generator-function" "^1.0.7"
- "is-typed-array" "^1.1.3"
- "which-typed-array" "^1.1.2"
-
-"web-streams-polyfill@^3.0.3":
- "integrity" "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q=="
- "resolved" "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz"
- "version" "3.2.1"
-
-"websocket@^1.0.34":
- "integrity" "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ=="
- "resolved" "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz"
- "version" "1.0.34"
- dependencies:
- "bufferutil" "^4.0.1"
- "debug" "^2.2.0"
- "es5-ext" "^0.10.50"
- "typedarray-to-buffer" "^3.1.5"
- "utf-8-validate" "^5.0.2"
- "yaeti" "^0.0.6"
-
-"which-typed-array@^1.1.2":
- "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA=="
- "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz"
- "version" "1.1.9"
- dependencies:
- "available-typed-arrays" "^1.0.5"
- "call-bind" "^1.0.2"
- "for-each" "^0.3.3"
- "gopd" "^1.0.1"
- "has-tostringtag" "^1.0.0"
- "is-typed-array" "^1.1.10"
-
-"ws@^8.8.1":
- "integrity" "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA=="
- "resolved" "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz"
- "version" "8.13.0"
-
-"yaeti@^0.0.6":
- "integrity" "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug=="
- "resolved" "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz"
- "version" "0.0.6"
diff --git a/docker/tangle-parachain-with-relayer/README.md b/docker/tangle-parachain-with-relayer/README.md
deleted file mode 100644
index c2d93ddd1..000000000
--- a/docker/tangle-parachain-with-relayer/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Tangle Relayer + Parachain Docker
-
-## Installation Instructions
-
-A Tangle parachain node and relayer can be spun up quickly using Docker. At the time of writing, the Docker version used was 19.03.6. When connecting to testnet, it will take a few hours/days to completely sync chain. Make sure that your system meets the requirements.
-
-Create a local directory to store the chain data:
-
-```bash
-mkdir /var/lib/tangle/
-```
-
-## Run via Docker Compose :
-
-The docker-compose file will spin up a container running tangle standalone node and another running relayer, but you have to set the following environment variables.
-Remember to customize your the values depending on your environment and then copy paste this to CLI.
-
-```bash
-export TANGLE_RELEASE_VERSION=main
-export RELAYER_RELEASE_VERSION=0.5.0-rc1
-export BASE_PATH=/tmp/data/
-export CHAINSPEC_PATH=/tmp/chainspec
-export WEBB_PORT=9955
-```
-
-After that run :
-
-```bash
-docker compose up -d
-```
\ No newline at end of file
diff --git a/docker/tangle-parachain-with-relayer/docker-compose.yml b/docker/tangle-parachain-with-relayer/docker-compose.yml
deleted file mode 100644
index 989e362e6..000000000
--- a/docker/tangle-parachain-with-relayer/docker-compose.yml
+++ /dev/null
@@ -1,63 +0,0 @@
-# This an example of a docker compose file which contains both Relayer and Tangle Node.
-version: "3"
-
-services:
- webb_relayer:
- # Here you should checkout
- # https://github.com/webb-tools/relayer/pkgs/container/relayer/versions?filters%5Bversion_type%5D=tagged
- # For the latest stable version. Only use "edge" if
- # you know what you are doing, it will use the latest and maybe
- # unstable version of the relayer.
- image: ghcr.io/webb-tools/relayer:${RELAYER_RELEASE_VERSION}
- container_name: webb_relayer
- env_file: .env
- depends_on:
- - caddy
- ports:
- - "$WEBB_PORT:$WEBB_PORT"
- volumes:
- - $PWD/config:/config
- - relayer_data:/store
- restart: always
- command: /webb-relayer -vvv -c /config
-
- tangle_parachain:
- # Here you should checkout
- # https://github.com/webb-tools/tangle/pkgs/container/tangle-parachain/versions?filters%5Bversion_type%5D=tagged
- # For the latest stable version. Only use "main" if
- # you know what you are doing, it will use the latest and maybe
- # unstable version of the node.
- image: ghcr.io/webb-tools/tangle/tangle-parachain:${TANGLE_RELEASE_VERSION}
- container_name: tangle_parachain
- env_file: .env
- ports:
- - "30333:30333"
- - "9933:9933"
- - "9944:9944"
- - "9615:9615"
- volumes:
- - tangle_data:/data
- restart: always
- entrypoint: /tangle-parachain
- command:
- [
- "--base-path=/data",
- "--collator",
- "--chain=/data/chainspecs/parachain.json",
- "--",
- "--execution=wasm",
- ]
-
-volumes:
- relayer_data:
- driver: local
- driver_opts:
- type: none
- o: bind
- device: $PWD/relayer/data
- tangle_data:
- driver: local
- driver_opts:
- type: none
- o: bind
- device: $PWD/tangle/collator
\ No newline at end of file
diff --git a/docker/tangle-parachain-with-relayer/env.example b/docker/tangle-parachain-with-relayer/env.example
deleted file mode 100644
index d44535b51..000000000
--- a/docker/tangle-parachain-with-relayer/env.example
+++ /dev/null
@@ -1,5 +0,0 @@
-TANGLE_RELEASE_VERSION=main
-RELAYER_RELEASE_VERSION=0.5.0-rc1
-BASE_PATH=/tmp/data/
-CHAINSPEC_PATH=/tmp/chainspec
-WEBB_PORT=9955
\ No newline at end of file
diff --git a/docker/tangle-parachain/README.md b/docker/tangle-parachain/README.md
deleted file mode 100644
index c90e2caae..000000000
--- a/docker/tangle-parachain/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Tangle Parachain Docker
-
-## Installation Instructions
-
-A Tangle parachain node can be spun up quickly using Docker. At the time of writing, the Docker version used was 19.03.6. When connecting to testnet, it will take a few hours/days to completely sync the embedded relay chain. Make sure that your system meets the requirements.
-
-Create a local directory to store the chain data:
-
-```bash
-mkdir /var/lib/tangle/
-```
-
-Download the latest chainspec for parachain testnet
-
-```bash
-https://github.com/webb-tools/tangle/blob/main/chainspecs/tangle-parachain.json
-```
-
-## Run via CLI :
-
-You can use the following command to pull the latest image and run from your CLI, remember to set `YOUR-NODE-NAME` in two different places
-
-```bash
-docker run --platform linux/amd64 --network="host" -v "/var/lib/data" --entrypoint ./tangle-parachain \
-ghcr.io/webb-tools/tangle/tangle-parachain:main \
---base-path=/data \
---chain dev \
---name="YOUR-NODE-NAME" \
---execution wasm \
---wasm-execution compiled \
---trie-cache-size 0 \
--- \
---execution wasm \
---name="YOUR-NODE-NAME (Embedded Relay)"
-```
-
-## Run via Docker Compose :
-
-The docker-compose file will spin up a container running tangle standalone node, but you have to set the following environment variables.
-Remember to customize your the values depending on your environment and then copy paste this to CLI.
-
-```bash
-RELEASE_VERSION=main
-CHAINSPEC_PATH=/tmp/chainspec/
-```
-
-After that run :
-
-```bash
-docker compose up -d
-```
\ No newline at end of file
diff --git a/docker/tangle-parachain/docker-compose.yml b/docker/tangle-parachain/docker-compose.yml
deleted file mode 100644
index 30583ada8..000000000
--- a/docker/tangle-parachain/docker-compose.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# Docker compose file to start tangle parachain collator that connects to tangle testnet
-
-version: "3.7"
-services:
-
- tangle:
- image: ghcr.io/webb-tools/tangle/tangle-parachain:${RELEASE_VERSION}
- network_mode: host
- entrypoint: /tangle-parachain
- command:
- - "--chain"
- - "--base-path=/data"
- - "/var/lib/data/arana-alpha.json"
- - "--collator"
- - "--execution wasm"
- - "--wasm-execution compiled"
- - "--prometheus-external"
- - "--name=YOUR-NODE-NAME"
- - "--"
- - "--execution wasm"
- - "--name=YOUR-NODE-NAME (Relay)"
- ports:
- - "9944:9944"
- - "9615:9615"
- - "9933:9933"
- - "30333:30333"
- volumes:
- - ${CHAINSPEC_PATH}:/var/lib/data/arana-alpha.json
\ No newline at end of file
diff --git a/docker/tangle-parachain/env.example b/docker/tangle-parachain/env.example
deleted file mode 100644
index d6a9d82b8..000000000
--- a/docker/tangle-parachain/env.example
+++ /dev/null
@@ -1,2 +0,0 @@
-RELEASE_VERSION=main
-CHAINSPEC_PATH=/tmp/chainspec
\ No newline at end of file
diff --git a/docker/tangle-standalone/README.md b/docker/tangle-standalone/README.md
index c4373716b..2a6b78be9 100644
--- a/docker/tangle-standalone/README.md
+++ b/docker/tangle-standalone/README.md
@@ -21,8 +21,8 @@ https://github.com/webb-tools/tangle/blob/main/chainspecs/arana-alpha.json
You can use the following command to pull the latest image and run from your CLI, remember to set `YOUR-NODE-NAME`
```bash
-docker run --platform linux/amd64 --network="host" -v "/var/lib/data" --entrypoint ./tangle-standalone \
-ghcr.io/webb-tools/tangle/tangle-standalone:main \
+docker run --platform linux/amd64 --network="host" -v "/var/lib/data" --entrypoint ./tangle \
+ghcr.io/webb-tools/tangle/tangle:main \
--base-path=/var/lib/tangle/ \
--chain \
--name="YOUR-NODE-NAME" \
diff --git a/docker/tangle-standalone/docker-compose.yml b/docker/tangle-standalone/docker-compose.yml
index 6ba4936e4..f840b6d9a 100644
--- a/docker/tangle-standalone/docker-compose.yml
+++ b/docker/tangle-standalone/docker-compose.yml
@@ -4,9 +4,9 @@ version: "3.7"
services:
tangle:
- image: ghcr.io/webb-tools/tangle/tangle-standalone:${RELEASE_VERSION}
+ image: ghcr.io/webb-tools/tangle/tangle:${RELEASE_VERSION}
network_mode: host
- entrypoint: /tangle-standalone
+ entrypoint: /tangle
command:
- "--chain"
- "/var/lib/data/arana-alpha.json"
diff --git a/forge/.gitignore b/forge/.gitignore
deleted file mode 100644
index 85198aaa5..000000000
--- a/forge/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-# Compiler files
-cache/
-out/
-
-# Ignores development broadcast logs
-!/broadcast
-/broadcast/*/31337/
-/broadcast/**/dry-run/
-
-# Docs
-docs/
-
-# Dotenv file
-.env
diff --git a/forge/foundry.toml b/forge/foundry.toml
deleted file mode 100644
index e883058fb..000000000
--- a/forge/foundry.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[profile.default]
-src = "src"
-out = "out"
-libs = ["lib"]
-
-# See more config options https://github.com/foundry-rs/foundry/tree/master/config
diff --git a/forge/lib/forge-std b/forge/lib/forge-std
deleted file mode 160000
index 2f1126975..000000000
--- a/forge/lib/forge-std
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2f112697506eab12d433a65fdc31a639548fe365
diff --git a/forge/src/SigningRules.sol b/forge/src/SigningRules.sol
deleted file mode 100644
index bf6afcdd5..000000000
--- a/forge/src/SigningRules.sol
+++ /dev/null
@@ -1,242 +0,0 @@
-// SPDX-License-Identifier: UNLICENSED
-pragma solidity ^0.8.13;
-
-import "forge-std/console.sol";
-
-enum ProposalStatus {Inactive, Active, Passed, Executed, Cancelled}
-
-struct Proposal {
- ProposalStatus _status;
- uint256 _yesVotes; // bitmap, 256 maximum votes
- uint8 _yesVotesTotal;
- uint40 _proposedBlock; // 1099511627775 maximum block
-}
-
-abstract contract SigningRules {
- mapping (bytes32 => mapping (address => bool)) public isValidForwarder;
- mapping (bytes32 => address) public admins;
- mapping (bytes32 => address[]) public voters;
- mapping (bytes32 => uint8) public threshold;
- mapping (bytes32 => uint40) public expiry;
- mapping (bytes32 => bool) public useDemocracy;
- mapping (bytes32 => bool) public useValidators;
-
- // keccak256(proposalId, phase2JobHash) => Proposal
- mapping(bytes32 => Proposal) public _proposals;
-
- bool public initialized;
- // Limit voter number because proposal can fit only so much votes
- uint256 constant public MAX_VOTERS = 256;
-
- event ProposalEvent(
- ProposalStatus status,
- bytes32 proposalId,
- bytes32 phase2JobHash
- );
- event ProposalVote(
- ProposalStatus status,
- bytes32 proposalId,
- bytes32 phase2JobHash
- );
- event FailedHandlerExecution(
- bytes lowLevelData
- );
-
- modifier onlyAdmin(bytes32 id) {
- require(admins[id] == msg.sender, "Only admin can call this function");
- _;
- }
-
- function calculatePhase1ProposalId(bytes32 phase1JobId, bytes memory phase1JobDetails) public pure returns (bytes32) {
- return keccak256(abi.encodePacked(phase1JobId, phase1JobDetails));
- }
-
- function calculatePhase2JobHash(bytes32 proposalId, bytes memory phase2JobDetails) public pure returns (bytes32) {
- return keccak256(abi.encodePacked(proposalId, phase2JobDetails));
- }
-
- function initialize(
- bytes32 phase1JobId,
- bytes memory phase1JobDetails,
- uint8 _threshold,
- bool _useDemocracy,
- address[] memory _voters,
- uint40 _expiry
- ) external {
- require(_voters.length <= MAX_VOTERS, "Too many voters");
- require(initialized == false, "Already initialized");
- initialized = true;
-
- // Hash the job data to get the an ID for the job
- bytes32 phase1ProposalId = keccak256(abi.encodePacked(phase1JobId, phase1JobDetails));
- threshold[phase1ProposalId] = _threshold;
- useDemocracy[phase1ProposalId] = _useDemocracy;
- expiry[phase1ProposalId] = _expiry;
- admins[phase1ProposalId] = msg.sender;
-
- // If we have voters, add them to the list.
- if (_voters.length > 0) {
- voters[phase1ProposalId] = _voters;
- } else {
- // Otherwise, use the default list of being all validators ECDSA keys.
- useValidators[phase1ProposalId] = true;
- _refreshVoters(phase1ProposalId);
- }
- }
-
- /// @notice Refresh the list of voters for a proposal w/ validators
- /// @param phase1ProposalId ID of the proposal to refresh voters for.
- function refreshVoters(bytes32 phase1ProposalId) public onlyAdmin(phase1ProposalId) {
- _refreshVoters(phase1ProposalId);
- }
-
- /// @notice Set a forwarder to be used.
- /// @notice Only callable by an address that currently has the admin role.
- /// @param forwarder Forwarder address to be added.
- /// @param valid Decision for the specific forwarder.
- function adminSetForwarder(bytes32 proposalId, address forwarder, bool valid) external onlyAdmin(proposalId) {
- isValidForwarder[proposalId][forwarder] = valid;
- }
-
- function submitGovernanceProposal(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) public {
- // Validate the governance proposal
- bytes32 proposalId = keccak256(abi.encodePacked(phase1JobId, phase1JobDetails));
- bytes32 phase2JobHash = keccak256(abi.encodePacked(proposalId, phase2JobDetails));
- require(_proposals[phase2JobHash]._status != ProposalStatus.Executed, "Proposal must have been executed");
- require(useDemocracy[proposalId], "Proposal must allow using governance");
- // Submit the proposal to governance pallet
- _submitToDemocracyPallet(phase1JobId, phase1JobDetails, phase2JobDetails);
- }
-
- function voteProposal(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) public {
- // Validate the job/details are AUP
- require(_isVotableProposal(phase1JobId, phase1JobDetails, phase2JobDetails), "Proposal must be votable");
- // Check that we have received enough votes for the anchor update proposal.
- // Execute the proposal happens in `_voteProposal` if this vote tips the balance.
- bytes32 proposalId = keccak256(abi.encodePacked(phase1JobId, phase1JobDetails));
- bytes32 phase2JobHash = keccak256(abi.encodePacked(proposalId, phase2JobDetails));
- _voteProposal(proposalId, phase2JobHash);
- }
-
- /// --------------------------------------------------------------------------------------- ///
- /// ------------------------------------- Internals --------------------------------------- ///
- /// --------------------------------------------------------------------------------------- ///
-
- /// @notice When called, {_msgSender()} will be marked as voting in favor of proposal.
- /// @param phase1ProposalId ID of the proposal to vote on.
- /// @notice Proposal must not have already been passed or executed.
- /// @notice {_msgSender()} must not have already voted on proposal.
- /// @notice Emits {ProposalEvent} event with status indicating the proposal status.
- /// @notice Emits {ProposalVote} event.
- function _voteProposal(bytes32 phase1ProposalId, bytes32 phase2JobHash) internal {
- Proposal storage proposal = _proposals[phase2JobHash];
- if (proposal._status == ProposalStatus.Passed) {
- _executeProposal(phase1ProposalId, phase2JobHash);
- return;
- }
-
- address sender = _msgSender(phase1ProposalId);
-
- require(uint(proposal._status) <= 1, "proposal already executed/cancelled");
- require(!_hasVoted(phase1ProposalId, phase2JobHash, sender), "relayer already voted");
-
- if (proposal._status == ProposalStatus.Inactive) {
- _proposals[phase2JobHash] = Proposal({
- _status : ProposalStatus.Active,
- _yesVotes : 0,
- _yesVotesTotal : 0,
- _proposedBlock : uint40(block.number) // Overflow is desired.
- });
-
- emit ProposalEvent(ProposalStatus.Active, phase1ProposalId, phase2JobHash);
- } else if (uint40(block.number - proposal._proposedBlock) > expiry[phase1ProposalId]) {
- // if the number of blocks that has passed since this proposal was
- // submitted exceeds the expiry threshold set, cancel the proposal
- proposal._status = ProposalStatus.Cancelled;
-
- emit ProposalEvent(ProposalStatus.Cancelled, phase1ProposalId, phase2JobHash);
- }
-
- if (proposal._status != ProposalStatus.Cancelled) {
- proposal._yesVotes = (proposal._yesVotes | _voterBit(phase1ProposalId, sender));
- proposal._yesVotesTotal++; // TODO: check if bit counting is cheaper.
-
- emit ProposalVote(proposal._status, phase1ProposalId, phase2JobHash);
-
- // Finalize if _relayerThreshold has been reached
- if (proposal._yesVotesTotal >= threshold[phase1ProposalId]) {
- proposal._status = ProposalStatus.Passed;
- emit ProposalEvent(ProposalStatus.Passed, phase1ProposalId, phase2JobHash);
- }
- }
- _proposals[phase1ProposalId] = proposal;
-
- if (proposal._status == ProposalStatus.Passed) {
- _executeProposal(phase1ProposalId, phase2JobHash);
- }
- }
-
- /// @notice Execute a proposal.
- /// @param phase1ProposalId ID of the proposal to execute.
- /// @notice Proposal must have Passed status.
- /// @notice Emits {ProposalEvent} event with status {Executed}.
- /// @notice Emits {FailedExecution} event with the failed reason.
- function _executeProposal(bytes32 phase1ProposalId, bytes32 phase2JobHash) internal {
- Proposal storage proposal = _proposals[phase2JobHash];
- require(proposal._status == ProposalStatus.Passed, "Proposal must have Passed status");
- proposal._status = ProposalStatus.Executed;
- emit ProposalEvent(ProposalStatus.Executed, phase1ProposalId, phase2JobHash);
- }
-
- function _voterIndex(bytes32 phase1ProposalId, address voter) internal view returns (uint) {
- for (uint i = 0; i < voters[phase1ProposalId].length; i++) {
- if (voters[phase1ProposalId][i] == voter) {
- return i + 1;
- }
- }
- return MAX_VOTERS;
- }
-
- function _voterBit(bytes32 phase1ProposalId, address voter) internal view returns(uint) {
- return uint(1) << (_voterIndex(phase1ProposalId, voter) - 1);
- }
-
- function _hasVoted(bytes32 phase1ProposalId, bytes32 phase2JobHash, address voter) internal view returns(bool) {
- Proposal storage proposal = _proposals[phase2JobHash];
- return (_voterBit(phase1ProposalId, voter) & uint(proposal._yesVotes)) > 0;
- }
-
- function _msgSender(bytes32 proposalId) internal view returns (address) {
- address signer = msg.sender;
- if (msg.data.length >= 20 && isValidForwarder[proposalId][signer]) {
- assembly {
- signer := shr(96, calldataload(sub(calldatasize(), 20)))
- }
- }
- return signer;
- }
-
- /// --------------------------------------------------------------------------------------- ///
- /// -------------------------------------- Virtuals --------------------------------------- ///
- /// --------------------------------------------------------------------------------------- ///
-
- function _isVotableProposal(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) internal virtual returns (bool);
- function _refreshVoters(bytes32 proposalId) internal virtual;
- function _submitToDemocracyPallet(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) internal virtual;
-
- /// --------------------------------------------------------------------------------------- ///
- /// -------------------------------------- Helpers ---------------------------------------- ///
- /// --------------------------------------------------------------------------------------- ///
-
- function getProposalState(bytes32 phase2JobHash) public view returns (ProposalStatus) {
- return _proposals[phase2JobHash]._status;
- }
-
- function getProposalYesVotes(bytes32 phase2JobHash) public view returns (uint256) {
- return _proposals[phase2JobHash]._yesVotes;
- }
-
- function getProposalYesVotesTotal(bytes32 phase2JobHash) public view returns (uint8) {
- return _proposals[phase2JobHash]._yesVotesTotal;
- }
-}
\ No newline at end of file
diff --git a/forge/test/SigningRules.sol b/forge/test/SigningRules.sol
deleted file mode 100644
index b3d149424..000000000
--- a/forge/test/SigningRules.sol
+++ /dev/null
@@ -1,145 +0,0 @@
-// SPDX-License-Identifier: UNLICENSED
-pragma solidity ^0.8.13;
-
-import "forge-std/Test.sol";
-import "forge-std/console.sol";
-import "../src/SigningRules.sol";
-import { Proposal, ProposalStatus } from "../src/SigningRules.sol";
-
-contract VotableSigningRules is SigningRules {
- function _isVotableProposal(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) override pure internal returns (bool) {
- require(phase1JobId != 0x0, "Phase 1 job ID must be 0x0");
- require(phase1JobDetails.length != 0, "Job details must be non-empty");
- require(phase2JobDetails.length != 0, "Job details must be non-empty");
- return true;
- }
-
- function _refreshVoters(bytes32 proposalId) override internal {
- // Do nothing
- }
-
- function _submitToDemocracyPallet(bytes32 phase1JobId, bytes memory phase1JobDetails, bytes memory phase2JobDetails) override internal {
- // Do nothing
- }
-}
-
-contract SigningRulesTest is Test {
- VotableSigningRules public rules;
-
- function setUp() public {
- rules = new VotableSigningRules();
- }
-
- function test_setup() public {
- bytes32 phase1JobId = "1";
- bytes memory phase1JobDetails = "test";
- uint8 threshold = 1;
- bool useDemocracy = false;
- address[] memory voters = new address[](0);
- uint40 expiry = 1000;
- bytes32 proposalId = rules.calculatePhase1ProposalId(phase1JobId, phase1JobDetails);
- rules.initialize(phase1JobId, phase1JobDetails, threshold, useDemocracy, voters, expiry);
- assertTrue(rules.initialized());
- assertTrue(rules.threshold(proposalId) == threshold);
- assertTrue(rules.useDemocracy(proposalId) == useDemocracy);
- assertTrue(rules.expiry(proposalId) == expiry);
- assertTrue(rules.useValidators(proposalId) == true);
- assertTrue(rules.admins(proposalId) == address(this));
- }
-
- function test_submitAndVoteOnProposal() public {
- bytes32 phase1JobId = "1";
- bytes memory phase1JobDetails = "test";
- bytes memory phase2JobDetails = "test";
- uint8 threshold = 2;
- bool useDemocracy = false;
- address[] memory voters = new address[](2);
- voters[0] = vm.addr(1);
- voters[1] = vm.addr(2);
- uint40 expiry = 1000;
- bytes32 phase1ProposalId = rules.calculatePhase1ProposalId(phase1JobId, phase1JobDetails);
- rules.initialize(phase1JobId, phase1JobDetails, threshold, useDemocracy, voters, expiry);
- vm.prank(vm.addr(1));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Active);
-
- vm.expectRevert("relayer already voted");
- vm.prank(vm.addr(1));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
-
- vm.prank(vm.addr(2));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Passed);
- }
-
- function test_submitAndVote255Participants() public {
- bytes32 phase1JobId = "1";
- bytes memory phase1JobDetails = "test";
- bytes memory phase2JobDetails = "test";
- uint8 threshold = 255;
- bool useDemocracy = false;
- address[] memory voters = new address[](255);
- for (uint8 i = 0; i < 255; i++) {
- voters[i] = vm.addr(i + 1);
- }
- uint40 expiry = 1000;
- bytes32 phase1ProposalId = rules.calculatePhase1ProposalId(phase1JobId, phase1JobDetails);
- rules.initialize(phase1JobId, phase1JobDetails, threshold, useDemocracy, voters, expiry);
- for (uint8 i = 0; i < 255; i++) {
- vm.prank(vm.addr(i + 1));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
-
- if (i < 254) {
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Active);
- }
- }
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Passed);
- }
-
- function test_submitVoteAndExpireProposal() public {
- bytes32 phase1JobId = "1";
- bytes memory phase1JobDetails = "test";
- bytes memory phase2JobDetails = "test";
- uint8 threshold = 2;
- bool useDemocracy = false;
- address[] memory voters = new address[](2);
- voters[0] = vm.addr(1);
- voters[1] = vm.addr(2);
- uint40 expiry = 10;
- uint nowBlockNumber = block.number;
- bytes32 phase1ProposalId = rules.calculatePhase1ProposalId(phase1JobId, phase1JobDetails);
- rules.initialize(phase1JobId, phase1JobDetails, threshold, useDemocracy, voters, expiry);
- vm.prank(vm.addr(1));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Active);
-
- vm.roll(nowBlockNumber + expiry + 1);
- vm.prank(vm.addr(2));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
- assertTrue(rules.getProposalState(phase1ProposalId) == ProposalStatus.Cancelled);
- vm.expectRevert("proposal already executed/cancelled");
- vm.prank(vm.addr(2));
- rules.voteProposal(phase1JobId, phase1JobDetails, phase2JobDetails);
- }
-
- function test_adminFunctions() public {
- bytes32 phase1JobId = "1";
- bytes memory phase1JobDetails = "test";
- uint8 threshold = 2;
- bool useDemocracy = false;
- address[] memory voters = new address[](2);
- voters[0] = vm.addr(1);
- voters[1] = vm.addr(2);
- uint40 expiry = 1000;
- bytes32 phase1ProposalId = rules.calculatePhase1ProposalId(phase1JobId, phase1JobDetails);
- rules.initialize(phase1JobId, phase1JobDetails, threshold, useDemocracy, voters, expiry);
-
- rules.adminSetForwarder(phase1ProposalId, vm.addr(100), true);
- assertTrue(rules.isValidForwarder(phase1ProposalId, vm.addr(100)));
- assertFalse(rules.isValidForwarder(phase1ProposalId, vm.addr(101)));
-
- vm.expectRevert("Only admin can call this function");
- vm.prank(vm.addr(1));
- rules.adminSetForwarder(phase1ProposalId, vm.addr(100), false);
- }
-}
diff --git a/light-client-configs/LIGHT-CLIENT.md b/light-client-configs/LIGHT-CLIENT.md
deleted file mode 100644
index 76507edee..000000000
--- a/light-client-configs/LIGHT-CLIENT.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## Running Tangle Node with Webb Light Client Relayer
-
-Following these steps will allow you to run Tangle Standalone Node with Webb Light Client Relayer included.
-
-
-1. Compile the tangle standalone node with light client feature
-```sh
-cargo build --release -p tangle-standalone --features light-client
-```
-2. Set you Infura API Key
-
-```bash
-export ETH1_INFURA_API_KEY="your_infura_key"
-```
-3. Create your Relayer configuration directory
-
-```sh
-mkdir -p light-client-configs
-touch light-client-configs/block-relay-config.toml
-touch light-client-configs/init-pallet-config.toml
-```
-
-> You can check sample configuration files here [Light Client Relayer configuration](../light-client-configs/block-relay-config.toml)
-
-
-4. Start Tangle Node with the light client relayer config.
-Make sure to provide correct path for configuration files
-
-```sh
-./target/release/tangle-standalone --tmp --chain local --validator --alice \
---rpc-cors all --rpc-methods=unsafe --rpc-port 9944 \
---light-client-init-pallet-config-path=./light-client-configs/init-pallet-config.toml \
---light-client-relay-config-path=./light-client-configs/block-relay-config.toml \
-```
-
-Now, you can see light client submitting beacon headers to tangle.
diff --git a/light-client-configs/block-relay-config.toml b/light-client-configs/block-relay-config.toml
deleted file mode 100644
index 837913352..000000000
--- a/light-client-configs/block-relay-config.toml
+++ /dev/null
@@ -1,19 +0,0 @@
-# Eth2substrate block relay configuration
-
-beacon_endpoint = "https://lodestar-mainnet.chainsafe.io"
-eth1_endpoint = "https://mainnet.infura.io/v3/ETH1_INFURA_API_KEY"
-network_name = "Mainnet"
-headers_batch_size = 33
-substrate_endpoint = "ws://127.0.0.1:9944"
-path_to_signer_secret_key = "/tmp/empty/secret_key"
-ethereum_network = "Mainnet"
-interval_between_light_client_updates_submission_in_epochs = 1
-max_blocks_for_finalization = 5000
-include_next_sync_committee_to_light_client = false
-eth_requests_timeout_seconds = 30
-state_requests_timeout_seconds = 1000
-substrate_requests_timeout_seconds = 30
-sleep_time_on_sync_secs = 20
-sleep_time_after_submission_secs = 5
-hashes_gc_threshold = 51000
-beacon_rpc_version = "V1_5"
diff --git a/light-client-configs/init-pallet-config.toml b/light-client-configs/init-pallet-config.toml
deleted file mode 100644
index 9b875847e..000000000
--- a/light-client-configs/init-pallet-config.toml
+++ /dev/null
@@ -1,12 +0,0 @@
-ethereum_network = "Mainnet"
-beacon_endpoint = "https://lodestar-mainnet.chainsafe.io"
-eth1_endpoint = "https://mainnet.infura.io/v3/ETH1_INFURA_API_KEY"
-eth_requests_timeout_seconds = 30
-validate_updates = true
-verify_bls_signature = true
-hashes_gc_threshold = 51000
-beacon_rpc_version = "V1_5"
-
-substrate_network_name = "Tangle"
-substrate_endpoint = "ws://127.0.0.1:9944"
-path_to_signer_secret_key = "/tmp/empty/secret_key"
diff --git a/node/Cargo.toml b/node/Cargo.toml
index 30e411494..a34c58c79 100644
--- a/node/Cargo.toml
+++ b/node/Cargo.toml
@@ -1,13 +1,13 @@
[package]
-name = "tangle-standalone"
+name = "tangle"
+build = "build.rs"
+description = "Tangle Standalone chain node"
version = { workspace = true }
authors = { workspace = true }
-build = "build.rs"
edition = { workspace = true }
-homepage = { workspace = true }
license = { workspace = true }
+homepage = { workspace = true }
repository = { workspace = true }
-description = "A fresh FRAME-based Substrate node, ready for hacking."
[package.metadata.wasm-pack.profile.release]
# `wasm-opt` has some problems on linux, see
@@ -15,7 +15,7 @@ description = "A fresh FRAME-based Substrate node, ready for hacking."
wasm-opt = false
[[bin]]
-name = "tangle-standalone"
+name = "tangle"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
@@ -24,60 +24,52 @@ targets = ["x86_64-unknown-linux-gnu"]
substrate-build-script-utils = { workspace = true }
[dependencies]
+serde_json = { workspace = true }
+tokio = { workspace = true }
clap = { workspace = true }
+parity-scale-codec = { workspace = true }
futures = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
-parity-scale-codec = { workspace = true }
rand = { workspace = true }
-serde_json = { workspace = true }
-tokio = { workspace = true }
-
-# Light client dependencies
-pallet-eth2-light-client-relayer-gadget = { workspace = true, optional = true }
-pallet-eth2-light-client-relayer-gadget-cli = { workspace = true, optional = true }
-webb-consensus-types = { workspace = true }
-webb-proposals = { workspace = true }
-
-tangle-relayer-gadget = { workspace = true, optional = true }
-tangle-relayer-gadget-cli = { workspace = true, optional = true }
# Substrate dependencies
+sc-cli = { workspace = true }
+sc-executor = { workspace = true }
+sc-offchain = { workspace = true }
+sc-keystore = { workspace = true }
+sc-service = { workspace = true }
+sp-core = { workspace = true }
frame-benchmarking = { workspace = true }
frame-benchmarking-cli = { workspace = true }
frame-system = { workspace = true }
sc-basic-authorship = { workspace = true }
-sc-cli = { workspace = true }
sc-client-api = { workspace = true }
sc-consensus = { workspace = true }
-sc-consensus-aura = { workspace = true }
-sc-consensus-grandpa = { workspace = true }
-sc-executor = { workspace = true }
-sc-keystore = { workspace = true }
+sc-consensus-babe = { workspace = true }
sc-network = { workspace = true }
-sc-network-sync = { workspace = true }
-sc-offchain = { workspace = true }
-sc-service = { workspace = true }
sc-telemetry = { workspace = true }
sc-transaction-pool = { workspace = true }
-sp-consensus-aura = { workspace = true }
-sp-core = { workspace = true }
+sp-consensus-babe = { workspace = true }
sp-inherents = { workspace = true }
sp-keyring = { workspace = true }
sp-runtime = { workspace = true }
sp-trie = { workspace = true }
+sc-consensus-grandpa = { workspace = true }
+sc-network-sync = { workspace = true }
+webb-consensus-types = { workspace = true }
+webb-proposals = { workspace = true }
sc-chain-spec = { workspace = true }
-sc-consensus-manual-seal = { workspace = true }
sc-rpc = { workspace = true }
sc-rpc-api = { workspace = true }
-sp-application-crypto = { workspace = true }
sp-api = { workspace = true }
sp-block-builder = { workspace = true }
sp-blockchain = { workspace = true }
sp-timestamp = { workspace = true }
-substrate-frame-rpc-system = { workspace = true }
substrate-prometheus-endpoint = { workspace = true }
+substrate-frame-rpc-system = { workspace = true }
+sc-consensus-manual-seal = { workspace = true }
# RPC related dependencies
jsonrpsee = { workspace = true }
@@ -88,7 +80,6 @@ sc-transaction-pool-api = { workspace = true }
wasmer = { version = "2.3" }
# Frontier
-fc-api = { workspace = true }
fc-cli = { workspace = true }
fc-consensus = { workspace = true }
fc-db = { workspace = true }
@@ -97,44 +88,52 @@ fc-rpc = { workspace = true, features = ["rpc-binary-search-estimate"] }
fc-rpc-core = { workspace = true }
fc-storage = { workspace = true }
fp-account = { workspace = true }
+fc-api = { workspace = true }
fp-dynamic-fee = { workspace = true, features = ["default"] }
fp-evm = { workspace = true, features = ["default"] }
fp-rpc = { workspace = true, features = ["default"] }
-hex = { workspace = true }
-sp-keystore = { workspace = true }
-primitives-ext = { workspace = true }
+rpc-trace = { workspace = true }
rpc-debug = { workspace = true }
+rpc-txpool = { workspace = true }
rpc-primitives-debug = { workspace = true }
rpc-primitives-txpool = { workspace = true }
-rpc-trace = { workspace = true }
-rpc-txpool = { workspace = true }
-
-tangle-mainnet-runtime = { workspace = true }
+primitives-ext = { workspace = true }
+sp-transaction-storage-proof = { workspace = true }
+sc-statement-store = { workspace = true }
+sp-statement-store = { workspace = true }
+sc-consensus-slots = { workspace = true }
+sp-consensus = { workspace = true }
+sp-keystore = { workspace = true }
+sc-consensus-babe-rpc = { workspace = true }
+sc-consensus-grandpa-rpc = { workspace = true }
+mmr-rpc = { workspace = true }
+sc-rpc-spec-v2 = { workspace = true }
+substrate-state-trie-migration-rpc = { workspace = true }
+sc-sync-state-rpc = { workspace = true }
+sc-sysinfo = { workspace = true }
+sc-authority-discovery = { workspace = true }
+sc-storage-monitor = { workspace = true }
+sc-network-statement = { workspace = true }
+sc-network-common = { workspace = true }
+frame-system-rpc-runtime-api = { workspace = true }
+tangle-testnet-runtime = { workspace = true, optional = true }
+tangle-runtime = { workspace = true }
tangle-primitives = { workspace = true }
-tangle-testnet-runtime = { workspace = true }
[features]
default = ["with-rocksdb-weights", "rocksdb", "sql"]
runtime-benchmarks = ["tangle-testnet-runtime/runtime-benchmarks"]
-integration-tests = ["tangle-testnet-runtime/integration-tests"]
with-rocksdb-weights = ["tangle-testnet-runtime/with-rocksdb-weights"]
with-paritydb-weights = ["tangle-testnet-runtime/with-paritydb-weights"]
rocksdb = [
- "sc-cli/rocksdb",
- "sc-service/rocksdb",
- "fc-cli/rocksdb",
- "fc-db/rocksdb",
- "fc-mapping-sync/rocksdb",
- "fc-rpc/rocksdb",
+ "sc-cli/rocksdb",
+ "sc-service/rocksdb",
+ "fc-cli/rocksdb",
+ "fc-db/rocksdb",
+ "fc-mapping-sync/rocksdb",
+ "fc-rpc/rocksdb",
]
sql = ["fc-db/sql", "fc-mapping-sync/sql"]
-txpool = ["fc-rpc/txpool"]
-light-client = [
- "pallet-eth2-light-client-relayer-gadget",
- "pallet-eth2-light-client-relayer-gadget-cli",
-]
-relayer = [
- "tangle-relayer-gadget",
- "tangle-relayer-gadget-cli",
-]
+testnet = ["tangle-testnet-runtime"]
+txpool = ["fc-rpc/txpool"]
\ No newline at end of file
diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs
deleted file mode 100644
index 4cc9ed325..000000000
--- a/node/src/benchmarking.rs
+++ /dev/null
@@ -1,117 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) 2022 Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-//! Setup code for [`super::command`] which would otherwise bloat that module.
-//!
-//! Should only be used for benchmarking as it may break in other contexts.
-
-use crate::service::{create_extrinsic, FullClient};
-
-use sc_cli::Result;
-use sp_inherents::{InherentData, InherentDataProvider};
-use sp_keyring::Sr25519Keyring;
-use sp_runtime::OpaqueExtrinsic;
-use std::{sync::Arc, time::Duration};
-use tangle_testnet_runtime::{AccountId, Balance, BalancesCall, SystemCall};
-
-/// Generates `System::Remark` extrinsics for the benchmarks.
-///
-/// Note: Should only be used for benchmarking.
-pub struct RemarkBuilder {
- client: Arc,
-}
-
-impl RemarkBuilder {
- /// Creates a new [`Self`] from the given client.
- pub fn new(client: Arc) -> Self {
- Self { client }
- }
-}
-
-impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder {
- fn pallet(&self) -> &str {
- "system"
- }
-
- fn extrinsic(&self) -> &str {
- "remark"
- }
-
- fn build(&self, nonce: u32) -> std::result::Result {
- let acc = Sr25519Keyring::Bob.pair();
- let extrinsic: OpaqueExtrinsic = create_extrinsic(
- self.client.as_ref(),
- acc,
- SystemCall::remark { remark: vec![] },
- Some(nonce),
- )
- .into();
-
- Ok(extrinsic)
- }
-}
-
-/// Generates `Balances::TransferKeepAlive` extrinsics for the benchmarks.
-///
-/// Note: Should only be used for benchmarking.
-pub struct TransferKeepAliveBuilder {
- client: Arc,
- dest: AccountId,
- value: Balance,
-}
-
-impl TransferKeepAliveBuilder {
- /// Creates a new [`Self`] from the given client.
- pub fn new(client: Arc, dest: AccountId, value: Balance) -> Self {
- Self { client, dest, value }
- }
-}
-
-impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder {
- fn pallet(&self) -> &str {
- "balances"
- }
-
- fn extrinsic(&self) -> &str {
- "transfer_keep_alive"
- }
-
- fn build(&self, nonce: u32) -> std::result::Result {
- let acc = Sr25519Keyring::Bob.pair();
- let extrinsic: OpaqueExtrinsic = create_extrinsic(
- self.client.as_ref(),
- acc,
- BalancesCall::transfer_keep_alive { dest: self.dest.clone().into(), value: self.value },
- Some(nonce),
- )
- .into();
-
- Ok(extrinsic)
- }
-}
-
-/// Generates inherent data for the `benchmark overhead` command.
-pub fn inherent_benchmark_data() -> Result {
- let mut inherent_data = InherentData::new();
- let d = Duration::from_millis(0);
- let timestamp = sp_timestamp::InherentDataProvider::new(d.into());
-
- futures::executor::block_on(timestamp.provide_inherent_data(&mut inherent_data))
- .map_err(|e| format!("creating inherent data: {e}"))?;
- Ok(inherent_data)
-}
diff --git a/node/src/chainspec/mainnet.rs b/node/src/chainspec/mainnet.rs
index 17320d78d..a5ba3d298 100644
--- a/node/src/chainspec/mainnet.rs
+++ b/node/src/chainspec/mainnet.rs
@@ -12,23 +12,21 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use std::collections::BTreeMap;
-
use crate::{
- distributions::{combine_distributions, develop, mainnet, testnet},
- mainnet_fixtures::{get_root_key, get_standalone_bootnodes},
+ distributions::{combine_distributions, mainnet},
+ mainnet_fixtures::{get_bootnodes, get_initial_authorities, get_root_key},
};
use core::marker::PhantomData;
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sc_consensus_grandpa::AuthorityId as GrandpaId;
use sc_service::ChainType;
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::{sr25519, Pair, Public, H160};
use sp_runtime::traits::{IdentifyAccount, Verify};
-use tangle_mainnet_runtime::{
- AccountId, Balance, BalancesConfig, EVMChainIdConfig, EVMConfig, ElectionsConfig,
- Eth2ClientConfig, ImOnlineConfig, MaxNominations, Perbill, RuntimeGenesisConfig, SessionConfig,
- Signature, StakerStatus, StakingConfig, SudoConfig, SystemConfig, UNIT, WASM_BINARY,
+use tangle_runtime::{
+ AccountId, Balance, BalancesConfig, EVMChainIdConfig, Eth2ClientConfig, ImOnlineConfig,
+ Perbill, RuntimeGenesisConfig, SessionConfig, Signature, StakerStatus, StakingConfig,
+ SudoConfig, SystemConfig, UNIT, WASM_BINARY,
};
use webb_consensus_types::network_config::{Network, NetworkConfig};
@@ -52,99 +50,21 @@ where
AccountPublic::from(get_from_seed::(seed)).into_account()
}
-/// Generate an Aura authority key.
-pub fn authority_keys_from_seed(
- controller: &str,
- stash: &str,
-) -> (AccountId, AccountId, AuraId, GrandpaId, ImOnlineId) {
- (
- get_account_id_from_seed::(controller),
- get_account_id_from_seed::(stash),
- get_from_seed::(controller),
- get_from_seed::(controller),
- get_from_seed::(stash),
- )
-}
-
/// Generate the session keys from individual elements.
///
/// The input must be a tuple of individual keys (a single arg for now since we
/// have just one key).
-fn dkg_session_keys(
+fn generate_sesion_keys(
grandpa: GrandpaId,
- aura: AuraId,
+ babe: BabeId,
im_online: ImOnlineId,
-) -> tangle_mainnet_runtime::opaque::SessionKeys {
- tangle_mainnet_runtime::opaque::SessionKeys { grandpa, aura, im_online }
-}
-
-pub fn local_testnet_config(chain_id: u64) -> Result {
- let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?;
- let mut properties = sc_chain_spec::Properties::new();
- properties.insert("tokenSymbol".into(), "TNT".into());
- properties.insert("tokenDecimals".into(), 18u32.into());
- properties.insert("ss58Format".into(), 42.into());
-
- Ok(ChainSpec::from_genesis(
- // Name
- "Local Testnet",
- // ID
- "local_testnet",
- ChainType::Local,
- move || {
- testnet_genesis(
- wasm_binary,
- // Initial PoA authorities
- vec![
- authority_keys_from_seed("Alice", "Alice//stash"),
- authority_keys_from_seed("Bob", "Bob//stash"),
- authority_keys_from_seed("Charlie", "Charlie//stash"),
- authority_keys_from_seed("Dave", "Dave//stash"),
- authority_keys_from_seed("Eve", "Eve//stash"),
- ],
- vec![],
- // Sudo account
- get_account_id_from_seed::("Alice"),
- // Pre-funded accounts
- vec![
- get_account_id_from_seed::("Alice"),
- get_account_id_from_seed::("Bob"),
- get_account_id_from_seed::("Charlie"),
- get_account_id_from_seed::("Dave"),
- get_account_id_from_seed::("Eve"),
- get_account_id_from_seed::("Alice//stash"),
- get_account_id_from_seed::("Bob//stash"),
- get_account_id_from_seed::("Charlie//stash"),
- get_account_id_from_seed::("Dave//stash"),
- get_account_id_from_seed::("Eve//stash"),
- ],
- chain_id,
- combine_distributions(vec![
- develop::get_evm_balance_distribution(),
- testnet::get_evm_balance_distribution(),
- ]),
- testnet::get_substrate_balance_distribution(),
- true,
- )
- },
- // Bootnodes
- vec![],
- // Telemetry
- None,
- // Protocol ID
- None,
- // Fork id
- None,
- // Properties
- Some(properties),
- // Extensions
- None,
- ))
+) -> tangle_runtime::opaque::SessionKeys {
+ tangle_runtime::opaque::SessionKeys { grandpa, babe, im_online }
}
pub fn tangle_mainnet_config(chain_id: u64) -> Result {
let wasm_binary = WASM_BINARY.ok_or_else(|| "tangle wasm not available".to_string())?;
- let boot_nodes = get_standalone_bootnodes();
+ let boot_nodes = get_bootnodes();
let mut properties = sc_chain_spec::Properties::new();
properties.insert("tokenSymbol".into(), "TNT".into());
properties.insert("tokenDecimals".into(), 18u32.into());
@@ -158,13 +78,7 @@ pub fn tangle_mainnet_config(chain_id: u64) -> Result {
mainnet_genesis(
wasm_binary,
// Initial PoA authorities
- vec![
- authority_keys_from_seed("Alice", "Alice//stash"),
- authority_keys_from_seed("Bob", "Bob//stash"),
- authority_keys_from_seed("Charlie", "Charlie//stash"),
- authority_keys_from_seed("Dave", "Dave//stash"),
- authority_keys_from_seed("Eve", "Eve//stash"),
- ],
+ get_initial_authorities(),
// Sudo account
get_root_key(),
// Pre-funded accounts
@@ -207,126 +121,11 @@ pub fn tangle_mainnet_config(chain_id: u64) -> Result {
))
}
-/// Configure initial storage state for FRAME modules.
-#[allow(clippy::too_many_arguments)]
-fn testnet_genesis(
- wasm_binary: &[u8],
- initial_authorities: Vec<(AccountId, AccountId, AuraId, GrandpaId, ImOnlineId)>,
- initial_nominators: Vec,
- root_key: AccountId,
- endowed_accounts: Vec,
- chain_id: u64,
- genesis_evm_distribution: Vec<(H160, fp_evm::GenesisAccount)>,
- genesis_substrate_distribution: Vec<(AccountId, Balance)>,
- _enable_println: bool,
-) -> RuntimeGenesisConfig {
- const ENDOWMENT: Balance = 10_000_000 * UNIT;
- const STASH: Balance = ENDOWMENT / 100;
-
- // stakers: all validators and nominators.
- let mut rng = rand::thread_rng();
- let stakers = initial_authorities
- .iter()
- .map(|x| (x.0.clone(), x.1.clone(), STASH, StakerStatus::Validator))
- .chain(initial_nominators.iter().map(|x| {
- use rand::{seq::SliceRandom, Rng};
- let limit = (MaxNominations::get() as usize).min(initial_authorities.len());
- let count = rng.gen::() % limit;
- let nominations = initial_authorities
- .as_slice()
- .choose_multiple(&mut rng, count)
- .map(|choice| choice.0.clone())
- .collect::>();
- (x.clone(), x.clone(), STASH, StakerStatus::Nominator(nominations))
- }))
- .collect::>();
-
- let num_endowed_accounts = endowed_accounts.len();
- RuntimeGenesisConfig {
- system: SystemConfig {
- // Add Wasm runtime to storage.
- code: wasm_binary.to_vec(),
- ..Default::default()
- },
- sudo: SudoConfig { key: Some(root_key) },
- balances: BalancesConfig {
- // Configure endowed accounts with initial balance of 1 << 60.
- balances: endowed_accounts
- .iter()
- .cloned()
- .map(|k| (k, ENDOWMENT))
- .chain(genesis_substrate_distribution.iter().cloned().map(|(k, v)| (k, v)))
- .collect(),
- },
- vesting: Default::default(),
- indices: Default::default(),
- session: SessionConfig {
- keys: initial_authorities
- .iter()
- .map(|x| {
- (
- x.1.clone(),
- x.0.clone(),
- dkg_session_keys(x.3.clone(), x.2.clone(), x.4.clone()),
- )
- })
- .collect::>(),
- },
- staking: StakingConfig {
- validator_count: initial_authorities.len() as u32,
- minimum_validator_count: initial_authorities.len() as u32 - 1,
- invulnerables: initial_authorities.iter().map(|x| x.0.clone()).collect(),
- slash_reward_fraction: Perbill::from_percent(10),
- stakers,
- ..Default::default()
- },
- democracy: Default::default(),
- council: Default::default(),
- elections: ElectionsConfig {
- members: endowed_accounts
- .iter()
- .take((num_endowed_accounts + 1) / 2)
- .cloned()
- .map(|member| (member, STASH))
- .collect(),
- },
- treasury: Default::default(),
- aura: Default::default(),
- grandpa: Default::default(),
- im_online: ImOnlineConfig { keys: vec![] },
- eth_2_client: Eth2ClientConfig {
- networks: vec![
- (webb_proposals::TypedChainId::Evm(1), NetworkConfig::new(&Network::Mainnet)),
- (webb_proposals::TypedChainId::Evm(5), NetworkConfig::new(&Network::Goerli)),
- ],
- phantom: PhantomData,
- },
- nomination_pools: Default::default(),
- transaction_payment: Default::default(),
- // EVM compatibility
- evm_chain_id: EVMChainIdConfig { chain_id, ..Default::default() },
- evm: EVMConfig {
- accounts: {
- let mut map = BTreeMap::new();
- for (address, account) in genesis_evm_distribution {
- map.insert(address, account);
- }
- map
- },
- ..Default::default()
- },
- ethereum: Default::default(),
- dynamic_fee: Default::default(),
- base_fee: Default::default(),
- claims: Default::default(),
- }
-}
-
/// Configure initial storage state for FRAME modules.
#[allow(clippy::too_many_arguments)]
fn mainnet_genesis(
wasm_binary: &[u8],
- initial_authorities: Vec<(AccountId, AccountId, AuraId, GrandpaId, ImOnlineId)>,
+ initial_authorities: Vec<(AccountId, AccountId, BabeId, GrandpaId, ImOnlineId)>,
root_key: AccountId,
endowed_accounts: Vec,
chain_id: u64,
@@ -368,7 +167,7 @@ fn mainnet_genesis(
(
x.1.clone(),
x.0.clone(),
- dkg_session_keys(x.3.clone(), x.2.clone(), x.4.clone()),
+ generate_sesion_keys(x.3.clone(), x.2.clone(), x.4.clone()),
)
})
.collect::>(),
@@ -385,7 +184,7 @@ fn mainnet_genesis(
council: Default::default(),
elections: Default::default(),
treasury: Default::default(),
- aura: Default::default(),
+ babe: Default::default(),
grandpa: Default::default(),
im_online: ImOnlineConfig { keys: vec![] },
nomination_pools: Default::default(),
@@ -396,7 +195,7 @@ fn mainnet_genesis(
ethereum: Default::default(),
dynamic_fee: Default::default(),
base_fee: Default::default(),
- // ETH2 light client
+ claims: Default::default(),
eth_2_client: Eth2ClientConfig {
networks: vec![
(webb_proposals::TypedChainId::Evm(1), NetworkConfig::new(&Network::Mainnet)),
@@ -404,6 +203,5 @@ fn mainnet_genesis(
],
phantom: PhantomData,
},
- claims: Default::default(),
}
}
diff --git a/node/src/chainspec/testnet.rs b/node/src/chainspec/testnet.rs
index 17cff378d..dff7a44bb 100644
--- a/node/src/chainspec/testnet.rs
+++ b/node/src/chainspec/testnet.rs
@@ -15,20 +15,18 @@ use std::collections::BTreeMap;
use crate::{
distributions::{combine_distributions, develop, testnet},
- testnet_fixtures::{
- get_standalone_bootnodes, get_standalone_initial_authorities, get_testnet_root_key,
- },
+ testnet_fixtures::{get_bootnodes, get_initial_authorities, get_testnet_root_key},
};
use core::marker::PhantomData;
use hex_literal::hex;
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sc_consensus_grandpa::AuthorityId as GrandpaId;
use sc_service::ChainType;
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::{sr25519, Pair, Public, H160};
use sp_runtime::traits::{IdentifyAccount, Verify};
use tangle_testnet_runtime::{
- AccountId, Balance, BalancesConfig, EVMChainIdConfig, EVMConfig, ElectionsConfig,
+ AccountId, BabeConfig, Balance, BalancesConfig, EVMChainIdConfig, EVMConfig, ElectionsConfig,
Eth2ClientConfig, ImOnlineConfig, MaxNominations, Perbill, RuntimeGenesisConfig, SessionConfig,
Signature, StakerStatus, StakingConfig, SudoConfig, SystemConfig, UNIT, WASM_BINARY,
};
@@ -54,15 +52,15 @@ where
AccountPublic::from(get_from_seed::(seed)).into_account()
}
-/// Generate an Aura authority key.
+/// Generate an babe authority key.
pub fn authority_keys_from_seed(
controller: &str,
stash: &str,
-) -> (AccountId, AccountId, AuraId, GrandpaId, ImOnlineId) {
+) -> (AccountId, AccountId, BabeId, GrandpaId, ImOnlineId) {
(
get_account_id_from_seed::(controller),
get_account_id_from_seed::(stash),
- get_from_seed::(controller),
+ get_from_seed::(controller),
get_from_seed::(controller),
get_from_seed::(stash),
)
@@ -72,12 +70,12 @@ pub fn authority_keys_from_seed(
///
/// The input must be a tuple of individual keys (a single arg for now since we
/// have just one key).
-fn dkg_session_keys(
+fn generate_sesion_keys(
grandpa: GrandpaId,
- aura: AuraId,
+ babe: BabeId,
im_online: ImOnlineId,
) -> tangle_testnet_runtime::opaque::SessionKeys {
- tangle_testnet_runtime::opaque::SessionKeys { grandpa, aura, im_online }
+ tangle_testnet_runtime::opaque::SessionKeys { grandpa, babe, im_online }
}
pub fn local_testnet_config(chain_id: u64) -> Result {
@@ -146,7 +144,7 @@ pub fn local_testnet_config(chain_id: u64) -> Result {
pub fn tangle_testnet_config(chain_id: u64) -> Result {
let wasm_binary = WASM_BINARY.ok_or_else(|| "tangle wasm not available".to_string())?;
- let boot_nodes = get_standalone_bootnodes();
+ let boot_nodes = get_bootnodes();
let mut properties = sc_chain_spec::Properties::new();
properties.insert("tokenSymbol".into(), "tTNT".into());
properties.insert("tokenDecimals".into(), 18u32.into());
@@ -154,13 +152,13 @@ pub fn tangle_testnet_config(chain_id: u64) -> Result {
Ok(ChainSpec::from_genesis(
"Tangle Standalone Testnet",
- "tangle-standalone-testnet",
+ "tangle-testnet",
ChainType::Development,
move || {
testnet_genesis(
wasm_binary,
// Initial PoA authorities
- get_standalone_initial_authorities(),
+ get_initial_authorities(),
// initial nominators
vec![],
// Sudo account
@@ -221,7 +219,7 @@ pub fn tangle_testnet_config(chain_id: u64) -> Result {
#[allow(clippy::too_many_arguments)]
fn testnet_genesis(
wasm_binary: &[u8],
- initial_authorities: Vec<(AccountId, AccountId, AuraId, GrandpaId, ImOnlineId)>,
+ initial_authorities: Vec<(AccountId, AccountId, BabeId, GrandpaId, ImOnlineId)>,
initial_nominators: Vec,
root_key: AccountId,
endowed_accounts: Vec,
@@ -277,7 +275,7 @@ fn testnet_genesis(
(
x.1.clone(),
x.0.clone(),
- dkg_session_keys(x.3.clone(), x.2.clone(), x.4.clone()),
+ generate_sesion_keys(x.3.clone(), x.2.clone(), x.4.clone()),
)
})
.collect::>(),
@@ -301,16 +299,12 @@ fn testnet_genesis(
.collect(),
},
treasury: Default::default(),
- aura: Default::default(),
+ babe: BabeConfig {
+ epoch_config: Some(tangle_testnet_runtime::BABE_GENESIS_EPOCH_CONFIG),
+ ..Default::default()
+ },
grandpa: Default::default(),
im_online: ImOnlineConfig { keys: vec![] },
- eth_2_client: Eth2ClientConfig {
- networks: vec![
- (webb_proposals::TypedChainId::Evm(1), NetworkConfig::new(&Network::Mainnet)),
- (webb_proposals::TypedChainId::Evm(5), NetworkConfig::new(&Network::Goerli)),
- ],
- phantom: PhantomData,
- },
nomination_pools: Default::default(),
transaction_payment: Default::default(),
// EVM compatibility
@@ -328,5 +322,13 @@ fn testnet_genesis(
ethereum: Default::default(),
dynamic_fee: Default::default(),
base_fee: Default::default(),
+ eth_2_client: Eth2ClientConfig {
+ networks: vec![
+ (webb_proposals::TypedChainId::Evm(1), NetworkConfig::new(&Network::Mainnet)),
+ (webb_proposals::TypedChainId::Evm(5), NetworkConfig::new(&Network::Goerli)),
+ ],
+ phantom: PhantomData,
+ },
+ claims: Default::default(),
}
}
diff --git a/node/src/cli.rs b/node/src/cli.rs
index f0d60fdbb..67b91f7d4 100644
--- a/node/src/cli.rs
+++ b/node/src/cli.rs
@@ -11,7 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#![allow(clippy::all, deprecated)]
+#![allow(clippy::all)]
use sc_cli::RunCmd;
use crate::service::EthConfiguration;
@@ -30,18 +30,6 @@ pub struct Cli {
#[command(flatten)]
pub eth: EthConfiguration,
-
- #[cfg(feature = "relayer")]
- #[clap(flatten)]
- pub relayer_cmd: tangle_relayer_gadget_cli::RelayerCmd,
-
- #[cfg(feature = "light-client")]
- #[clap(flatten)]
- pub light_client_relayer_cmd:
- pallet_eth2_light_client_relayer_gadget_cli::LightClientRelayerCmd,
-
- #[clap(short, long)]
- pub auto_insert_keys: bool,
}
#[derive(Debug, clap::Subcommand)]
diff --git a/node/src/command.rs b/node/src/command.rs
index f7bc8d087..8fdf4dd02 100644
--- a/node/src/command.rs
+++ b/node/src/command.rs
@@ -12,17 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
use crate::{
- benchmarking::{inherent_benchmark_data, RemarkBuilder, TransferKeepAliveBuilder},
chainspec,
cli::{Cli, Subcommand},
service,
};
-use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE};
+use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
use futures::TryFutureExt;
use sc_cli::SubstrateCli;
use sc_service::PartialComponents;
-use sp_keyring::Sr25519Keyring;
-use tangle_testnet_runtime::{Block, EXISTENTIAL_DEPOSIT};
+use tangle_primitives::Block;
trait IdentifyChain {
fn is_mainnet(&self) -> bool;
@@ -49,7 +47,7 @@ impl IdentifyChain for T {
impl SubstrateCli for Cli {
fn impl_name() -> String {
- "Tangle Standalone Substrate Node".into()
+ "Tangle Substrate Node".into()
}
fn impl_version() -> String {
@@ -74,11 +72,10 @@ impl SubstrateCli for Cli {
fn load_spec(&self, id: &str) -> Result, String> {
Ok(match id {
- "" | "local" => Box::new(chainspec::testnet::local_testnet_config(4006)?),
+ "" | "dev" | "local" => Box::new(chainspec::testnet::local_testnet_config(4006)?),
// generates the spec for testnet
"testnet" => Box::new(chainspec::testnet::tangle_testnet_config(4006)?),
// generates the spec for mainnet
- "mainnet-local" => Box::new(chainspec::mainnet::local_testnet_config(4006)?),
"mainnet" => Box::new(chainspec::mainnet::tangle_mainnet_config(4006)?),
"tangle-testnet" => Box::new(chainspec::testnet::ChainSpec::from_json_bytes(
&include_bytes!("../../chainspecs/testnet/tangle-standalone.json")[..],
@@ -186,34 +183,8 @@ pub fn run() -> sc_cli::Result<()> {
cmd.run(config, client, db, storage)
},
- BenchmarkCmd::Overhead(cmd) => {
- let PartialComponents { client, .. } =
- service::new_partial(&config, &cli.eth)?;
- let ext_builder = RemarkBuilder::new(client.clone());
-
- cmd.run(
- config,
- client,
- inherent_benchmark_data()?,
- Vec::new(),
- &ext_builder,
- )
- },
- BenchmarkCmd::Extrinsic(cmd) => {
- let PartialComponents { client, .. } =
- service::new_partial(&config, &cli.eth)?;
- // Register the *Remark* and *TKA* builders.
- let ext_factory = ExtrinsicFactory(vec![
- Box::new(RemarkBuilder::new(client.clone())),
- Box::new(TransferKeepAliveBuilder::new(
- client.clone(),
- Sr25519Keyring::Alice.to_account_id(),
- EXISTENTIAL_DEPOSIT,
- )),
- ]);
-
- cmd.run(client, inherent_benchmark_data()?, Vec::new(), &ext_factory)
- },
+ BenchmarkCmd::Overhead(_cmd) => Err("Unsupported benchmarking command".into()),
+ BenchmarkCmd::Extrinsic(_cmd) => Err("Unsupported benchmarking command".into()),
BenchmarkCmd::Machine(cmd) =>
cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()),
}
@@ -272,11 +243,6 @@ pub fn run() -> sc_cli::Result<()> {
rpc_config,
eth_config: cli.eth,
debug_output: cli.output_path,
- #[cfg(feature = "relayer")]
- relayer_cmd: cli.relayer_cmd,
- #[cfg(feature = "light-client")]
- light_client_relayer_cmd: cli.light_client_relayer_cmd,
- auto_insert_keys: cli.auto_insert_keys,
})
.map_err(Into::into)
.await
diff --git a/node/src/lib.rs b/node/src/lib.rs
index 3ca758625..01ad1fc66 100644
--- a/node/src/lib.rs
+++ b/node/src/lib.rs
@@ -1,9 +1,8 @@
-pub mod benchmarking;
pub mod chainspec;
+pub mod cli;
pub mod distributions;
pub mod eth;
pub mod mainnet_fixtures;
pub mod rpc;
pub mod service;
pub mod testnet_fixtures;
-pub mod utils;
diff --git a/node/src/main.rs b/node/src/main.rs
index 3263dab6a..0c8afb238 100644
--- a/node/src/main.rs
+++ b/node/src/main.rs
@@ -4,15 +4,13 @@
mod chainspec;
#[macro_use]
mod service;
-mod benchmarking;
mod cli;
mod command;
mod distributions;
mod eth;
-pub mod mainnet_fixtures;
+mod mainnet_fixtures;
mod rpc;
mod testnet_fixtures;
-mod utils;
fn main() -> sc_cli::Result<()> {
command::run()
diff --git a/node/src/mainnet_fixtures.rs b/node/src/mainnet_fixtures.rs
index 03819a1fb..b8c070f43 100644
--- a/node/src/mainnet_fixtures.rs
+++ b/node/src/mainnet_fixtures.rs
@@ -17,7 +17,7 @@ use hex_literal::hex;
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sc_consensus_grandpa::AuthorityId as GrandpaId;
use sc_network::config::MultiaddrWithPeerId;
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::crypto::UncheckedInto;
use tangle_testnet_runtime::AccountId;
@@ -28,7 +28,7 @@ pub fn get_root_key() -> AccountId {
}
/// Mainnet bootnodes
-pub fn get_standalone_bootnodes() -> Vec {
+pub fn get_bootnodes() -> Vec {
vec![
"/ip4/3.22.222.30/tcp/30333/p2p/12D3KooWRdvZ3PRteq8DC78Z3z5ZiehipKrKhHDRpgvCjc8XSeQx"
.parse()
@@ -49,8 +49,7 @@ pub fn get_standalone_bootnodes() -> Vec {
}
/// Standalone initial authorities
-pub fn get_standalone_initial_authorities(
-) -> Vec<(AccountId, AccountId, AuraId, GrandpaId, ImOnlineId)> {
+pub fn get_initial_authorities() -> Vec<(AccountId, AccountId, BabeId, GrandpaId, ImOnlineId)> {
vec![
// standalone 1
(
diff --git a/node/src/rpc/eth.rs b/node/src/rpc/eth.rs
index a5b841bcd..7f11183ee 100644
--- a/node/src/rpc/eth.rs
+++ b/node/src/rpc/eth.rs
@@ -18,16 +18,15 @@ use sp_core::H256;
use sp_inherents::CreateInherentDataProviders;
use sp_runtime::traits::Block as BlockT;
// Frontier
-use fc_rpc::pending::AuraConsensusDataProvider;
+
pub use fc_rpc::{EthBlockDataCacheTask, EthConfig, OverrideHandle, StorageOverride};
pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool};
pub use fc_storage::overrides_handle;
use fp_rpc::{ConvertTransaction, ConvertTransactionRuntimeApi, EthereumRuntimeRPCApi};
#[cfg(feature = "txpool")]
use rpc_txpool::TxPoolServer;
-use sc_client_api::{AuxStore, UsageProvider};
-use sp_consensus_aura::AuraApi;
-use tangle_primitives::AuraId;
+
+use sp_consensus_babe::BabeApi;
#[derive(Clone)]
pub struct TracingConfig {
@@ -120,19 +119,19 @@ pub fn create_eth(
where
B: BlockT,
C: CallApiAt + ProvideRuntimeApi,
- C::Api: AuraApi
+ C::Api: BabeApi
+ BlockBuilderApi
+ ConvertTransactionRuntimeApi
+ EthereumRuntimeRPCApi,
C::Api: rpc_primitives_debug::DebugRuntimeApi,
C::Api: rpc_primitives_txpool::TxPoolRuntimeApi,
- C: BlockchainEvents + AuxStore + UsageProvider + StorageProvider + 'static,
+ C: BlockchainEvents + StorageProvider + 'static,
C: HeaderBackend + HeaderMetadata + StorageProvider,
BE: Backend + 'static,
P: TransactionPool + 'static,
A: ChainApi + 'static,
CT: ConvertTransaction<::Extrinsic> + Send + Sync + 'static,
- CIDP: CreateInherentDataProviders + Send + 'static,
+ CIDP: CreateInherentDataProviders + Send + Sync + 'static,
EC: EthConfig,
{
use fc_rpc::{
@@ -188,7 +187,7 @@ where
execute_gas_limit_multiplier,
forced_parent_hashes,
pending_create_inherent_data_providers,
- Some(Box::new(AuraConsensusDataProvider::new(client.clone()))),
+ None,
)
.replace_config::()
.into_rpc(),
diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs
index e2bd827f6..732637414 100644
--- a/node/src/rpc/mod.rs
+++ b/node/src/rpc/mod.rs
@@ -8,6 +8,10 @@ use sc_client_api::{
backend::{Backend, StorageProvider},
client::BlockchainEvents,
};
+use sc_consensus_babe::BabeWorkerHandle;
+use sc_consensus_grandpa::{
+ FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,
+};
use sc_consensus_manual_seal::rpc::EngineCommand;
use sc_rpc::SubscriptionTaskExecutor;
use sc_rpc_api::DenyUnsafe;
@@ -15,19 +19,43 @@ use sc_service::TransactionPool;
use sc_transaction_pool::ChainApi;
use sp_api::{CallApiAt, ProvideRuntimeApi};
use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
+use sp_consensus::SelectChain;
+use sp_consensus_babe::BabeApi;
+use sp_keystore::KeystorePtr;
use sp_runtime::traits::Block as BlockT;
-use tangle_primitives::AuraId;
+use tangle_runtime::BlockNumber;
+
// Runtime
-use sc_client_api::{AuxStore, UsageProvider};
-use sp_inherents::CreateInherentDataProviders;
-use tangle_testnet_runtime::{opaque::Block, AccountId, Balance, Hash, Index};
+use tangle_runtime::{opaque::Block, AccountId, Balance, Hash, Index};
pub mod eth;
pub mod tracing;
pub use self::eth::{create_eth, overrides_handle, EthDeps};
+/// Extra dependencies for BABE.
+pub struct BabeDeps {
+ /// A handle to the BABE worker for issuing requests.
+ pub babe_worker_handle: BabeWorkerHandle,
+ /// The keystore that manages the keys of the node.
+ pub keystore: KeystorePtr,
+}
+
+/// Extra dependencies for GRANDPA
+pub struct GrandpaDeps {
+ /// Voting round info.
+ pub shared_voter_state: SharedVoterState,
+ /// Authority set info.
+ pub shared_authority_set: SharedAuthoritySet,
+ /// Receives notifications about justification events from Grandpa.
+ pub justification_stream: GrandpaJustificationStream,
+ /// Executor to drive the subscription manager in the Grandpa RPC handler.
+ pub subscription_executor: SubscriptionTaskExecutor,
+ /// Finality proof provider.
+ pub finality_provider: Arc>,
+}
+
/// Full client dependencies.
-pub struct FullDeps {
+pub struct FullDeps {
/// The client instance to use.
pub client: Arc,
/// Transaction pool instance.
@@ -38,6 +66,12 @@ pub struct FullDeps {
pub command_sink: Option>>,
/// Ethereum-compatibility specific dependencies.
pub eth: EthDeps,
+ /// BABE specific dependencies.
+ pub babe: BabeDeps,
+ /// The SelectChain Strategy
+ pub select_chain: SC,
+ /// GRANDPA specific dependencies.
+ pub grandpa: GrandpaDeps,
}
pub struct DefaultEthConfig(std::marker::PhantomData<(C, BE)>);
@@ -53,8 +87,8 @@ where
}
/// Instantiate all Full RPC extensions.
-pub fn create_full(
- deps: FullDeps,
+pub fn create_full(
+ deps: FullDeps,
subscription_task_executor: SubscriptionTaskExecutor,
pubsub_notification_sinks: Arc<
fc_mapping_sync::EthereumBlockNotificationSinks<
@@ -66,32 +100,52 @@ where
C: CallApiAt + ProvideRuntimeApi,
C::Api: substrate_frame_rpc_system::AccountNonceApi,
C::Api: sp_block_builder::BlockBuilder,
- C::Api: sp_consensus_aura::AuraApi,
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi,
C::Api: fp_rpc::ConvertTransactionRuntimeApi,
C::Api: fp_rpc::EthereumRuntimeRPCApi,
C::Api: rpc_primitives_debug::DebugRuntimeApi,
C::Api: rpc_primitives_txpool::TxPoolRuntimeApi,
- C: BlockchainEvents + AuxStore + UsageProvider + StorageProvider,
+ C::Api: BabeApi,
+ C: BlockchainEvents + 'static,
C: HeaderBackend
+ HeaderMetadata
- + StorageProvider
- + 'static,
+ + StorageProvider,
BE: Backend + 'static,
P: TransactionPool + 'static,
A: ChainApi + 'static,
- CIDP: CreateInherentDataProviders + Send + 'static,
CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static,
+ SC: SelectChain + 'static,
+ B: sc_client_api::Backend + Send + Sync + 'static,
+ B::State: sc_client_api::backend::StateBackend,
+ CIDP: sp_inherents::CreateInherentDataProviders + Send + Sync + 'static,
{
use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer};
+ use sc_consensus_babe_rpc::{Babe, BabeApiServer};
+ use sc_consensus_grandpa_rpc::{Grandpa, GrandpaApiServer};
use sc_consensus_manual_seal::rpc::{ManualSeal, ManualSealApiServer};
use substrate_frame_rpc_system::{System, SystemApiServer};
let mut io = RpcModule::new(());
- let FullDeps { client, pool, deny_unsafe, command_sink, eth } = deps;
+ let FullDeps { client, pool, deny_unsafe, command_sink, eth, babe, select_chain, grandpa } =
+ deps;
+
+ let BabeDeps { keystore, babe_worker_handle } = babe;
+
+ let GrandpaDeps {
+ shared_voter_state,
+ shared_authority_set,
+ justification_stream,
+ subscription_executor,
+ finality_provider,
+ } = grandpa;
io.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?;
- io.merge(TransactionPayment::new(client).into_rpc())?;
+ io.merge(TransactionPayment::new(client.clone()).into_rpc())?;
+
+ io.merge(
+ Babe::new(client.clone(), babe_worker_handle.clone(), keystore, select_chain, deny_unsafe)
+ .into_rpc(),
+ )?;
if let Some(command_sink) = command_sink {
io.merge(
@@ -101,6 +155,17 @@ where
)?;
}
+ io.merge(
+ Grandpa::new(
+ subscription_executor,
+ shared_authority_set.clone(),
+ shared_voter_state,
+ justification_stream,
+ finality_provider,
+ )
+ .into_rpc(),
+ )?;
+
// Ethereum compatibility RPCs
let io = create_eth::<_, _, _, _, _, _, _, DefaultEthConfig>(
io,
@@ -108,5 +173,6 @@ where
subscription_task_executor,
pubsub_notification_sinks,
)?;
+
Ok(io)
}
diff --git a/node/src/service.rs b/node/src/service.rs
index 7f17123ba..1dba374c0 100644
--- a/node/src/service.rs
+++ b/node/src/service.rs
@@ -1,4 +1,3 @@
-#![allow(clippy::all)]
// Copyright 2022 Webb Technologies Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,134 +13,100 @@
// limitations under the License.
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
-
pub use crate::eth::{db_config_dir, EthConfiguration};
use crate::eth::{
new_frontier_partial, spawn_frontier_tasks, BackendType, EthApi, FrontierBackend,
FrontierBlockImport, FrontierPartialComponents, RpcConfig,
};
use futures::{channel::mpsc, FutureExt};
-use parity_scale_codec::Encode;
+
use sc_client_api::{Backend, BlockBackend};
use sc_consensus::BasicQueue;
-use sc_consensus_aura::ImportQueueParams;
+use sc_consensus_babe::{BabeWorkerHandle, SlotProportion};
use sc_consensus_grandpa::SharedVoterState;
pub use sc_executor::NativeElseWasmExecutor;
-use sc_service::{error::Error as ServiceError, ChainType, Configuration, TaskManager};
+use sc_service::{error::Error as ServiceError, Configuration, TaskManager};
use sc_telemetry::{Telemetry, TelemetryWorker};
use sc_transaction_pool_api::OffchainTransactionPoolFactory;
-use sp_api::ProvideRuntimeApi;
-use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;
-use sp_core::{Pair, U256};
-use sp_runtime::{generic::Era, SaturatedConversion};
+
+use sp_core::U256;
use std::{path::Path, sync::Arc, time::Duration};
-use substrate_frame_rpc_system::AccountNonceApi;
-use tangle_testnet_runtime::{self, opaque::Block, RuntimeApi, TransactionConverter};
-pub fn fetch_nonce(client: &FullClient, account: sp_core::sr25519::Pair) -> u32 {
- let best_hash = client.chain_info().best_hash;
- client
- .runtime_api()
- .account_nonce(best_hash, account.public().into())
- .expect("Fetching account nonce works; qed")
-}
+#[cfg(not(feature = "testnet"))]
+use tangle_runtime::{self, opaque::Block, RuntimeApi, TransactionConverter};
+
+#[cfg(feature = "testnet")]
+use tangle_testnet_runtime::{self, opaque::Block, RuntimeApi, TransactionConverter};
/// The minimum period of blocks on which justifications will be
/// imported and generated.
const GRANDPA_JUSTIFICATION_PERIOD: u32 = 512;
-// Our native executor instance.
-pub struct ExecutorDispatch;
-
-impl sc_executor::NativeExecutionDispatch for ExecutorDispatch {
- /// Only enable the benchmarking host functions when we actually want to benchmark.
- #[cfg(feature = "runtime-benchmarks")]
- type ExtendHostFunctions =
- (frame_benchmarking::benchmarking::HostFunctions, primitives_ext::ext::HostFunctions);
- /// Otherwise we only use the default Substrate host functions.
- #[cfg(not(feature = "runtime-benchmarks"))]
- type ExtendHostFunctions = primitives_ext::ext::HostFunctions;
+#[cfg(not(feature = "testnet"))]
+pub mod tangle {
+ // Our native executor instance.
+ pub struct ExecutorDispatch;
+
+ impl sc_executor::NativeExecutionDispatch for ExecutorDispatch {
+ /// Only enable the benchmarking host functions when we actually want to benchmark.
+ #[cfg(feature = "runtime-benchmarks")]
+ type ExtendHostFunctions =
+ (frame_benchmarking::benchmarking::HostFunctions, primitives_ext::ext::HostFunctions);
+ /// Otherwise we only use the default Substrate host functions.
+ #[cfg(not(feature = "runtime-benchmarks"))]
+ type ExtendHostFunctions = primitives_ext::ext::HostFunctions;
+
+ fn dispatch(method: &str, data: &[u8]) -> Option> {
+ tangle_runtime::api::dispatch(method, data)
+ }
- fn dispatch(method: &str, data: &[u8]) -> Option> {
- tangle_testnet_runtime::api::dispatch(method, data)
+ fn native_version() -> sc_executor::NativeVersion {
+ tangle_runtime::native_version()
+ }
}
+}
- fn native_version() -> sc_executor::NativeVersion {
- tangle_testnet_runtime::native_version()
+#[cfg(feature = "testnet")]
+pub mod testnet {
+ // Our native executor instance.
+ pub struct ExecutorDispatch;
+
+ impl sc_executor::NativeExecutionDispatch for ExecutorDispatch {
+ /// Only enable the benchmarking host functions when we actually want to benchmark.
+ #[cfg(feature = "runtime-benchmarks")]
+ type ExtendHostFunctions =
+ (frame_benchmarking::benchmarking::HostFunctions, primitives_ext::ext::HostFunctions);
+ /// Otherwise we only use the default Substrate host functions.
+ #[cfg(not(feature = "runtime-benchmarks"))]
+ type ExtendHostFunctions = primitives_ext::ext::HostFunctions;
+
+ fn dispatch(method: &str, data: &[u8]) -> Option> {
+ tangle_testnet_runtime::api::dispatch(method, data)
+ }
+
+ fn native_version() -> sc_executor::NativeVersion {
+ tangle_testnet_runtime::native_version()
+ }
}
}
+#[cfg(not(feature = "testnet"))]
pub(crate) type FullClient =
- sc_service::TFullClient>;
+ sc_service::TFullClient>;
+
+#[cfg(feature = "testnet")]
+pub(crate) type FullClient =
+ sc_service::TFullClient>;
+
pub(crate) type FullBackend = sc_service::TFullBackend;
type FullSelectChain = sc_consensus::LongestChain;
type GrandpaLinkHalf = sc_consensus_grandpa::LinkHalf;
type BoxBlockImport = sc_consensus::BoxBlockImport;
-/// Create a transaction using the given `call`
-///
-/// The transaction will be signed by `sender`. If `nonce` is `None` it will be fetched from the
-/// state of the best block.
-///
-/// Note: Should only be used for tests.
-pub fn create_extrinsic(
- client: &FullClient,
- sender: sp_core::sr25519::Pair,
- function: impl Into,
- nonce: Option,
-) -> tangle_testnet_runtime::UncheckedExtrinsic {
- let function = function.into();
- let genesis_hash = client.block_hash(0).ok().flatten().expect("Genesis block exists; qed");
- let best_hash = client.chain_info().best_hash;
- let best_block = client.chain_info().best_number;
- let nonce = nonce.unwrap_or_else(|| fetch_nonce(client, sender.clone()));
-
- let period = tangle_testnet_runtime::BlockHashCount::get()
- .checked_next_power_of_two()
- .map(|c| c / 2)
- .unwrap_or(2) as u64;
- let tip = 0;
- let extra: tangle_testnet_runtime::SignedExtra = (
- frame_system::CheckNonZeroSender::::new(),
- frame_system::CheckSpecVersion::::new(),
- frame_system::CheckTxVersion::::new(),
- frame_system::CheckGenesis::::new(),
- frame_system::CheckEra::::from(Era::Mortal(
- period,
- best_block.saturated_into(),
- )),
- frame_system::CheckNonce::::from(nonce),
- frame_system::CheckWeight::::new(),
- pallet_transaction_payment::ChargeTransactionPayment::::from(tip),
- );
-
- let raw_payload = tangle_testnet_runtime::SignedPayload::from_raw(
- function.clone(),
- extra.clone(),
- (
- (),
- tangle_testnet_runtime::VERSION.spec_version,
- tangle_testnet_runtime::VERSION.transaction_version,
- genesis_hash,
- best_hash,
- (),
- (),
- (),
- ),
- );
- let signature = raw_payload.using_encoded(|e| sender.sign(e));
-
- tangle_testnet_runtime::UncheckedExtrinsic::new_signed(
- function,
- sp_runtime::AccountId32::from(sender.public()).into(),
- tangle_testnet_runtime::Signature::Sr25519(signature),
- extra,
- )
-}
-
+#[allow(clippy::type_complexity)]
pub fn new_partial(
config: &Configuration,
eth_config: &EthConfiguration,
@@ -156,26 +121,14 @@ pub fn new_partial(
Option,
BoxBlockImport,
GrandpaLinkHalf,
+ sc_consensus_babe::BabeLink,
FrontierBackend,
Arc>,
+ BabeWorkerHandle,
),
>,
ServiceError,
> {
- println!(" ++++++++++++++++++++++++
- +++++++++++++++++++++++++++
- +++++++++++++++++++++++++++
- +++ ++++++ +++ @%%%%%%%%%%% %%%
- ++++++ ++++ +++++ %%%%%%%%%%%% %%%@
- ++++++++++++++++++++++++++ %%%% %%%%@ %%% %%@ @%%%%%%% %%%@ %%%%@
- ++++++++ %%%% @%%%%%%%@ %%%%%%%%% @%%%%%%%%% %%%@ %%%%%%%%%
- ++++++++ %%%% %%%%%%%%% %%%% @%%%@ %%%% %%%% %%%@ %%%%%%%%%%
- ++++++++++++++++++++++++++ %%%% %%%%%%%%% %%% %%%% %%% @%%% %%%@ @%%%%% %%%%%
- ++++++ ++++ ++++++ %%%% %%%%%%%%% %%% %%%% %%%%%%%%%% %%%@ %%%%%%%%%@
- +++ ++++++ +++ %%%% %%%%%%%%% %%% %%%@ %%%%%%%%% %%% %%%%%%%@
- ++++ +++++++++ +++ %%%% %%%%
- ++++++++++++++++++++++++++++ %%%%%%%%%
- +++++++++++++++++++++++ %%%%% \n");
let telemetry = config
.telemetry_endpoints
.clone()
@@ -250,33 +203,42 @@ pub fn new_partial(
},
};
- let frontier_block_import =
- FrontierBlockImport::new(grandpa_block_import.clone(), client.clone());
+ let (block_import, babe_link) = sc_consensus_babe::block_import(
+ sc_consensus_babe::configuration(&*client)?,
+ grandpa_block_import.clone(),
+ client.clone(),
+ )?;
+
+ let slot_duration = babe_link.config().slot_duration();
- let slot_duration = sc_consensus_aura::slot_duration(&*client)?;
let target_gas_price = eth_config.target_gas_price;
- let create_inherent_data_providers = move |_, ()| async move {
- let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
- let slot =
- sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
- *timestamp,
- slot_duration,
- );
- let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
- Ok((slot, timestamp, dynamic_fee))
- };
- let import_queue =
- sc_consensus_aura::import_queue::(ImportQueueParams {
+ let frontier_block_import = FrontierBlockImport::new(block_import.clone(), client.clone());
+
+ let (import_queue, babe_worker_handle) =
+ sc_consensus_babe::import_queue(sc_consensus_babe::ImportQueueParams {
+ link: babe_link.clone(),
block_import: frontier_block_import.clone(),
justification_import: Some(Box::new(grandpa_block_import.clone())),
client: client.clone(),
- create_inherent_data_providers,
+ select_chain: select_chain.clone(),
+ create_inherent_data_providers: move |_, ()| async move {
+ let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
+
+ let slot =
+ sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
+ *timestamp,
+ slot_duration,
+ );
+
+ let _dynamic_fee =
+ fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
+ Ok((slot, timestamp))
+ },
spawner: &task_manager.spawn_essential_handle(),
registry: config.prometheus_registry(),
- check_for_equivocation: Default::default(),
telemetry: telemetry.as_ref().map(|x| x.handle()),
- compatibility_mode: Default::default(),
+ offchain_tx_pool_factory: OffchainTransactionPoolFactory::new(transaction_pool.clone()),
})?;
Ok(sc_service::PartialComponents {
@@ -291,8 +253,10 @@ pub fn new_partial(
telemetry,
Box::new(frontier_block_import),
grandpa_link,
+ babe_link,
frontier_backend,
overrides,
+ babe_worker_handle,
),
})
}
@@ -301,26 +265,10 @@ pub struct RunFullParams {
pub eth_config: EthConfiguration,
pub rpc_config: RpcConfig,
pub debug_output: Option,
- #[cfg(feature = "relayer")]
- pub relayer_cmd: tangle_relayer_gadget_cli::RelayerCmd,
- #[cfg(feature = "light-client")]
- pub light_client_relayer_cmd:
- pallet_eth2_light_client_relayer_gadget_cli::LightClientRelayerCmd,
- pub auto_insert_keys: bool,
}
/// Builds a new service for a full client.
pub async fn new_full(
- RunFullParams {
- mut config,
- eth_config,
- rpc_config,
- debug_output: _,
- #[cfg(feature = "relayer")]
- relayer_cmd,
- #[cfg(feature = "light-client")]
- light_client_relayer_cmd,
- auto_insert_keys,
- }: RunFullParams,
+ RunFullParams { mut config, eth_config, rpc_config, debug_output: _ }: RunFullParams,
) -> Result {
let sc_service::PartialComponents {
client,
@@ -330,39 +278,18 @@ pub async fn new_full(
keystore_container,
select_chain,
transaction_pool,
- other: (mut telemetry, block_import, grandpa_link, frontier_backend, overrides),
+ other:
+ (
+ mut telemetry,
+ block_import,
+ grandpa_link,
+ babe_link,
+ frontier_backend,
+ overrides,
+ babe_worker_handle,
+ ),
} = new_partial(&config, ð_config)?;
- if config.role.is_authority() {
- if auto_insert_keys {
- crate::utils::insert_controller_account_keys_into_keystore(
- &config,
- Some(keystore_container.keystore()),
- );
- } else {
- crate::utils::insert_dev_controller_account_keys_into_keystore(
- &config,
- Some(keystore_container.keystore()),
- );
- }
-
- // finally check if keys are inserted correctly
- if config.chain_spec.chain_type() != ChainType::Development {
- if crate::utils::ensure_all_keys_exist_in_keystore(keystore_container.keystore())
- .is_err()
- {
- println!("
- ++++++++++++++++++++++++++++++++++++++++++++++++
- Validator keys not found, validator keys are essential to run a validator on
- Tangle Network, refer to https://docs.webb.tools/docs/ecosystem-roles/validator/required-keys/ on
- how to generate and insert keys. OR start the node with --auto-insert-keys to automatically generate the keys.
- ++++++++++++++++++++++++++++++++++++++++++++++++
- \n");
- panic!("Keys not detected!")
- }
- }
- }
-
let FrontierPartialComponents { filter_pool, fee_history_cache, fee_history_cache_limit } =
new_frontier_partial(ð_config)?;
@@ -397,7 +324,6 @@ pub async fn new_full(
let role = config.role.clone();
let force_authoring = config.force_authoring;
- let _backoff_authoring_blocks: Option<()> = None;
let name = config.network.node_name.clone();
let enable_grandpa = !config.disable_grandpa;
let prometheus_registry = config.prometheus_registry().cloned();
@@ -439,20 +365,8 @@ pub async fn new_full(
// for ethereum-compatibility rpc.
config.rpc_id_provider = Some(Box::new(fc_rpc::EthereumSubIdProvider));
- let slot_duration = sc_consensus_aura::slot_duration(&*client)?;
+ let slot_duration = babe_link.config().slot_duration();
let target_gas_price = eth_config.target_gas_price;
- let pending_create_inherent_data_providers = move |_, ()| async move {
- let current = sp_timestamp::InherentDataProvider::from_system_time();
- let next_slot = current.timestamp().as_millis() + slot_duration.as_millis();
- let timestamp = sp_timestamp::InherentDataProvider::new(next_slot.into());
- let slot =
- sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
- *timestamp,
- slot_duration,
- );
- let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
- Ok((slot, timestamp, dynamic_fee))
- };
let ethapi_cmd = rpc_config.ethapi.clone();
let tracing_requesters =
@@ -469,6 +383,20 @@ pub async fn new_full(
} else {
crate::rpc::tracing::RpcRequesters { debug: None, trace: None }
};
+
+ let pending_create_inherent_data_providers = move |_, ()| async move {
+ let current = sp_timestamp::InherentDataProvider::from_system_time();
+ let next_slot = current.timestamp().as_millis() + slot_duration.as_millis();
+ let timestamp = sp_timestamp::InherentDataProvider::new(next_slot.into());
+ let slot =
+ sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
+ *timestamp,
+ slot_duration,
+ );
+ let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
+ Ok((slot, timestamp, dynamic_fee))
+ };
+
let eth_rpc_params = crate::rpc::EthDeps {
client: client.clone(),
pool: transaction_pool.clone(),
@@ -503,34 +431,52 @@ pub async fn new_full(
pending_create_inherent_data_providers,
};
+ let keystore = keystore_container.keystore();
+ let select_chain_clone = select_chain.clone();
let rpc_builder = {
let client = client.clone();
let pool = transaction_pool.clone();
let pubsub_notification_sinks = pubsub_notification_sinks.clone();
- Box::new(move |deny_unsafe, subscription_task_executor| {
- let deps = crate::rpc::FullDeps {
- client: client.clone(),
- pool: pool.clone(),
- deny_unsafe,
- command_sink: Some(command_sink.clone()),
- eth: eth_rpc_params.clone(),
- };
- if ethapi_cmd.contains(&EthApi::Debug) || ethapi_cmd.contains(&EthApi::Trace) {
- crate::rpc::create_full(
- deps,
- subscription_task_executor,
- pubsub_notification_sinks.clone(),
- )
- .map_err(Into::into)
- } else {
+ let justification_stream = grandpa_link.justification_stream();
+ let shared_authority_set = grandpa_link.shared_authority_set().clone();
+ let shared_voter_state = sc_consensus_grandpa::SharedVoterState::empty();
+ let _shared_voter_state2 = shared_voter_state.clone();
+
+ let finality_proof_provider = sc_consensus_grandpa::FinalityProofProvider::new_for_service(
+ backend.clone(),
+ Some(shared_authority_set.clone()),
+ );
+
+ Box::new(
+ move |deny_unsafe, subscription_task_executor: sc_rpc::SubscriptionTaskExecutor| {
+ let deps = crate::rpc::FullDeps {
+ client: client.clone(),
+ pool: pool.clone(),
+ deny_unsafe,
+ command_sink: Some(command_sink.clone()),
+ eth: eth_rpc_params.clone(),
+ babe: crate::rpc::BabeDeps {
+ keystore: keystore.clone(),
+ babe_worker_handle: babe_worker_handle.clone(),
+ },
+ select_chain: select_chain_clone.clone(),
+ grandpa: crate::rpc::GrandpaDeps {
+ shared_voter_state: shared_voter_state.clone(),
+ shared_authority_set: shared_authority_set.clone(),
+ justification_stream: justification_stream.clone(),
+ subscription_executor: subscription_task_executor.clone(),
+ finality_provider: finality_proof_provider.clone(),
+ },
+ };
+
crate::rpc::create_full(
deps,
subscription_task_executor,
pubsub_notification_sinks.clone(),
)
.map_err(Into::into)
- }
- })
+ },
+ )
};
spawn_frontier_tasks(
@@ -547,49 +493,6 @@ pub async fn new_full(
)
.await;
- if role.is_authority() {
- // setup relayer gadget params
- #[cfg(feature = "relayer")]
- let relayer_params = tangle_relayer_gadget::RelayerParams {
- local_keystore: keystore_container.local_keystore(),
- config_dir: relayer_cmd.relayer_config_dir,
- database_path: config
- .database
- .path()
- .and_then(|path| path.parent())
- .map(|p| p.to_path_buf()),
- rpc_addr: config.rpc_addr,
- };
-
- // Start Webb Relayer Gadget as non-essential task.
- #[cfg(feature = "relayer")]
- task_manager.spawn_handle().spawn(
- "relayer-gadget",
- None,
- tangle_relayer_gadget::start_relayer_gadget(
- relayer_params,
- sp_application_crypto::KeyTypeId(*b"role"),
- ),
- );
-
- // Start Eth2 Light client Relayer Gadget - (MAINNET RELAYER)
- #[cfg(feature = "light-client")]
- task_manager.spawn_handle().spawn(
- "mainnet-relayer-gadget",
- None,
- pallet_eth2_light_client_relayer_gadget::start_gadget(
- pallet_eth2_light_client_relayer_gadget::Eth2LightClientParams {
- lc_relay_config_path: light_client_relayer_cmd
- .light_client_relay_config_path
- .clone(),
- lc_init_config_path: light_client_relayer_cmd
- .light_client_init_pallet_config_path
- .clone(),
- eth2_chain_id: webb_proposals::TypedChainId::Evm(1),
- },
- ),
- );
- }
let params = sc_service::SpawnTasksParams {
network: network.clone(),
client: client.clone(),
@@ -615,43 +518,55 @@ pub async fn new_full(
telemetry.as_ref().map(|x| x.handle()),
);
- let slot_duration = sc_consensus_aura::slot_duration(&*client)?;
- let target_gas_price = eth_config.target_gas_price;
- let create_inherent_data_providers = move |_, ()| async move {
- let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
- let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
- *timestamp,
- slot_duration,
- );
- let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
- Ok((slot, timestamp, dynamic_fee))
- };
+ let backoff_authoring_blocks =
+ Some(sc_consensus_slots::BackoffAuthoringOnFinalizedHeadLagging::default());
- let aura = sc_consensus_aura::start_aura::(
- sc_consensus_aura::StartAuraParams {
- slot_duration,
- client,
- select_chain,
- block_import,
- proposer_factory,
- sync_oracle: sync_service.clone(),
- justification_sync_link: sync_service.clone(),
- create_inherent_data_providers,
- force_authoring,
- backoff_authoring_blocks: Option::<()>::None,
- keystore: keystore_container.keystore(),
- block_proposal_slot_portion: sc_consensus_aura::SlotProportion::new(2f32 / 3f32),
- max_block_proposal_slot_portion: None,
- telemetry: telemetry.as_ref().map(|x| x.handle()),
- compatibility_mode: sc_consensus_aura::CompatibilityMode::None,
+ let babe_config = sc_consensus_babe::BabeParams {
+ keystore: keystore_container.keystore(),
+ client: client.clone(),
+ select_chain,
+ env: proposer_factory,
+ block_import,
+ sync_oracle: sync_service.clone(),
+ justification_sync_link: sync_service.clone(),
+ create_inherent_data_providers: move |parent, ()| {
+ let client_clone = client.clone();
+ async move {
+ let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
+
+ let slot =
+ sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
+ *timestamp,
+ slot_duration,
+ );
+
+ let storage_proof =
+ sp_transaction_storage_proof::registration::new_data_provider(
+ &*client_clone,
+ &parent,
+ )?;
+ let _dynamic_fee =
+ fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
+ Ok((slot, timestamp, storage_proof))
+ }
},
- )?;
+ force_authoring,
+ backoff_authoring_blocks,
+ babe_link,
+ block_proposal_slot_portion: SlotProportion::new(0.5),
+ max_block_proposal_slot_portion: None,
+ telemetry: telemetry.as_ref().map(|x| x.handle()),
+ };
- // the AURA authoring task is considered essential, i.e. if it
+ let babe = sc_consensus_babe::start_babe(babe_config)?;
+
+ // the BABE authoring task is considered essential, i.e. if it
// fails we take down the service with it.
- task_manager
- .spawn_essential_handle()
- .spawn_blocking("aura", Some("block-authoring"), aura);
+ task_manager.spawn_essential_handle().spawn_blocking(
+ "babe-proposer",
+ Some("block-authoring"),
+ babe,
+ );
}
// if the node isn't actively participating in consensus then it doesn't
@@ -702,6 +617,7 @@ pub async fn new_full(
Ok(task_manager)
}
+#[allow(clippy::type_complexity)]
pub fn new_chain_ops(
config: &mut Configuration,
eth_config: &EthConfiguration,
@@ -713,5 +629,5 @@ pub fn new_chain_ops(
let sc_service::PartialComponents {
client, backend, import_queue, task_manager, other, ..
} = new_partial(config, eth_config)?;
- Ok((client, backend, import_queue, task_manager, other.3))
+ Ok((client, backend, import_queue, task_manager, other.4))
}
diff --git a/node/src/testnet_fixtures.rs b/node/src/testnet_fixtures.rs
index bf7dd1983..e76496e3f 100644
--- a/node/src/testnet_fixtures.rs
+++ b/node/src/testnet_fixtures.rs
@@ -17,7 +17,7 @@ use hex_literal::hex;
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sc_consensus_grandpa::AuthorityId as GrandpaId;
use sc_network::config::MultiaddrWithPeerId;
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::crypto::UncheckedInto;
use tangle_testnet_runtime::AccountId;
@@ -28,7 +28,7 @@ pub fn get_testnet_root_key() -> AccountId {
}
/// Standalone alpha bootnodes
-pub fn get_standalone_bootnodes() -> Vec {
+pub fn get_bootnodes() -> Vec {
vec![
"/ip4/3.22.222.30/tcp/30333/p2p/12D3KooWRdvZ3PRteq8DC78Z3z5ZiehipKrKhHDRpgvCjc8XSeQx"
.parse()
@@ -49,8 +49,7 @@ pub fn get_standalone_bootnodes() -> Vec {
}
/// Standalone initial authorities
-pub fn get_standalone_initial_authorities(
-) -> Vec<(AccountId, AccountId, AuraId, GrandpaId, ImOnlineId)> {
+pub fn get_initial_authorities() -> Vec<(AccountId, AccountId, BabeId, GrandpaId, ImOnlineId)> {
vec![
// standalone 1
(
diff --git a/node/src/utils.rs b/node/src/utils.rs
deleted file mode 100644
index 348f6ebbd..000000000
--- a/node/src/utils.rs
+++ /dev/null
@@ -1,123 +0,0 @@
-use sc_service::{ChainType, Configuration};
-use sp_core::{ed25519, sr25519, ByteArray, Pair, Public};
-use sp_keystore::{Keystore, KeystorePtr};
-use sp_runtime::{
- key_types::{ACCOUNT, AURA, GRANDPA, IM_ONLINE},
- KeyTypeId,
-};
-
-/// Helper function to generate a crypto pair from seed.
-pub fn get_from_seed(seed: &str) -> ::Public {
- TPublic::Pair::from_string(&format!("//{seed}"), None)
- .expect("static values are valid; qed")
- .public()
-}
-
-/// Inserts a key of type `ACCOUNT` into the keystore for development/testing.
-pub fn insert_controller_account_keys_into_keystore(
- config: &Configuration,
- key_store: Option,
-) {
- insert_account_keys_into_keystore::(
- config,
- ACCOUNT,
- key_store.clone(),
- "acco",
- );
- insert_account_keys_into_keystore::(
- config,
- GRANDPA,
- key_store.clone(),
- "Grandpa",
- );
- insert_account_keys_into_keystore::(config, AURA, key_store.clone(), "Aura");
- insert_account_keys_into_keystore::(
- config,
- IM_ONLINE,
- key_store.clone(),
- "ImOnline",
- );
-}
-
-/// Inserts keys of specified type into the keystore.
-fn insert_account_keys_into_keystore(
- config: &Configuration,
- key_type: KeyTypeId,
- key_store: Option,
- key_name: &str,
-) {
- let seed = &config.network.node_name[..];
-
- let pub_key = get_from_seed::(seed).to_raw_vec();
- if let Some(keystore) = key_store {
- let _ = Keystore::insert(&*keystore, key_type, &format!("//{seed}"), &pub_key);
- }
-
- println!("++++++++++++++++++++++++++++++++++++++++++++++++
- AUTO GENERATED KEYS
- {:?} key inserted to keystore
- Seed : //{:?}
- Pubkey : {:?}
- STORE THE KEYS SAFELY, NOT TO BE SHARED WITH ANYONE ELSE.
- ++++++++++++++++++++++++++++++++++++++++++++++++
- \n", key_name, seed, pub_key);
-}
-
-/// Inserts a key of type `ACCOUNT` into the keystore for development/testing.
-///
-/// Currently, this only successfully inserts keys if the seed is development related.
-/// i.e. for Alice, Bob, Charlie, etc.
-pub fn insert_dev_controller_account_keys_into_keystore(
- config: &Configuration,
- key_store: Option,
-) {
- insert_dev_account_keys_into_keystore::(config, ACCOUNT, key_store.clone());
-}
-
-/// Inserts keys of specified type into the keystore for predefined nodes in development mode.
-pub fn insert_dev_account_keys_into_keystore(
- config: &Configuration,
- key_type: KeyTypeId,
- key_store: Option,
-) {
- let chain_type = config.chain_spec.chain_type();
- let seed = &config.network.node_name[..];
-
- match seed {
- // When running the chain in dev or local test net, we insert the sr25519 account keys for
- // collator accounts or validator accounts into the keystore Only if the node running is one
- // of the predefined nodes Alice, Bob, Charlie, Dave, Eve or Ferdie
- "Alice" | "Bob" | "Charlie" | "Dave" | "Eve" | "Ferdie" => {
- if chain_type == ChainType::Development || chain_type == ChainType::Local {
- let pub_key = get_from_seed::(seed).to_raw_vec();
- if let Some(keystore) = key_store {
- let _ = Keystore::insert(&*keystore, key_type, &format!("//{seed}"), &pub_key);
- }
- }
- },
- _ => {},
- }
-}
-
-/// Ensures all keys exist in the keystore.
-pub fn ensure_all_keys_exist_in_keystore(key_store: KeystorePtr) -> Result<(), String> {
- let key_types = [ACCOUNT, GRANDPA, AURA, IM_ONLINE];
-
- for key_type in key_types {
- // Ensure key is present
- if !ensure_keytype_exists_in_keystore(key_type, key_store.clone()) {
- println!("{key_type:?} key not found!");
- return Err("Key not found!".to_string())
- }
- }
-
- Ok(())
-}
-
-/// Checks if a key of a specific type exists in the keystore.
-fn ensure_keytype_exists_in_keystore(key_type: KeyTypeId, key_store: KeystorePtr) -> bool {
- match Keystore::keys(&key_store, key_type) {
- Ok(keys) => !keys.is_empty(),
- Err(_) => false,
- }
-}
diff --git a/pallets/dkg/src/weights.rs b/pallets/dkg/src/weights.rs
index 783a630d4..815ca1ac6 100644
--- a/pallets/dkg/src/weights.rs
+++ b/pallets/dkg/src/weights.rs
@@ -21,7 +21,7 @@
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
-// target/release/tangle-standalone
+// target/release/tangle
// benchmark
// --chain=dev
// --steps=50
diff --git a/pallets/jobs/src/weights.rs b/pallets/jobs/src/weights.rs
index 17eb3a200..563980616 100644
--- a/pallets/jobs/src/weights.rs
+++ b/pallets/jobs/src/weights.rs
@@ -21,7 +21,7 @@
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
-// target/release/tangle-standalone
+// target/release/tangle
// benchmark
// --chain=dev
// --steps=50
diff --git a/pallets/roles/src/weights.rs b/pallets/roles/src/weights.rs
index bcb3f0e67..e2e30c661 100644
--- a/pallets/roles/src/weights.rs
+++ b/pallets/roles/src/weights.rs
@@ -21,7 +21,7 @@
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
-// target/release/tangle-standalone
+// target/release/tangle
// benchmark
// --chain=dev
// --steps=50
diff --git a/pallets/transaction-pause/src/weights.rs b/pallets/transaction-pause/src/weights.rs
index f616edda7..ecd83dcf4 100644
--- a/pallets/transaction-pause/src/weights.rs
+++ b/pallets/transaction-pause/src/weights.rs
@@ -23,7 +23,7 @@
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
-// target/release/tangle-standalone
+// target/release/tangle
// benchmark
// --chain=dev
// --steps=50
diff --git a/pallets/zksaas/src/weights.rs b/pallets/zksaas/src/weights.rs
index 783a630d4..815ca1ac6 100644
--- a/pallets/zksaas/src/weights.rs
+++ b/pallets/zksaas/src/weights.rs
@@ -21,7 +21,7 @@
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
-// target/release/tangle-standalone
+// target/release/tangle
// benchmark
// --chain=dev
// --steps=50
diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml
index 6337fd3f2..4f7a3e8bd 100644
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -15,7 +15,7 @@ scale-info = { workspace = true }
serde = { workspace = true }
smallvec = { workspace = true }
sp-arithmetic = { workspace = true }
-sp-consensus-aura = { workspace = true }
+sp-consensus-babe = { workspace = true }
sp-core = { workspace = true }
sp-runtime = { workspace = true }
sp-std = { workspace = true }
@@ -40,7 +40,6 @@ std = [
"frame-support/std",
"sp-runtime/std",
"sp-core/std",
- "sp-consensus-aura/std",
"ark-std?/std",
]
verifying = [
diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs
index a2fe9b290..709af70eb 100644
--- a/primitives/src/lib.rs
+++ b/primitives/src/lib.rs
@@ -22,7 +22,6 @@ use frame_support::{
};
use smallvec::smallvec;
use sp_runtime::{
- generic,
traits::{BlakeTwo256, IdentifyAccount, Verify},
MultiAddress, MultiSignature, Perbill,
};
@@ -57,6 +56,18 @@ pub mod time {
pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);
pub const HOURS: BlockNumber = MINUTES * 60;
pub const DAYS: BlockNumber = HOURS * 24;
+
+ // 1 in 4 blocks (on average, not counting collisions) will be primary BABE blocks.
+ pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
+
+ // NOTE: Currently it is not possible to change the epoch duration after the chain has started.
+ // Attempting to do so will brick block production.
+ pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 10 * MINUTES;
+ pub const EPOCH_DURATION_IN_SLOTS: u64 = {
+ const SLOT_FILL_RATE: f64 = MILLISECS_PER_BLOCK as f64 / SLOT_DURATION as f64;
+
+ (EPOCH_DURATION_IN_BLOCKS as f64 * SLOT_FILL_RATE) as u64
+ };
}
/// Money matters.
@@ -165,4 +176,4 @@ pub const MAX_POV_SIZE: u32 = 5 * 1024 * 1024;
pub const MAXIMUM_BLOCK_WEIGHT: Weight =
Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND, MAX_POV_SIZE as u64);
-pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+pub use sp_consensus_babe::AuthorityId as BabeId;
diff --git a/primitives/src/types.rs b/primitives/src/types.rs
index 286d89a07..0139b9389 100644
--- a/primitives/src/types.rs
+++ b/primitives/src/types.rs
@@ -14,13 +14,19 @@
//
use super::*;
pub mod jobs;
-use sp_runtime::AccountId32;
+use sp_runtime::{generic, AccountId32, OpaqueExtrinsic};
pub mod roles;
-/// Reputation type
-pub type Reputation = u128;
+
+/// Block header type as expected by this runtime.
+pub type Header = generic::Header;
+
+/// Block type as expected by this runtime.
+pub type Block = generic::Block;
+
/// Alias to 512-bit hash when used in the context of a transaction signature on the chain.
pub type Signature = MultiSignature;
+
/// Some way of identifying an account on the chain. We intentionally make it equivalent
/// to the public key of our transaction signing scheme.
pub type AccountId = <::Signer as IdentifyAccount>::AccountId;
@@ -30,18 +36,22 @@ pub struct WrappedAccountId32(pub [u8; 32]);
/// The type for looking up accounts.
pub type AccountIndex = u32;
+
/// Balance of an account.
pub type Balance = u128;
+
/// Index of a transaction in the chain.
pub type Index = u32;
+
/// A hash of some data used by the chain.
pub type Hash = sp_core::H256;
+
/// An index to a block.
pub type BlockNumber = u64;
+
/// The address format for describing accounts.
pub type Address = MultiAddress;
-/// Block header type as expected by this runtime.
-pub type Header = generic::Header;
+
// Moment
pub type Moment = u64;
diff --git a/runtime/mainnet/Cargo.toml b/runtime/mainnet/Cargo.toml
index 70888c746..ba515af53 100644
--- a/runtime/mainnet/Cargo.toml
+++ b/runtime/mainnet/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "tangle-mainnet-runtime"
+name = "tangle-runtime"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
@@ -28,7 +28,7 @@ pallet-airdrop-claims = { workspace = true }
# Substrate dependencies
sp-api = { workspace = true }
sp-block-builder = { workspace = true }
-sp-consensus-aura = { workspace = true }
+sp-consensus-babe = { workspace = true }
sp-core = { workspace = true }
sp-inherents = { workspace = true }
sp-io = { workspace = true }
@@ -48,7 +48,7 @@ frame-system = { workspace = true }
frame-system-benchmarking = { workspace = true, optional = true }
frame-system-rpc-runtime-api = { workspace = true }
-pallet-aura = { workspace = true }
+pallet-babe = { workspace = true }
pallet-bags-list = { workspace = true }
pallet-session = { workspace = true }
@@ -162,14 +162,14 @@ std = [
"sp-block-builder/std",
"sp-transaction-pool/std",
"sp-inherents/std",
- "sp-consensus-aura/std",
+ "sp-consensus-babe/std",
"frame-support/std",
"frame-executive/std",
"frame-system/std",
"frame-system-rpc-runtime-api/std",
"frame-election-provider-support/std",
"pallet-authorship/std",
- "pallet-aura/std",
+ "pallet-babe/std",
"pallet-bags-list/std",
"pallet-bounties/std",
"pallet-child-bounties/std",
diff --git a/runtime/mainnet/src/frontier_evm.rs b/runtime/mainnet/src/frontier_evm.rs
index 3c01c5889..e354b8527 100644
--- a/runtime/mainnet/src/frontier_evm.rs
+++ b/runtime/mainnet/src/frontier_evm.rs
@@ -41,8 +41,8 @@ impl> FindAuthor for FindAuthorTruncated {
I: 'a + IntoIterator- ,
{
if let Some(author_index) = F::find_author(digests) {
- let authority_id = Aura::authorities()[author_index as usize].clone();
- return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]))
+ let authority_id = Babe::authorities()[author_index as usize].clone();
+ return Some(H160::from_slice(&authority_id.0.to_raw_vec()[4..24]))
}
None
}
@@ -151,7 +151,7 @@ impl pallet_evm::Config for Runtime {
type OnChargeTransaction =
pallet_evm::EVMCurrencyAdapter>;
type OnCreate = ();
- type FindAuthor = FindAuthorTruncated;
+ type FindAuthor = FindAuthorTruncated;
type GasLimitPovSizeRatio = GasLimitPovSizeRatio;
type Timestamp = Timestamp;
type WeightInfo = pallet_evm::weights::SubstrateWeight;
diff --git a/runtime/mainnet/src/lib.rs b/runtime/mainnet/src/lib.rs
index bcb8c4c4d..24295b2d1 100644
--- a/runtime/mainnet/src/lib.rs
+++ b/runtime/mainnet/src/lib.rs
@@ -94,12 +94,11 @@ use sp_runtime::generic::Era;
#[cfg(any(feature = "std", test))]
pub use sp_runtime::BuildStorage;
pub use sp_runtime::{MultiAddress, Perbill, Percent, Permill};
-use tangle_primitives::AuraId;
+
pub use tangle_primitives::{
currency::*, fee::*, time::*, AccountId, AccountIndex, Address, Balance, BlockNumber, Hash,
- Header, Index, Moment, Reputation, Signature, AVERAGE_ON_INITIALIZE_RATIO,
- EPOCH_DURATION_IN_BLOCKS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SESSION_PERIOD_BLOCKS,
- UNSIGNED_PROPOSAL_EXPIRY,
+ Header, Index, Moment, Signature, AVERAGE_ON_INITIALIZE_RATIO, EPOCH_DURATION_IN_BLOCKS,
+ MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SESSION_PERIOD_BLOCKS, UNSIGNED_PROPOSAL_EXPIRY,
};
use pallet_airdrop_claims::TestWeightInfo;
@@ -110,6 +109,13 @@ use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction};
use pallet_evm::{Account as EVMAccount, FeeCalculator, HashedAddressMapping, Runner};
pub type Nonce = u32;
+/// The BABE epoch configuration at genesis.
+pub const BABE_GENESIS_EPOCH_CONFIG: sp_consensus_babe::BabeEpochConfiguration =
+ sp_consensus_babe::BabeEpochConfiguration {
+ c: PRIMARY_PROBABILITY,
+ allowed_slots: sp_consensus_babe::AllowedSlots::PrimaryAndSecondaryPlainSlots,
+ };
+
/// This runtime version.
#[sp_version::runtime_version]
pub const VERSION: RuntimeVersion = RuntimeVersion {
@@ -164,7 +170,7 @@ pub mod opaque {
impl_opaque_keys! {
pub struct SessionKeys {
- pub aura: Aura,
+ pub babe: Babe,
pub grandpa: Grandpa,
pub im_online: ImOnline,
}
@@ -216,7 +222,7 @@ parameter_types! {
impl pallet_timestamp::Config for Runtime {
/// A timestamp: milliseconds since the unix epoch.
type Moment = u64;
- type OnTimestampSet = ();
+ type OnTimestampSet = Babe;
type MinimumPeriod = MinimumPeriod;
type WeightInfo = ();
}
@@ -318,22 +324,28 @@ impl pallet_sudo::Config for Runtime {
}
parameter_types! {
- #[derive(Serialize, Deserialize)]
+ // NOTE: Currently it is not possible to change the epoch duration after the chain has started.
+ // Attempting to do so will brick block production.
+ pub const EpochDuration: u64 = EPOCH_DURATION_IN_SLOTS;
+ pub const ExpectedBlockTime: Moment = MILLISECS_PER_BLOCK;
+ pub const ReportLongevity: u64 =
+ BondingDuration::get() as u64 * SessionsPerEra::get() as u64 * EpochDuration::get();
pub const MaxAuthorities: u32 = 1000;
- #[derive(Serialize, Deserialize)]
- pub const MaxProposalLength: u32 = 1000;
+ pub const MaxNominators: u32 = 1000;
}
-impl pallet_aura::Config for Runtime {
- type AuthorityId = AuraId;
- type DisabledValidators = ();
+impl pallet_babe::Config for Runtime {
+ type EpochDuration = EpochDuration;
+ type ExpectedBlockTime = ExpectedBlockTime;
+ type EpochChangeTrigger = pallet_babe::ExternalTrigger;
+ type DisabledValidators = Session;
+ type WeightInfo = ();
type MaxAuthorities = MaxAuthorities;
- type AllowMultipleBlocksPerSlot = frame_support::traits::ConstBool;
-}
-
-parameter_types! {
- pub const ReportLongevity: u64 =
- BondingDuration::get() as u64 * SessionsPerEra::get() as u64 * Period::get();
+ type MaxNominators = MaxNominatorRewardedPerValidator;
+ type KeyOwnerProof =
+ >::Proof;
+ type EquivocationReportSystem =
+ pallet_babe::EquivocationReportSystem;
}
impl pallet_grandpa::Config for Runtime {
@@ -352,7 +364,7 @@ parameter_types! {
impl pallet_authorship::Config for Runtime {
type EventHandler = Staking;
- type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
+ type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
}
parameter_types! {
@@ -1055,7 +1067,7 @@ construct_runtime!(
TransactionPayment: pallet_transaction_payment,
Authorship: pallet_authorship,
- Aura: pallet_aura,
+ Babe: pallet_babe,
Grandpa: pallet_grandpa,
Indices: pallet_indices,
@@ -1533,13 +1545,52 @@ impl_runtime_apis! {
}
}
- impl sp_consensus_aura::AuraApi for Runtime {
- fn slot_duration() -> sp_consensus_aura::SlotDuration {
- sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
+ impl sp_consensus_babe::BabeApi for Runtime {
+ fn configuration() -> sp_consensus_babe::BabeConfiguration {
+ let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
+ sp_consensus_babe::BabeConfiguration {
+ slot_duration: Babe::slot_duration(),
+ epoch_length: EpochDuration::get(),
+ c: epoch_config.c,
+ authorities: Babe::authorities().to_vec(),
+ randomness: Babe::randomness(),
+ allowed_slots: epoch_config.allowed_slots,
+ }
+ }
+
+ fn current_epoch_start() -> sp_consensus_babe::Slot {
+ Babe::current_epoch_start()
+ }
+
+ fn current_epoch() -> sp_consensus_babe::Epoch {
+ Babe::current_epoch()
}
- fn authorities() -> Vec {
- Aura::authorities().into_inner()
+ fn next_epoch() -> sp_consensus_babe::Epoch {
+ Babe::next_epoch()
+ }
+
+ fn generate_key_ownership_proof(
+ _slot: sp_consensus_babe::Slot,
+ authority_id: sp_consensus_babe::AuthorityId,
+ ) -> Option {
+ use parity_scale_codec::Encode;
+
+ Historical::prove((sp_consensus_babe::KEY_TYPE, authority_id))
+ .map(|p| p.encode())
+ .map(sp_consensus_babe::OpaqueKeyOwnershipProof::new)
+ }
+
+ fn submit_report_equivocation_unsigned_extrinsic(
+ equivocation_proof: sp_consensus_babe::EquivocationProof<::Header>,
+ key_owner_proof: sp_consensus_babe::OpaqueKeyOwnershipProof,
+ ) -> Option<()> {
+ let key_owner_proof = key_owner_proof.decode()?;
+
+ Babe::submit_unsigned_equivocation_report(
+ equivocation_proof,
+ key_owner_proof,
+ )
}
}
diff --git a/runtime/testnet/Cargo.toml b/runtime/testnet/Cargo.toml
index 775a2a9a4..a1bee8ff1 100644
--- a/runtime/testnet/Cargo.toml
+++ b/runtime/testnet/Cargo.toml
@@ -22,13 +22,10 @@ scale-info = { workspace = true }
serde = { workspace = true }
static_assertions = { workspace = true }
-# Webb Substrate Dependencies
-pallet-airdrop-claims = { workspace = true }
-
# Substrate dependencies
sp-api = { workspace = true }
sp-block-builder = { workspace = true }
-sp-consensus-aura = { workspace = true }
+sp-consensus-babe = { workspace = true }
sp-core = { workspace = true }
sp-inherents = { workspace = true }
sp-io = { workspace = true }
@@ -48,7 +45,7 @@ frame-system = { workspace = true }
frame-system-benchmarking = { workspace = true, optional = true }
frame-system-rpc-runtime-api = { workspace = true }
-pallet-aura = { workspace = true }
+pallet-babe = { workspace = true }
pallet-bags-list = { workspace = true }
pallet-session = { workspace = true }
@@ -86,6 +83,7 @@ pallet-utility = { workspace = true }
pallet-vesting = { workspace = true }
# Webb dependencies
+pallet-airdrop-claims = { workspace = true }
pallet-dkg = { workspace = true }
pallet-zksaas = { workspace = true }
pallet-jobs = { workspace = true }
@@ -112,6 +110,7 @@ pallet-evm-precompile-ed25519 = { workspace = true }
pallet-evm-precompile-modexp = { workspace = true }
pallet-evm-precompile-sha3fips = { workspace = true }
pallet-evm-precompile-simple = { workspace = true }
+
pallet-hotfix-sufficients = { workspace = true }
## Moonbeam precompiles
@@ -123,8 +122,6 @@ pallet-evm-precompile-proxy = { workspace = true }
pallet-evm-precompile-registry = { workspace = true }
pallet-evm-precompile-staking = { workspace = true }
precompile-utils = { workspace = true }
-
-## Tangle precompiles
pallet-evm-precompile-jobs = { workspace = true }
evm-tracer = { workspace = true }
@@ -168,14 +165,14 @@ std = [
"sp-block-builder/std",
"sp-transaction-pool/std",
"sp-inherents/std",
- "sp-consensus-aura/std",
+ "sp-consensus-babe/std",
"frame-support/std",
"frame-executive/std",
"frame-system/std",
"frame-system-rpc-runtime-api/std",
"frame-election-provider-support/std",
"pallet-authorship/std",
- "pallet-aura/std",
+ "pallet-babe/std",
"pallet-bags-list/std",
"pallet-bounties/std",
"pallet-child-bounties/std",
@@ -249,7 +246,6 @@ std = [
"pallet-evm-precompile-democracy/std",
"pallet-evm-precompile-registry/std",
"pallet-evm-precompile-staking/std",
-
"pallet-evm-precompile-jobs/std",
]
integration-tests = ["tangle-primitives/integration-tests"]
diff --git a/runtime/testnet/src/frontier_evm.rs b/runtime/testnet/src/frontier_evm.rs
index 3c01c5889..e354b8527 100644
--- a/runtime/testnet/src/frontier_evm.rs
+++ b/runtime/testnet/src/frontier_evm.rs
@@ -41,8 +41,8 @@ impl> FindAuthor for FindAuthorTruncated {
I: 'a + IntoIterator
- ,
{
if let Some(author_index) = F::find_author(digests) {
- let authority_id = Aura::authorities()[author_index as usize].clone();
- return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]))
+ let authority_id = Babe::authorities()[author_index as usize].clone();
+ return Some(H160::from_slice(&authority_id.0.to_raw_vec()[4..24]))
}
None
}
@@ -151,7 +151,7 @@ impl pallet_evm::Config for Runtime {
type OnChargeTransaction =
pallet_evm::EVMCurrencyAdapter>;
type OnCreate = ();
- type FindAuthor = FindAuthorTruncated;
+ type FindAuthor = FindAuthorTruncated;
type GasLimitPovSizeRatio = GasLimitPovSizeRatio;
type Timestamp = Timestamp;
type WeightInfo = pallet_evm::weights::SubstrateWeight;
diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs
index 8914da67c..7fa07029c 100644
--- a/runtime/testnet/src/lib.rs
+++ b/runtime/testnet/src/lib.rs
@@ -43,7 +43,7 @@ pub use pallet_staking::StakerStatus;
use pallet_transaction_payment::{
CurrencyAdapter, FeeDetails, Multiplier, RuntimeDispatchInfo, TargetedFeeAdjustment,
};
-use parity_scale_codec::{Decode, Encode, MaxEncodedLen};
+use parity_scale_codec::{Decode, Encode};
use serde::{Deserialize, Serialize};
use sp_api::impl_runtime_apis;
use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H160, H256, U256};
@@ -61,22 +61,11 @@ use sp_runtime::{
ApplyExtrinsicResult, DispatchResult, FixedPointNumber, FixedU128, Perquintill,
SaturatedConversion,
};
-use sp_staking::{
- currency_to_vote::U128CurrencyToVote,
- offence::{OffenceError, ReportOffence},
- SessionIndex,
-};
use sp_std::prelude::*;
#[cfg(feature = "std")]
use sp_version::NativeVersion;
use sp_version::RuntimeVersion;
use static_assertions::const_assert;
-use tangle_primitives::{
- jobs::{JobResult, JobSubmission, JobType, JobWithResult, ValidatorOffenceType},
- roles::ValidatorRewardDistribution,
- traits::jobs::{JobToFee, MPCHandler},
- verifier::{arkworks::ArkworksVerifierGroth16Bn254, circom::CircomVerifierGroth16Bn254},
-};
#[cfg(any(feature = "std", test))]
pub use frame_system::Call as SystemCall;
@@ -84,7 +73,7 @@ pub use frame_system::Call as SystemCall;
pub use frame_support::{
construct_runtime,
dispatch::DispatchClass,
- pallet_prelude::{Get, RuntimeDebug},
+ pallet_prelude::Get,
parameter_types,
traits::{
ConstU128, ConstU16, ConstU32, Currency, EitherOfDiverse, EqualPrivilegeOnly, Everything,
@@ -105,28 +94,46 @@ use sp_runtime::generic::Era;
#[cfg(any(feature = "std", test))]
pub use sp_runtime::BuildStorage;
pub use sp_runtime::{MultiAddress, Perbill, Percent, Permill};
-use tangle_primitives::AuraId;
+use sp_staking::{
+ currency_to_vote::U128CurrencyToVote,
+ offence::{OffenceError, ReportOffence},
+ SessionIndex,
+};
pub use tangle_primitives::{
- currency::*, fee::*, time::*, AccountId, AccountIndex, Address, Balance, BlockNumber, Hash,
- Header, Index, Moment, Reputation, Signature, AVERAGE_ON_INITIALIZE_RATIO,
- EPOCH_DURATION_IN_BLOCKS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SESSION_PERIOD_BLOCKS,
- UNSIGNED_PROPOSAL_EXPIRY,
+ currency::*,
+ fee::*,
+ jobs::{JobResult, JobSubmission, JobType, JobWithResult, ValidatorOffenceType},
+ roles::ValidatorRewardDistribution,
+ time::*,
+ traits::jobs::{JobToFee, MPCHandler},
+ verifier::{arkworks::ArkworksVerifierGroth16Bn254, circom::CircomVerifierGroth16Bn254},
+ AccountId, AccountIndex, Address, BabeId, Balance, BlockNumber, Hash, Header, Index, Moment,
+ Signature, AVERAGE_ON_INITIALIZE_RATIO, EPOCH_DURATION_IN_BLOCKS, MAXIMUM_BLOCK_WEIGHT,
+ NORMAL_DISPATCH_RATIO, SESSION_PERIOD_BLOCKS, UNSIGNED_PROPOSAL_EXPIRY,
};
+use pallet_airdrop_claims::TestWeightInfo;
+
// Frontier
use fp_rpc::TransactionStatus;
use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction};
-use pallet_evm::{Account as EVMAccount, FeeCalculator, Runner};
-
+use pallet_evm::{Account as EVMAccount, FeeCalculator, HashedAddressMapping, Runner};
pub type Nonce = u32;
+/// The BABE epoch configuration at genesis.
+pub const BABE_GENESIS_EPOCH_CONFIG: sp_consensus_babe::BabeEpochConfiguration =
+ sp_consensus_babe::BabeEpochConfiguration {
+ c: PRIMARY_PROBABILITY,
+ allowed_slots: sp_consensus_babe::AllowedSlots::PrimaryAndSecondaryPlainSlots,
+ };
+
/// This runtime version.
#[sp_version::runtime_version]
pub const VERSION: RuntimeVersion = RuntimeVersion {
- spec_name: create_runtime_str!("tangle-standalone"),
- impl_name: create_runtime_str!("tangle-standalone"),
+ spec_name: create_runtime_str!("tangle-testnet"),
+ impl_name: create_runtime_str!("tangle-testnet"),
authoring_version: 1,
- spec_version: 501, // v0.5.1
+ spec_version: 1000, // v1.0.00
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -174,7 +181,7 @@ pub mod opaque {
impl_opaque_keys! {
pub struct SessionKeys {
- pub aura: Aura,
+ pub babe: Babe,
pub grandpa: Grandpa,
pub im_online: ImOnline,
}
@@ -226,7 +233,7 @@ parameter_types! {
impl pallet_timestamp::Config for Runtime {
/// A timestamp: milliseconds since the unix epoch.
type Moment = u64;
- type OnTimestampSet = ();
+ type OnTimestampSet = Babe;
type MinimumPeriod = MinimumPeriod;
type WeightInfo = ();
}
@@ -319,87 +326,6 @@ impl pallet_preimage::Config for Runtime {
type WeightInfo = pallet_preimage::weights::SubstrateWeight;
}
-parameter_types! {
- // One storage item; key size 32, value size 8; .
- pub const ProxyDepositBase: Balance = deposit(1, 8);
- // Additional storage item size of 33 bytes.
- pub const ProxyDepositFactor: Balance = deposit(0, 33);
- pub const AnnouncementDepositBase: Balance = deposit(1, 8);
- pub const AnnouncementDepositFactor: Balance = deposit(0, 66);
-}
-
-// The type used to represent the kinds of proxying allowed.
-#[derive(
- Copy,
- Clone,
- Eq,
- PartialEq,
- Ord,
- PartialOrd,
- Encode,
- Decode,
- RuntimeDebug,
- MaxEncodedLen,
- scale_info::TypeInfo,
-)]
-pub enum ProxyType {
- Any,
- NonTransfer,
- Governance,
- Staking,
-}
-impl Default for ProxyType {
- fn default() -> Self {
- Self::Any
- }
-}
-impl InstanceFilter for ProxyType {
- fn filter(&self, c: &RuntimeCall) -> bool {
- match self {
- ProxyType::Any => true,
- ProxyType::NonTransfer => !matches!(
- c,
- RuntimeCall::Balances(..) |
- RuntimeCall::Vesting(pallet_vesting::Call::vested_transfer { .. })
- ),
- ProxyType::Governance => matches!(
- c,
- RuntimeCall::Democracy(..) |
- RuntimeCall::Council(..) |
- RuntimeCall::Elections(..) |
- RuntimeCall::Treasury(..)
- ),
- ProxyType::Staking => {
- matches!(c, RuntimeCall::Staking(..))
- },
- }
- }
- fn is_superset(&self, o: &Self) -> bool {
- match (self, o) {
- (x, y) if x == y => true,
- (ProxyType::Any, _) => true,
- (_, ProxyType::Any) => false,
- (ProxyType::NonTransfer, _) => true,
- _ => false,
- }
- }
-}
-
-impl pallet_proxy::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type RuntimeCall = RuntimeCall;
- type Currency = Balances;
- type ProxyType = ProxyType;
- type ProxyDepositBase = ProxyDepositBase;
- type ProxyDepositFactor = ProxyDepositFactor;
- type MaxProxies = ConstU32<32>;
- type WeightInfo = pallet_proxy::weights::SubstrateWeight;
- type MaxPending = ConstU32<32>;
- type CallHasher = BlakeTwo256;
- type AnnouncementDepositBase = AnnouncementDepositBase;
- type AnnouncementDepositFactor = AnnouncementDepositFactor;
-}
-
impl pallet_randomness_collective_flip::Config for Runtime {}
impl pallet_sudo::Config for Runtime {
@@ -409,22 +335,28 @@ impl pallet_sudo::Config for Runtime {
}
parameter_types! {
- #[derive(Serialize, Deserialize)]
+ // NOTE: Currently it is not possible to change the epoch duration after the chain has started.
+ // Attempting to do so will brick block production.
+ pub const EpochDuration: u64 = EPOCH_DURATION_IN_SLOTS;
+ pub const ExpectedBlockTime: Moment = MILLISECS_PER_BLOCK;
+ pub const ReportLongevity: u64 =
+ BondingDuration::get() as u64 * SessionsPerEra::get() as u64 * EpochDuration::get();
pub const MaxAuthorities: u32 = 1000;
- #[derive(Serialize, Deserialize)]
- pub const MaxProposalLength: u32 = 1000;
+ pub const MaxNominators: u32 = 1000;
}
-impl pallet_aura::Config for Runtime {
- type AuthorityId = AuraId;
- type DisabledValidators = ();
+impl pallet_babe::Config for Runtime {
+ type EpochDuration = EpochDuration;
+ type ExpectedBlockTime = ExpectedBlockTime;
+ type EpochChangeTrigger = pallet_babe::ExternalTrigger;
+ type DisabledValidators = Session;
+ type WeightInfo = ();
type MaxAuthorities = MaxAuthorities;
- type AllowMultipleBlocksPerSlot = frame_support::traits::ConstBool;
-}
-
-parameter_types! {
- pub const ReportLongevity: u64 =
- BondingDuration::get() as u64 * SessionsPerEra::get() as u64 * Period::get();
+ type MaxNominators = MaxNominatorRewardedPerValidator;
+ type KeyOwnerProof =
+ >::Proof;
+ type EquivocationReportSystem =
+ pallet_babe::EquivocationReportSystem;
}
impl pallet_grandpa::Config for Runtime {
@@ -443,7 +375,7 @@ parameter_types! {
impl pallet_authorship::Config for Runtime {
type EventHandler = Staking;
- type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
+ type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
}
parameter_types! {
@@ -1086,6 +1018,20 @@ impl pallet_eth2_light_client::Config for Runtime {
type Currency = Balances;
}
+parameter_types! {
+ pub Prefix: &'static [u8] = b"Claim TNTs to the account:";
+}
+
+impl pallet_airdrop_claims::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type VestingSchedule = Vesting;
+ type ForceOrigin = frame_system::EnsureRoot;
+ type AddressMapping = HashedAddressMapping;
+ type Prefix = Prefix;
+ type MoveClaimOrigin = frame_system::EnsureRoot;
+ type WeightInfo = TestWeightInfo;
+}
+
parameter_types! {
pub const JobsPalletId: PalletId = PalletId(*b"py/jobss");
}
@@ -1166,7 +1112,7 @@ impl pallet_roles::Config for Runtime {
type MaxRolesPerAccount = ConstU32<2>;
type MPCHandler = MockMPCHandler;
type InflationRewardPerSession = InflationRewardPerSession;
- type AuthorityId = AuraId;
+ type AuthorityId = BabeId;
type ValidatorSet = Historical;
type ReportOffences = OffenceHandler;
type ValidatorRewardDistribution = Reward;
@@ -1203,28 +1149,6 @@ impl Contains for BaseFilter {
// no paused call
return false
}
- // Following staking pallet calls will be blocked and will be allowed to execute
- // through role pallet.
- let is_stake_unbound_call =
- matches!(call, RuntimeCall::Staking(pallet_staking::Call::unbond { .. }));
-
- if is_stake_unbound_call {
- // no unbond call
- return false
- }
-
- // no chill call
- if matches!(call, RuntimeCall::Staking(pallet_staking::Call::chill { .. })) {
- return false
- }
-
- // no withdraw_unbonded call
- let is_stake_withdraw_call =
- matches!(call, RuntimeCall::Staking(pallet_staking::Call::withdraw_unbonded { .. }));
-
- if is_stake_withdraw_call {
- return false
- }
let democracy_related = matches!(
call,
@@ -1256,7 +1180,7 @@ construct_runtime!(
TransactionPayment: pallet_transaction_payment,
Authorship: pallet_authorship,
- Aura: pallet_aura,
+ Babe: pallet_babe,
Grandpa: pallet_grandpa,
Indices: pallet_indices,
@@ -1277,7 +1201,6 @@ construct_runtime!(
Scheduler: pallet_scheduler,
Preimage: pallet_preimage,
- Proxy: pallet_proxy,
Offences: pallet_offences,
TransactionPause: pallet_transaction_pause,
@@ -1291,8 +1214,9 @@ construct_runtime!(
DynamicFee: pallet_dynamic_fee,
BaseFee: pallet_base_fee,
HotfixSufficients: pallet_hotfix_sufficients,
- Eth2Client: pallet_eth2_light_client,
+ Claims: pallet_airdrop_claims,
+ Eth2Client: pallet_eth2_light_client,
Roles: pallet_roles,
Jobs: pallet_jobs,
Dkg: pallet_dkg,
@@ -1738,13 +1662,52 @@ impl_runtime_apis! {
}
}
- impl sp_consensus_aura::AuraApi for Runtime {
- fn slot_duration() -> sp_consensus_aura::SlotDuration {
- sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
+ impl sp_consensus_babe::BabeApi for Runtime {
+ fn configuration() -> sp_consensus_babe::BabeConfiguration {
+ let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
+ sp_consensus_babe::BabeConfiguration {
+ slot_duration: Babe::slot_duration(),
+ epoch_length: EpochDuration::get(),
+ c: epoch_config.c,
+ authorities: Babe::authorities().to_vec(),
+ randomness: Babe::randomness(),
+ allowed_slots: epoch_config.allowed_slots,
+ }
+ }
+
+ fn current_epoch_start() -> sp_consensus_babe::Slot {
+ Babe::current_epoch_start()
+ }
+
+ fn current_epoch() -> sp_consensus_babe::Epoch {
+ Babe::current_epoch()
}
- fn authorities() -> Vec {
- Aura::authorities().into_inner()
+ fn next_epoch() -> sp_consensus_babe::Epoch {
+ Babe::next_epoch()
+ }
+
+ fn generate_key_ownership_proof(
+ _slot: sp_consensus_babe::Slot,
+ authority_id: sp_consensus_babe::AuthorityId,
+ ) -> Option {
+ use parity_scale_codec::Encode;
+
+ Historical::prove((sp_consensus_babe::KEY_TYPE, authority_id))
+ .map(|p| p.encode())
+ .map(sp_consensus_babe::OpaqueKeyOwnershipProof::new)
+ }
+
+ fn submit_report_equivocation_unsigned_extrinsic(
+ equivocation_proof: sp_consensus_babe::EquivocationProof<::Header>,
+ key_owner_proof: sp_consensus_babe::OpaqueKeyOwnershipProof,
+ ) -> Option<()> {
+ let key_owner_proof = key_owner_proof.decode()?;
+
+ Babe::submit_unsigned_equivocation_report(
+ equivocation_proof,
+ key_owner_proof,
+ )
}
}
diff --git a/scripts/README.md b/scripts/README.md
index eb6c26855..7c600a7ff 100644
--- a/scripts/README.md
+++ b/scripts/README.md
@@ -9,7 +9,7 @@ For running a standalone tangle network, Here are the steps that you need to fol
1. Compile the standalone in the `release` mode:
```sh
-cargo b -rp tangle-standalone
+cargo b -rp tangle
```
2. Execute the `run-standalone.sh` script:
```sh
diff --git a/scripts/build-standalone-docker.sh b/scripts/build-standalone-docker.sh
index d85b721b2..55b82d3ec 100755
--- a/scripts/build-standalone-docker.sh
+++ b/scripts/build-standalone-docker.sh
@@ -10,7 +10,7 @@ cd "$PROJECT_ROOT"
# Find the current version from Cargo.toml
VERSION=$(grep "^version" ./standalone/node/Cargo.toml | grep -E -o "([0-9\.]+)")
GITUSER=webb-tools
-IMAGE_NAME=tangle-standalone
+IMAGE_NAME=tangle
# Build the image
echo "Building ${GITUSER}/${IMAGE_NAME}:latest docker image, hang on!"
diff --git a/scripts/ci-dkg-test.sh b/scripts/ci-dkg-test.sh
deleted file mode 100755
index 92f821ced..000000000
--- a/scripts/ci-dkg-test.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env bash
-set +e
-
-# launch the standalone network
-echo "** Starting standalone network **"
-
-echo "Cleaning tmp directory"
-rm -rf ./tmp
-rm -rf ./chainspecs/standalone-local.json
-
-# The following line ensure we run from the project root
-PROJECT_ROOT=$(git rev-parse --show-toplevel)
-cd "$PROJECT_ROOT"
-
-echo "** Generating Standalone local chainspec"
-./target/release/tangle-standalone build-spec --chain standalone-local > ./chainspecs/standalone-local.json
-
-echo "** Inserting keys **"
-./scripts/insert_keys.sh
-
-echo "*** Start Tangle Standalone | Standalone Local Config ***"
-# Node 1
-./target/release/tangle-standalone --base-path=./tmp/standalone1 -lerror --chain ./chainspecs/standalone-local.json --validator \
- --rpc-cors all --rpc-methods=unsafe \
- --port 30304 \
- > ~/1.log 2>&1 &
-# Node 2
-./target/release/tangle-standalone --base-path=./tmp/standalone2 -lerror --chain ./chainspecs/standalone-local.json --validator \
- --rpc-cors all --rpc-methods=unsafe \
- --port 30305 \
- > ~/2.log 2>&1 &
-# Node 3
-./target/release/tangle-standalone --base-path=./tmp/standalone3 -lerror --chain ./chainspecs/standalone-local.json --validator \
- --rpc-cors all --rpc-methods=unsafe \
- --port 30306 \
- > ~/3.log 2>&1 &
-# Node 4
-./target/release/tangle-standalone --base-path=./tmp/standalone4 -lerror --chain ./chainspecs/standalone-local.json --validator \
- --rpc-cors all --rpc-methods=unsafe \
- --port 30307 \
- > ~/4.log 2>&1 &
-# Node 5
-./target/release/tangle-standalone --base-path=./tmp/standalone5 -linfo --validator --chain ./chainspecs/standalone-local.json \
- --rpc-cors all --rpc-methods=unsafe \
- --port 30308 > ~/5.log 2>&1 &
-
-# wait for sometime for the network to be ready
-echo "** Waiting for testnet to start producing blocks **"
-sleep 120
-
-echo "** Starting test suite **"
-
-cd dkg-liveness-test
-npm install
-
-if ! node index.js ; then exit 1 ; fi
-
-echo "** Liveness testing completed **"
-
-# trap 'trap - SIGTERM && kill 0' SIGINT SIGTERM EXIT
-
-exit 0
diff --git a/scripts/run-standalone-local.sh b/scripts/run-standalone-local.sh
index 4d2387599..a47392866 100755
--- a/scripts/run-standalone-local.sh
+++ b/scripts/run-standalone-local.sh
@@ -46,7 +46,7 @@ cd "$PROJECT_ROOT"
echo "*** Start Tangle Testnet ***"
# Alice
-./target/release/tangle-standalone --tmp --chain local --validator -lerror --alice \
+./target/release/tangle --tmp --chain local --validator -lerror --alice \
--rpc-cors all --rpc-methods=unsafe --rpc-external \
--port ${ports[0]} \
--rpc-port 9944 \
@@ -56,7 +56,7 @@ echo "*** Start Tangle Testnet ***"
--auto-insert-keys \
--node-key 0000000000000000000000000000000000000000000000000000000000000001 &
# Bob
-./target/release/tangle-standalone --tmp --chain local --validator -lerror --bob \
+./target/release/tangle --tmp --chain local --validator -lerror --bob \
--rpc-cors all --rpc-methods=unsafe --rpc-external \
--port ${ports[1]} \
--rpc-port 9945 \
@@ -64,7 +64,7 @@ echo "*** Start Tangle Testnet ***"
--auto-insert-keys \
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp &
# Charlie
-./target/release/tangle-standalone --tmp --chain local --validator -lerror --charlie \
+./target/release/tangle --tmp --chain local --validator -lerror --charlie \
--rpc-cors all --rpc-methods=unsafe --rpc-external \
--port ${ports[1]} \
--rpc-port 9946 \
@@ -72,7 +72,7 @@ echo "*** Start Tangle Testnet ***"
--auto-insert-keys \
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp &
# Dave
-./target/release/tangle-standalone --tmp --chain local --validator -lerror --dave \
+./target/release/tangle --tmp --chain local --validator -lerror --dave \
--rpc-cors all --rpc-methods=unsafe --rpc-external \
--port ${ports[1]} \
--rpc-port 9947 \
@@ -80,7 +80,7 @@ echo "*** Start Tangle Testnet ***"
--auto-insert-keys \
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp &
# Eve
-./target/release/tangle-standalone --tmp --chain local --validator -linfo --eve \
+./target/release/tangle --tmp --chain local --validator -linfo --eve \
--rpc-cors all --rpc-methods=unsafe --rpc-external \
--port ${ports[2]} \
--rpc-port 9948 \
diff --git a/types/src/interfaces/lookup.ts b/types/src/interfaces/lookup.ts
index 4737026f4..2defccffb 100644
--- a/types/src/interfaces/lookup.ts
+++ b/types/src/interfaces/lookup.ts
@@ -61,7 +61,7 @@ export default {
}
},
/**
- * Lookup19: frame_system::EventRecord
+ * Lookup19: frame_system::EventRecord
**/
FrameSystemEventRecord: {
phase: 'FrameSystemPhase',
@@ -1569,7 +1569,7 @@ export default {
}
},
/**
- * Lookup156: frame_support::traits::preimages::Bounded
+ * Lookup156: frame_support::traits::preimages::Bounded
**/
FrameSupportPreimagesBounded: {
_enum: {
@@ -1725,7 +1725,7 @@ export default {
}
},
/**
- * Lookup167: pallet_election_provider_multi_phase::RawSolution
+ * Lookup167: pallet_election_provider_multi_phase::RawSolution
**/
PalletElectionProviderMultiPhaseRawSolution: {
solution: 'TangleMainnetRuntimeNposSolution16',
@@ -1733,7 +1733,7 @@ export default {
round: 'u32'
},
/**
- * Lookup168: tangle_mainnet_runtime::NposSolution16
+ * Lookup168: tangle_runtime::NposSolution16
**/
TangleMainnetRuntimeNposSolution16: {
votes1: 'Vec<(Compact,Compact)>',
@@ -1926,7 +1926,7 @@ export default {
}
},
/**
- * Lookup234: tangle_mainnet_runtime::opaque::SessionKeys
+ * Lookup234: tangle_runtime::opaque::SessionKeys
**/
TangleMainnetRuntimeOpaqueSessionKeys: {
aura: 'SpConsensusAuraSr25519AppSr25519Public',
@@ -2453,7 +2453,7 @@ export default {
}
},
/**
- * Lookup297: tangle_mainnet_runtime::OriginCaller
+ * Lookup297: tangle_runtime::OriginCaller
**/
TangleMainnetRuntimeOriginCaller: {
_enum: {
@@ -2770,7 +2770,7 @@ export default {
amount: 'u128'
},
/**
- * Lookup340: tangle_mainnet_runtime::RuntimeHoldReason
+ * Lookup340: tangle_runtime::RuntimeHoldReason
**/
TangleMainnetRuntimeRuntimeHoldReason: 'Null',
/**
@@ -2831,7 +2831,7 @@ export default {
_enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent']
},
/**
- * Lookup364: pallet_democracy::types::ReferendumInfo, Balance>
+ * Lookup364: pallet_democracy::types::ReferendumInfo, Balance>
**/
PalletDemocracyReferendumInfo: {
_enum: {
@@ -2843,7 +2843,7 @@ export default {
}
},
/**
- * Lookup365: pallet_democracy::types::ReferendumStatus, Balance>
+ * Lookup365: pallet_democracy::types::ReferendumStatus, Balance>
**/
PalletDemocracyReferendumStatus: {
end: 'u64',
@@ -2962,7 +2962,7 @@ export default {
targets: 'Vec'
},
/**
- * Lookup396: pallet_election_provider_multi_phase::signed::SignedSubmission
+ * Lookup396: pallet_election_provider_multi_phase::signed::SignedSubmission
**/
PalletElectionProviderMultiPhaseSignedSignedSubmission: {
who: 'AccountId32',
@@ -3287,7 +3287,7 @@ export default {
_enum: ['NotEnoughSpaceInUnbondPool', 'PoolNotFound', 'RewardPoolNotFound', 'SubPoolsNotFound', 'BondedStashKilledPrematurely']
},
/**
- * Lookup465: pallet_scheduler::Scheduled, BlockNumber, tangle_mainnet_runtime::OriginCaller, sp_core::crypto::AccountId32>
+ * Lookup465: pallet_scheduler::Scheduled, BlockNumber, tangle_runtime::OriginCaller, sp_core::crypto::AccountId32>
**/
PalletSchedulerScheduled: {
maybeId: 'Option<[u8;32]>',
@@ -3516,7 +3516,7 @@ export default {
**/
PalletTransactionPaymentChargeTransactionPayment: 'Compact',
/**
- * Lookup527: tangle_mainnet_runtime::Runtime
+ * Lookup527: tangle_runtime::Runtime
**/
TangleMainnetRuntimeRuntime: 'Null'
};