Search
⌃K

Synchronizer (DEUS v2)(DEPRECATED)

Deployments

Soon

State Variables

Ownable (Inherited)

Synchronizer Specific

address public muonContract
Address of the muon verifier contract
address public deiContract
Address of DEI token
address public partnerManager
Address of partner manager contract
uint256 public minimumRequiredSignature
Number of signatures that required
uint256 public scale = 1e18
Used for math
mapping(address => uint256[5]) public feeCollector
uint256 public virtualReserve
Used for collatDollarBalance()
uint8 public APP_ID
Muon's app id
bool public useVirtualReserve
To change collatDollarBalance() return amount

Public Functions

buyFor(address _user, address registrar, uint256 amount, uint256 fee, uint256 expireBlock, uint256 price, bytes calldata _reqId, SchnorrSign[] calldata sigs)external returns (uint256 registrarAmount)
To buy the synthetic tokens
sellFor(address _user, address registrar, uint256 amount, uint256 fee, uint256 expireBlock, uint256 price, bytes calldata _reqId, SchnorrSign[] calldata sigs)external returns (uint256 deiAmount)
To sell the synthetic tokens
withdrawFee(address receipient, uint256 registrarType) external
To withdraw accumulated trading fee by DAO

Restricted Functions

setMinimumRequiredSignature(uint256 _minimumRequiredSignature) external onlyOwner
Changes minimum required signatures in trading functions by DAO
setAppId(uint8 APP_ID_) external onlyOwner
Changes muon's app id by DAO
setvirtualReserve(uint256 virtualReserve_) external onlyOwner
setMuonContract(address muonContract_) external onlyOwner
toggleUseVirtualReserve() external onlyOwner

Views

collatDollarBalance(uint256 collat_usd_price) public view returns (uint256)
This function use pool feature to manage buyback and recollateralize on DEI minter pool
getChainID() public view returns (uint256)
Used for trade signatures
getTotalFee(address partnerId, address registrar) public view returns (uint256 fee)
getAmountIn(address partnerId, address registrar, uint256 amountOut, uint256 price, uint256 action) public view returns (uint256 amountIn)
getAmountOut(address partnerId, address registrar, uint256 amountIn, uint256 price, uint256 action) public view returns (uint256 amountOut)

Events

Buy(address user, address registrar, uint256 registrarAmount, uint256 collateralAmount, uint256 feeAmount)
Emitted when a user buys a synthetic token
Sell(address user, address registrar, uint256 registrarAmount, uint256 collateralAmount, uint256 feeAmount)
Emitted when a user sells a synthetic token
WithdrawFee(address platform, uint256 partnerFee, uint256 platformFee, uint256 registrarType)
Emitted when withdrawFee() is called
SetMinimumRequiredSignatures(uint256 oldValue, uint256 newValue)
SetAppId(uint8 oldId, uint8 newId)
SetVirtualReserve(uint256 oldReserve, uint256 newReserve)
SetMuonContract(address oldContract, address newContract)
ToggleUseVirtualReserve(bool useVirtualReserve)