cargo update
Some checks failed
Coordinator Tests / build (push) Has been cancelled
Full Stack Tests / build (push) Has been cancelled
Lint / clippy (macos-13) (push) Has been cancelled
Lint / clippy (macos-14) (push) Has been cancelled
Lint / clippy (ubuntu-latest) (push) Has been cancelled
Lint / clippy (windows-latest) (push) Has been cancelled
Lint / deny (push) Has been cancelled
Lint / fmt (push) Has been cancelled
Lint / machete (push) Has been cancelled
Monero Tests / unit-tests (push) Has been cancelled
Monero Tests / integration-tests (v0.17.3.2) (push) Has been cancelled
Monero Tests / integration-tests (v0.18.3.4) (push) Has been cancelled
networks/ Tests / test-networks (push) Has been cancelled
no-std build / build (push) Has been cancelled
Processor Tests / build (push) Has been cancelled
Reproducible Runtime / build (push) Has been cancelled
Tests / test-infra (push) Has been cancelled
Tests / test-substrate (push) Has been cancelled
Tests / test-serai-client (push) Has been cancelled

Should fix the recent CI failures re: Ethereum as well.
This commit is contained in:
Luke Parker 2024-10-09 00:39:34 -04:00
parent 435f1d9ae1
commit 599b2dec8f
No known key found for this signature in database
13 changed files with 426 additions and 355 deletions

704
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -141,6 +141,9 @@ parking_lot = { path = "patches/parking_lot" }
zstd = { path = "patches/zstd" } zstd = { path = "patches/zstd" }
# Needed for WAL compression # Needed for WAL compression
rocksdb = { path = "patches/rocksdb" } rocksdb = { path = "patches/rocksdb" }
# 1.0.1 was yanked due to a breaking change (an extra field)
# 2.0 has fewer dependencies and still works within our tree
tiny-bip39 = { path = "patches/tiny-bip39" }
# is-terminal now has an std-based solution with an equivalent API # is-terminal now has an std-based solution with an equivalent API
is-terminal = { path = "patches/is-terminal" } is-terminal = { path = "patches/is-terminal" }
@ -155,9 +158,6 @@ matches = { path = "patches/matches" }
option-ext = { path = "patches/option-ext" } option-ext = { path = "patches/option-ext" }
directories-next = { path = "patches/directories-next" } directories-next = { path = "patches/directories-next" }
# https://github.com/alloy-rs/core/issues/717
alloy-sol-type-parser = { git = "https://github.com/alloy-rs/core", rev = "446b9d2fbce12b88456152170709a3eaac929af0" }
[workspace.lints.clippy] [workspace.lints.clippy]
unwrap_or_default = "allow" unwrap_or_default = "allow"
borrow_as_ptr = "deny" borrow_as_ptr = "deny"

View file

@ -92,7 +92,10 @@ license-files = [
multiple-versions = "warn" multiple-versions = "warn"
wildcards = "warn" wildcards = "warn"
highlight = "all" highlight = "all"
deny = [ { name = "serde_derive", version = ">=1.0.172, <1.0.185" } ] deny = [
{ name = "serde_derive", version = ">=1.0.172, <1.0.185" },
{ name = "hashbrown", version = ">=0.15" },
]
[sources] [sources]
unknown-registry = "deny" unknown-registry = "deny"
@ -102,5 +105,4 @@ allow-git = [
"https://github.com/rust-lang-nursery/lazy-static.rs", "https://github.com/rust-lang-nursery/lazy-static.rs",
"https://github.com/serai-dex/substrate-bip39", "https://github.com/serai-dex/substrate-bip39",
"https://github.com/serai-dex/substrate", "https://github.com/serai-dex/substrate",
"https://github.com/alloy-rs/core",
] ]

View file

