app

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2019 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Overview

Package app links together all the various components to construct the bnsd app.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthCodec = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowCodec   = fmt.Errorf("proto: integer overflow")
)

Functions

func Application

func Application(name string, h weave.Handler,
	tx weave.TxDecoder, dbPath string, options *server.Options) (app.BaseApp, error)

Application constructs a basic ABCI application with the given arguments. If you are not sure what to use for the Handler, just use Stack().

func Authenticator

func Authenticator() x.Authenticator

Authenticator returns the typical authentication, just using public key signatures

func Chain

func Chain(authFn x.Authenticator, minFee coin.Coin) app.Decorators

Chain returns a chain of decorators, to handle authentication, fees, logging, and recovery

func CommitKVStore

func CommitKVStore(dbPath string) (weave.CommitKVStore, error)

CommitKVStore returns an initialized KVStore that persists the data to the named path.

func DecorateApp added in v0.11.2

func DecorateApp(application app.BaseApp, logger log.Logger) app.BaseApp

DecorateApp adds initializers and Logger to an Application

func Examples

func Examples() []commands.Example

Examples generates some example structs to dump out with testgen

func GenInitOptions

func GenInitOptions(args []string) (json.RawMessage, error)

GenInitOptions will produce some basic options for one rich account, to use for dev mode

You can set

func GenerateApp

func GenerateApp(options *server.Options) (abci.Application, error)

GenerateApp is used to create a stub for server/start.go command

func GenerateCoinKey

func GenerateCoinKey() (weave.Address, string, error)

GenerateCoinKey returns the address of a public key, along with a json representation of the keys. You can give coins to this address and import the keys in the js client to use them

func InlineApp added in v0.11.2

func InlineApp(kv weave.CommitKVStore, logger log.Logger, debug bool) abci.Application

InlineApp will take a previously prepared CommitStore and return a complete Application

func QueryRouter

func QueryRouter(minFee coin.Coin) weave.QueryRouter

QueryRouter returns a default query router, allowing access to "/wallets", "/auth", "/", "/escrows", "/nft/usernames", "/nft/blockchains", "/nft/tickers", "/validators"

func RegisterNft

func RegisterNft()

Register nft types and actions for shared action handling via base handler

func Router

func Router(authFn x.Authenticator, issuer weave.Address, nftBuckets map[string]orm.Bucket) app.Router

Router returns a default router, only dispatching to the cash.SendMsg

func Stack

func Stack(issuer weave.Address, nftBuckets map[string]orm.Bucket, minFee coin.Coin) weave.Handler

Stack wires up a standard router with a standard decorator chain. This can be passed into BaseApp.

func TxDecoder

func TxDecoder(bz []byte) (weave.Tx, error)

TxDecoder creates a Tx and unmarshals bytes into it

Types

type Tx

type Tx struct {
	Fees       *cash.FeeInfo        `protobuf:"bytes,1,opt,name=fees,proto3" json:"fees,omitempty"`
	Signatures []*sigs.StdSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"`
	// Preimage for hashlock.
	Preimage []byte `protobuf:"bytes,3,opt,name=preimage,proto3" json:"preimage,omitempty"`
	// ID of a multisig contract.
	Multisig [][]byte `protobuf:"bytes,4,rep,name=multisig,proto3" json:"multisig,omitempty"`
	// msg is a sum type over all allowed messages on this chain.
	//
	// Types that are valid to be assigned to Sum:
	//	*Tx_SendMsg
	//	*Tx_CreateEscrowMsg
	//	*Tx_ReleaseEscrowMsg
	//	*Tx_ReturnEscrowMsg
	//	*Tx_UpdateEscrowMsg
	//	*Tx_CreateContractMsg
	//	*Tx_UpdateContractMsg
	//	*Tx_SetValidatorsMsg
	//	*Tx_NewTokenInfoMsg
	//	*Tx_AddApprovalMsg
	//	*Tx_RemoveApprovalMsg
	//	*Tx_IssueUsernameNftMsg
	//	*Tx_AddUsernameAddressNftMsg
	//	*Tx_RemoveUsernameAddressMsg
	//	*Tx_NewRevenueMsg
	//	*Tx_DistributeMsg
	//	*Tx_ResetRevenueMsg
	Sum isTx_Sum `protobuf_oneof:"sum"`
}

