formulator

package
v0.0.0-...-24e5678 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: LGPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AlphaFormulatorType = uint8(0x01)
	SigmaFormulatorType = uint8(0x02)
	OmegaFormulatorType = uint8(0x03)
	AlphaMiningPower    = 1
	SigmaMiningPower    = 1.15
	OmegaMiningPower    = 1.3
)

Variables

View Source
var (
	ErrNotFormulatorOwner               = errors.New("not formulator owner")
	ErrInvalidSigmaCreationCount        = errors.New("invalid sigma creation count")
	ErrInvalidSigmaCreationBlocks       = errors.New("invalid sigma creation blocks")
	ErrInvalidSigmaFormulatorType       = errors.New("invalid sigma formulator type")
	ErrInvalidOmegaCreationCount        = errors.New("invalid omega creation count")
	ErrInvalidOmegaCreationBlocks       = errors.New("invalid omega creation blocks")
	ErrInvalidOmegaFormulatorType       = errors.New("invalid omega formulator type")
	ErrInvalidStakeAmount               = errors.New("invalid stake amount")
	ErrInvalidStakeGenerator            = errors.New("invalid stake generator")
	ErrUnknownFormulatorType            = errors.New("unknown formulator type")
	ErrNotExistFormulator               = errors.New("not exist formulator")
	ErrNotGenesis                       = errors.New("not genesis")
	ErrApprovalToCurrentOwner           = errors.New("approval to current owner")
	ErrNotFormulatorApproved            = errors.New("formulator not approved")
	ErrTransferToZeroAddress            = errors.New("transfer to the zero address")
	ErrAlreadyRegisteredSalesFormulator = errors.New("already registered sales")
	ErrNotRegisteredSalesFormulator     = errors.New("not registerd sales")
	ErrIsNoLongerSupported              = errors.New("is no longer supported")
)

Functions

This section is empty.

Types

type Formulator

type Formulator struct {
	Type    uint8
	Height  uint32
	Amount  *amount.Amount
	Owner   common.Address
	TokenID common.Address
}

func (*Formulator) ReadFrom

func (s *Formulator) ReadFrom(r io.Reader) (int64, error)

func (*Formulator) WriteTo

func (s *Formulator) WriteTo(w io.Writer) (int64, error)

type FormulatorContract

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

func (*FormulatorContract) AddGenesisStakingAmount

func (cont *FormulatorContract) AddGenesisStakingAmount(cc *types.ContractContext, HyperAddress common.Address, StakingAddress common.Address, StakingAmount *amount.Amount) error

func (*FormulatorContract) Address

func (cont *FormulatorContract) Address() common.Address

func (*FormulatorContract) Approve

func (cont *FormulatorContract) Approve(cc *types.ContractContext, To common.Address, TokenID common.Address) error

func (*FormulatorContract) BalanceOf

func (cont *FormulatorContract) BalanceOf(cc types.ContractLoader, _owner common.Address) uint32

func (*FormulatorContract) BuyFormulator

func (cont *FormulatorContract) BuyFormulator(cc *types.ContractContext, TokenID common.Address) error

func (*FormulatorContract) CancelSales

func (cont *FormulatorContract) CancelSales(cc *types.ContractContext, TokenID common.Address) error

func (*FormulatorContract) CreateAlpha

func (cont *FormulatorContract) CreateAlpha(cc *types.ContractContext) (common.Address, error)

func (*FormulatorContract) CreateAlphaBatch

func (cont *FormulatorContract) CreateAlphaBatch(cc *types.ContractContext, count *big.Int) ([]common.Address, error)

func (*FormulatorContract) CreateGenesisAlpha

func (cont *FormulatorContract) CreateGenesisAlpha(cc *types.ContractContext, owner common.Address) (common.Address, error)

func (*FormulatorContract) CreateGenesisOmega

func (cont *FormulatorContract) CreateGenesisOmega(cc *types.ContractContext, owner common.Address) (common.Address, error)

func (*FormulatorContract) CreateGenesisSigma

func (cont *FormulatorContract) CreateGenesisSigma(cc *types.ContractContext, owner common.Address) (common.Address, error)

func (*FormulatorContract) CreateOmega

func (cont *FormulatorContract) CreateOmega(cc *types.ContractContext, TokenIDs []common.Address) error

func (*FormulatorContract) CreateSigma

func (cont *FormulatorContract) CreateSigma(cc *types.ContractContext, TokenIDs []common.Address) error

func (*FormulatorContract) FormulatorMap

func (cont *FormulatorContract) FormulatorMap(cc types.ContractLoader) (map[common.Address]*Formulator, error)

func (*FormulatorContract) Front

func (cont *FormulatorContract) Front() interface{}

func (*FormulatorContract) GetApproved

func (cont *FormulatorContract) GetApproved(cc types.ContractLoader, TokenID common.Address) common.Address

func (*FormulatorContract) Init

func (cont *FormulatorContract) Init(addr common.Address, master common.Address)

func (*FormulatorContract) IsApprovedForAll

func (cont *FormulatorContract) IsApprovedForAll(cc types.ContractLoader, _owner common.Address, _operator common.Address) bool

func (*FormulatorContract) Master

func (cont *FormulatorContract) Master() common.Address

func (*FormulatorContract) Name

func (cont *FormulatorContract) Name() string

func (*FormulatorContract) OnCreate

func (cont *FormulatorContract) OnCreate(cc *types.ContractContext, Args []byte) error

func (*FormulatorContract) OnReward

