types

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2021 License: Apache-2.0 Imports: 16 Imported by: 16

Documentation

Index

Constants

View Source
const ModuleName = "cross-tx"

Variables

View Source
var (
	ErrInvalidLengthTypes        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTypes          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group")
)
View Source
var CommitProtocol_name = map[int32]string{
	0: "COMMIT_PROTOCOL_UNKNOWN",
	1: "COMMIT_PROTOCOL_SIMPLE",
	2: "COMMIT_PROTOCOL_TPC",
}
View Source
var CommitProtocol_value = map[string]int32{
	"COMMIT_PROTOCOL_UNKNOWN": 0,
	"COMMIT_PROTOCOL_SIMPLE":  1,
	"COMMIT_PROTOCOL_TPC":     2,
}
View Source
var (
	// ModuleCdc references the global x/ibc-transfer module codec. Note, the codec
	// should ONLY be used in certain instances of tests and for JSON encoding.
	//
	// The actual codec used for serialization should be provided to x/ibc-transfer and
	// defined at the application level.
	ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry())
)

Functions

func PackObjects

func PackObjects(objs []Object) ([]codectypes.Any, error)

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces register the ibc transfer module interfaces to protobuf Any.

Types

type CommitProtocol

type CommitProtocol int32
const (
	COMMIT_PROTOCOL_UNKNOWN CommitProtocol = 0
	COMMIT_PROTOCOL_SIMPLE  CommitProtocol = 1
	COMMIT_PROTOCOL_TPC     CommitProtocol = 2
)

func (CommitProtocol) EnumDescriptor

func (CommitProtocol) EnumDescriptor() ([]byte, []int)

func (CommitProtocol) String

func (x CommitProtocol) String() string

type ConstantValueObject

type ConstantValueObject struct {
	CrossChainChannel types1.Any `protobuf:"bytes,1,opt,name=cross_chain_channel,json=crossChainChannel,proto3" json:"cross_chain_channel"`
	K                 []byte     `protobuf:"bytes,2,opt,name=k,proto3" json:"k,omitempty"`
	V                 []byte     `protobuf:"bytes,3,opt,name=v,proto3" json:"v,omitempty"`
}

ConstantValueObject is an Object wraps a constant value

func MakeConstantValueObject

func MakeConstantValueObject(xcc xcctypes.XCC, key []byte, value []byte) ConstantValueObject

MakeConstantValueObject returns ConstantValueObject

func (*ConstantValueObject) Descriptor

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

func (ConstantValueObject) Evaluate

func (l ConstantValueObject) Evaluate(bz []byte) ([]byte, error)

Evaluate returns a constant value

func (ConstantValueObject) GetCrossChainChannel

func (obj ConstantValueObject) GetCrossChainChannel(m codec.Codec) xcctypes.XCC

GetCrossChainChannel implements Object.GetCrossChainChannel

func (ConstantValueObject) Key

func (l ConstantValueObject) Key() []byte

Key implements Object.Key

func (*ConstantValueObject) Marshal

func (m *ConstantValueObject) Marshal() (dAtA []byte, err error)

func (*ConstantValueObject) MarshalTo

func (m *ConstantValueObject) MarshalTo(dAtA []byte) (int, error)

func (*ConstantValueObject) MarshalToSizedBuffer

func (m *ConstantValueObject) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConstantValueObject) ProtoMessage

func (*ConstantValueObject) ProtoMessage()

func (*ConstantValueObject) Reset

func (m *ConstantValueObject) Reset()

func (*ConstantValueObject) Size

func (m *ConstantValueObject) Size() (n int)

func (*ConstantValueObject) String

func (m *ConstantValueObject) String() string

func (ConstantValueObject) Type

Type implements Object.Type

func (*ConstantValueObject) Unmarshal

func (m *ConstantValueObject) Unmarshal(dAtA []byte) error

func (ConstantValueObject) WithCrossChainChannel

func (obj ConstantValueObject) WithCrossChainChannel(m codec.Codec, xcc xcctypes.XCC) Object

