Documentation ¶
Index ¶
- Constants
- Variables
- func AliasKey(name string) []byte
- func Annotated(a *Asset) (*query.AnnotatedAsset, error)
- func CalcExtAssetKey(id *bc.AssetID) []byte
- func Key(id *bc.AssetID) []byte
- type Asset
- type Registry
- func (reg *Registry) DecodeIssueAction(data []byte) (txbuilder.Action, error)
- func (reg *Registry) Define(xpubs []chainkd.XPub, quorum int, definition map[string]interface{}, ...) (*Asset, error)
- func (reg *Registry) FindByAlias(ctx context.Context, alias string) (*Asset, error)
- func (reg *Registry) FindByID(ctx context.Context, id *bc.AssetID) (*Asset, error)
- func (reg *Registry) GetAliasByID(id string) string
- func (reg *Registry) GetIDByAlias(alias string) (string, error)
- func (reg *Registry) ListAssets(id string) ([]*Asset, error)
- func (reg *Registry) NewIssueAction(assetAmount bc.AssetAmount) txbuilder.Action
- func (reg *Registry) UpdateAssetAlias(oldAlias, newAlias string) error
- func (reg *Registry) UpdateTags(ctx context.Context, assetInfo string, tags map[string]interface{}) (err error)
Constants ¶
const ( //AliasPrefix is asset alias prefix AliasPrefix = "ALS:" //ExternalAssetPrefix is external definition assets prefix ExternalAssetPrefix = "EXA" )
Variables ¶
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 CalcExtAssetKey ¶
CalcExtAssetKey return store external assets key
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"` Tags map[string]interface{} `json:"tags"` RawDefinitionByte chainjson.HexBytes `json:"raw_definition_byte"` DefinitionMap map[string]interface{} `json:"definition"` }
Asset describe asset on bytom chain
var DefaultNativeAsset *Asset
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry tracks and stores all known assets on a blockchain.
func NewRegistry ¶
NewRegistry create new registry
func (*Registry) DecodeIssueAction ¶
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{}, alias string, tags map[string]interface{}) (*Asset, error)
Define defines a new Asset.
func (*Registry) FindByAlias ¶
FindByAlias retrieves an Asset record along with its signer, given an asset alias.
func (*Registry) FindByID ¶
findByID retrieves an Asset record along with its signer, given an assetID.
func (*Registry) GetAliasByID ¶
GetAliasByID return asset alias string by AssetID string
func (*Registry) GetIDByAlias ¶
GetIDByAlias return AssetID string and nil by asset alias,if err ,return "" and err
func (*Registry) ListAssets ¶
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) UpdateAssetAlias ¶
UpdateAssetAlias updates oldAlias to newAlias