There are several types of libraries that Sway Libs encompases. These include libraries that provide convenience functions, standards supporting libraries, data type libraries, security functionality libraries.
For implementation details on the libraries please see the Sway Libs Docs .
Asset Libraries are any libraries that use Native Assets on the Fuel Network.
The Asset Library provides helper functions for the SRC-20 , SRC-3 , and SRC-7 standards.
Access Control and Security Libraries are any libraries that are built and intended to provide additional safety when developing smart contracts.
The Ownership Library is used to apply restrictions on functions such that only a single user may call them.
The Admin Library is used to apply restrictions on functions such that only a select few users may call them like a whitelist.
The Pausable Library allows contracts to implement an emergency stop mechanism.
The Reentrancy Guard Library is used to detect and prevent reentrancy attacks.
Cryptography Libraries are any libraries that provided cryptographic functionality beyond what the std-lib provides.
The Bytecode Library is used for on-chain verification and computation of bytecode roots for contracts and predicates.
The Merkle Proof Library is used to verify Binary Merkle Trees computed off-chain.
Math Libraries are libraries which provide mathematic functions or number types that are outside of the std-lib's scope.
The Fixed Point Number Library is an interface to implement fixed-point numbers.
The Signed Integers Library is an interface to implement signed integers.
Data Structure Libraries are libraries which provide complex data structures which unlock additional functionality for Smart Contracts.
The Queue Library is a linear data structure that provides First-In-First-Out (FIFO) operations.