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
4c8c5c06ed
Tidy up workspace ( #317 )
...
* go work sync
* Clean go.sum files
2024-09-16 15:40:10 +02:00
Pietralberto Mazza
9d2e84cc9c
chore: go work sync ( #305 )
2024-09-11 23:03:43 +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
Dusan Sekulic
a8cf0ed204
[SDK] Add Transaction History ( #288 )
...
* tx history
* fix
* fix
* pr review refactor
* pr review refactor
* fix
* pr review refactor
* exclude gosec G115 Integer Overflow Conversion
* ignore some gosec errs
* ignore some gosec errs
* ignore createdat in test assertion
* Fixes (#7 )
* Fixes
* Fixes
* Update golang (#8 )
* update gha golangci-lint version
* update gha golangci-lint version
* fix linting issues
* fix linting issues
* fix linting issues
* add linter timeout
---------
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com >
2024-09-10 14:27:29 +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
cfb6f9ec41
wasm: export browser package already initialized and cleanup to example ( #245 )
...
* refactor sdk wasm
* remove example go.mod
* go work sync
* revert default port change
2024-08-13 16:13:09 +02:00
Marco Argentieri
1b0252f3e4
Migrate to Go Workspaces ( #243 )
...
* 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
2024-08-13 03:27:41 +02:00
Marco Argentieri
f0a90c06ee
Move api-spec to root folder ( #242 )
...
* 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
2024-08-13 00:54:06 +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
Pietralberto Mazza
1c67c56d9d
Add admin APIs to manage wallet ( #226 )
...
* Add admin rpcs to manage wallet
* Fix
* Fixes
* Add sleeping time
* Increase sleeping time
2024-08-07 00:36:51 +02:00
Pietralberto Mazza
fb8a127f4f
Update deps ( #223 )
2024-07-31 13:24:31 +02:00
Louis Singer
01297ae38c
Add support for covenant-less ASP ( #214 )
...
* scaffolding wallet
* remove wallet db, add loader instead
* wip
* implement some wallet methods
* signing and utxos
* renaming
* fee estimator
* chain source options
* config
* application service
* clark docker-compose
* CLI refactor
* v0 clark
* v0.1 clark
* fix SignTapscriptInput (btcwallet)
* wallet.Broadcast, send via explora
* fix ASP pubkey
* Use lnd's btcwallet & Add rpc to get wallet staus
* wip
* unilateral exit
* Fixes on watching for notifications and cli init
* handle non-final BIP68 errors
* Fixes
* Fixes
* Fix
* a
* fix onboard cosigners + revert tree validation
* fix covenant e2e tests
* fix covenantless e2e tests
* fix container naming
* fix lint error
* update REAME.md
* Add env var for wallet password
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
2024-07-30 20:57:52 +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
Dusan Sekulic
e45bff3c70
Sqlite - add sqlc and migration ( #217 )
2024-07-26 02:09:48 +02:00
Dusan Sekulic
1f42843a69
Add first version of client SDK ( #193 )
...
* 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 >
2024-07-18 16:27:14 +02:00
Louis Singer
bb208ec995
Implements SQLite repositories ( #180 )
...
* add sqlite db
* add .vscode to gitignore
* add vtxo repo
* add sqlite repos implementations
* add sqlite in db/service
* update go.mod
* fix sqlite
* move sqlite tests to service_test.go + fixes
* integration tests using sqlite + properly close statements
* implement GetRoundsIds
* add "tx" table to store forfeits, connectors and congestion trees
* add db max conn = 1
* upsert VTXO + fix onboarding
* remove json tags
* Fixes
* Fix
* fix lint
* fix config.go
* Fix rm config & open db only once
* Update makefile
---------
Co-authored-by: altafan <18440657+altafan@users.noreply.github.com >
2024-06-19 18:16:31 +02:00
Louis Singer
329ba555db
Covenant-less TxBuilder ( #178 )
...
* initial commit
* wip
* add bitcointree pkg in common
* add bitcoin txbuilder
* fix BuildPoolTx test
* fix sweeper
* v0 musig2 congestion tree
* bitcointree: add signatures support
* add Makefile in common
* fix lint
* fix go.mod and TxBuilder
* go mod tidy
* rename "pset" --> "psbt"
* add GetSweepInput method in TxBuilder
* fix extractSweepLeaf (bitcoin tx builder)
2024-05-31 12:49:52 +02:00
Louis Singer
dca302df69
Dynamic amount in unroll closure ( #173 )
...
* update UnrollClosure
* update TrustedOnboarding flow + add TrustedOnboarding e2e test
* fix linter: grpc.Dial
* add comment
* integration tests: faucet the ASP with 2 utxos
2024-05-28 12:13:03 +02:00
Pietralberto Mazza
dc00d60585
Rename folders ( #97 )
...
* Rename arkd folder & drop cli
* Rename ark cli folder & update docs
* Update readme
* Fix
* scripts: add build-all
* Add target to build cli for all platforms
* Update build scripts
---------
Co-authored-by: tiero <3596602+tiero@users.noreply.github.com >
2024-02-09 19:32:58 +01:00