- 1. Welcome!
- 2. Installation❱ 
- 2.1. Fuelup
- 2.2. Cargo
- 2.3. From Source
- 2.4. Fuel Core
 
- 3. Program Types❱ 
- 3.1. Smart Contract
- 3.2. Library❱ 
- 3.2.1. Internal Libraries
- 3.2.2. External Libraries
 
- 3.3. Script
- 3.4. Predicate
 
- 4. Built-in Types❱ 
- 4.1. Numerics
- 4.2. Booleans
- 4.3. Strings
- 4.4. Bytes
- 4.5. Tuples
- 4.6. Arrays
- 4.7. Structs
- 4.8. Enums
 
- 5. Variables❱ 
- 5.1. let
- 5.2. const
- 5.3. Shadowing
 
- 6. Comments
- 7. Functions❱ 
- 7.1. Functions
- 7.2. Methods
- 7.3. Associated Functions
- 7.4. Returning from functions
 
- 8. Control Flow❱ 
- 8.1. if expressions
- 8.2. match❱ 
- 8.2.1. Single Line Arm
- 8.2.2. Multi Line Arm
- 8.2.3. Complex Patterns❱ 
- 8.2.3.1. Enums
- 8.2.3.2. Structs
- 8.2.3.3. Constants
- 8.2.3.4. Nested Expressions
- 8.2.3.5. Multiple Values
 
 
- 8.3. Looping❱ 
- 8.3.1. while
- 8.3.2. break
- 8.3.3. continue
 
 
- 9. Annotations❱ 
- 9.1. Types
- 9.2. Attributes❱ 
- 9.2.1. Storage
- 9.2.2. Payable
- 9.2.3. Test
- 9.2.4. Allow
- 9.2.5. Inline
- 9.2.6. Deprecated
 
 
- 10. Traits
- 11. Generics
- 12. Style Guide❱ 
- 12.1. Naming Convention
- 12.2. Type Annotations
- 12.3. Struct Shorthand
- 12.4. Enums
- 12.5. Returning
- 12.6. Pattern Matching
- 12.7. Comments
- 12.8. Getter Functions
- 12.9. Unused Variables
- 12.10. Intermediate Variables
 
- 13. Storage❱ 
- 13.1. Initialization
- 13.2. Reading & Writing
- 13.3. Libraries❱ 
- 13.3.1. StorageMap
- 13.3.2. StorageVec
- 13.3.3. Store & Get
 
 
- 14. Assertions❱ 
- 14.1. assert
- 14.2. require
- 14.3. revert
- 14.4. assert_eq
- 14.5. assert_ne
 
- 15. Address Namespace❱ 
- 15.1. Address
- 15.2. ContractId
- 15.3. Identity
 
- 16. Call Data❱ 
- 16.1. Message Sender
- 16.2. Asset Sent
- 16.3. Amount of Asset Sent
 
- 17. Logging
- 18. Calling Contracts
- 19. Re-entrancy
- 20. Asset Operations❱ 
- 20.1. Minting❱ 
- 20.1.1. Mint
- 20.1.2. To Address
- 20.1.3. To Contract
- 20.1.4. To Address or Contract
 
- 20.2. Burning
- 20.3. Transfer❱ 
- 20.3.1. To Address
- 20.3.2. To Contract
- 20.3.3. To Address or Contract
 
- 20.4. Contract Balance
 
- 21. Hashing❱ 
- 21.1. sha256
- 21.2. keccak256
 
- 22. Signature Recovery❱ 
- 22.1. Fuel Address
- 22.2. Ethereum Address
 
- 23. Counter
- 24. Fizzbuzz
- 25. Contract Ownership
- 26. Wallet
- 27. Liquidity Pool
- 28. Standard Library Prelude
- 29. Language Comparison❱ 
- 29.1. Rust
- 29.2. Solidity
 
- 30. Software Development Kits❱ 
- 30.1. Rust SDK
- 30.2. TypeScript SDK
 
- 31. Advanced Concepts❱ 
- 31.1. Structs
- 31.2. Enums
- 31.3. Compiler Intrinsics
 
- 32. Known Issues❱ 
- 32.1. General
- 32.2. Missing Features
- 32.3. Importing
- 32.4. Strings
- 32.5. Predicates
- 32.6. Pattern Matching
- 32.7. Storage
 
- 33. Manifest Reference