WithChainID implements Object.WithCrossChainChannel

func (*ConstantValueObject) XXX_DiscardUnknown

func (m *ConstantValueObject) XXX_DiscardUnknown()

func (*ConstantValueObject) XXX_Marshal

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

func (*ConstantValueObject) XXX_Merge

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

func (*ConstantValueObject) XXX_Size

func (m *ConstantValueObject) XXX_Size() int

func (*ConstantValueObject) XXX_Unmarshal

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

type ContractCallInfo

type ContractCallInfo []byte

type ContractCallResult

type ContractCallResult struct {
	Data   []byte         `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Events []types2.Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events"`
}

func (*ContractCallResult) Descriptor

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

func (*ContractCallResult) GetData

func (res *ContractCallResult) GetData() []byte

GetData returns Data

func (*ContractCallResult) GetEvents

func (res *ContractCallResult) GetEvents() sdk.Events

GetEvents converts Events to sdk.Events

func (*ContractCallResult) Marshal

func (m *ContractCallResult) Marshal() (dAtA []byte, err error)

func (*ContractCallResult) MarshalTo

func (m *ContractCallResult) MarshalTo(dAtA []byte) (int, error)

func (*ContractCallResult) MarshalToSizedBuffer

func (m *ContractCallResult) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ContractCallResult) ProtoMessage

func (*ContractCallResult) ProtoMessage()

func (*ContractCallResult) Reset

func (m *ContractCallResult) Reset()

func (*ContractCallResult) Size

func (m *ContractCallResult) Size() (n int)

func (*ContractCallResult) String

func (m *ContractCallResult) String() string

func (*ContractCallResult) Unmarshal

func (m *ContractCallResult) Unmarshal(dAtA []byte) error

func (*ContractCallResult) XXX_DiscardUnknown

func (m *ContractCallResult) XXX_DiscardUnknown()

func (*ContractCallResult) XXX_Marshal

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

func (*ContractCallResult) XXX_Merge

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

func (*ContractCallResult) XXX_Size

func (m *ContractCallResult) XXX_Size() int

func (*ContractCallResult) XXX_Unmarshal

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

type ContractManager

type ContractManager interface {
	PrepareCommit(
		ctx sdk.Context,
		txID TxID,
		txIndex TxIndex,
		tx ResolvedContractTransaction,
	) (*ContractCallResult, error)
	CommitImmediately(
		ctx sdk.Context,
		txID TxID,
		txIndex TxIndex,
		tx ResolvedContractTransaction,
	) (*ContractCallResult, error)
	Commit(
		ctx sdk.Context,
		txID TxID,
		txIndex TxIndex,
	) (*ContractCallResult, error)
	Abort(
		ctx sdk.Context,
		txID TxID,
		txIndex TxIndex,
	) error
}

type FakeResolver

type FakeResolver struct{}

FakeResolver is a resolver that always fails to resolve an object

func NewFakeResolver

func NewFakeResolver() FakeResolver

NewFakeResolver returns FakeResolver

func (FakeResolver) Resolve

func (FakeResolver) Resolve(xcc xcctypes.XCC, key []byte) (Object, error)

Resolve implements ObjectResolver.Resolve

type Object

type Object interface {
	proto.Message
	Type() ObjectType
	Key() []byte
	GetCrossChainChannel(m codec.Codec) xcctypes.XCC
	WithCrossChainChannel(m codec.Codec, xcc xcctypes.XCC) Object
	Evaluate([]byte) ([]byte, error)
}

Object wraps an actual value

func UnpackObjects

func UnpackObjects(m codec.Codec, objects []codectypes.Any) ([]Object, error)

type ObjectResolver

type ObjectResolver interface {
	Resolve(xcc xcctypes.XCC, key []byte) (Object, error)
}

ObjectResolver resolves a given key to Object

type ObjectResolverProvider

type ObjectResolverProvider func(m codec.Codec, libs []Object) (ObjectResolver, error)

