Documentation
¶
Index ¶
- Constants
- Variables
- func ClientIdentifierValidator(id string) error
- func ClientStateKey() []byte
- func ConsensusStateKey(height exported.Height) (key []byte)
- func ConsensusStatePath(height exported.Height) string
- func DestChainValidator(id string) error
- func FullClientKey(chainName string, path []byte) []byte
- func FullClientPath(chainName string, path string) string
- func FullClientStateKey(chainName string) []byte
- func FullConsensusStateKey(chainName string, height exported.Height) (key []byte)
- func MaxAckSeqKey(sourceChain, destinationChain string) []byte
- func MaxAckSeqPath(sourceChain, destinationChain string) string
- func NextSequenceSendKey(sourceChain, destChain string) []byte
- func NextSequenceSendPath(sourceChain, destChain string) string
- func PacketAcknowledgementKey(sourceChain, destinationChain string, sequence uint64) []byte
- func PacketAcknowledgementPath(sourceChain, destinationChain string, sequence uint64) string
- func PacketAcknowledgementPrefixPath(sourceChain, destinationChain string) string
- func PacketCommitmentKey(sourceChain, destinationChain string, sequence uint64) []byte
- func PacketCommitmentPath(sourceChain, destinationChain string, sequence uint64) string
- func PacketCommitmentPrefixPath(sourceChain, destinationChain string) string
- func PacketReceiptKey(sourceChain, destinationChain string, sequence uint64) []byte
- func PacketReceiptPath(sourceChain, destinationChain string, sequence uint64) string
- func PacketReceiptPrefixPath(sourceChain, destinationChain string) string
- func ParseIdentifier(identifier, prefix string) (uint64, error)
- func ParsePath(path string) (string, string, error)
- func SourceChainValidator(id string) error
- type ValidateFn
Constants ¶
const ( // ModuleName is the name of the XIBC module ModuleName = "xibc" // StoreKey is the string store representation StoreKey string = ModuleName // QuerierRoute is the querier route for the XIBC module QuerierRoute string = ModuleName )
const ( KeyClientState = "clientState" KeyConsensusStatePrefix = "consensusStates" KeySequencePrefix = "sequences" KeyNextSeqSendPrefix = "nextSequenceSend" KeyNextSeqRecvPrefix = "nextSequenceRecv" KeyNextSeqAckPrefix = "nextSequenceAck" KeyPacketCommitmentPrefix = "commitments" KeyPacketAckPrefix = "acks" KeyPacketReceiptPrefix = "receipts" )
KVStore key prefixes for XIBC
const DefaultMaxCharacterLength = 64
const DefaultMinChainIDLength = 3
const DefaultMinClientIDLength = 3
const SubModuleName = "host"
Variables ¶
var ( ErrInvalidID = sdkerrors.Register(moduleName, 2, "invalid identifier") ErrInvalidPath = sdkerrors.Register(moduleName, 3, "invalid path") )
XIBC host sentinel errors
var IsValidID = regexp.MustCompile(`^[a-zA-Z0-9\.\_\+\-\#\[\]\<\>]+$`).MatchString
IsValidID defines regular expression to check if the string consist of characters in one of the following categories only: - Alphanumeric - `.`, `_`, `+`, `-`, `#` - `[`, `]`, `<`, `>`
var IsValidRule = regexp.MustCompile(`^(([a-zA-Z0-9\.\_\+\-\#\[\]\<\>]{1,64}|[*]),){2}([a-zA-Z0-9\.\_\+\-\#\[\]\<\>]{1,64}|[*])$`).MatchString
var (
KeyClientStorePrefix = []byte("clients")
)
KVStore key prefixes for XIBC
Functions ¶
func ClientIdentifierValidator ¶
ClientIdentifierValidator is the default validator function for Client identifiers.
func ClientStateKey ¶
func ClientStateKey() []byte
ClientStateKey returns a store key under which a particular client state is stored in a client prefixed store
func ConsensusStateKey ¶
ConsensusStateKey returns the store key for a the consensus state of a particular client stored in a client prefixed store.
func ConsensusStatePath ¶
ConsensusStatePath returns the suffix store key for the consensus state at a particular height stored in a client prefixed store.
func DestChainValidator ¶
DestChainValidator is the default validator function for Chain identifiers.
func FullClientKey ¶
FullClientKey returns the full path of specific client path in the format: "clients/{chainName}/{path}" as a byte array
func FullClientPath ¶
FullClientPath returns the full path of a specific client path in the format: "clients/{chainName}/{path}" as a string
func FullClientStateKey ¶
FullClientStateKey takes a client identifier and returns a Key under which to store a particular client state
func FullConsensusStateKey ¶
FullConsensusStateKey returns the store key for the consensus state of a particular client
func MaxAckSeqKey ¶
MaxAckHeightKey returns the store key of current max ack height is stored
func MaxAckSeqPath ¶
MaxAckHeightPath defines the path of current max ack height
func NextSequenceSendKey ¶
NextSequenceSendKey returns the store key for the send sequence
func NextSequenceSendPath ¶
NextSequenceSendPath defines the next send sequence counter store path
func PacketAcknowledgementKey ¶
PacketAcknowledgementKey returns the store key of under which a packet acknowledgement is stored
func PacketAcknowledgementPath ¶
PacketAcknowledgementPath defines the packet acknowledgement store path
func PacketAcknowledgementPrefixPath ¶
PacketAcknowledgementPrefixPath defines the prefix for commitments to packet data fields store path
func PacketCommitmentKey ¶
PacketCommitmentKey returns the store key of under which a packet commitment is stored
func PacketCommitmentPath ¶
PacketCommitmentPath defines the commitments to packet data fields store path
func PacketCommitmentPrefixPath ¶
PacketCommitmentPrefixPath defines the prefix for commitments to packet data fields store path
func PacketReceiptKey ¶
PacketReceiptKey returns the store key of under which a packet receipt is stored
func PacketReceiptPath ¶
PacketReceiptPath defines the packet receipt store path
func PacketReceiptPrefixPath ¶
PacketReceiptKey returns the store key of under which a packet receipt is stored
func ParseIdentifier ¶
ParseIdentifier parses the sequence from the identifier using the provided prefix. This function does not need to be used by counterparty chains.
func SourceChainValidator ¶
SourceChainValidator is the default validator function for SourceChain name.
Types ¶
type ValidateFn ¶
ValidateFn function type to validate path and identifier bytestrings
func NewPathValidator ¶
func NewPathValidator(idValidator ValidateFn) ValidateFn
NewPathValidator takes in a Identifier Validator function and returns a Path Validator function which requires path to consist of `/`-separated valid identifiers, where a valid identifier is between 1-64 characters, contains only alphanumeric and some allowed special characters (see IsValidID), and satisfies the custom `idValidator` function.