Fuji1155
This contract tracks all the tokens stored on the Fuji Vaults, simplifying the task of switching protocols for the Flasher. Also helps the Fuji Liquidator in case a user's position is not healthy.
ERC-1155 takes a new approach to defining tokens. Items are now stored in a single contract with the minimum possible amount of data needed to distinguish the token from other ones.

Interface

Fuji1155 is the contract where all tokens are stored - both collateral (ETH) and debt tokens (DAI/USDC).
interface IFujiERC1155 {
//Asset Types
enum AssetType {
//uint8 = 0
collateralToken,
//uint8 = 1
debtToken
}

General Getter Functions

//General Getter Functions
function getAssetID(AssetType _type, address _assetAddr) external view returns (uint256);
function qtyOfManagedAssets() external view returns (uint64);
function balanceOf(address _account, uint256 _id) external view returns (uint256);
getAssetID: identifies the asset's type and address which can be called externally.
qtyOfManagedAssets: this function gives the overview of all the assets in Fuji Vaults.
balanceOf: generic function to receive an address' balance.

Permit Controlled Functions

function mint(
address _account,
uint256 _id,
uint256 _amount,
bytes memory _data
) external;
function burn(
address _account,
uint256 _id,
uint256 _amount
) external;
function updateState(uint256 _assetID, uint256 _newBalance) external;
mint: this function mints a new Fuji token when a user deposits collateral into the protocol.
burn: when a Fuji token is redeemd and collateral withdrawn, the burn function burns the Fuji token and thus the debt from the protocol.
updateState: function to update the Fuji1155 account.
Last modified 9mo ago
Copy link
On this page
Interface
General Getter Functions
Permit Controlled Functions