OSDN Git Service

database struct (#401)
[bytom/vapor.git] / application / dex / database / dex_store.go
1 package database
2
3 import (
4         "encoding/binary"
5         "math"
6
7         "github.com/vapor/application/dex/common"
8         dbm "github.com/vapor/database/leveldb"
9         "github.com/vapor/protocol/bc"
10 )
11
12 const (
13         order byte = iota
14         tradePair
15         matchStatus
16 )
17
18 var (
19         dexStore        = []byte("DEX:")
20         ordersPreFix    = append(dexStore, order)
21         tradePairPreFix = append(dexStore, tradePair)
22         bestMatchStore  = append(dexStore, matchStatus)
23 )
24
25 func calcOrdersPrefix(fromAssetID, toAssetID *bc.AssetID, utxoHash *bc.Hash, rate float64) []byte {
26         buf := make([]byte, 8)
27         binary.BigEndian.PutUint64(buf, math.Float64bits(rate))
28         key := append(ordersPreFix, fromAssetID.Bytes()...)
29         key = append(key, toAssetID.Bytes()...)
30         key = append(key, buf...)
31         return append(key, utxoHash.Bytes()...)
32 }
33
34 func calcTradePairPreFix(fromAssetID, toAssetID *bc.Hash) []byte {
35         key := append(ordersPreFix, fromAssetID.Bytes()...)
36         return append(key, toAssetID.Bytes()...)
37 }
38
39 type DexTradeOrderDB struct {
40         db dbm.DB
41 }
42
43 func (d *DexTradeOrderDB) GetTradePairsWithStart(start []byte) ([]common.TradePair, error) {
44         return nil, nil
45 }
46
47 func (d *DexTradeOrderDB) addTradePair() error {
48         return nil
49 }
50
51 func (d *DexTradeOrderDB) deleteTradePair() error {
52         return nil
53 }
54
55 func (d *DexTradeOrderDB) ProcessOrders(addOrders []*common.Order, delOreders []*common.Order, height uint64, blockHash *bc.Hash) error {
56
57         return nil
58 }
59
60 func (d *DexTradeOrderDB) addOrders(orders []*common.Order) error {
61         return nil
62 }
63
64 func (d *DexTradeOrderDB) deleteOrder(orders []*common.Order) error {
65         return nil
66 }
67
68 func (d *DexTradeOrderDB) ListOrders(fromAssetID, toAssetID string, rateAfter float64) ([]*common.Order, error) {
69         return nil, nil
70 }
71
72 func (d *DexTradeOrderDB) GetDexDatabaseState() (*common.DexDatabaseState, error) {
73         return nil, nil
74 }
75
76 func (d *DexTradeOrderDB) saveDexDatabaseState(state *common.DexDatabaseState) error {
77         return nil
78 }