ExternalDeveloperHub
ExternalDeveloperHub__ChainIsNotSupported
ExternalDeveloperHub__IsNotOwner
ExternalDeveloperHub__ProtocolNotRegistered
ExternalDeveloperHub__ExternalDeveloperNotApproved
ExternalDeveloperHub__AddrTooBig
ExternalDeveloperHub__ProtocolAlreadyExists
ExternalDeveloperHub__DuplicateTransmitter
ExternalDeveloperHub__ZeroAmount
ExternalDeveloperHub__ZeroOwner
ExternalDeveloperHub__ZeroAddress
ExternalDeveloperHub__InvalidAddress
ExternalDeveloperHub__NoTransmittersAllowed
ExternalDeveloperHub__InsufficientFunds
ExternalDeveloperHub__InvalidConsensusTargetRate
ExternalDeveloperHub__ManualTransmittersLimitExceeded
ExternalDeveloperHub__MaxTransmittersLimitTooHigh
ADMIN
APPROVE
BET_MANAGER
ROUND_MANAGER
ApproveExternalDeveloper
BanExternalDeveloper
SetMaxTransmitterLimitByAdmin
SetMaxTransmitterLimit
SetMinProtocolBalance
SetProtocolFee
RegisterProtocol
SetProtocolOwner
SetDAOProtocolOwner
Deposit
SetManualTransmitters
SetConsensusTargetRate
SetMinDelegateAmount
SetMinPersonalAmount
AddAllowedProtocolAddress
RemoveAllowedProtocolAddress
AddAllowedProposerAddress
RemoveAllowedProposerAddress
AddExecutor
RemoveExecutor
ProtocolParams
ProtocolInfo
isInit
setContracts init marker
approvedExternalDevelopers
externalDevelopers that are KYB verified.
maxTransmittersLimitByAdmin
manual max transmitters limit
protocolInfo
activeParams
Active params for current round.
realtimeParams
Params that will be updated on next round turn.
protocols
protocol list
masterSmartContract
stakingManager
ngl
globalConfig
minProtocolBalance
Minimum balance in stake for specified protocol or it'll be paused
allowedChainIds
allowed chains
_protocolOwnerInternal
protocolOwner
allowedChainId
initialize
Initialize
Parameters
Name | Type | Description |
---|---|---|
initAddr | address[2] |
setContracts
Set contracts addresses
Parameters
Name | Type | Description |
---|---|---|
initAddr | address[6] |
_authorizeUpgrade
approveExternalDeveloper
Approve externalDeveloper after KYB process
Parameters
Name | Type | Description |
---|---|---|
externalDeveloper | address | - ExternalDeveloper management address |
banExternalDeveloper
Remove externalDeveloper from approved list
Parameters
Name | Type | Description |
---|---|---|
externalDeveloper | address | - ExternalDeveloper management address |
setMaxTransmitterLimitByAdmin
Change maximum allowed number of transmitters for protocol (enforced only on next param change by externalDeveloper)
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_maxTransmitters | uint256 | - Maximum allowed transmitters for protocol |
setMinProtocolBalance
Change minimum balance for protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_minBalance | uint256 | - Minimum balance |
setProtocolFee
Change change protocol fee for specified protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_fee | uint256 | - New protocol fee |
getActiveProtocols
Protocols that have minimum balance and not paused
requireParamsValid
Check if all protocol params are valid (should be called after each param setter)
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
initGovProtocol
Gov protocol (added by Entangle) initialization
Parameters
Name | Type | Description |
---|---|---|
_owner | address | |
_minDelegateAmount | uint256 | - Minimum delegate amount for transmitters to participate in protocol |
_minPersonalAmount | uint256 | - Minimum personal stake amount for transmitters that can participate in protocol |
_maxTransmitters | uint256 | - Maximum number of transmitters that can participate in protocol |
_protocolParams | struct ExternalDeveloperHub.ProtocolParams | - Protocol params |
_transmitters | address[] | - List of manual transmitters |
addGovProtocolAddress
set govProtocol address by admin (only once per deploy)
Parameters
Name | Type | Description |
---|---|---|
_chainId | uint64 | |
_govAddress | bytes | - Gov protocol address |
_executors | bytes[] | - List of executors |
registerProtocol
register new protocol (by externalDeveloper)
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_owner | address | - Protocol owner address |
_minDelegateAmount | uint256 | - Minimum delegate amount for transmitters to participate in protocol |
_minPersonalAmount | uint256 | - Minimum personal stake amount for transmitters that can participate in protocol |
_maxTransmitters | uint256 | - Maximum number of transmitters that can participate in protocol |
_protocolParams | struct ExternalDeveloperHub.ProtocolParams | - Protocol params |
_transmitters | address[] | - List of manual transmitters |
deduceChangeParamsFee
Deduce fee from externalDeveloper on each function that changes protocol params
setProtocolOwner
Transfer ownership to new externalDeveloper address
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
newOwner | address | - New owner address |
setMinPersonalAmount
Set minimum personal stake amount for transmitters that can participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_minPersonalAmount | uint256 | - Minimum personal stake amount |
setMinDelegateAmount
Set minimum delegate amount for transmitters to participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_minDelegateAmount | uint256 | - Minimum delegate amount |
setMaxTransmitterLimit
Set maximum number of transmitters that can participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_maxTransmitters | uint256 | - Maximum number of transmitters |
setProtocolParams
Set protocol bet and reward params
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_protocolParams | struct ExternalDeveloperHub.ProtocolParams | - Protocol params |
deposit
Deposit NGL to protocol balance
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_amount | uint256 | - Amount of NGL to deposit |
setManualTransmitters
Set manual transmitter list
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_transmitters | address[] | - List of transmitter addresses |
addAllowedProtocolAddress
Set protocol contract address
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | - Chain id |
_protocolAddress | bytes | - Protocol address |
removeAllowedProtocolAddress
Remove protocol contract address
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | - Chain id |
_protocolAddress | bytes | - Protocol address |
addAllowedProposerAddress
Set address that can propose new operations on EndPoint
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | |
_proposerAddress | bytes | - Address that can propose new operations |
removeAllowedProposerAddress
Remove address that can propose new operations on EndPoint
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | - Chain id |
_proposerAddress | bytes | - Address that can propose new operations |
addExecutor
Add executor address (which can call executeOperation on EndPoint with protocols operations)
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | - Chain id |
_executor | bytes | - Executor address |
removeExecutor
Remove executor address
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_chainId | uint64 | - Chain id |
_executor | bytes | - Executor address |
minDelegateAmount
Minimum delegate amount for transmitters that can participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
minPersonalAmount
Minimum personal stake amount for transmitters that can participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
maxTransmitters
Maximum number of transmitters that can participate in protocol
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
protocolFee
Protocol fee deduced from protocol balance on each operation
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
getMinProtocolBalance
Get protocol min balance
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
checkProtocolBalance
Check if protocol balance is above minimum of (global minProtocolBalance or protocol specific min balance)
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | Protocol id |
Return Values
Name | Type | Description |
---|---|---|
[0] | bool | bool True if protocol balance is above minimum |
betAmount
Get required bet amount for protocol for given bet type
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
betType | enum BetManager.BetType | - BetType (Message or Data) |
rewardAmount
Get reward amount credited to each participating transmitter after operation is executed
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
betType | enum BetManager.BetType | - BetType (Message or Data) |
first | bool | - First bet |
getProtocolOwner
Get protocol owner
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
protocolBalance
Get current protocol balance
Parameters
Name | Type | Description |
---|---|---|
protocolId | bytes32 | - Protocol id |
manualTransmitters
Get list of transmitters added by externalDeveloper
Parameters
Name | Type | Description |
---|---|---|
protocolId | bytes32 | - Protocol id |
isManualTransmitter
Check if transmitter is static and added by externalDeveloper
Parameters
Name | Type | Description |
---|---|---|
protocolId | bytes32 | - Protocol id |
transmitter | address | - Transmitter address |
getProtocols
Get protocol list
turnRound
Update active params from realtime params for each protocol
deduceFee
Either deduce fee or pause protocol if no funds left
Parameters
Name | Type | Description |
---|---|---|
_protocolId | bytes32 | - Protocol id |
_amount | uint256 | - Amount of NGL to deduce |
Last updated