From dbc1252b1eff0bc6976bd5e52f29e47e97273093 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 14:23:27 +0000 Subject: [PATCH 1/8] chore: bump `forc` to `0.66.6` --- apps/create-fuels-counter-guide/fuel-toolchain.toml | 2 +- internal/forc/VERSION | 2 +- packages/create-fuels/test/cli.test.ts | 2 +- packages/versions/src/lib/getBuiltinVersions.ts | 2 +- templates/nextjs/fuel-toolchain.toml | 2 +- templates/vite/fuel-toolchain.toml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/create-fuels-counter-guide/fuel-toolchain.toml b/apps/create-fuels-counter-guide/fuel-toolchain.toml index ca55fcfc2cf..5f5831c5755 100644 --- a/apps/create-fuels-counter-guide/fuel-toolchain.toml +++ b/apps/create-fuels-counter-guide/fuel-toolchain.toml @@ -2,5 +2,5 @@ channel = "testnet" [components] -forc = "0.66.5" +forc = "0.66.6" fuel-core = "0.40.2" diff --git a/internal/forc/VERSION b/internal/forc/VERSION index fff670af850..0b8bc4d6f99 100644 --- a/internal/forc/VERSION +++ b/internal/forc/VERSION @@ -1 +1 @@ -0.66.5 +0.66.6 diff --git a/packages/create-fuels/test/cli.test.ts b/packages/create-fuels/test/cli.test.ts index 4745d398460..32cae04b9e2 100644 --- a/packages/create-fuels/test/cli.test.ts +++ b/packages/create-fuels/test/cli.test.ts @@ -86,7 +86,7 @@ describe('CLI', { timeout: 15_000 }, () => { expect(toolchain).toEqual({ channel: 'testnet' }); expect(components).toEqual({ - forc: '0.66.5', + forc: '0.66.6', 'fuel-core': '0.40.2', }); }); diff --git a/packages/versions/src/lib/getBuiltinVersions.ts b/packages/versions/src/lib/getBuiltinVersions.ts index ad9bc0b08f2..7aeb8462857 100644 --- a/packages/versions/src/lib/getBuiltinVersions.ts +++ b/packages/versions/src/lib/getBuiltinVersions.ts @@ -2,7 +2,7 @@ import type { Versions } from './types'; export function getBuiltinVersions(): Versions { return { - FORC: '0.66.5', + FORC: '0.66.6', FUEL_CORE: '0.40.2', FUELS: '0.98.0', }; diff --git a/templates/nextjs/fuel-toolchain.toml b/templates/nextjs/fuel-toolchain.toml index ca55fcfc2cf..5f5831c5755 100644 --- a/templates/nextjs/fuel-toolchain.toml +++ b/templates/nextjs/fuel-toolchain.toml @@ -2,5 +2,5 @@ channel = "testnet" [components] -forc = "0.66.5" +forc = "0.66.6" fuel-core = "0.40.2" diff --git a/templates/vite/fuel-toolchain.toml b/templates/vite/fuel-toolchain.toml index ca55fcfc2cf..5f5831c5755 100644 --- a/templates/vite/fuel-toolchain.toml +++ b/templates/vite/fuel-toolchain.toml @@ -2,5 +2,5 @@ channel = "testnet" [components] -forc = "0.66.5" +forc = "0.66.6" fuel-core = "0.40.2" From f7594abfb16d7e9cb4ea7759408ac9f9c1852f64 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 14:32:14 +0000 Subject: [PATCH 2/8] chore: changeset --- .changeset/lemon-avocados-walk.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changeset/lemon-avocados-walk.md diff --git a/.changeset/lemon-avocados-walk.md b/.changeset/lemon-avocados-walk.md new file mode 100644 index 00000000000..868374fb95e --- /dev/null +++ b/.changeset/lemon-avocados-walk.md @@ -0,0 +1,4 @@ +--- +--- + +chore: bump `forc` to `0.66.6` From f2d0596d6f503a445494009aa96b1bfbe6d34f78 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 16:15:33 +0000 Subject: [PATCH 3/8] chore: fix namespaces --- apps/docs/sway/simple-token/src/main.sw | 5 +++-- apps/docs/sway/token-depositor/src/main.sw | 2 +- .../test/fixtures/forc-projects/abi-contract/src/equality.sw | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/docs/sway/simple-token/src/main.sw b/apps/docs/sway/simple-token/src/main.sw index b77372198b2..47a803ab8a5 100644 --- a/apps/docs/sway/simple-token/src/main.sw +++ b/apps/docs/sway/simple-token/src/main.sw @@ -1,12 +1,13 @@ // #region inter-contract-calls-1 contract; -use ::simple_token_abi::SimpleToken; - use std::hash::*; +use simple_token_abi::SimpleToken; + storage { balances: StorageMap = StorageMap {}, } + impl SimpleToken for Contract { #[storage(read, write)] fn deposit(address: b256, amount: u64) { diff --git a/apps/docs/sway/token-depositor/src/main.sw b/apps/docs/sway/token-depositor/src/main.sw index 75caff02db3..e841e246e02 100644 --- a/apps/docs/sway/token-depositor/src/main.sw +++ b/apps/docs/sway/token-depositor/src/main.sw @@ -3,7 +3,7 @@ contract; use std::auth::msg_sender; -use ::simple_token_abi::SimpleToken; +use simple_token_abi::SimpleToken; abi TokenDepositor { fn deposit_to_simple_token(contract_id: b256, amount: u64); diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw b/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw index d370a24cc28..62d02456dbb 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw +++ b/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw @@ -1,6 +1,6 @@ library; -use ::data_structures::*; +use data_structures::*; use core::ops::Eq; impl Eq for [u8; 4] { From a828c6956504338c0efc500c90bc355be2ab9ac7 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 16:17:55 +0000 Subject: [PATCH 4/8] chore: update templates --- .../fixtures/templates/contract-with-configurable/main.hbs | 6 +++--- .../fixtures/templates/predicate-with-configurable/main.hbs | 4 ++-- .../fixtures/templates/script-with-configurable/main.hbs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 992052611ff..0d9050c8f85 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -160,17 +160,17 @@ const abi = { { "name": "SHOULD_RETURN", "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", - "offset": 2816 + "offset": 2584 }, { "name": "AN_OPTION", "concreteTypeId": "2da102c46c7263beeed95818cd7bee801716ba8303dddafdcd0f6c9efda4a0f1", - "offset": 2792 + "offset": 2560 }, { "name": "A_GENERIC_STRUCT", "concreteTypeId": "71df88006611ffff852cf617defb70f77adaf507305088cedd41d276c783aab0", - "offset": 2808 + "offset": 2576 } ] }; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index c40afd5a99d..3479186849f 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -73,12 +73,12 @@ const abi = { { "name": "FEE", "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", - "offset": 936 + "offset": 888 }, { "name": "ADDRESS", "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", - "offset": 904 + "offset": 856 } ] }; diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 34c9a4f1722..1dba51d94b0 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -81,7 +81,7 @@ const abi = { { "name": "SHOULD_RETURN", "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", - "offset": 768 + "offset": 696 } ] }; From a83a33e0ab378159f6b2e36858f749329450f0e2 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 16:49:58 +0000 Subject: [PATCH 5/8] chore: appeasing the `forc fmt` --- apps/docs/sway/liquidity-pool/src/main.sw | 10 +------ .../forc-projects/options/src/main.sw | 28 +------------------ .../forc-projects/revert-error/src/main.sw | 14 +--------- .../script-with-more-configurable/src/main.sw | 16 +---------- 4 files changed, 4 insertions(+), 64 deletions(-) diff --git a/apps/docs/sway/liquidity-pool/src/main.sw b/apps/docs/sway/liquidity-pool/src/main.sw index 497a0061b9f..fb2e200dbf9 100644 --- a/apps/docs/sway/liquidity-pool/src/main.sw +++ b/apps/docs/sway/liquidity-pool/src/main.sw @@ -1,40 +1,32 @@ // #region deposit-and-withdraw-cookbook-1 contract; -use std::{asset::{mint_to, transfer,}, call_frames::{msg_asset_id,}, context::msg_amount,}; +use std::{asset::{mint_to, transfer}, call_frames::msg_asset_id, context::msg_amount}; use std::constants::ZERO_B256; - abi LiquidityPool { #[payable] fn deposit(recipient: Address); #[payable] fn withdraw(recipient: Address); } - configurable { TOKEN: AssetId = AssetId::from(0x0000000000000000000000000000000000000000000000000000000000000000), } - impl LiquidityPool for Contract { #[payable] fn deposit(recipient: Address) { assert(TOKEN == msg_asset_id()); assert(0 < msg_amount()); - // Mint two times the amount. let amount_to_mint = msg_amount() * 2; - // Mint some LP token based upon the amount of the base token. mint_to(Identity::Address(recipient), ZERO_B256, amount_to_mint); } - #[payable] fn withdraw(recipient: Address) { assert(0 < msg_amount()); - // Amount to withdraw. let amount_to_transfer = msg_amount() / 2; - // Transfer base token to recipient. transfer(Identity::Address(recipient), TOKEN, amount_to_transfer); } diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/options/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/options/src/main.sw index 009e5bcc54c..4a0e7816c28 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/options/src/main.sw +++ b/packages/fuel-gauge/test/fixtures/forc-projects/options/src/main.sw @@ -1,26 +1,21 @@ contract; -use {std::{auth::msg_sender, hash::Hash,},}; - +use std::{auth::msg_sender, hash::Hash}; enum OptionEnum { a: Option, b: Option, } - struct OptionStruct { one: OptionEnum, two: Option, } - pub enum FoodType { Tomatoes: (), } - pub struct Food { pub name: FoodType, pub time_planted: Option, } - impl Food { pub fn new(name: FoodType, time_planted: Option) -> Self { Self { @@ -29,11 +24,9 @@ impl Food { } } } - pub struct GardenVector { pub inner: [Option; 10], } - impl GardenVector { pub fn new() -> Self { let initial_val: Option = None; @@ -42,29 +35,23 @@ impl GardenVector { } } } - enum DeepEnum { a: (bool, [Option; 3]), } - struct DeepStruct { DeepEnum: DeepEnum, } - struct SomeStruct { a: u64, b: u64, } - enum DiffSizeEnum { a: u8, b: b256, } - storage { stuff: StorageMap = StorageMap {}, } - abi OptionContract { #[storage(read)] fn get_some_struct(id: Identity) -> Option; @@ -80,54 +67,42 @@ abi OptionContract { fn type_then_option_then_type(x: u8, y: Option, z: u8) -> Option; fn option_then_type_then_option(x: Option, y: u8, z: Option) -> Option; } - impl OptionContract for Contract { #[storage(read)] fn get_some_struct(id: Identity) -> Option { storage.stuff.get(id).try_read() } - fn echo_option(arg: Option) -> Option { arg } - fn echo_struct_enum_option(arg: OptionStruct) -> OptionStruct { arg } - fn echo_vec_option(arg: Vec>) -> Vec> { arg } - fn echo_tuple_option(arg: (Option, Option)) -> (Option, Option) { arg } - fn echo_enum_option(arg: OptionEnum) -> OptionEnum { arg } - fn echo_array_option(arg: [Option; 3]) -> [Option; 3] { arg } - fn print_enum_option_array() -> GardenVector { GardenVector::new() } - fn echo_deeply_nested_option(arg: DeepStruct) -> DeepStruct { arg } - fn echo_enum_diff_sizes(arg: Option) -> Option { arg } - fn type_then_option_then_type(x: u8, y: Option, z: u8) -> Option { assert_eq(x, 42); assert_eq(y, Option::None); assert_eq(z, 43); - y } @@ -135,7 +110,6 @@ impl OptionContract for Contract { assert_eq(x, Option::None); assert_eq(y, 42); assert_eq(z, Option::None); - z } } diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/revert-error/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/revert-error/src/main.sw index 4099dde41e2..083f692bdc1 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/revert-error/src/main.sw +++ b/packages/fuel-gauge/test/fixtures/forc-projects/revert-error/src/main.sw @@ -1,8 +1,7 @@ contract; -use std::{asset::{transfer,}, bytes::Bytes, logging::log, message::{send_message,},}; +use std::{asset::transfer, bytes::Bytes, logging::log, message::send_message}; use custom_errors::{AccessError, InputError}; - abi RevertError { fn validate_inputs(token_id: u64, price: u64); fn failed_message(); @@ -12,15 +11,12 @@ abi RevertError { fn assert_value_ne_5(value: u8); fn revert_with_0(); } - const BASE_TOKEN_A: AssetId = AssetId::from(0x0000000000000000000000000000000000000000000000000000000000000001); const BASE_TOKEN_B: AssetId = AssetId::from(0x0000000000000000000000000000000000000000000000000000000000000001); - pub struct ValidInputsEvent { token_id: u64, price: u64, } - impl RevertError for Contract { fn validate_inputs(token_id: u64, price: u64) { log(1u8); @@ -32,15 +28,12 @@ impl RevertError for Contract { log(99u8); require(token_id == 100u64, AccessError::InvalidTokenId); log(100u8); - assert(price != token_id); - log(ValidInputsEvent { token_id: token_id, price: price, }); } - fn failed_message() { let mut data = Bytes::new(); data.push(1); @@ -52,33 +45,28 @@ impl RevertError for Contract { 0, ); } - fn failed_transfer() { let amount = 1; let address = 0x0000000000000000000000000000000000000000000000000000000000000001; let user = Address::from(address); transfer(Identity::Address(user), BASE_TOKEN_A, amount); } - fn failed_transfer_revert() { let amount = 0; let address = 0x0000000000000000000000000000000000000000000000000000000000000001; let user = Address::from(address); transfer(Identity::Address(user), BASE_TOKEN_B, amount); } - fn assert_value_eq_10(value: u8) { log("FOO"); assert_eq(value, 10); } - fn assert_value_ne_5(value: u8) { log("BAZ"); log(10u8); assert_ne(value, 5); log(27u8); } - fn revert_with_0() { revert(0); } diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/script-with-more-configurable/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/script-with-more-configurable/src/main.sw index 0ca4258e98c..a1fa29f6b5b 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/script-with-more-configurable/src/main.sw +++ b/packages/fuel-gauge/test/fixtures/forc-projects/script-with-more-configurable/src/main.sw @@ -1,66 +1,55 @@ script; -use std::{string::String,}; - +use std::string::String; struct Struct1 { tag: str[3], age: u8, scores: [u8; 3], } - enum Colors { red: (), blue: (), } - impl Eq for [u32; 2] { fn eq(self, other: Self) -> bool { self[0] == other[0] && self[1] == other[1] } } - impl Eq for [u8; 3] { fn eq(self, other: Self) -> bool { self[0] == other[0] && self[1] == other[1] && self[2] == other[2] } } - impl Eq for [[u32; 2]; 2] { fn eq(self, other: Self) -> bool { self[0] == other[0] && self[1] == other[1] } } - impl Eq for str[2] { fn eq(self, other: Self) -> bool { from_str_array(self) == from_str_array(other) } } - impl Eq for str[3] { fn eq(self, other: Self) -> bool { from_str_array(self) == from_str_array(other) } } - impl Eq for str[4] { fn eq(self, other: Self) -> bool { from_str_array(self) == from_str_array(other) } } - impl Eq for (u8, bool, str[2]) { fn eq(self, other: Self) -> bool { self.0 == other.0 && self.1 == other.1 && self.2 == other.2 } } - impl Eq for Struct1 { fn eq(self, other: Self) -> bool { self.tag == other.tag && self.age == other.age && self.scores == other.scores } } - impl Eq for Colors { fn eq(self, other: Self) -> bool { match (self, other) { @@ -70,7 +59,6 @@ impl Eq for Colors { } } } - configurable { U8: u8 = 10, U16: u16 = 301u16, @@ -88,7 +76,6 @@ configurable { scores: [1, 3, 4], }, } - fn main() -> bool { assert(U8 == 16); log(U8); @@ -118,6 +105,5 @@ fn main() -> bool { }, ); log(STRUCT_1); - true } From 552b7d83ddc166da69c11859cc29bcba09a3707d Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 16:56:34 +0000 Subject: [PATCH 6/8] chore: fix import --- .../test/fixtures/forc-projects/abi-contract/src/equality.sw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw b/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw index 62d02456dbb..c12530ceea8 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw +++ b/packages/fuel-gauge/test/fixtures/forc-projects/abi-contract/src/equality.sw @@ -1,7 +1,7 @@ library; -use data_structures::*; use core::ops::Eq; +use ::data_structures::*; impl Eq for [u8; 4] { fn eq(self, other: Self) -> bool { From 4d86926d089b43d7bfddfa5e5c5b976d17d443fd Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 17:15:00 +0000 Subject: [PATCH 7/8] Update .changeset/lemon-avocados-walk.md --- .changeset/lemon-avocados-walk.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.changeset/lemon-avocados-walk.md b/.changeset/lemon-avocados-walk.md index 868374fb95e..72fc82b988b 100644 --- a/.changeset/lemon-avocados-walk.md +++ b/.changeset/lemon-avocados-walk.md @@ -1,4 +1,6 @@ --- +"@internal/forc": patch +"create-fuels": patch --- chore: bump `forc` to `0.66.6` From 5c4d2558fd98544023685dd2d9a3e9e748c3ba16 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 23 Jan 2025 17:15:39 +0000 Subject: [PATCH 8/8] Update .changeset/lemon-avocados-walk.md --- .changeset/lemon-avocados-walk.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/lemon-avocados-walk.md b/.changeset/lemon-avocados-walk.md index 72fc82b988b..df3c484c489 100644 --- a/.changeset/lemon-avocados-walk.md +++ b/.changeset/lemon-avocados-walk.md @@ -1,6 +1,7 @@ --- "@internal/forc": patch "create-fuels": patch +"@fuel-ts/versions": patch --- chore: bump `forc` to `0.66.6`