Skip to content

Commit

Permalink
Merge branch 'master' into hal3e/dynamic-configurables
Browse files Browse the repository at this point in the history
  • Loading branch information
hal3e authored Jan 27, 2025
2 parents 1f3989d + 0fde9b8 commit 9decbcf
Show file tree
Hide file tree
Showing 36 changed files with 540 additions and 679 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
CARGO_TERM_COLOR: always
DASEL_VERSION: https://github.com/TomWright/dasel/releases/download/v2.3.6/dasel_linux_amd64
RUSTFLAGS: "-D warnings"
FUEL_CORE_VERSION: 0.40.0
FUEL_CORE_VERSION: 0.41.3
FUEL_CORE_PATCH_BRANCH: ""
FUEL_CORE_PATCH_REVISION: ""
RUST_VERSION: 1.81.0
Expand Down
46 changes: 23 additions & 23 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/FuelLabs/fuels-rs"
rust-version = "1.81.0"
version = "0.66.10"
version = "0.70.0"

[workspace.dependencies]
Inflector = "0.11.4"
Expand All @@ -49,7 +49,7 @@ async-trait = { version = "0.1.74", default-features = false }
bech32 = "0.9.1"
bytes = { version = "1.5.0", default-features = false }
chrono = "0.4.31"
cynic = { version = "2.2", default-features = false }
cynic = { version = "3.1.0", default-features = false }
elliptic-curve = { version = "0.13.8", default-features = false }
test-case = { version = "3.3", default-features = false }
eth-keystore = "0.5.0"
Expand Down Expand Up @@ -90,30 +90,30 @@ toml = { version = "0.8", default-features = false }
mockall = { version = "0.13", default-features = false }

