Skip to content

Commit 6fc046a

Browse files
authored
Update dependencies (#934)
Went through all outdated dependencies and updated them.
1 parent a28457e commit 6fc046a

File tree

10 files changed

+45
-24
lines changed

10 files changed

+45
-24
lines changed

ethcontract-common/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Common types for ethcontract-rs runtime and proc macro.
1212
"""
1313

1414
[dependencies]
15-
ethabi = "16.0"
15+
ethabi = "18.0"
1616
hex = "0.4"
1717
serde = "1.0"
1818
serde_derive = "1.0"
1919
serde_json = "1.0"
2020
thiserror = "1.0"
2121
tiny-keccak = { version = "2.0", features = ["keccak"] }
22-
web3 = { version = "0.18", default-features = false }
22+
web3 = { version = "0.19", default-features = false }

ethcontract-derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ ethcontract-common = { version = "0.24.0", path = "../ethcontract-common" }
2424
ethcontract-generate = { version = "0.24.0", path = "../ethcontract-generate", default-features = false }
2525
proc-macro2 = "1.0"
2626
quote = "1.0"
27-
syn = "1.0.12"
27+
syn = "2.0"

ethcontract-derive/src/lib.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ impl ParseInner for ContractArgs {
324324
input.parse::<Token![,]>()?;
325325
}
326326
let parameters = input
327-
.parse_terminated::<_, Token![,]>(Parameter::parse)?
327+
.parse_terminated(Parameter::parse, Token![,])?
328328
.into_iter()
329329
.collect();
330330

@@ -404,7 +404,7 @@ impl Parse for Parameter {
404404
braced!(content in input);
405405
let deployments = {
406406
let parsed =
407-
content.parse_terminated::<_, Token![,]>(Spanned::<Deployment>::parse)?;
407+
content.parse_terminated(Spanned::<Deployment>::parse, Token![,])?;
408408

409409
let mut deployments = Vec::with_capacity(parsed.len());
410410
let mut networks = HashSet::new();
@@ -427,8 +427,7 @@ impl Parse for Parameter {
427427
let content;
428428
braced!(content in input);
429429
let methods = {
430-
let parsed =
431-
content.parse_terminated::<_, Token![;]>(Spanned::<Method>::parse)?;
430+
let parsed = content.parse_terminated(Spanned::<Method>::parse, Token![;])?;
432431

433432
let mut methods = Vec::with_capacity(parsed.len());
434433
let mut signatures = HashSet::new();
@@ -458,7 +457,7 @@ impl Parse for Parameter {
458457
let content;
459458
parenthesized!(content in input);
460459
let derives = content
461-
.parse_terminated::<_, Token![,]>(Path::parse)?
460+
.parse_terminated(Path::parse, Token![,])?
462461
.into_iter()
463462
.map(|path| path.to_token_stream().to_string())
464463
.collect();
@@ -514,7 +513,7 @@ impl Parse for Method {
514513
let content;
515514
parenthesized!(content in input);
516515
let inputs = content
517-
.parse_terminated::<_, Token![,]>(Ident::parse)?
516+
.parse_terminated(Ident::parse, Token![,])?
518517
.iter()
519518
.map(|ident| {
520519
let kind = ParamType::from_str(&ident.to_string())
@@ -535,7 +534,7 @@ impl Parse for Method {
535534
// NOTE: The output types and const-ness of the function do not
536535
// affect its signature.
537536
outputs: vec![],
538-
constant: false,
537+
constant: None,
539538
state_mutability: Default::default(),
540539
}
541540
};
@@ -728,7 +727,7 @@ mod tests {
728727
contract_args_err!(
729728
"artifact.json",
730729
methods {
731-
myMethod(invalid) as my_method;
730+
myMethod(invalid invalid) as my_method;
732731
}
733732
);
734733
}

ethcontract-generate/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ ethcontract-common = { version = "0.24.0", path = "../ethcontract-common" }
2222
Inflector = "0.11"
2323
proc-macro2 = "1.0"
2424
quote = "1.0"
25-
syn = "1.0.12"
25+
syn = "2.0"
2626
url = "2.1"

ethcontract-mock/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ethcontract = { version = "0.24.0", path = "../ethcontract", default-features =
1616
hex = "0.4"
1717
mockall = "0.11"
1818
rlp = "0.5"
19-
predicates = "2.0"
19+
predicates = "3.0"
2020

2121
[dev-dependencies]
2222
tokio = { version = "1.6", features = ["macros", "rt"] }

ethcontract/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,16 @@ futures-timer = "3.0"
4242
hex = "0.4"
4343
jsonrpc-core = "18.0"
4444
lazy_static = "1.4"
45-
primitive-types = { version = "0.10", features = ["fp-conversion"] }
45+
primitive-types = { version = "0.12", features = ["fp-conversion"] }
4646
rlp = { version = "0.5", default-features = false, optional = true }
47-
secp256k1 = { version = "0.21", features = ["recovery"] }
47+
secp256k1 = { version = "0.27", features = ["recovery"] }
4848
serde = { version = "1.0", features = ["derive"] }
4949
serde_json = "1.0"
5050
thiserror = "1.0"
5151
uint = "0.9"
52-
web3 = { version = "0.18", default-features = false, features = ["signing"] }
52+
web3 = { version = "0.19", default-features = false, features = ["signing"] }
5353
zeroize = "1.1"
5454

5555
[dev-dependencies]
56-
hex-literal = "0.3"
56+
hex-literal = "0.4"
5757
tokio = { version = "1.6", features = ["macros"] }

ethcontract/src/contract/method.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ impl<T: Transport> MethodBuilder<T, ()> {
4545
name: "fallback".into(),
4646
inputs: vec![],
4747
outputs: vec![],
48-
constant: false,
48+
constant: None,
4949
state_mutability: Default::default(),
5050
};
5151
MethodBuilder::new(web3, function, address, data)
@@ -313,7 +313,7 @@ mod tests {
313313
kind: ParamType::Uint(256),
314314
internal_type: None,
315315
}],
316-
constant: false,
316+
constant: None,
317317
state_mutability: Default::default(),
318318
};
319319
let data = function

ethcontract/src/errors/revert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ mod tests {
4949
internal_type: None,
5050
}],
5151
outputs: Vec::new(),
52-
constant: true,
52+
constant: None,
5353
state_mutability: Default::default(),
5454
};
5555
revert

ethcontract/src/log.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ use futures::stream::{self, Stream, TryStreamExt};
88
use std::num::NonZeroU64;
99
use std::time::Duration;
1010
use web3::api::Web3;
11-
use web3::types::{Address, BlockNumber, Filter, FilterBuilder, Log, H256};
11+
use web3::error::Error as Web3Error;
12+
use web3::types::{Address, BlockId, BlockNumber, Filter, FilterBuilder, Log, H256};
1213
use web3::Transport;
1314

1415
/// The default poll interval to use for polling logs from the block chain.
@@ -246,6 +247,20 @@ enum PastLogsStream<T: Transport> {
246247
Querying(Web3<T>, Filter),
247248
}
248249

250+
async fn block_number(
251+
web3: &Web3<impl Transport>,
252+
block: BlockNumber,
253+
) -> Result<Option<u64>, Web3Error> {
254+
if let BlockNumber::Number(number) = block {
255+
return Ok(Some(number.as_u64()));
256+
}
257+
let block_ = web3.eth().block(BlockId::Number(block)).await?;
258+
let Some(block_) = block_ else {
259+
return Err(Web3Error::InvalidResponse(format!("block {block:?} does not exist")));
260+
};
261+
Ok(block_.number.map(|n| n.as_u64()))
262+
}
263+
249264
impl<T: Transport> PastLogsStream<T> {
250265
async fn next(mut self) -> Result<Option<(Vec<Log>, Self)>, ExecutionError> {
251266
loop {
@@ -286,6 +301,7 @@ impl<T: Transport> PastLogsStream<T> {
286301
BlockNumber::Earliest => Some(0),
287302
BlockNumber::Number(value) => Some(value.as_u64()),
288303
BlockNumber::Latest | BlockNumber::Pending => None,
304+
BlockNumber::Safe | BlockNumber::Finalized => block_number(&web3, from_block).await?,
289305
};
290306
let end_block = match to_block {
291307
BlockNumber::Earliest => None,
@@ -294,6 +310,7 @@ impl<T: Transport> PastLogsStream<T> {
294310
let latest_block = web3.eth().block_number().await?;
295311
Some(latest_block.as_u64())
296312
}
313+
BlockNumber::Safe | BlockNumber::Finalized => block_number(&web3, to_block).await?,
297314
};
298315

299316
let next = match (start_block, end_block) {

ethcontract/src/secret.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::errors::InvalidPrivateKey;
44
use ethcontract_common::hash;
5-
use secp256k1::{Message, PublicKey, Secp256k1, SecretKey, ONE_KEY};
5+
use secp256k1::{Message, PublicKey, Secp256k1, SecretKey};
66
use std::fmt::{self, Debug, Formatter};
77
use std::ops::Deref;
88
use std::str::FromStr;
@@ -131,7 +131,9 @@ impl From<SecretKey> for ZeroizeableSecretKey {
131131

132132
impl Default for ZeroizeableSecretKey {
133133
fn default() -> Self {
134-
ONE_KEY.into()
134+
SecretKey::from_str("0000000000000000000000000000000000000000000000000000000000000001")
135+
.unwrap()
136+
.into()
135137
}
136138
}
137139

@@ -199,7 +201,10 @@ mod tests {
199201
fn drop_private_key() {
200202
let mut key = key!("0x0102030405060708091011121314151617181920212223242526272829303132");
201203
key.0.zeroize();
202-
assert_eq!(*key, ONE_KEY);
204+
let one_key =
205+
SecretKey::from_str("0000000000000000000000000000000000000000000000000000000000000001")
206+
.unwrap();
207+
assert_eq!(*key, one_key);
203208
}
204209

205210
#[test]

0 commit comments

Comments
 (0)