From 4ed026b64c1039a39ec15c29e01a372a0a80687a Mon Sep 17 00:00:00 2001 From: Jonathan LEI Date: Wed, 8 Nov 2023 09:24:31 +0000 Subject: [PATCH] fix: support `flat` event type in ABI --- Cargo.lock | 40 +++++++++++------------ Cargo.toml | 2 +- src/account.rs | 1 - src/provider.rs | 65 ++++++++++++++++---------------------- src/subcommands/declare.rs | 1 - src/utils.rs | 1 - 6 files changed, 48 insertions(+), 62 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f7eddac..53f5cff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2882,8 +2882,8 @@ dependencies = [ [[package]] name = "starknet" -version = "0.6.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.7.0" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "starknet-accounts", "starknet-contract", @@ -2897,8 +2897,8 @@ dependencies = [ [[package]] name = "starknet-accounts" -version = "0.5.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.6.0" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "async-trait", "auto_impl", @@ -2910,8 +2910,8 @@ dependencies = [ [[package]] name = "starknet-contract" -version = "0.5.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.6.0" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "serde", "serde_json", @@ -2924,8 +2924,8 @@ dependencies = [ [[package]] name = "starknet-core" -version = "0.6.1" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.7.2" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "base64 0.21.2", "flate2", @@ -2941,8 +2941,8 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.6.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.6.1" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "crypto-bigint", "hex", @@ -2961,7 +2961,7 @@ dependencies = [ [[package]] name = "starknet-crypto-codegen" version = "0.3.2" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "starknet-curve", "starknet-ff", @@ -2971,15 +2971,15 @@ dependencies = [ [[package]] name = "starknet-curve" version = "0.4.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "starknet-ff", ] [[package]] name = "starknet-ff" -version = "0.3.4" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.3.5" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "ark-ff", "bigdecimal 0.3.1", @@ -2992,8 +2992,8 @@ dependencies = [ [[package]] name = "starknet-macros" -version = "0.1.3" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.1.4" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "starknet-core", "syn 2.0.28", @@ -3001,8 +3001,8 @@ dependencies = [ [[package]] name = "starknet-providers" -version = "0.6.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.7.0" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "async-trait", "auto_impl", @@ -3020,8 +3020,8 @@ dependencies = [ [[package]] name = "starknet-signers" -version = "0.4.0" -source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=33e200d3d53a685586ee178b4bd0be4b48250c08#33e200d3d53a685586ee178b4bd0be4b48250c08" +version = "0.5.0" +source = "git+https://github.com/xJonathanLEI/starknet-rs?rev=cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c#cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" dependencies = [ "async-trait", "auto_impl", diff --git a/Cargo.toml b/Cargo.toml index b957f00..4f71962 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ serde = { version = "1.0.164", features = ["derive"] } serde_json = { version = "1.0.99", features = ["preserve_order"] } serde_with = "2.3.3" shellexpand = "3.1.0" -starknet = { git = "https://github.com/xJonathanLEI/starknet-rs", rev = "33e200d3d53a685586ee178b4bd0be4b48250c08" } +starknet = { git = "https://github.com/xJonathanLEI/starknet-rs", rev = "cfa3c43e4c12ca3a45c471b233fe3eb5a2f31e0c" } tempfile = "3.8.0" thiserror = "1.0.40" tokio = { version = "1.28.2", default-features = false, features = ["macros", "rt-multi-thread"] } diff --git a/src/account.rs b/src/account.rs index 816929b..37e151e 100644 --- a/src/account.rs +++ b/src/account.rs @@ -265,7 +265,6 @@ impl AccountArgs { pub async fn into_account

(self, provider: P) -> Result> where P: Provider + Send + Sync, - P::Error: 'static, { let signer = self.signer.into_task()?; diff --git a/src/provider.rs b/src/provider.rs index 6a20872..3455e53 100644 --- a/src/provider.rs +++ b/src/provider.rs @@ -121,12 +121,10 @@ impl ExtendedProvider { #[cfg_attr(not(target_arch = "wasm32"), async_trait)] #[cfg_attr(target_arch = "wasm32", async_trait(?Send))] impl Provider for ExtendedProvider { - type Error = ::Error; - async fn get_block_with_tx_hashes( &self, block_id: B, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, { @@ -136,7 +134,7 @@ impl Provider for ExtendedProvider { async fn get_block_with_txs( &self, block_id: B, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, { @@ -146,7 +144,7 @@ impl Provider for ExtendedProvider { async fn get_state_update( &self, block_id: B, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, { @@ -158,7 +156,7 @@ impl Provider for ExtendedProvider { contract_address: A, key: K, block_id: B, - ) -> Result> + ) -> Result where A: AsRef + Send + Sync, K: AsRef + Send + Sync, @@ -171,7 +169,7 @@ impl Provider for ExtendedProvider { async fn get_transaction_by_hash( &self, transaction_hash: H, - ) -> Result> + ) -> Result where H: AsRef + Send + Sync, { @@ -182,7 +180,7 @@ impl Provider for ExtendedProvider { &self, block_id: B, index: u64, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, { @@ -197,7 +195,7 @@ impl Provider for ExtendedProvider { async fn get_transaction_receipt( &self, transaction_hash: H, - ) -> Result> + ) -> Result where H: AsRef + Send + Sync, { @@ -208,7 +206,7 @@ impl Provider for ExtendedProvider { &self, block_id: B, class_hash: H, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, H: AsRef + Send + Sync, @@ -220,7 +218,7 @@ impl Provider for ExtendedProvider { &self, block_id: B, contract_address: A, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, A: AsRef + Send + Sync, @@ -233,7 +231,7 @@ impl Provider for ExtendedProvider { &self, block_id: B, contract_address: A, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, A: AsRef + Send + Sync, @@ -241,21 +239,14 @@ impl Provider for ExtendedProvider { ::get_class_at(&self.provider, block_id, contract_address).await } - async fn get_block_transaction_count( - &self, - block_id: B, - ) -> Result> + async fn get_block_transaction_count(&self, block_id: B) -> Result where B: AsRef + Send + Sync, { ::get_block_transaction_count(&self.provider, block_id).await } - async fn call( - &self, - request: R, - block_id: B, - ) -> Result, ProviderError> + async fn call(&self, request: R, block_id: B) -> Result, ProviderError> where R: AsRef + Send + Sync, B: AsRef + Send + Sync, @@ -267,7 +258,7 @@ impl Provider for ExtendedProvider { &self, request: R, block_id: B, - ) -> Result, ProviderError> + ) -> Result, ProviderError> where R: AsRef<[BroadcastedTransaction]> + Send + Sync, B: AsRef + Send + Sync, @@ -279,7 +270,7 @@ impl Provider for ExtendedProvider { &self, message: M, block_id: B, - ) -> Result> + ) -> Result where M: AsRef + Send + Sync, B: AsRef + Send + Sync, @@ -287,25 +278,23 @@ impl Provider for ExtendedProvider { ::estimate_message_fee(&self.provider, message, block_id).await } - async fn block_number(&self) -> Result> { + async fn block_number(&self) -> Result { ::block_number(&self.provider).await } - async fn block_hash_and_number( - &self, - ) -> Result> { + async fn block_hash_and_number(&self) -> Result { ::block_hash_and_number(&self.provider).await } - async fn chain_id(&self) -> Result> { + async fn chain_id(&self) -> Result { ::chain_id(&self.provider).await } - async fn pending_transactions(&self) -> Result, ProviderError> { + async fn pending_transactions(&self) -> Result, ProviderError> { ::pending_transactions(&self.provider).await } - async fn syncing(&self) -> Result> { + async fn syncing(&self) -> Result { ::syncing(&self.provider).await } @@ -314,7 +303,7 @@ impl Provider for ExtendedProvider { filter: EventFilter, continuation_token: Option, chunk_size: u64, - ) -> Result> { + ) -> Result { ::get_events( &self.provider, filter, @@ -328,7 +317,7 @@ impl Provider for ExtendedProvider { &self, block_id: B, contract_address: A, - ) -> Result> + ) -> Result where B: AsRef + Send + Sync, A: AsRef + Send + Sync, @@ -339,7 +328,7 @@ impl Provider for ExtendedProvider { async fn add_invoke_transaction( &self, invoke_transaction: I, - ) -> Result> + ) -> Result where I: AsRef + Send + Sync, { @@ -349,7 +338,7 @@ impl Provider for ExtendedProvider { async fn add_declare_transaction( &self, declare_transaction: D, - ) -> Result> + ) -> Result where D: AsRef + Send + Sync, { @@ -360,7 +349,7 @@ impl Provider for ExtendedProvider { async fn add_deploy_account_transaction( &self, deploy_account_transaction: D, - ) -> Result> + ) -> Result where D: AsRef + Send + Sync, { @@ -374,7 +363,7 @@ impl Provider for ExtendedProvider { async fn trace_transaction( &self, transaction_hash: H, - ) -> Result> + ) -> Result where H: AsRef + Send + Sync, { @@ -386,7 +375,7 @@ impl Provider for ExtendedProvider { block_id: B, transactions: T, simulation_flags: S, - ) -> Result, ProviderError> + ) -> Result, ProviderError> where B: AsRef + Send + Sync, T: AsRef<[BroadcastedTransaction]> + Send + Sync, @@ -404,7 +393,7 @@ impl Provider for ExtendedProvider { async fn trace_block_transactions( &self, block_hash: H, - ) -> Result, ProviderError> + ) -> Result, ProviderError> where H: AsRef + Send + Sync, { diff --git a/src/subcommands/declare.rs b/src/subcommands/declare.rs index 969be46..d681cc3 100644 --- a/src/subcommands/declare.rs +++ b/src/subcommands/declare.rs @@ -283,7 +283,6 @@ impl Declare { async fn check_already_declared

(provider: P, class_hash: FieldElement) -> Result where P: Provider, - P::Error: 'static, { match provider .get_class(BlockId::Tag(BlockTag::Pending), class_hash) diff --git a/src/utils.rs b/src/utils.rs index 9163c50..57cd931 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -17,7 +17,6 @@ pub async fn watch_tx

( ) -> Result<()> where P: Provider, - P::Error: 'static, { loop { match provider.get_transaction_receipt(transaction_hash).await {