params

package
v1.2.1-rc.3 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2024 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MainNetworkID   uint64 = 10242
	TestNetworkID   uint64 = 10243
	FakeNetworkID   uint64 = 10244
	DevNetworkID    uint64 = 10245
	DefaultEventGas uint64 = 28000
)

Variables

View Source
var (
	DevnetValidators = []GenesisValidator{
		{
			ID:      1,
			Addr:    "0xC34ad0296f606749Ff8F77b75A7d577eB2CDF846",
			Pubkey:  "0xc004bf689e0aa508fc18c9820348cea64cc8b3b3dff85af513fef6309a514c21b33d96e6113904e21c49e012cb73c46d1e5b8ab7cad64131b27a8578d9f87a298f49",
			Stake:   utils2.ToArt(5_000_000),
			Balance: utils2.ToArt(60_000_000),
		},
		{
			ID:      2,
			Addr:    "0xE3E641Dad7ac5477482Ab338FD535EAA1071201F",
			Pubkey:  "0xc0046218198298ade0acaecde7816c1513c40c359673b516449f4e383d87fa53b54c245a75ed98629f2a35eae140306d7d81b6ba33feec81f0b98ddb0b529c48db32",
			Stake:   utils2.ToArt(5_000_000),
			Balance: utils2.ToArt(60_000_000),
		},
		{
			ID:      3,
			Addr:    "0x131BA6dA27B622De8771b63D40915F2530fCa0BD",
			Pubkey:  "0xc004c0cc8ddc257ed1aadd6aec58c40592c00ce653c1e96c5856f3cbb57371b01a7e8c0f2b76255271004673930ebcbc798c360f8df39c08e831bc815ee9f13dc6a6",
			Stake:   utils2.ToArt(5_000_000),
			Balance: utils2.ToArt(60_000_000),
		},
	}

	DevnetAccounts = []GenesisAccount{
		{
			Addr:    "0x0c08A529D58152A01d20b46B28DEEB7a4075104A",
			Balance: utils2.ToArt(60_000_000),
		},
		{
			Addr:    "0x9C9994Bc1F7086633fCeA94f94c88251B75CA384",
			Balance: utils2.ToArt(60_000_000),
		},
		{
			Addr:    "0x821b76971bD47770d790F2707823ba29c19bb225",
			Balance: utils2.ToArt(60_000_000),
		},
	}

	TestnetValidators = []GenesisValidator{
		{
			ID:      1,
			Addr:    "0x7a97E50436a074ADDB9A51D50Fbd35ADAFE88442",
			Pubkey:  "0xc0041d7405a8bc7dabf1e397e6689ff09482466aea9d3a716bf1dd4fd971c22d035d8d939c88764136a3213106282887f9005b5addf23af781302a0119400706996e",
			Stake:   utils2.ToArt(20_000_000),
			Balance: utils2.ToArt(100_000),
		},
		{
			ID:      2,
			Addr:    "0xfE8301b91A8Eb4734ed954f8E2FB84c2F72Cef8a",
			Pubkey:  "0xc004a61ec5eb3cf8d6b399ff56682b95277337b601fb31e1a254dd451101b8aafb0218d428fc814faee132aabcc17b3dd39fa35dfce2d5ce29d6bd05615bbd571016",
			Stake:   utils2.ToArt(20_000_000),
			Balance: utils2.ToArt(100_000),
		},
		{
			ID:      3,
			Addr:    "0xF51e935061731a129765ff63b3Af0Adb5e4486aC",
			Pubkey:  "0xc004c39c38dc49cc4c9b64ea9d817545e713635f808d692f2f500ad801e002c50987e15cf4d9419731adf4cd83edf2207a806685cb2b75c3027d2dcdd78ec126f430",
			Stake:   utils2.ToArt(20_000_000),
			Balance: utils2.ToArt(100_000),
		},
	}

	TestnetAccounts = []GenesisAccount{
		{
			Addr:    "0x40bd65cfc4D95844704F4b2a2c46a60f6d6CE766",
			Balance: utils2.ToArt(60_000_000),
		},
		{
			Addr:    "0x35E58946b74fDbD9032aed876FC58629A6e65E79",
			Balance: utils2.ToArt(60_000_000),
		},
		{
			Addr:    "0x846032c611697818a31cC090D436664b263C6E54",
			Balance: utils2.ToArt(60_000_000),
		},
	}

	MainnetValidators = []GenesisValidator{
		{

			ID:      1,
			Addr:    "0x1f25524b9D23320c40CE0C6ffc7E2D5630db5Ceb",
			Pubkey:  "0xc00418209c3d5503b479c383c63456d80e10c6d8844254064b01eb90c13a1486d2071a48a05cb1ab7d93ef80896f9e876430efe9235d80a3ae2f9b2b37a354766944",
			Stake:   utils2.ToArt(3_250_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      2,
			Addr:    "0x37F272A6eFd66AF2d89b16675DBB4410C5fD2AFA",
			Pubkey:  "0xc00463ba1938f62777bcdd5f551cd07a3643c84487b614cd58693690adfcb0c51efa3c49f6ffbccd16e0a95b3a013f7ba9ed80906bb12c51281416c19a77d70c92e3",
			Stake:   utils2.ToArt(3_250_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      3,
			Addr:    "0xBc02ABfA05e2251017C5FD4fD33e59667CC872D3",
			Pubkey:  "0xc004e7a7d0ab393725cc0a581e82d44b3015c3d915c320273eade7fe2b508e360586d44d7c82b8e7c644acf7a92919d587fccd618339a9321de9f0b85d3bef627c5b",
			Stake:   utils2.ToArt(3_250_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      4,
			Addr:    "0x8F69AB452EE5A3c3cD91d15BBc339165A508AceB",
			Pubkey:  "0xc00477944c51faeadeb1063bb60ed4084b42bcf2241446408e121424dc9e4acf36a97e41fc2739025a53e53ebfa98303b1f00640be7c9b677ce85614383de0734c4a",
			Stake:   utils2.ToArt(3_250_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      5,
			Addr:    "0x688Dc34D7176387596EF4D1da78AC5c1FafBF12D",
			Pubkey:  "0xc0043a0e7634b9fd9176866bb83395a757a52e77ee00dad25df447b352c2b2aa1d7c8b6009ac365cf0b66447a5fed118196a26368a84f8876826416c775277f64f61",
			Stake:   utils2.ToArt(3_250_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      6,
			Addr:    "0xe837B818796f3657A988f39CAFfE75203c38b205",
			Pubkey:  "0xc0043e927eedf3ef43d38e614dd55c8308f50d92d095eb1778fada8244810bdc5a5612277e0240e8f4d1bf69309e11b2cae3619ca2b74551838827aadfbfe9a60a8f",
			Stake:   utils2.ToArt(2_150_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      7,
			Addr:    "0xB5b5dfB5e3277D79B8E59389cecC74D46B2Bb607",
			Pubkey:  "0xc0043fbb08c7bbcac82e2722b678d0740c0f5b58ea465d54e7d5954d19eacb3bb18aa0a6e6f0f9db43c60487b25193bb28318a1010e96b024602f400c974fd5262d4",
			Stake:   utils2.ToArt(2_150_000),
			Balance: utils2.ToArt(10_000),
		},
		{

			ID:      8,
			Addr:    "0xFea412F092122461C61F7A1b849C5bbd88e08e5A",
			Pubkey:  "0xc00485f89b7f12d5050ef72c3d8d96af8eb0f1ff1ada3e913d505a30d739954398408d65d398385ee2f6582aac887720f3855148a871ee138b2295e8b4e022550cee",
			Stake:   utils2.ToArt(2_150_000),
			Balance: utils2.ToArt(10_000),
		},
	}
	MainnetAccounts = []GenesisAccount{
		{

			Addr:    "0x461292FD4Cc5598938c500065b59045cB6F441A8",
			Balance: utils2.ToArt(2_000_000),
		},
		{

			Addr:    "0xe2618bF31A16Bba5D296C118F8D75bD6C4a75dBc",
			Balance: utils2.ToArt(12_000_000),
		},
		{

			Addr:    "0xe723a256D8912615A47Ef84F0830b05b22a7e9F5",
			Balance: utils2.ToArt(8_000_000),
		},
		{

			Addr:    "0x6A412042A05167CdB80d49f2cdfEfb6240C158bA",
			Balance: utils2.ToArt(8_000_000),
		},
		{

			Addr:    "0xcABa6265997076a95FC81ba19E5Ba22D38F72e00",
			Balance: utils2.ToArt(16_000_000),
		},
		{

			Addr:    "0xEEaBCe1f04F29dB5cf25275C3b7475E79fC7568d",
			Balance: utils2.ToArt(4_000_000),
		},
		{

			Addr:    "0xCc688B6A11271f54e84534d12A51Db04fa677C5f",
			Balance: utils2.ToArt(36_000_000),
		},
		{

			Addr:    "0xd949738946DB18e65DEf26a2A3528A14a5417AdF",
			Balance: utils2.ToArt(32_000_000),
		},
		{

			Addr:    "0x625d81DFc1a2e6A0Bb87e8eD4ed81d54235fBc23",
			Balance: utils2.ToArt(22_000_000),
		},
		{

			Addr:    "0xe37CdbfFa2a302e608b4f10FC832a5314Ed1529f",
			Balance: utils2.ToArt(24_000_000),
		},
		{

			Addr:    "0x6d8d46c01b50931239f2371BF289D38F173085Fd",
			Balance: utils2.ToArt(8_000_000),
		},
		{

			Addr:    "0xBaCF674C76C945B024ACfC7EeAa4a75528BcebF3",
			Balance: utils2.ToArt(30_000_000),
		},
		{

			Addr:    "0x9D986C0c1F931EB700161aaD57e9D799FCEA48b1",
			Balance: utils2.ToArt(7_220_000),
		},
	}
)
View Source
var (
	MainnetGenesisID            = "0x993417afae15968aa185376537e2c633844b5e624444812b64e0241a3289d8be"
	MainnetGenesisEpochsSection = "0x58d9a9e2fc53ac51948379435446d77d732138a141470059936beb15cef752b6"
	MainnetGenesisBlocksSection = "0x128c8be0b80e91991d6952773eb083254c6f633d1b3e34f2c1d186ec4960a97a"
	MainnetGenesisEvmSection    = "0xf720abdc88dad9baeff19209954530d8a981809d32cb6b6d29979aecae1d76fc"

	TestnetGenesisID            = "0x9b213544c349bd0e44b6890f7db7e40c64298925dbb9a69529e9fd0f31fbf337"
	TestnetGenesisEpochsSection = "0xd7e51f497d950b35f7e2d03b383d25c204b7780ce1822dcf70404c040338292f"
	TestnetGenesisBlocksSection = "0xd1d7afa34a7f09983dab3b5c5bb9697302f476502ad9440d04118fe3868eeea7"
	TestnetGenesisEvmSection    = "0x6babd9234ed59ca9c7ee5eb285a048d1b916e736f46f043ea1d7b920c44f798a"

	DevnetGenesisID            = "0xe37b5f4893fa4d446c1d2e716f76bd6257590814a4ec22a49786d381e206de39"
	DevnetGenesisEpochsSection = "0x419f919b566250e9f4b37edb8d12e9df6a42d57ebf2683587a2b34398f9dd59c"
	DevnetGenesisBlocksSection = "0x39f9cb2c2bc9ad3e753490f0eacf7a3a3badba95377d35a5f26549f45a8c55b8"
	DevnetGenesisEvmSection    = "0xd0103758494c8d0468b81fe0961902329931a0f763f04f6993fc824decf3b0e3"
)
View Source
var (
	ZeroAddress = common.Address{}

	MaxGasForHasActiveSubscription = 500 * thousand
	MaxGasForDebitSubscription     = 500 * thousand
	MaxGasForCreditSubscription    = 500 * thousand
	MaxGasForGetSub                = 500 * thousand
	MaxGasForIsWhitelisted         = 500 * thousand
	MaxGasForSetOwnerOfContract    = 500 * thousand
	MaxGasForAddReward             = 500 * thousand
)
View Source
var (
	Bootnodes = map[string][]string{
		"main": {
			"enode://c4138ac86c0cd7607231601afeb24d2d0b7aaf4c8e1de28978aab6fdbca1af2ec41307b33529e64da72b9e592782840aa1552bda5b1f700eefbdba2a662c4ecc@bootnode1.arthera.net:6533",
			"enode://91a72a01ba3eb7994c681d2e0212a8239d51fffe9dfdb38af373af2cb9612bf1f2f9514fea1b099a2d1e2bb83afa9c4487af7c7f05bcb5f0c6c63f8f757c7fcd@bootnode2.arthera.net:6533",
			"enode://c3c05932654c6a92a8f544857491073f96715fa394476edee07931bf4da00d76eeb1b256d0a68d0404a8b37e8dec7e038c18f1a4cdbde0da91ef45d04c243de1@bootnode3.arthera.net:6533",
			"enode://0ccae9dd3d8f6033929c9cf8371c4dd96f27c602e2cf9b363196a22557f8f36ca02b6ee64d20d230cb6b60d4a473066f9a4e6b0551d6ca67c797250c9bb3db20@bootnode4.arthera.net:6533",
			"enode://946ec02182a11adb2c93851303ca8c6a6ef5041d84e7f695f3dd6a574f1891b879c5bde1c19cafa1ad91a9057e7d6830b8def76dede45bda350a9deb4e0c152c@bootnode5.arthera.net:6533",
		},
		"test": {
			"enode://b8069d60bd2c6992b3c53740aec0dd21fe8737921094f857f24e73a926148b7a3da7f4259b956da94b8d55f3a606f91ae8ac571e3078bf1759e78ea1be02fc2b@57.129.12.242:6534",
			"enode://bfd1f3076b9d8df8ea24874ad588ba6ac5e6ba2e9029bd4e6748f9e38d4503c62aeb649bd6df842dc1c79f60919156cf472d5cf1a4b6ae60288cf21523f5ea87@51.178.46.242:6534",
			"enode://09294690223b242ef4225a2b8fec8f0d1183d94d4135ae573ab50b1f6c593b5fc4cf81a1c4a7d27debd07c53eb371fef08b63b12b80b48ddcbe3c5fb9bbb8ab3@57.129.13.140:6534",
		},
		"dev": {
			"enode://0c202f27f0b3f0cff2542a639216bfac72c7900f4949bb30ac165c1021cfa905d8b6b4a714314456af3a01a4df1617c66bda9f4f35ea99da8049a1b76d2725d2@167.235.247.140:6535",
			"enode://8ac57f12ca2962454f2196c372d9708a8926dd012c6ef901d128d721faeb8efbbb89c9e81d1c472ac00bbbf01b5680626990ef2caedbf317b51faec1c13b246f@49.13.80.149:6535",
			"enode://f5415312d0e205956e89fcd8d3aabe437d15f0d328153df4604ea135e8a0955ff40a439e2b8432c837e30b572c0ec8e30ad3e42e5f6a1e1515553160cbc6f220@159.69.240.199:6535",
		},
	}
)

Functions

This section is empty.

Types

type BlocksMissed

type BlocksMissed struct {
	BlocksNum idx.Block
	Period    inter.Timestamp
}

BlocksMissed is information about missed blocks from a staker

type BlocksRules

type BlocksRules struct {
	MaxBlockGas             uint64 // technical hard limit, gas is mostly governed by gas power allocation
	MaxEmptyBlockSkipPeriod inter.Timestamp
}

BlocksRules contains blocks constants

type DagRules

type DagRules struct {
	MaxParents     idx.Event
	MaxFreeParents idx.Event // maximum number of parents with no gas cost
	MaxExtraData   uint32
}

DagRules of Lachesis DAG (directed acyclic graph).

func DefaultDagRules

func DefaultDagRules() DagRules

type EconomyRules

type EconomyRules struct {
	BlockMissedSlack idx.Block

	Gas GasRules

	MinGasPrice *big.Int

	ShortGasPower GasPowerRules
	LongGasPower  GasPowerRules
}

EconomyRules contains economy constants

func DefaultEconomyRules

func DefaultEconomyRules() EconomyRules

DefaultEconomyRules returns mainnet economy

func FakeEconomyRules

func FakeEconomyRules() EconomyRules

FakeEconomyRules returns fakenet economy

type EpochsRules

type EpochsRules struct {
	MaxEpochGas      uint64
	MaxEpochDuration inter.Timestamp
}

func DefaultEpochsRules

func DefaultEpochsRules() EpochsRules

func FakeNetEpochsRules

func FakeNetEpochsRules() EpochsRules

type GasPowerRules

type GasPowerRules struct {
	AllocPerSec        uint64
	MaxAllocPeriod     inter.Timestamp
	StartupAllocPeriod inter.Timestamp
	MinStartupGas      uint64
}

GasPowerRules defines gas power rules in the consensus.

func DefaulLongGasPowerRules

func DefaulLongGasPowerRules() GasPowerRules

DefaulLongGasPowerRules is long-window config

func DefaultShortGasPowerRules

func DefaultShortGasPowerRules() GasPowerRules

DefaultShortGasPowerRules is short-window config

func FakeLongGasPowerRules

func FakeLongGasPowerRules() GasPowerRules

FakeLongGasPowerRules is fake long-window config

func FakeShortGasPowerRules

func FakeShortGasPowerRules() GasPowerRules

FakeShortGasPowerRules is fake short-window config

type GasRules

type GasRules GasRulesRLPV1

func DefaultGasRules

func DefaultGasRules() GasRules

func (*GasRules) DecodeRLP

func (r *GasRules) DecodeRLP(s *rlp.Stream) error

DecodeRLP is for RLP serialization.

func (GasRules) EncodeRLP

func (r GasRules) EncodeRLP(w io.Writer) error

EncodeRLP is for RLP serialization.

type GasRulesRLPV0

type GasRulesRLPV0 struct {
	MaxEventGas  uint64
	EventGas     uint64
	ParentGas    uint64
	ExtraDataGas uint64
}

type GasRulesRLPV1

type GasRulesRLPV1 struct {
	MaxEventGas  uint64
	EventGas     uint64
	ParentGas    uint64
	ExtraDataGas uint64
	// Post-LLR fields
	BlockVotesBaseGas    uint64
	BlockVoteGas         uint64
	EpochVoteGas         uint64
	MisbehaviourProofGas uint64
}

type GenesisAccount

type GenesisAccount struct {
	Addr    string
	Balance *big.Int
}

type GenesisValidator

type GenesisValidator struct {
	ID      uint32
	Addr    string
	Pubkey  string
	Stake   *big.Int
	Balance *big.Int
}

type ProtocolRules

type ProtocolRules ProtocolRulesRLP

ProtocolRules describes arthera net. Note keep track of all the non-copiable variables in Copy()

func DevNetRules

func DevNetRules() ProtocolRules

func FakeNetRules

func FakeNetRules() ProtocolRules

func MainNetRules

func MainNetRules() ProtocolRules

func TestNetRules

func TestNetRules() ProtocolRules

func UpdateRules

func UpdateRules(src ProtocolRules, diff []byte) (res ProtocolRules, err error)

func (ProtocolRules) Copy

func (r ProtocolRules) Copy() ProtocolRules

func (*ProtocolRules) DecodeRLP

func (r *ProtocolRules) DecodeRLP(s *rlp.Stream) error

DecodeRLP is for RLP serialization.

func (ProtocolRules) EncodeRLP

func (r ProtocolRules) EncodeRLP(w io.Writer) error

EncodeRLP is for RLP serialization.

func (ProtocolRules) EvmChainConfig

func (r ProtocolRules) EvmChainConfig(hh []UpgradeHeight) *ethparams.ChainConfig

EvmChainConfig returns ChainConfig for transactions signing and execution

func (ProtocolRules) String

func (r ProtocolRules) String() string

type ProtocolRulesRLP

type ProtocolRulesRLP struct {
	Name      string
	NetworkID uint64

	// Graph options
	Dag DagRules

	// Epochs options
	Epochs EpochsRules

	// Blockchain options
	Blocks BlocksRules

	// Economy options
	Economy EconomyRules

	Upgrades Upgrades `rlp:"-"`
}

type UpgradeHeight

type UpgradeHeight struct {
	Upgrades Upgrades
	Height   idx.Block
}

type Upgrades

type Upgrades struct {
	Berlin bool
	London bool
	Llr    bool
}

func (*Upgrades) DecodeRLP

func (u *Upgrades) DecodeRLP(s *rlp.Stream) error

DecodeRLP is for RLP serialization.

func (Upgrades) EncodeRLP

func (u Upgrades) EncodeRLP(w io.Writer) error

EncodeRLP is for RLP serialization.

Jump to

Keyboard shortcuts

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