eoa

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2024 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package eoa defines well-known (non-fireblocks) eoa private keys used in an omni network.

Index

Constants

View Source
const (
	ZeroXDead = "0x000000000000000000000000000000000000dead"
)

Variables

This section is empty.

Functions

func Address

func Address(network netconf.ID, role Role) (common.Address, bool)

Address returns the address for the EOA identified by the network and role.

func Funder

func Funder() common.Address

Funder returns the address of the funder account.

func MustAddress

func MustAddress(network netconf.ID, role Role) common.Address

MustAddress returns the address for the EOA identified by the network and role.

func MustAddresses

func MustAddresses(network netconf.ID, roles ...Role) []common.Address

MustAddresses returns the addresses for the network and roles.

func PrivateKey

func PrivateKey(ctx context.Context, network netconf.ID, role Role) (*ecdsa.PrivateKey, error)

PrivateKey returns the private key for the EOA identified by the network and role.

Types

type Account

type Account struct {
	Type    Type
	Role    Role
	Address common.Address
	// contains filtered or unexported fields
}

Account defines a EOA account used within the Omni network.

func AccountForRole

func AccountForRole(network netconf.ID, role Role) (Account, bool)

AccountForRole returns the account for the network and role.

func AllAccounts

func AllAccounts(network netconf.ID) []Account

AllAccounts returns all accounts for the network.

type FundThresholds

type FundThresholds struct {
	// contains filtered or unexported fields
}

func GetFundThresholds

func GetFundThresholds(network netconf.ID, role Role) (FundThresholds, bool)

func (FundThresholds) MinBalance

func (t FundThresholds) MinBalance() *big.Int

func (FundThresholds) TargetBalance

func (t FundThresholds) TargetBalance() *big.Int

type Role

type Role string
const (
	// RoleRelayer is the relayer eoa on all networks. It creates submissions to portals.
	RoleRelayer Role = "relayer"
	// RoleMonitor is the monitor service eoa on all networks. It is used by the feemanager.
	RoleMonitor Role = "monitor"
	// RoleCreate3Deployer is used to deploy our create3 factories on all chains. This MUST only be done once with nonce 0.
	RoleCreate3Deployer Role = "create3-deployer"
	// RoleDeployer is used to deploy official omni contracts on all chains.
	RoleDeployer Role = "deployer"
	// RoleAdmin is used to manage the omni contracts on all chains. It has admin privileges on official omni contracts.
	RoleAdmin Role = "admin"
	// RoleTester is used for general tasks and testing in non-mainnet networks.
	RoleTester Role = "tester"
)

func AllRoles

func AllRoles() []Role

func (Role) Verify

func (r Role) Verify() error

type Type

type Type string
const (
	TypeRemote    Type = "remote"     // stored in (fireblocks) accessible via API to sign
	TypeSecret    Type = "secret"     // stored in GCP can be downloaded to disk
	TypeWellKnown Type = "well-known" // well-known eoa private keys in the repo
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL