Add option to contribute to Nimbus development via suggested fee recipient
This commit is contained in:
parent
9180f09641
commit
a3a19862f7
|
@ -55,6 +55,9 @@ const
|
||||||
defaultAdminListenAddressDesc* = $defaultAdminListenAddress
|
defaultAdminListenAddressDesc* = $defaultAdminListenAddress
|
||||||
defaultBeaconNodeDesc* = $defaultBeaconNode
|
defaultBeaconNodeDesc* = $defaultBeaconNode
|
||||||
|
|
||||||
|
nimbusWalletAddressDesc* ="0x70E47C843E0F6ab0991A3189c28F2957eb6d3842"
|
||||||
|
nimbusWalletAddress* = (static Address.fromHex(nimbusWalletAddressDesc))
|
||||||
|
|
||||||
when defined(windows):
|
when defined(windows):
|
||||||
{.pragma: windowsOnly.}
|
{.pragma: windowsOnly.}
|
||||||
{.pragma: posixOnly, hidden.}
|
{.pragma: posixOnly, hidden.}
|
||||||
|
@ -559,6 +562,22 @@ type
|
||||||
defaultValue: ""
|
defaultValue: ""
|
||||||
name: "payload-builder-url" .}: string
|
name: "payload-builder-url" .}: string
|
||||||
|
|
||||||
|
nimbusFund* {.
|
||||||
|
desc: "Use Nimbus developer fund wallet address as suggested fee recipient for a given percentage of all blocks produced by this node"
|
||||||
|
defaultValue: false
|
||||||
|
name: "nimbus-fund" .}: bool
|
||||||
|
|
||||||
|
nimbusFundPercent* {.
|
||||||
|
desc: "Percentage of blocks that should use the Nimbus developement fund wallet as suggested fee recipient"
|
||||||
|
defaultValue: 4.0
|
||||||
|
name: "nimbus-fund-percent" .}: float
|
||||||
|
|
||||||
|
nimbusWallet* {.
|
||||||
|
desc: "Wallet to use for the Nimbus fund"
|
||||||
|
defaultValue: nimbusWalletAddress
|
||||||
|
defaultValueDesc: $nimbusWalletAddressDesc
|
||||||
|
name: "nimbus-fund-recipient" .}: Address
|
||||||
|
|
||||||
of BNStartUpCmd.createTestnet:
|
of BNStartUpCmd.createTestnet:
|
||||||
testnetDepositsFile* {.
|
testnetDepositsFile* {.
|
||||||
desc: "A LaunchPad deposits file for the genesis state validators"
|
desc: "A LaunchPad deposits file for the genesis state validators"
|
||||||
|
@ -1268,3 +1287,9 @@ template loadJwtSecret*(
|
||||||
config: BeaconNodeConf,
|
config: BeaconNodeConf,
|
||||||
allowCreate: bool): Option[seq[byte]] =
|
allowCreate: bool): Option[seq[byte]] =
|
||||||
rng.loadJwtSecret(string(config.dataDir), config.jwtSecret, allowCreate)
|
rng.loadJwtSecret(string(config.dataDir), config.jwtSecret, allowCreate)
|
||||||
|
|
||||||
|
template nimbusFundFraction*(config: BeaconNodeConf): float =
|
||||||
|
if config.nimbusFund:
|
||||||
|
config.nimbusFundPercent / 100.0
|
||||||
|
else:
|
||||||
|
0.0
|
||||||
|
|
|
@ -359,6 +359,11 @@ proc getFeeRecipient(node: BeaconNode,
|
||||||
pubkey: ValidatorPubKey,
|
pubkey: ValidatorPubKey,
|
||||||
validatorIdx: ValidatorIndex,
|
validatorIdx: ValidatorIndex,
|
||||||
epoch: Epoch): Eth1Address =
|
epoch: Epoch): Eth1Address =
|
||||||
|
if node.config.nimbusFund and
|
||||||
|
node.rng[].generate(uint64).float <
|
||||||
|
node.config.nimbusFundFraction * uint64.high().float:
|
||||||
|
return node.config.nimbusWallet
|
||||||
|
|
||||||
node.dynamicFeeRecipientsStore[].getDynamicFeeRecipient(validatorIdx, epoch).valueOr:
|
node.dynamicFeeRecipientsStore[].getDynamicFeeRecipient(validatorIdx, epoch).valueOr:
|
||||||
if node.keymanagerHost != nil:
|
if node.keymanagerHost != nil:
|
||||||
node.keymanagerHost[].getSuggestedFeeRecipient(pubkey).valueOr:
|
node.keymanagerHost[].getSuggestedFeeRecipient(pubkey).valueOr:
|
||||||
|
|
Loading…
Reference in New Issue