github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/account/indexer.go (about) 1 package account 2 3 import ( 4 "github.com/bytom/bytom/blockchain/query" 5 "github.com/bytom/bytom/protocol/bc" 6 ) 7 8 const ( 9 //UTXOPreFix is StandardUTXOKey prefix 10 UTXOPreFix = "ACU:" 11 //SUTXOPrefix is ContractUTXOKey prefix 12 SUTXOPrefix = "SCU:" 13 ) 14 15 // StandardUTXOKey makes an account unspent outputs key to store 16 func StandardUTXOKey(id bc.Hash) []byte { 17 name := id.String() 18 return []byte(UTXOPreFix + name) 19 } 20 21 // ContractUTXOKey makes a smart contract unspent outputs key to store 22 func ContractUTXOKey(id bc.Hash) []byte { 23 name := id.String() 24 return []byte(SUTXOPrefix + name) 25 } 26 27 //Annotated init an annotated account object 28 func Annotated(a *Account) *query.AnnotatedAccount { 29 return &query.AnnotatedAccount{ 30 ID: a.ID, 31 Alias: a.Alias, 32 Quorum: a.Quorum, 33 XPubs: a.XPubs, 34 KeyIndex: a.KeyIndex, 35 DeriveRule: a.DeriveRule, 36 } 37 }