Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,556 changes: 1,681 additions & 1,875 deletions Cargo.lock

Large diffs are not rendered by default.

135 changes: 67 additions & 68 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ debug = 2
opt-level = 3

[workspace.dependencies]
alloy = { version = "1.6.3", features = [
alloy = { version = "1.8.2", features = [
"rlp",
"asm-keccak",
"full",
Expand All @@ -72,37 +72,37 @@ alloy = { version = "1.6.3", features = [
"sol-types",
"contract",
] }
alloy-chains = { version = "0.2.5", default-features = false }
alloy-consensus = { version = "1.6.3", default-features = false }
alloy-contract = { version = "1.6.3" }
alloy-chains = { version = "0.2.33", default-features = false }
alloy-consensus = { version = "1.8.2", default-features = false }
alloy-contract = { version = "1.8.2" }
alloy-dyn-abi = "1.5.6"
alloy-eips = { version = "1.6.3", default-features = false }
alloy-genesis = { version = "1.6.3", default-features = false }
alloy-json-rpc = { version = "1.6.3", default-features = false }
alloy-network = { version = "1.6.3", default-features = false }
alloy-node-bindings = { version = "1.6.3", default-features = false }
alloy-eips = { version = "1.8.2", default-features = false }
alloy-genesis = { version = "1.8.2", default-features = false }
alloy-json-rpc = { version = "1.8.2", default-features = false }
alloy-network = { version = "1.8.2", default-features = false }
alloy-node-bindings = { version = "1.8.2", default-features = false }
alloy-primitives = { version = "1.5.6", default-features = false, features = ["map-foldhash", "asm-keccak"] }
alloy-provider = { version = "1.6.3", default-features = false, features = ["reqwest"] }
alloy-pubsub = { version = "1.6.3", default-features = false }
alloy-rlp = "0.3.10"
alloy-rlp-derive = "0.3.10"
alloy-rpc-client = { version = "1.6.3", default-features = false }
alloy-rpc-types = { version = "1.6.3", default-features = false, features = ["eth"] }
alloy-rpc-types-admin = { version = "1.6.3", default-features = false }
alloy-rpc-types-anvil = { version = "1.6.3", default-features = false }
alloy-rpc-types-beacon = { version = "1.6.3", default-features = false }
alloy-rpc-types-engine = { version = "1.6.3", default-features = false }
alloy-rpc-types-eth = { version = "1.6.3", default-features = false }
alloy-rpc-types-txpool = { version = "1.6.3", default-features = false }
alloy-serde = { version = "1.6.3", default-features = false }
alloy-signer = { version = "1.6.3", default-features = false }
alloy-signer-local = { version = "1.6.3", default-features = false }
alloy-provider = { version = "1.8.2", default-features = false, features = ["reqwest"] }
alloy-pubsub = { version = "1.8.2", default-features = false }
alloy-rlp = "0.3.13"
alloy-rlp-derive = "0.3.13"
alloy-rpc-client = { version = "1.8.2", default-features = false }
alloy-rpc-types = { version = "1.8.2", default-features = false, features = ["eth"] }
alloy-rpc-types-admin = { version = "1.8.2", default-features = false }
alloy-rpc-types-anvil = { version = "1.8.2", default-features = false }
alloy-rpc-types-beacon = { version = "1.8.2", default-features = false }
alloy-rpc-types-engine = { version = "1.8.2", default-features = false }
alloy-rpc-types-eth = { version = "1.8.2", default-features = false }
alloy-rpc-types-txpool = { version = "1.8.2", default-features = false }
alloy-serde = { version = "1.8.2", default-features = false }
alloy-signer = { version = "1.8.2", default-features = false }
alloy-signer-local = { version = "1.8.2", default-features = false }
alloy-sol-macro = "1.5.6"
alloy-sol-types = "1.5.6"
alloy-transport = { version = "1.6.3" }
alloy-transport-http = { version = "1.6.3", features = ["reqwest-rustls-tls"], default-features = false }
alloy-transport-ipc = { version = "1.6.3", default-features = false }
alloy-transport-ws = { version = "1.6.3", default-features = false }
alloy-transport = { version = "1.8.2" }
alloy-transport-http = { version = "1.8.2", features = ["reqwest-rustls-tls"], default-features = false }
alloy-transport-ipc = { version = "1.8.2", default-features = false }
alloy-transport-ws = { version = "1.8.2", default-features = false }
alloy-trie = { version = "0.9.0", default-features = false }
angstrom = { path = "./bin/angstrom/" }
angstrom-amm-quoter = { path = "./crates/amm-quoter/" }
Expand Down Expand Up @@ -173,53 +173,52 @@ quote = "1"
rand = "0.9.0"
rand_distr = "0.5.1"
rayon = "1"
reth = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-db = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3", features = [
reth = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-db = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0", features = [
"serde",
] }
reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-network = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3", default-features = false }
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
reth-trie-common = { git = "https://github.com/paradigmxyz/reth", version = "1.11.3", tag = "v1.11.3" }
revm = { version = "34.0.0", features = [
reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-network = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-primitives-traits = "0.1.0"
reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
reth-trie-common = { git = "https://github.com/paradigmxyz/reth", version = "2.0.0", tag = "v2.0.0" }
revm = { version = "36.0.0", features = [
"std",
"secp256k1",
"optional_balance_check",
"optional_block_gas_limit",
], default-features = false }
revm-bytecode = { version = "8.0.0", default-features = false }
revm-database = { version = "10.0.0", default-features = false }
revm-interpreter = { version = "32.0.0", default-features = false }
revm-primitives = { version = "22.0.0", default-features = false }
revm-state = { version = "9.0.0", default-features = false }
revm-bytecode = { version = "9.0.0", default-features = false }
revm-database = { version = "12.0.0", default-features = false }
revm-interpreter = { version = "34.0.0", default-features = false }
revm-primitives = { version = "22.1.0", default-features = false }
revm-state = { version = "10.0.0", default-features = false }
ring = "=0.17.12"
secp256k1 = { version = "0.30", default-features = false, features = ["global-context", "rand", "recovery"] }
serde = { version = "1", default-features = false, features = ["derive"] }
Expand Down
8 changes: 4 additions & 4 deletions bin/angstrom/src/components.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ use reth::{
builder::FullNodeComponents,
chainspec::ChainSpec,
core::exit::NodeExitFuture,
primitives::EthPrimitives,
primitives::{BlockTy, EthPrimitives, HeaderTy, ReceiptTy},
providers::{BlockNumReader, CanonStateNotification, CanonStateSubscriptions},
tasks::TaskExecutor
};
Expand Down Expand Up @@ -189,9 +189,9 @@ where
Node: FullNodeComponents
+ FullNodeTypes<Types: NodeTypes<ChainSpec = ChainSpec, Primitives = EthPrimitives>>,
Node::Provider: BlockReader<
Block = reth::primitives::Block,
Receipt = reth::primitives::Receipt,
Header = reth::primitives::Header
Block = BlockTy<EthPrimitives>,
Receipt = ReceiptTy<EthPrimitives>,
Header = HeaderTy<EthPrimitives>
> + DatabaseProviderFactory
+ StateProviderFactory
+ BlockNumReader
Expand Down
7 changes: 0 additions & 7 deletions bin/counter-matcher/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,6 @@ tokio.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true

[target.'cfg(unix)'.dependencies]
tikv-jemallocator = { version = "0.6.0", optional = true }

[[bin]]
name = "counter-matcher"
path = "src/main.rs"

[features]
default = ["jemalloc"]
jemalloc = ["dep:tikv-jemallocator"]
7 changes: 0 additions & 7 deletions bin/sepolia-bundle-lander/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,6 @@ uniswap-v4.workspace = true
uniswap_v3_math.workspace = true
url.workspace = true

[target.'cfg(unix)'.dependencies]
tikv-jemallocator = { version = "0.6.0", optional = true }

[features]
default = ["jemalloc"]
jemalloc = ["dep:tikv-jemallocator"]

[[bin]]
name = "bundle-lander"
path = "src/main.rs"
12 changes: 3 additions & 9 deletions crates/angstrom-net/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ reth-network.workspace = true
reth-network-p2p = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" }
reth-network-peers.workspace = true
reth-node-builder.workspace = true
reth-primitives.workspace = true
reth-tasks.workspace = true
reth-transaction-pool.workspace = true
secp256k1.workspace = true
Expand All @@ -51,21 +50,16 @@ tracing.workspace = true
validation.workspace = true

[dev-dependencies]
angstrom-network.workspace = true
rand.workspace = true
reth-discv4 = { workspace = true, features = ["test-utils"] }
reth-metrics.workspace = true
reth-network = { workspace = true, features = ["test-utils"] }
reth-primitives = { workspace = true, features = ["test-utils"] }
reth-provider = { workspace = true, features = ["test-utils"] }
reth-tracing.workspace = true
reth-transaction-pool = { workspace = true, features = ["test-utils"] }
secp256k1.workspace = true
serial_test.workspace = true
tempfile.workspace = true
testing-tools.workspace = true
toml.workspace = true

[package.metadata.cargo-machete]
ignored = ["reth-provider"]

[features]
default = ["serde"]
serde = ["secp256k1/serde"]
Expand Down
8 changes: 4 additions & 4 deletions crates/angstrom-net/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use angstrom_types::{
use parking_lot::RwLock;
use reth_metrics::common::mpsc::{MeteredPollSender, UnboundedMeteredSender};
use reth_network::Peers;
use reth_tasks::{TaskSpawner, TaskSpawnerExt};
use reth_tasks::TaskExecutor;
use tokio::sync::mpsc::{Receiver, UnboundedReceiver};
use tokio_util::sync::PollSender;

Expand Down Expand Up @@ -88,9 +88,9 @@ impl<P: Peers + Unpin + 'static, S: AngstromMetaSigner> NetworkBuilder<P, S> {
/// builds the network spawning it on its own thread, returning the
/// communication channel along with returning the protocol it
/// represents.
pub fn build_handle<TP: TaskSpawner + TaskSpawnerExt, DB: Send + Unpin + 'static>(
pub fn build_handle<DB: Send + Unpin + 'static>(
mut self,
tp: TP,
executor: TaskExecutor,
db: DB
) -> StromNetworkHandle {
let state = StromState::new(db, self.validator_set.clone());
Expand All @@ -107,7 +107,7 @@ impl<P: Peers + Unpin + 'static, S: AngstromMetaSigner> NetworkBuilder<P, S> {

let handle = network.get_handle();

tp.spawn_critical_with_graceful_shutdown_signal("network", async |shutdown| {
executor.spawn_critical_with_graceful_shutdown_signal("network", async |shutdown| {
network.run_until_graceful_shutdown(shutdown).await
});

Expand Down
2 changes: 1 addition & 1 deletion crates/angstrom-net/src/errors/strom.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! Error handling for Strom protocol stream
use reth_primitives::GotExpected;
use reth::primitives::GotExpected;

/// Errors when sending/receiving messages
#[derive(thiserror::Error, Debug)]
Expand Down
3 changes: 1 addition & 2 deletions crates/angstrom-net/src/eth_network_builder.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
use std::time::Duration;

use reth::{chainspec::ChainSpec, transaction_pool::TransactionPool};
use reth::{chainspec::ChainSpec, primitives::EthPrimitives, transaction_pool::TransactionPool};
use reth_eth_wire::BasicNetworkPrimitives;
use reth_network::{NetworkHandle, NetworkManager, PeersInfo, protocol::IntoRlpxSubProtocol};
use reth_node_builder::{
BuilderContext, NodeTypes, PrimitivesTy, TxTy, components::NetworkBuilder, node::FullNodeTypes
};
use reth_primitives::EthPrimitives;
use reth_transaction_pool::{PoolPooledTx, PoolTransaction};

/// A basic ethereum payload service.
Expand Down
8 changes: 4 additions & 4 deletions crates/angstrom-net/src/pool_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use order_pool::{
order_storage::OrderStorage
};
use reth_metrics::common::mpsc::UnboundedMeteredReceiver;
use reth_tasks::TaskSpawner;
use reth_tasks::TaskExecutor;
use telemetry_recorder::telemetry_event;
use tokio::sync::mpsc::{UnboundedReceiver, UnboundedSender, error::SendError};
use tokio_stream::wrappers::{BroadcastStream, UnboundedReceiverStream};
Expand Down Expand Up @@ -175,9 +175,9 @@ where
self
}

pub fn build_with_channels<TP: TaskSpawner>(
pub fn build_with_channels(
self,
task_spawner: TP,
task_executor: TaskExecutor,
tx: UnboundedSender<OrderCommand>,
rx: UnboundedReceiver<OrderCommand>,
pool_manager_tx: tokio::sync::broadcast::Sender<PoolManagerUpdate>,
Expand All @@ -199,7 +199,7 @@ where
replay(&mut inner);
self.global_sync.register(MODULE_NAME);

task_spawner.spawn_critical_task(
task_executor.spawn_critical_task(
"transaction manager",
Box::pin(PoolManager {
eth_network_events: self.eth_network_events,
Expand Down
1 change: 0 additions & 1 deletion crates/consensus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,4 @@ uniswap-v4.workspace = true
dashmap.workspace = true
testing-tools.workspace = true
tracing.workspace = true
tracing-appender.workspace = true
tracing-subscriber.workspace = true
3 changes: 1 addition & 2 deletions crates/eth/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ itertools.workspace = true
pade.workspace = true
reth-ethereum-primitives.workspace = true
reth-execution-types.workspace = true
reth-primitives.workspace = true
reth-primitives-traits.workspace = true
reth-provider.workspace = true
reth-tasks.workspace = true
serde.workspace = true
Expand All @@ -31,5 +31,4 @@ tokio-stream.workspace = true
tracing.workspace = true

[dev-dependencies]
rand.workspace = true
testing-tools.workspace = true
12 changes: 6 additions & 6 deletions crates/eth/src/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ use futures_util::{FutureExt, StreamExt};
use itertools::Itertools;
use pade::PadeDecode;
use reth_provider::{CanonStateNotification, CanonStateNotifications};
use reth_tasks::TaskSpawner;
use reth_tasks::TaskExecutor;
use tokio::sync::mpsc::{Receiver, Sender, UnboundedSender};
use tokio_stream::wrappers::{BroadcastStream, ReceiverStream};

Expand Down Expand Up @@ -64,11 +64,11 @@ impl<Sync> EthDataCleanser<Sync>
where
Sync: BlockSyncProducer
{
pub fn spawn<TP: TaskSpawner>(
pub fn spawn(
angstrom_address: Address,
periphery_address: Address,
canonical_updates: CanonStateNotifications,
tp: TP,
executor: TaskExecutor,
tx: Sender<EthCommand>,
rx: Receiver<EthCommand>,
angstrom_tokens: HashMap<Address, usize>,
Expand Down Expand Up @@ -99,7 +99,7 @@ where
.retain(|e| e.send(EthEvent::AddedNode(*n)).is_ok());
}

tp.spawn_critical_task("eth handle", this.boxed());
executor.spawn_critical_task("eth handle", this.boxed());

let handle = EthHandle::new(tx);

Expand Down Expand Up @@ -394,8 +394,8 @@ pub mod test {
traits::{ChainExt, UserOrderFromInternal}
};
use pade::PadeEncode;
use reth_ethereum_primitives::Receipt;
use reth_primitives::{Block, LogData, RecoveredBlock, TransactionSigned};
use reth_ethereum_primitives::{Block, Receipt, TransactionSigned};
use reth_primitives_traits::{LogData, RecoveredBlock};
use testing_tools::type_generator::orders::{ToBOrderBuilder, UserOrderBuilder};

use super::*;
Expand Down
Loading
Loading