Skip to main content


Standard Specifications
Solidity implementation

Implementation of a contract calling the verification functions according to LSP20 - Call Verification standard.

Module to be inherited used to verify the execution of functions according to a verifier address. Verification can happen before or after execution based on a returnedStatus.

Internal Methods

Any method labeled as internal serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs.

Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities.


function _verifyCall(
address logicVerifier
) internal nonpayable returns (bool verifyAfter);

Calls lsp20VerifyCall function on the logicVerifier.


function _verifyCallResult(
address logicVerifier,
bytes callResult
) internal nonpayable;

Calls lsp20VerifyCallResult function on the logicVerifier.


function _revertWithLSP20DefaultError(
bool postCall,
bytes returnedData
) internal pure;