@ -29,21 +29,21 @@ frost = { package = "modular-frost", path = "../../crypto/frost", default-featur
alloy-core = { version = "0.8", default-features = false } alloy-core = { version = "0.8", default-features = false }
alloy-sol-types = { version = "0.8", default-features = false, features = ["json"] } alloy-sol-types = { version = "0.8", default-features = false, features = ["json"] }
alloy-consensus = { version = "0.3", default-features = false, features = ["k256"] } alloy-consensus = { version = "0.4", default-features = false, features = ["k256"] }
alloy-network = { version = "0.3", default-features = false } alloy-network = { version = "0.4", default-features = false }
alloy-rpc-types-eth = { version = "0.3", default-features = false } alloy-rpc-types-eth = { version = "0.4", default-features = false }
alloy-rpc-client = { version = "0.3", default-features = false } alloy-rpc-client = { version = "0.4", default-features = false }
alloy-simple-request-transport = { path = "./alloy-simple-request-transport", default-features = false } alloy-simple-request-transport = { path = "./alloy-simple-request-transport", default-features = false }
alloy-provider = { version = "0.3", default-features = false } alloy-provider = { version = "0.4", default-features = false }
alloy-node-bindings = { version = "0.3", default-features = false, optional = true } alloy-node-bindings = { version = "0.4", default-features = false, optional = true }
[dev-dependencies] [dev-dependencies]
frost = { package = "modular-frost", path = "../../crypto/frost", default-features = false, features = ["tests"] } frost = { package = "modular-frost", path = "../../crypto/frost", default-features = false, features = ["tests"] }
tokio = { version = "1", features = ["macros"] } tokio = { version = "1", features = ["macros"] }
alloy-node-bindings = { version = "0.3", default-features = false } alloy-node-bindings = { version = "0.4", default-features = false }
[features] [features]
tests = ["alloy-node-bindings", "frost/tests"] tests = ["alloy-node-bindings", "frost/tests"]

View file

@ -16,13 +16,13 @@ rustdoc-args = ["--cfg", "docsrs"]
workspace = true workspace = true
[dependencies] [dependencies]
tower = "0.4" tower = "0.5"
serde_json = { version = "1", default-features = false } serde_json = { version = "1", default-features = false }
simple-request = { path = "../../../common/request", default-features = false } simple-request = { path = "../../../common/request", default-features = false }
alloy-json-rpc = { version = "0.3", default-features = false } alloy-json-rpc = { version = "0.4", default-features = false }
alloy-transport = { version = "0.3", default-features = false } alloy-transport = { version = "0.4", default-features = false }
[features] [features]
default = ["tls"] default = ["tls"]

View file

@ -39,7 +39,7 @@ impl Deployer {
nonce: 0, nonce: 0,
gas_price: 100_000_000_000u128, gas_price: 100_000_000_000u128,
// TODO: Use a more accurate gas limit // TODO: Use a more accurate gas limit
gas_limit: 1_000_000u128, gas_limit: 1_000_000,
to: TxKind::Create, to: TxKind::Create,
value: U256::ZERO, value: U256::ZERO,
input: bytecode, input: bytecode,

View file

@ -226,7 +226,7 @@ impl Router {
to: TxKind::Call(self.1), to: TxKind::Call(self.1),
input: abi::executeCall::new((outs.to_vec(), sig.into())).abi_encode().into(), input: abi::executeCall::new((outs.to_vec(), sig.into())).abi_encode().into(),
// TODO // TODO
gas_limit: 100_000 + ((200_000 + 10_000) * u128::try_from(outs.len()).unwrap()), gas_limit: 100_000 + ((200_000 + 10_000) * u64::try_from(outs.len()).unwrap()),
..Default::default() ..Default::default()
} }
} }

View file

@ -0,0 +1,21 @@
[package]
name = "tiny-bip39"
version = "1.0.2"
description = "tiny-bip39 which patches to the latest update"
license = "MIT"
repository = "https://github.com/serai-dex/serai/tree/develop/patches/tiny-bip39"
authors = ["Luke Parker <lukeparker5132@gmail.com>"]
keywords = []
edition = "2021"
rust-version = "1.70"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
name = "bip39"
path = "src/lib.rs"
[dependencies]
tiny-bip39 = "2"

View file

@ -0,0 +1 @@
pub use bip39::*;

View file

