diff --git a/.github/workflows/_run-e2e-tests.yml b/.github/workflows/_run-e2e-tests.yml index be9c5a9933..470a360fc0 100644 --- a/.github/workflows/_run-e2e-tests.yml +++ b/.github/workflows/_run-e2e-tests.yml @@ -534,3 +534,45 @@ jobs: test-case: committee_split::split_test_success_with_all_non_reserved_dead follow-up-finalization-check: true node-count: 7 + + run-e2e-any-proxy: + name: Run any proxy test + needs: [run-e2e-finalization-test] + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: any_proxy_works + follow-up-finalization-check: true + + run-e2e-staking-proxy: + name: Run staking proxy test + needs: [run-e2e-finalization-test] + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: staking_proxy_works + follow-up-finalization-check: true + + run-e2e-non-transfer-proxy: + name: Run non-transfer proxy test + needs: [run-e2e-finalization-test] + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: non_transfer_proxy_works + follow-up-finalization-check: true diff --git a/Cargo.lock b/Cargo.lock index 9957f3d25d..f652b537f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -427,6 +427,7 @@ dependencies = [ "pallet-multisig", "pallet-nomination-pools", "pallet-nomination-pools-runtime-api", + "pallet-proxy", "pallet-scheduler", "pallet-session", "pallet-staking", @@ -5944,6 +5945,21 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-proxy" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/polkadot-sdk.git?branch=aleph-v1.2.0#d9bb021ae2f7d752e1739e72294facf1b5dd2838" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-scheduler" version = "4.0.0-dev" diff --git a/Cargo.toml b/Cargo.toml index bda75788b2..993a364690 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -120,6 +120,7 @@ pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/Cardina pallet-treasury = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0", default-features = false } pallet-utility = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0", default-features = false } pallet-vesting = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0", default-features = false } +pallet-proxy = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0", default-features = false } sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0" } sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/polkadot-sdk.git", branch = "aleph-v1.2.0" } diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index dde813100a..5986b64b94 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -6,7 +6,7 @@ pub mod api { mod root_mod { pub use super::*; } - pub static PALLETS: [&str; 22usize] = [ + pub static PALLETS: [&str; 23usize] = [ "System", "RandomnessCollectiveFlip", "Scheduler", @@ -29,6 +29,7 @@ pub mod api { "NominationPools", "Identity", "CommitteeManagement", + "Proxy", ]; pub static RUNTIME_APIS: [&str; 12usize] = [ "Core", @@ -1482,10 +1483,9 @@ pub mod api { input_data, }, [ - 20u8, 239u8, 150u8, 17u8, 155u8, 178u8, 114u8, 229u8, 90u8, 11u8, 75u8, - 106u8, 45u8, 161u8, 62u8, 176u8, 243u8, 110u8, 211u8, 160u8, 17u8, - 14u8, 168u8, 158u8, 221u8, 199u8, 250u8, 237u8, 177u8, 110u8, 126u8, - 100u8, + 221u8, 24u8, 134u8, 67u8, 227u8, 213u8, 112u8, 67u8, 80u8, 122u8, 38u8, + 21u8, 83u8, 18u8, 128u8, 76u8, 154u8, 27u8, 18u8, 105u8, 172u8, 232u8, + 101u8, 12u8, 102u8, 86u8, 250u8, 93u8, 192u8, 167u8, 62u8, 27u8, ], ) } @@ -1530,9 +1530,10 @@ pub mod api { salt, }, [ - 231u8, 150u8, 143u8, 21u8, 66u8, 191u8, 138u8, 241u8, 179u8, 14u8, - 49u8, 140u8, 128u8, 9u8, 131u8, 56u8, 134u8, 121u8, 117u8, 35u8, 193u8, - 252u8, 247u8, 0u8, 1u8, 113u8, 25u8, 61u8, 240u8, 155u8, 25u8, 30u8, + 83u8, 122u8, 116u8, 14u8, 66u8, 48u8, 194u8, 224u8, 113u8, 180u8, + 245u8, 142u8, 42u8, 201u8, 140u8, 177u8, 48u8, 4u8, 58u8, 248u8, 31u8, + 39u8, 240u8, 158u8, 126u8, 1u8, 174u8, 10u8, 159u8, 125u8, 138u8, + 233u8, ], ) } @@ -1735,6 +1736,9 @@ pub mod api { pub fn committee_management(&self) -> committee_management::constants::ConstantsApi { committee_management::constants::ConstantsApi } + pub fn proxy(&self) -> proxy::constants::ConstantsApi { + proxy::constants::ConstantsApi + } } pub struct StorageApi; impl StorageApi { @@ -1803,6 +1807,9 @@ pub mod api { pub fn committee_management(&self) -> committee_management::storage::StorageApi { committee_management::storage::StorageApi } + pub fn proxy(&self) -> proxy::storage::StorageApi { + proxy::storage::StorageApi + } } pub struct TransactionApi; impl TransactionApi { @@ -1857,6 +1864,9 @@ pub mod api { pub fn committee_management(&self) -> committee_management::calls::TransactionApi { committee_management::calls::TransactionApi } + pub fn proxy(&self) -> proxy::calls::TransactionApi { + proxy::calls::TransactionApi + } } #[doc = r" check whether the metadata provided is aligned with this statically generated code."] pub fn is_codegen_valid_for(metadata: &::subxt::Metadata) -> bool { @@ -1867,9 +1877,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 107u8, 101u8, 206u8, 127u8, 131u8, 80u8, 200u8, 143u8, 105u8, 191u8, 109u8, 89u8, - 235u8, 241u8, 78u8, 129u8, 28u8, 238u8, 39u8, 233u8, 178u8, 94u8, 190u8, 179u8, - 151u8, 104u8, 228u8, 99u8, 215u8, 110u8, 40u8, 212u8, + 30u8, 73u8, 177u8, 213u8, 168u8, 12u8, 43u8, 173u8, 156u8, 224u8, 191u8, 97u8, + 245u8, 44u8, 10u8, 226u8, 237u8, 114u8, 134u8, 230u8, 161u8, 34u8, 205u8, 110u8, + 128u8, 90u8, 6u8, 174u8, 28u8, 181u8, 190u8, 246u8, ] } pub mod system { @@ -2627,9 +2637,9 @@ pub mod api { "Events", vec![], [ - 74u8, 61u8, 125u8, 91u8, 29u8, 150u8, 207u8, 133u8, 182u8, 51u8, 127u8, - 253u8, 77u8, 4u8, 239u8, 91u8, 116u8, 121u8, 168u8, 238u8, 211u8, 50u8, - 69u8, 204u8, 55u8, 32u8, 28u8, 159u8, 167u8, 3u8, 206u8, 78u8, + 166u8, 126u8, 167u8, 19u8, 144u8, 250u8, 210u8, 18u8, 37u8, 90u8, + 161u8, 109u8, 195u8, 252u8, 2u8, 104u8, 225u8, 244u8, 0u8, 174u8, 66u8, + 64u8, 42u8, 150u8, 48u8, 13u8, 57u8, 236u8, 24u8, 145u8, 202u8, 139u8, ], ) } @@ -3115,9 +3125,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 187u8, 38u8, 75u8, 168u8, 62u8, 139u8, 219u8, 15u8, 0u8, 139u8, 214u8, - 38u8, 114u8, 252u8, 142u8, 107u8, 106u8, 110u8, 130u8, 227u8, 75u8, - 211u8, 20u8, 254u8, 4u8, 25u8, 151u8, 168u8, 201u8, 80u8, 80u8, 78u8, + 114u8, 213u8, 246u8, 217u8, 27u8, 243u8, 43u8, 180u8, 250u8, 122u8, + 244u8, 228u8, 100u8, 211u8, 71u8, 64u8, 22u8, 96u8, 172u8, 207u8, + 247u8, 206u8, 99u8, 250u8, 95u8, 76u8, 117u8, 50u8, 64u8, 36u8, 53u8, + 209u8, ], ) } @@ -3162,10 +3173,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 2u8, 94u8, 49u8, 2u8, 233u8, 74u8, 168u8, 141u8, 39u8, 2u8, 68u8, - 102u8, 247u8, 220u8, 122u8, 143u8, 181u8, 15u8, 72u8, 172u8, 131u8, - 114u8, 145u8, 161u8, 36u8, 49u8, 221u8, 49u8, 170u8, 177u8, 82u8, - 189u8, + 217u8, 226u8, 116u8, 50u8, 39u8, 183u8, 225u8, 95u8, 7u8, 90u8, 99u8, + 206u8, 38u8, 20u8, 19u8, 67u8, 165u8, 128u8, 98u8, 31u8, 103u8, 120u8, + 161u8, 170u8, 178u8, 91u8, 224u8, 231u8, 120u8, 21u8, 46u8, 70u8, ], ) } @@ -3206,9 +3216,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 215u8, 83u8, 14u8, 169u8, 18u8, 37u8, 108u8, 109u8, 235u8, 27u8, 65u8, - 138u8, 32u8, 9u8, 168u8, 159u8, 161u8, 216u8, 55u8, 220u8, 43u8, 218u8, - 160u8, 4u8, 98u8, 227u8, 128u8, 151u8, 121u8, 240u8, 189u8, 4u8, + 160u8, 76u8, 191u8, 45u8, 19u8, 118u8, 248u8, 30u8, 250u8, 166u8, 86u8, + 231u8, 109u8, 177u8, 117u8, 19u8, 239u8, 12u8, 85u8, 110u8, 87u8, 85u8, + 92u8, 92u8, 9u8, 4u8, 158u8, 137u8, 85u8, 170u8, 221u8, 177u8, ], ) } @@ -3235,9 +3245,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 6u8, 39u8, 157u8, 94u8, 241u8, 44u8, 164u8, 121u8, 122u8, 152u8, 96u8, - 108u8, 58u8, 194u8, 237u8, 20u8, 55u8, 176u8, 113u8, 37u8, 97u8, 108u8, - 139u8, 165u8, 51u8, 185u8, 144u8, 113u8, 164u8, 3u8, 64u8, 125u8, + 83u8, 65u8, 176u8, 135u8, 225u8, 20u8, 118u8, 37u8, 54u8, 94u8, 0u8, + 124u8, 224u8, 84u8, 75u8, 244u8, 116u8, 89u8, 245u8, 28u8, 194u8, + 204u8, 97u8, 19u8, 106u8, 64u8, 70u8, 144u8, 160u8, 32u8, 128u8, 147u8, ], ) } @@ -8756,10 +8766,10 @@ pub mod api { "NextAuthorities", vec![], [ - 12u8, 27u8, 199u8, 156u8, 21u8, 136u8, 219u8, 58u8, 188u8, 126u8, - 211u8, 128u8, 22u8, 59u8, 115u8, 160u8, 176u8, 213u8, 16u8, 228u8, - 255u8, 191u8, 143u8, 108u8, 219u8, 135u8, 233u8, 69u8, 171u8, 113u8, - 98u8, 248u8, + 92u8, 185u8, 147u8, 212u8, 72u8, 27u8, 24u8, 196u8, 129u8, 126u8, 64u8, + 242u8, 129u8, 140u8, 184u8, 49u8, 253u8, 163u8, 6u8, 252u8, 22u8, + 215u8, 66u8, 135u8, 202u8, 245u8, 61u8, 79u8, 154u8, 113u8, 43u8, + 154u8, ], ) } @@ -10434,9 +10444,9 @@ pub mod api { "batch", types::Batch { calls }, [ - 16u8, 216u8, 90u8, 254u8, 247u8, 117u8, 146u8, 116u8, 59u8, 232u8, - 254u8, 52u8, 147u8, 136u8, 124u8, 34u8, 254u8, 198u8, 68u8, 14u8, 60u8, - 250u8, 88u8, 140u8, 15u8, 16u8, 212u8, 77u8, 154u8, 96u8, 21u8, 155u8, + 104u8, 9u8, 143u8, 203u8, 116u8, 6u8, 254u8, 206u8, 160u8, 2u8, 108u8, + 85u8, 28u8, 52u8, 254u8, 185u8, 98u8, 28u8, 215u8, 201u8, 238u8, 229u8, + 17u8, 242u8, 110u8, 117u8, 201u8, 99u8, 238u8, 154u8, 22u8, 63u8, ], ) } @@ -10454,10 +10464,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 38u8, 159u8, 254u8, 200u8, 117u8, 140u8, 240u8, 6u8, 177u8, 150u8, - 246u8, 51u8, 189u8, 34u8, 60u8, 65u8, 125u8, 219u8, 108u8, 129u8, - 231u8, 220u8, 72u8, 64u8, 136u8, 188u8, 167u8, 109u8, 177u8, 144u8, - 134u8, 138u8, + 143u8, 229u8, 164u8, 8u8, 150u8, 206u8, 239u8, 5u8, 132u8, 206u8, + 236u8, 209u8, 41u8, 53u8, 104u8, 143u8, 90u8, 37u8, 249u8, 247u8, 4u8, + 238u8, 199u8, 242u8, 110u8, 13u8, 205u8, 157u8, 222u8, 141u8, 121u8, + 76u8, ], ) } @@ -10471,10 +10481,9 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 169u8, 222u8, 253u8, 96u8, 47u8, 211u8, 168u8, 25u8, 72u8, 39u8, 153u8, - 108u8, 217u8, 208u8, 211u8, 112u8, 251u8, 135u8, 35u8, 20u8, 93u8, - 112u8, 131u8, 63u8, 132u8, 69u8, 191u8, 194u8, 143u8, 179u8, 153u8, - 10u8, + 48u8, 54u8, 251u8, 96u8, 155u8, 168u8, 221u8, 228u8, 96u8, 158u8, 42u8, + 53u8, 204u8, 154u8, 143u8, 94u8, 235u8, 176u8, 61u8, 151u8, 66u8, 86u8, + 165u8, 95u8, 126u8, 213u8, 28u8, 123u8, 21u8, 148u8, 184u8, 193u8, ], ) } @@ -10492,10 +10501,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 168u8, 154u8, 103u8, 59u8, 83u8, 191u8, 229u8, 1u8, 132u8, 179u8, - 113u8, 50u8, 170u8, 166u8, 146u8, 249u8, 234u8, 26u8, 4u8, 141u8, - 102u8, 131u8, 49u8, 216u8, 246u8, 166u8, 171u8, 76u8, 200u8, 205u8, - 98u8, 48u8, + 173u8, 254u8, 207u8, 193u8, 69u8, 79u8, 144u8, 161u8, 203u8, 249u8, + 110u8, 44u8, 55u8, 227u8, 94u8, 248u8, 81u8, 111u8, 2u8, 29u8, 119u8, + 0u8, 252u8, 252u8, 243u8, 79u8, 155u8, 55u8, 47u8, 55u8, 44u8, 119u8, ], ) } @@ -10509,9 +10517,9 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 211u8, 96u8, 94u8, 50u8, 114u8, 106u8, 41u8, 146u8, 122u8, 138u8, 38u8, - 117u8, 186u8, 188u8, 105u8, 99u8, 91u8, 72u8, 82u8, 6u8, 241u8, 97u8, - 153u8, 227u8, 125u8, 249u8, 114u8, 128u8, 139u8, 212u8, 2u8, 129u8, + 93u8, 129u8, 9u8, 0u8, 89u8, 40u8, 87u8, 201u8, 36u8, 86u8, 154u8, + 45u8, 46u8, 235u8, 28u8, 247u8, 242u8, 171u8, 228u8, 199u8, 221u8, + 10u8, 138u8, 132u8, 67u8, 4u8, 116u8, 4u8, 63u8, 165u8, 244u8, 83u8, ], ) } @@ -10529,9 +10537,10 @@ pub mod api { weight, }, [ - 182u8, 139u8, 74u8, 223u8, 124u8, 153u8, 4u8, 56u8, 2u8, 28u8, 25u8, - 62u8, 23u8, 10u8, 154u8, 93u8, 145u8, 179u8, 140u8, 210u8, 137u8, 7u8, - 250u8, 126u8, 16u8, 200u8, 45u8, 243u8, 74u8, 45u8, 47u8, 178u8, + 177u8, 224u8, 35u8, 117u8, 244u8, 85u8, 166u8, 142u8, 23u8, 162u8, + 66u8, 181u8, 46u8, 241u8, 185u8, 68u8, 19u8, 147u8, 250u8, 140u8, + 242u8, 116u8, 159u8, 142u8, 152u8, 10u8, 61u8, 110u8, 255u8, 36u8, + 99u8, 220u8, ], ) } @@ -10821,10 +10830,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 34u8, 209u8, 101u8, 72u8, 224u8, 206u8, 51u8, 152u8, 58u8, 123u8, - 164u8, 52u8, 54u8, 75u8, 50u8, 197u8, 34u8, 251u8, 96u8, 85u8, 100u8, - 188u8, 105u8, 60u8, 67u8, 165u8, 189u8, 34u8, 145u8, 197u8, 177u8, - 134u8, + 226u8, 176u8, 209u8, 54u8, 189u8, 220u8, 152u8, 87u8, 49u8, 47u8, + 223u8, 32u8, 14u8, 223u8, 113u8, 164u8, 129u8, 60u8, 69u8, 168u8, + 215u8, 250u8, 14u8, 67u8, 176u8, 101u8, 205u8, 45u8, 12u8, 115u8, + 202u8, 40u8, ], ) } @@ -10852,9 +10861,10 @@ pub mod api { max_weight, }, [ - 189u8, 44u8, 38u8, 80u8, 141u8, 120u8, 113u8, 212u8, 2u8, 20u8, 163u8, - 132u8, 240u8, 87u8, 196u8, 168u8, 92u8, 179u8, 178u8, 31u8, 4u8, 177u8, - 12u8, 182u8, 204u8, 216u8, 164u8, 208u8, 38u8, 139u8, 123u8, 238u8, + 237u8, 204u8, 62u8, 226u8, 114u8, 140u8, 169u8, 24u8, 180u8, 44u8, + 142u8, 96u8, 18u8, 182u8, 152u8, 177u8, 248u8, 80u8, 106u8, 98u8, + 111u8, 62u8, 4u8, 214u8, 43u8, 199u8, 5u8, 150u8, 208u8, 3u8, 255u8, + 149u8, ], ) } @@ -11249,10 +11259,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 146u8, 113u8, 238u8, 167u8, 32u8, 158u8, 216u8, 59u8, 71u8, 40u8, - 230u8, 189u8, 193u8, 61u8, 238u8, 227u8, 163u8, 51u8, 111u8, 208u8, - 218u8, 182u8, 70u8, 128u8, 234u8, 37u8, 3u8, 20u8, 166u8, 54u8, 113u8, - 94u8, + 36u8, 202u8, 40u8, 21u8, 129u8, 72u8, 153u8, 77u8, 80u8, 229u8, 7u8, + 63u8, 166u8, 205u8, 253u8, 112u8, 66u8, 52u8, 172u8, 205u8, 195u8, + 15u8, 32u8, 198u8, 125u8, 133u8, 65u8, 193u8, 23u8, 155u8, 214u8, 82u8, ], ) } @@ -11270,10 +11279,9 @@ pub mod api { weight, }, [ - 158u8, 48u8, 15u8, 136u8, 64u8, 95u8, 175u8, 11u8, 10u8, 41u8, 55u8, - 134u8, 12u8, 178u8, 142u8, 172u8, 250u8, 180u8, 237u8, 179u8, 184u8, - 146u8, 150u8, 72u8, 136u8, 201u8, 22u8, 21u8, 254u8, 75u8, 171u8, - 136u8, + 29u8, 140u8, 233u8, 127u8, 39u8, 240u8, 129u8, 135u8, 43u8, 207u8, + 135u8, 179u8, 84u8, 56u8, 143u8, 54u8, 215u8, 235u8, 112u8, 43u8, 36u8, + 61u8, 206u8, 130u8, 145u8, 24u8, 24u8, 102u8, 208u8, 4u8, 14u8, 90u8, ], ) } @@ -11313,10 +11321,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 159u8, 225u8, 20u8, 196u8, 136u8, 241u8, 233u8, 233u8, 233u8, 78u8, - 13u8, 159u8, 170u8, 252u8, 193u8, 88u8, 163u8, 13u8, 204u8, 154u8, - 220u8, 176u8, 122u8, 98u8, 66u8, 81u8, 116u8, 225u8, 67u8, 177u8, - 147u8, 223u8, + 201u8, 148u8, 136u8, 205u8, 176u8, 114u8, 56u8, 227u8, 41u8, 128u8, + 9u8, 226u8, 50u8, 85u8, 183u8, 76u8, 10u8, 43u8, 84u8, 106u8, 7u8, + 16u8, 248u8, 176u8, 179u8, 82u8, 91u8, 237u8, 85u8, 220u8, 14u8, 199u8, ], ) } @@ -16420,228 +16427,16 @@ pub mod api { } } } - pub mod runtime_types { - use super::runtime_types; - pub mod aleph_runtime { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OriginCaller { - #[codec(index = 0)] - system( - runtime_types::frame_support::dispatch::RawOrigin< - ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, - >, - ), - #[codec(index = 1)] - Void(runtime_types::sp_core::Void), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Runtime; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeCall { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Call), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Call), - #[codec(index = 4)] - Timestamp(runtime_types::pallet_timestamp::pallet::Call), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Call), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Call), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Call), - #[codec(index = 11)] - Aleph(runtime_types::pallet_aleph::pallet::Call), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Call), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Call), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Call), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Call), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Call), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Call), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Call), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Call), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Call), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeError { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Error), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Error), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Error), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Error), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Error), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Error), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Error), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Error), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Error), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Error), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Error), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Error), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Error), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Error), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Error), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeEvent { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Event), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Event), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Event), - #[codec(index = 6)] - TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Event), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Event), - #[codec(index = 11)] - Aleph(runtime_types::pallet_aleph::pallet::Event), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Event), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Event), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Event), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Event), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Event), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Event), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Event), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Event), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Event), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeHoldReason { - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::HoldReason), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SessionKeys { - pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, - pub aleph: runtime_types::primitives::app::Public, - } - } - pub mod bounded_collections { - use super::runtime_types; - pub mod bounded_btree_map { + pub mod proxy { + use super::{root_mod, runtime_types}; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_proxy::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_proxy::pallet::Call; + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { use super::runtime_types; #[derive( :: subxt :: ext :: codec :: Decode, @@ -16656,10 +16451,19 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); - } - pub mod bounded_vec { - use super::runtime_types; + pub struct Proxy { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Proxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -16673,14 +16477,1113 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, + pub struct AddProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for AddProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "add_proxy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxies; + impl ::subxt::blocks::StaticExtrinsic for RemoveProxies { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxies"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreatePure { + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + pub index: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for CreatePure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "create_pure"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPure { + pub spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub index: ::core::primitive::u16, + #[codec(compact)] + pub height: ::core::primitive::u32, + #[codec(compact)] + pub ext_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for KillPure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "kill_pure"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Announce { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for Announce { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "announce"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAnnouncement { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_announcement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RejectAnnouncement { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RejectAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "reject_announcement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProxyAnnounced { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ProxyAnnounced { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy_announced"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::proxy`]."] + pub fn proxy( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: ::core::option::Option< + runtime_types::aleph_runtime::ProxyType, + >, + call: runtime_types::aleph_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "proxy", + types::Proxy { + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 165u8, 194u8, 207u8, 184u8, 58u8, 96u8, 53u8, 95u8, 4u8, 95u8, 61u8, + 179u8, 208u8, 94u8, 15u8, 79u8, 113u8, 129u8, 176u8, 19u8, 56u8, 211u8, + 159u8, 190u8, 238u8, 50u8, 28u8, 195u8, 134u8, 144u8, 176u8, 123u8, + ], + ) + } + #[doc = "See [`Pallet::add_proxy`]."] + pub fn add_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "add_proxy", + types::AddProxy { + delegate, + proxy_type, + delay, + }, + [ + 164u8, 107u8, 132u8, 182u8, 51u8, 198u8, 248u8, 175u8, 232u8, 86u8, + 91u8, 149u8, 3u8, 245u8, 194u8, 245u8, 6u8, 29u8, 1u8, 232u8, 163u8, + 84u8, 27u8, 135u8, 161u8, 62u8, 108u8, 103u8, 85u8, 32u8, 84u8, 56u8, + ], + ) + } + #[doc = "See [`Pallet::remove_proxy`]."] + pub fn remove_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_proxy", + types::RemoveProxy { + delegate, + proxy_type, + delay, + }, + [ + 30u8, 10u8, 31u8, 118u8, 42u8, 72u8, 193u8, 164u8, 107u8, 227u8, 253u8, + 215u8, 163u8, 243u8, 237u8, 221u8, 248u8, 189u8, 228u8, 91u8, 80u8, + 14u8, 86u8, 181u8, 193u8, 76u8, 210u8, 96u8, 88u8, 214u8, 125u8, 39u8, + ], + ) + } + #[doc = "See [`Pallet::remove_proxies`]."] + pub fn remove_proxies(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_proxies", + types::RemoveProxies {}, + [ + 1u8, 126u8, 36u8, 227u8, 185u8, 34u8, 218u8, 236u8, 125u8, 231u8, 68u8, + 185u8, 145u8, 63u8, 250u8, 225u8, 103u8, 3u8, 189u8, 37u8, 172u8, + 195u8, 197u8, 216u8, 99u8, 210u8, 240u8, 162u8, 158u8, 132u8, 24u8, + 6u8, + ], + ) + } + #[doc = "See [`Pallet::create_pure`]."] + pub fn create_pure( + &self, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "create_pure", + types::CreatePure { + proxy_type, + delay, + index, + }, + [ + 118u8, 54u8, 168u8, 93u8, 179u8, 80u8, 130u8, 192u8, 170u8, 43u8, + 220u8, 138u8, 217u8, 214u8, 101u8, 175u8, 10u8, 146u8, 46u8, 206u8, + 120u8, 120u8, 206u8, 49u8, 253u8, 137u8, 64u8, 215u8, 47u8, 211u8, + 83u8, 244u8, + ], + ) + } + #[doc = "See [`Pallet::kill_pure`]."] + pub fn kill_pure( + &self, + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + index: ::core::primitive::u16, + height: ::core::primitive::u32, + ext_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "kill_pure", + types::KillPure { + spawner, + proxy_type, + index, + height, + ext_index, + }, + [ + 106u8, 193u8, 99u8, 179u8, 66u8, 120u8, 135u8, 79u8, 145u8, 221u8, + 199u8, 106u8, 214u8, 117u8, 79u8, 197u8, 225u8, 250u8, 20u8, 154u8, + 236u8, 205u8, 114u8, 247u8, 10u8, 177u8, 75u8, 203u8, 248u8, 185u8, + 77u8, 149u8, + ], + ) + } + #[doc = "See [`Pallet::announce`]."] + pub fn announce( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "announce", + types::Announce { real, call_hash }, + [ + 105u8, 218u8, 232u8, 82u8, 80u8, 10u8, 11u8, 1u8, 93u8, 241u8, 121u8, + 198u8, 167u8, 218u8, 95u8, 15u8, 75u8, 122u8, 155u8, 233u8, 10u8, + 175u8, 145u8, 73u8, 214u8, 230u8, 67u8, 107u8, 23u8, 239u8, 69u8, + 240u8, + ], + ) + } + #[doc = "See [`Pallet::remove_announcement`]."] + pub fn remove_announcement( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_announcement", + types::RemoveAnnouncement { real, call_hash }, + [ + 40u8, 237u8, 179u8, 128u8, 201u8, 183u8, 20u8, 47u8, 99u8, 182u8, 81u8, + 31u8, 27u8, 212u8, 133u8, 36u8, 8u8, 248u8, 57u8, 230u8, 138u8, 80u8, + 241u8, 147u8, 69u8, 236u8, 156u8, 167u8, 205u8, 49u8, 60u8, 16u8, + ], + ) + } + #[doc = "See [`Pallet::reject_announcement`]."] + pub fn reject_announcement( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "reject_announcement", + types::RejectAnnouncement { + delegate, + call_hash, + }, + [ + 150u8, 178u8, 49u8, 160u8, 211u8, 75u8, 58u8, 228u8, 121u8, 253u8, + 167u8, 72u8, 68u8, 105u8, 159u8, 52u8, 41u8, 155u8, 92u8, 26u8, 169u8, + 177u8, 102u8, 36u8, 1u8, 47u8, 87u8, 189u8, 223u8, 238u8, 244u8, 110u8, + ], + ) + } + #[doc = "See [`Pallet::proxy_announced`]."] + pub fn proxy_announced( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: ::core::option::Option< + runtime_types::aleph_runtime::ProxyType, + >, + call: runtime_types::aleph_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "proxy_announced", + types::ProxyAnnounced { + delegate, + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 241u8, 45u8, 63u8, 194u8, 43u8, 125u8, 80u8, 100u8, 47u8, 106u8, 10u8, + 139u8, 169u8, 227u8, 238u8, 7u8, 220u8, 145u8, 232u8, 195u8, 62u8, + 53u8, 122u8, 1u8, 182u8, 75u8, 246u8, 219u8, 181u8, 158u8, 174u8, 23u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_proxy::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was executed correctly, with the given."] + pub struct ProxyExecuted { + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for ProxyExecuted { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + pub struct PureCreated { + pub pure: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub who: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub disambiguation_index: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for PureCreated { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "PureCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An announcement was placed to make a call in the future."] + pub struct Announced { + pub real: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Announced { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "Announced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was added."] + pub struct ProxyAdded { + pub delegator: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub delegatee: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyAdded { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was removed."] + pub struct ProxyRemoved { + pub delegator: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub delegatee: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyRemoved { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyRemoved"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies( + &self, + _0: impl ::std::borrow::Borrow< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + runtime_types::aleph_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Proxies", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 223u8, 148u8, 195u8, 41u8, 25u8, 60u8, 92u8, 103u8, 161u8, 214u8, 72u8, + 238u8, 180u8, 153u8, 130u8, 216u8, 85u8, 154u8, 141u8, 197u8, 26u8, + 206u8, 4u8, 118u8, 208u8, 156u8, 142u8, 204u8, 25u8, 251u8, 124u8, + 178u8, + ], + ) + } + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + runtime_types::aleph_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Proxies", + Vec::new(), + [ + 223u8, 148u8, 195u8, 41u8, 25u8, 60u8, 92u8, 103u8, 161u8, 214u8, 72u8, + 238u8, 180u8, 153u8, 130u8, 216u8, 85u8, 154u8, 141u8, 197u8, 26u8, + 206u8, 4u8, 118u8, 208u8, 156u8, 142u8, 204u8, 25u8, 251u8, 124u8, + 178u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements( + &self, + _0: impl ::std::borrow::Borrow< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Announcements", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 129u8, 228u8, 198u8, 210u8, 90u8, 69u8, 151u8, 198u8, 206u8, 174u8, + 148u8, 58u8, 134u8, 14u8, 53u8, 56u8, 234u8, 71u8, 84u8, 247u8, 246u8, + 207u8, 117u8, 221u8, 84u8, 72u8, 254u8, 215u8, 102u8, 49u8, 21u8, + 173u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Announcements", + Vec::new(), + [ + 129u8, 228u8, 198u8, 210u8, 90u8, 69u8, 151u8, 198u8, 206u8, 174u8, + 148u8, 58u8, 134u8, 14u8, 53u8, 56u8, 234u8, 71u8, 84u8, 247u8, 246u8, + 207u8, 117u8, 221u8, 84u8, 72u8, 254u8, 215u8, 102u8, 49u8, 21u8, + 173u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a proxy."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."] + pub fn proxy_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "ProxyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per proxy added."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes plus an instance of `ProxyType` more into a"] + #[doc = " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take"] + #[doc = " into account `32 + proxy_type.encode().len()` bytes of data."] + pub fn proxy_deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "ProxyDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of proxies allowed for a single account."] + pub fn max_proxies(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Proxy", + "MaxProxies", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum amount of time-delayed announcements that are allowed to be pending."] + pub fn max_pending(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Proxy", + "MaxPending", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The base amount of currency needed to reserve for creating an announcement."] + #[doc = ""] + #[doc = " This is held when a new storage item holding a `Balance` is created (typically 16"] + #[doc = " bytes)."] + pub fn announcement_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "AnnouncementDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per announcement made."] + #[doc = ""] + #[doc = " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)"] + #[doc = " into a pre-existing storage value."] + pub fn announcement_deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "AnnouncementDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod aleph_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ), + #[codec(index = 1)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ProxyType { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + NonTransfer, + #[codec(index = 2)] + Staking, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 4)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Call), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Call), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Call), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Call), + #[codec(index = 22)] + Proxy(runtime_types::pallet_proxy::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeError { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Error), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Error), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Error), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Error), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Error), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Error), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Error), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Error), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Error), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Error), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Error), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Error), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Error), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Error), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Error), + #[codec(index = 22)] + Proxy(runtime_types::pallet_proxy::pallet::Error), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeEvent { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Event), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 6)] + TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Event), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Event), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Event), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Event), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Event), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Event), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Event), + #[codec(index = 22)] + Proxy(runtime_types::pallet_proxy::pallet::Event), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeHoldReason { + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::HoldReason), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionKeys { + pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + pub aleph: runtime_types::primitives::app::Public, + } + } + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: scale_encode :: EncodeAsType, Clone, Debug, @@ -20294,6 +21197,259 @@ pub mod api { pub balance: ::core::primitive::u128, } } + pub mod pallet_proxy { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::proxy`]."] + proxy { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: + ::core::option::Option, + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::add_proxy`]."] + add_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::remove_proxy`]."] + remove_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::remove_proxies`]."] + remove_proxies, + #[codec(index = 4)] + #[doc = "See [`Pallet::create_pure`]."] + create_pure { + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::kill_pure`]."] + kill_pure { + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + index: ::core::primitive::u16, + #[codec(compact)] + height: ::core::primitive::u32, + #[codec(compact)] + ext_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "See [`Pallet::announce`]."] + announce { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 7)] + #[doc = "See [`Pallet::remove_announcement`]."] + remove_announcement { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 8)] + #[doc = "See [`Pallet::reject_announcement`]."] + reject_announcement { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 9)] + #[doc = "See [`Pallet::proxy_announced`]."] + proxy_announced { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: + ::core::option::Option, + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "There are too many proxies registered or too many announcements pending."] + TooMany, + #[codec(index = 1)] + #[doc = "Proxy registration not found."] + NotFound, + #[codec(index = 2)] + #[doc = "Sender is not a proxy of the account to be proxied."] + NotProxy, + #[codec(index = 3)] + #[doc = "A call which is incompatible with the proxy type's filter was attempted."] + Unproxyable, + #[codec(index = 4)] + #[doc = "Account is already a proxy."] + Duplicate, + #[codec(index = 5)] + #[doc = "Call may not be made by proxy because it may escalate its privileges."] + NoPermission, + #[codec(index = 6)] + #[doc = "Announcement, if made at all, was made too recently."] + Unannounced, + #[codec(index = 7)] + #[doc = "Cannot add self as proxy."] + NoSelfProxy, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A proxy was executed correctly, with the given."] + ProxyExecuted { + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 1)] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + PureCreated { + pure: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + who: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + disambiguation_index: ::core::primitive::u16, + }, + #[codec(index = 2)] + #[doc = "An announcement was placed to make a call in the future."] + Announced { + real: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 3)] + #[doc = "A proxy was added."] + ProxyAdded { + delegator: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + delegatee: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A proxy was removed."] + ProxyRemoved { + delegator: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + delegatee: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Announcement<_0, _1, _2> { + pub real: _0, + pub call_hash: _1, + pub height: _2, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProxyDefinition<_0, _1, _2> { + pub delegate: _0, + pub proxy_type: _1, + pub delay: _2, + } + } pub mod pallet_scheduler { use super::runtime_types; pub mod pallet { diff --git a/aleph-client/src/aleph_zero_liminal.rs b/aleph-client/src/aleph_zero_liminal.rs index b7a2bd7f49..b105b3a404 100644 --- a/aleph-client/src/aleph_zero_liminal.rs +++ b/aleph-client/src/aleph_zero_liminal.rs @@ -6,7 +6,7 @@ pub mod api { mod root_mod { pub use super::*; } - pub static PALLETS: [&str; 23usize] = [ + pub static PALLETS: [&str; 24usize] = [ "System", "RandomnessCollectiveFlip", "Scheduler", @@ -30,6 +30,7 @@ pub mod api { "Identity", "CommitteeManagement", "BabyLiminal", + "Proxy", ]; pub static RUNTIME_APIS: [&str; 12usize] = [ "Core", @@ -1483,9 +1484,10 @@ pub mod api { input_data, }, [ - 28u8, 236u8, 125u8, 166u8, 230u8, 37u8, 32u8, 7u8, 48u8, 153u8, 88u8, - 210u8, 23u8, 69u8, 109u8, 0u8, 46u8, 150u8, 202u8, 196u8, 156u8, 68u8, - 174u8, 125u8, 160u8, 213u8, 136u8, 161u8, 94u8, 201u8, 148u8, 59u8, + 100u8, 97u8, 191u8, 254u8, 122u8, 135u8, 247u8, 105u8, 136u8, 56u8, + 89u8, 187u8, 48u8, 69u8, 219u8, 157u8, 30u8, 38u8, 254u8, 79u8, 255u8, + 75u8, 191u8, 244u8, 244u8, 250u8, 145u8, 29u8, 227u8, 188u8, 161u8, + 22u8, ], ) } @@ -1530,9 +1532,10 @@ pub mod api { salt, }, [ - 106u8, 113u8, 158u8, 150u8, 143u8, 44u8, 223u8, 11u8, 178u8, 52u8, - 43u8, 158u8, 219u8, 34u8, 96u8, 134u8, 176u8, 81u8, 4u8, 80u8, 244u8, - 23u8, 212u8, 182u8, 167u8, 86u8, 195u8, 58u8, 224u8, 19u8, 235u8, 70u8, + 61u8, 72u8, 110u8, 155u8, 158u8, 145u8, 156u8, 144u8, 73u8, 78u8, + 162u8, 69u8, 207u8, 225u8, 244u8, 92u8, 247u8, 96u8, 108u8, 227u8, + 133u8, 58u8, 187u8, 20u8, 160u8, 19u8, 155u8, 98u8, 246u8, 43u8, 107u8, + 141u8, ], ) } @@ -1738,6 +1741,9 @@ pub mod api { pub fn baby_liminal(&self) -> baby_liminal::constants::ConstantsApi { baby_liminal::constants::ConstantsApi } + pub fn proxy(&self) -> proxy::constants::ConstantsApi { + proxy::constants::ConstantsApi + } } pub struct StorageApi; impl StorageApi { @@ -1809,6 +1815,9 @@ pub mod api { pub fn baby_liminal(&self) -> baby_liminal::storage::StorageApi { baby_liminal::storage::StorageApi } + pub fn proxy(&self) -> proxy::storage::StorageApi { + proxy::storage::StorageApi + } } pub struct TransactionApi; impl TransactionApi { @@ -1866,6 +1875,9 @@ pub mod api { pub fn baby_liminal(&self) -> baby_liminal::calls::TransactionApi { baby_liminal::calls::TransactionApi } + pub fn proxy(&self) -> proxy::calls::TransactionApi { + proxy::calls::TransactionApi + } } #[doc = r" check whether the metadata provided is aligned with this statically generated code."] pub fn is_codegen_valid_for(metadata: &::subxt::Metadata) -> bool { @@ -1876,9 +1888,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 29u8, 102u8, 31u8, 191u8, 139u8, 34u8, 188u8, 0u8, 16u8, 253u8, 11u8, 166u8, 46u8, - 59u8, 9u8, 113u8, 45u8, 255u8, 252u8, 204u8, 160u8, 134u8, 135u8, 24u8, 88u8, - 153u8, 62u8, 143u8, 205u8, 8u8, 87u8, 50u8, + 110u8, 56u8, 49u8, 102u8, 230u8, 45u8, 1u8, 245u8, 79u8, 59u8, 68u8, 143u8, 62u8, + 191u8, 27u8, 91u8, 89u8, 3u8, 243u8, 123u8, 236u8, 248u8, 228u8, 81u8, 222u8, + 251u8, 228u8, 97u8, 230u8, 121u8, 143u8, 189u8, ] } pub mod system { @@ -2636,9 +2648,9 @@ pub mod api { "Events", vec![], [ - 253u8, 201u8, 23u8, 229u8, 154u8, 234u8, 229u8, 163u8, 149u8, 5u8, 1u8, - 179u8, 22u8, 42u8, 114u8, 81u8, 236u8, 202u8, 160u8, 239u8, 177u8, - 147u8, 17u8, 40u8, 167u8, 46u8, 243u8, 229u8, 8u8, 69u8, 95u8, 171u8, + 5u8, 96u8, 131u8, 102u8, 108u8, 240u8, 164u8, 58u8, 181u8, 73u8, 218u8, + 70u8, 209u8, 253u8, 170u8, 161u8, 98u8, 132u8, 218u8, 199u8, 122u8, + 138u8, 119u8, 15u8, 15u8, 106u8, 84u8, 108u8, 117u8, 60u8, 81u8, 178u8, ], ) } @@ -3124,10 +3136,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 7u8, 207u8, 115u8, 10u8, 123u8, 204u8, 245u8, 82u8, 100u8, 150u8, - 149u8, 204u8, 89u8, 223u8, 197u8, 150u8, 106u8, 166u8, 92u8, 175u8, - 189u8, 227u8, 12u8, 190u8, 199u8, 199u8, 244u8, 230u8, 174u8, 216u8, - 200u8, 157u8, + 93u8, 123u8, 254u8, 206u8, 174u8, 90u8, 249u8, 167u8, 12u8, 199u8, + 179u8, 177u8, 109u8, 164u8, 7u8, 160u8, 43u8, 174u8, 125u8, 233u8, + 34u8, 30u8, 188u8, 156u8, 37u8, 102u8, 232u8, 146u8, 49u8, 50u8, 185u8, + 143u8, ], ) } @@ -3172,10 +3184,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 232u8, 198u8, 58u8, 79u8, 198u8, 146u8, 25u8, 171u8, 241u8, 122u8, - 109u8, 173u8, 198u8, 27u8, 228u8, 47u8, 40u8, 140u8, 244u8, 160u8, - 18u8, 236u8, 206u8, 75u8, 233u8, 11u8, 143u8, 227u8, 156u8, 23u8, - 235u8, 100u8, + 255u8, 219u8, 24u8, 246u8, 72u8, 38u8, 197u8, 233u8, 35u8, 9u8, 137u8, + 174u8, 201u8, 213u8, 232u8, 102u8, 144u8, 190u8, 52u8, 123u8, 218u8, + 66u8, 162u8, 245u8, 53u8, 154u8, 175u8, 97u8, 52u8, 46u8, 184u8, 152u8, ], ) } @@ -3216,10 +3227,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 159u8, 155u8, 146u8, 85u8, 111u8, 5u8, 50u8, 81u8, 176u8, 155u8, 33u8, - 130u8, 229u8, 132u8, 115u8, 230u8, 113u8, 43u8, 31u8, 149u8, 135u8, - 166u8, 188u8, 128u8, 231u8, 86u8, 139u8, 22u8, 92u8, 244u8, 120u8, - 208u8, + 177u8, 208u8, 211u8, 48u8, 234u8, 216u8, 227u8, 56u8, 100u8, 247u8, + 188u8, 248u8, 51u8, 113u8, 222u8, 223u8, 230u8, 113u8, 57u8, 19u8, + 108u8, 46u8, 246u8, 129u8, 8u8, 11u8, 206u8, 114u8, 171u8, 132u8, 10u8, + 170u8, ], ) } @@ -3246,9 +3257,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 227u8, 161u8, 117u8, 235u8, 193u8, 68u8, 34u8, 88u8, 11u8, 192u8, 82u8, - 145u8, 131u8, 81u8, 72u8, 111u8, 156u8, 28u8, 145u8, 141u8, 34u8, 49u8, - 30u8, 213u8, 196u8, 126u8, 96u8, 149u8, 129u8, 179u8, 61u8, 24u8, + 244u8, 90u8, 222u8, 143u8, 136u8, 8u8, 57u8, 116u8, 0u8, 91u8, 233u8, + 116u8, 217u8, 118u8, 143u8, 170u8, 217u8, 24u8, 235u8, 159u8, 60u8, + 206u8, 178u8, 17u8, 8u8, 22u8, 208u8, 75u8, 190u8, 83u8, 44u8, 76u8, ], ) } @@ -10445,9 +10456,10 @@ pub mod api { "batch", types::Batch { calls }, [ - 16u8, 148u8, 196u8, 40u8, 186u8, 132u8, 102u8, 80u8, 171u8, 192u8, - 40u8, 108u8, 42u8, 48u8, 194u8, 222u8, 178u8, 20u8, 38u8, 144u8, 66u8, - 179u8, 36u8, 33u8, 249u8, 58u8, 243u8, 47u8, 20u8, 97u8, 16u8, 117u8, + 169u8, 5u8, 1u8, 37u8, 121u8, 140u8, 176u8, 244u8, 37u8, 201u8, 162u8, + 138u8, 31u8, 213u8, 241u8, 227u8, 113u8, 123u8, 59u8, 60u8, 175u8, + 32u8, 230u8, 132u8, 192u8, 95u8, 251u8, 118u8, 191u8, 198u8, 206u8, + 72u8, ], ) } @@ -10465,9 +10477,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 97u8, 215u8, 38u8, 3u8, 127u8, 201u8, 89u8, 81u8, 78u8, 191u8, 71u8, - 220u8, 162u8, 233u8, 221u8, 144u8, 97u8, 171u8, 6u8, 244u8, 158u8, - 41u8, 91u8, 182u8, 37u8, 217u8, 77u8, 144u8, 255u8, 0u8, 226u8, 43u8, + 57u8, 200u8, 8u8, 65u8, 70u8, 129u8, 123u8, 246u8, 236u8, 48u8, 133u8, + 140u8, 32u8, 56u8, 240u8, 224u8, 79u8, 132u8, 154u8, 22u8, 144u8, + 129u8, 8u8, 39u8, 72u8, 226u8, 186u8, 152u8, 0u8, 0u8, 198u8, 175u8, ], ) } @@ -10481,9 +10493,10 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 66u8, 127u8, 100u8, 52u8, 35u8, 34u8, 207u8, 92u8, 51u8, 233u8, 95u8, - 93u8, 79u8, 246u8, 226u8, 204u8, 104u8, 201u8, 186u8, 133u8, 230u8, - 207u8, 252u8, 10u8, 6u8, 209u8, 109u8, 98u8, 198u8, 25u8, 84u8, 36u8, + 123u8, 20u8, 154u8, 90u8, 132u8, 88u8, 191u8, 251u8, 100u8, 69u8, 42u8, + 169u8, 180u8, 169u8, 6u8, 104u8, 104u8, 105u8, 10u8, 101u8, 179u8, + 191u8, 113u8, 145u8, 24u8, 230u8, 149u8, 83u8, 126u8, 150u8, 152u8, + 212u8, ], ) } @@ -10501,9 +10514,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 105u8, 211u8, 177u8, 83u8, 130u8, 183u8, 86u8, 90u8, 206u8, 168u8, 7u8, - 127u8, 139u8, 115u8, 18u8, 65u8, 28u8, 195u8, 112u8, 56u8, 184u8, - 171u8, 188u8, 84u8, 0u8, 125u8, 218u8, 43u8, 81u8, 0u8, 64u8, 166u8, + 32u8, 51u8, 138u8, 211u8, 43u8, 37u8, 166u8, 66u8, 24u8, 30u8, 20u8, + 129u8, 25u8, 56u8, 53u8, 121u8, 13u8, 143u8, 158u8, 80u8, 109u8, 254u8, + 50u8, 117u8, 148u8, 238u8, 246u8, 23u8, 126u8, 180u8, 199u8, 44u8, ], ) } @@ -10517,10 +10530,10 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 192u8, 144u8, 113u8, 10u8, 228u8, 12u8, 121u8, 115u8, 128u8, 1u8, - 228u8, 83u8, 3u8, 59u8, 228u8, 119u8, 70u8, 27u8, 239u8, 102u8, 184u8, - 137u8, 88u8, 241u8, 143u8, 53u8, 85u8, 206u8, 63u8, 196u8, 183u8, - 255u8, + 99u8, 131u8, 215u8, 238u8, 160u8, 100u8, 57u8, 91u8, 134u8, 56u8, + 214u8, 147u8, 113u8, 186u8, 1u8, 138u8, 132u8, 240u8, 166u8, 14u8, + 110u8, 20u8, 96u8, 240u8, 62u8, 94u8, 83u8, 154u8, 182u8, 234u8, 223u8, + 83u8, ], ) } @@ -10538,10 +10551,10 @@ pub mod api { weight, }, [ - 247u8, 131u8, 240u8, 230u8, 240u8, 170u8, 101u8, 66u8, 103u8, 130u8, - 139u8, 235u8, 163u8, 178u8, 216u8, 151u8, 154u8, 209u8, 7u8, 114u8, - 41u8, 175u8, 140u8, 119u8, 117u8, 76u8, 20u8, 35u8, 182u8, 89u8, 79u8, - 27u8, + 135u8, 123u8, 111u8, 20u8, 190u8, 211u8, 30u8, 61u8, 11u8, 254u8, + 254u8, 25u8, 125u8, 48u8, 46u8, 108u8, 189u8, 176u8, 194u8, 120u8, + 197u8, 119u8, 29u8, 249u8, 213u8, 6u8, 245u8, 166u8, 239u8, 94u8, 42u8, + 92u8, ], ) } @@ -10831,10 +10844,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 182u8, 155u8, 177u8, 45u8, 238u8, 115u8, 221u8, 217u8, 123u8, 32u8, - 240u8, 161u8, 143u8, 210u8, 129u8, 170u8, 153u8, 29u8, 192u8, 185u8, - 146u8, 8u8, 182u8, 155u8, 62u8, 216u8, 43u8, 128u8, 99u8, 15u8, 221u8, - 21u8, + 37u8, 87u8, 135u8, 64u8, 247u8, 52u8, 97u8, 12u8, 76u8, 163u8, 0u8, + 168u8, 225u8, 41u8, 216u8, 237u8, 250u8, 241u8, 190u8, 199u8, 18u8, + 204u8, 27u8, 142u8, 125u8, 147u8, 227u8, 45u8, 18u8, 231u8, 170u8, + 96u8, ], ) } @@ -10862,9 +10875,9 @@ pub mod api { max_weight, }, [ - 177u8, 54u8, 175u8, 69u8, 53u8, 201u8, 103u8, 187u8, 67u8, 8u8, 24u8, - 165u8, 183u8, 31u8, 43u8, 156u8, 51u8, 73u8, 194u8, 187u8, 28u8, 198u8, - 169u8, 155u8, 140u8, 228u8, 41u8, 188u8, 153u8, 93u8, 24u8, 203u8, + 120u8, 47u8, 224u8, 87u8, 17u8, 34u8, 50u8, 100u8, 241u8, 150u8, 163u8, + 226u8, 249u8, 4u8, 50u8, 214u8, 96u8, 37u8, 31u8, 21u8, 254u8, 201u8, + 23u8, 68u8, 222u8, 77u8, 51u8, 73u8, 50u8, 255u8, 241u8, 105u8, ], ) } @@ -11259,10 +11272,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 200u8, 191u8, 183u8, 87u8, 68u8, 130u8, 240u8, 176u8, 34u8, 217u8, - 154u8, 151u8, 140u8, 42u8, 135u8, 141u8, 56u8, 115u8, 165u8, 144u8, - 7u8, 45u8, 229u8, 169u8, 253u8, 87u8, 178u8, 149u8, 45u8, 252u8, 221u8, - 202u8, + 199u8, 126u8, 74u8, 155u8, 190u8, 42u8, 74u8, 209u8, 44u8, 230u8, + 204u8, 2u8, 29u8, 223u8, 107u8, 78u8, 246u8, 229u8, 10u8, 202u8, 233u8, + 213u8, 103u8, 227u8, 67u8, 44u8, 243u8, 158u8, 236u8, 54u8, 174u8, + 61u8, ], ) } @@ -11280,10 +11293,9 @@ pub mod api { weight, }, [ - 222u8, 245u8, 210u8, 172u8, 197u8, 160u8, 145u8, 240u8, 211u8, 31u8, - 94u8, 251u8, 68u8, 128u8, 54u8, 175u8, 61u8, 25u8, 138u8, 68u8, 137u8, - 143u8, 177u8, 101u8, 255u8, 222u8, 161u8, 232u8, 24u8, 218u8, 227u8, - 172u8, + 13u8, 76u8, 170u8, 225u8, 174u8, 127u8, 176u8, 33u8, 32u8, 227u8, 66u8, + 123u8, 58u8, 246u8, 104u8, 42u8, 149u8, 55u8, 143u8, 232u8, 207u8, + 196u8, 3u8, 240u8, 58u8, 205u8, 198u8, 70u8, 122u8, 243u8, 87u8, 115u8, ], ) } @@ -11323,9 +11335,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 183u8, 106u8, 128u8, 161u8, 72u8, 228u8, 93u8, 18u8, 133u8, 19u8, 52u8, - 65u8, 0u8, 203u8, 167u8, 129u8, 220u8, 219u8, 132u8, 116u8, 108u8, - 142u8, 133u8, 233u8, 7u8, 73u8, 166u8, 108u8, 9u8, 124u8, 118u8, 104u8, + 202u8, 162u8, 81u8, 113u8, 153u8, 25u8, 76u8, 78u8, 197u8, 239u8, 95u8, + 17u8, 181u8, 194u8, 80u8, 115u8, 106u8, 14u8, 249u8, 81u8, 68u8, 183u8, + 229u8, 137u8, 214u8, 172u8, 21u8, 212u8, 59u8, 63u8, 104u8, 103u8, ], ) } @@ -16898,234 +16910,16 @@ pub mod api { } } } - pub mod runtime_types { - use super::runtime_types; - pub mod aleph_runtime { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum OriginCaller { - #[codec(index = 0)] - system( - runtime_types::frame_support::dispatch::RawOrigin< - ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, - >, - ), - #[codec(index = 1)] - Void(runtime_types::sp_core::Void), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Runtime; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeCall { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Call), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Call), - #[codec(index = 4)] - Timestamp(runtime_types::pallet_timestamp::pallet::Call), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Call), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Call), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Call), - #[codec(index = 11)] - Aleph(runtime_types::pallet_aleph::pallet::Call), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Call), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Call), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Call), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Call), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Call), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Call), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Call), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Call), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Call), - #[codec(index = 22)] - BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Call), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeError { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Error), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Error), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Error), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Error), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Error), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Error), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Error), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Error), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Error), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Error), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Error), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Error), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Error), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Error), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Error), - #[codec(index = 22)] - BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Error), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeEvent { - #[codec(index = 0)] - System(runtime_types::frame_system::pallet::Event), - #[codec(index = 2)] - Scheduler(runtime_types::pallet_scheduler::pallet::Event), - #[codec(index = 5)] - Balances(runtime_types::pallet_balances::pallet::Event), - #[codec(index = 6)] - TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), - #[codec(index = 8)] - Staking(runtime_types::pallet_staking::pallet::pallet::Event), - #[codec(index = 10)] - Session(runtime_types::pallet_session::pallet::Event), - #[codec(index = 11)] - Aleph(runtime_types::pallet_aleph::pallet::Event), - #[codec(index = 12)] - Elections(runtime_types::pallet_elections::pallet::Event), - #[codec(index = 13)] - Treasury(runtime_types::pallet_treasury::pallet::Event), - #[codec(index = 14)] - Vesting(runtime_types::pallet_vesting::pallet::Event), - #[codec(index = 15)] - Utility(runtime_types::pallet_utility::pallet::Event), - #[codec(index = 16)] - Multisig(runtime_types::pallet_multisig::pallet::Event), - #[codec(index = 17)] - Sudo(runtime_types::pallet_sudo::pallet::Event), - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::Event), - #[codec(index = 19)] - NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), - #[codec(index = 20)] - Identity(runtime_types::pallet_identity::pallet::Event), - #[codec(index = 21)] - CommitteeManagement(runtime_types::pallet_committee_management::pallet::Event), - #[codec(index = 22)] - BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Event), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum RuntimeHoldReason { - #[codec(index = 18)] - Contracts(runtime_types::pallet_contracts::pallet::HoldReason), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SessionKeys { - pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, - pub aleph: runtime_types::primitives::app::Public, - } - } - pub mod bounded_collections { - use super::runtime_types; - pub mod bounded_btree_map { + pub mod proxy { + use super::{root_mod, runtime_types}; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_proxy::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_proxy::pallet::Call; + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { use super::runtime_types; #[derive( :: subxt :: ext :: codec :: Decode, @@ -17140,10 +16934,19 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); - } - pub mod bounded_vec { - use super::runtime_types; + pub struct Proxy { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Proxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy"; + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -17157,9 +16960,1114 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { + pub struct AddProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for AddProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "add_proxy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveProxies; + impl ::subxt::blocks::StaticExtrinsic for RemoveProxies { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxies"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreatePure { + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + pub index: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for CreatePure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "create_pure"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPure { + pub spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub index: ::core::primitive::u16, + #[codec(compact)] + pub height: ::core::primitive::u32, + #[codec(compact)] + pub ext_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for KillPure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "kill_pure"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Announce { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for Announce { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "announce"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAnnouncement { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_announcement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RejectAnnouncement { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RejectAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "reject_announcement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProxyAnnounced { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + pub force_proxy_type: + ::core::option::Option, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ProxyAnnounced { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy_announced"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::proxy`]."] + pub fn proxy( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: ::core::option::Option< + runtime_types::aleph_runtime::ProxyType, + >, + call: runtime_types::aleph_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "proxy", + types::Proxy { + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 84u8, 123u8, 83u8, 245u8, 215u8, 181u8, 215u8, 65u8, 52u8, 90u8, 54u8, + 33u8, 236u8, 10u8, 62u8, 59u8, 54u8, 156u8, 233u8, 25u8, 198u8, 221u8, + 177u8, 209u8, 24u8, 4u8, 252u8, 199u8, 218u8, 158u8, 89u8, 87u8, + ], + ) + } + #[doc = "See [`Pallet::add_proxy`]."] + pub fn add_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "add_proxy", + types::AddProxy { + delegate, + proxy_type, + delay, + }, + [ + 164u8, 107u8, 132u8, 182u8, 51u8, 198u8, 248u8, 175u8, 232u8, 86u8, + 91u8, 149u8, 3u8, 245u8, 194u8, 245u8, 6u8, 29u8, 1u8, 232u8, 163u8, + 84u8, 27u8, 135u8, 161u8, 62u8, 108u8, 103u8, 85u8, 32u8, 84u8, 56u8, + ], + ) + } + #[doc = "See [`Pallet::remove_proxy`]."] + pub fn remove_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_proxy", + types::RemoveProxy { + delegate, + proxy_type, + delay, + }, + [ + 30u8, 10u8, 31u8, 118u8, 42u8, 72u8, 193u8, 164u8, 107u8, 227u8, 253u8, + 215u8, 163u8, 243u8, 237u8, 221u8, 248u8, 189u8, 228u8, 91u8, 80u8, + 14u8, 86u8, 181u8, 193u8, 76u8, 210u8, 96u8, 88u8, 214u8, 125u8, 39u8, + ], + ) + } + #[doc = "See [`Pallet::remove_proxies`]."] + pub fn remove_proxies(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_proxies", + types::RemoveProxies {}, + [ + 1u8, 126u8, 36u8, 227u8, 185u8, 34u8, 218u8, 236u8, 125u8, 231u8, 68u8, + 185u8, 145u8, 63u8, 250u8, 225u8, 103u8, 3u8, 189u8, 37u8, 172u8, + 195u8, 197u8, 216u8, 99u8, 210u8, 240u8, 162u8, 158u8, 132u8, 24u8, + 6u8, + ], + ) + } + #[doc = "See [`Pallet::create_pure`]."] + pub fn create_pure( + &self, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "create_pure", + types::CreatePure { + proxy_type, + delay, + index, + }, + [ + 118u8, 54u8, 168u8, 93u8, 179u8, 80u8, 130u8, 192u8, 170u8, 43u8, + 220u8, 138u8, 217u8, 214u8, 101u8, 175u8, 10u8, 146u8, 46u8, 206u8, + 120u8, 120u8, 206u8, 49u8, 253u8, 137u8, 64u8, 215u8, 47u8, 211u8, + 83u8, 244u8, + ], + ) + } + #[doc = "See [`Pallet::kill_pure`]."] + pub fn kill_pure( + &self, + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + index: ::core::primitive::u16, + height: ::core::primitive::u32, + ext_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "kill_pure", + types::KillPure { + spawner, + proxy_type, + index, + height, + ext_index, + }, + [ + 106u8, 193u8, 99u8, 179u8, 66u8, 120u8, 135u8, 79u8, 145u8, 221u8, + 199u8, 106u8, 214u8, 117u8, 79u8, 197u8, 225u8, 250u8, 20u8, 154u8, + 236u8, 205u8, 114u8, 247u8, 10u8, 177u8, 75u8, 203u8, 248u8, 185u8, + 77u8, 149u8, + ], + ) + } + #[doc = "See [`Pallet::announce`]."] + pub fn announce( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "announce", + types::Announce { real, call_hash }, + [ + 105u8, 218u8, 232u8, 82u8, 80u8, 10u8, 11u8, 1u8, 93u8, 241u8, 121u8, + 198u8, 167u8, 218u8, 95u8, 15u8, 75u8, 122u8, 155u8, 233u8, 10u8, + 175u8, 145u8, 73u8, 214u8, 230u8, 67u8, 107u8, 23u8, 239u8, 69u8, + 240u8, + ], + ) + } + #[doc = "See [`Pallet::remove_announcement`]."] + pub fn remove_announcement( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "remove_announcement", + types::RemoveAnnouncement { real, call_hash }, + [ + 40u8, 237u8, 179u8, 128u8, 201u8, 183u8, 20u8, 47u8, 99u8, 182u8, 81u8, + 31u8, 27u8, 212u8, 133u8, 36u8, 8u8, 248u8, 57u8, 230u8, 138u8, 80u8, + 241u8, 147u8, 69u8, 236u8, 156u8, 167u8, 205u8, 49u8, 60u8, 16u8, + ], + ) + } + #[doc = "See [`Pallet::reject_announcement`]."] + pub fn reject_announcement( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "reject_announcement", + types::RejectAnnouncement { + delegate, + call_hash, + }, + [ + 150u8, 178u8, 49u8, 160u8, 211u8, 75u8, 58u8, 228u8, 121u8, 253u8, + 167u8, 72u8, 68u8, 105u8, 159u8, 52u8, 41u8, 155u8, 92u8, 26u8, 169u8, + 177u8, 102u8, 36u8, 1u8, 47u8, 87u8, 189u8, 223u8, 238u8, 244u8, 110u8, + ], + ) + } + #[doc = "See [`Pallet::proxy_announced`]."] + pub fn proxy_announced( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: ::core::option::Option< + runtime_types::aleph_runtime::ProxyType, + >, + call: runtime_types::aleph_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Proxy", + "proxy_announced", + types::ProxyAnnounced { + delegate, + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 193u8, 67u8, 49u8, 194u8, 65u8, 25u8, 145u8, 114u8, 158u8, 122u8, 51u8, + 190u8, 73u8, 246u8, 147u8, 81u8, 59u8, 171u8, 111u8, 92u8, 29u8, 38u8, + 47u8, 11u8, 23u8, 254u8, 151u8, 76u8, 77u8, 231u8, 172u8, 208u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_proxy::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was executed correctly, with the given."] + pub struct ProxyExecuted { + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for ProxyExecuted { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + pub struct PureCreated { + pub pure: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub who: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub disambiguation_index: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for PureCreated { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "PureCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An announcement was placed to make a call in the future."] + pub struct Announced { + pub real: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Announced { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "Announced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was added."] + pub struct ProxyAdded { + pub delegator: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub delegatee: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyAdded { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proxy was removed."] + pub struct ProxyRemoved { + pub delegator: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub delegatee: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + pub proxy_type: runtime_types::aleph_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyRemoved { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyRemoved"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies( + &self, + _0: impl ::std::borrow::Borrow< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + runtime_types::aleph_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Proxies", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 223u8, 148u8, 195u8, 41u8, 25u8, 60u8, 92u8, 103u8, 161u8, 214u8, 72u8, + 238u8, 180u8, 153u8, 130u8, 216u8, 85u8, 154u8, 141u8, 197u8, 26u8, + 206u8, 4u8, 118u8, 208u8, 156u8, 142u8, 204u8, 25u8, 251u8, 124u8, + 178u8, + ], + ) + } + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + runtime_types::aleph_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Proxies", + Vec::new(), + [ + 223u8, 148u8, 195u8, 41u8, 25u8, 60u8, 92u8, 103u8, 161u8, 214u8, 72u8, + 238u8, 180u8, 153u8, 130u8, 216u8, 85u8, 154u8, 141u8, 197u8, 26u8, + 206u8, 4u8, 118u8, 208u8, 156u8, 142u8, 204u8, 25u8, 251u8, 124u8, + 178u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements( + &self, + _0: impl ::std::borrow::Borrow< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Announcements", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 129u8, 228u8, 198u8, 210u8, 90u8, 69u8, 151u8, 198u8, 206u8, 174u8, + 148u8, 58u8, 134u8, 14u8, 53u8, 56u8, 234u8, 71u8, 84u8, 247u8, 246u8, + 207u8, 117u8, 221u8, 84u8, 72u8, 254u8, 215u8, 102u8, 49u8, 21u8, + 173u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + ), + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Proxy", + "Announcements", + Vec::new(), + [ + 129u8, 228u8, 198u8, 210u8, 90u8, 69u8, 151u8, 198u8, 206u8, 174u8, + 148u8, 58u8, 134u8, 14u8, 53u8, 56u8, 234u8, 71u8, 84u8, 247u8, 246u8, + 207u8, 117u8, 221u8, 84u8, 72u8, 254u8, 215u8, 102u8, 49u8, 21u8, + 173u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a proxy."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."] + pub fn proxy_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "ProxyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per proxy added."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes plus an instance of `ProxyType` more into a"] + #[doc = " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take"] + #[doc = " into account `32 + proxy_type.encode().len()` bytes of data."] + pub fn proxy_deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "ProxyDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of proxies allowed for a single account."] + pub fn max_proxies(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Proxy", + "MaxProxies", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum amount of time-delayed announcements that are allowed to be pending."] + pub fn max_pending(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Proxy", + "MaxPending", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The base amount of currency needed to reserve for creating an announcement."] + #[doc = ""] + #[doc = " This is held when a new storage item holding a `Balance` is created (typically 16"] + #[doc = " bytes)."] + pub fn announcement_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "AnnouncementDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per announcement made."] + #[doc = ""] + #[doc = " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)"] + #[doc = " into a pre-existing storage value."] + pub fn announcement_deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Proxy", + "AnnouncementDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod aleph_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ), + #[codec(index = 1)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ProxyType { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + NonTransfer, + #[codec(index = 2)] + Staking, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 4)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Call), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Call), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Call), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Call), + #[codec(index = 22)] + BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Call), + #[codec(index = 23)] + Proxy(runtime_types::pallet_proxy::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeError { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Error), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Error), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Error), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Error), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Error), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Error), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Error), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Error), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Error), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Error), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Error), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Error), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Error), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Error), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Error), + #[codec(index = 22)] + BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Error), + #[codec(index = 23)] + Proxy(runtime_types::pallet_proxy::pallet::Error), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeEvent { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Event), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 6)] + TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Event), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Event), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Event), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Event), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Event), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Event), + #[codec(index = 21)] + CommitteeManagement(runtime_types::pallet_committee_management::pallet::Event), + #[codec(index = 22)] + BabyLiminal(runtime_types::pallet_baby_liminal::pallet::Event), + #[codec(index = 23)] + Proxy(runtime_types::pallet_proxy::pallet::Event), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeHoldReason { + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::HoldReason), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionKeys { + pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + pub aleph: runtime_types::primitives::app::Public, + } + } + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { use super::runtime_types; #[derive( :: subxt :: ext :: codec :: Decode, @@ -20918,6 +21826,259 @@ pub mod api { pub balance: ::core::primitive::u128, } } + pub mod pallet_proxy { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "See [`Pallet::proxy`]."] + proxy { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: + ::core::option::Option, + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "See [`Pallet::add_proxy`]."] + add_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "See [`Pallet::remove_proxy`]."] + remove_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "See [`Pallet::remove_proxies`]."] + remove_proxies, + #[codec(index = 4)] + #[doc = "See [`Pallet::create_pure`]."] + create_pure { + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + }, + #[codec(index = 5)] + #[doc = "See [`Pallet::kill_pure`]."] + kill_pure { + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + proxy_type: runtime_types::aleph_runtime::ProxyType, + index: ::core::primitive::u16, + #[codec(compact)] + height: ::core::primitive::u32, + #[codec(compact)] + ext_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "See [`Pallet::announce`]."] + announce { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 7)] + #[doc = "See [`Pallet::remove_announcement`]."] + remove_announcement { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 8)] + #[doc = "See [`Pallet::reject_announcement`]."] + reject_announcement { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 9)] + #[doc = "See [`Pallet::proxy_announced`]."] + proxy_announced { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + (), + >, + force_proxy_type: + ::core::option::Option, + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "There are too many proxies registered or too many announcements pending."] + TooMany, + #[codec(index = 1)] + #[doc = "Proxy registration not found."] + NotFound, + #[codec(index = 2)] + #[doc = "Sender is not a proxy of the account to be proxied."] + NotProxy, + #[codec(index = 3)] + #[doc = "A call which is incompatible with the proxy type's filter was attempted."] + Unproxyable, + #[codec(index = 4)] + #[doc = "Account is already a proxy."] + Duplicate, + #[codec(index = 5)] + #[doc = "Call may not be made by proxy because it may escalate its privileges."] + NoPermission, + #[codec(index = 6)] + #[doc = "Announcement, if made at all, was made too recently."] + Unannounced, + #[codec(index = 7)] + #[doc = "Cannot add self as proxy."] + NoSelfProxy, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A proxy was executed correctly, with the given."] + ProxyExecuted { + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 1)] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + PureCreated { + pure: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + who: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + disambiguation_index: ::core::primitive::u16, + }, + #[codec(index = 2)] + #[doc = "An announcement was placed to make a call in the future."] + Announced { + real: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy: ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 3)] + #[doc = "A proxy was added."] + ProxyAdded { + delegator: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + delegatee: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A proxy was removed."] + ProxyRemoved { + delegator: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + delegatee: + ::subxt::utils::Static<::subxt::ext::sp_core::crypto::AccountId32>, + proxy_type: runtime_types::aleph_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Announcement<_0, _1, _2> { + pub real: _0, + pub call_hash: _1, + pub height: _2, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProxyDefinition<_0, _1, _2> { + pub delegate: _0, + pub proxy_type: _1, + pub delay: _2, + } + } pub mod pallet_scheduler { use super::runtime_types; pub mod pallet { diff --git a/aleph-client/src/pallets/mod.rs b/aleph-client/src/pallets/mod.rs index 1ac76576af..9c9073bf4e 100644 --- a/aleph-client/src/pallets/mod.rs +++ b/aleph-client/src/pallets/mod.rs @@ -17,6 +17,8 @@ pub mod elections; pub mod fee; /// Pallet multisig API pub mod multisig; +/// Pallet Proxy API +pub mod proxy; /// Pallet session API pub mod session; /// Pallet staking API diff --git a/aleph-client/src/pallets/proxy.rs b/aleph-client/src/pallets/proxy.rs new file mode 100644 index 0000000000..e42309d167 --- /dev/null +++ b/aleph-client/src/pallets/proxy.rs @@ -0,0 +1,79 @@ +use subxt::utils::MultiAddress; + +use crate::{ + aleph_runtime::{ProxyType, RuntimeCall}, + api, AccountId, SignedConnectionApi, TxInfo, TxStatus, +}; + +/// any object that implements pallet proxy api +#[async_trait::async_trait] +pub trait ProxyUserApi { + /// API for [`proxy`](https://paritytech.github.io/polkadot-sdk/master/pallet_proxy/pallet/struct.Pallet.html#method.proxy) call. + async fn proxy( + &self, + real: AccountId, + call: RuntimeCall, + status: TxStatus, + ) -> anyhow::Result; + + /// API for [`add_proxy`](https://paritytech.github.io/polkadot-sdk/master/pallet_proxy/pallet/struct.Pallet.html#method.add_proxy) call. + async fn add_proxy( + &self, + delegate: AccountId, + proxy_type: ProxyType, + delay: u32, + status: TxStatus, + ) -> anyhow::Result; + + /// API for [`remove_proxy`](https://paritytech.github.io/polkadot-sdk/master/pallet_proxy/pallet/struct.Pallet.html#method.remove_proxy) call. + async fn remove_proxy( + &self, + delegate: AccountId, + proxy_type: ProxyType, + delay: u32, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl ProxyUserApi for S { + async fn proxy( + &self, + real: AccountId, + call: RuntimeCall, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .proxy() + .proxy(MultiAddress::Id(real.into()), None, call); + + self.send_tx(tx, status).await + } + async fn add_proxy( + &self, + delegate: AccountId, + proxy_type: ProxyType, + delay: u32, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .proxy() + .add_proxy(MultiAddress::Id(delegate.into()), proxy_type, delay); + + self.send_tx(tx, status).await + } + async fn remove_proxy( + &self, + delegate: AccountId, + proxy_type: ProxyType, + delay: u32, + status: TxStatus, + ) -> anyhow::Result { + let tx = + api::tx() + .proxy() + .remove_proxy(MultiAddress::Id(delegate.into()), proxy_type, delay); + + self.send_tx(tx, status).await + } +} diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 22abde2386..2436b7e3df 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -63,6 +63,7 @@ pallet-aleph = { workspace = true } pallet-committee-management= { workspace = true } pallet-elections = { workspace = true } primitives = { workspace = true } +pallet-proxy = { workspace = true } # Liminal-related dependencies baby-liminal-extension = { workspace = true, features = ["runtime"], optional = true } @@ -97,6 +98,7 @@ std = [ "pallet-treasury/std", "pallet-vesting/std", "pallet-multisig/std", + "pallet-proxy/std", "pallet-utility/std", "sp-api/std", "sp-block-builder/std", @@ -148,6 +150,7 @@ try-runtime = [ "pallet-multisig/try-runtime", "pallet-utility/try-runtime", "pallet-committee-management/try-runtime", + "pallet-proxy/try-runtime" ] enable_treasury_proposals = [] runtime-benchmarks = [ diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index eac0132943..fb20686273 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -23,8 +23,8 @@ pub use frame_support::{ use frame_support::{ sp_runtime::Perquintill, traits::{ - ConstBool, ConstU32, EqualPrivilegeOnly, EstimateNextSessionRotation, SortedMembers, - WithdrawReasons, + ConstBool, ConstU32, EqualPrivilegeOnly, EstimateNextSessionRotation, InstanceFilter, + SortedMembers, WithdrawReasons, }, weights::constants::WEIGHT_REF_TIME_PER_MILLIS, PalletId, @@ -37,6 +37,7 @@ use pallet_committee_management::SessionAndEraManager; use pallet_session::QueuedKeys; pub use pallet_timestamp::Call as TimestampCall; use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use primitives::{ staking::MAX_NOMINATORS_REWARDED_PER_VALIDATOR, wrap_methods, ApiError as AlephApiError, AuraId, AuthorityId as AlephId, Block as AlephBlock, BlockId as AlephBlockId, @@ -58,7 +59,7 @@ use sp_runtime::{ AccountIdLookup, BlakeTwo256, Block as BlockT, Bounded, ConvertInto, One, OpaqueKeys, }, transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, FixedU128, + ApplyExtrinsicResult, FixedU128, RuntimeDebug, }; pub use sp_runtime::{FixedPointNumber, Perbill, Permill}; use sp_staking::{currency_to_vote::U128CurrencyToVote, EraIndex}; @@ -765,6 +766,94 @@ impl pallet_identity::Config for Runtime { type RegistrarOrigin = EnsureRoot; type WeightInfo = pallet_identity::weights::SubstrateWeight; } +parameter_types! { + // Key size = 32, value size = 8 + pub const ProxyDepositBase: Balance = 40 * LEGACY_DEPOSIT_PER_BYTE; + // One storage item (32) plus `ProxyType` (1) encode len. + pub const ProxyDepositFactor: Balance = 33 * LEGACY_DEPOSIT_PER_BYTE; + // Key size = 32, value size 8 + pub const AnnouncementDepositBase: Balance = 40 * LEGACY_DEPOSIT_PER_BYTE; + // AccountId, Hash and BlockNumber sum up to 68 + pub const AnnouncementDepositFactor: Balance = 68 * LEGACY_DEPOSIT_PER_BYTE; +} +#[derive( + Copy, + Clone, + Eq, + PartialEq, + Ord, + PartialOrd, + Encode, + Decode, + RuntimeDebug, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub enum ProxyType { + Any = 0, + NonTransfer = 1, + Staking = 2, +} +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::Staking(..) + | RuntimeCall::Session(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Vesting(pallet_vesting::Call::vest { .. }) + | RuntimeCall::Vesting(pallet_vesting::Call::vest_other { .. }) + | RuntimeCall::Vesting(pallet_vesting::Call::merge_schedules { .. }) + | RuntimeCall::Utility(..) + | RuntimeCall::Multisig(..) + | RuntimeCall::NominationPools(..) + | RuntimeCall::Identity(..) + ), + ProxyType::Staking => { + matches!( + c, + RuntimeCall::Staking(..) + | RuntimeCall::Session(..) + | RuntimeCall::Utility(..) + | RuntimeCall::NominationPools(..) + ) + } + } + } + fn is_superset(&self, o: &Self) -> bool { + // ProxyType::Staking ⊆ ProxyType::NonTransfer ⊆ ProxyType::Any + match (self, o) { + (ProxyType::Any, _) => true, + (_, ProxyType::Any) => false, + (ProxyType::NonTransfer, ProxyType::Staking) => true, + (ProxyType::Staking, ProxyType::NonTransfer) => false, + (ProxyType::Staking, ProxyType::Staking) => true, + (ProxyType::NonTransfer, ProxyType::NonTransfer) => true, + } + } +} + +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; +} // Create the runtime by composing the FRAME pallets that were previously configured. #[cfg(not(feature = "liminal"))] @@ -792,6 +881,7 @@ construct_runtime!( NominationPools: pallet_nomination_pools, Identity: pallet_identity, CommitteeManagement: pallet_committee_management, + Proxy: pallet_proxy, } ); @@ -821,6 +911,7 @@ construct_runtime!( Identity: pallet_identity, CommitteeManagement: pallet_committee_management, BabyLiminal: pallet_baby_liminal, + Proxy: pallet_proxy, } ); diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 0f61a51d89..f3a621aea9 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -38,6 +38,7 @@ mod finalization; mod helpers; mod high_latency; mod lenient_threshold; +mod proxy; mod rewards; mod staking; mod sync; diff --git a/e2e-tests/src/test/proxy.rs b/e2e-tests/src/test/proxy.rs new file mode 100644 index 0000000000..8e0f56d8ce --- /dev/null +++ b/e2e-tests/src/test/proxy.rs @@ -0,0 +1,259 @@ +use aleph_client::{ + aleph_runtime::{ProxyType, RuntimeCall}, + api::{proxy::events::ProxyExecuted, utility::events::BatchInterrupted}, + keypair_from_string, + pallet_balances::pallet::Call::transfer_allow_death, + pallet_session::pallet::Call::set_keys, + pallet_staking::{pallet::pallet::Call::bond, RewardDestination}, + pallet_utility::pallet::Call::batch, + pallets::{balances::BalanceUserApi, proxy::ProxyUserApi}, + utility::BlocksApi, + AsConnection, AsSigned, Connection, KeyPair, RootConnection, SignedConnection, TxStatus, +}; +use primitives::TOKEN; +use subxt::utils::{MultiAddress, Static}; + +use crate::{ + config::setup_test, + test::proxy::ProxyCallExpectedStatus::{Failure, Success}, +}; + +struct ProxyHandle { + proxy: KeyPair, + account: KeyPair, +} + +enum ProxyCallExpectedStatus { + Success, + Failure, +} + +async fn setup_proxy(connection: RootConnection, proxy_type: ProxyType) -> ProxyHandle { + let seed = "//test_account"; + let proxy_seed = format!("{}//proxy", seed); + + let account = keypair_from_string(seed); + let proxy = keypair_from_string(&proxy_seed); + + connection + .as_signed() + .transfer_keep_alive( + account.account_id().clone(), + 10_000 * TOKEN, + TxStatus::Finalized, + ) + .await + .expect("transfer should succeed"); + connection + .as_signed() + .transfer_keep_alive( + proxy.account_id().clone(), + 1000 * TOKEN, + TxStatus::Finalized, + ) + .await + .expect("transfer should succeed"); + + let account_connection = + SignedConnection::from_connection(connection.as_connection().clone(), account.clone()); + + account_connection + .add_proxy( + proxy.account_id().clone(), + proxy_type, + 0, + TxStatus::Finalized, + ) + .await + .expect("we have funds"); + + ProxyHandle { account, proxy } +} + +async fn perform_and_check_calls( + connection: Connection, + handle: &ProxyHandle, + calls: Vec<(RuntimeCall, ProxyCallExpectedStatus)>, +) { + let proxy_connection = + SignedConnection::from_connection(connection.clone(), handle.proxy.clone()); + + for (call, status) in calls { + let tx_info = proxy_connection + .proxy( + handle.account.account_id().clone(), + call.clone(), + TxStatus::InBlock, + ) + .await + .unwrap(); + + let events = connection.get_tx_events(tx_info).await.unwrap(); + + let res = match events.find_first::() { + Ok(Some(res)) => res, + _ => panic!("expected one `ProxyExecuted` event"), + }; + match status { + Success => { + if res.result.is_err() { + panic!("Result of the call should be ok, {:?} {:?}", res, call); + } + + if let Ok(Some(bi)) = events.find_first::() { + panic!("No batch interrupted event should be present {:?}", bi); + }; + } + Failure => { + if res.result.is_err() { + continue; + } + + match events.find_first::() { + Ok(Some(_)) => {} + _ => panic!("Batch interrupted event should be present"), + }; + } + } + } +} + +#[tokio::test] +pub async fn any_proxy_works() -> anyhow::Result<()> { + let config = setup_test(); + + let root_connection = config.create_root_connection().await; + + let handle = setup_proxy(root_connection.clone(), ProxyType::Any).await; + let test_id = keypair_from_string("//test_account").account_id().clone(); + + let calls = vec![ + ( + RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id.clone())), + value: 100, + }), + Success, + ), + ( + RuntimeCall::Utility(batch { + calls: vec![RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id)), + value: 100, + })], + }), + Success, + ), + ( + RuntimeCall::Staking(bond { + value: 1000, + payee: RewardDestination::Staked, + }), + Success, + ), + ( + RuntimeCall::Session(set_keys { + keys: vec![0u8; 64].into(), + proof: vec![], + }), + Success, + ), + ]; + + perform_and_check_calls(root_connection.as_connection().clone(), &handle, calls).await; + + Ok(()) +} + +#[tokio::test] +pub async fn staking_proxy_works() -> anyhow::Result<()> { + let config = setup_test(); + + let root_connection = config.create_root_connection().await; + + let handle = setup_proxy(root_connection.clone(), ProxyType::Staking).await; + let test_id = keypair_from_string("//test_account").account_id().clone(); + + let calls = vec![ + ( + RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id.clone())), + value: 100, + }), + Failure, + ), + ( + RuntimeCall::Utility(batch { + calls: vec![RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id)), + value: 100, + })], + }), + Failure, + ), + ( + RuntimeCall::Staking(bond { + value: 1000, + payee: RewardDestination::Staked, + }), + Success, + ), + ( + RuntimeCall::Session(set_keys { + keys: vec![0u8; 64].into(), + proof: vec![], + }), + Success, + ), + ]; + + perform_and_check_calls(root_connection.as_connection().clone(), &handle, calls).await; + + Ok(()) +} +#[tokio::test] +pub async fn non_transfer_proxy_works() -> anyhow::Result<()> { + let config = setup_test(); + + let root_connection = config.create_root_connection().await; + + let handle = setup_proxy(root_connection.clone(), ProxyType::Staking).await; + let test_id = keypair_from_string("//test_account").account_id().clone(); + + let calls = vec![ + ( + RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id.clone())), + value: 100, + }), + Failure, + ), + ( + RuntimeCall::Utility(batch { + calls: vec![RuntimeCall::Balances(transfer_allow_death { + dest: MultiAddress::Id(Static(test_id)), + value: 100, + })], + }), + Failure, + ), + ( + RuntimeCall::Staking(bond { + value: 1000, + payee: RewardDestination::Staked, + }), + Success, + ), + ( + RuntimeCall::Session(set_keys { + keys: vec![0u8; 64].into(), + proof: vec![], + }), + Success, + ), + ]; + + perform_and_check_calls(root_connection.as_connection().clone(), &handle, calls).await; + + Ok(()) +}