Commit Graph

128 Commits

Author SHA1 Message Date
Louis Singer
dc64947d28 returns forfeitsTxs in Ping RPC while the finalization started (#161) 2024-04-29 18:58:11 +02:00
tiero
4ef35c8d26 improve README 2024-04-27 04:11:27 +02:00
tiero
ec3692e12d gh action: permissions 2024-04-27 03:51:20 +02:00
Marco Argentieri
30c1df9a66 Improve README (#157)
* Prepare for default liquid, README and Release GH action

* improve README
2024-04-27 03:22:41 +02:00
Marco Argentieri
9496094443 Prepare for default liquid, README and Release GH action (#156) 2024-04-27 03:09:04 +02:00
tiero
4939cdaaa6 client: init network mainnet > liquid 2024-04-26 00:44:23 +02:00
tiero
085fac9372 client: mainnet > liquid 2024-04-25 20:30:31 +02:00
Marco Argentieri
6608b2cc9a ARK_NETWORK=liquid (#140)
* Update config.go

Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>

* common: mainnet > liquid

---------

Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
2024-04-25 20:27:50 +02:00
Marco Argentieri
7c43152a8f use another GOPROXY
Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
2024-04-25 20:15:16 +02:00
Pietralberto Mazza
7fc8d7d07d Get current round & Return spent vtxos for user (#139) 2024-04-23 16:14:35 +02:00
Louis Singer
740d4fb7b1 Add TrustedOnboarding RPC (#138)
* add CreateOnboardingAddress rpc

* add TrustedOnboarding rpc

* remove log.Info in notifications.go
2024-04-23 14:54:27 +02:00
Louis Singer
7a58d97a34 check io.Copy errors in test/e2e/utils.go (#136) 2024-04-19 19:48:57 +02:00
Louis Singer
852756eaba Add integration tests and regtest support (#128)
* regtest support + integration tests (e2e)

* add integration CI

* add PR trigger on integration CI

* wait for ocean to be unlocked at startup

* integration tests: add tests flags and build docker images at startup

* use nigiri chopsticks-liquid

* fix after reviews

* Update client/init.go

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>

* do not trigger integration on PR

---------

Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
2024-04-19 18:57:13 +02:00
Pietralberto Mazza
f9e7621165 Add grpc-gateway and /healthz endpoint (#133)
* Add grpc-gateway and /healthz endpoint

* Add nolint

* nosec
2024-04-19 17:11:59 +02:00
João Bordalo
f135869928 fix client binary name on server/README (#134) 2024-04-19 17:07:18 +02:00
Louis Singer
127c7a07de Fix ValidateConnectors (#132)
* connector validation fix

* better fix
2024-03-27 17:36:04 +01:00
Louis Singer
2261aa0699 Add --enable-expiry-coinselect flag in redeem & send cmds (#131) 2024-03-27 13:32:58 +01:00
tiero
14cefdf35d fix: remove whitespace from ark wallet state keys 2024-03-19 13:34:52 +01:00
tiero
c327712fb5 fix: Dockerfile build args and ark-cli > ark for build-all script 2024-03-19 13:19:39 +01:00
Louis Singer
a5edd57f14 validate round lifetime before appService call (#130) 2024-03-19 13:02:13 +01:00
Louis Singer
834af545de Wait for boarding tx confirmation server-side (#129)
* wait for onboarding confirmation server side

* Update server/internal/core/application/service.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/core/application/service.go

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>

* handleOnboarding func: sleep 30s if an error happens then retry

---------

Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
2024-03-08 17:24:47 +01:00
tiero
767935407d Remove Website from monorepo 2024-03-05 14:25:53 +01:00
João Bordalo
a8f3039e69 Add gh/download links & Update roadmap (#109)
* adds homepage (wip)

* fix footer links

* update nomenclature link on blog post

* small fixes and markdown format

* link fix

* make all docs links relative

* fix vtxo links

* fix errors with Safari

* improves arm detection

* fix bottom color

* update roadmap

* adds faucet instructions

* change ark-cli instructions to accomodate PR 117

* instructions fixes to accomodate onboarding; ui improvements
2024-03-05 14:06:31 +01:00
Pietralberto Mazza
fb64bd35d8 Support connectors validation client-side & Minor fixes (#126)
* Validate connectors client-side when sending offchain

* Minor fixes

* validate connector input in forfeit txs

---------

Co-authored-by: Louis <louis@vulpem.com>
2024-03-05 13:04:32 +01:00
Louis Singer
066e8eeabb Prevent getting cheated by broadcasting forfeit transactions (#123)
* broadcast forfeit transaction in case the user is trying the cheat the ASP

* fix connector input + --cheat flag in CLI

* WIP

* cleaning and fixes

* add TODO

* sweeper.go: mark round swept if vtxo are redeemed

* fixes after reviews

* revert "--cheat" flag in client

* revert redeem.go

* optimization

* update account.go according to ocean ListUtxos new spec

* WaitForSync implementation

* ocean-wallet/service.go: remove go rountine while writing to notification channel
2024-03-04 13:58:36 +01:00
Pietralberto Mazza
6d0d03e316 Cleanup (#121)
* Cleanup common

* Cleanup client

* Cleanup server

* Renamings

* Tidy up proto

* Update ocean protos

* Fixes

* Fixes
2024-02-28 18:05:03 +01:00
Pietralberto Mazza
1650ea5935 Support onboarding & Drop faucet (#119)
* 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>
2024-02-23 16:24:00 +01:00
Louis Singer
a95a829b20 Delay unilateral exit and support send to onchain address (#117)
* add delay on redeem close + forfeit close

* increase default round lifetime (16 minutes min)

* add sequence to final pset

* update CLI and server to support delayed vtxos oncahin

* rename future to "locked"

* add configurable EXIT_DELAY variable

* renaming

* rename "close" --> "closure"

* rename "close" to "closure"

* error message config.go
2024-02-22 16:47:52 +01:00
Pietralberto Mazza
7c8ee7ab12 Give expiration details only when flag is set (#116) 2024-02-21 14:47:39 +01:00
Louis Singer
936f9c5f51 Drop useless encoding (#110)
* drop asec private key encoding

* remove pubkey/relaykey/url encoding in common pkg

* fix pubkey encoding

* remove SecKey
2024-02-20 17:35:11 +01:00
Louis Singer
ffcf08420f Add built-in cli to docker container (#114)
* add -faucet flag in scripts/build

* localhost guard on Faucet request

* add ark cli into docker image

* "BUILD_FLAG" => "BUILD_ARGS", "-faucet" => "with-faucet"

* [docker] use alpine:3.14 instead of debian

* Revert changes

* Expose docker volume for embedded wallet datadir

---------

Co-authored-by: altafan <18440657+altafan@users.noreply.github.com>
2024-02-20 17:28:08 +01:00
Louis Singer
b8e0914ba9 [Client] Add vtxo expiration details to balance & Fix coin selection
* add expiry details in balance command

* coin selection: sort vtxos by olderFirst

* rename type

* balance: add next expiration

* add next expiration in offchain_balance json

* print duration in nextExpiration

* fix dust coin selection

* refactor sort
2024-02-20 17:10:18 +01:00
João Bordalo
10c19dd7d9 blog: update Understanding Ark Liquidity Requirements (#73)
* uses mermaid to explain liquidity requirements

* adds introduction

* Update website/blog/2023-12-14-liquidity-requirements/index.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* rephrase

---------

Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
2024-02-19 17:40:25 +01:00
João Bordalo
7c528daef7 Add README to server (#106)
* adds readme to ark/server

* Update server/README.md

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update server/README.md

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update server/README.md

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

---------

Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
2024-02-19 15:06:21 +01:00
Pietralberto Mazza
bcd66d7ae7 Fixes (#107) 2024-02-13 17:38:55 +01:00
Louis Singer
9944a3cc48 [client] Improve coinselection & verbosity (#104)
* cli logs + handle dust amount

* add wallet initialized

* Update client/common.go

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>

---------

Signed-off-by: Louis Singer <41042567+louisinger@users.noreply.github.com>
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
2024-02-12 18:02:09 +01:00
João Bordalo
7778b6b5a1 [client] Add command to dump private key (#101)
* adds dumpPrivKey command

* Update client/dump.go

Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

---------

Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>
Co-authored-by: Pietralberto Mazza <18440657+altafan@users.noreply.github.com>
2024-02-12 14:28:11 +01:00
Pietralberto Mazza
99961d9fd5 Update event and projection stores in sync (#102) 2024-02-12 14:07:15 +01: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
Pietralberto Mazza
0d8c7bffb2 Handle tls connection with asp (#96) 2024-02-09 17:20:14 +01:00
João Bordalo
ee2a416297 Add timeline to non-cooperative exit (#92)
* show vtxo tree with radix 4

* leaving.md:
- fix links to nomenclature
- add timeline to non-cooperative exit
2024-02-09 17:18:19 +01:00
Louis Singer
53bd542167 Fix checking lifetime in client (#93)
* handle vtxo lifetime in noah send command, ask for comfirmation

* remove confirm question in noah send
2024-02-09 16:50:10 +01:00
Pietralberto Mazza
6a71ff86ea Update docker (#95) 2024-02-09 16:25:55 +01:00
Louis Singer
a348f6c771 Hotfix in sweep flow (#94) 2024-02-09 15:24:06 +01:00
Pietralberto Mazza
2cffc2907c Support docker (#91)
* Move dockerifle and add compose

* Use named volumes
2024-02-09 11:24:48 +01:00
Louis Singer
287db4e08a Support round expiration and sweep vtxos (#70)
* sweeper base implementation

* sweeper service final implementation

* fixes

* fix CSV script

* RoundSwept event fix & test

* remove Vtxos after a sweep transaction

* ARK_ROUND_LIFETIME config

* remove TxBuilder.GetLifetime

* refactor sweeper

* use GetTransaction blocktime

* polish and comments

* fix linting

* pair programming fixes

* several fixes

* clean Println

* fixes

* linter fixes

* remove infrastructure deps from application layer

* Fixes

---------

Co-authored-by: altafan <18440657+altafan@users.noreply.github.com>
2024-02-08 16:58:04 +01:00
Pietralberto Mazza
58aa36b7e7 Hotfix: restore vtxos watch & handle dust when crafting pool tx (#89)
* Add check before printing log

* Check for uncofirmed or confirmed utxos (vtxos)

* Handle dust amount when crafting pool tx

* Clean
2024-02-08 16:08:53 +01:00
Pietralberto Mazza
940214f699 Detect redemptions and mark vtxos has redeemed (#87)
* Update ocean protos & Add blockchain scanner

* Detect redemptions and mark vtxos as redeemed

* Update comment

* Fixes

* Fix watched event type

* Fixes

* Fixes

* Restore watching vtxos at startup

* Update deps
2024-02-08 13:40:28 +01:00
Louis Singer
b2e034cf0e Refactor tx-builder/covenant (#88)
* 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>
2024-02-08 04:51:01 +01:00
Louis Singer
d4ee064245 Send unsigned pool transactions to clients (#85)
* 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
2024-01-24 16:08:50 +01:00