OSDN Git Service

Coinbase arbitrary (#1219)
[bytom/bytom.git] / account / accounts.go
index 34858d1..b5da7e4 100644 (file)
@@ -35,6 +35,7 @@ var (
        contractIndexPrefix = []byte("ContractIndex")
        contractPrefix      = []byte("Contract:")
        miningAddressKey    = []byte("MiningAddress")
+       CoinbaseAbKey       = []byte("CoinbaseArbitrary")
 )
 
 // pre-define errors for supporting bytom errorFormatter
@@ -245,6 +246,13 @@ func (m *Manager) GetAliasByID(id string) string {
        return account.Alias
 }
 
+func (m *Manager) GetCoinbaseArbitrary() []byte {
+       if arbitrary := m.db.Get(CoinbaseAbKey); arbitrary != nil {
+               return arbitrary
+       }
+       return []byte{}
+}
+
 // GetCoinbaseControlProgram will return a coinbase script
 func (m *Manager) GetCoinbaseControlProgram() ([]byte, error) {
        cp, err := m.GetCoinbaseCtrlProgram()
@@ -405,6 +413,10 @@ func (m *Manager) SetMiningAddress(miningAddress string) (string, error) {
        return m.GetMiningAddress()
 }
 
+func (m *Manager) SetCoinbaseArbitrary(arbitrary []byte) {
+       m.db.Set(CoinbaseAbKey, arbitrary)
+}
+
 // CreateAddress generate an address for the select account
 func (m *Manager) createAddress(account *Account, change bool) (cp *CtrlProgram, err error) {
        if len(account.XPubs) == 1 {