types

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2021 License: Apache-2.0 Imports: 17 Imported by: 13

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 PackCallResults added in v0.2.1

func PackCallResults(results []CallResult) ([]codectypes.Any, error)

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces register the ibc transfer module interfaces to protobuf Any.

Types

type CallResolver added in v0.2.1

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

CallResolver resolves a given key to CallResult

type CallResolverProvider added in v0.2.1

type CallResolverProvider func(m codec.Codec, results []CallResult) (CallResolver, error)

CallResolverProvider is a provider of CallResultResolver

func DefaultCallResolverProvider added in v0.2.1

func DefaultCallResolverProvider() CallResolverProvider

DefaultCallResolverProvider returns a default implements of CallResolverProvider

type CallResult added in v0.2.1

type CallResult interface {
	proto.Message
	Type() CallResultType
	Key() []byte
	Value() []byte
	GetCrossChainChannel(m codec.Codec) xcctypes.XCC
	WithCrossChainChannel(m codec.Codec, xcc xcctypes.XCC) CallResult
}

CallResult wraps an actual value

func UnpackCallResults added in v0.2.1

func UnpackCallResults(m codec.Codec, anyCallResults []codectypes.Any) ([]CallResult, error)

type CallResultType added in v0.2.1

type CallResultType = uint8

CallResultType is a type of CallResult

const (
	// ConstantValueCallResultType indicates a type of constant value
	ConstantValueCallResultType CallResultType = iota + 1
)

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 ConstantValueCallResult added in v0.2.1

type ConstantValueCallResult 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"`
}

ConstantValueCallResult is a CallResult wraps a constant value

func NewConstantValueCallResult added in v0.2.1

func NewConstantValueCallResult(xcc xcctypes.XCC, key []byte, value []byte) ConstantValueCallResult

NewConstantValueCallResult returns ConstantValueObject

func (*ConstantValueCallResult) Descriptor added in v0.2.1

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

func (ConstantValueCallResult) GetCrossChainChannel added in v0.2.1

func (r ConstantValueCallResult) GetCrossChainChannel(m codec.Codec) xcctypes.XCC

GetCrossChainChannel implements CallResult.GetCrossChainChannel

func (ConstantValueCallResult) Key added in v0.2.1

func (r ConstantValueCallResult) Key() []byte

Key implements CallResult.Key

func (*ConstantValueCallResult) Marshal added in v0.2.1

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

func (*ConstantValueCallResult) MarshalTo added in v0.2.1

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

func (*ConstantValueCallResult) MarshalToSizedBuffer added in v0.2.1

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

func (*ConstantValueCallResult) ProtoMessage added in v0.2.1

func (*ConstantValueCallResult) ProtoMessage()

func (*ConstantValueCallResult) Reset added in v0.2.1

func (m *ConstantValueCallResult) Reset()

func (*ConstantValueCallResult) Size added in v0.2.1

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

func (*ConstantValueCallResult) String added in v0.2.1

func (m *ConstantValueCallResult) String() string

func (ConstantValueCallResult) Type added in v0.2.1

Type implements CallResult.Type

func (*ConstantValueCallResult) Unmarshal added in v0.2.1

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

func (ConstantValueCallResult) Value added in v0.2.1

func (r ConstantValueCallResult) Value() []byte

Evaluate returns a constant value

func (ConstantValueCallResult) WithCrossChainChannel added in v0.2.1

func (r ConstantValueCallResult) WithCrossChainChannel(m codec.Codec, xcc xcctypes.XCC) CallResult

WithChainID implements CallResult.WithCrossChainChannel

func (*ConstantValueCallResult) XXX_DiscardUnknown added in v0.2.1

func (m *ConstantValueCallResult) XXX_DiscardUnknown()

func (*ConstantValueCallResult) XXX_Marshal added in v0.2.1

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

func (*ConstantValueCallResult) XXX_Merge added in v0.2.1

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

func (*ConstantValueCallResult) XXX_Size added in v0.2.1

func (m *ConstantValueCallResult) XXX_Size() int

func (*ConstantValueCallResult) XXX_Unmarshal added in v0.2.1

func (m *ConstantValueCallResult) 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 []types3.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 crosstypes.TxID,
		txIndex crosstypes.TxIndex,
		tx ResolvedContractTransaction,
	) (*ContractCallResult, error)
	CommitImmediately(
		ctx sdk.Context,
		txID crosstypes.TxID,
		txIndex crosstypes.TxIndex,
		tx ResolvedContractTransaction,
	) (*ContractCallResult, error)
	Commit(
		ctx sdk.Context,
		txID crosstypes.TxID,
		txIndex crosstypes.TxIndex,
	) (*ContractCallResult, error)
	Abort(
		ctx sdk.Context,
		txID crosstypes.TxID,
		txIndex crosstypes.TxIndex,
	) error
}

type FakeResolver

type FakeResolver struct{}

FakeResolver is a resolver that always fails to resolve an result

func NewFakeResolver

func NewFakeResolver() FakeResolver

NewFakeResolver returns FakeResolver

func (FakeResolver) Resolve

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

Resolve implements CallResolver.Resolve

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           []types2.Account `protobuf:"bytes,2,rep,name=signers,proto3" json:"signers"`
	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"`
	CallResults       []types1.Any     `protobuf:"bytes,5,rep,name=call_results,json=callResults,proto3" json:"call_results"`
}

func NewResolvedContractTransaction

func NewResolvedContractTransaction(anyXCC *codectypes.Any, signers []authtypes.Account, callInfo ContractCallInfo, returnValue *ReturnValue, results []CallResult) 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) UnpackCallResults added in v0.2.1

func (tx ResolvedContractTransaction) UnpackCallResults(m codec.Codec) []CallResult

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 a CallResult in sequential

func NewSequentialResolver

func NewSequentialResolver(m codec.Codec, results []CallResult) *SequentialResolver

NewSequentialResolver returns SequentialResolver

func (*SequentialResolver) Resolve

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

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

type Tx

type Tx struct {
	Id                   github_com_datachainlab_cross_x_core_types.TxID `protobuf:"bytes,1,opt,name=id,proto3,casttype=github.com/datachainlab/cross/x/core/types.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 crosstypes.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 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