MarketPlace
Annotated source code of the MarketPlace.sol smart contract
Last updated
Annotated source code of the MarketPlace.sol smart contract
Last updated
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