@ -764,7 +764,7 @@ impl<D: Db> Network for Ethereum<D> {
completion.signature(), completion.signature(),
), ),
}; };
tx.gas_limit = 1_000_000u64.into(); tx.gas_limit = 1_000_000u64;
tx.gas_price = 1_000_000_000u64.into(); tx.gas_price = 1_000_000_000u64.into();
let tx = ethereum_serai::crypto::deterministically_sign(&tx); let tx = ethereum_serai::crypto::deterministically_sign(&tx);
@ -905,7 +905,7 @@ impl<D: Db> Network for Ethereum<D> {
chain_id: None, chain_id: None,
nonce: 0, nonce: 0,
gas_price: 1_000_000_000u128, gas_price: 1_000_000_000u128,
gas_limit: 200_000u128, gas_limit: 200_000,
to: ethereum_serai::alloy::primitives::TxKind::Call(send_to.0.into()), to: ethereum_serai::alloy::primitives::TxKind::Call(send_to.0.into()),
// 1 ETH // 1 ETH
value, value,
@ -924,7 +924,10 @@ impl<D: Db> Network for Ethereum<D> {
.unwrap(); .unwrap();
let mut bytes = vec![]; let mut bytes = vec![];
tx.encode_with_signature_fields(&Signature::from(sig), &mut bytes); tx.encode_with_signature_fields(
&Signature::from(sig).with_chain_id(self.provider.get_chain_id().await.unwrap()),
&mut bytes,
);
let pending_tx = self.provider.send_raw_transaction(&bytes).await.ok().unwrap(); let pending_tx = self.provider.send_raw_transaction(&bytes).await.ok().unwrap();
// Mine an epoch containing this TX // Mine an epoch containing this TX

View file

@ -396,7 +396,7 @@ mod ethereum {
let deployer = Deployer::new(provider.clone()).await.unwrap().unwrap(); let deployer = Deployer::new(provider.clone()).await.unwrap().unwrap();
let mut tx = deployer.deploy_router(&key); let mut tx = deployer.deploy_router(&key);
tx.gas_limit = 1_000_000u64.into(); tx.gas_limit = 1_000_000u64;
tx.gas_price = 1_000_000_000u64.into(); tx.gas_price = 1_000_000_000u64.into();
let tx = ethereum_serai::crypto::deterministically_sign(&tx); let tx = ethereum_serai::crypto::deterministically_sign(&tx);

View file

@ -248,7 +248,7 @@ impl Coordinator {
provider provider
.raw_request::<_, ()>( .raw_request::<_, ()>(
"anvil_setBalance".into(), "anvil_setBalance".into(),
[signer.to_string(), (tx.gas_limit * tx.gas_price).to_string()], [signer.to_string(), (u128::from(tx.gas_limit) * tx.gas_price).to_string()],
) )
.await .await
.unwrap(); .unwrap();

View file

@ -343,13 +343,13 @@ impl Wallet {
provider provider
.raw_request::<_, ()>( .raw_request::<_, ()>(
"anvil_setBalance".into(), "anvil_setBalance".into(),
[signer.to_string(), (tx.gas_limit * tx.gas_price).to_string()], [signer.to_string(), (u128::from(tx.gas_limit) * tx.gas_price).to_string()],
) )
.await .await
.unwrap(); .unwrap();
let mut bytes = vec![]; let mut bytes = vec![];
tx.encode_with_signature_fields(&Signature::from(sig), &mut bytes); tx.encode_with_signature_fields(&sig, &mut bytes);
let _ = provider.send_raw_transaction(&bytes).await.unwrap(); let _ = provider.send_raw_transaction(&bytes).await.unwrap();
provider.raw_request::<_, ()>("anvil_mine".into(), [96]).await.unwrap(); provider.raw_request::<_, ()>("anvil_mine".into(), [96]).await.unwrap();
@ -364,7 +364,7 @@ impl Wallet {
chain_id: None, chain_id: None,
nonce: *nonce, nonce: *nonce,
gas_price: 1_000_000_000u128, gas_price: 1_000_000_000u128,
gas_limit: 200_000u128, gas_limit: 200_000,
to: TxKind::Call(router_addr.into()), to: TxKind::Call(router_addr.into()),
// 1 ETH // 1 ETH
value: one_eth, value: one_eth,