Skip to content

unify submitBlocksCompressedWithCallbacks #1761

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
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