ERC1155 Trade
ERC1155Trade
Implements the ERC1155 token standard for trading OTC and batch operations over Notional markets.
Methods
Events
Governance Methods
Methods
batchOperation
Allows batch operations of deposits and trades. Approved operators are allowed to call this function on behalf of accounts.
Parameters:
account: account for which the operation will take place
maxTime: after this time the operation will fail
deposits: a list of deposits into the Escrow contract, ERC20 allowance must be in place for the Escrow contract
or these deposits will fail.
trades: a list of trades to place on fCash markets
Error Codes:
TRADE_FAILED_MAX_TIME: the operation will fail due to the set timeout
UNAUTHORIZED_CALLER: operator is not authorized for the account
INVALID_CURRENCY: currency specified in deposits is invalid
MARKET_INACTIVE: maturity is not a valid one
INSUFFICIENT_BALANCE: insufficient cash balance (or token balance when removing liquidity)
INSUFFICIENT_FREE_COLLATERAL: account does not have enough free collateral to place the trade
OVER_MAX_FCASH: [addLiquidity] fCash amount required exceeds supplied maxfCash
OUT_OF_IMPLIED_RATE_BOUNDS: [addLiquidity] depositing collateral would require more fCash than specified
TRADE_FAILED_TOO_LARGE: [takeCurrentCash, takefCash] trade is larger than allowed by the governance settings
TRADE_FAILED_LACK_OF_LIQUIDITY: [takeCurrentCash, takefCash] there is insufficient liquidity in this maturity to handle the trade
TRADE_FAILED_SLIPPAGE: [takeCurrentCash, takefCash] trade is greater than the max implied rate set
batchOperationWithdraw
Allows batch operations of deposits, trades and withdraws. Approved operators are allowed to call this function on behalf of accounts.
Parameters:
account: account for which the operation will take place
maxTime: after this time the operation will fail
deposits: a list of deposits into the Escrow contract, ERC20 allowance must be in place for the Escrow contract
or these deposits will fail.
trades: a list of trades to place on fCash markets
withdraws: a list of withdraws, if amount is set to zero will attempt to withdraw the account's entire balance
of the specified currency. This is useful for borrowing when the exact exchange rate is not known ahead of time.
Error Codes:
TRADE_FAILED_MAX_TIME: the operation will fail due to the set timeout
UNAUTHORIZED_CALLER: operator is not authorized for the account
INVALID_CURRENCY: currency specified in deposits is invalid
MARKET_INACTIVE: maturity is not a valid one
INSUFFICIENT_BALANCE: insufficient cash balance (or token balance when removing liquidity)
INSUFFICIENT_FREE_COLLATERAL: account does not have enough free collateral to place the trade
OVER_MAX_FCASH: [addLiquidity] fCash amount required exceeds supplied maxfCash
OUT_OF_IMPLIED_RATE_BOUNDS: [addLiquidity] depositing collateral would require more fCash than specified
TRADE_FAILED_TOO_LARGE: [takeCurrentCash, takefCash] trade is larger than allowed by the governance settings
TRADE_FAILED_LACK_OF_LIQUIDITY: [takeCurrentCash, takefCash] there is insufficient liquidity in this maturity to handle the trade
TRADE_FAILED_SLIPPAGE: [takeCurrentCash, takefCash] trade is greater than the max implied rate set
safeTransferFrom
Transfers tokens between from and to addresses.
Parameters:
from: Source address
to: Target address
id: ID of the token type
value: Transfer amount
data: Additional data with no specified format, unused by this contract but forwarded unaltered
to the ERC1155TokenReceiver.
Error Codes:
UNAUTHORIZED_CALLER: calling contract must be approved by both from / to addresses or be the 0x proxy
OVER_MAX_UINT128_AMOUNT: amount specified cannot be greater than MAX_UINT128
INVALID_SWAP: the asset id specified can only be of CASH_PAYER or CASH_RECEIVER types
INVALID_CURRENCY: the currency id specified is invalid
INVALID_CURRENCY: the currency id specified is invalid
safeBatchTransferFrom
No description
Events
BatchOperation
Notice that a batch operation occured
Parameters:
account: the account that was affected by the operation
operator: the operator that sent the transaction
Governance Methods
setBridgeProxy
Sets the address of the 0x bridgeProxy that is allowed to mint fCash pairs.
Parameters:
bridgeProxy: address of the 0x ERC1155AssetProxy
Last updated