func (cont *FormulatorContract) OnReward(cc *types.ContractContext, b *types.Block, GenCountMap map[common.Address]uint32) (map[common.Address]*amount.Amount, error)

func (*FormulatorContract) OwnerOf

func (cont *FormulatorContract) OwnerOf(cc types.ContractLoader, _tokenID common.Address) (common.Address, error)

func (*FormulatorContract) RegisterSales

func (cont *FormulatorContract) RegisterSales(cc *types.ContractContext, TokenID common.Address, Amount *amount.Amount) error

func (*FormulatorContract) Revoke

func (cont *FormulatorContract) Revoke(cc *types.ContractContext, TokenID common.Address) error

func (*FormulatorContract) RevokeBatch

func (cont *FormulatorContract) RevokeBatch(cc *types.ContractContext, TokenIDs []common.Address) ([]common.Address, error)

func (*FormulatorContract) RewardPolicy

func (cont *FormulatorContract) RewardPolicy(cc *types.ContractContext) (string, error)

func (*FormulatorContract) SetApprovalForAll

func (cont *FormulatorContract) SetApprovalForAll(cc *types.ContractContext, _operator common.Address, _approved bool)

func (*FormulatorContract) SetRewardPerBlock

func (cont *FormulatorContract) SetRewardPerBlock(cc *types.ContractContext, RewardPerBlock *amount.Amount) error

func (*FormulatorContract) SetRewardPolicy

func (cont *FormulatorContract) SetRewardPolicy(cc *types.ContractContext, bs []byte) error

func (*FormulatorContract) SetURI

func (cont *FormulatorContract) SetURI(cc *types.ContractContext, uri string) error

func (*FormulatorContract) Stake

func (cont *FormulatorContract) Stake(cc *types.ContractContext, HyperAddress common.Address, Amount *amount.Amount) error

func (*FormulatorContract) StakingAmount

func (cont *FormulatorContract) StakingAmount(cc types.ContractLoader, HyperAddress common.Address, StakingAddress common.Address) *amount.Amount

func (*FormulatorContract) StakingAmountMap

func (cont *FormulatorContract) StakingAmountMap(cc types.ContractLoader, HyperAddress common.Address) (map[common.Address]*amount.Amount, error)

func (*FormulatorContract) SupportsInterface

func (cont *FormulatorContract) SupportsInterface(cc types.ContractLoader, interfaceID []byte) bool

func (*FormulatorContract) TokenAddress

func (cont *FormulatorContract) TokenAddress(cc *types.ContractContext) common.Address

func (*FormulatorContract) TokenByIndex

func (cont *FormulatorContract) TokenByIndex(cc types.ContractLoader, _id uint32) (*big.Int, error)

func (*FormulatorContract) TokenByRange

func (cont *FormulatorContract) TokenByRange(cc types.ContractLoader, from, to uint32) ([]*big.Int, error)

func (*FormulatorContract) TokenOfOwnerByIndex

func (cont *FormulatorContract) TokenOfOwnerByIndex(cc types.ContractLoader, _owner common.Address, _index uint32) (*big.Int, error)

func (*FormulatorContract) TokenOfOwnerByRange

func (cont *FormulatorContract) TokenOfOwnerByRange(cc types.ContractLoader, _owner common.Address, from, to uint32) ([]*big.Int, error)

func (*FormulatorContract) TotalSupply

func (cont *FormulatorContract) TotalSupply(cc types.ContractLoader) uint32

func (*FormulatorContract) TransferFrom

func (cont *FormulatorContract) TransferFrom(cc *types.ContractContext, From common.Address, To common.Address, TokenID common.Address) error

func (*FormulatorContract) URI

func (*FormulatorContract) Unstake

func (cont *FormulatorContract) Unstake(cc *types.ContractContext, HyperAddress common.Address, Amount *amount.Amount) error

type FormulatorContractConstruction

type FormulatorContractConstruction struct {
	TokenAddress     common.Address
	FormulatorPolicy FormulatorPolicy
	RewardPolicy     RewardPolicy
}

func (*FormulatorContractConstruction) ReadFrom

func (*FormulatorContractConstruction) WriteTo

type FormulatorPolicy

type FormulatorPolicy struct {
	AlphaAmount    *amount.Amount
	SigmaCount     uint8
	SigmaBlocks    uint32
	OmegaCount     uint8
	OmegaBlocks    uint32
	HyperAmount    *amount.Amount
	MinStakeAmount *amount.Amount
}

func (*FormulatorPolicy) ReadFrom

func (s *FormulatorPolicy) ReadFrom(r io.Reader) (int64, error)

func (*FormulatorPolicy) WriteTo

func (s *FormulatorPolicy) WriteTo(w io.Writer) (int64, error)

type RewardPolicy

type RewardPolicy struct {
	RewardPerBlock        *amount.Amount
	AlphaEfficiency1000   uint32
	SigmaEfficiency1000   uint32
	OmegaEfficiency1000   uint32
	HyperEfficiency1000   uint32
	StakingEfficiency1000 uint32
	CommissionRatio1000   uint32
	MiningFeeAddress      common.Address
	MiningFee1000         uint32
	MiningFee2Ratio1000   uint32
	MiningFee2Address     common.Address
}

func (*RewardPolicy) ReadFrom

func (s *RewardPolicy) ReadFrom(r io.Reader) (int64, error)

func (*RewardPolicy) WriteTo

func (s *RewardPolicy) WriteTo(w io.Writer) (int64, error)

Jump to

Keyboard shortcuts

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