Louis Singer
2be78b0115
Add forfeit address in GetInfo ( #326 )
...
* keep track of forfeit transaction funds
* [btc-embedded] use p2wpkh address
* [sdk] fix clients
* use script as argument of BuildForfeitTxs
2024-09-25 13:15:44 +02:00
Louis Singer
10ef0dbffa
Add reversible policy to pending vtxos ( #311 )
...
* [server] descriptor-based vtxo script
* [server] fix unit tests
* [sdk] descriptor based vtxo
* empty config check & version flag support
* fix: empty config check & version flag support (#309 )
* fix
* [sdk] several fixes
* [sdk][server] several fixes
* [common][sdk] add reversible VtxoScript type, use it in async payment
* [common] improve parser
* [common] fix reversible vtxo parser
* [sdk] remove logs
* fix forfeit map
* remove debug log
* [sdk] do not allow reversible vtxo script in case of self-transfer
* remove signing pubkey
* remove signer public key, craft forfeit txs client side
* go work sync
* fix linter errors
* rename MakeForfeitTxs to BuildForfeitTxs
* fix conflicts
* fix tests
* comment VtxoScript type
* revert ROUND_INTERVAL value
---------
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Co-authored-by: sekulicd <sekula87@gmail.com >
2024-09-19 10:01:33 +02:00
João Bordalo
0fe52386e8
[SDK] Add RoundInterval to StoreData ( #283 )
...
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
2024-09-16 17:26:32 +02:00
Louis Singer
3782793431
Add tests for adversarial scenarios ( #300 )
...
* fix and test cheating scenario (malicious double spend)
* test and fix async vtxo cheating cases
* add replace statement in go.mod
* Update server/internal/core/application/covenantless.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* Update server/internal/infrastructure/wallet/btc-embedded/psbt.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* Update server/test/e2e/covenant/e2e_test.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* Update server/test/e2e/covenantless/e2e_test.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* Update server/test/e2e/covenantless/e2e_test.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* remove unused
* [btc-embedded] fix GetNotificationChannel
* [tx-builder] fix redeem transaction fee estimator
* close grpc client in tests
* [application] rework listentoscannerNotification
* [application][covenant] fix getConnectorAmount
* [tx-builder][covenant] get connector amount from wallet
* e2e test sleep time
* [liquid-standalone] ListConnectorUtxos: filter by script client side
* fix Makefile integrationtest
* do not use cache in integration tests
* use VtxoKey as argument of findForfeitTxBitcoin
* wrap adversarial test in t.Run
* increaste test timeout
* CI: setup go 1.23.1
* CI: revert go version
* add replace in server/go.mod
* Update server/internal/core/application/covenant.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
* remove replace
* readd replace statement
* fixes
* go work sync
* fix CI
---------
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com >
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
2024-09-16 17:03:43 +02:00
Dusan Sekulic
4304626d08
CLI with ARK Sdk ( #307 )
...
* Export new methods
* Use sdk in CLI
* pr review refactor
* go sync
* Fixes
* run integration test on every change
* fixes
* go sync
* fix
* Persist explorer url
* Fix decoding bitcoin address
* Add missing timeout to e2e test
* Fix
* Fixes
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
2024-09-13 19:13:48 +02:00
Louis Singer
0fb34cb13d
Dynamic min-relay-fee and dust amount ( #280 )
...
* [btc-embedded] add chainfee.Estimator and extraAPI interfaces
* dynamic fee amount
* dynamic dust amount
* [client] fix linter errors
* [domain] fix unit tests
* [server] return dust amount in GetInfo RPC
* [sdk] fix lnd dependencie
* go work sync
* fix witness stack size forfeit tx size estimator
* remove hardcoded fee values in covenant txbuilder
* lower liquid feerate
* fix after reviews
* go work sync
2024-09-10 17:22:09 +02:00
Louis Singer
4da76ec88b
New boarding protocol ( #279 )
...
* [domain] add reverse boarding inputs in Payment struct
* [tx-builder] support reverse boarding script
* [wallet] add GetTransaction
* [api-spec][application] add reverse boarding support in covenantless
* [config] add reverse boarding config
* [api-spec] add ReverseBoardingAddress RPC
* [domain][application] support empty forfeits txs in EndFinalization events
* [tx-builder] optional connector output in round tx
* [btc-embedded] fix getTx and taproot finalizer
* whitelist ReverseBoardingAddress RPC
* [test] add reverse boarding integration test
* [client] support reverse boarding
* [sdk] support reverse boarding
* [e2e] add sleep time after faucet
* [test] run using bitcoin-core RPC
* [tx-builder] fix GetSweepInput
* [application][tx-builder] support reverse onboarding in covenant
* [cli] support reverse onboarding in covenant CLI
* [test] rework integration tests
* [sdk] remove onchain wallet, replace by onboarding address
* remove old onboarding protocols
* [sdk] Fix RegisterPayment
* [e2e] add more funds to covenant ASP
* [e2e] add sleeping time
* several fixes
* descriptor boarding
* remove boarding delay from info
* [sdk] implement descriptor boarding
* go mod tidy
* fixes and revert error msgs
* move descriptor pkg to common
* add replace in go.mod
* [sdk] fix unit tests
* rename DescriptorInput --> BoardingInput
* genrest in SDK
* remove boarding input from domain
* remove all "reverse boarding"
* rename "onboarding" ==> "boarding"
* remove outdate payment unit test
* use tmpfs docker volument for compose testing files
* several fixes
2024-09-04 19:21:26 +02:00
Marco Argentieri
2e6fa7fe6d
pkg/client-sdk: expose IsLocked ( #247 )
...
* expose IsLocked
* add test for IsLocked
2024-08-14 14:07:15 +02:00
Marco Argentieri
e79819cca8
arkd: migrate to 7070 as default port ( #246 )
2024-08-13 18:17:57 +02:00
Pietralberto Mazza
72a7f29bab
Add CreatePayment and CompletePayment ( #229 )
...
Co-authored-by: Marco Argentieri <tiero@users.noreply.github.com >
* Add claim command
* Persist pending data in sqlite repo
* Remove debug log
* Return pending data at interface level
* Fix unlocking btc wallet after restart
* Lint & Fix whitelist permissions
* Fix send command for covenant
* Update client/covenantless/claim.go
Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
* Fix
* Pay for min relay fee instead of estimating fees for redeem and unconf forfeit txs
* Add support for pending payments (coventanless)
* Fixes
* Fixes
* Improve verbosity
* Fix coin selection
* Fix
---------
Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
Co-authored-by: louisinger <louis@vulpem.com >
Co-authored-by: Marco Argentieri <tiero@users.noreply.github.com >
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
2024-08-10 19:18:02 +02:00
Marco Argentieri
059e837794
Rename ark-sdk > ark/pkg/client-sdk ( #236 )
2024-08-09 17:46:42 +02:00
Pietralberto Mazza
8de2df3d7f
Covenant-less ark sdk ( #225 )
...
* 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
2024-08-07 01:37:18 +02:00
Pietralberto Mazza
89df461623
Update client sdk ( #207 )
...
* 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
2024-07-30 16:08:23 +02:00