Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ea52319
Support RPC `0.9.0`
ddoktorski Jul 11, 2025
bbfb650
Merge branch 'master' into rpc-0-9-0
ddoktorski Jul 17, 2025
d5b0302
Rename `preconfirmed` to `pre_confirmed`
ddoktorski Jul 17, 2025
a0d4f6a
Update version to `0.9` in node url
ddoktorski Jul 17, 2025
2c20aca
Restore ignored tests
ddoktorski Jul 17, 2025
2c599e1
Add backticks
ddoktorski Jul 17, 2025
3d1c5aa
Update changelog
ddoktorski Jul 17, 2025
802462b
Fix `test_happy_case_deployment_fee_message` test
ddoktorski Jul 17, 2025
764611e
Add dash to pre confirmed
ddoktorski Jul 17, 2025
7dc04ca
Bump devnet to rc.2
ddoktorski Jul 18, 2025
f0bbc6e
Resolve merge conflicts
ddoktorski Jul 21, 2025
808625a
Address PR comments
ddoktorski Jul 21, 2025
d1721df
Use always underscore for pre_confirmed input
ddoktorski Jul 21, 2025
38ce1d5
Revert refactor in `check_if_legacy_contract`
ddoktorski Jul 21, 2025
c8ad731
Resolve merge conflicts
ddoktorski Jul 31, 2025
35ab8a2
Bump starknet-rs to rc.2; bump devnet to rc.4
ddoktorski Jul 31, 2025
8b28a91
Fix changelog
ddoktorski Jul 31, 2025
34bbd0c
Fix e2e::forking::with_cache test
ddoktorski Jul 31, 2025
68329c7
Resolve merge conflicts
ddoktorski Aug 11, 2025
3a0a505
Remove rc from `EXPECTED_RPC_VERSION`
ddoktorski Aug 11, 2025
28915e5
Fix cache test
ddoktorski Aug 11, 2025
dfb1f53
Update free provider url
ddoktorski Aug 11, 2025
bf949ba
Add `--tip` flag
ddoktorski Aug 12, 2025
84e3000
Resolve merge conflicts
ddoktorski Aug 19, 2025
7724174
Resolve merge conflicts
ddoktorski Aug 19, 2025
c4cc818
Update account deploy appendix
ddoktorski Aug 19, 2025
0ef3194
Address PR comments
ddoktorski Aug 19, 2025
0c507d8
Update TODO comment
ddoktorski Aug 19, 2025
053b431
Resolve merge conflicts
ddoktorski Aug 21, 2025
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
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
scarb 2.12.0 2.10.1
starknet-devnet 0.4.3
starknet-devnet 0.5.0-rc.4
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Cast

#### Added

- `--tip` flag to `invoke`, `declare`, `deploy`, `multicall run` and `account deploy` commands to set the transaction tip

#### Changed

- The supported RPC version is now 0.9.0

## [0.48.0] - 2025-08-05

### Forge
Expand Down
80 changes: 31 additions & 49 deletions Cargo.lock

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

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ rayon = "1.10"
regex = "1.11.1"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"
starknet = { git = "https://github.com/xJonathanLEI/starknet-rs", rev = "a70f4ce" }
starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs", rev = "a70f4ce" }
starknet = "0.17.0-rc.3"
starknet-crypto = "0.7.4"
tempfile = "3.20.0"
thiserror = "2.0.12"
ctor = "0.4.1"
Expand Down
8 changes: 4 additions & 4 deletions crates/cheatnet/src/forking/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use flate2::read::GzDecoder;
use num_bigint::BigUint;
use runtime::starknet::context::SerializableGasPrices;
use starknet::core::types::{
ContractClass as ContractClassStarknet, MaybePendingBlockWithTxHashes, StarknetError,
ContractClass as ContractClassStarknet, MaybePreConfirmedBlockWithTxHashes, StarknetError,
};
use starknet::core::utils::parse_cairo_short_string;
use starknet::providers::ProviderError;
Expand Down Expand Up @@ -83,7 +83,7 @@ impl BlockInfoReader for ForkStateReader {
}

