Issue Building Example from sway-libs Repository

Issue Building Example from sway-libs Repository

Hello Fuel community,

I recently updated my Fuel latest toolchain and fuelup, and encountered an issue while trying to build one of the examples from the sway-libs repository.

Here’s what I did:

  1. Cloned the sway-libs repository:
    git clone git@github.com:FuelLabs/sway-standards.git
    
  2. Navigated to the src3-mint-burn example:
    cd ./sway-standards/
    cd examples/src3-mint-burn/
    
  3. Attempted to build the example:
    forc build
    

However, I encountered the following error during the build process:

Creating a new `Forc.lock` file. (Cause: lock file did not exist)
    Adding core
    Adding src20
    Adding src3
    Adding src5
    Adding src7
    Adding std git+https://github.com/fuellabs/sway?tag=v0.46.1#512a3386f8961185188302f391ccc96553d23a7a
   Created new lock file at /Users/alexey/Desktop/sway-standards/examples/Forc.lock
 Compiling library core (/Users/alexey/.forc/git/checkouts/std-9be0d6062747ea7/512a3386f8961185188302f391ccc96553d23a7a/sway-lib-core)
 Compiling library std (git+https://github.com/fuellabs/sway?tag=v0.46.1#512a3386f8961185188302f391ccc96553d23a7a)
 Compiling library src7 (/Users/alexey/Desktop/sway-standards/standards/src7-metadata)
 Compiling library src3 (/Users/alexey/Desktop/sway-standards/standards/src3-mint-burn)
 Compiling library src20 (/Users/alexey/Desktop/sway-standards/standards/src20-native-asset)
 Compiling contract single_src7_asset (/Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset)
warning
  --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:55:17
   |
53 | 
54 |     #[storage(read)]
55 |     fn metadata(asset: AssetId, key: String) -> Option<Metadata> {
   |                 ----- This declaration is never used.
56 |         require(asset == AssetId::default(), "Invalid AssetId provided");
   |
____

error
  --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:56:26
   |
54 | 
55 |     fn metadata(asset: AssetId, key: String) -> Option<Metadata> {
56 |         require(asset == AssetId::default(), "Invalid AssetId provided");
   |                          ^^^^^^^^^^^^^^^^ Function "default" expects 1 argument but you provided 0.
57 | 
58 |         if key == String::from_ascii_str("social:x") {
   |
____

error
  --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:78:21
   |
76 | 
77 |     fn total_supply(asset: AssetId) -> Option<u64> {
78 |         if asset == AssetId::default() {
   |                     ^^^^^^^^^^^^^^^^ Function "default" expects 1 argument but you provided 0.
79 |             Some(TOTAL_SUPPLY)
80 |         } else {
   |
____

error
  --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:87:21
   |
85 | 
86 |     fn name(asset: AssetId) -> Option<String> {
87 |         if asset == AssetId::default() {
   |                     ^^^^^^^^^^^^^^^^ Function "default" expects 1 argument but you provided 0.
88 |             Some(String::from_ascii_str(from_str_array(NAME)))
89 |         } else {
   |
____

error
  --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:96:21
   |
94 | 
95 |     fn symbol(asset: AssetId) -> Option<String> {
96 |         if asset == AssetId::default() {
   |                     ^^^^^^^^^^^^^^^^ Function "default" expects 1 argument but you provided 0.
97 |             Some(String::from_ascii_str(from_str_array(SYMBOL)))
98 |         } else {
   |
____

error
   --> /Users/alexey/Desktop/sway-standards/examples/src7-metadata/single_asset/src/single_asset.sw:105:21
    |
103 | 
104 |     fn decimals(asset: AssetId) -> Option<u8> {
105 |         if asset == AssetId::default() {
    |                     ^^^^^^^^^^^^^^^^ Function "default" expects 1 argument but you provided 0.
106 |             Some(DECIMALS)
107 |         } else {
    |
____

  Aborting due to 5 errors.
Error: Failed to compile single_src7_asset

Here are the details of my toolchain setup:

Default host: aarch64-apple-darwin
fuelup home: /Users/alexey/.fuelup

installed toolchains
--------------------
latest-aarch64-apple-darwin (default)
beta-4-aarch64-apple-darwin
latest-2023-11-15-aarch64-apple-darwin
my-custom-toolchain

active toolchain
-----------------
latest-aarch64-apple-darwin (default)
  forc : 0.46.1
    - forc-client
      - forc-deploy : 0.46.1
      - forc-run : 0.46.1
    - forc-doc : 0.46.1
    - forc-explore : 0.28.1
    - forc-fmt : 0.46.1
    - forc-index : 0.24.3
    - forc-lsp : 0.46.1
    - forc-tx : 0.46.1
    - forc-wallet : 0.3.0
  fuel-core : 0.20.5
  fuel-core-keygen : Error getting version string
  fuel-indexer : 0.24.3

fuels versions
---------------
forc : 0.45
forc-wallet : 0.45

Has anyone experienced a similar issue or can provide insights into what might be going wrong? Any help or suggestions would be greatly appreciated!

Thank you in advance!

1 Like

It looks like you are trying to compile with forc v0.46.1. The sway-standards repository is currently up to date with forc v0.49.1.

If you’d still like to use forc v0.46.1, you can checkout the v0.2.0 release of sway-standards Release v0.2.0 · FuelLabs/sway-standards · GitHub

I got those versions after fuelup update, can you help me to update to forc v0.49.1?

^^/D/P/pyth-contract >>> fuelup show                                                                                                                                                    (fuels-rs-v0.54+165) 11:19:50 
Default host: aarch64-apple-darwin
fuelup home: /Users/alexey/.fuelup

installed toolchains
--------------------
latest-aarch64-apple-darwin (default)
beta-4-aarch64-apple-darwin
latest-2023-11-15-aarch64-apple-darwin (override)
my-custom-toolchain

active toolchain
-----------------
latest-2023-11-15-aarch64-apple-darwin (override), path: /Users/alexey/Desktop/Pyth-integration/fuel-toolchain.toml
  forc : 0.47.0
    - forc-client
      - forc-deploy - not found
      - forc-run - not found
    - forc-doc - not found
    - forc-explore : 0.28.1
    - forc-fmt - not found
    - forc-index : 0.23.0
    - forc-lsp - not found
    - forc-tx - not found
    - forc-wallet : 0.3.0
  fuel-core : 0.20.8
  fuel-core-keygen : Error getting version string
  fuel-indexer : 0.23.0

fuels versions
---------------
forc : 0.45
forc-wallet : 0.45
^^/D/P/pyth-contract >>> fuelup update                                                                                                                                                  (fuels-rs-v0.54+165) 11:19:56 

updating the 'latest-aarch64-apple-darwin' toolchain
Downloading: forc forc-explore forc-index forc-wallet fuel-core fuel-core-keygen fuel-indexer 

Adding component forc v0.46.1 to 'latest-aarch64-apple-darwin'
Installed forc v0.46.1 for toolchain 'latest-aarch64-apple-darwin'

Adding component forc-explore v0.28.1 to 'latest-aarch64-apple-darwin'
Installed forc-explore v0.28.1 for toolchain 'latest-aarch64-apple-darwin'

Adding component forc-index v0.24.3 to 'latest-aarch64-apple-darwin'
Installed forc-index v0.24.3 for toolchain 'latest-aarch64-apple-darwin'

Adding component forc-wallet v0.3.0 to 'latest-aarch64-apple-darwin'
Installed forc-wallet v0.3.0 for toolchain 'latest-aarch64-apple-darwin'

Adding component fuel-core v0.20.5 to 'latest-aarch64-apple-darwin'
Installed fuel-core v0.20.5 for toolchain 'latest-aarch64-apple-darwin'

Adding component fuel-core-keygen v0.20.5 to 'latest-aarch64-apple-darwin'
Installed fuel-core-keygen v0.20.5 for toolchain 'latest-aarch64-apple-darwin'

Adding component fuel-indexer v0.24.3 to 'latest-aarch64-apple-darwin'
Installed fuel-indexer v0.24.3 for toolchain 'latest-aarch64-apple-darwin'

latest updated
  updated components:
  - forc 0.46.1
  - forc-explore 0.28.1
  - forc-index 0.24.3
  - forc-wallet 0.3.0
  - fuel-core 0.20.5
  - fuel-core-keygen 0.20.5
  - fuel-indexer 0.24.3

^^/D/P/pyth-contract >>> fuelup show                                                                                                                                                    (fuels-rs-v0.54+165) 11:20:03 
Default host: aarch64-apple-darwin
fuelup home: /Users/alexey/.fuelup

installed toolchains
--------------------
latest-aarch64-apple-darwin (default)
beta-4-aarch64-apple-darwin
latest-2023-11-15-aarch64-apple-darwin (override)
my-custom-toolchain

active toolchain
-----------------
latest-2023-11-15-aarch64-apple-darwin (override), path: /Users/alexey/Desktop/Pyth-integration/fuel-toolchain.toml
  forc : 0.47.0
    - forc-client
      - forc-deploy - not found
      - forc-run - not found
    - forc-doc - not found
    - forc-explore : 0.28.1
    - forc-fmt - not found
    - forc-index : 0.23.0
    - forc-lsp - not found
    - forc-tx - not found
    - forc-wallet : 0.3.0
  fuel-core : 0.20.8
  fuel-core-keygen : Error getting version string
  fuel-indexer : 0.23.0

fuels versions
---------------
forc : 0.45
forc-wallet : 0.45
^^/D/P/pyth-contract >>>                                                                                                                                                                (fuels-rs-v0.54+165) 11:20:14 

worked with the nightly toolchain