Error: failed to parse manifest: missing field `members` at line 7 column 1

I’m trying to implement an escrow contract from this tutorial and for testing it I need to deploy an asset mint contract. I’m placing the assets contract under the tests/artifacts/asset folder (which I generated using forc new asset). The repository structure is very similar to this.

But when I run forc build inside the asset folder to generate the asset-abi.json file, I get the error Error: failed to parse manifest: missing field members at line 7 column 1.

What am I doing wrong?

Can you share the exact repo you are using and your default toolchain info (using fuelup show) ? I’m not able to reproduce this on my end so far.

1 Like

My default toolchain is beta-2-x86_64-apple-darwin. Here is the repository: GitHub - h3lio5/escrow-contract-fuel

Thanks! This looks like it was a bug in the beta-2 toolchain that got fixed since then. Using the latest toolchain I am able to build without that error.

2 Likes

Thank you! It compiled after I changed my toolchain to the latest one.

It seems that forc in the latest toolchain returns an Option for StorageMap.get(key), whereas the beta-2 toolchain forc returns the raw value. fuel-analyzer seems to work with the beta-2 version of forc, so its yelling at me that unwrap() is not found on the value.

Any ideas on how to make fuel-analyser detect the project’s default toolchain and provide linting based on that?

Yes, you can see more information about overriding the default toolchain here: Overrides - fuelup

2 Likes

I added the beta-3 channel in the fuel-toolchain.toml file, and forc build runs without any errors. But I still have the sway-analyser yelling at me with the same warning.

2 Likes

Hmm do you see this consistently even after restarting VS Code?

1 Like