 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func Initialize(p Payload) error
- func SubnetToL1ConversionID(data SubnetToL1ConversionData) (ids.ID, error)
- type L1ValidatorRegistration
- type L1ValidatorWeight
- type PChainOwner
- type Payload
- type RegisterL1Validator
- type SubnetToL1Conversion
- type SubnetToL1ConversionData
- type SubnetToL1ConversionValidatorData
Constants ¶
const CodecVersion = 0
    Variables ¶
var ( ErrInvalidSubnetID = errors.New("invalid subnet ID") ErrInvalidWeight = errors.New("invalid weight") ErrInvalidNodeID = errors.New("invalid node ID") ErrInvalidOwner = errors.New("invalid owner") )
var Codec codec.Manager
    var ErrNonceReservedForRemoval = errors.New("maxUint64 nonce is reserved for removal")
    var ErrWrongType = errors.New("wrong payload type")
    Functions ¶
func Initialize ¶ added in v1.11.13
func SubnetToL1ConversionID ¶ added in v1.11.13
func SubnetToL1ConversionID(data SubnetToL1ConversionData) (ids.ID, error)
SubnetToL1ConversionID creates a subnet conversion ID from the provided subnet conversion data.
Types ¶
type L1ValidatorRegistration ¶ added in v1.11.13
type L1ValidatorRegistration struct {
	ValidationID ids.ID `serialize:"true" json:"validationID"`
	// Registered being true means that validationID is currently a validator on
	// the P-chain.
	//
	// Registered being false means that validationID is not and can never
	// become a validator on the P-chain. It is possible that validationID was
	// previously a validator on the P-chain.
	Registered bool `serialize:"true" json:"registered"`
	// contains filtered or unexported fields
}
    L1ValidatorRegistration reports if a validator is registered on the P-chain.
func NewL1ValidatorRegistration ¶ added in v1.11.13
func NewL1ValidatorRegistration( validationID ids.ID, registered bool, ) (*L1ValidatorRegistration, error)
NewL1ValidatorRegistration creates a new initialized L1ValidatorRegistration.
func ParseL1ValidatorRegistration ¶ added in v1.11.13
func ParseL1ValidatorRegistration(b []byte) (*L1ValidatorRegistration, error)
ParseL1ValidatorRegistration parses bytes into an initialized L1ValidatorRegistration.
type L1ValidatorWeight ¶ added in v1.11.13
type L1ValidatorWeight struct {
	ValidationID ids.ID `serialize:"true" json:"validationID"`
	Nonce        uint64 `serialize:"true" json:"nonce"`
	Weight       uint64 `serialize:"true" json:"weight"`
	// contains filtered or unexported fields
}
    L1ValidatorWeight is both received and sent by the P-chain.
If the P-chain is receiving this message, it is treated as a command to update the weight of the validator.
If the P-chain is sending this message, it is reporting the current nonce and weight of the validator.
func NewL1ValidatorWeight ¶ added in v1.11.13
func NewL1ValidatorWeight( validationID ids.ID, nonce uint64, weight uint64, ) (*L1ValidatorWeight, error)
NewL1ValidatorWeight creates a new initialized L1ValidatorWeight.
func ParseL1ValidatorWeight ¶ added in v1.11.13
func ParseL1ValidatorWeight(b []byte) (*L1ValidatorWeight, error)
ParseL1ValidatorWeight parses bytes into an initialized L1ValidatorWeight.
func (*L1ValidatorWeight) Verify ¶ added in v1.11.13
func (s *L1ValidatorWeight) Verify() error
type PChainOwner ¶
type PChainOwner struct {
	// The threshold number of `Addresses` that must provide a signature in
	// order for the `PChainOwner` to be considered valid.
	Threshold uint32 `serialize:"true" json:"threshold"`
	// The addresses that are allowed to sign to authenticate a `PChainOwner`.
	Addresses []ids.ShortID `serialize:"true" json:"addresses"`
}
    type Payload ¶
type Payload interface {
	// Bytes returns the binary representation of this payload.
	//
	// If the payload is not initialized, this method will return nil.
	Bytes() []byte
	// contains filtered or unexported methods
}
    Payload provides a common interface for all payloads implemented by this package.
type RegisterL1Validator ¶ added in v1.11.13
type RegisterL1Validator struct {
	SubnetID              ids.ID                 `serialize:"true" json:"subnetID"`
	NodeID                types.JSONByteSlice    `serialize:"true" json:"nodeID"`
	BLSPublicKey          [bls.PublicKeyLen]byte `serialize:"true" json:"blsPublicKey"`
	Expiry                uint64                 `serialize:"true" json:"expiry"`
	RemainingBalanceOwner PChainOwner            `serialize:"true" json:"remainingBalanceOwner"`
	DisableOwner          PChainOwner            `serialize:"true" json:"disableOwner"`
	Weight                uint64                 `serialize:"true" json:"weight"`
	// contains filtered or unexported fields
}
    RegisterL1Validator adds a validator to the subnet.
func NewRegisterL1Validator ¶ added in v1.11.13
func NewRegisterL1Validator( subnetID ids.ID, nodeID ids.NodeID, blsPublicKey [bls.PublicKeyLen]byte, expiry uint64, remainingBalanceOwner PChainOwner, disableOwner PChainOwner, weight uint64, ) (*RegisterL1Validator, error)
NewRegisterL1Validator creates a new initialized RegisterL1Validator.
func ParseRegisterL1Validator ¶ added in v1.11.13
func ParseRegisterL1Validator(b []byte) (*RegisterL1Validator, error)
ParseRegisterL1Validator parses bytes into an initialized RegisterL1Validator.
func (*RegisterL1Validator) ValidationID ¶ added in v1.11.13
func (r *RegisterL1Validator) ValidationID() ids.ID
func (*RegisterL1Validator) Verify ¶ added in v1.11.13
func (r *RegisterL1Validator) Verify() error
type SubnetToL1Conversion ¶ added in v1.11.13
type SubnetToL1Conversion struct {
	// ID of the subnet conversion. It is typically generated by calling
	// SubnetToL1ConversionID.
	ID ids.ID `serialize:"true" json:"id"`
	// contains filtered or unexported fields
}
    SubnetToL1Conversion reports the summary of the subnet conversation that occurred on the P-chain.
func NewSubnetToL1Conversion ¶ added in v1.11.13
func NewSubnetToL1Conversion(id ids.ID) (*SubnetToL1Conversion, error)
NewSubnetToL1Conversion creates a new initialized SubnetToL1Conversion.
func ParseSubnetToL1Conversion ¶ added in v1.11.13
func ParseSubnetToL1Conversion(b []byte) (*SubnetToL1Conversion, error)
ParseSubnetToL1Conversion parses bytes into an initialized SubnetToL1Conversion.
type SubnetToL1ConversionData ¶ added in v1.11.13
type SubnetToL1ConversionData struct {
	SubnetID       ids.ID                              `serialize:"true" json:"subnetID"`
	ManagerChainID ids.ID                              `serialize:"true" json:"managerChainID"`
	ManagerAddress types.JSONByteSlice                 `serialize:"true" json:"managerAddress"`
	Validators     []SubnetToL1ConversionValidatorData `serialize:"true" json:"validators"`
}
    type SubnetToL1ConversionValidatorData ¶ added in v1.12.0
type SubnetToL1ConversionValidatorData struct {
	NodeID       types.JSONByteSlice    `serialize:"true" json:"nodeID"`
	BLSPublicKey [bls.PublicKeyLen]byte `serialize:"true" json:"blsPublicKey"`
	Weight       uint64                 `serialize:"true" json:"weight"`
}