OSDN Git Service

remove CtrlProgram#Change and accountOutput#change (#600)
authorYongfeng LI <wliyongfeng@gmail.com>
Thu, 12 Apr 2018 03:26:33 +0000 (11:26 +0800)
committerGitHub <noreply@github.com>
Thu, 12 Apr 2018 03:26:33 +0000 (11:26 +0800)
account/accounts.go
account/builder.go
account/reserve_test.go
api/receivers.go
test/integration/standard_transaction_test.go
test/tx_test_util.go
test/wallet_test_util.go
wallet/indexer.go
wallet/wallet.go
wallet/wallet_test.go

index 272d2c6..f6b29c5 100644 (file)
@@ -263,20 +263,20 @@ func (m *Manager) GetAliasByID(id string) string {
 }
 
 // CreateAddress generate an address for the select account
-func (m *Manager) CreateAddress(ctx context.Context, accountID string, change bool) (cp *CtrlProgram, err error) {
+func (m *Manager) CreateAddress(ctx context.Context, accountID string) (cp *CtrlProgram, err error) {
        account, err := m.findByID(ctx, accountID)
        if err != nil {
                return nil, err
        }
-       return m.createAddress(ctx, account, change)
+       return m.createAddress(ctx, account)
 }
 
 // CreateAddress generate an address for the select account
-func (m *Manager) createAddress(ctx context.Context, account *Account, change bool) (cp *CtrlProgram, err error) {
+func (m *Manager) createAddress(ctx context.Context, account *Account) (cp *CtrlProgram, err error) {
        if len(account.XPubs) == 1 {
-               cp, err = m.createP2PKH(ctx, account, change)
+               cp, err = m.createP2PKH(ctx, account)
        } else {
-               cp, err = m.createP2SH(ctx, account, change)
+               cp, err = m.createP2SH(ctx, account)
        }
        if err != nil {
                return nil, err
@@ -288,7 +288,7 @@ func (m *Manager) createAddress(ctx context.Context, account *Account, change bo
        return cp, nil
 }
 
-func (m *Manager) createP2PKH(ctx context.Context, account *Account, change bool) (*CtrlProgram, error) {
+func (m *Manager) createP2PKH(ctx context.Context, account *Account) (*CtrlProgram, error) {
        idx := m.getNextXpubsIndex(account.Signer.XPubs)
        path := signers.Path(account.Signer, signers.AccountKeySpace, idx)
        derivedXPubs := chainkd.DeriveXPubs(account.XPubs, path)
@@ -311,11 +311,10 @@ func (m *Manager) createP2PKH(ctx context.Context, account *Account, change bool
                Address:        address.EncodeAddress(),
                KeyIndex:       idx,
                ControlProgram: control,
-               Change:         change,
        }, nil
 }
 
-func (m *Manager) createP2SH(ctx context.Context, account *Account, change bool) (*CtrlProgram, error) {
+func (m *Manager) createP2SH(ctx context.Context, account *Account) (*CtrlProgram, error) {
        idx := m.getNextXpubsIndex(account.Signer.XPubs)
        path := signers.Path(account.Signer, signers.AccountKeySpace, idx)
        derivedXPubs := chainkd.DeriveXPubs(account.XPubs, path)
@@ -342,7 +341,6 @@ func (m *Manager) createP2SH(ctx context.Context, account *Account, change bool)
                Address:        address.EncodeAddress(),
                KeyIndex:       idx,
                ControlProgram: control,
-               Change:         change,
        }, nil
 }
 
@@ -352,7 +350,6 @@ type CtrlProgram struct {
        Address        string
        KeyIndex       uint64
        ControlProgram []byte
-       Change         bool
 }
 
 func (m *Manager) insertAccountControlProgram(ctx context.Context, progs ...*CtrlProgram) error {
@@ -396,7 +393,7 @@ func (m *Manager) GetCoinbaseControlProgram() ([]byte, error) {
                return nil, err
        }
 
-       program, err := m.createAddress(nil, account, false)
+       program, err := m.createAddress(nil, account)
        if err != nil {
                return nil, err
        }
index 5a175a6..850e52b 100644 (file)
@@ -72,7 +72,7 @@ func (a *spendAction) Build(ctx context.Context, b *txbuilder.TemplateBuilder) e
        }
 
        if res.Change > 0 {
-               acp, err := a.accounts.CreateAddress(ctx, a.AccountID, true)
+               acp, err := a.accounts.CreateAddress(ctx, a.AccountID)
                if err != nil {
                        return errors.Wrap(err, "creating control program")
                }
index 9905989..3a130bf 100644 (file)
@@ -51,7 +51,7 @@ func TestCancelReservation(t *testing.T) {
                t.Fatal(err)
        }
 
-       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID, false)
+       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID)
        if err != nil {
                t.Fatal(err)
        }
index a7dfcab..a3a2285 100644 (file)
@@ -20,7 +20,7 @@ func (a *API) createAccountReceiver(ctx context.Context, ins struct {
                accountID = account.ID
        }
 
-       program, err := a.wallet.AccountMgr.CreateAddress(ctx, accountID, false)
+       program, err := a.wallet.AccountMgr.CreateAddress(ctx, accountID)
        if err != nil {
                return NewErrorResponse(err)
        }
index 25e195f..bc98e00 100644 (file)
@@ -46,7 +46,7 @@ func TestP2PKH(t *testing.T) {
                t.Fatal(err)
        }
 
-       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID, false)
+       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID)
        if err != nil {
                t.Fatal(err)
        }
@@ -103,7 +103,7 @@ func TestP2SH(t *testing.T) {
                t.Fatal(err)
        }
 
-       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID, false)
+       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID)
        if err != nil {
                t.Fatal(err)
        }
@@ -160,7 +160,7 @@ func TestMutilNodeSign(t *testing.T) {
                t.Fatal(err)
        }
 
-       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID, false)
+       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID)
        if err != nil {
                t.Fatal(err)
        }
