Instruction.catch_instructions()
Returns an Instructions object for the 'catch' instructions
catch_instructions() →
Instructions
Query Example
from glider import *
def query():
instructions = Instructions().catch_instructions().exec(1)
return instructions
Output Example
{
"contract": "0xa4915dc6ee2652c471397c32ce5c8d3494ef3e6c"
"contract_name": "ERC721"
"sol_function":
function _checkOnERC721Received(
address from,
address to,
uint256 tokenId,
bytes memory data
) private returns (bool) {
if (to.isContract()) {
try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {
return retval == IERC721Receiver.onERC721Received.selector;
} catch (bytes memory reason) {
if (reason.length == 0) {
revert("ERC721: transfer to non ERC721Receiver implementer");
} else {
/// @solidity memory-safe-assembly
assembly {
revert(add(32, reason), mload(reason))
}
}
}
} else {
return true;
}
}
"sol_instruction":
returns (bytes4 retval) {
return retval == IERC721Receiver.onERC721Received.selector;
}
}
Last updated