UserConfig

Git Source

User config could select their own relayer and oracle. The default configuration is used by default.

Only setter could set default user config.

State Variables

setter

Setter address.

address public setter;

defaultUC

Default user config.

UC public defaultUC;

ucOf

ua => uc.

mapping(address => UC) public ucOf;

Functions

onlySetter

modifier onlySetter();

constructor

constructor(address dao);

changeSetter

Only current setter could call.

Change setter.

function changeSetter(address newSetter) external onlySetter;

Parameters

NameTypeDescription
newSetteraddressNew setter.

setDefaultConfig

Only setter could call.

Set default user config for all user application.

function setDefaultConfig(address oracle, address relayer) external onlySetter;

Parameters

NameTypeDescription
oracleaddressDefault oracle.
relayeraddressDefault relayer.

setAppConfig

Set user application config.

function setAppConfig(address oracle, address relayer) external;

Parameters

NameTypeDescription
oracleaddressOracle which user application.
relayeraddressRelayer which user application choose.

getAppConfig

If user application has not configured, then the default user config is used.

Fetch user application config.

function getAppConfig(address ua) public view returns (UC memory);

Parameters

NameTypeDescription
uaaddressUser application contract address.

Returns

NameTypeDescription
<none>UCuser application config.

Events

DefaultConfigUpdated

Notifies an observer that the default user config has updated.

event DefaultConfigUpdated(address oracle, address relayer);

Parameters

NameTypeDescription
oracleaddressDefault oracle.
relayeraddressDefault relayer.

AppConfigUpdated

Notifies an observer that the user application config has updated.

event AppConfigUpdated(address indexed ua, address oracle, address relayer);

Parameters

NameTypeDescription
uaaddressUser application contract address.
oracleaddressOracle which the user application choose.
relayeraddressRelayer which the user application choose.

SetterChanged

Notifies an observer that the setter is changed.

event SetterChanged(address indexed oldSetter, address indexed newSetter);

Parameters

NameTypeDescription
oldSetteraddressOld setter address.
newSetteraddressNew setter address.