Note Contract
NoteV2
Interface
Events
Subscription(uint256 fundId,address user,uint256 amount,uint256 fee)
User subscription
fundId
fundId
user
subscription user
amount
subscription amount
fee
fee
EarlyRedemption(uint256 fundId, address user, uint256 amount)
Redemption before expiration
fundId
fundId
user
redemption user
amount
redemption amount
Redemption(uint256 fundId, address user, uint256 amount)
Redemption on maturity
fundId
fundId
user
redemption user
amount
redemption amount
FixedInvestmentMint(uint256 fundId, uint256 payAmount, uint256 cToken)
Invest compound
fundId
fundId
payAmount
amount of invest
cToken
amount of ctoken
FixedInvestmentRedeem(uint256 fundId, uint256 payAmount, uint256 cToken)
Withdraw the amount of invest compound
fundId
fundId
payAmount
withdraw the amount of usdt
cToken
send cusdt data
OptionOpen(uint256 fundId,uint256 indexNo,uint8 poolId, uint256 orderNo)
Invest option
fundId
fundId
orderNo
orderNo
OptionExercise(uint256 fundId, uint256 orderNo,uint256 position,uint256 income, bool isKnockout)
Withdraw the amount of invest option
Invest option
fundId
fundId
orderNo
orderNo
position
position
income
withdraw the amount of usdt
isKnockout
is knockout
OptionClose(uint256 fundId,uint256 orderNo,uint256 position,uint256 income)
Option exercise
fundId
fundId
orderNo
orderNo
position
position
income
withdraw the amount of usdt
NewFund(uint256 fundId)
New fund
FundClosed( uint256 fundId, uint256 totalIncome, uint256[2] managerProfit)
Fund closed
fundId
fundId
totalIncome
total income
managerProfit[0]
performance fee
managerProfit[1]
manager profit
FundCanceled(uint256 fundId)
Fund canceled
SetManager(address manager, bool isManager)
Set manager rights
Methods(Read Contract)
1. User Balance
mapping(address => mapping(uint256 => uint256)) public userBalance
The amount of user invested
user
address
user address
fundId
uint256
fundId
balance
uint256
balance
1.Pay Token
IERC20 public immutable payToken
View payment token
2. Option Order
mapping(uint256 => mapping(uint8 => mapping(uint256 => uint256))) public optionOrder
View fundId that map with option contract
indexNo
uint256
indexNo
pool_id
uint8
pool_id
order_no
uint256
order_no
fundId
uint256
fundId
3. Cycle Day
uint8[3] public cycleDay
**Cycle day,unit/day **
index
uint8
index,option: 0,1,2
day
uint256
days
4. Manager
mapping(address => bool) public manager
Whether is manager
address
address
query address
isManager
bool
whether is manager
5. Fund List
**Fund details **
fundId
uint256
fundId
buyTime
uint256
buy time
investTime
uint256
the start time of fund closed
endTime
uint256
end time
balance
uint256
note balance
optionPercent
uint256
During manager invests, optionPercent =optionPercent/10000
totalfunds
uint256
The user's total investment amount, after the fund manager starts to invest, the value is not 0, after the closing period, the value has been determined
profitPerShare
uint256
After the end of the product, each user token can receive the amount, the value has been amplified by 1E18 times
manager
address
fund manager
status
uint8
Fund status,1 initial state, waiting to invest or investing,2 investing,3 closed, 4 cancelled
6. Get Fund
function getFund(uint256 _fundId) external view returns (uint256[2] memory funds, uint256[2] memory position)
Get fund investment situation
_fundId
uint256
_fundId
funds[0]
uint256[2]
Amount of investible options
funds[1]
uint256[2]
Amount of investible compounds
position[0]
uint256[2]
Total option position
position[1]
uint256[2]
Amount of compound ctoken
7. Manager
mapping(address => bool) public manager
Whether is fund manager
address
address
query address
isManager
bool
whether is manager
Methods(Write Contract)
1. Subscription
function subscription(uint256 _fundId, uint256 _amount) external
Invest fund
_fundId
uint256
_fundId
_amount
uint256
purchase amount
2. Partial Redemption
function partialRedemption(uint256 _fundId, uint256 _amount) external
Redemotion before closed
_noteId
uint256
_noteId
_amount
uint256
the amount of user withdraw
3. Redemption
function redemption(uint256 _fundId) external
**Redemption at expiration **
_fundId
uint256
_fundId
Fund manager operations
4. Add Fund
function addFund( uint256 _buyTime, uint256 _investTime, uint8 _cycleIndex, uint256 _optionPercent )
**Add fund product **
_buyTime
uint256
buy time
_investTime
uint256
beginning of closure
_cycleIndex
uint8
cycleDay[3] fund cycle,0:30days,1:60days,2:90days
_optionPercent
uint256
option percent
5.Cancel Note
function cancelFund(uint256 _fundId) external
**Cancel note **
_fundId
uint256
_fundId,close note products only before users start investing
6. Close Fund
function closeFund(uint256 _fundId) external
After the expiration, close the fund, and then user can be redeemed, at the same time the fund manager gains
7. Invest Option
function optionOpen( uint256 _fundId, uint256 _indexNo,uint8 _poolId, uint256 _position, bool _isCall, uint256 _price, uint256 _datetime, bytes calldata _signData ) external
Invest option
_fundId
uint256
fundId
_indexNo
uint256
indexNo
_poolId
uint256
poolId
_position
uint256
option position
_isCall
bool
buy direction,true is call,false is put
_price
uint256
buy price
_datetime
uint256
buy time
signData
bytes
buy price and time signature
8.Fixed Investment Mint
function fixedInvestmentMint(uint256 _fundId, uint256 _amount) external
Invest compound
_fundId
uint256
fundId
_amount
uint256
the amount of token
9. Fixed Investment Redeem
function fixedInvestmentRedeem(uint256 _fundId, uint256 _cTokenAmount)
**Withdraw compound **
_fundId
uint256
fundId
_amount
uint256
the amount of ctoken
10. Withdraw Option
function optionClose( uint256 _fundId, uint256 _orderNo, uint256 _position, uint256 _price, uint256 _datetime, bytes calldata _signData ) external
Withdraw option
_fundId
uint256
fundId
_orderNo
uint256
option contract id
_position
uint256
option number
_price
uint256
buy price
_datetime
uint256
buy time
signData
bytes
buy time and buy signature
11. Option Exercise
function optionExercise(uint256 _fundId,uint256 _indexNo, uint8 _poolId, uint256 _orderNo, bool _isKnockOut ) external
Option exercise at expiration
_noteId
uint256
noteId
_indexNo
uint256
indexNo
_poolId
uint256
poolId
_orderNo
uint256
option contract id
_isKnockout
uint256
whether is konckout
Last updated