mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-18 12:44:19 +01:00
* Add method to compute vtxo taproot script * Drop debug logs * Refactor client: * Remove dep from stubs in interface * Remove redeem branch, out of scope (moved to ark client) * Add example for covenant and covenantless sdk * Simplify explorer - No need for bitcoin and liquid impls * Refactor wallet: * wallet struct for common operations (create, lock/unlock, getType, isLocked) * liquidWallet struct for liquid operations (derive/get addresses, sign tx) * bitcoinWallet struct for bitcoin operations (derive/get addresses, sign tx) * Update utils: * drop methods to parse tree (moved to ark client) * add methods for encryption, network parsing, key generation * add methods for covenant/covenantless redeem branches (move to common?) * Add support for covenantless sdk: * move interface to dedicated file * arkCLient struct for common operations (Init, lock/unlock, get config data, receive) * covenantArkClient struct for covenant operations (onboard, balance, send, redeem) * covenantlessArkClient struct for covenantless operations (onboard, balance, send, redeem) * Fix wasm * Fixes * Make explorer use utils.Cache * Renamings * Lint * Fix e2e tests * Fix e2e test
34 lines
999 B
Go
34 lines
999 B
Go
package arksdk
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/ark-network/ark-sdk/store"
|
|
)
|
|
|
|
type ArkClient interface {
|
|
GetConfigData(ctx context.Context) (*store.StoreData, error)
|
|
Init(ctx context.Context, args InitArgs) error
|
|
InitWithWallet(ctx context.Context, args InitWithWalletArgs) error
|
|
Unlock(ctx context.Context, password string) error
|
|
Lock(ctx context.Context, password string) error
|
|
Balance(ctx context.Context, computeExpiryDetails bool) (*Balance, error)
|
|
Onboard(ctx context.Context, amount uint64) (string, error)
|
|
Receive(ctx context.Context) (string, string, error)
|
|
SendOnChain(ctx context.Context, receivers []Receiver) (string, error)
|
|
SendOffChain(
|
|
ctx context.Context, withExpiryCoinselect bool, receivers []Receiver,
|
|
) (string, error)
|
|
UnilateralRedeem(ctx context.Context) error
|
|
CollaborativeRedeem(
|
|
ctx context.Context, addr string, amount uint64, withExpiryCoinselect bool,
|
|
) (string, error)
|
|
}
|
|
|
|
type Receiver interface {
|
|
To() string
|
|
Amount() uint64
|
|
|
|
isOnchain() bool
|
|
}
|