Skip to content
This repository has been archived by the owner on Aug 2, 2024. It is now read-only.

Fix gas price #1601

Merged
merged 42 commits into from
May 25, 2024
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b0dfc14
refactor fixes
apoorvsadana Apr 27, 2024
ada789c
changelog
apoorvsadana Apr 27, 2024
296209d
fix fmt
apoorvsadana Apr 28, 2024
37830a7
remove too many args error
apoorvsadana Apr 28, 2024
7d82c89
fix taplo
apoorvsadana Apr 28, 2024
f3ec4ab
fix fee charge
apoorvsadana Apr 29, 2024
5e129bb
revert incorrect charge_fee
apoorvsadana Apr 29, 2024
886a952
init
apoorvsadana May 1, 2024
6e39947
fix typo
apoorvsadana May 8, 2024
dccd1d5
Merge branch 'main' into fix_gas_price
apoorvsadana May 8, 2024
40e53ad
cargo lock
apoorvsadana May 8, 2024
ffaf0e1
mutex gasprice in the works
apoorvsadana May 9, 2024
bba4150
temp push for l1 messaging
apoorvsadana May 10, 2024
0609cd5
working l1 gas price worker
apoorvsadana May 11, 2024
827816c
fix fee calculations
apoorvsadana May 12, 2024
92d3343
fix manual sealing and test
apoorvsadana May 12, 2024
13137c3
fix test cases
apoorvsadana May 12, 2024
cc56191
fmt
apoorvsadana May 12, 2024
10641fb
fix taplo
apoorvsadana May 12, 2024
da357b7
test cases
apoorvsadana May 13, 2024
59ae12e
fixes
apoorvsadana May 13, 2024
5c939d0
fixes
apoorvsadana May 13, 2024
1398514
clippy
apoorvsadana May 13, 2024
91450a5
fix test case
apoorvsadana May 13, 2024
781320a
Merge branch 'main' into fix_gas_price
apoorvsadana May 13, 2024
8e01e4d
change blockifier PR
apoorvsadana May 13, 2024
d07f0b1
fix blockifier branch
apoorvsadana May 13, 2024
b8cf190
fix simulations
apoorvsadana May 14, 2024
3a750ea
fix taplo
apoorvsadana May 14, 2024
ce648f5
fix genesis.md
apoorvsadana May 14, 2024
f66ea14
fix index.json
apoorvsadana May 14, 2024
55981df
clippy fix
apoorvsadana May 14, 2024
1ece6fe
prettier fix
apoorvsadana May 14, 2024
3244db6
fix integration tests
apoorvsadana May 14, 2024
3b4b7d1
Merge branch 'main' into fix_gas_price
apoorvsadana May 17, 2024
f4c04ca
prettier
apoorvsadana May 17, 2024
0c81bd9
fix genesis
apoorvsadana May 17, 2024
dd49d7d
fix mock file
apoorvsadana May 17, 2024
3959f95
Merge branch 'main' into fix_gas_price
apoorvsadana May 23, 2024
800e1f7
fix
apoorvsadana May 24, 2024
6640cc7
fix test case and fmt
apoorvsadana May 24, 2024
731972b
fix clippy
apoorvsadana May 24, 2024
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Next release

- feat: actual estimate_fee added, brought back l1 messages
EvolveArt marked this conversation as resolved.
Show resolved Hide resolved
- fix: starknet_call errs if contract nonexistent
- fix: txn hash calculation and refactor
- chore: remove all da/settlement related code
Expand Down
48 changes: 34 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

127 changes: 60 additions & 67 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
[workspace]
resolver = "2"
members = [
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/snos-output",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/sequencer-address",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-rpc-test",
"madara-test-runner",
"starknet-test-utils",
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/snos-output",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/starknet-inherent",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-rpc-test",
"madara-test-runner",
"starknet-test-utils",
]
# All previous except for `starknet-rpc-test`
# We don't want `cargo test` to trigger its tests
default-members = [
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/sequencer-address",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-test-utils",
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/starknet-inherent",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-test-utils",
]