Tx contains the message.

When extending Tx, follow the rules:

  • range 1-50 is reserved for middlewares,
  • range 51-inf is reserved for different message types,
  • keep the same numbers for the same message types in both bcpd and bnsd applications. For example, FeeInfo field is used by both and indexed at first position. Skip unused fields (leave index unused or comment out for clarity).

func (*Tx) Descriptor

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

func (*Tx) Fee added in v0.13.0

func (tx *Tx) Fee(payer weave.Address, fee coin.Coin)

Fee sets the FeeInfo for this tx

func (*Tx) GetAddApprovalMsg

func (m *Tx) GetAddApprovalMsg() *nft.AddApprovalMsg

func (*Tx) GetAddUsernameAddressNftMsg

func (m *Tx) GetAddUsernameAddressNftMsg() *username.AddChainAddressMsg

func (*Tx) GetCreateContractMsg

func (m *Tx) GetCreateContractMsg() *multisig.CreateContractMsg

func (*Tx) GetCreateEscrowMsg

func (m *Tx) GetCreateEscrowMsg() *escrow.CreateEscrowMsg

func (*Tx) GetDistributeMsg added in v0.12.0

func (m *Tx) GetDistributeMsg() *distribution.DistributeMsg

func (*Tx) GetFees

func (m *Tx) GetFees() *cash.FeeInfo

func (*Tx) GetIssueUsernameNftMsg

func (m *Tx) GetIssueUsernameNftMsg() *username.IssueTokenMsg

func (*Tx) GetMsg

func (tx *Tx) GetMsg() (weave.Msg, error)

GetMsg switches over all types defined in the protobuf file

func (*Tx) GetMultisig

func (m *Tx) GetMultisig() [][]byte

func (*Tx) GetNewRevenueMsg added in v0.12.0

func (m *Tx) GetNewRevenueMsg() *distribution.NewRevenueMsg

func (*Tx) GetNewTokenInfoMsg added in v0.10.0

func (m *Tx) GetNewTokenInfoMsg() *currency.NewTokenInfoMsg

func (*Tx) GetPreimage

func (m *Tx) GetPreimage() []byte

func (*Tx) GetReleaseEscrowMsg

func (m *Tx) GetReleaseEscrowMsg() *escrow.ReleaseEscrowMsg

func (*Tx) GetRemoveApprovalMsg

func (m *Tx) GetRemoveApprovalMsg() *nft.RemoveApprovalMsg

func (*Tx) GetRemoveUsernameAddressMsg

func (m *Tx) GetRemoveUsernameAddressMsg() *username.RemoveChainAddressMsg

func (*Tx) GetResetRevenueMsg added in v0.12.0

func (m *Tx) GetResetRevenueMsg() *distribution.ResetRevenueMsg

func (*Tx) GetReturnEscrowMsg

func (m *Tx) GetReturnEscrowMsg() *escrow.ReturnEscrowMsg

func (*Tx) GetSendMsg

func (m *Tx) GetSendMsg() *cash.SendMsg

func (*Tx) GetSetValidatorsMsg

func (m *Tx) GetSetValidatorsMsg() *validators.SetValidatorsMsg

func (*Tx) GetSignBytes

func (tx *Tx) GetSignBytes() ([]byte, error)

GetSignBytes returns the bytes to sign...

func (*Tx) GetSignatures

func (m *Tx) GetSignatures() []*sigs.StdSignature

func (*Tx) GetSum

func (m *Tx) GetSum() isTx_Sum

func (*Tx) GetUpdateContractMsg

func (m *Tx) GetUpdateContractMsg() *multisig.UpdateContractMsg

