utils

package
v0.29.6 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddressSliceToCadenceValue

func AddressSliceToCadenceValue(addresses []common.Address) cadence.Value

func CadenceValueToAddressSlice

func CadenceValueToAddressSlice(value cadence.Value) (addresses []common.Address, ok bool)

func CadenceValueToWeights

func CadenceValueToWeights(value cadence.Value) (map[uint]uint64, bool)

CadenceValueToWeights converts a cadence value to a map of weights used for metering

func FlowAddressSliceToCadenceAddressSlice

func FlowAddressSliceToCadenceAddressSlice(addresses []flow.Address) []common.Address

Types

type MapLedger

type MapLedger struct {
	sync.RWMutex
	Registers       map[flow.RegisterID]flow.RegisterValue
	RegisterTouches map[flow.RegisterID]struct{}
	RegisterUpdated map[flow.RegisterID]struct{}
}

A MapLedger is a naive ledger storage implementation backed by a simple map.

This implementation is designed for testing and migration purposes.

func NewMapLedger

func NewMapLedger() *MapLedger

NewMapLedger returns an instance of map ledger (should only be used for testing and migration)

func NewMapLedgerFromPayloads

func NewMapLedgerFromPayloads(payloads []ledger.Payload) *MapLedger

NewMapLedger returns an instance of map ledger with entries loaded from payloads (should only be used for testing and migration)

func (*MapLedger) Delete

func (m *MapLedger) Delete(owner, key string) error

func (*MapLedger) Get

func (m *MapLedger) Get(owner, key string) (flow.RegisterValue, error)

func (*MapLedger) Payloads

func (m *MapLedger) Payloads() []ledger.Payload

func (*MapLedger) Set

func (m *MapLedger) Set(owner, key string, value flow.RegisterValue) error

func (*MapLedger) Touch

func (m *MapLedger) Touch(owner, key string) error

type SimpleView

type SimpleView struct {
	Parent *SimpleView
	Ledger *MapLedger
}

SimpleView provides a simple view for testing and migration purposes.

func NewSimpleView

func NewSimpleView() *SimpleView

func NewSimpleViewFromPayloads

func NewSimpleViewFromPayloads(payloads []ledger.Payload) *SimpleView

func (*SimpleView) AllRegisters

func (v *SimpleView) AllRegisters() []flow.RegisterID

returns all the registers that has been touched

func (*SimpleView) Delete

func (v *SimpleView) Delete(owner, key string) error

func (*SimpleView) DropDelta

func (v *SimpleView) DropDelta()

func (*SimpleView) Get

func (v *SimpleView) Get(owner, key string) (flow.RegisterValue, error)

func (*SimpleView) MergeView

func (v *SimpleView) MergeView(o state.View) error

func (*SimpleView) NewChild

func (v *SimpleView) NewChild() state.View

func (*SimpleView) Payloads

func (v *SimpleView) Payloads() []ledger.Payload

func (*SimpleView) RegisterUpdates

func (v *SimpleView) RegisterUpdates() ([]flow.RegisterID, []flow.RegisterValue)

func (*SimpleView) Set

func (v *SimpleView) Set(owner, key string, value flow.RegisterValue) error

func (*SimpleView) Touch

func (v *SimpleView) Touch(owner, key string) error

Jump to

Keyboard shortcuts

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