Summary Introduction Welcome! Installation Fuelup Cargo From Source Fuel Core The Sway Programming Language Program Types Smart Contract Library Internal Libraries External Libraries Script Predicate Built-in Types Numerics Booleans Strings Bytes Tuples Arrays Structs Enums Variables let const Shadowing Comments Functions Functions Methods Associated Functions Returning from functions Control Flow if expressions match Single Line Arm Multi Line Arm Complex Patterns Enums Structs Constants Nested Expressions Multiple Values Looping while break continue Annotations Types Attributes Storage Payable Test Allow Inline Deprecated Traits Generics Style Guide Naming Convention Type Annotations Struct Shorthand Enums Returning Pattern Matching Comments Getter Functions Unused Variables Intermediate Variables Common Operations Storage Initialization Reading & Writing Libraries StorageMap StorageVec Store & Get Assertions assert require revert assert_eq assert_ne Address Namespace Address ContractId Identity Call Data Message Sender Asset Sent Amount of Asset Sent Logging Calling Contracts Re-entrancy Asset Operations Minting Mint To Address To Contract To Address or Contract Burning Transfer To Address To Contract To Address or Contract Contract Balance Hashing sha256 keccak256 Signature Recovery Fuel Address Ethereum Address Examples Counter Fizzbuzz Contract Ownership Wallet Liquidity Pool Miscellaneous Standard Library Prelude Language Comparison Rust Solidity Software Development Kits Rust SDK TypeScript SDK Advanced Concepts Structs Enums Compiler Intrinsics Compiler Intrinsics Known Issues General Missing Features Importing Strings Predicates Pattern Matching Storage Manifest Reference