func (*Tx) GetUpdateEscrowMsg

func (m *Tx) GetUpdateEscrowMsg() *escrow.UpdateEscrowPartiesMsg

func (*Tx) Marshal

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

func (*Tx) MarshalTo

func (m *Tx) MarshalTo(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) XXX_DiscardUnknown added in v0.12.0

func (m *Tx) XXX_DiscardUnknown()

func (*Tx) XXX_Marshal added in v0.12.0

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

func (*Tx) XXX_Merge added in v0.12.0

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

func (*Tx) XXX_OneofFuncs

func (*Tx) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Tx) XXX_Size added in v0.12.0

func (m *Tx) XXX_Size() int

func (*Tx) XXX_Unmarshal added in v0.12.0

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

type Tx_AddApprovalMsg

type Tx_AddApprovalMsg struct {
	AddApprovalMsg *nft.AddApprovalMsg `protobuf:"bytes,61,opt,name=add_approval_msg,json=addApprovalMsg,proto3,oneof"`
}

func (*Tx_AddApprovalMsg) MarshalTo

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

func (*Tx_AddApprovalMsg) Size

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

type Tx_AddUsernameAddressNftMsg

type Tx_AddUsernameAddressNftMsg struct {
	AddUsernameAddressNftMsg *username.AddChainAddressMsg `protobuf:"bytes,64,opt,name=add_username_address_nft_msg,json=addUsernameAddressNftMsg,proto3,oneof"`
}

func (*Tx_AddUsernameAddressNftMsg) MarshalTo

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

func (*Tx_AddUsernameAddressNftMsg) Size

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

type Tx_CreateContractMsg

type Tx_CreateContractMsg struct {
	CreateContractMsg *multisig.CreateContractMsg `protobuf:"bytes,56,opt,name=create_contract_msg,json=createContractMsg,proto3,oneof"`
}

func (*Tx_CreateContractMsg) MarshalTo

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

func (*Tx_CreateContractMsg) Size

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

type Tx_CreateEscrowMsg

type Tx_CreateEscrowMsg struct {
	CreateEscrowMsg *escrow.CreateEscrowMsg `protobuf:"bytes,52,opt,name=create_escrow_msg,json=createEscrowMsg,proto3,oneof"`
}

func (*Tx_CreateEscrowMsg) MarshalTo

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

func (*Tx_CreateEscrowMsg) Size

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

type Tx_DistributeMsg added in v0.12.0

type Tx_DistributeMsg struct {
	DistributeMsg *distribution.DistributeMsg `protobuf:"bytes,67,opt,name=distribute_msg,json=distributeMsg,proto3,oneof"`
}

func (*Tx_DistributeMsg) MarshalTo added in v0.12.0

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

func (*Tx_DistributeMsg) Size added in v0.12.0

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

type Tx_IssueUsernameNftMsg

type Tx_IssueUsernameNftMsg struct {
	IssueUsernameNftMsg *username.IssueTokenMsg `protobuf:"bytes,63,opt,name=issue_username_nft_msg,json=issueUsernameNftMsg,proto3,oneof"`
}

func (*Tx_IssueUsernameNftMsg) MarshalTo

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

func (*Tx_IssueUsernameNftMsg) Size

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

type Tx_NewRevenueMsg added in v0.12.0

type Tx_NewRevenueMsg struct {
	NewRevenueMsg *distribution.NewRevenueMsg `protobuf:"bytes,66,opt,name=new_revenue_msg,json=newRevenueMsg,proto3,oneof"`
}

func (*Tx_NewRevenueMsg) MarshalTo added in v0.12.0

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

func (*Tx_NewRevenueMsg) Size added in v0.12.0

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

type Tx_NewTokenInfoMsg added in v0.10.0

type Tx_NewTokenInfoMsg struct {
	NewTokenInfoMsg *currency.NewTokenInfoMsg `protobuf:"bytes,59,opt,name=new_token_info_msg,json=newTokenInfoMsg,proto3,oneof"`
}

