contract

package
v3.0.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2019 License: LGPL-3.0 Imports: 8 Imported by: 32

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ABI

type ABI struct {
	Name                 string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Args                 []string  `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
	AmountLimit          []*Amount `protobuf:"bytes,3,rep,name=amountLimit,proto3" json:"amountLimit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*ABI) Descriptor

func (*ABI) Descriptor() ([]byte, []int)

func (*ABI) GetAmountLimit added in v1.1.0

func (m *ABI) GetAmountLimit() []*Amount

func (*ABI) GetArgs

func (m *ABI) GetArgs() []string

func (*ABI) GetName

func (m *ABI) GetName() string

func (*ABI) ProtoMessage

func (*ABI) ProtoMessage()

func (*ABI) Reset

func (m *ABI) Reset()

func (*ABI) String

func (m *ABI) String() string

func (*ABI) XXX_DiscardUnknown

func (m *ABI) XXX_DiscardUnknown()

func (*ABI) XXX_Marshal

func (m *ABI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ABI) XXX_Merge

func (m *ABI) XXX_Merge(src proto.Message)

func (*ABI) XXX_Size

func (m *ABI) XXX_Size() int

func (*ABI) XXX_Unmarshal

func (m *ABI) XXX_Unmarshal(b []byte) error

type Amount added in v1.1.0

type Amount struct {
	Token                string   `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	Val                  string   `protobuf:"bytes,2,opt,name=val,proto3" json:"val,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Amount) Descriptor added in v1.1.0

func (*Amount) Descriptor() ([]byte, []int)

func (*Amount) Equal

func (a *Amount) Equal(am *Amount) bool

Equal returns whether two amount are equal.

func (*Amount) GetToken added in v1.1.0

func (m *Amount) GetToken() string

func (*Amount) GetVal added in v1.1.0

func (m *Amount) GetVal() string

func (*Amount) ProtoMessage added in v1.1.0

func (*Amount) ProtoMessage()

func (*Amount) Reset added in v1.1.0

func (m *Amount) Reset()

func (*Amount) String added in v1.1.0

func (m *Amount) String() string

func (*Amount) ToBytes added in v1.1.0

func (a *Amount) ToBytes() []byte

ToBytes converts Amount to bytes.

func (*Amount) XXX_DiscardUnknown added in v1.1.0

func (m *Amount) XXX_DiscardUnknown()

func (*Amount) XXX_Marshal added in v1.1.0

func (m *Amount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Amount) XXX_Merge added in v1.1.0

func (m *Amount) XXX_Merge(src proto.Message)

func (*Amount) XXX_Size added in v1.1.0

func (m *Amount) XXX_Size() int

func (*Amount) XXX_Unmarshal added in v1.1.0

func (m *Amount) XXX_Unmarshal(b []byte) error

type Compiler

type Compiler struct {
}

Compiler parse contract from json string

func (*Compiler) Parse

func (c *Compiler) Parse(id, code, abi string) (*Contract, error)

Parse parse contract from json abi string, set code and id

type Contract

type Contract struct {
	ID                   string   `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Info                 *Info    `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	Code                 string   `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func Compile added in v1.1.0

func Compile(id, src, abi string) (*Contract, error)

Compile read src and abi file, generate contract structure

func DecodeContract

func DecodeContract(str string) *Contract

DecodeContract static method to decode contract from string

func (*Contract) ABI

func (c *Contract) ABI(name string) *ABI

ABI get abi from contract with specific name

func (*Contract) B64Decode

func (c *Contract) B64Decode(str string) error

B64Decode decode contract from base64 string

func (*Contract) B64Encode

func (c *Contract) B64Encode() string

B64Encode encode contract to base64 string

func (*Contract) Decode

func (c *Contract) Decode(str string) error

Decode contract from string using proto buf

func (*Contract) Descriptor

func (*Contract) Descriptor() ([]byte, []int)

func (*Contract) Encode

func (c *Contract) Encode() string

Encode contract to string using proto buf

func (*Contract) GetCode

func (m *Contract) GetCode() string

func (*Contract) GetID

func (m *Contract) GetID() string

func (*Contract) GetInfo

func (m *Contract) GetInfo() *Info

func (*Contract) ProtoMessage

func (*Contract) ProtoMessage()

func (*Contract) Reset

func (m *Contract) Reset()

func (*Contract) String

func (m *Contract) String() string

func (*Contract) VerifySelf

func (c *Contract) VerifySelf() error

VerifySelf verify contract's size

func (*Contract) XXX_DiscardUnknown

func (m *Contract) XXX_DiscardUnknown()

func (*Contract) XXX_Marshal

func (m *Contract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Contract) XXX_Merge

func (m *Contract) XXX_Merge(src proto.Message)

func (*Contract) XXX_Size

func (m *Contract) XXX_Size() int

func (*Contract) XXX_Unmarshal

func (m *Contract) XXX_Unmarshal(b []byte) error

type Cost

type Cost struct {
	Data     int64
	Net      int64
	CPU      int64
	DataList []DataItem
}

Cost ...

func Cost0

func Cost0() Cost

Cost0 construct zero cost

func NewCost

func NewCost(data, net, cpu int64, dataList ...DataItem) Cost

NewCost construct cost with specific data, net, cpu

func (*Cost) AddAssign

func (c *Cost) AddAssign(a Cost)

AddAssign add cost to self

func (Cost) IsOverflow

func (c Cost) IsOverflow(limit Cost) bool

IsOverflow decide if exceed limit

func (Cost) Multiply added in v1.1.0

func (c Cost) Multiply(i int64) Cost

Multiply a cost to int64, return new cost

func (Cost) ToGas

func (c Cost) ToGas() int64

ToGas convert cost to gas

type DataItem added in v1.1.0

type DataItem struct {
	Payer string
	Val   int64
}

DataItem describe ram cost with value and payer

type FixedAmount added in v1.1.0

type FixedAmount struct {
	Token string
	Val   *common.Fixed
}

FixedAmount the limit amount of token used by contract

type Info

type Info struct {
	Lang                 string   `protobuf:"bytes,1,opt,name=lang,proto3" json:"lang,omitempty"`
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	Abi                  []*ABI   `protobuf:"bytes,3,rep,name=abi,proto3" json:"abi,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Info) Descriptor

func (*Info) Descriptor() ([]byte, []int)

func (*Info) GetAbi

func (m *Info) GetAbi() []*ABI

func (*Info) GetLang

func (m *Info) GetLang() string

func (*Info) GetVersion

func (m *Info) GetVersion() string

func (*Info) ProtoMessage

func (*Info) ProtoMessage()

func (*Info) Reset

func (m *Info) Reset()

func (*Info) String

func (m *Info) String() string

func (*Info) XXX_DiscardUnknown

func (m *Info) XXX_DiscardUnknown()

func (*Info) XXX_Marshal

func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Info) XXX_Merge

func (m *Info) XXX_Merge(src proto.Message)

func (*Info) XXX_Size

func (m *Info) XXX_Size() int

func (*Info) XXX_Unmarshal

func (m *Info) XXX_Unmarshal(b []byte) error

type PaymentCode

type PaymentCode int32

PaymentCode payment mode of contract

const (
	SelfPay PaymentCode = iota
	ContractPay
)

Payment mode

type VersionCode

type VersionCode string

VersionCode version of contract

Jump to

Keyboard shortcuts

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