Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ contract LoopringIOExchangeOwner is SelectorBasedAccessManager
{
}

function submitBlocksCompressed(
function submitBlocksWithCallbacks(
bool isDataCompressed,
bytes calldata data,
BlockCallback[] calldata callbacks
)
Expand All @@ -45,7 +46,10 @@ contract LoopringIOExchangeOwner is SelectorBasedAccessManager
hasAccessTo(msg.sender, SUBMITBLOCKS_SELECTOR) || open,
"PERMISSION_DENIED"
);
bytes memory decompressed = ZeroDecompressor.decompress(data, 0);
bytes memory decompressed = isDataCompressed ?
ZeroDecompressor.decompress(data, 0):
data;

require(
decompressed.toBytes4(0) == SUBMITBLOCKS_SELECTOR,
"INVALID_DATA"
Expand All @@ -64,24 +68,6 @@ contract LoopringIOExchangeOwner is SelectorBasedAccessManager
target.fastCallAndVerify(gasleft(), 0, decompressed);
}

function submitBlocksWithCallbacks(
ExchangeData.Block[] memory blocks,
BlockCallback[] calldata callbacks
)
external
{
require(
hasAccessTo(msg.sender, SUBMITBLOCKS_SELECTOR) || open,
"PERMISSION_DENIED"
);

// Process the callback logic.
processCallbacks(blocks, callbacks);

// Finally submit the blocks
IExchangeV3(target).submitBlocks(blocks);
}

function openAccessToSubmitBlocks(bool _open)
external
onlyOwner
Expand All @@ -90,9 +76,8 @@ contract LoopringIOExchangeOwner is SelectorBasedAccessManager
emit SubmitBlocksAccessOpened(_open);
}


function processCallbacks(
ExchangeData.Block[] memory blocks,
ExchangeData.Block[] memory blocks,
BlockCallback[] calldata callbacks
)
internal
Expand Down