ExampleUserOwnableContract
Inherits: [RulesEngineClient](/v2(/v2/reference/client/RulesEngineClient.sol/abstract.RulesEngineClient), Ownable
Author: @mpetersoCode55, @ShaneDuncan602, @TJ-Everett, @VoR0220
SPDX-License-Identifier: BUSL-1.1
This contract showcases the Rules Engine’s ability to enforce policies on external contract functions while leveraging ownership-based access control.
This contract demonstrates how to integrate the Rules Engine with an external contract that uses OpenZeppelin’s
Ownable for access control. It provides a generic transfer
function that interacts with the Rules Engine to
enforce policies. This contract is intended for testing and demonstration purposes.
Functions
constructor
Constructor for the Example User Ownable Contract.
Initializes the contract with an initial owner.
Parameters
Name | Type | Description |
---|---|---|
initialOwner | address | The address to be set as the initial owner of the contract. |
transfer
Demonstrates a generic transfer
function integrated with the Rules Engine.
This function sends custom arguments to the Rules Engine for policy enforcement. The Rules Engine determines whether the transfer is allowed based on the provided arguments.
Parameters
Name | Type | Description |
---|---|---|
to | address | The recipient address. |
value | uint256 | The amount to transfer. |
Returns
Name | Type | Description |
---|---|---|
<none> | bool | bool True if the transfer is allowed by the Rules Engine, false otherwise. |