# Dependencies from the `fuel-core` repository:
fuel-core = { version = "0.40.1", default-features = false, features = [
fuel-core = { version = "0.41.3", default-features = false, features = [
"wasm-executor",
] }
fuel-core-chain-config = { version = "0.40.1", default-features = false }
fuel-core-client = { version = "0.40.1", default-features = false }
fuel-core-poa = { version = "0.40.1", default-features = false }
fuel-core-services = { version = "0.40.1", default-features = false }
fuel-core-types = { version = "0.40.1", default-features = false }
fuel-core-chain-config = { version = "0.41.3", default-features = false }
fuel-core-client = { version = "0.41.3", default-features = false }
fuel-core-poa = { version = "0.41.3", default-features = false }
fuel-core-services = { version = "0.41.3", default-features = false }
fuel-core-types = { version = "0.41.3", default-features = false }

# Dependencies from the `fuel-vm` repository:
fuel-asm = { version = "0.58.2" }
fuel-crypto = { version = "0.58.2" }
fuel-merkle = { version = "0.58.2" }
fuel-storage = { version = "0.58.2" }
fuel-tx = { version = "0.58.2" }
fuel-types = { version = "0.58.2" }
fuel-vm = { version = "0.58.2" }
fuel-asm = { version = "0.59.1" }
fuel-crypto = { version = "0.59.1" }
fuel-merkle = { version = "0.59.1" }
fuel-storage = { version = "0.59.1" }
fuel-tx = { version = "0.59.1" }
fuel-types = { version = "0.59.1" }
fuel-vm = { version = "0.59.1" }

# Workspace projects
fuels = { version = "0.66.10", path = "./packages/fuels", default-features = false }
fuels-accounts = { version = "0.66.10", path = "./packages/fuels-accounts", default-features = false }
fuels-code-gen = { version = "0.66.10", path = "./packages/fuels-code-gen", default-features = false }
fuels-core = { version = "0.66.10", path = "./packages/fuels-core", default-features = false }
fuels-macros = { version = "0.66.10", path = "./packages/fuels-macros", default-features = false }
fuels-programs = { version = "0.66.10", path = "./packages/fuels-programs", default-features = false }
fuels-test-helpers = { version = "0.66.10", path = "./packages/fuels-test-helpers", default-features = false }
versions-replacer = { version = "0.66.10", path = "./scripts/versions-replacer", default-features = false }
fuels = { version = "0.70.0", path = "./packages/fuels", default-features = false }
fuels-accounts = { version = "0.70.0", path = "./packages/fuels-accounts", default-features = false }
fuels-code-gen = { version = "0.70.0", path = "./packages/fuels-code-gen", default-features = false }
fuels-core = { version = "0.70.0", path = "./packages/fuels-core", default-features = false }
fuels-macros = { version = "0.70.0", path = "./packages/fuels-macros", default-features = false }
fuels-programs = { version = "0.70.0", path = "./packages/fuels-programs", default-features = false }
fuels-test-helpers = { version = "0.70.0", path = "./packages/fuels-test-helpers", default-features = false }
versions-replacer = { version = "0.70.0", path = "./scripts/versions-replacer", default-features = false }
4 changes: 2 additions & 2 deletions docs/src/connecting/short-lived.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ let wallet = launch_provider_and_get_wallet().await?;
The `fuel-core-lib` feature allows us to run a `fuel-core` node without installing the `fuel-core` binary on the local machine. Using the `fuel-core-lib` feature flag entails downloading all the dependencies needed to run the fuel-core node.

```rust,ignore
fuels = { version = "0.66.10", features = ["fuel-core-lib"] }
fuels = { version = "0.70.0", features = ["fuel-core-lib"] }
```

### RocksDB

The `rocksdb` is an additional feature that, when combined with `fuel-core-lib`, provides persistent storage capabilities while using `fuel-core` as a library.

```rust,ignore
fuels = { version = "0.66.10", features = ["rocksdb"] }
fuels = { version = "0.70.0", features = ["rocksdb"] }
```
11 changes: 4 additions & 7 deletions e2e/tests/contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1410,11 +1410,11 @@ fn db_rocksdb() {
assert_eq!(blocks.len(), 3);
assert_eq!(
*wallet.get_balances().await?.iter().next().unwrap().1,
DEFAULT_COIN_AMOUNT
DEFAULT_COIN_AMOUNT as u128
);
assert_eq!(
*wallet.get_balances().await?.iter().next().unwrap().1,
DEFAULT_COIN_AMOUNT
DEFAULT_COIN_AMOUNT as u128
);
assert_eq!(wallet.get_balances().await?.len(), 2);

Expand Down Expand Up @@ -2188,11 +2188,8 @@ async fn max_fee_estimation_respects_tolerance() -> Result<()> {
);

let normal_base_asset = base_amount_in_inputs(0.0).await;
let more_base_asset_due_to_bigger_tolerance = base_amount_in_inputs(2.00).await;
assert_eq!(
more_base_asset_due_to_bigger_tolerance as f64 / normal_base_asset as f64,
1.00 + 2.00
);
let more_base_asset_due_to_bigger_tolerance = base_amount_in_inputs(5.00).await;
assert!(more_base_asset_due_to_bigger_tolerance > normal_base_asset);

Ok(())
}
Expand Down
16 changes: 8 additions & 8 deletions e2e/tests/debug_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ async fn can_debug_single_call_tx() -> Result<()> {
assert_eq!(
decoder.decode_fn_args(
&call_description.decode_fn_selector().unwrap(),
&call_description.encoded_args
call_description.encoded_args.as_slice()
)?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }"]
);
Expand Down Expand Up @@ -115,7 +115,7 @@ async fn can_debug_single_call_tx() -> Result<()> {
assert_eq!(
decoder.decode_fn_args(
&call_description.decode_fn_selector().unwrap(),
&call_description.encoded_args
call_description.encoded_args.as_slice()
)?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }"]
);
Expand Down Expand Up @@ -214,7 +214,7 @@ async fn can_debug_multi_call_tx() -> Result<()> {
assert_eq!(
decoder.decode_fn_args(
&call_description.decode_fn_selector().unwrap(),
&call_description.encoded_args
call_description.encoded_args.as_slice()
)?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }"]
);
Expand All @@ -229,7 +229,7 @@ async fn can_debug_multi_call_tx() -> Result<()> {
assert!(call_description.gas_forwarded.is_none());

assert_eq!(
decoder.decode_fn_args(&fn_selector, &call_description.encoded_args)?,
decoder.decode_fn_args(&fn_selector, call_description.encoded_args.as_slice())?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }", "MemoryAddress { contract_id: std::contract_id::ContractId { bits: Bits256([77, 127, 224, 17, 182, 42, 211, 241, 46, 156, 74, 204, 31, 156, 188, 77, 183, 63, 55, 80, 119, 142, 192, 75, 130, 205, 208, 253, 25, 104, 22, 171]) }, function_selector: 123, function_data: 456 }"]
);
}
Expand Down Expand Up @@ -286,7 +286,7 @@ async fn can_debug_multi_call_tx() -> Result<()> {
assert_eq!(
decoder.decode_fn_args(
&call_description.decode_fn_selector().unwrap(),
&call_description.encoded_args
call_description.encoded_args.as_slice()
)?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }"]
);
Expand All @@ -303,7 +303,7 @@ async fn can_debug_multi_call_tx() -> Result<()> {
assert_eq!(call_description.gas_forwarded, Some(25));

assert_eq!(
decoder.decode_fn_args(&call_description.decode_fn_selector().unwrap(), &call_description.encoded_args)?,
decoder.decode_fn_args(&call_description.decode_fn_selector().unwrap(), call_description.encoded_args.as_slice())?,
vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }", "MemoryAddress { contract_id: std::contract_id::ContractId { bits: Bits256([77, 127, 224, 17, 182, 42, 211, 241, 46, 156, 74, 204, 31, 156, 188, 77, 183, 63, 55, 80, 119, 142, 192, 75, 130, 205, 208, 253, 25, 104, 22, 171]) }, function_selector: 123, function_data: 456 }"]
);
}
Expand Down Expand Up @@ -345,7 +345,7 @@ async fn can_debug_sway_script() -> Result<()> {
};

