utils

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2021 License: AGPL-3.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const X962_INVERSION = uint8(0x03)
View Source
const X962_NO_INVERSION = uint8(0x02)

these constants are defined in X9.62 section 4.2 and 4.3 see https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.202.2977&rep=rep1&type=pdf they indicate if the conversion to/from a public key (point) in compressed form must involve an inversion of the ordinate coordinate

Variables

This section is empty.

Functions

func GenerateKeys

func GenerateKeys(algo crypto.SigningAlgorithm, n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func GenerateMachineAccountKey

func GenerateMachineAccountKey(seed []byte) (crypto.PrivateKey, error)

func GenerateNetworkingKey

func GenerateNetworkingKey(seed []byte) (crypto.PrivateKey, error)

func GenerateNetworkingKeys

func GenerateNetworkingKeys(n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func GenerateNodeInfos

func GenerateNodeInfos(consensus, collection, execution, verification, access int) []model.NodeInfo

func GenerateStakingKey

func GenerateStakingKey(seed []byte) (crypto.PrivateKey, error)

func GenerateStakingKeys

func GenerateStakingKeys(n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func GenerateUnstakedNetworkingKey added in v0.21.0

func GenerateUnstakedNetworkingKey(seed []byte) (key crypto.PrivateKey, err error)

GenerateUnstakedNetworkingKey draws ECDSASecp256k1 keys until finding a suitable one. though this will return fast, this is not constant-time and will leak ~1 bit of information through its runtime

func GenerateUnstakedNetworkingKeys added in v0.21.0

func GenerateUnstakedNetworkingKeys(n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func ReadRootProtocolSnapshot

func ReadRootProtocolSnapshot(bootDir string) (*inmem.Snapshot, error)

func RunWithSporkBootstrapDir

func RunWithSporkBootstrapDir(t testing.TB, f func(bootDir, partnerDir, partnerStakes, internalPrivDir, configPath string))

func WriteInternalFiles

func WriteInternalFiles(nodeInfos []model.NodeInfo, bootDir string) (string, string, error)

WriteInternalFiles writes the internal private node info into `bootDir/private-root-information/` also writes a map containing each of the nodes stakes mapped to the node's networking address

func WriteMachineAccountFiles

func WriteMachineAccountFiles(chainID flow.ChainID, nodeInfos []bootstrap.NodeInfo, write WriteJSONFileFunc) error

WriteMachineAccountFiles writes machine account key files for a set of nodeInfos. Assumes that machine accounts have been created using the default execution state bootstrapping. Further assumes that the order of nodeInfos is the same order that nodes were staked during execution state bootstrapping.

Only applicable for transient test networks.

func WritePartnerFiles

func WritePartnerFiles(nodeInfos []model.NodeInfo, bootDir string) (string, string, error)

WritePartnerFiles writes the all partner public node info into `bootDir/partners/public-root-information/` also writes a map containing each of the nodes stakes mapped to the NodeID

func WriteStakingNetworkingKeyFiles

func WriteStakingNetworkingKeyFiles(nodeInfos []bootstrap.NodeInfo, write WriteJSONFileFunc) error

WriteStakingNetworkingKeyFiles writes staking and networking keys to private node info files.

Types

type WriteJSONFileFunc

type WriteJSONFileFunc func(relativePath string, value interface{}) error

WriteJSONFileFunc is a function which writes a file during bootstrapping. It accepts the path for the file (relative to the bootstrapping root directory) and the value to write. The function must marshal the value as JSON and write the result to the given path.

Jump to

Keyboard shortcuts

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