Sway Libraries
The purpose of Sway Libraries is to contain libraries which users can import and use that are not part of the standard library.
These libraries contain helper functions and other tools valuable to blockchain development.
For more information on how to use a Sway-Libs library, please refer to the Sway-Libs Book.
Assets Libraries
Asset Libraries are any libraries that use Native Assets on the Fuel Network.
- Asset Library; provides helper functions for the SRC-20, SRC-3, and SRC-7 standards.
Access Control and Security Libraries
Access Control and Security Libraries are any libraries that are built and intended to provide additional safety when developing smart contracts.
- Ownership Library; used to apply restrictions on functions such that only a single user may call them. This library provides helper functions for the SRC-5; Ownership Standard.
- Admin Library; used to apply restrictions on functions such that only a select few users may call them like a whitelist.
- Pausable Library; allows contracts to implement an emergency stop mechanism.
- Reentrancy Guard Library; used to detect and prevent reentrancy attacks.
Cryptography Libraries
Cryptography Libraries are any libraries that provided cryptographic functionality beyond what the std-lib provides.
- Bytecode Library; used for on-chain verification and computation of bytecode roots for contracts and predicates.
- Merkle Proof Library; used to verify Binary Merkle Trees computed off-chain.
Math Libraries
Math Libraries are libraries which provide mathematic functions or number types that are outside of the std-lib's scope.
- Signed Integers Library; an interface to implement signed integers.
Data Structures Libraries
Data Structure Libraries are libraries which provide complex data structures which unlock additional functionality for Smart Contracts.
- Queue Library; a linear data structure that provides First-In-First-Out (FIFO) operations.