func (*Tx_NewTokenInfoMsg) MarshalTo added in v0.10.0

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

func (*Tx_NewTokenInfoMsg) Size added in v0.10.0

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

type Tx_ReleaseEscrowMsg

type Tx_ReleaseEscrowMsg struct {
	ReleaseEscrowMsg *escrow.ReleaseEscrowMsg `protobuf:"bytes,53,opt,name=release_escrow_msg,json=releaseEscrowMsg,proto3,oneof"`
}

func (*Tx_ReleaseEscrowMsg) MarshalTo

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

func (*Tx_ReleaseEscrowMsg) Size

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

type Tx_RemoveApprovalMsg

type Tx_RemoveApprovalMsg struct {
	RemoveApprovalMsg *nft.RemoveApprovalMsg `protobuf:"bytes,62,opt,name=remove_approval_msg,json=removeApprovalMsg,proto3,oneof"`
}

func (*Tx_RemoveApprovalMsg) MarshalTo

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

func (*Tx_RemoveApprovalMsg) Size

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

type Tx_RemoveUsernameAddressMsg

type Tx_RemoveUsernameAddressMsg struct {
	RemoveUsernameAddressMsg *username.RemoveChainAddressMsg `protobuf:"bytes,65,opt,name=remove_username_address_msg,json=removeUsernameAddressMsg,proto3,oneof"`
}

func (*Tx_RemoveUsernameAddressMsg) MarshalTo

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

func (*Tx_RemoveUsernameAddressMsg) Size

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

type Tx_ResetRevenueMsg added in v0.12.0

type Tx_ResetRevenueMsg struct {
	ResetRevenueMsg *distribution.ResetRevenueMsg `protobuf:"bytes,68,opt,name=reset_revenue_msg,json=resetRevenueMsg,proto3,oneof"`
}

func (*Tx_ResetRevenueMsg) MarshalTo added in v0.12.0

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

func (*Tx_ResetRevenueMsg) Size added in v0.12.0

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

type Tx_ReturnEscrowMsg

type Tx_ReturnEscrowMsg struct {
	ReturnEscrowMsg *escrow.ReturnEscrowMsg `protobuf:"bytes,54,opt,name=return_escrow_msg,json=returnEscrowMsg,proto3,oneof"`
}

func (*Tx_ReturnEscrowMsg) MarshalTo

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

func (*Tx_ReturnEscrowMsg) Size

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

type Tx_SendMsg

type Tx_SendMsg struct {
	SendMsg *cash.SendMsg `protobuf:"bytes,51,opt,name=send_msg,json=sendMsg,proto3,oneof"`
}

func (*Tx_SendMsg) MarshalTo

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

func (*Tx_SendMsg) Size

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

type Tx_SetValidatorsMsg

type Tx_SetValidatorsMsg struct {
	SetValidatorsMsg *validators.SetValidatorsMsg `protobuf:"bytes,58,opt,name=set_validators_msg,json=setValidatorsMsg,proto3,oneof"`
}

func (*Tx_SetValidatorsMsg) MarshalTo

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

func (*Tx_SetValidatorsMsg) Size

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

type Tx_UpdateContractMsg

type Tx_UpdateContractMsg struct {
	UpdateContractMsg *multisig.UpdateContractMsg `protobuf:"bytes,57,opt,name=update_contract_msg,json=updateContractMsg,proto3,oneof"`
}

func (*Tx_UpdateContractMsg) MarshalTo

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

func (*Tx_UpdateContractMsg) Size

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

type Tx_UpdateEscrowMsg

type Tx_UpdateEscrowMsg struct {
	UpdateEscrowMsg *escrow.UpdateEscrowPartiesMsg `protobuf:"bytes,55,opt,name=update_escrow_msg,json=updateEscrowMsg,proto3,oneof"`
}

func (*Tx_UpdateEscrowMsg) MarshalTo

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

func (*Tx_UpdateEscrowMsg) Size

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

Jump to

Keyboard shortcuts

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