src

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(deps *std.Deps, env std.Env, info std.MessageInfo, msg []byte) (*std.InitResultOk, error)

func Invoke

func Invoke(deps *std.Deps, env std.Env, info std.MessageInfo, msg []byte) (*std.HandleResultOk, error)

func Query

func Query(deps *std.Deps, env std.Env, msg []byte) (*std.QueryResponse, error)

func QueryBalance

func QueryBalance(b Balance, erc20 Erc20) (*std.QueryResponse, error)

Types

type AcceptTransferredOwner

type AcceptTransferredOwner struct {
	AcceptedAddr string `json:"accepted_address"`
}

type Approve

type Approve struct {
	Spender string `json:"spender"`
	Value   uint64 `json:"value"`
}

type Balance

type Balance struct {
	Address []byte `json:"address"`
}

type BalanceResponse

type BalanceResponse struct {
	Value uint64 `json:"value"`
}

type Erc20

type Erc20 interface {
	Name() string
	Symbol() string
	Decimals() uint64
	TotalSupply() uint64
	BalanceOf(addr []byte) uint64
	Transfer(toAddr []byte, value uint64) bool
	TransferFrom(form, to []byte, value uint64) bool
	Approve(spender []byte, value uint64) bool
	EventOfTransfer(from, to []byte, value uint64)
	EventOfApproval(owner, spender []byte, value uint64)
	Assign(addr []byte, value uint64)
	//Management of contract meta data
	SaveState() bool
}

func NewErc20Protocol

func NewErc20Protocol(state State, Deps *std.Deps, info *std.MessageInfo) Erc20

type Handler

type Handler struct {
	Transfer              Transfer               `json:"transfer,omitempty"`
	TransferFrom          TransferFrom           `json:"transfer_from,omitempty"`
	Approve               Approve                `json:"approve,omitempty"`
	TransferOwner         TransferOwner          `json:"transfer_owner,omitempty"`
	AcceptedTransferOwner AcceptTransferredOwner `json:"accept_transfer_owner,omitempty"`
}

type InitMsg

type InitMsg struct {
	Name        string `json:"name"`
	Symbol      string `json:"symbol"`
	Decimal     uint64 `json:"decimal"`
	TotalSupply uint64 `json:"total_supply"`
}

all message type define here

func (InitMsg) Validate

func (i InitMsg) Validate() error

returns an error if invalid

type Owner

type Owner interface {
	//init owner once
	Owned(ownerAddr []byte)

	//get current owner address
	GetOwner() []byte

	//get new owner address
	GetNewOwner() []byte

	//transfer contract owner from `sender` to `newer`
	TransferOwnership(sender, newer []byte)

	//check is `addr` is an ownership of this contract
	OnlyOwner(addr []byte) bool

	//event of ownership transferred
	OwnershipTransferred(from, to []byte)

	AcceptTransfer(sender, to []byte)

	SaveOwner() bool
	LoadOwner() bool
}

func NewOwnership

func NewOwnership(Deps *std.Deps) Owner

type Ownership

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

func (*Ownership) AcceptTransfer

func (o *Ownership) AcceptTransfer(sender, to []byte)

func (Ownership) GetNewOwner

func (o Ownership) GetNewOwner() []byte

func (Ownership) GetOwner

func (o Ownership) GetOwner() []byte

func (*Ownership) LoadOwner

func (o *Ownership) LoadOwner() bool

func (Ownership) OnlyOwner

func (o Ownership) OnlyOwner(addr []byte) bool

func (*Ownership) Owned

func (o *Ownership) Owned(ownerAddr []byte)

func (Ownership) OwnershipTransferred

func (o Ownership) OwnershipTransferred(sender, to []byte)

func (Ownership) SaveOwner

func (o Ownership) SaveOwner() bool

func (*Ownership) TransferOwnership

func (o *Ownership) TransferOwnership(sender, newer []byte)

type Querier

type Querier struct {
	Balance Balance `json:"balance"`
}

type State

type State struct {
	NameOfToken   string `json:"name"`
	SymbolOfToken string `json:"symbol"`
	DecOfTokens   uint64 `json:"decimals"`
	TotalSupplyOf uint64 `json:"total_supply"`
}

func LoadState

func LoadState(Deps *std.Deps) (State, error)

type Transfer

type Transfer struct {
	ToAddr string `json:"to"`
	Value  uint64 `json:"value"`
}

type TransferFrom

type TransferFrom struct {
	FromAddr string `json:"from"`
	ToAddr   string `json:"to"`
	Value    uint64 `json:"value"`
}

type TransferOwner

type TransferOwner struct {
	NewOwner string `json:"new_owner"`
}

Jump to

Keyboard shortcuts

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