Documentation ¶
Index ¶
- Constants
- type ActionTagger
- type KeyTagger
- type Logging
- type Recovery
- type Savepoint
- func (s Savepoint) Check(ctx weave.Context, store weave.KVStore, tx weave.Tx, next weave.Checker) (*weave.CheckResult, error)
- func (s Savepoint) Deliver(ctx weave.Context, store weave.KVStore, tx weave.Tx, next weave.Deliverer) (*weave.DeliverResult, error)
- func (s Savepoint) OnCheck() Savepoint
- func (s Savepoint) OnDeliver() Savepoint
Constants ¶
const ActionKey = "action"
ActionKey is used by ActionTagger as the Key in the Tag it appends
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionTagger ¶ added in v0.18.0
type ActionTagger struct{}
ActionTagger will inspect the message being executed and add a tag `action = msg.Path()`. This should be applied as a decorator so clients have a standard way to search / subscribe to eg. proposal creation.
Note that for best results, this should be at the end of the ChainDecorators call, after Batch (so it is tagged with each submessage type). You will also want to wrap the governance router with this, so the result of a successful election will be tagged (and there won't be validators.ApplyDiffMsg being executed that do not show up in a search).
func NewActionTagger ¶ added in v0.18.0
func NewActionTagger() ActionTagger
NewActionTagger creates a ActionTagger decorator
type KeyTagger ¶ added in v0.2.1
type KeyTagger struct{}
KeyTagger is a decorate that records all Set/Delete operations performed by it's children and adds all those keys as DeliverTx tags.
Tags is the hex encoded key, value is "s" (for set) or "d" (for delete)
Desired behavior, impossible as tendermint will collapse multiple tags with same key:
Tags are added as Key=<bucket name>, Value=<hex of remainder>, like Key=cash, Value=00CAFE00
func NewKeyTagger ¶ added in v0.2.1
func NewKeyTagger() KeyTagger
NewKeyTagger creates a KeyTagger decorator
type Logging ¶
type Logging struct{}
Logging is a decorator to log messages as they pass through
type Recovery ¶
type Recovery struct{}
Recovery is a decorator to recover from panics in transactions, so we can log them as errors
type Savepoint ¶
type Savepoint struct {
// contains filtered or unexported fields
}
Savepoint will isolate all data inside of the call, and commit/rollback to savepoint based on if error
func NewSavepoint ¶
func NewSavepoint() Savepoint
NewSavepoint creates a Savepoint decorator, but you must call OnCheck/OnDeliver so it will be triggered
func (Savepoint) Check ¶
func (s Savepoint) Check(ctx weave.Context, store weave.KVStore, tx weave.Tx, next weave.Checker) (*weave.CheckResult, error)
Check will optionally set a checkpoint
func (Savepoint) Deliver ¶
func (s Savepoint) Deliver(ctx weave.Context, store weave.KVStore, tx weave.Tx, next weave.Deliverer) (*weave.DeliverResult, error)
Deliver will optionally set a checkpoint