referrerpolicy=no-referrer-when-downgrade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// This file is part of Substrate.

// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// 	http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! The generated subxt client.
//! Generated against a substrate chain configured with [`pallet_revive`] using:
//! subxt metadata  --url ws://localhost:9944 -o rpc/revive_chain.scale
use subxt::config::{signed_extensions, Config, PolkadotConfig};

#[subxt::subxt(
	runtime_metadata_path = "revive_chain.metadata",
	// TODO remove once subxt use the same U256 type
	substitute_type(
		path = "primitive_types::U256",
		with = "::subxt::utils::Static<::sp_core::U256>"
	),
	substitute_type(
		path = "pallet_revive::evm::api::rpc_types_gen::GenericTransaction",
		with = "::subxt::utils::Static<::pallet_revive::evm::GenericTransaction>"
	),
	substitute_type(
		path = "pallet_revive::primitives::EthTransactInfo<B>",
		with = "::subxt::utils::Static<::pallet_revive::EthTransactInfo<B>>"
	),
	substitute_type(
		path = "pallet_revive::primitives::EthTransactError",
		with = "::subxt::utils::Static<::pallet_revive::EthTransactError>"
	),
	substitute_type(
		path = "pallet_revive::primitives::ExecReturnValue",
		with = "::subxt::utils::Static<::pallet_revive::ExecReturnValue>"
	),
	substitute_type(
		path = "sp_weights::weight_v2::Weight",
		with = "::subxt::utils::Static<::sp_weights::Weight>"
	)
)]
mod src_chain {}
pub use src_chain::*;

/// The configuration for the source chain.
pub enum SrcChainConfig {}
impl Config for SrcChainConfig {
	type Hash = sp_core::H256;
	type AccountId = <PolkadotConfig as Config>::AccountId;
	type Address = <PolkadotConfig as Config>::Address;
	type Signature = <PolkadotConfig as Config>::Signature;
	type Hasher = BlakeTwo256;
	type Header = subxt::config::substrate::SubstrateHeader<u32, BlakeTwo256>;
	type AssetId = <PolkadotConfig as Config>::AssetId;
	type ExtrinsicParams = signed_extensions::AnyOf<
		Self,
		(
			signed_extensions::CheckSpecVersion,
			signed_extensions::CheckTxVersion,
			signed_extensions::CheckNonce,
			signed_extensions::CheckGenesis<Self>,
			signed_extensions::CheckMortality<Self>,
			signed_extensions::ChargeAssetTxPayment<Self>,
			signed_extensions::ChargeTransactionPayment,
			signed_extensions::CheckMetadataHash,
		),
	>;
}

/// A type that can hash values using the blaks2_256 algorithm.
/// TODO remove once subxt is updated
#[derive(Debug, Clone, Copy, PartialEq, Eq, codec::Encode)]
pub struct BlakeTwo256;

impl subxt::config::Hasher for BlakeTwo256 {
	type Output = sp_core::H256;
	fn hash(s: &[u8]) -> Self::Output {
		sp_crypto_hashing::blake2_256(s).into()
	}
}