import (
"context"
"encoding/hex"
+ "os"
"strings"
"testing"
)
func TestCreate(t *testing.T) {
- testDB := dbm.NewDB("testdb1", "leveldb", ".data")
+ testDB := dbm.NewDB("testdb", "leveldb", "temp")
+ defer os.RemoveAll("temp")
cs := NewStore(testDB)
ctx := context.Background()
func TestList(t *testing.T) {
ctx := context.Background()
- testDB := dbm.NewDB("testdb2", "leveldb", ".data")
+ testDB := dbm.NewDB("testdb", "leveldb", "temp")
+ defer os.RemoveAll("temp")
cs := NewStore(testDB)
mustCreateToken(ctx, t, cs, "ab", "test")
func TestCheck(t *testing.T) {
ctx := context.Background()
- testDB := dbm.NewDB("testdb3", "leveldb", ".data")
+ testDB := dbm.NewDB("testdb", "leveldb", "temp")
+ defer os.RemoveAll("temp")
cs := NewStore(testDB)
token := mustCreateToken(ctx, t, cs, "x", "client")
func TestDelete(t *testing.T) {
ctx := context.Background()
- testDB := dbm.NewDB("testdb4", "leveldb", ".data")
+ testDB := dbm.NewDB("testdb", "leveldb", "temp")
+ defer os.RemoveAll("temp")
cs := NewStore(testDB)
token := mustCreateToken(ctx, t, cs, "Y", "client")
"github.com/bytom/blockchain/account"
"github.com/bytom/blockchain/asset"
- "github.com/bytom/blockchain/pin"
"github.com/bytom/blockchain/pseudohsm"
"github.com/bytom/blockchain/txbuilder"
"github.com/bytom/blockchain/txdb"
store := txdb.NewStore(tc)
var accounts *account.Manager
+ var wallet *account.Wallet
var assets *asset.Registry
- var pinStore *pin.Store
genesisBlock := &legacy.Block{
BlockHeader: legacy.BlockHeader{},
t.Fatal(err)
}
- accUTXODB := dbm.NewDB("accountutxos", config.DBBackend, dir)
- pinStore = pin.NewStore(accUTXODB)
+ walletDB := dbm.NewDB("wallet", config.DBBackend, config.DBDir())
- err = pinStore.LoadAll(ctx)
- if err != nil {
- t.Fatal(err)
- }
accountsDB := dbm.NewDB("account", config.DBBackend, dir)
- accounts = account.NewManager(accountsDB, chain, pinStore)
+ wallet = account.NewWallet(walletDB)
+ accounts = account.NewManager(accountsDB, chain, wallet)
//accounts.IndexAccounts(query.NewIndexer(accountsDB, chain))
assetsDB := dbm.NewDB("asset", config.DBBackend, dir)
if err != nil {
t.Fatal(err)
}
-
- //err = txbuilder.FinalizeTx(ctx, chain, tmpl.Transaction)
- //if err != nil {
- // t.Fatal(err)
- //}
- /*
- // generate block without nouce
- b, err := mining.NewBlockTemplate(chain, txPool, []byte{})
- if err != nil {
- t.Fatal(err)
- }
- //calculate nonce
- for i := uint64(0); i <= 10000000000000; i++ {
- b.Nonce = i
- hash := b.Hash()
- if consensus.CheckProofOfWork(&hash, b.Bits) {
- break
- }
- }
- //block validation
- if _, err = chain.ProcessBlock(b); err != nil {
- t.Fatal(err)
- }
-
- <-pinStore.PinWaiter(account.PinName, chain.Height())
-
- /*
- c := prottest.NewChain(t)
- assets := asset.NewRegistry(db, c, pinStore)
- accounts å:= account.NewManager(db, c, pinStore)
- coretest.CreatePins(ctx, t, pinStore)
- accounts.IndexAccounts(query.NewIndexer(db, c, pinStore))
- go accounts.ProcessBlocks(ctx)
-
- coretest.SignTxTemplate(t, ctx, tmpl, &testutil.TestXPrv)
- err = txbuilder.FinalizeTx(ctx, c, g, tmpl.Transaction)
- if err != nil {
- t.Fatal(err)
- }
-
- // Make a block so that UTXOs from the above tx are available to spend.
- prottest.MakeBlock(t, c, g.PendingTxs())
- <-pinStore.PinWaiter(account.PinName, c.Height())
-
- xferSrc1 := accounts.NewSpendAction(bc.AssetAmount{AssetId: &asset1ID, Amount: 10}, acct1.ID, nil, nil)
- xferSrc2 := accounts.NewSpendAction(bc.AssetAmount{AssetId: &asset2ID, Amount: 20}, acct2.ID, nil, nil)
- xferDest1 := accounts.NewControlAction(bc.AssetAmount{AssetId: &asset2ID, Amount: 20}, acct1.ID, nil)
- xferDest2 := accounts.NewControlAction(bc.AssetAmount{AssetId: &asset1ID, Amount: 10}, acct2.ID, nil)
- tmpl, err = txbuilder.Build(ctx, nil, []txbuilder.Action{xferSrc1, xferSrc2, xferDest1, xferDest2}, time.Now().Add(time.Minute))
- if err != nil {
- t.Fatal(err)
- }
- */
}
func tmpManager(t *testing.T) string {