* Drop unused ComputeOutputScript & use ParseTaprootScript internally
* Add pending field to vtxo domain
* Add check to handle async change as claimed vtxo & Move check to prevent spending penidng vtxos to app level
* Rename utils.go to parser.go & Fixes
* Ignore sent-and-reversible vtxos in ListVtxos
* Fixes
Co-authored-by: Louis Singer <louisinger@users.noreply.github.com>
* Fix e2e test
Co-authored-by: Louis Singer <louisinger@users.noreply.github.com>
Co-authored-by: João Bordalo <bordalix@users.noreply.github.com>
* Fix
* Add PendingChange field to vtxo
* Add PendingChange field to Transaction
* Fixes
* Remove logs
---------
Co-authored-by: Louis Singer <louisinger@users.noreply.github.com>
Co-authored-by: João Bordalo <bordalix@users.noreply.github.com>
* [proto] add APIs to send and receive musig2 signing data
* [common] add serialization functions for nonces and signatures
* [application] implements tree signing
* fix: remove old debug logs
* [proto] cleaning
* [common] fix musig2.go
* [application] fixes and logs
* [interface] fix: stop forwarding 2 times the events
* [client] add musig2 support + sign the tree when joining a round
* [interface] add new APIs into permissions.go
* [application][proto] rework PingResponse (return all events type)
* [common] split SetKeys into 2 distinct methods
* [client] fixes according to musig2.go changes
* [sdk] support tree signing + new PingResponse
* [sdk] fixes
* [application] revert event channel type
* [application] use domain.RoundEvent as lastEvent type
* [application] remove IsCovenantLess
* comments
* [application] revert roundAborted changes
* [interface] remove bitcointree dependencie
* pass MutinyNet parameters
* set signetblocktime=30
* supports signet in client and sdk
* ark: --network help message to support signet
* revert intialPeers set
* api-spec: move the api-spec to root and init go.mod
* go mod tidy
* move buf files in the root as well
* gh action for api-spec changes only
* gh action for api-spec on push and pr
* introduce go.work and remove all replaces
* solve dependencies and force btcd/btcec@v2.3.3
* go work sync
* force btcd/btcec@v2.3.3
* go mod tidy
* 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>
* Renaming
* Add server-side support for onboarding
* add onboard --amount command
* support client side onboarding
* Drop dummy tx builder
* Drop faucet
* Fixes
* fix public key encoding
* fix schnorr pub key check in validation
* fix server/README to accomodate onboarding
---------
Co-authored-by: Louis <louis@vulpem.com>
Co-authored-by: João Bordalo <bordalix@users.noreply.github.com>
* clean tx-builder/covenant/tree.go
* rename "createRoot" --> "createBinaryTree"
* replace node.psets by an iterative function "createTreeTransactions"
* merge function
* unspendable point as bytes + remove psetWithLevel
* re-add extra leaf level in congestion tree
* polishing tx-builder/covenant
* remove emptyNonce var
* cleaning tree.go
* improve node.outputs()
* Fix var type
* Fixes
* fix linting
* Renaming and reordering
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com>
* replace Transfer by SelectUtxos
* Wallet.SignPset: handle unset WitnessUtxo
* fix linter
* renaming variables
* add witnessUtxo while creating pool transaction
* add EstimateFees in ports.Wallet
* replace createTestPoolTx by a constant pset