asset

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2021 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDuplicateAlias = errors.New("duplicate asset alias")
	ErrDuplicateAsset = errors.New("duplicate asset id")
	ErrSerializing    = errors.New("serializing asset definition")
	ErrMarshalAsset   = errors.New("failed marshal asset")
	ErrFindAsset      = errors.New("fail to find asset")
	ErrInternalAsset  = errors.New("btm has been defined as the internal asset")
	ErrNullAlias      = errors.New("null asset alias")
)

pre-define errors for supporting bytom errorFormatter

Functions

func Annotated

func Annotated(a *Asset) (*query.AnnotatedAsset, error)

Annotated annotate the asset

func ExtAssetKey

func ExtAssetKey(id *bc.AssetID) []byte

ExtAssetKey return store external assets key

func Key

func Key(id *bc.AssetID) []byte

Key store asset prefix

Types

type Asset

type Asset struct {
	*signers.Signer
	AssetID           bc.AssetID             `json:"id"`
	Alias             *string                `json:"alias"`
	VMVersion         uint64                 `json:"vm_version"`
	IssuanceProgram   chainjson.HexBytes     `json:"issue_program"`
	RawDefinitionByte chainjson.HexBytes     `json:"raw_definition_byte"`
	DefinitionMap     map[string]interface{} `json:"definition"`
}

Asset describe asset on bytom chain

var DefaultNativeAsset *Asset

DefaultNativeAsset native BTM asset

type Image

type Image struct {
	Assets []*Asset `json:"assets"`
}

Image is the struct for hold export asset data

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry tracks and stores all known assets on a blockchain.

func NewRegistry

func NewRegistry(db dbm.DB, chain *protocol.Chain) *Registry

NewRegistry create new registry

func (*Registry) Backup

func (reg *Registry) Backup() (*Image, error)

Backup export all the asset info into image

func (*Registry) DecodeIssueAction

func (reg *Registry) DecodeIssueAction(data []byte) (txbuilder.Action, error)

DecodeIssueAction unmarshal JSON-encoded data of asset issue action

func (*Registry) Define

func (reg *Registry) Define(xpubs []chainkd.XPub, quorum int, definition map[string]interface{}, limitHeight int64, alias string, issuanceProgram chainjson.HexBytes) (*Asset, error)

Define defines a new Asset.

func (*Registry) FindByAlias

func (reg *Registry) FindByAlias(alias string) (*Asset, error)

FindByAlias retrieves an Asset record along with its signer, given an asset alias.

func (*Registry) FindByID

func (reg *Registry) FindByID(ctx context.Context, id *bc.AssetID) (*Asset, error)

FindByID retrieves an Asset record along with its signer, given an assetID.

func (*Registry) GetAliasByID

func (reg *Registry) GetAliasByID(id string) string

GetAliasByID return asset alias string by AssetID string

func (*Registry) GetAsset

func (reg *Registry) GetAsset(id string) (*Asset, error)

GetAsset get asset by assetID

func (*Registry) ListAssets

func (reg *Registry) ListAssets(id string) ([]*Asset, error)

ListAssets returns the accounts in the db

func (*Registry) NewIssueAction

func (reg *Registry) NewIssueAction(assetAmount bc.AssetAmount) txbuilder.Action

NewIssueAction create a new asset issue action

func (*Registry) Restore

func (reg *Registry) Restore(image *Image) error

Restore load the image data into asset manage

func (*Registry) SaveAsset

func (reg *Registry) SaveAsset(a *Asset, alias string) error

SaveAsset store asset

func (*Registry) UpdateAssetAlias

func (reg *Registry) UpdateAssetAlias(id, newAlias string) error

UpdateAssetAlias updates asset alias

Jump to

Keyboard shortcuts

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