ObjectResolverProvider is a provider of ObjectResolver

func DefaultResolverProvider

func DefaultResolverProvider() ObjectResolverProvider

DefaultResolverProvider returns a default implements of ObjectResolver

type ObjectType

type ObjectType = uint8

ObjectType is a type of Object

const (
	// ObjectTypeConstantValue is ObjectType indicates a constant value
	ObjectTypeConstantValue ObjectType = iota + 1
)

type ResolvedContractTransaction

type ResolvedContractTransaction struct {
	CrossChainChannel *types1.Any                                                    `protobuf:"bytes,1,opt,name=cross_chain_channel,json=crossChainChannel,proto3" json:"cross_chain_channel,omitempty"`
	Signers           []github_com_datachainlab_cross_x_core_account_types.AccountID `` /* 137-byte string literal not displayed */
	CallInfo          ContractCallInfo                                               `protobuf:"bytes,3,opt,name=call_info,json=callInfo,proto3,casttype=ContractCallInfo" json:"call_info,omitempty"`
	ReturnValue       *ReturnValue                                                   `protobuf:"bytes,4,opt,name=return_value,json=returnValue,proto3" json:"return_value,omitempty"`
	Objects           []types1.Any                                                   `protobuf:"bytes,5,rep,name=objects,proto3" json:"objects"`
}

func NewResolvedContractTransaction

func NewResolvedContractTransaction(anyXCC *codectypes.Any, signers []accounttypes.AccountID, callInfo ContractCallInfo, returnValue *ReturnValue, linkObjects []Object) ResolvedContractTransaction

func (*ResolvedContractTransaction) Descriptor

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

func (ResolvedContractTransaction) GetCrossChainChannel

func (tx ResolvedContractTransaction) GetCrossChainChannel(m codec.Codec) (xcctypes.XCC, error)

func (*ResolvedContractTransaction) Marshal

func (m *ResolvedContractTransaction) Marshal() (dAtA []byte, err error)

func (*ResolvedContractTransaction) MarshalTo

func (m *ResolvedContractTransaction) MarshalTo(dAtA []byte) (int, error)

func (*ResolvedContractTransaction) MarshalToSizedBuffer

func (m *ResolvedContractTransaction) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ResolvedContractTransaction) ProtoMessage

func (*ResolvedContractTransaction) ProtoMessage()

func (*ResolvedContractTransaction) Reset

func (m *ResolvedContractTransaction) Reset()

func (*ResolvedContractTransaction) Size

func (m *ResolvedContractTransaction) Size() (n int)

func (*ResolvedContractTransaction) String

func (m *ResolvedContractTransaction) String() string

func (*ResolvedContractTransaction) Unmarshal

func (m *ResolvedContractTransaction) Unmarshal(dAtA []byte) error

func (ResolvedContractTransaction) UnpackObjects

func (tx ResolvedContractTransaction) UnpackObjects(m codec.Codec) []Object

func (ResolvedContractTransaction) ValidateBasic

func (tx ResolvedContractTransaction) ValidateBasic() error

func (*ResolvedContractTransaction) XXX_DiscardUnknown

func (m *ResolvedContractTransaction) XXX_DiscardUnknown()

func (*ResolvedContractTransaction) XXX_Marshal

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

func (*ResolvedContractTransaction) XXX_Merge

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

func (*ResolvedContractTransaction) XXX_Size

func (m *ResolvedContractTransaction) XXX_Size() int

func (*ResolvedContractTransaction) XXX_Unmarshal

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

type ReturnValue

type ReturnValue struct {
	Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

func NewReturnValue

func NewReturnValue(v []byte) *ReturnValue

func (*ReturnValue) Descriptor

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

func (*ReturnValue) Equal

func (rv *ReturnValue) Equal(other *ReturnValue) bool

func (*ReturnValue) IsNil

func (rv *ReturnValue) IsNil() bool

func (*ReturnValue) Marshal

func (m *ReturnValue) Marshal() (dAtA []byte, err error)

func (*ReturnValue) MarshalTo

func (m *ReturnValue) MarshalTo(dAtA []byte) (int, error)

func (*ReturnValue) MarshalToSizedBuffer

func (m *ReturnValue) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ReturnValue) ProtoMessage

