mirror of
https://github.com/aljazceru/ark.git
synced 2026-01-23 05:34:24 +01:00
* Add bitcoin networks * Refactor client * Refactor explorer * Refactor store * Refactor wallet * Refactor sdk client * Refactor wasm & Update examples * Move common util funcs to internal/utils * Move to constants for service types * Add unit tests * Parallelize tests * Lint * Add job to gh action * go mod tidy * Fixes * Fixes * Fix compose file * Fixes * Fixes after review: * Drop factory pattern * Drop password from ark client methods * Make singlekey wallet manage store and wallet store instead of defining WalletStore as extension of Store * Move constants to arksdk module * Drop config and expect directory store and wallet as ark client factory args * Fix * Add constants for bitcoin/liquid explorer * Fix test * Fix wasm * Rename client.Client to client.ASPClient * Rename store.Store to store.ConfigStore * Rename wallet.Wallet to wallet.WalletService * Renamings * Lint * Fixes * Move everything to internal/utils & move ComputeVtxoTaprootScript to common * Go mod tidy
56 lines
834 B
Go
56 lines
834 B
Go
package inmemorystore
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
|
|
"github.com/ark-network/ark-sdk/store"
|
|
)
|
|
|
|
type Store struct {
|
|
data *store.StoreData
|
|
lock *sync.RWMutex
|
|
}
|
|
|
|
func NewConfigStore() (store.ConfigStore, error) {
|
|
lock := &sync.RWMutex{}
|
|
return &Store{lock: lock}, nil
|
|
}
|
|
|
|
func (s *Store) GetType() string {
|
|
return store.InMemoryStore
|
|
}
|
|
|
|
func (s *Store) GetDatadir() string {
|
|
return ""
|
|
}
|
|
|
|
func (s *Store) AddData(
|
|
_ context.Context, data store.StoreData,
|
|
) error {
|
|
s.lock.Lock()
|
|
defer s.lock.Unlock()
|
|
|
|
s.data = &data
|
|
return nil
|
|
}
|
|
|
|
func (s *Store) GetData(_ context.Context) (*store.StoreData, error) {
|
|
s.lock.RLock()
|
|
defer s.lock.RUnlock()
|
|
|
|
if s.data == nil {
|
|
return nil, nil
|
|
}
|
|
|
|
return s.data, nil
|
|
}
|
|
|
|
func (s *Store) CleanData(_ context.Context) error {
|
|
s.lock.Lock()
|
|
defer s.lock.Unlock()
|
|
|
|
s.data = nil
|
|
return nil
|
|
}
|