mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-18 12:44:19 +01:00
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
This commit is contained in:
@@ -92,14 +92,15 @@ func (a *arkClient) InitWithWallet(
|
||||
}
|
||||
|
||||
storeData := store.StoreData{
|
||||
AspUrl: args.AspUrl,
|
||||
AspPubkey: aspPubkey,
|
||||
WalletType: args.Wallet.GetType(),
|
||||
ClientType: args.ClientType,
|
||||
Network: network,
|
||||
RoundLifetime: info.RoundLifetime,
|
||||
UnilateralExitDelay: info.UnilateralExitDelay,
|
||||
MinRelayFee: uint64(info.MinRelayFee),
|
||||
AspUrl: args.AspUrl,
|
||||
AspPubkey: aspPubkey,
|
||||
WalletType: args.Wallet.GetType(),
|
||||
ClientType: args.ClientType,
|
||||
Network: network,
|
||||
RoundLifetime: info.RoundLifetime,
|
||||
UnilateralExitDelay: info.UnilateralExitDelay,
|
||||
MinRelayFee: uint64(info.MinRelayFee),
|
||||
BoardingDescriptorTemplate: info.BoardingDescriptorTemplate,
|
||||
}
|
||||
if err := a.store.AddData(ctx, storeData); err != nil {
|
||||
return err
|
||||
@@ -155,14 +156,15 @@ func (a *arkClient) Init(
|
||||
}
|
||||
|
||||
storeData := store.StoreData{
|
||||
AspUrl: args.AspUrl,
|
||||
AspPubkey: aspPubkey,
|
||||
WalletType: args.WalletType,
|
||||
ClientType: args.ClientType,
|
||||
Network: network,
|
||||
RoundLifetime: info.RoundLifetime,
|
||||
UnilateralExitDelay: info.UnilateralExitDelay,
|
||||
MinRelayFee: uint64(info.MinRelayFee),
|
||||
AspUrl: args.AspUrl,
|
||||
AspPubkey: aspPubkey,
|
||||
WalletType: args.WalletType,
|
||||
ClientType: args.ClientType,
|
||||
Network: network,
|
||||
RoundLifetime: info.RoundLifetime,
|
||||
UnilateralExitDelay: info.UnilateralExitDelay,
|
||||
MinRelayFee: uint64(info.MinRelayFee),
|
||||
BoardingDescriptorTemplate: info.BoardingDescriptorTemplate,
|
||||
}
|
||||
walletSvc, err := getWallet(a.store, &storeData, supportedWallets)
|
||||
if err != nil {
|
||||
@@ -201,12 +203,12 @@ func (a *arkClient) IsLocked(ctx context.Context) bool {
|
||||
}
|
||||
|
||||
func (a *arkClient) Receive(ctx context.Context) (string, string, error) {
|
||||
offchainAddr, onchainAddr, err := a.wallet.NewAddress(ctx, false)
|
||||
offchainAddr, boardingAddr, err := a.wallet.NewAddress(ctx, false)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
|
||||
return offchainAddr, onchainAddr, nil
|
||||
return offchainAddr, boardingAddr, nil
|
||||
}
|
||||
|
||||
func (a *arkClient) ListVtxos(
|
||||
@@ -232,14 +234,11 @@ func (a *arkClient) ListVtxos(
|
||||
func (a *arkClient) ping(
|
||||
ctx context.Context, paymentID string,
|
||||
) func() {
|
||||
_, err := a.client.Ping(ctx, paymentID)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
ticker := time.NewTicker(5 * time.Second)
|
||||
|
||||
go func(t *time.Ticker) {
|
||||
// nolint
|
||||
a.client.Ping(ctx, paymentID)
|
||||
for range t.C {
|
||||
// nolint
|
||||
a.client.Ping(ctx, paymentID)
|
||||
|
||||
Reference in New Issue
Block a user