func (*ReturnValue) ProtoMessage()

func (*ReturnValue) Reset

func (m *ReturnValue) Reset()

func (*ReturnValue) Size

func (m *ReturnValue) Size() (n int)

func (*ReturnValue) String

func (m *ReturnValue) String() string

func (*ReturnValue) Unmarshal

func (m *ReturnValue) Unmarshal(dAtA []byte) error

func (*ReturnValue) XXX_DiscardUnknown

func (m *ReturnValue) XXX_DiscardUnknown()

func (*ReturnValue) XXX_Marshal

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

func (*ReturnValue) XXX_Merge

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

func (*ReturnValue) XXX_Size

func (m *ReturnValue) XXX_Size() int

func (*ReturnValue) XXX_Unmarshal

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

type SequentialResolver

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

SequentialResolver is a resolver that resolves an object in sequential

func NewSequentialResolver

func NewSequentialResolver(m codec.Codec, objects []Object) *SequentialResolver

NewSequentialResolver returns SequentialResolver

func (*SequentialResolver) Resolve

func (r *SequentialResolver) Resolve(xcc xcctypes.XCC, key []byte) (Object, error)

Resolve implements ObjectResolver.Resolve If success, resolver increments the internal sequence

type Tx

type Tx struct {
	Id                   TxID                          `protobuf:"bytes,1,opt,name=id,proto3,casttype=TxID" json:"id,omitempty"`
	CommitProtocol       CommitProtocol                `` /* 138-byte string literal not displayed */
	ContractTransactions []ResolvedContractTransaction `protobuf:"bytes,3,rep,name=contract_transactions,json=contractTransactions,proto3" json:"contract_transactions"`
	// Timeout height relative to the current block height.
	// The timeout is disabled when set to 0.
	TimeoutHeight types.Height `protobuf:"bytes,4,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height" yaml:"timeout_height"`
	// Timeout timestamp (in nanoseconds) relative to the current block timestamp.
	// The timeout is disabled when set to 0.
	TimeoutTimestamp uint64 `` /* 135-byte string literal not displayed */
}

func NewTx

func NewTx(id TxID, commitProtocol CommitProtocol, ctxs []ResolvedContractTransaction, timeoutHeight clienttypes.Height, timeoutTimestamp uint64) Tx

func (*Tx) Descriptor

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

func (*Tx) Marshal

func (m *Tx) Marshal() (dAtA []byte, err error)

func (*Tx) MarshalTo

func (m *Tx) MarshalTo(dAtA []byte) (int, error)

func (*Tx) MarshalToSizedBuffer

func (m *Tx) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Tx) ProtoMessage

func (*Tx) ProtoMessage()

func (*Tx) Reset

func (m *Tx) Reset()

func (*Tx) Size

func (m *Tx) Size() (n int)

func (*Tx) String

func (m *Tx) String() string

func (*Tx) Unmarshal

func (m *Tx) Unmarshal(dAtA []byte) error

func (Tx) ValidateBasic

func (tx Tx) ValidateBasic() error

func (*Tx) XXX_DiscardUnknown

func (m *Tx) XXX_DiscardUnknown()

func (*Tx) XXX_Marshal

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

func (*Tx) XXX_Merge

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

func (*Tx) XXX_Size

func (m *Tx) XXX_Size() int

func (*Tx) XXX_Unmarshal

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

type TxID

type TxID = []byte

TxID represents a ID of transaction. This value must be unique in a chain

type TxIndex

type TxIndex = uint32

TxIndex represents an index of an array of contract transactions

type TxRunner

type TxRunner interface {
	// RunTx executes a given transaction
	RunTx(ctx sdk.Context, tx Tx, ps packets.PacketSender) error
}

TxRunner defines the expected transaction runner

Jump to

Keyboard shortcuts

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