- 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