Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test: Ethereum Settlement Client #81

Merged
merged 45 commits into from
Aug 23, 2024
Merged
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
84a3819
update: settlement-client: ethereum test cases for conversion fns
heemankv Aug 2, 2024
0c6d868
update: removed .expect from slice_u8_to_u256
heemankv Aug 2, 2024
f77093b
update: Eth Settlement client: tests for conversions
heemankv Aug 5, 2024
c23a4a6
update: Eth Settlement client : prepare_sidecar
heemankv Aug 5, 2024
5e2ea5e
update: settlement_client: eth: prepare_sidecar tests
heemankv Aug 5, 2024
f435b1d
chore: optimisations
heemankv Aug 6, 2024
229e50d
update: working test case
heemankv Aug 7, 2024
aa1bef2
update: working test #2
apoorvsadana Aug 7, 2024
3158c48
update: added cfg test for update_state_with_blobs
heemankv Aug 9, 2024
db1a675
update: cleaner cfg(test) implemented code for update_state_and_blob_…
heemankv Aug 9, 2024
d562e4c
chore: liniting fixes
heemankv Aug 9, 2024
69cc0b7
update: linting fixes
heemankv Aug 12, 2024
46fc944
docs: changelog
heemankv Aug 12, 2024
c6bfdce
update: Nonce prefetch for state_update
heemankv Aug 13, 2024
f3fc826
update: creation of input_data works
heemankv Aug 13, 2024
d28b98b
update: using correct input bytes
heemankv Aug 13, 2024
a03f9db
chore: lint fix
heemankv Aug 13, 2024
06d97cd
update: test normal transaction
heemankv Aug 14, 2024
5aa7b10
update: dummy contract and impersonation tests ready
heemankv Aug 14, 2024
e7023af
update: test cases for settlement client
heemankv Aug 14, 2024
391d693
chore: lint fixes
heemankv Aug 14, 2024
856fa1f
chore: fix lints
heemankv Aug 14, 2024
a03387f
Merge branch 'main' into test/settlement-client
heemankv Aug 14, 2024
6b69fdd
update: Changes for PR review
heemankv Aug 16, 2024
bbecc38
chore: fixing test cases for eth settlement client
heemankv Aug 16, 2024
01294a0
update: tests fix
heemankv Aug 16, 2024
1178e22
chore: lint fix
heemankv Aug 16, 2024
acf9738
Merge branch 'main' into test/settlement-client
heemankv Aug 16, 2024
60fac37
chore: lint fix
heemankv Aug 16, 2024
3a125ad
update: path fix
heemankv Aug 16, 2024
e2a0bed
update: testing anvil install on gh
heemankv Aug 16, 2024
92aa145
update: fixing path
heemankv Aug 16, 2024
6c03f7b
update: added Blast rpc for eth
heemankv Aug 16, 2024
a3c0863
update: Coverage CI fixes
heemankv Aug 16, 2024
d0ddfde
update: correct Pr checks
heemankv Aug 16, 2024
4de6e8b
update: PR reviews fixes
heemankv Aug 17, 2024
ebe967e
update: PR reviews fixes
heemankv Aug 17, 2024
ef35e52
update: adding rationale for update_state_blob_with_impersonation_wor…
heemankv Aug 17, 2024
a8f4bb1
update: cleaner test integration on update_state_with_blobs
heemankv Aug 18, 2024
30e8584
update: removing EthProvider
heemankv Aug 18, 2024
ef5a562
Reworking Settlement Client Changes (#89)
apoorvsadana Aug 20, 2024
6b7a656
Merge branch 'main' into test/settlement-client
heemankv Aug 23, 2024
8e9c13d
Merge branch 'main' into test/settlement-client
heemankv Aug 23, 2024
b93372e
update PR reviews fixed
heemankv Aug 23, 2024
f9d3682
update PR reviews fixed
heemankv Aug 23, 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
Prev Previous commit
Next Next commit
update: removing EthProvider
heemankv committed Aug 18, 2024

Verified

This commit was signed with the committer’s verified signature.
heemankv Heemank Verma
commit 30e85844516d23438c236e35a940718777fe7d3f
18 changes: 7 additions & 11 deletions crates/settlement-clients/ethereum/src/lib.rs
Original file line number Diff line number Diff line change
@@ -50,12 +50,8 @@ pub mod conversion;
mod tests;
pub mod types;

#[cfg(test)]
use {alloy::providers::RootProvider, alloy::transports::http::Http, reqwest::Client};

#[cfg(not(test))]
use types::EthHttpProvider;

pub const ENV_PRIVATE_KEY: &str = "ETHEREUM_PRIVATE_KEY";

lazy_static! {
@@ -71,14 +67,10 @@ pub struct EthereumSettlementClient {
core_contract_client: StarknetValidityContractClient,
wallet: EthereumWallet,
wallet_address: Address,
#[cfg(not(test))]
provider: Arc<EthHttpProvider>,
#[cfg(test)]
provider: RootProvider<Http<Client>>,
}

impl EthereumSettlementClient {
#[cfg(not(test))]
pub fn with_settings(settings: &impl SettingsProvider) -> Self {
let settlement_cfg: EthereumSettlementConfig = settings.get_settings(SETTLEMENT_SETTINGS_NAME).unwrap();

@@ -87,15 +79,19 @@ impl EthereumSettlementClient {
let wallet_address = signer.address();
let wallet = EthereumWallet::from(signer);

let provider = Arc::new(
ProviderBuilder::new().with_recommended_fillers().wallet(wallet.clone()).on_http(settlement_cfg.rpc_url),
let fill_provider = Arc::new(
ProviderBuilder::new()
.with_recommended_fillers()
.wallet(wallet.clone())
.on_http(settlement_cfg.rpc_url.clone()),
);
let provider = ProviderBuilder::new().on_http(settlement_cfg.rpc_url);
let core_contract_client = StarknetValidityContractClient::new(
Address::from_str(&settlement_cfg.core_contract_address)
.expect("Failed to convert the validity contract address.")
.0
.into(),
provider.clone(),
fill_provider.clone(),
);

EthereumSettlementClient { provider, core_contract_client, wallet, wallet_address }
4 changes: 3 additions & 1 deletion crates/settlement-clients/ethereum/src/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -224,7 +224,9 @@ async fn get_last_settled_block_typical_works(#[case] fork_block_no: u64) {
dotenvy::from_filename(&*ENV_FILE_PATH).expect("Could not load .env.test file.");
env::set_var("DEFAULT_SETTLEMENT_CLIENT_RPC", &*ETH_RPC);

let TestSetup { anvil: _, ethereum_settlement_client, provider: _ } = setup_ethereum_test(fork_block_no);
let TestSetup { anvil, ethereum_settlement_client, provider: _ } = setup_ethereum_test(fork_block_no);

println!("{:?}", anvil);

let _ = ethereum_settlement_client.get_last_settled_block().await.expect("Could not get last settled block.");
}