Pietralberto Mazza
7f937e8418
Vars and fields renaming ( #387 )
...
* Rename asp > server
* Rename pool > round
* Consolidate naming for pubkey/prvkey vars and types
* Fix
* Fix
* Fix wasm
* Rename congestionTree > vtxoTree
* Fix wasm
* Rename payment > request
* Rename congestionTree > vtxoTree after syncing with master
* Fix Send API in SDK
* Fix wasm
* Fix wasm
* Fixes
* Fixes after review
* Fix
* Fix naming
* Fix
* Fix e2e tests
2024-11-26 15:57:16 +01:00
Louis Singer
12d666bfdf
Move redeem transactions creation client-side ( #388 )
...
* move OOR transaction creation client-side
* robust redeem tx checks
* optimize GetVtxos db call
* rename CompleteAsyncPayment --> SubmitRedeemTx
* fix permissions.go
2024-11-25 13:38:04 +01:00
Louis Singer
06dd01ecb1
Change representation of taproot trees & Internal fixes ( #384 )
...
* migrate descriptors --> tapscripts
* fix covenantless
* dynamic boarding exit delay
* remove duplicates in tree and bitcointree
* agnostic signatures validation
* revert GetInfo change
* renaming VtxoScript var
* Agnostic script server (#6 )
* Hotfix: Prevent ZMQ-based bitcoin wallet to panic (#383 )
* Hotfix bct embedded wallet w/ ZMQ
* Fixes
* Rename vtxo is_oor to is_pending (#385 )
* Rename vtxo is_oor > is_pending
* Clean swaggers
* Revert changes to client and sdk
* descriptor in oneof
* support CHECKSIG_ADD in MultisigClosure
* use right witness size in OOR tx fee estimation
* Revert changes
---------
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
2024-11-20 18:51:03 +01:00
Pietralberto Mazza
403a82e25e
Rename vtxo is_oor to is_pending ( #385 )
...
* Rename vtxo is_oor > is_pending
* Clean swaggers
2024-11-20 02:36:35 +01:00
Louis Singer
ff96524f22
Ark Notes ( #379 )
...
* ark credits
* rename "ecash" --> "ark credit"
* rework note_test.go
* NewFromString
* create several notes
* note repo: rename "push" to "add"
* RegisterInputsForNextRoundRequest: move "notes" to field #3
* use uint64 as note ID
* rename to voucher
* add nostr notification
* nostr notification test and fixes
* bump badger to 4.3
* allow npub to be registered
* rename poolTxID
* add default relays
* Update server/internal/config/config.go
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
* fix RedeemVouchers test
* notification = voucher
* WASM wrappers
* fix arkd voucher cmd
* test_utils.go ignore gosec rule G101
* fix permissions
* rename ALL to notes
* add URI prefix
* note.go : fix signature encoding
* fix decode note.Data
* Update server/internal/infrastructure/notifier/nostr/nostr.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
* Update pkg/client-sdk/wasm/browser/wrappers.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
* Update server/internal/infrastructure/notifier/nostr/nostr.go
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
* rework note and entity db + sqlite implementations
* NOTIFICATION_PREFIX -> NOTE_URI_PREFIX
* validate NOTE_URI_PREFIX
* Update defaults to convenant-less mainnet (#2 )
* config: defaults to convenant-less tx builder
* Drop env var for blockchain scanner
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
* add // before URI prefix
* add URI prefix in admin CreateNote
* Fixes
* rework nonces encoding (#4 )
* rework nonces encoding
* add a check in Musig2Nonce decode function
* musig2_test: increase number of signers to 20
* musig2.json: add a test case with a 35 leaves tree
* GetEventStream REST rework
* fix round phases time intervals
* [SDK] Use server-side streams in rest client
* Fix history
* make the URI optional
* Updates
* Fix settled txs in history
* fix e2e test
* go work sync in sdk unit test
* fix signMessage in btc and liquid sdk wallets
---------
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
2024-11-15 19:07:33 +01:00
Pietralberto Mazza
cd502f3dac
[SDK] Improve REST JSON streaming ( #374 )
...
* Fixes
* GetEventStream REST rework
* fix round phases time intervals
* [SDK] Use server-side streams in rest client
* Fix history
* Fix
* Drop data in ping response
* Polish
---------
Co-authored-by: louisinger <louis@vulpem.com >
2024-11-11 15:43:57 +01:00
João Bordalo
786a69da7d
[SDK] Fix tx history & Update WASM ( #353 )
...
* bugfix on detecting pending vtxos
* bugfix: don't return on error from previous round
* bugfix on wasm browser storage
* implements listVtxos on SDK
* Bug fix
Co-authored-by: Pietralberto Mazza <altafan@users.noreply.github.com >
* bug fix
* Fixes
* revert RedeemTx check
* Fix after merge
* bug fix on wasm wrapper
* Fix static tx history (without tx feed)
* add createAt timestamp in Vtxo domain
* Fixes
* Fixes
* Polish
* Fix
* Fix
---------
Co-authored-by: Pietralberto Mazza <altafan@users.noreply.github.com >
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
Co-authored-by: louisinger <louis@vulpem.com >
2024-10-31 17:58:39 +01:00
Louis Singer
bcb2b2075f
Add support for Out Of Round txs ( #359 )
...
* [common] rework address encoding
* new address encoding
* replace offchain address by vtxo output key in DB
* merge migrations files into init one
* fix txbuilder fixtures
* fix transaction events
* OOR scheme
* fix conflicts
* [sdk] OOR
* update WASM wrappers
* revert renaming
* revert API changes
* update parser.go
* fix vtxosToTxsCovenantless
* add settled and spent in Utxo and Transaction
* Fixes (#5 )
* Revert unneeded changes and rename claim to settle
* Revert changes to wasm and rename claim to settle
---------
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
2024-10-24 17:43:27 +02:00
Louis Singer
b536a9e652
New address encoding ( #356 )
...
* [common] rework address encoding
* new address encoding
* replace offchain address by vtxo output key in DB
* merge migrations files into init one
* fix txbuilder fixtures
* fix transaction events
2024-10-18 16:50:07 +02:00
Louis Singer
7606b4cd00
Drop unconditional forfeits txs in offline payment ( #344 )
...
* remove unconditionnal forfeit tx
* fix sqlite vtxo repo
* remove pendingData struct
* delete uncond_forfeits_tx table
2024-10-04 18:06:00 +02:00
Pietralberto Mazza
3271776954
Rename API fields ( #337 )
...
* Update api-spec
* Update ASP (also domain to drop "pool" completely)
* Update sdk
* Update protos
* Update asp
* Update sdk
* Fixes
2024-09-27 15:35:31 +02:00
Pietralberto Mazza
f36a747c59
API Renaming ( #334 )
...
* Update service.proto
Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
* Update buf.yaml
* Fix API order and naming
* Update server
* Update sdk
* Revert update to buf.yaml
* Fix permissions
---------
Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com >
2024-09-26 19:21:41 +02:00
Pietralberto Mazza
b15c0868b2
Drop PendingChange field ( #331 )
...
* Drop pending_change
* Fixes
* Polish
* Fallback to psbt string
2024-09-26 14:56:20 +02:00
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
Pietralberto Mazza
5c2065ad47
Make change of async payment spendable ( #324 )
...
* 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 >
2024-09-19 19:44:22 +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
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
Louis Singer
c183f99244
Make the round participants sign the vtxo tree ( #271 )
...
* [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
2024-08-30 14:32:35 +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
Pietralberto Mazza
57ce08f239
Support macaroons and TLS && Add arkd wallet cmds ( #232 )
...
* Update protos
* Update handlers
* Support macaroons and TLS
* Add arkd cli
* Minor fixes
* Update deps
* Fixes
* Update makefile
* Fixes
* Fix
* Fix
* Fix
* Remove trusted onboarding from client
* Completely remove trusted onboarding
* Fix compose files and add --no-macaroon flag to arkd cli
* Lint
* Remove e2e for trusted onboarding
* Add sleep time
2024-08-09 17:59:31 +02:00
Marco Argentieri
059e837794
Rename ark-sdk > ark/pkg/client-sdk ( #236 )
2024-08-09 17:46:42 +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