Skip to main content

Orchestrator.sol

Methods

_executeAction(bytes,bytes)

Solidity

function _executeAction(bytes data, bytes dynamicData) external nonpayable

Parameters

NameTypeDescription
databytesundefined
dynamicDatabytesundefined

actionApprovalByUser(uint256,address)

Solidity

function actionApprovalByUser(uint256 actionId, address _member) external view returns (uint8)
Details

Returns true if an action with given actionId is approved by _member of the group.

Parameters

NameTypeDescription
actionIduint256undefined
_memberaddressundefined

Returns

NameTypeDescription
_0uint8undefined

actionApprovalStatus(uint256)

Solidity

function actionApprovalStatus(uint256 actionId) external view returns (uint8)
Details

Returns true if an action with given actionId is approved by all existing members of the group. It’s up to the contract creators to decide if this method should look at majority votes (based on ownership) or if it should ask consent of all the users irrespective of their ownerships.

Parameters

NameTypeDescription
actionIduint256undefined

Returns

NameTypeDescription
_0uint8undefined

actionCount()

Solidity

function actionCount() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

actionThresholdPercent()

Solidity

function actionThresholdPercent() external view returns (uint16)

Returns

NameTypeDescription
_0uint16undefined

action_approvals(uint256,address)

Solidity

function action_approvals(uint256, address) external view returns (uint8)

Parameters

NameTypeDescription
_0uint256undefined
_1addressundefined

Returns

NameTypeDescription
_0uint8undefined

actions(uint256)

Solidity

function actions(uint256) external view returns (address targetAddress, bytes32 hash, enum IOrchestrator.actionState state)

Parameters

NameTypeDescription
_0uint256undefined

Returns

NameTypeDescription
targetAddressaddressundefined
hashbytes32undefined
stateenum IOrchestrator.actionStateundefined

approveAction(uint256,uint8)

Solidity

function approveAction(uint256 actionId, uint8 _vote) external nonpayable returns (bool)
Details

Allows an existing _member of the group to approve/reject an already created action/proposal given by actionId which is open for approval for all members of the group. Emits a {vote} event.

Parameters

NameTypeDescription
actionIduint256undefined
_voteuint8undefined

Returns

NameTypeDescription
_0boolundefined

createAction(bytes4[],bytes[],address,bytes32,address[])

Solidity

function createAction(bytes4[] methods, bytes[] args, address targetAddress, bytes32 _hash, address[] _recipients) external nonpayable returns (uint256)
Details

Create an action/proposal which is open for approval for all members of the group. An action consists of one or more methods that have to be executed once it's approved. Only an existing member can create an action.

Parameters

NameTypeDescription
methodsbytes4[]undefined
argsbytes[]undefined
targetAddressaddressundefined
_hashbytes32undefined
_recipientsaddress[]undefined

Returns

NameTypeDescription
_0uint256the actionId of the created action. Emits an {ActionStateChanged} event.

executeAction(uint256,bytes[])

Solidity

function executeAction(uint256 actionId, bytes[] dynamicData) external nonpayable returns (enum IOrchestrator.actionState)
Details

Executes the action referenced by the given actionId as long as it is approved actionThresholdPercent of group. The executeAction executes all methods as part of given action in an atomic way (either all should succeed or none should succeed). Once executed, the action should be set as executed (state=3) so that it cannot be executed again. Emits an {ActionStateChanged} event.

Parameters

NameTypeDescription
actionIduint256undefined
dynamicDatabytes[]undefined

Returns

NameTypeDescription
_0enum IOrchestrator.actionStateundefined

getActionInfo(uint256)

Solidity

function getActionInfo(uint256 actionId) external view returns (bytes4[] methods, bytes[] args, address targetAddress, enum IOrchestrator.actionState state)
Details

Returns the details of an already created action/proposal given by actionId which is open for approval for all members of the group.

Parameters

NameTypeDescription
actionIduint256undefined

Returns

NameTypeDescription
methodsbytes4[]undefined
argsbytes[]undefined
targetAddressaddressundefined
stateenum IOrchestrator.actionStateundefined

initialize(address,uint256)

Solidity

function initialize(address _keeperRegistry, uint256 _rewardPerAction) external nonpayable

Parameters

NameTypeDescription
_keeperRegistryaddressundefined
_rewardPerActionuint256undefined

owner()

Solidity

function owner() external view returns (address)
Details

Returns the address of the current owner.

Returns

NameTypeDescription
_0addressundefined

renounceOwnership()

Solidity

function renounceOwnership() external nonpayable
Details

Leaves the contract without owner. It will not be possible to call onlyOwner functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.

rewardPerAction()

Solidity

function rewardPerAction() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

setGasVault(address)

Solidity

function setGasVault(address _gasVault) external nonpayable

Parameters

NameTypeDescription
_gasVaultaddressundefined

setRewardPerRequest(uint256)

Solidity

function setRewardPerRequest(uint256 _rewardPerAction) external nonpayable

Parameters

NameTypeDescription
_rewardPerActionuint256undefined

transferOwnership(address)

Solidity

function transferOwnership(address newOwner) external nonpayable
Details

Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.

Parameters

NameTypeDescription
newOwneraddressundefined

upgradeTo(address)

Solidity

function upgradeTo(address newImplementation) external nonpayable
Details

Upgrade the implementation of the proxy to newImplementation. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

NameTypeDescription
newImplementationaddressundefined

upgradeToAndCall(address,bytes)

Solidity

function upgradeToAndCall(address newImplementation, bytes data) external payable
Details

Upgrade the implementation of the proxy to newImplementation, and subsequently execute the function call encoded in data. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

NameTypeDescription
newImplementationaddressundefined
databytesundefined

Events

ActionCreated

Solidity

event ActionCreated(uint256 _actionId, address _from, enum IOrchestrator.actionState _state, bytes32 _hash, address[] _recipients)

Parameters

NameTypeDescription
_actionIduint256undefined
_fromaddressundefined
_stateenum IOrchestrator.actionStateundefined
_hashbytes32undefined
_recipientsaddress[]undefined

ActionExecuted

Solidity

event ActionExecuted(uint256 _actionId, address _from, uint256 _rewardPerRequest)

Parameters

NameTypeDescription
_actionIduint256undefined
_fromaddressundefined
_rewardPerRequestuint256undefined

ActionRejected

Solidity

event ActionRejected(uint256 _actionId, address _from)

Parameters

NameTypeDescription
_actionIduint256undefined
_fromaddressundefined

AdminChanged

Solidity

event AdminChanged(address previousAdmin, address newAdmin)

Parameters

NameTypeDescription
previousAdminaddressundefined
newAdminaddressundefined

BeaconUpgraded

Solidity

event BeaconUpgraded(address indexed beacon)

Parameters

NameTypeDescription
beacon indexedaddressundefined

OwnershipTransferred

Solidity

event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

Parameters

NameTypeDescription
previousOwner indexedaddressundefined
newOwner indexedaddressundefined

Upgraded

Solidity

event Upgraded(address indexed implementation)

Parameters

NameTypeDescription
implementation indexedaddressundefined

actionFailed

Solidity

event actionFailed(uint256 _actionId)

Parameters

NameTypeDescription
_actionIduint256undefined

vote

Solidity

event vote(uint256 _actionId, address _from, uint8 _approved)

Parameters

NameTypeDescription
_actionIduint256undefined
_fromaddressundefined
_approveduint8undefined