MarketPlace
Annotated source code of the MarketPlace.sol smart contract
Annotated source code of the MarketPlace.sol smart contract
Note this list contains both internal and external attributes
Var | Type |
---|---|
Restricts msg.sender
as the only viable caller of a method
Declaration
Returns whether a given market is paused or not
Declaration
Declaration
Modifiers:
No modifiers
Args:
We only allow this to be set once
there is no emit here as it's only done once post deploy by the deploying admin
Declaration
Modifiers:
Args:
No description
Declaration
Modifiers:
Args:
Allows the owner to create new markets
the memory allocation of
s
is for alleviating STD err, there's no clearly superior scoping or abstracting alternative.
Declaration
Modifiers:
Args:
Can be called after maturity, allowing all of the zcTokens to earn floating interest on Compound until they release their funds
Declaration
Modifiers:
Args:
Allows Swivel caller to deposit their underlying, in the process splitting it - minting both zcTokens and vault notional.
Declaration
Modifiers:
Args:
Allows Swivel caller to deposit/burn both zcTokens + vault notional. This process is "combining" the two and redeeming underlying.
Declaration
Modifiers:
Args:
Implementation of authRedeem to fulfill the IRedeemer interface for ERC5095
Declaration
Modifiers:
Args:
Returns:
Allows (via swivel) zcToken holders to redeem their tokens for underlying tokens after maturity has been reached.
Declaration
Modifiers:
Args:
Allows Vault owners (via Swivel) to redeem any currently accrued interest
Declaration
Modifiers:
Args:
Calculates the total amount of underlying returned including interest generated since the matureMarket
function has been called
Declaration
Modifiers:
No modifiers
Args:
Return the compounding token address for a given market
Declaration
Modifiers:
No modifiers
Args:
Return the exchange rate for a given protocol's compounding token
Declaration
Modifiers:
No modifiers
Args:
Return current rates (maturity, exchange) for a given vault. See VaultTracker.rates for details
While it's true that Compounding exchange rate is not strictly affiliated with a vault, the 2 data points are usually needed together.
Declaration
Modifiers:
No modifiers
Args:
Called by swivel IVFZI && IZFVI
Call with protocol, underlying, maturity, mint-target, add-notional-target and an amount
Declaration
Modifiers:
Args:
Called by swivel EVFZE FF EZFVE
Call with protocol, underlying, maturity, burn-target, remove-notional-target and an amount
Declaration
Modifiers:
Args:
Called by swivel IZFZE, EZFZI
Call with underlying, maturity, transfer-from, transfer-to, amount
Declaration
Modifiers:
Args:
Called by swivel IVFVE, EVFVI
Call with protocol, underlying, maturity, remove-from, add-to, amount
Declaration
Modifiers:
Args:
External method giving access to this functionality within a given vault
Note that this method calculates yield and interest as well
Declaration
Modifiers:
Args:
Transfers notional fee to the Swivel contract without recalculating marginal interest for from
Declaration
Modifiers:
Args:
Called by admin at any point to pause / unpause market transactions in a specified protocol
Declaration
Modifiers:
Args:
Emitted upon the creation of a market
Emitted upon the maturation of a market
Emitted upon the redemption of a ZC token
Emitted upon the redemption of vault interest
Emitted upon a custodial initiate
Emitted upon a custodial exit
Emitted upon a P2P ZC token swap
Emitted upon a vault swap
Emitted upon a transfer of notional from a vault
Emitted on a change of the admin
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Type | Description |
---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Arg | Type | Description |
---|---|---|
Arg | Type | Description |
---|---|---|
Arg | Type | Description |
---|---|---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
Modifier |
---|
Arg | Type | Description |
---|---|---|
markets
mapping(uint8 => mapping(address => mapping(uint256 => struct MarketPlace.Market)))
paused
mapping(uint8 => bool)
admin
address
swivel
address
creator
address
c
address
Address of the deployed creator contract
authorized
s
address
Address of the deployed swivel contract
authorized
a
address
Address of a new admin
authorized
unpaused
p
uint8
Protocol associated with the new market
m
uint256
Maturity timestamp of the new market
c
address
Compounding Token address associated with the new market
n
string
Name of the new market zcToken
s
string
Symbol of the new market zcToken
unpaused
p
uint8
Protocol Enum value associated with the market being matured
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
t
address
Address of the depositing user
a
uint256
Amount of notional being added
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
t
address
Address of the combining/redeeming user
a
uint256
Amount of zcTokens being burned
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
f
address
Address of the user having their zcTokens burned
t
address
Address of the user receiving underlying
a
uint256
Amount of zcTokens being redeemed
Amount
of underlying being withdrawn (needed for 5095 return)
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
t
address
Address of the redeeming user
a
uint256
Amount of zcTokens being redeemed
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
t
address
Address of the redeeming user
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
a
uint256
Amount of zcTokens being redeemed
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
p
uint8
Protocol Enum value
c
address
Compounding token address
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
z
address
Recipient of the minted zcToken
n
address
Recipient of the added notional
a
uint256
Amount of zcToken minted and notional added
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
z
address
Owner of the zcToken to be burned
n
address
Target to remove notional from
a
uint256
Amount of zcToken burned and notional removed
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
f
address
Owner of the zcToken to be burned
t
address
Target to be minted to
a
uint256
Amount of zcToken transfer
authorized
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
f
address
Owner of the notional to be transferred
t
address
Target to be transferred to
a
uint256
Amount of notional transfer
unpaused
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
t
address
Target to be transferred to
a
uint256
Amount of notional to be transferred
authorized
p
uint8
Protocol Enum value associated with this market
u
address
Underlying token address associated with the market
m
uint256
Maturity timestamp of the market
f
address
Owner of the amount
a
uint256
Amount to transfer
authorized
p
uint8
Protocol Enum value of the protocol to be paused
b
bool
Boolean which indicates the (protocol) markets paused status