ExecutionManager
This contract handles the execution and resolution of transactions. A transaction is executed on-chain when an off-chain maker order is matched by on-chain taker order of a different kind. For instance, a taker ask is executed against a maker bid (or a taker bid against a maker ask).
protocolFeeRecipient
address protocolFeeRecipient
Protocol fee recipient.
maxCreatorFeeBp
uint16 maxCreatorFeeBp
Maximum creator fee (in basis point).
creatorFeeManager
contract ICreatorFeeManager creatorFeeManager
Creator fee manager.
constructor
constructor(address _owner, address _protocolFeeRecipient) public
Constructor
Parameters
Name | Type | Description |
---|---|---|
_owner | address | Owner address |
_protocolFeeRecipient | address | Protocol fee recipient address |
updateCreatorFeeManager
function updateCreatorFeeManager(address newCreatorFeeManager) external
This function allows the owner to update the creator fee manager address.
Only callable by owner.
Parameters
Name | Type | Description |
---|---|---|
newCreatorFeeManager | address | Address of the creator fee manager |
updateMaxCreatorFeeBp
function updateMaxCreatorFeeBp(uint16 newMaxCreatorFeeBp) external
This function allows the owner to update the maximum creator fee (in basis point).
The maximum value that can be set is 25%. Only callable by owner.
Parameters
Name | Type | Description |
---|---|---|
newMaxCreatorFeeBp | uint16 | New maximum creator fee (in basis point) |
updateProtocolFeeRecipient
function updateProtocolFeeRecipient(address newProtocolFeeRecipient) external
This function allows the owner to update the protocol fee recipient.
Only callable by owner.
Parameters
Name | Type | Description |
---|---|---|
newProtocolFeeRecipient | address | New protocol fee recipient address |
_executeStrategyForTakerOrder
function _executeStrategyForTakerOrder(struct OrderStructs.Taker takerOrder, struct OrderStructs.Maker makerOrder, address sender) internal returns (uint256[] itemIds, uint256[] amounts, address[2] recipients, uint256[3] feeAmounts, bool isNonceInvalidated)
This function is internal and is used to execute a transaction initiated by a taker order.
Parameters
Name | Type | Description |
---|---|---|
takerOrder | struct OrderStructs.Taker | Taker order struct (taker specific parameters for the execution) |
makerOrder | struct OrderStructs.Maker | Maker order struct (maker specific parameter for the execution) |
sender | address | The address that sent the transaction |
Return Values
Name | Type | Description |
---|---|---|
itemIds | uint256[] | Array of item ids to be traded |
amounts | uint256[] | Array of amounts for each item id |
recipients | address[2] | Array of recipient addresses |
feeAmounts | uint256[3] | Array of fee amounts |
isNonceInvalidated | bool | Whether the order's nonce will be invalidated after executing the order |