assert_eq!(
decoder.decode_fn_args("main", &desc.data)?,
decoder.decode_fn_args("main", desc.data.as_slice())?,
vec!["MyStruct { number: 10, boolean: false }"]
);

Expand Down Expand Up @@ -455,7 +455,7 @@ async fn can_detect_a_loader_script_w_data_section() -> Result<()> {
)?)?;

assert_eq!(
decoder.decode_fn_args("main", &script.data)?,
decoder.decode_fn_args("main", script.data.as_slice())?,
vec!["MyStruct { number: 10, boolean: false }"]
);

Expand Down
7 changes: 3 additions & 4 deletions e2e/tests/predicates.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ async fn setup_predicate_test(
coins.extend(setup_single_asset_coins(
extra_wallet.address(),
AssetId::zeroed(),
10000,
u64::MAX,
10_000,
10_000,
));

coins.extend(setup_single_asset_coins(
Expand Down Expand Up @@ -431,8 +431,7 @@ async fn predicate_transfer_to_base_layer() -> Result<()> {
let proof = predicate
.try_provider()?
.get_message_proof(&tx_id, &msg_nonce, None, Some(2))
.await?
.expect("failed to retrieve message proof");
.await?;

assert_eq!(proof.amount, amount);
assert_eq!(proof.recipient, base_layer_address);
Expand Down
4 changes: 3 additions & 1 deletion e2e/tests/providers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1130,6 +1130,7 @@ async fn tx_respects_policies() -> Result<()> {
}

#[tokio::test]
#[ignore] //TODO: https://github.com/FuelLabs/fuels-rs/issues/1581
async fn can_setup_static_gas_price() -> Result<()> {
let expected_gas_price = 474;
let node_config = NodeConfig {
Expand All @@ -1140,7 +1141,8 @@ async fn can_setup_static_gas_price() -> Result<()> {

let gas_price = provider.estimate_gas_price(0).await?.gas_price;

assert_eq!(gas_price, expected_gas_price);
let da_cost = 1000;
assert_eq!(gas_price, da_cost + expected_gas_price);

Ok(())
}
Expand Down
16 changes: 7 additions & 9 deletions e2e/tests/types_predicates.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,27 @@ async fn assert_predicate_spendable(data: Vec<u8>, project_path: impl AsRef<Path
let num_coins = 4;
let num_messages = 8;
let amount = 16;
let (provider, predicate_balance, receiver, receiver_balance, asset_id) =
let (provider, _predicate_balance, receiver, receiver_balance, asset_id) =
setup_predicate_test(predicate.address(), num_coins, num_messages, amount).await?;

predicate.set_provider(provider.clone());

let amount_to_send = 42;
predicate
.transfer(
receiver.address(),
predicate_balance,
asset_id,
TxPolicies::default(),
)
.transfer(receiver.address(), 42, asset_id, TxPolicies::default())
.await?;

// The predicate has spent the funds
assert_address_balance(predicate.address(), &provider, asset_id, 0).await;
//TODO:https://github.com/FuelLabs/fuels-rs/issues/1394
// assert that the amount_to_send + fee was deducted from the predicate
// assert_address_balance(predicate.address(), &provider, asset_id, 0).await;

// Funds were transferred
assert_address_balance(
receiver.address(),
&provider,
asset_id,
receiver_balance + predicate_balance,
receiver_balance + amount_to_send,
)
.await;

Expand Down
Loading

0 comments on commit 9decbcf

Please sign in to comment.