match self.client.get_block_with_tx_hashes() {
Ok(MaybePendingBlockWithTxHashes::Block(block)) => {
Ok(MaybePreConfirmedBlockWithTxHashes::Block(block)) => {
let block_info = BlockInfo {
block_number: BlockNumber(block.block_number),
sequencer_address: block.sequencer_address.into_(),
Expand All @@ -98,8 +98,8 @@ impl BlockInfoReader for ForkStateReader {

Ok(block_info)
}
Ok(MaybePendingBlockWithTxHashes::PendingBlock(_)) => {
unreachable!("Pending block is not be allowed at the configuration level")
Ok(MaybePreConfirmedBlockWithTxHashes::PreConfirmedBlock(_)) => {
unreachable!("Preconfirmed block is not be allowed at the configuration level")
}
Err(ProviderError::Other(boxed)) => other_provider_error(boxed),
Err(err) => Err(StateReadError(format!(
Expand Down
6 changes: 4 additions & 2 deletions crates/cheatnet/src/sync_client.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use starknet::core::types::{BlockId, ContractClass, MaybePendingBlockWithTxHashes};
use starknet::core::types::{BlockId, ContractClass, MaybePreConfirmedBlockWithTxHashes};
use starknet::providers::jsonrpc::HttpTransport;
use starknet::providers::{JsonRpcClient, Provider, ProviderError};
use starknet_api::block::BlockNumber;
Expand Down Expand Up @@ -27,7 +27,9 @@ impl SyncClient {
self.sync(self.client.chain_id())
}

pub fn get_block_with_tx_hashes(&self) -> Result<MaybePendingBlockWithTxHashes, ProviderError> {
pub fn get_block_with_tx_hashes(
&self,
) -> Result<MaybePreConfirmedBlockWithTxHashes, ProviderError> {
self.sync(self.client.get_block_with_tx_hashes(self.block_id))
}

Expand Down
2 changes: 1 addition & 1 deletion crates/data-transformer/tests/integration/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ static CLASS: OnceCell<ContractClass> = OnceCell::const_new();

async fn init_class(class_hash: Felt) -> ContractClass {
let client = JsonRpcClient::new(HttpTransport::new(
Url::parse("http://188.34.188.184:7070/rpc/v0_8").unwrap(),
Url::parse("http://188.34.188.184:7070/rpc/v0_9").unwrap(),
));

client
Expand Down
4 changes: 2 additions & 2 deletions crates/forge/src/block_number_map.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use anyhow::{Result, anyhow};
use conversions::{IntoConv, string::IntoHexStr};
use starknet::{
core::types::{BlockId, MaybePendingBlockWithTxHashes},
core::types::{BlockId, MaybePreConfirmedBlockWithTxHashes},
providers::{JsonRpcClient, Provider, jsonrpc::HttpTransport},
};
use starknet_api::block::BlockNumber;
Expand Down Expand Up @@ -73,7 +73,7 @@ async fn fetch_block_number_for_hash(url: Url, block_hash: Felt) -> Result<Block
.spawn(async move { client.get_block_with_tx_hashes(hash).await })
.await?
{
Ok(MaybePendingBlockWithTxHashes::Block(block)) => Ok(BlockNumber(block.block_number)),
Ok(MaybePreConfirmedBlockWithTxHashes::Block(block)) => Ok(BlockNumber(block.block_number)),
_ => Err(anyhow!(
"Could not get the block number for block with hash 0x{}",
block_hash.into_hex_string()
Expand Down
2 changes: 1 addition & 1 deletion crates/forge/src/scarb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ mod tests {
[[tool.snforge.fork]]
name = "SAME_NAME"
url = "http://some.rpc.url"
block_id.tag = "Pending"
block_id.tag = "Preconfirmed"
"#
);
temp.child("Scarb.toml").write_str(content).unwrap();
Expand Down
6 changes: 3 additions & 3 deletions crates/shared/src/consts.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pub const EXPECTED_RPC_VERSION: &str = "0.8.1";
pub const RPC_URL_VERSION: &str = "v0_8";
pub const EXPECTED_RPC_VERSION: &str = "0.9.0-rc.2"; // TODO: Remove rc once blast api returns stable version
pub const RPC_URL_VERSION: &str = "v0_9";
pub const SNFORGE_TEST_FILTER: &str = "SNFORGE_TEST_FILTER";
pub const FREE_RPC_PROVIDER_URL: &str = "https://starknet-sepolia.public.blastapi.io/rpc/v0_8";
pub const FREE_RPC_PROVIDER_URL: &str = "https://starknet-sepolia.public.blastapi.io/rpc/v0_9";
2 changes: 1 addition & 1 deletion crates/shared/src/test_utils/node_url.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use url::Url;
/// - `node_url()` -> <https://example.com/>
#[must_use]
pub fn node_rpc_url() -> Url {
Url::parse("http://188.34.188.184:7070/rpc/v0_8").expect("Failed to parse the sepolia RPC URL")
Url::parse("http://188.34.188.184:7070/rpc/v0_9").expect("Failed to parse the sepolia RPC URL")
}

/// returning URL with no slug (`rpc/v0_7` suffix).
Expand Down
Loading
Loading