* 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
* 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
* Add gRPC, REST, and gRPC-Web clients for server access
This commit introduces clients for gRPC, REST, and gRPC-Web to access the server.
- gRPC client: Includes additional argument opts ...grpc.CallOption in the interface for future extensibility.
- REST client: Factory function accepts http.Client as an argument to allow user customization.
- gRPC-Web client: Added a Log method for fast debugging in JavaScript.
The decision to use different interfaces for each client type is to accommodate specific features and extensibility requirements for each protocol.
* remove grpc web
* generate rest
* use grpc sdk in CLI
* temp wasm
* ark sdk
* renaming
* pr review refactor
* pr review refactor
* walletStore & configStore
* ark sdk wasm wrapper
* handle event stream with rest
* wip on supporting rest
* store init
* simulate event stream with rest
* fix rest sdk wip
* Fix returning forfeit txs in round event
* wasm first working e2e example
* pr review refactor
* pr review refactor
* pr review refactor
* Fixes
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com>