[profile.release]
Expand Down Expand Up @@ -164,7 +164,7 @@ mp-block = { path = "crates/primitives/block" }
mp-fee = { path = "crates/primitives/fee" }
mp-felt = { path = "crates/primitives/felt" }
mp-hashers = { path = "crates/primitives/hashers" }
mp-sequencer-address = { path = "crates/primitives/sequencer-address" }
mp-starknet-inherent = { path = "crates/primitives/starknet-inherent" }
mp-snos-output = { path = "crates/primitives/snos-output" }
mp-storage = { path = "crates/primitives/storage" }
mp-transactions = { path = "crates/primitives/transactions" }
Expand All @@ -185,6 +185,7 @@ mc-rpc = { path = "crates/client/rpc" }
mc-rpc-core = { path = "crates/client/rpc-core" }
mc-commitment-state-diff = { path = "crates/client/commitment-state-diff" }
mc-l1-messages = { path = "crates/client/l1-messages" }
mc-l1-gas-price = { path = "crates/client/l1-gas-price" }
mc-eth-client = { path = "crates/client/eth-client" }
mc-starknet-block-import = { path = "crates/client/starknet-block-import" }

Expand All @@ -197,8 +198,8 @@ madara-test-runner = { path = "madara-test-runner" }
# Starknet dependencies
# Cairo Virtual Machine
cairo-vm = { git = "https://github.com/bidzyyys/cairo-vm", branch = "feature/scale-codec", features = [
"cairo-1-hints",
"parity-scale-codec",
"cairo-1-hints",
"parity-scale-codec",
] }
starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
Expand All @@ -208,10 +209,10 @@ starknet-signers = { git = "https://github.com/xJonathanLEI/starknet-rs.git", re
starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }

blockifier = { git = "https://github.com/bidzyyys/blockifier", branch = "feature/scale-codec" }
blockifier = { git = "https://github.com/apoorvsadana/blockifier", branch = "scale_code_fee_type" }
starknet_api = { git = "https://github.com/bidzyyys/starknet-api", branch = "feature/scale-codec", features = [
"testing",
"parity-scale-codec",
"testing",
"parity-scale-codec",
] }

# Cairo lang
Expand All @@ -225,15 +226,7 @@ ethers = { git = "https://github.com/gakonst/ethers-rs", rev = "f0e5b194f09c533f
ethers-solc = { git = "https://github.com/gakonst/ethers-rs", rev = "f0e5b194f09c533feb10d1a686ddb9e5946ec107" }

# Zaun
ethereum-instance = { git = "https://github.com/keep-starknet-strange/zaun", package = "ethereum-instance", branch = "main" }
starkgate-manager-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starkgate-manager-client", branch = "main" }
starkgate-registry-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starkgate-registry-client", branch = "main" }
starknet-core-contract-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-core-contract-client", branch = "main" }
starknet-erc20-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-erc20-client", branch = "main" }
starknet-eth-bridge-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-eth-bridge-client", branch = "main" }
starknet-proxy-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-proxy-client", branch = "main" }
starknet-token-bridge-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-token-bridge-client", branch = "main" }
zaun-utils = { git = "https://github.com/keep-starknet-strange/zaun", package = "utils", branch = "main" }


# Other third party dependencies
Expand Down
18 changes: 17 additions & 1 deletion crates/client/eth-client/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ pub struct HttpProviderConfig {
pub rpc_endpoint: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_poll_interval_ms: Option<u64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gas_price_poll_ms: Option<u64>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
Expand All @@ -90,7 +92,7 @@ fn default_private_key() -> String {

impl Default for HttpProviderConfig {
fn default() -> Self {
Self { rpc_endpoint: default_rpc_endpoint(), tx_poll_interval_ms: None }
Self { rpc_endpoint: default_rpc_endpoint(), tx_poll_interval_ms: None, gas_price_poll_ms: None }
}
}

Expand All @@ -100,6 +102,20 @@ impl Default for EthereumProviderConfig {
}
}

impl EthereumProviderConfig {
pub fn rpc_endpoint(&self) -> &String {
match self {
Self::Http(config) => &config.rpc_endpoint,
}
}

pub fn gas_price_poll_ms(&self) -> Option<u64> {
match self {
Self::Http(config) => config.gas_price_poll_ms,
}
}
}

impl Default for LocalWalletConfig {
fn default() -> Self {
Self { chain_id: default_chain_id(), private_key: default_private_key() }
Expand Down
22 changes: 22 additions & 0 deletions crates/client/l1-gas-price/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[package]
name = "mc-l1-gas-price"
version = "0.1.0"
description = "L1 gas price fetching library."
homepage = "https://github.com/keep-starknet-strange/madara"
edition = "2021"
license = "MIT"
publish = false
repository = "https://github.com/keep-starknet-strange/madara"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
mc-eth-client = { workspace = true }
ethers = { workspace = true }
mp-starknet-inherent = { workspace = true }
futures = { workspace = true }
log = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
reqwest = { workspace = true }
anyhow = { workspace = true }
2 changes: 2 additions & 0 deletions crates/client/l1-gas-price/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mod types;
pub mod worker;
Loading
Loading