The ProtocolOwner contract handles protocol-level functions and permissions within the Unlockd Wallet. It allows authorized protocol owners to execute specific actions and interacts with the TransactionGuard and DelegationOwner contracts.
Copy function initialize (
address _guard ,
address _safe ,
address _owner ,
address _delegationOwner
) public Initializes the ProtocolOwner contract with the necessary parameters.
_guard (address): The address of the TransactionGuard contract.
_safe (address): The address of the GnosisSafe contract.
_owner (address): The address of the wallet owner.
_delegationOwner (address): The address of the DelegationOwner contract.
Copy function approveSale (
address _collection ,
uint256 _tokenId ,
address _underlyingAsset ,
uint256 _amount ,
address _marketApproval ,
bytes32 _loanId
) external ; Approves the sale of an asset and transfers the necessary approvals and permissions.
_collection (address): The address of the asset collection.
_tokenId (uint256): The ID of the asset being sold.
_underlyingAsset (address): The address of the underlying asset.
_amount (uint256): The amount to be approved.
_marketApproval (address): The address of the market approval contract.
_loanId (bytes32): The ID of the loan associated with the sale.
Executes a transaction through the GnosisSafe wallet with protocol-level permissions.
_to (address): The destination address of the transaction.
_value (uint256): The amount of ETH to be sent with the transaction.
_data (bytes): The data payload of the transaction.
_safeTxGas (uint256): The gas limit for the transaction.
_baseGas (uint256): The base gas cost.
_gasPrice (uint256): The gas price used for the transaction.
_gasToken (address): The address of the token used for gas payment (0 for ETH).
_refundReceiver (address payable): The address that receives the gas payment refund.
A boolean indicating the success of the transaction execution.
Delegates the execution permission to a specified address for a single transaction.
to (address): The address to delegate the execution permission to.
value (bool): Indicates whether to grant or revoke the execution permission.
Checks if an address has delegated execution permission.
to (address): The address to check for delegated execution permission.
(bool): Indicates whether the address has delegated execution permission or not.
Checks if an asset is locked.
_id (bytes32): The ID of the asset.
(bool): Indicates whether the asset is locked or not.
Returns the loan ID assigned to a specific asset.
index (bytes32): The index of the asset.
(bytes32): The loan ID assigned to the asset.
Sets the loan ID assigned to a specific asset.
_index (bytes32): The index of the asset.
_loanId (bytes32): The loan ID to be assigned.
Safely sets the loan ID assigned to a specific asset and resets approvals.
_asset (address): The address of the asset.
_id (uint256): The ID of the asset.
_loanId (bytes32): The loan ID to be assigned.
Changes the current ownership of an asset.
_asset (address): The address of the asset.
_id (uint256): The ID of the asset.
_newOwner (address): The address of the new owner.
Batch function to set loan IDs to zero for a group of assets.
_assets (bytes32[]): An array of asset IDs.
Batch function to set loan IDs to a specific value for a group of assets.
_assets (bytes32[]): An array of asset IDs.
_loanId (bytes32): The loan ID to be assigned.
Interacts with the TransactionGuard contract to enforce protocol-level rules and permissions.
Interacts with the DelegationOwner contract to perform protocol-specific actions.