index 4444a9d..4710d23 100644 (file)
@@ -84,7 +84,7 @@ func (g *TxGenerator) createAsset(accountAlias string, assetAlias string) (*asse
 }
 
 func (g *TxGenerator) mockUtxo(accountAlias, assetAlias string, amount uint64) (*account.UTXO, error) {
-       ctrlProg, err := g.createControlProgram(accountAlias, false)
+       ctrlProg, err := g.createControlProgram(accountAlias)
        if err != nil {
                return nil, err
        }
@@ -127,12 +127,12 @@ func (g *TxGenerator) assetAmount(assetAlias string, amount uint64) (*bc.AssetAm
        }, nil
 }
 
-func (g *TxGenerator) createControlProgram(accountAlias string, change bool) (*account.CtrlProgram, error) {
+func (g *TxGenerator) createControlProgram(accountAlias string) (*account.CtrlProgram, error) {
        acc, err := g.AccountManager.FindByAlias(nil, accountAlias)
        if err != nil {
                return nil, err
        }
-       return g.AccountManager.CreateAddress(nil, acc.ID, change)
+       return g.AccountManager.CreateAddress(nil, acc.ID)
 }
 
 // AddSpendInput add a spend input
@@ -208,7 +208,7 @@ func (g *TxGenerator) AddTxOutput(accountAlias, assetAlias string, amount uint64
        if err != nil {
                return err
        }
-       controlProgram, err := g.createControlProgram(accountAlias, false)
+       controlProgram, err := g.createControlProgram(accountAlias)
        if err != nil {
                return err
        }
index 910dc50..95929eb 100644 (file)
@@ -127,13 +127,13 @@ type walletTestContext struct {
        Chain  *protocol.Chain
 }
 
-func (ctx *walletTestContext) createControlProgram(accountName string, change bool) (*account.CtrlProgram, error) {
+func (ctx *walletTestContext) createControlProgram(accountName string) (*account.CtrlProgram, error) {
        acc, err := ctx.Wallet.AccountMgr.FindByAlias(nil, accountName)
        if err != nil {
                return nil, err
        }
 
-       return ctx.Wallet.AccountMgr.CreateAddress(nil, acc.ID, change)
+       return ctx.Wallet.AccountMgr.CreateAddress(nil, acc.ID)
 }
 
 func (ctx *walletTestContext) getPubkey(keyAlias string) *chainkd.XPub {
@@ -155,7 +155,7 @@ func (ctx *walletTestContext) createAsset(accountAlias string, assetAlias string
 }
 
 func (ctx *walletTestContext) newBlock(txs []*types.Tx, coinbaseAccount string) (*types.Block, error) {
-       controlProgram, err := ctx.createControlProgram(coinbaseAccount, true)
+       controlProgram, err := ctx.createControlProgram(coinbaseAccount)
        if err != nil {
                return nil, err
        }
index 5f8b9df..9388402 100644 (file)
@@ -36,7 +36,6 @@ type accountOutput struct {
        AccountID string
        Address   string
        keyIndex  uint64
-       change    bool
 }
 
 const (
@@ -299,7 +298,6 @@ func loadAccountInfo(outs []*rawOutput, w *Wallet) []*accountOutput {
                        for _, out := range outsByScript[s] {
                                newOut := &accountOutput{
                                        rawOutput: *out,
-                                       change:    false,
                                }
                                result = append(result, newOut)
                        }
@@ -329,7 +327,6 @@ func loadAccountInfo(outs []*rawOutput, w *Wallet) []*accountOutput {
                                AccountID: cp.AccountID,
                                Address:   cp.Address,
                                keyIndex:  cp.KeyIndex,
-                               change:    cp.Change,
                        }
                        result = append(result, newOut)
                }
index fce7f9d..ae97254 100644 (file)
@@ -307,7 +307,7 @@ func (w *Wallet) recoveryAccountWalletDB(account *account.Account, XPub *pseudoh
 
 func (w *Wallet) createProgram(account *account.Account, XPub *pseudohsm.XPub, index uint64) error {
        for i := uint64(0); i < index; i++ {
-               if _, err := w.AccountMgr.CreateAddress(nil, account.ID, false); err != nil {
+               if _, err := w.AccountMgr.CreateAddress(nil, account.ID); err != nil {
                        return err
                }
        }
index 8a6d218..53ce308 100644 (file)
@@ -57,7 +57,7 @@ func TestWalletUpdate(t *testing.T) {
                t.Fatal(err)
        }
 
-       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID, false)
+       controlProg, err := accountManager.CreateAddress(nil, testAccount.ID)
        if err != nil {
                t.Fatal(err)
        }