Documentation ¶
Index ¶
- func IntKey(k int64) intKey
- func ParseIntKey(k string) (int64, error)
- func ParseUIntKey(k string) (uint64, error)
- func UIntKey(k uint64) uintKey
- type AddrKey
- type Array
- func (a *Array) AppendContinuous(value runtime.CBORMarshaler) error
- func (a *Array) BatchDelete(ix []uint64) error
- func (a *Array) Delete(i uint64) error
- func (a *Array) ForEach(out runtime.CBORUnmarshaler, fn func(i int64) error) error
- func (a *Array) Get(k uint64, out runtime.CBORUnmarshaler) (bool, error)
- func (a *Array) Length() uint64
- func (a *Array) Root() (cid.Cid, error)
- func (a *Array) Set(i uint64, value runtime.CBORMarshaler) error
- type BalanceTable
- func (t *BalanceTable) Add(key addr.Address, value abi.TokenAmount) error
- func (t *BalanceTable) AddCreate(key addr.Address, value abi.TokenAmount) error
- func (t *BalanceTable) Get(key addr.Address) (abi.TokenAmount, error)
- func (t *BalanceTable) Has(key addr.Address) (bool, error)
- func (t *BalanceTable) MustSubtract(key addr.Address, req abi.TokenAmount) error
- func (t *BalanceTable) Remove(key addr.Address) (abi.TokenAmount, error)
- func (t *BalanceTable) Root() (cid.Cid, error)
- func (t *BalanceTable) Set(key addr.Address, value abi.TokenAmount) error
- func (t *BalanceTable) SubtractWithMinimum(key addr.Address, req abi.TokenAmount, floor abi.TokenAmount) (abi.TokenAmount, error)
- func (t *BalanceTable) Total() (abi.TokenAmount, error)
- type EmptyValue
- type ErrNotFound
- type Keyer
- type Map
- func (m *Map) CollectKeys() (out []string, err error)
- func (m *Map) Delete(k Keyer) error
- func (m *Map) ForEach(out runtime.CBORUnmarshaler, fn func(key string) error) error
- func (m *Map) Get(k Keyer, out runtime.CBORUnmarshaler) (bool, error)
- func (m *Map) Put(k Keyer, v runtime.CBORMarshaler) error
- func (m *Map) Root() (cid.Cid, error)
- type Multimap
- func (mm *Multimap) Add(key Keyer, value runtime.CBORMarshaler) error
- func (mm *Multimap) ForEach(key Keyer, out runtime.CBORUnmarshaler, fn func(i int64) error) error
- func (mm *Multimap) Get(key Keyer) (*Array, bool, error)
- func (mm *Multimap) RemoveAll(key Keyer) error
- func (mm *Multimap) Root() (cid.Cid, error)
- type Set
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseUIntKey ¶
Types ¶
type Array ¶
type Array struct {
// contains filtered or unexported fields
}
Array stores a sparse sequence of values in an AMT.
func MakeEmptyArray ¶
Creates a new map backed by an empty HAMT and flushes it to the store.
func (*Array) AppendContinuous ¶
func (a *Array) AppendContinuous(value runtime.CBORMarshaler) error
Appends a value to the end of the array. Assumes continuous array. If the array isn't continuous use Set and a separate counter
func (*Array) BatchDelete ¶
func (*Array) ForEach ¶
Iterates all entries in the array, deserializing each value in turn into `out` and then calling a function. Iteration halts if the function returns an error. If the output parameter is nil, deserialization is skipped.
func (*Array) Get ¶
Get retrieves array element into the 'out' unmarshaler, returning a boolean
indicating whether the element was found in the array
type BalanceTable ¶
type BalanceTable Map
A specialization of a map of addresses to token amounts.
func AsBalanceTable ¶
func AsBalanceTable(s Store, r cid.Cid) (*BalanceTable, error)
Interprets a store as balance table with root `r`.
func (*BalanceTable) Add ¶
func (t *BalanceTable) Add(key addr.Address, value abi.TokenAmount) error
Adds an amount to a balance. The entry must have been previously initialized.
func (*BalanceTable) AddCreate ¶
func (t *BalanceTable) AddCreate(key addr.Address, value abi.TokenAmount) error
Adds an amount to a balance. Create entry if not exists
func (*BalanceTable) Get ¶
func (t *BalanceTable) Get(key addr.Address) (abi.TokenAmount, error)
Gets the balance for a key. The entry must have been previously initialized.
func (*BalanceTable) Has ¶
func (t *BalanceTable) Has(key addr.Address) (bool, error)
Has checks if the balance for a key exists
func (*BalanceTable) MustSubtract ¶
func (t *BalanceTable) MustSubtract(key addr.Address, req abi.TokenAmount) error
func (*BalanceTable) Remove ¶
func (t *BalanceTable) Remove(key addr.Address) (abi.TokenAmount, error)
Removes an entry from the table, returning the prior value. The entry must have been previously initialized.
func (*BalanceTable) Root ¶
func (t *BalanceTable) Root() (cid.Cid, error)
Returns the root cid of underlying HAMT.
func (*BalanceTable) Set ¶
func (t *BalanceTable) Set(key addr.Address, value abi.TokenAmount) error
Sets the balance for an address, overwriting any previous balance.
func (*BalanceTable) SubtractWithMinimum ¶
func (t *BalanceTable) SubtractWithMinimum(key addr.Address, req abi.TokenAmount, floor abi.TokenAmount) (abi.TokenAmount, error)
Subtracts up to the specified amount from a balance, without reducing the balance below some minimum. Returns the amount subtracted (always positive or zero).
func (*BalanceTable) Total ¶
func (t *BalanceTable) Total() (abi.TokenAmount, error)
Returns the total balance held by this BalanceTable
type EmptyValue ¶
type EmptyValue struct{}
The empty value represents absence of a value. It is used for parameter and return types for actor methods that don't take/return any data. This saves a byte in serialization of messages and receipts: the serialized form is an empty byte slice, rather than a byte slice containing a single byte CBOR encoding of nil/empty/etc.
The only expected use of this is as the type of a nil reference. Don't instantiate this type.
This is primarily necessary due to Go's lack of a void type and our interface-based serialization scheme.
var Empty *EmptyValue = nil
A typed nil pointer to EmptyValue.
func (*EmptyValue) MarshalCBOR ¶
func (v *EmptyValue) MarshalCBOR(_ io.Writer) error
func (*EmptyValue) UnmarshalCBOR ¶
func (v *EmptyValue) UnmarshalCBOR(_ io.Reader) error
type ErrNotFound ¶
Error type returned when an expected key is absent.
func (ErrNotFound) Error ¶
func (e ErrNotFound) Error() string
type Keyer ¶
type Keyer interface {
Key() string
}
Keyer defines an interface required to put values in mapping.
type Map ¶
type Map struct {
// contains filtered or unexported fields
}
Map stores key-value pairs in a HAMT.
func MakeEmptyMap ¶
Creates a new map backed by an empty HAMT and flushes it to the store.
func (*Map) CollectKeys ¶
Collects all the keys from the map into a slice of strings.
func (*Map) ForEach ¶
Iterates all entries in the map, deserializing each value in turn into `out` and then calling a function with the corresponding key. Iteration halts if the function returns an error. If the output parameter is nil, deserialization is skipped.
type Multimap ¶
type Multimap struct {
// contains filtered or unexported fields
}
Multimap stores multiple values per key in a HAMT of AMTs. The order of insertion of values for each key is retained.
func AsMultimap ¶
Interprets a store as a HAMT-based map of AMTs with root `r`.
func MakeEmptyMultimap ¶
Creates a new map backed by an empty HAMT and flushes it to the store.
func (*Multimap) Add ¶
func (mm *Multimap) Add(key Keyer, value runtime.CBORMarshaler) error
Adds a value for a key.
func (*Multimap) ForEach ¶
Iterates all entries for a key in the order they were inserted, deserializing each value in turn into `out` and then calling a function. Iteration halts if the function returns an error. If the output parameter is nil, deserialization is skipped.
type Set ¶
type Set struct {
// contains filtered or unexported fields
}
Set interprets a Map as a set, storing keys (with empty values) in a HAMT.
func MakeEmptySet ¶
NewSet creates a new HAMT with root `r` and store `s`.
func (*Set) CollectKeys ¶
Collects all the keys from the set into a slice of strings.