mirror of
https://github.com/lightninglabs/lightning-terminal.git
synced 2026-08-13 12:33:36 +02:00
multi: update lnd dependency to v0.16.0-beta.rc3
- Bump lnd and other module dependencies. - Bump Go build version & RPCs - Refactor itests to use the new lnd itest framework.
This commit is contained in:
parent
592c9e35e0
commit
c267ef64eb
32 changed files with 1600 additions and 499 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
|
@ -12,7 +12,7 @@ env:
|
|||
# If you change this value, please change it in the following files as well:
|
||||
# /Dockerfile
|
||||
# /dev.Dockerfile
|
||||
GO_VERSION: 1.18
|
||||
GO_VERSION: 1.19
|
||||
|
||||
jobs:
|
||||
########################
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ RUN apk add --no-cache --update alpine-sdk \
|
|||
# If you change this value, please also update:
|
||||
# /dev.Dockerfile
|
||||
# /.github/workflows/main.yml
|
||||
FROM golang:1.18-alpine as golangbuilder
|
||||
FROM golang:1.19-alpine as golangbuilder
|
||||
|
||||
# Instead of checking out from git again, we just copy the whole working
|
||||
# directory of the previous stage that includes the generated static assets.
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -77,7 +77,7 @@ endif
|
|||
|
||||
DOCKER_TOOLS = docker run -v $$(pwd):/build litd-tools
|
||||
|
||||
ITEST_TAGS := rpctest itest $(LND_RELEASE_TAGS)
|
||||
ITEST_TAGS := integration itest $(LND_RELEASE_TAGS)
|
||||
ITEST_LDFLAGS := $(call make_ldflags, $(ITEST_TAGS))
|
||||
|
||||
GREEN := "\\033[0;32m"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import (
|
|||
|
||||
"github.com/btcsuite/btcd/chaincfg"
|
||||
"github.com/lightninglabs/lndclient"
|
||||
"github.com/lightningnetwork/lnd/channeldb"
|
||||
invpkg "github.com/lightningnetwork/lnd/invoices"
|
||||
"github.com/lightningnetwork/lnd/lnrpc"
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/lightningnetwork/lnd/lnwire"
|
||||
|
|
@ -381,7 +381,7 @@ func (s *InterceptorService) invoiceUpdate(invoice *lndclient.Invoice) error {
|
|||
|
||||
// The invoice hasn't been settled yet, there is nothing for us to do.
|
||||
// If it eventually settles, we'll be called again.
|
||||
if invoice.State != channeldb.ContractSettled {
|
||||
if invoice.State != invpkg.ContractSettled {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/lightninglabs/lndclient"
|
||||
"github.com/lightningnetwork/lnd/channeldb"
|
||||
invpkg "github.com/lightningnetwork/lnd/invoices"
|
||||
"github.com/lightningnetwork/lnd/lnrpc"
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
|
@ -378,7 +378,7 @@ func TestAccountService(t *testing.T) {
|
|||
SettleIndex: 12,
|
||||
Hash: testHash,
|
||||
AmountPaid: 777,
|
||||
State: channeldb.ContractSettled,
|
||||
State: invpkg.ContractSettled,
|
||||
}
|
||||
|
||||
// Make sure the amount paid is eventually credited.
|
||||
|
|
|
|||
117
app/src/types/generated/lnd_pb.d.ts
generated
vendored
117
app/src/types/generated/lnd_pb.d.ts
generated
vendored
|
|
@ -3,6 +3,54 @@
|
|||
|
||||
import * as jspb from "google-protobuf";
|
||||
|
||||
export class LookupHtlcResolutionRequest extends jspb.Message {
|
||||
getChanId(): string;
|
||||
setChanId(value: string): void;
|
||||
|
||||
getHtlcIndex(): string;
|
||||
setHtlcIndex(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): LookupHtlcResolutionRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: LookupHtlcResolutionRequest): LookupHtlcResolutionRequest.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: LookupHtlcResolutionRequest, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): LookupHtlcResolutionRequest;
|
||||
static deserializeBinaryFromReader(message: LookupHtlcResolutionRequest, reader: jspb.BinaryReader): LookupHtlcResolutionRequest;
|
||||
}
|
||||
|
||||
export namespace LookupHtlcResolutionRequest {
|
||||
export type AsObject = {
|
||||
chanId: string,
|
||||
htlcIndex: string,
|
||||
}
|
||||
}
|
||||
|
||||
export class LookupHtlcResolutionResponse extends jspb.Message {
|
||||
getSettled(): boolean;
|
||||
setSettled(value: boolean): void;
|
||||
|
||||
getOffchain(): boolean;
|
||||
setOffchain(value: boolean): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): LookupHtlcResolutionResponse.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: LookupHtlcResolutionResponse): LookupHtlcResolutionResponse.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: LookupHtlcResolutionResponse, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): LookupHtlcResolutionResponse;
|
||||
static deserializeBinaryFromReader(message: LookupHtlcResolutionResponse, reader: jspb.BinaryReader): LookupHtlcResolutionResponse;
|
||||
}
|
||||
|
||||
export namespace LookupHtlcResolutionResponse {
|
||||
export type AsObject = {
|
||||
settled: boolean,
|
||||
offchain: boolean,
|
||||
}
|
||||
}
|
||||
|
||||
export class SubscribeCustomMessagesRequest extends jspb.Message {
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): SubscribeCustomMessagesRequest.AsObject;
|
||||
|
|
@ -1431,6 +1479,9 @@ export class Channel extends jspb.Message {
|
|||
getZeroConfConfirmedScid(): string;
|
||||
setZeroConfConfirmedScid(value: string): void;
|
||||
|
||||
getPeerAlias(): string;
|
||||
setPeerAlias(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Channel.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Channel): Channel.AsObject;
|
||||
|
|
@ -1476,6 +1527,7 @@ export namespace Channel {
|
|||
aliasScidsList: Array<string>,
|
||||
zeroConf: boolean,
|
||||
zeroConfConfirmedScid: string,
|
||||
peerAlias: string,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1497,6 +1549,9 @@ export class ListChannelsRequest extends jspb.Message {
|
|||
getPeer_asB64(): string;
|
||||
setPeer(value: Uint8Array | string): void;
|
||||
|
||||
getPeerAliasLookup(): boolean;
|
||||
setPeerAliasLookup(value: boolean): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ListChannelsRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ListChannelsRequest): ListChannelsRequest.AsObject;
|
||||
|
|
@ -1514,6 +1569,7 @@ export namespace ListChannelsRequest {
|
|||
publicOnly: boolean,
|
||||
privateOnly: boolean,
|
||||
peer: Uint8Array | string,
|
||||
peerAliasLookup: boolean,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2068,6 +2124,9 @@ export class GetInfoResponse extends jspb.Message {
|
|||
getRequireHtlcInterceptor(): boolean;
|
||||
setRequireHtlcInterceptor(value: boolean): void;
|
||||
|
||||
getStoreFinalHtlcResolutions(): boolean;
|
||||
setStoreFinalHtlcResolutions(value: boolean): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): GetInfoResponse.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: GetInfoResponse): GetInfoResponse.AsObject;
|
||||
|
|
@ -2099,6 +2158,7 @@ export namespace GetInfoResponse {
|
|||
urisList: Array<string>,
|
||||
featuresMap: Array<[number, Feature.AsObject]>,
|
||||
requireHtlcInterceptor: boolean,
|
||||
storeFinalHtlcResolutions: boolean,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2570,6 +2630,21 @@ export class OpenChannelRequest extends jspb.Message {
|
|||
getScidAlias(): boolean;
|
||||
setScidAlias(value: boolean): void;
|
||||
|
||||
getBaseFee(): string;
|
||||
setBaseFee(value: string): void;
|
||||
|
||||
getFeeRate(): string;
|
||||
setFeeRate(value: string): void;
|
||||
|
||||
getUseBaseFee(): boolean;
|
||||
setUseBaseFee(value: boolean): void;
|
||||
|
||||
getUseFeeRate(): boolean;
|
||||
setUseFeeRate(value: boolean): void;
|
||||
|
||||
getRemoteChanReserveSat(): string;
|
||||
setRemoteChanReserveSat(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): OpenChannelRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: OpenChannelRequest): OpenChannelRequest.AsObject;
|
||||
|
|
@ -2602,6 +2677,11 @@ export namespace OpenChannelRequest {
|
|||
commitmentType: CommitmentTypeMap[keyof CommitmentTypeMap],
|
||||
zeroConf: boolean,
|
||||
scidAlias: boolean,
|
||||
baseFee: string,
|
||||
feeRate: string,
|
||||
useBaseFee: boolean,
|
||||
useFeeRate: boolean,
|
||||
remoteChanReserveSat: string,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4036,6 +4116,8 @@ export class LightningNode extends jspb.Message {
|
|||
|
||||
getFeaturesMap(): jspb.Map<number, Feature>;
|
||||
clearFeaturesMap(): void;
|
||||
getCustomRecordsMap(): jspb.Map<number, Uint8Array | string>;
|
||||
clearCustomRecordsMap(): void;
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): LightningNode.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: LightningNode): LightningNode.AsObject;
|
||||
|
|
@ -4054,6 +4136,7 @@ export namespace LightningNode {
|
|||
addressesList: Array<NodeAddress.AsObject>,
|
||||
color: string,
|
||||
featuresMap: Array<[number, Feature.AsObject]>,
|
||||
customRecordsMap: Array<[number, Uint8Array | string]>,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4103,6 +4186,8 @@ export class RoutingPolicy extends jspb.Message {
|
|||
getLastUpdate(): number;
|
||||
setLastUpdate(value: number): void;
|
||||
|
||||
getCustomRecordsMap(): jspb.Map<number, Uint8Array | string>;
|
||||
clearCustomRecordsMap(): void;
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): RoutingPolicy.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: RoutingPolicy): RoutingPolicy.AsObject;
|
||||
|
|
@ -4122,6 +4207,7 @@ export namespace RoutingPolicy {
|
|||
disabled: boolean,
|
||||
maxHtlcMsat: string,
|
||||
lastUpdate: number,
|
||||
customRecordsMap: Array<[number, Uint8Array | string]>,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4154,6 +4240,8 @@ export class ChannelEdge extends jspb.Message {
|
|||
getNode2Policy(): RoutingPolicy | undefined;
|
||||
setNode2Policy(value?: RoutingPolicy): void;
|
||||
|
||||
getCustomRecordsMap(): jspb.Map<number, Uint8Array | string>;
|
||||
clearCustomRecordsMap(): void;
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ChannelEdge.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ChannelEdge): ChannelEdge.AsObject;
|
||||
|
|
@ -4174,6 +4262,7 @@ export namespace ChannelEdge {
|
|||
capacity: string,
|
||||
node1Policy?: RoutingPolicy.AsObject,
|
||||
node2Policy?: RoutingPolicy.AsObject,
|
||||
customRecordsMap: Array<[number, Uint8Array | string]>,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5030,6 +5119,12 @@ export class ListInvoiceRequest extends jspb.Message {
|
|||
getReversed(): boolean;
|
||||
setReversed(value: boolean): void;
|
||||
|
||||
getCreationDateStart(): string;
|
||||
setCreationDateStart(value: string): void;
|
||||
|
||||
getCreationDateEnd(): string;
|
||||
setCreationDateEnd(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ListInvoiceRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ListInvoiceRequest): ListInvoiceRequest.AsObject;
|
||||
|
|
@ -5046,6 +5141,8 @@ export namespace ListInvoiceRequest {
|
|||
indexOffset: string,
|
||||
numMaxInvoices: string,
|
||||
reversed: boolean,
|
||||
creationDateStart: string,
|
||||
creationDateEnd: string,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5264,6 +5361,12 @@ export class ListPaymentsRequest extends jspb.Message {
|
|||
getCountTotalPayments(): boolean;
|
||||
setCountTotalPayments(value: boolean): void;
|
||||
|
||||
getCreationDateStart(): string;
|
||||
setCreationDateStart(value: string): void;
|
||||
|
||||
getCreationDateEnd(): string;
|
||||
setCreationDateEnd(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ListPaymentsRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ListPaymentsRequest): ListPaymentsRequest.AsObject;
|
||||
|
|
@ -5281,6 +5384,8 @@ export namespace ListPaymentsRequest {
|
|||
maxPayments: string,
|
||||
reversed: boolean,
|
||||
countTotalPayments: boolean,
|
||||
creationDateStart: string,
|
||||
creationDateEnd: string,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5823,6 +5928,9 @@ export class ForwardingHistoryRequest extends jspb.Message {
|
|||
getNumMaxEvents(): number;
|
||||
setNumMaxEvents(value: number): void;
|
||||
|
||||
getPeerAliasLookup(): boolean;
|
||||
setPeerAliasLookup(value: boolean): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ForwardingHistoryRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ForwardingHistoryRequest): ForwardingHistoryRequest.AsObject;
|
||||
|
|
@ -5839,6 +5947,7 @@ export namespace ForwardingHistoryRequest {
|
|||
endTime: string,
|
||||
indexOffset: number,
|
||||
numMaxEvents: number,
|
||||
peerAliasLookup: boolean,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5873,6 +5982,12 @@ export class ForwardingEvent extends jspb.Message {
|
|||
getTimestampNs(): string;
|
||||
setTimestampNs(value: string): void;
|
||||
|
||||
getPeerAliasIn(): string;
|
||||
setPeerAliasIn(value: string): void;
|
||||
|
||||
getPeerAliasOut(): string;
|
||||
setPeerAliasOut(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ForwardingEvent.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ForwardingEvent): ForwardingEvent.AsObject;
|
||||
|
|
@ -5895,6 +6010,8 @@ export namespace ForwardingEvent {
|
|||
amtInMsat: string,
|
||||
amtOutMsat: string,
|
||||
timestampNs: string,
|
||||
peerAliasIn: string,
|
||||
peerAliasOut: string,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
868
app/src/types/generated/lnd_pb.js
generated
868
app/src/types/generated/lnd_pb.js
generated
File diff suppressed because it is too large
Load diff
19
app/src/types/generated/lnd_pb_service.d.ts
generated
vendored
19
app/src/types/generated/lnd_pb_service.d.ts
generated
vendored
|
|
@ -598,6 +598,15 @@ type LightningListAliases = {
|
|||
readonly responseType: typeof lnd_pb.ListAliasesResponse;
|
||||
};
|
||||
|
||||
type LightningLookupHtlcResolution = {
|
||||
readonly methodName: string;
|
||||
readonly service: typeof Lightning;
|
||||
readonly requestStream: false;
|
||||
readonly responseStream: false;
|
||||
readonly requestType: typeof lnd_pb.LookupHtlcResolutionRequest;
|
||||
readonly responseType: typeof lnd_pb.LookupHtlcResolutionResponse;
|
||||
};
|
||||
|
||||
export class Lightning {
|
||||
static readonly serviceName: string;
|
||||
static readonly WalletBalance: LightningWalletBalance;
|
||||
|
|
@ -666,6 +675,7 @@ export class Lightning {
|
|||
static readonly SendCustomMessage: LightningSendCustomMessage;
|
||||
static readonly SubscribeCustomMessages: LightningSubscribeCustomMessages;
|
||||
static readonly ListAliases: LightningListAliases;
|
||||
static readonly LookupHtlcResolution: LightningLookupHtlcResolution;
|
||||
}
|
||||
|
||||
export type ServiceError = { message: string, code: number; metadata: grpc.Metadata }
|
||||
|
|
@ -1190,5 +1200,14 @@ export class LightningClient {
|
|||
requestMessage: lnd_pb.ListAliasesRequest,
|
||||
callback: (error: ServiceError|null, responseMessage: lnd_pb.ListAliasesResponse|null) => void
|
||||
): UnaryResponse;
|
||||
lookupHtlcResolution(
|
||||
requestMessage: lnd_pb.LookupHtlcResolutionRequest,
|
||||
metadata: grpc.Metadata,
|
||||
callback: (error: ServiceError|null, responseMessage: lnd_pb.LookupHtlcResolutionResponse|null) => void
|
||||
): UnaryResponse;
|
||||
lookupHtlcResolution(
|
||||
requestMessage: lnd_pb.LookupHtlcResolutionRequest,
|
||||
callback: (error: ServiceError|null, responseMessage: lnd_pb.LookupHtlcResolutionResponse|null) => void
|
||||
): UnaryResponse;
|
||||
}
|
||||
|
||||
|
|
|
|||
40
app/src/types/generated/lnd_pb_service.js
generated
40
app/src/types/generated/lnd_pb_service.js
generated
|
|
@ -604,6 +604,15 @@ Lightning.ListAliases = {
|
|||
responseType: lnd_pb.ListAliasesResponse
|
||||
};
|
||||
|
||||
Lightning.LookupHtlcResolution = {
|
||||
methodName: "LookupHtlcResolution",
|
||||
service: Lightning,
|
||||
requestStream: false,
|
||||
responseStream: false,
|
||||
requestType: lnd_pb.LookupHtlcResolutionRequest,
|
||||
responseType: lnd_pb.LookupHtlcResolutionResponse
|
||||
};
|
||||
|
||||
exports.Lightning = Lightning;
|
||||
|
||||
function LightningClient(serviceHost, options) {
|
||||
|
|
@ -2785,5 +2794,36 @@ LightningClient.prototype.listAliases = function listAliases(requestMessage, met
|
|||
};
|
||||
};
|
||||
|
||||
LightningClient.prototype.lookupHtlcResolution = function lookupHtlcResolution(requestMessage, metadata, callback) {
|
||||
if (arguments.length === 2) {
|
||||
callback = arguments[1];
|
||||
}
|
||||
var client = grpc.unary(Lightning.LookupHtlcResolution, {
|
||||
request: requestMessage,
|
||||
host: this.serviceHost,
|
||||
metadata: metadata,
|
||||
transport: this.options.transport,
|
||||
debug: this.options.debug,
|
||||
onEnd: function (response) {
|
||||
if (callback) {
|
||||
if (response.status !== grpc.Code.OK) {
|
||||
var err = new Error(response.statusMessage);
|
||||
err.code = response.status;
|
||||
err.metadata = response.trailers;
|
||||
callback(err, null);
|
||||
} else {
|
||||
callback(null, response.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
cancel: function () {
|
||||
callback = null;
|
||||
client.close();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
exports.LightningClient = LightningClient;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ export const lndGetInfo: LND.GetInfoResponse.AsObject = {
|
|||
testnet: false,
|
||||
chainsList: [{ chain: 'bitcoin', network: 'regtest' }],
|
||||
requireHtlcInterceptor: false,
|
||||
storeFinalHtlcResolutions: false,
|
||||
urisList: [
|
||||
'038b3fc29cfc195c9b190d86ad2d40ce7550a5c6f13941f53c7d7ac5b25c912a6c@172.18.0.7:9735',
|
||||
],
|
||||
|
|
@ -63,6 +64,7 @@ export const lndGetNodeInfo: Required<LND.NodeInfo.AsObject> = {
|
|||
],
|
||||
lastUpdate: 1591393224,
|
||||
pubKey: '037136742c67e24681f36542f7c8916aa6f6fdf665c1dca2a107425503cff94501',
|
||||
customRecordsMap: [],
|
||||
},
|
||||
numChannels: 3,
|
||||
totalCapacity: '47000000',
|
||||
|
|
@ -126,6 +128,7 @@ export const lndChannel: LND.Channel.AsObject = {
|
|||
aliasScidsList: [],
|
||||
zeroConf: false,
|
||||
zeroConfConfirmedScid: '',
|
||||
peerAlias: '',
|
||||
};
|
||||
|
||||
export const lndListChannelsMany: LND.ListChannelsResponse.AsObject = {
|
||||
|
|
@ -300,6 +303,7 @@ export const lndGetChanInfo: Required<LND.ChannelEdge.AsObject> = {
|
|||
disabled: false,
|
||||
maxHtlcMsat: '1782000000',
|
||||
lastUpdate: 1591622793,
|
||||
customRecordsMap: [],
|
||||
},
|
||||
node2Policy: {
|
||||
timeLockDelta: 40,
|
||||
|
|
@ -309,7 +313,9 @@ export const lndGetChanInfo: Required<LND.ChannelEdge.AsObject> = {
|
|||
disabled: false,
|
||||
maxHtlcMsat: '1782000000',
|
||||
lastUpdate: 1591622772,
|
||||
customRecordsMap: [],
|
||||
},
|
||||
customRecordsMap: [],
|
||||
};
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import (
|
|||
"github.com/btcsuite/btcd/btcec/v2"
|
||||
"github.com/lightninglabs/lightning-terminal/autopilotserverrpc"
|
||||
"github.com/lightninglabs/lightning-terminal/rules"
|
||||
"github.com/lightningnetwork/lnd/lntest"
|
||||
"github.com/lightningnetwork/lnd/lntest/node"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
"gopkg.in/macaroon-bakery.v2/bakery"
|
||||
|
|
@ -54,7 +54,7 @@ type clientSession struct {
|
|||
// NewServer constructs a new MockAutoPilotServer.
|
||||
func NewServer() *Server {
|
||||
return &Server{
|
||||
port: lntest.NextAvailablePort(),
|
||||
port: node.NextAvailablePort(),
|
||||
sessions: make(map[string]*clientSession),
|
||||
grpcServer: grpc.NewServer(
|
||||
grpc.Creds(insecure.NewCredentials()),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
module github.com/lightninglabs/lightning-terminal/autopilotserverrpc
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
google.golang.org/grpc v1.39.0
|
||||
|
|
|
|||
17
config.go
17
config.go
|
|
@ -805,15 +805,24 @@ func buildTLSConfigForHttp2(config *Config) (*tls.Config, error) {
|
|||
if !lnrpc.FileExists(tlsCertPath) &&
|
||||
!lnrpc.FileExists(tlsKeyPath) {
|
||||
|
||||
err := cert.GenCertPair(
|
||||
defaultSelfSignedCertOrganization, tlsCertPath,
|
||||
tlsKeyPath, nil, nil, false,
|
||||
DefaultAutogenValidity,
|
||||
certBytes, keyBytes, err := cert.GenCertPair(
|
||||
defaultSelfSignedCertOrganization, nil, nil,
|
||||
false, DefaultAutogenValidity,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed creating "+
|
||||
"self-signed cert: %v", err)
|
||||
}
|
||||
|
||||
// Now that we have the certificate and key, we'll store
|
||||
// them to the file system.
|
||||
err = cert.WriteCertPair(
|
||||
tlsCertPath, tlsKeyPath, certBytes, keyBytes,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed storing "+
|
||||
"self-signed cert: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
tlsCert, _, err := cert.LoadCert(tlsCertPath, tlsKeyPath)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ RUN cd /go/src/github.com/lightninglabs/lightning-terminal/app \
|
|||
# If you change this value, please also update:
|
||||
# /Dockerfile
|
||||
# /.github/workflows/main.yml
|
||||
FROM golang:1.18-alpine as golangbuilder
|
||||
FROM golang:1.19-alpine as golangbuilder
|
||||
|
||||
# Instead of checking out from git again, we just copy the whole working
|
||||
# directory of the previous stage that includes the generated static assets.
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@ type InterceptMetaInfo struct {
|
|||
|
||||
// ToCaveat returns the full custom caveat string representation of the
|
||||
// interception meta information in this format:
|
||||
// lnd-custom lit-mac-fw meta:<JSON_encoded_meta_information>
|
||||
//
|
||||
// lnd-custom lit-mac-fw meta:<JSON_encoded_meta_information>
|
||||
func (i *InterceptMetaInfo) ToCaveat() (string, error) {
|
||||
jsonBytes, err := json.Marshal(i)
|
||||
if err != nil {
|
||||
|
|
@ -134,7 +135,8 @@ type InterceptRules struct {
|
|||
|
||||
// RulesToCaveat encodes a list of rules as a full custom caveat string
|
||||
// representation in this format:
|
||||
// lnd-custom lit-mac-fw rules:[<array_of_JSON_encoded_rules>]
|
||||
//
|
||||
// lnd-custom lit-mac-fw rules:[<array_of_JSON_encoded_rules>]
|
||||
func RulesToCaveat(rules *InterceptRules) (string, error) {
|
||||
jsonBytes, err := json.Marshal(rules)
|
||||
if err != nil {
|
||||
|
|
|
|||
93
go.mod
93
go.mod
|
|
@ -1,10 +1,10 @@
|
|||
module github.com/lightninglabs/lightning-terminal
|
||||
|
||||
require (
|
||||
github.com/btcsuite/btcd v0.23.4
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.2.2
|
||||
github.com/btcsuite/btcd v0.23.5-0.20230125025938-be056b0a0b2f
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.3.2
|
||||
github.com/btcsuite/btcd/btcutil v1.1.3
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
|
||||
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f
|
||||
github.com/btcsuite/btcwallet/walletdb v1.4.0
|
||||
github.com/go-errors/errors v1.0.1
|
||||
|
|
@ -12,30 +12,30 @@ require (
|
|||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.5.0
|
||||
github.com/improbable-eng/grpc-web v0.12.0
|
||||
github.com/jessevdk/go-flags v1.4.0
|
||||
github.com/lightninglabs/aperture v0.1.18-beta
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230215114316-475a2fe8b5e1
|
||||
github.com/lightninglabs/aperture v0.1.19-beta.0.20230227124349-b952e4ee6ff4
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230307084535-e9359999b5da
|
||||
github.com/lightninglabs/lightning-node-connect v0.1.12-alpha
|
||||
github.com/lightninglabs/lightning-terminal/autopilotserverrpc v0.0.1
|
||||
github.com/lightninglabs/lndclient v0.15.4-0
|
||||
github.com/lightninglabs/loop v0.21.0-beta
|
||||
github.com/lightninglabs/lndclient v0.16.0-9
|
||||
github.com/lightninglabs/loop v0.21.0-beta.0.20230307115451-ec4f2507535c
|
||||
github.com/lightninglabs/loop/swapserverrpc v1.0.3
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20221202155747-aec0aee8d9a1
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20230227204507-0db3a9fdc6fd
|
||||
github.com/lightninglabs/pool/auctioneerrpc v1.1.0
|
||||
github.com/lightninglabs/protobuf-hex-display v1.4.3-hex-display
|
||||
github.com/lightningnetwork/lnd v0.15.5-beta
|
||||
github.com/lightningnetwork/lnd/cert v1.1.1
|
||||
github.com/lightningnetwork/lnd/kvdb v1.3.1
|
||||
github.com/lightningnetwork/lnd v0.16.0-beta.rc2
|
||||
github.com/lightningnetwork/lnd/cert v1.2.1
|
||||
github.com/lightningnetwork/lnd/kvdb v1.4.1
|
||||
github.com/lightningnetwork/lnd/tlv v1.1.0
|
||||
github.com/lightningnetwork/lnd/tor v1.0.1
|
||||
github.com/lightningnetwork/lnd/tor v1.1.0
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f
|
||||
github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76
|
||||
github.com/stretchr/testify v1.8.0
|
||||
github.com/stretchr/testify v1.8.1
|
||||
github.com/urfave/cli v1.22.9
|
||||
go.etcd.io/bbolt v1.3.6
|
||||
golang.org/x/crypto v0.1.0
|
||||
golang.org/x/net v0.7.0
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
||||
google.golang.org/grpc v1.39.0
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
|
||||
google.golang.org/grpc v1.41.0
|
||||
google.golang.org/protobuf v1.28.1
|
||||
gopkg.in/macaroon-bakery.v2 v2.1.0
|
||||
gopkg.in/macaroon.v2 v2.1.0
|
||||
|
|
@ -50,7 +50,7 @@ require (
|
|||
github.com/andybalholm/brotli v1.0.3 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/btcsuite/btcd/btcutil/psbt v1.1.5 // indirect
|
||||
github.com/btcsuite/btcwallet v0.16.5 // indirect
|
||||
github.com/btcsuite/btcwallet v0.16.7 // indirect
|
||||
github.com/btcsuite/btcwallet/wallet/txauthor v1.3.2 // indirect
|
||||
github.com/btcsuite/btcwallet/wallet/txrules v1.2.0 // indirect
|
||||
github.com/btcsuite/btcwallet/wallet/txsizes v1.2.3 // indirect
|
||||
|
|
@ -58,6 +58,7 @@ require (
|
|||
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect
|
||||
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect
|
||||
github.com/btcsuite/winsvc v1.0.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.1.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
||||
github.com/coreos/bbolt v1.3.3 // indirect
|
||||
github.com/coreos/go-semver v0.3.0 // indirect
|
||||
|
|
@ -71,13 +72,13 @@ require (
|
|||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
|
||||
github.com/dsnet/compress v0.0.1 // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/dvyukov/go-fuzz v0.0.0-20210602112143-b1f3d6f4ef4e // indirect
|
||||
github.com/fergusstrange/embedded-postgres v1.10.0 // indirect
|
||||
github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
|
||||
github.com/golang/mock v1.6.0 // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
github.com/google/btree v1.0.1 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/gorilla/websocket v1.4.2 // indirect
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
|
||||
|
|
@ -98,19 +99,22 @@ require (
|
|||
github.com/jrick/logrotate v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.11 // indirect
|
||||
github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/kkdai/bstream v1.0.0 // indirect
|
||||
github.com/klauspost/compress v1.13.6 // indirect
|
||||
github.com/klauspost/pgzip v1.2.5 // indirect
|
||||
github.com/lib/pq v1.10.3 // indirect
|
||||
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf // indirect
|
||||
github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2 // indirect
|
||||
github.com/lightninglabs/neutrino v0.14.2 // indirect
|
||||
github.com/lightningnetwork/lightning-onion v1.0.2-0.20220211021909-bb84a1ccb0c5 // indirect
|
||||
github.com/lightninglabs/neutrino v0.15.0 // indirect
|
||||
github.com/lightninglabs/neutrino/cache v1.1.1 // indirect
|
||||
github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1 // indirect
|
||||
github.com/lightningnetwork/lnd/clock v1.1.0 // indirect
|
||||
github.com/lightningnetwork/lnd/healthcheck v1.2.2 // indirect
|
||||
github.com/lightningnetwork/lnd/queue v1.1.0 // indirect
|
||||
github.com/lightningnetwork/lnd/ticker v1.1.0 // indirect
|
||||
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 // indirect
|
||||
github.com/mattn/go-isatty v0.0.16 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.13 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||
github.com/mholt/archiver/v3 v3.5.0 // indirect
|
||||
|
|
@ -124,6 +128,7 @@ require (
|
|||
github.com/prometheus/client_model v0.2.0 // indirect
|
||||
github.com/prometheus/common v0.26.0 // indirect
|
||||
github.com/prometheus/procfs v0.6.0 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
||||
github.com/rivo/uniseg v0.2.0 // indirect
|
||||
github.com/rogpeppe/fastuuid v1.2.0 // indirect
|
||||
github.com/rs/cors v1.7.0 // indirect
|
||||
|
|
@ -133,7 +138,7 @@ require (
|
|||
github.com/sirupsen/logrus v1.7.0 // indirect
|
||||
github.com/soheilhy/cmux v0.1.5 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/stretchr/objx v0.4.0 // indirect
|
||||
github.com/stretchr/objx v0.5.0 // indirect
|
||||
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
|
||||
github.com/tv42/zbase32 v0.0.0-20160707012821-501572607d02 // indirect
|
||||
|
|
@ -141,39 +146,49 @@ require (
|
|||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
||||
gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect
|
||||
go.etcd.io/etcd/api/v3 v3.5.1 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.1 // indirect
|
||||
go.etcd.io/etcd/client/v2 v2.305.1 // indirect
|
||||
go.etcd.io/etcd/client/v3 v3.5.1 // indirect
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.1 // indirect
|
||||
go.etcd.io/etcd/raft/v3 v3.5.1 // indirect
|
||||
go.etcd.io/etcd/server/v3 v3.5.1 // indirect
|
||||
go.opentelemetry.io/contrib v0.20.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/export/metric v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v0.20.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.7.0 // indirect
|
||||
go.etcd.io/etcd/api/v3 v3.5.7 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
|
||||
go.etcd.io/etcd/client/v2 v2.305.7 // indirect
|
||||
go.etcd.io/etcd/client/v3 v3.5.7 // indirect
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.7 // indirect
|
||||
go.etcd.io/etcd/raft/v3 v3.5.7 // indirect
|
||||
go.etcd.io/etcd/server/v3 v3.5.7 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 // indirect
|
||||
go.opentelemetry.io/otel v1.0.1 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.1 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.0.1 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.0.1 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.9.0 // indirect
|
||||
go.uber.org/atomic v1.7.0 // indirect
|
||||
go.uber.org/multierr v1.6.0 // indirect
|
||||
go.uber.org/zap v1.17.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20221111094246-ab4555d3164f // indirect
|
||||
golang.org/x/mod v0.6.0 // indirect
|
||||
golang.org/x/sys v0.5.0 // indirect
|
||||
golang.org/x/term v0.5.0 // indirect
|
||||
golang.org/x/text v0.7.0 // indirect
|
||||
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
|
||||
golang.org/x/tools v0.2.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20210617175327-b9e0b3197ced // indirect
|
||||
gopkg.in/errgo.v1 v1.0.1 // indirect
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/uint128 v1.2.0 // indirect
|
||||
modernc.org/cc/v3 v3.40.0 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.13 // indirect
|
||||
modernc.org/libc v1.22.2 // indirect
|
||||
modernc.org/mathutil v1.5.0 // indirect
|
||||
modernc.org/memory v1.4.0 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/sqlite v1.20.3 // indirect
|
||||
modernc.org/strutil v1.1.3 // indirect
|
||||
modernc.org/token v1.0.1 // indirect
|
||||
nhooyr.io/websocket v1.8.7 // indirect
|
||||
sigs.k8s.io/yaml v1.2.0 // indirect
|
||||
)
|
||||
|
||||
replace github.com/lightninglabs/lightning-terminal/autopilotserverrpc => ./autopilotserverrpc
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
|
|
|||
226
go.sum
226
go.sum
|
|
@ -33,11 +33,9 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
|
|||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
github.com/Azure/go-ntlmssp v0.0.0-20211209120228-48547f28849e/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU=
|
||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6/go.mod h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4=
|
||||
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
|
||||
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
|
||||
github.com/NebulousLabs/fastrand v0.0.0-20181203155948-6fb6489aac4e h1:n+DcnTNkQnHlwpsrHoQtkrJIO7CBx029fw6oR4vIob4=
|
||||
|
|
@ -63,7 +61,6 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd
|
|||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||
github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJyXg=
|
||||
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
|
|
@ -81,19 +78,17 @@ github.com/btcsuite/btcd v0.22.0-beta.0.20220413172512-bf64c8bdbbbf/go.mod h1:0Q
|
|||
github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY=
|
||||
github.com/btcsuite/btcd v0.23.1/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY=
|
||||
github.com/btcsuite/btcd v0.23.3/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY=
|
||||
github.com/btcsuite/btcd v0.23.4 h1:IzV6qqkfwbItOS/sg/aDfPDsjPP8twrCOE2R93hxMlQ=
|
||||
github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY=
|
||||
github.com/btcsuite/btcd v0.23.5-0.20230125025938-be056b0a0b2f h1:UJ/S/pV25+YsK0CJRJh8RDpTgy5h1oXWjOd4fp+opvY=
|
||||
github.com/btcsuite/btcd v0.23.5-0.20230125025938-be056b0a0b2f/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.2.2 h1:5uxe5YjoCq+JeOpg0gZSNHuFgeogrocBYxvg6w9sAgc=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.2.2/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U=
|
||||
github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04=
|
||||
github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A=
|
||||
github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE=
|
||||
github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34=
|
||||
github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0=
|
||||
github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ=
|
||||
github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0=
|
||||
github.com/btcsuite/btcd/btcutil/psbt v1.1.0/go.mod h1:xMuACsIKDzcE3kWMxqK+aLrAWZ8bMdn7YjYEwNs5q8k=
|
||||
|
|
@ -101,17 +96,16 @@ github.com/btcsuite/btcd/btcutil/psbt v1.1.4/go.mod h1:9AyU6EQVJ9Iw9zPyNT1lcdHd6
|
|||
github.com/btcsuite/btcd/btcutil/psbt v1.1.5 h1:x0ZRrYY8j75ThV6xBz86CkYAG82F5bzay4H5D1c8b/U=
|
||||
github.com/btcsuite/btcd/btcutil/psbt v1.1.5/go.mod h1:kA6FLH/JfUx++j9pYU0pyu+Z8XGBQuuTmuKYUf6q7/U=
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 h1:KdUfX2zKommPRa+PD0sWZUyXe9w277ABlgELO7H04IM=
|
||||
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
|
||||
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo=
|
||||
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
|
||||
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
|
||||
github.com/btcsuite/btcwallet v0.14.0/go.mod h1:KFR1x3ZH7c31i4qA34XIvcsnhrEBLK1SHli52lN8E54=
|
||||
github.com/btcsuite/btcwallet v0.15.1-0.20220512002839-af5562928b70/go.mod h1:OQ+KZYSjNxxSIya6uWKquZBJgb8sV86njOj1tzsf0WE=
|
||||
github.com/btcsuite/btcwallet v0.15.1/go.mod h1:7OFsQ8ypiRwmr67hE0z98uXgJgXGAihE79jCib9x6ag=
|
||||
github.com/btcsuite/btcwallet v0.16.1/go.mod h1:NCO8+5rIcbUm5CtVNSQM0xrtK4iYprlyuvpGzhkejaM=
|
||||
github.com/btcsuite/btcwallet v0.16.5 h1:4DTJ5aYAJomcR0jAb6JP8D0wNSxfz4H7WN/RBtNZY4o=
|
||||
github.com/btcsuite/btcwallet v0.16.5/go.mod h1:mM19pFB3lGVxOL+kvHhHZAhdSWXKsZGiHvpJVvxL0D8=
|
||||
github.com/btcsuite/btcwallet v0.16.7 h1:J6nBMMMc90n77/4QIfzRFn5XB1hPvMDfcgX5U6Ls0kI=
|
||||
github.com/btcsuite/btcwallet v0.16.7/go.mod h1:J/q3/JxytAcuqR+zSTCRZ5K+0LtMuhxtCjLVXKDHBu0=
|
||||
github.com/btcsuite/btcwallet/wallet/txauthor v1.2.1/go.mod h1:/74bubxX5Js48d76nf/TsNabpYp/gndUuJw4chzCmhU=
|
||||
github.com/btcsuite/btcwallet/wallet/txauthor v1.2.3/go.mod h1:T2xSiKGpUkSLCh68aF+FMXmKK9mFqNdHl9VaqOr+JjU=
|
||||
github.com/btcsuite/btcwallet/wallet/txauthor v1.3.2 h1:etuLgGEojecsDOYTII8rYiGHjGyV5xTqsXi+ZQ715UU=
|
||||
|
|
@ -139,6 +133,8 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3
|
|||
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
|
||||
github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk=
|
||||
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
|
||||
github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ=
|
||||
github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
|
||||
github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI=
|
||||
|
|
@ -153,6 +149,7 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
|||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
|
||||
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
|
||||
github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E=
|
||||
|
|
@ -199,7 +196,6 @@ github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5Jflh
|
|||
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
|
||||
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/dvyukov/go-fuzz v0.0.0-20210602112143-b1f3d6f4ef4e h1:qTP1telKJHlToHlwPQNmVg4yfMDMHe4Z3SYmzkrvA2M=
|
||||
github.com/dvyukov/go-fuzz v0.0.0-20210602112143-b1f3d6f4ef4e/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
|
||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
|
|
@ -207,11 +203,11 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
|
|||
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
|
||||
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fergusstrange/embedded-postgres v1.10.0 h1:YnwF6xAQYmKLAXXrrRx4rHDLih47YJwVPvg8jeKfdNg=
|
||||
github.com/fergusstrange/embedded-postgres v1.10.0/go.mod h1:a008U8/Rws5FtIOTGYDYa7beVWsT3qVKyqExqYYjL+c=
|
||||
github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c=
|
||||
github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
|
||||
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
|
||||
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
|
||||
|
|
@ -256,12 +252,13 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E
|
|||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0=
|
||||
github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/glog v0.0.0-20210429001901-424d2337a529 h1:2voWjNECnrZRbfwXxHB1/j8wa6xdKn85B5NzgVL/pTU=
|
||||
github.com/golang/glog v0.0.0-20210429001901-424d2337a529/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
|
|
@ -278,7 +275,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
|
|||
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
||||
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
|
||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
|
|
@ -316,8 +312,8 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
|||
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
|
||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
|
|
@ -328,13 +324,14 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf
|
|||
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
|
|
@ -360,7 +357,6 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX
|
|||
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
|
||||
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
|
|
@ -424,12 +420,6 @@ github.com/jackpal/gateway v1.0.5 h1:qzXWUJfuMdlLMtt0a3Dgt+xkWQiA5itDEITVJtuSwMc
|
|||
github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA=
|
||||
github.com/jackpal/go-nat-pmp v0.0.0-20170405195558-28a68d0c24ad h1:heFfj7z0pGsNCekUlsFhO2jstxO4b5iQ665LjwM5mDc=
|
||||
github.com/jackpal/go-nat-pmp v0.0.0-20170405195558-28a68d0c24ad/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
|
||||
github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs=
|
||||
github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM=
|
||||
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
|
||||
github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg=
|
||||
github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc=
|
||||
github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
|
||||
github.com/jedib0t/go-pretty/v6 v6.2.7 h1:4823Lult/tJ0VI1PgW3aSKw59pMWQ6Kzv9b3Bj6MwY0=
|
||||
github.com/jedib0t/go-pretty/v6 v6.2.7/go.mod h1:FMkOpgGD3EZ91cW8g/96RfxoV7bdeJyzXPYgz1L1ln0=
|
||||
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
|
||||
|
|
@ -451,22 +441,15 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X
|
|||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/juju/ansiterm v0.0.0-20160907234532-b99631de12cf/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
|
||||
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
|
||||
github.com/juju/ansiterm v0.0.0-20210706145210-9283cdf370b5/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
|
||||
github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA=
|
||||
github.com/juju/clock v0.0.0-20220202072423-1b0f830854c4/go.mod h1:zDZCPSgCJQINeZtQwHx2/cFk4seaBC8Yiqe8V82xiP0=
|
||||
github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a h1:Az/6CM/P5guGHNy7r6TkOCctv3lDmN3W1uhku7QMupk=
|
||||
github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a/go.mod h1:GZ/FY8Cqw3KHG6DwRVPUKbSPTAwyrU28xFi5cqZnLsc=
|
||||
github.com/juju/cmd v0.0.0-20171107070456-e74f39857ca0/go.mod h1:yWJQHl73rdSX4DHVKGqkAip+huBslxRwS8m9CrOLq18=
|
||||
github.com/juju/cmd/v3 v3.0.0-20220202061353-b1cc80b193b0/go.mod h1:EoGJiEG+vbMwO9l+Es0SDTlaQPjH6nLcnnc4NfZB3cY=
|
||||
github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271/go.mod h1:5XgO71dV1JClcOJE+4dzdn4HrI5LiyKd7PlVG6eZYhY=
|
||||
github.com/juju/collections v0.0.0-20220203020748-febd7cad8a7a h1:d7eZO8OS/ZXxdP0uq3E8CdoA1qNFaecAv90UxrxaY2k=
|
||||
github.com/juju/collections v0.0.0-20220203020748-febd7cad8a7a/go.mod h1:JWeZdyttIEbkR51z2S13+J+aCuHVe0F6meRy+P0YGDo=
|
||||
github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
|
||||
github.com/juju/errors v0.0.0-20200330140219-3fe23663418f/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
|
||||
github.com/juju/errors v0.0.0-20210818161939-5560c4c073ff/go.mod h1:i1eL7XREII6aHpQ2gApI/v6FkVUDEBremNkcBCKYAcY=
|
||||
github.com/juju/errors v0.0.0-20220203013757-bd733f3c86b9/go.mod h1:TRm7EVGA3mQOqSVcBySRY7a9Y1/gyVhh/WTCnc5sD4U=
|
||||
github.com/juju/errors v0.0.0-20220331221717-b38fca44723b h1:AxFeSQJfcm2O3ov1wqAkTKYFsnMw2g1B4PkYujfAdkY=
|
||||
github.com/juju/errors v0.0.0-20220331221717-b38fca44723b/go.mod h1:jMGj9DWF/qbo91ODcfJq6z/RYc3FX3taCBZMCcpI4Ls=
|
||||
github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE=
|
||||
github.com/juju/httpprof v0.0.0-20141217160036-14bf14c30767/go.mod h1:+MaLYz4PumRkkyHYeXJ2G5g5cIW0sli2bOfpmbaMV/g=
|
||||
github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
|
||||
|
|
@ -475,19 +458,13 @@ github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4 h1:NO5tuyw++EGLnz56Q8KM
|
|||
github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4/go.mod h1:NIXFioti1SmKAlKNuUwbMenNdef59IF52+ZzuOmHYkg=
|
||||
github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208/go.mod h1:0OChplkvPTZ174D2FYZXg4IB9hbEwyHkD+zT+/eK+Fg=
|
||||
github.com/juju/mgo/v2 v2.0.0-20220111072304-f200228f1090 h1:zX5GoH3Jp8k1EjUFkApu/YZAYEn0PYQfg/U6IDyNyYs=
|
||||
github.com/juju/mgo/v2 v2.0.0-20220111072304-f200228f1090/go.mod h1:N614SE0a4e+ih2rg96Vi2PeC3cTpUOWgCTv3Cgk974c=
|
||||
github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY=
|
||||
github.com/juju/mutex/v2 v2.0.0-20220128011612-57176ebdcfa3/go.mod h1:TTCG9BJD9rCC4DZFz3jA0QvCqFDHw8Eqz0jstwY7RTQ=
|
||||
github.com/juju/mutex/v2 v2.0.0-20220203023141-11eeddb42c6c/go.mod h1:jwCfBs/smYDaeZLqeaCi8CB8M+tOes4yf827HoOEoqk=
|
||||
github.com/juju/retry v0.0.0-20151029024821-62c620325291/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4=
|
||||
github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4=
|
||||
github.com/juju/retry v0.0.0-20220204093819-62423bf33287 h1:U+7oMWEglXfiikIppNexButZRwKPlzLBGKYSNCXzXf8=
|
||||
github.com/juju/retry v0.0.0-20220204093819-62423bf33287/go.mod h1:SssN1eYeK3A2qjnFGTiVMbdzGJ2BfluaJblJXvuvgqA=
|
||||
github.com/juju/testing v0.0.0-20180402130637-44801989f0f7/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
|
||||
github.com/juju/testing v0.0.0-20180517134105-72703b1e95eb/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
|
||||
github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
|
||||
github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07/go.mod h1:7lxZW0B50+xdGFkvhAb8bwAGt6IU87JB1H9w4t8MNVM=
|
||||
github.com/juju/testing v0.0.0-20210324180055-18c50b0c2098/go.mod h1:7lxZW0B50+xdGFkvhAb8bwAGt6IU87JB1H9w4t8MNVM=
|
||||
github.com/juju/testing v0.0.0-20220202055744-1ad0816210a6/go.mod h1:QgWc2UdIPJ8t3rnvv95tFNOsQDfpXYEZDbP281o3b2c=
|
||||
github.com/juju/testing v0.0.0-20220203020004-a0ff61f03494 h1:XEDzpuZb8Ma7vLja3+5hzUqVTvAqm5Y+ygvnDs5iTMM=
|
||||
github.com/juju/testing v0.0.0-20220203020004-a0ff61f03494/go.mod h1:rUquetT0ALL48LHZhyRGvjjBH8xZaZ8dFClulKK5wK4=
|
||||
|
|
@ -496,19 +473,18 @@ github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647 h1:wQpkHVbIIpz1PCcLYku9
|
|||
github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk=
|
||||
github.com/juju/utils/v2 v2.0.0-20200923005554-4646bfea2ef1/go.mod h1:fdlDtQlzundleLLz/ggoYinEt/LmnrpNKcNTABQATNI=
|
||||
github.com/juju/utils/v3 v3.0.0-20220130232349-cd7ecef0e94a/go.mod h1:LzwbbEN7buYjySp4nqnti6c6olSqRXUk6RkbSUUP1n8=
|
||||
github.com/juju/utils/v3 v3.0.0-20220202114721-338bb0530e89/go.mod h1:wf5w+8jyTh2IYnSX0sHnMJo4ZPwwuiBWn+xN3DkQg4k=
|
||||
github.com/juju/utils/v3 v3.0.0-20220203023959-c3fbc78a33b0 h1:bn+2Adl1yWqYjm3KSFlFqsvfLg2eq+XNL7GGMYApdVw=
|
||||
github.com/juju/utils/v3 v3.0.0-20220203023959-c3fbc78a33b0/go.mod h1:8csUcj1VRkfjNIRzBFWzLFCMLwLqsRWvkmhfVAUwbC4=
|
||||
github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U=
|
||||
github.com/juju/version v0.0.0-20180108022336-b64dbd566305/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U=
|
||||
github.com/juju/version v0.0.0-20191219164919-81c1be00b9a6 h1:nrqc9b4YKpKV4lPI3GPPFbo5FUuxkWxgZE2Z8O4lgaw=
|
||||
github.com/juju/version v0.0.0-20191219164919-81c1be00b9a6/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U=
|
||||
github.com/juju/version/v2 v2.0.0-20211007103408-2e8da085dc23/go.mod h1:Ljlbryh9sYaUSGXucslAEDf0A2XUSGvDbHJgW8ps6nc=
|
||||
github.com/juju/version/v2 v2.0.0-20220204124744-fc9915e3d935 h1:6YoyzXVW1XkqN86y2s/rz365Jm7EiAy39v2G5ikzvHU=
|
||||
github.com/juju/version/v2 v2.0.0-20220204124744-fc9915e3d935/go.mod h1:ZeFjNy+UFEWJDDPdzW7Cm9NeU6dsViGaFYhXzycLQrw=
|
||||
github.com/julienschmidt/httprouter v1.1.1-0.20151013225520-77a895ad01eb/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
|
|
@ -547,10 +523,11 @@ github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
|||
github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lib/pq v1.10.3 h1:v9QZf2Sn6AmjXtQeFpdoq/eaNtYP6IN+7lcrygsIAtg=
|
||||
github.com/lib/pq v1.10.3/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lightninglabs/aperture v0.1.18-beta h1:LsrvNyCAeyD4v7xSQ3Lsu5AYX4CDx3ub0kuCv6/AMNQ=
|
||||
github.com/lightninglabs/aperture v0.1.18-beta/go.mod h1:lDjRKhndRH0CzZQ2m8dWODdqp/ejEW7esb2u2nlvrw4=
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230215114316-475a2fe8b5e1 h1:tMLNw1iuhunNIBo5AAItl3Zjqo8U4/sY+WrTtWweEVU=
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230215114316-475a2fe8b5e1/go.mod h1:wiqeT43NmVv9HQlSzTVZmW6bRjoJDPNN1RpZr451aJE=
|
||||
github.com/lightninglabs/aperture v0.1.19-beta.0.20230227124349-b952e4ee6ff4 h1:1KwmHQWnssx7yk0HzOUMcAkwIdVerEozmvq3B5luO4Y=
|
||||
github.com/lightninglabs/aperture v0.1.19-beta.0.20230227124349-b952e4ee6ff4/go.mod h1:q6FqmxkrHxQgmbSHW5CMxQlhIMiXxqVogBZYmC0OmhQ=
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230307084535-e9359999b5da h1:7DgyJvFgCbgQsPEHsNShAfW+umjVvOqEp6n0IgQXpQ0=
|
||||
github.com/lightninglabs/faraday v0.2.9-alpha.0.20230307084535-e9359999b5da/go.mod h1:uJ6dqaUatwiOcyek6SzJ/Rt6LZI5BQIopXVZr3L+xvU=
|
||||
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf h1:HZKvJUHlcXI/f/O0Avg7t8sqkPo78HFzjmeYFl6DPnc=
|
||||
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf/go.mod h1:vxmQPeIQxPf6Jf9rM8R+B4rKBqLA2AjttNxkFBL2Plk=
|
||||
github.com/lightninglabs/lightning-node-connect v0.1.12-alpha h1:S/S2EmOoTsa6cCDcJjnHGvzkhf69XH7qJ4nMYBVpqwc=
|
||||
|
|
@ -558,42 +535,43 @@ github.com/lightninglabs/lightning-node-connect v0.1.12-alpha/go.mod h1:dgyhE+O4
|
|||
github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2 h1:Er1miPZD2XZwcfE4xoS5AILqP1mj7kqnhbBSxW9BDxY=
|
||||
github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2/go.mod h1:antQGRDRJiuyQF6l+k6NECCSImgCpwaZapATth2Chv4=
|
||||
github.com/lightninglabs/lndclient v0.15.0-0/go.mod h1:ORS/YFe9hAXlzN/Uj+gvTmrnXEml6yD6dWwzCjpTJyQ=
|
||||
github.com/lightninglabs/lndclient v0.15.1-5/go.mod h1:6pymu+B4mYQDWQH1Beu51Pnrj556xNlqOe5j1ITsADE=
|
||||
github.com/lightninglabs/lndclient v0.15.4-0 h1:K+Biu0V94VRLBmc+DQJcU0KrRQI7wOndIAFpV7qIGiQ=
|
||||
github.com/lightninglabs/lndclient v0.15.4-0/go.mod h1:bCUgwozVk/5O99DajpJxUfaCbjSXgHuis5WT2iC7B5c=
|
||||
github.com/lightninglabs/loop v0.21.0-beta h1:owJ+xPl3roSmcc51ofGBSzHgBVtj/6KmU5gWc0xfNRM=
|
||||
github.com/lightninglabs/loop v0.21.0-beta/go.mod h1:mVxxiGCyE1VpVREQBM29qg2D6ZZ6m/qpLZBeeNNN7JI=
|
||||
github.com/lightninglabs/loop/swapserverrpc v1.0.1/go.mod h1:imy1/sqnb70EEyBKMo4pHwwLBPW8uYahWZ8s+1Xcq1o=
|
||||
github.com/lightninglabs/lndclient v0.16.0-9 h1:rqvmEgH/1yILUwkB1Kg60EcBEFUWfV5iFJ1llpFfjoM=
|
||||
github.com/lightninglabs/lndclient v0.16.0-9/go.mod h1:2lh5FD1Xtu+k5Pl+iMzSklFsjN+7QmcoJ5GAh+nzj5g=
|
||||
github.com/lightninglabs/loop v0.21.0-beta.0.20230307115451-ec4f2507535c h1:VeKuYugjdBoj6AcvnwCYpwZLtZyjrXBCldeY1mSIvf0=
|
||||
github.com/lightninglabs/loop v0.21.0-beta.0.20230307115451-ec4f2507535c/go.mod h1:HAYzQBOlfQlBNDccZvw5MWBO6FDzdGgKoZZJ0souUP0=
|
||||
github.com/lightninglabs/loop/swapserverrpc v1.0.3 h1:Uslz7QZ2MWKo00JrEumCqDs9S4hR6Is4cA2GsoTbLd8=
|
||||
github.com/lightninglabs/loop/swapserverrpc v1.0.3/go.mod h1:imy1/sqnb70EEyBKMo4pHwwLBPW8uYahWZ8s+1Xcq1o=
|
||||
github.com/lightninglabs/neutrino v0.13.2/go.mod h1:Cv/v8oHiPhuGiGvGgO+rIMhwCwEdsQFu6as840i2afw=
|
||||
github.com/lightninglabs/neutrino v0.14.1/go.mod h1:SV9ccrw2m6t6UvJX8xB//W0Dv+LEwMTbjg4V/Fb5KwU=
|
||||
github.com/lightninglabs/neutrino v0.14.2 h1:yrnZUCYMZ5ECtXhgDrzqPq2oX8awoAN2D/cgCewJcCo=
|
||||
github.com/lightninglabs/neutrino v0.14.2/go.mod h1:OICUeTCn+4Tu27YRJIpWvvqySxx4oH4vgdP33Sw9RDc=
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20221202155747-aec0aee8d9a1 h1:MuvbpEhS+jV6NMB2jKjKagq3lUh2w5qZiOGxNuciK30=
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20221202155747-aec0aee8d9a1/go.mod h1:x7jWw8GelJKxLf0sAwArUPxbp4FzTalK3+eWjGY/b0g=
|
||||
github.com/lightninglabs/neutrino v0.15.0 h1:yr3uz36fLAq8hyM0TRUVlef1TRNoWAqpmmNlVtKUDtI=
|
||||
github.com/lightninglabs/neutrino v0.15.0/go.mod h1:pmjwElN/091TErtSE9Vd5W4hpxoG2/+xlb+HoPm9Gug=
|
||||
github.com/lightninglabs/neutrino/cache v1.1.1 h1:TllWOSlkABhpgbWJfzsrdUaDH2fBy/54VSIB4vVqV8M=
|
||||
github.com/lightninglabs/neutrino/cache v1.1.1/go.mod h1:XJNcgdOw1LQnanGjw8Vj44CvguYA25IMKjWFZczwZuo=
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20230227204507-0db3a9fdc6fd h1:pbNKLVdWnLXy12Jyf79DUbkA1k/gbG4Qqq4YZyPkc/M=
|
||||
github.com/lightninglabs/pool v0.6.1-beta.0.20230227204507-0db3a9fdc6fd/go.mod h1:v5VyYxU+mLsBgDoniJv9ylOsIY2E+xaOR/iSNHfTIiM=
|
||||
github.com/lightninglabs/pool/auctioneerrpc v1.1.0 h1:XOhmaFKRvQ1smwkY9SRTA0+FCloTExuhaQX4jgtrBB0=
|
||||
github.com/lightninglabs/pool/auctioneerrpc v1.1.0/go.mod h1:F9uND5Kpj2eYeYe0RLi8IWQHsRjQ88FUp8itkYmX1Mo=
|
||||
github.com/lightninglabs/protobuf-hex-display v1.4.3-hex-display h1:RZJ8H4ueU/aQ9pFtx5wqsuD3B/DezrewJeVwDKKYY8E=
|
||||
github.com/lightninglabs/protobuf-hex-display v1.4.3-hex-display/go.mod h1:2oKOBU042GKFHrdbgGiKax4xVrFiZu51lhacUZQ9MnE=
|
||||
github.com/lightningnetwork/lightning-onion v1.0.2-0.20220211021909-bb84a1ccb0c5 h1:TkKwqFcQTGYoI+VEqyxA8rxpCin8qDaYX0AfVRinT3k=
|
||||
github.com/lightningnetwork/lightning-onion v1.0.2-0.20220211021909-bb84a1ccb0c5/go.mod h1:7dDx73ApjEZA0kcknI799m2O5kkpfg4/gr7N092ojNo=
|
||||
github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1 h1:Wm0g70gkcAu2pGpNZwfWPSVOY21j8IyYsNewwK4OkT4=
|
||||
github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1/go.mod h1:7dDx73ApjEZA0kcknI799m2O5kkpfg4/gr7N092ojNo=
|
||||
github.com/lightningnetwork/lnd v0.14.1-beta.0.20220324135938-0dcaa511a249/go.mod h1:Tp3ZxsfioUl6kQ30RrbMqWoZyZ4K+fv/o1lMEU8U7rA=
|
||||
github.com/lightningnetwork/lnd v0.15.0-beta.rc3/go.mod h1:NzCE1ZGct0YEW9u74TXUpXp5AoUXzpkI5lgrO7x0ugM=
|
||||
github.com/lightningnetwork/lnd v0.15.1-beta/go.mod h1:21UpSyTj8n94nsaJ0OFRXk4yOEkE7xA9JEX5QS4oMy4=
|
||||
github.com/lightningnetwork/lnd v0.15.4-beta/go.mod h1:6aoOkifcI9tuk8UV5l2rVZSq0681obuP4zvfK+2ZrT0=
|
||||
github.com/lightningnetwork/lnd v0.15.5-beta h1:jdGVLJIYSe60NAn7qzBY3gET2I/FmLW4TTGvrECmgOE=
|
||||
github.com/lightningnetwork/lnd v0.15.5-beta/go.mod h1:/UKsaOll/pYJltXIC0VKRGHR0Jqhl9bBX/fUiINSwF4=
|
||||
github.com/lightningnetwork/lnd/cert v1.1.1 h1:Nsav0RlIDRbOnzz2Yu69SQlK939IKya3Q2S0mDviIN8=
|
||||
github.com/lightningnetwork/lnd v0.16.0-beta.rc2 h1:49vVlAzUBcE6kEBDl77ohKsFmlzJ5YOZ4dGHCzNoYb4=
|
||||
github.com/lightningnetwork/lnd v0.16.0-beta.rc2/go.mod h1:MepaR6bfcPFLt6dGfz3Y8P2BFtvOLJuqT6aulf2eYhE=
|
||||
github.com/lightningnetwork/lnd/cert v1.1.1/go.mod h1:1P46svkkd73oSoeI4zjkVKgZNwGq8bkGuPR8z+5vQUs=
|
||||
github.com/lightningnetwork/lnd/cert v1.2.1 h1:CTrTcU0L66J73oqdRLVfNylZyp1Fh97ZezX6IuzkrqE=
|
||||
github.com/lightningnetwork/lnd/cert v1.2.1/go.mod h1:04JhIEodoR6usBN5+XBRtLEEmEHsclLi0tEyxZQNP+w=
|
||||
github.com/lightningnetwork/lnd/clock v1.0.1/go.mod h1:KnQudQ6w0IAMZi1SgvecLZQZ43ra2vpDNj7H/aasemg=
|
||||
github.com/lightningnetwork/lnd/clock v1.1.0 h1:/yfVAwtPmdx45aQBoXQImeY7sOIEr7IXlImRMBOZ7GQ=
|
||||
github.com/lightningnetwork/lnd/clock v1.1.0/go.mod h1:KnQudQ6w0IAMZi1SgvecLZQZ43ra2vpDNj7H/aasemg=
|
||||
github.com/lightningnetwork/lnd/healthcheck v1.0.0/go.mod h1:u92p1JGFJNMSkMvztKEwmt1P3TRnLeJBXZ3M85xkU1E=
|
||||
github.com/lightningnetwork/lnd/healthcheck v1.2.2 h1:im+qcpgSuteqRCGeorT9yqVXuLrS6A7/acYzGgarMS4=
|
||||
github.com/lightningnetwork/lnd/healthcheck v1.2.2/go.mod h1:IWY0GChlarRbXFkFDdE4WY5POYJabe/7/H1iCZt4ZKs=
|
||||
github.com/lightningnetwork/lnd/kvdb v1.3.1 h1:gEz3zudNNRrCLEvqRaktYoKwsUblyHX+MKjR0aI3QnM=
|
||||
github.com/lightningnetwork/lnd/kvdb v1.3.1/go.mod h1:x+IpsuDynubjokUofavLXroeGfS/WrqUXXTK6vN/gp4=
|
||||
github.com/lightningnetwork/lnd/kvdb v1.4.1 h1:l/nLBPLbdvP/lajMtrFMLzAi5OoLTH3+zUU6SwoEEv8=
|
||||
github.com/lightningnetwork/lnd/kvdb v1.4.1/go.mod h1:f+F7Da8HTa8MePFsdWvusGRdcmWTgSWykGsVyC02Z5M=
|
||||
github.com/lightningnetwork/lnd/queue v1.0.1/go.mod h1:vaQwexir73flPW43Mrm7JOgJHmcEFBWWSl9HlyASoms=
|
||||
github.com/lightningnetwork/lnd/queue v1.1.0 h1:YpCJjlIvVxN/R7ww2aNiY8ex7U2fucZDLJ67tI3HFx8=
|
||||
github.com/lightningnetwork/lnd/queue v1.1.0/go.mod h1:YTkTVZCxz8tAYreH27EO3s8572ODumWrNdYW2E/YKxg=
|
||||
|
|
@ -605,34 +583,31 @@ github.com/lightningnetwork/lnd/tlv v1.0.3/go.mod h1:dzR/aZetBri+ZY/fHbwV06fNn/3
|
|||
github.com/lightningnetwork/lnd/tlv v1.1.0 h1:gsyte75HVuA/X59O+BhaISHM6OobZ0YesPbdu+xG1h0=
|
||||
github.com/lightningnetwork/lnd/tlv v1.1.0/go.mod h1:0+JKp4un47MG1lnj6jKa8woNeB1X7w3yF4MZB1NHiiE=
|
||||
github.com/lightningnetwork/lnd/tor v1.0.0/go.mod h1:RDtaAdwfAm+ONuPYwUhNIH1RAvKPv+75lHPOegUcz64=
|
||||
github.com/lightningnetwork/lnd/tor v1.0.1 h1:A11FrpU0Y//g+fA827W4VnjOeoIvExONdchlLX8wYkA=
|
||||
github.com/lightningnetwork/lnd/tor v1.0.1/go.mod h1:RDtaAdwfAm+ONuPYwUhNIH1RAvKPv+75lHPOegUcz64=
|
||||
github.com/lightningnetwork/lnd/tor v1.1.0 h1:iXO7fSzjxTI+p88KmtpbuyuRJeNfgtpl9QeaAliILXE=
|
||||
github.com/lightningnetwork/lnd/tor v1.1.0/go.mod h1:RDtaAdwfAm+ONuPYwUhNIH1RAvKPv+75lHPOegUcz64=
|
||||
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 h1:sjOGyegMIhvgfq5oaue6Td+hxZuf3tDC8lAPrFldqFw=
|
||||
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796/go.mod h1:3p7ZTf9V1sNPI5H8P3NkTFF4LuwMdPl2DodF60qAKqY=
|
||||
github.com/ltcsuite/ltcutil v0.0.0-20181217130922-17f3b04680b6/go.mod h1:8Vg/LTOO0KYa/vlHWJ6XZAevPQThGH5sufO0Hrou/lA=
|
||||
github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
||||
github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/masterzen/azure-sdk-for-go v3.2.0-beta.0.20161014135628-ee4f0065d00c+incompatible/go.mod h1:mf8fjOu33zCqxUjuiU3I8S1lJMyEAlH+0F2+M5xl3hE=
|
||||
github.com/masterzen/simplexml v0.0.0-20160608183007-4572e39b1ab9/go.mod h1:kCEbxUJlNDEBNbdQMkPSp6yaKcRXVI6f4ddk8Riv4bc=
|
||||
github.com/masterzen/simplexml v0.0.0-20190410153822-31eea3082786/go.mod h1:kCEbxUJlNDEBNbdQMkPSp6yaKcRXVI6f4ddk8Riv4bc=
|
||||
github.com/masterzen/winrm v0.0.0-20161014151040-7a535cd943fc/go.mod h1:CfZSN7zwz5gJiFhZJz49Uzk7mEBHIceWmbFmYx7Hf7E=
|
||||
github.com/masterzen/winrm v0.0.0-20211231115050-232efb40349e/go.mod h1:Iju3u6NzoTAvjuhsGCZc+7fReNnr/Bd6DsWj3WTokIU=
|
||||
github.com/masterzen/xmlpath v0.0.0-20140218185901-13f4951698ad/go.mod h1:A0zPC53iKKKcXYxr4ROjpQRQ5FgJXtelNdSmHHuq/tY=
|
||||
github.com/mattn/go-colorable v0.0.6/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
||||
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA=
|
||||
github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
|
||||
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/mholt/archiver/v3 v3.5.0 h1:nE8gZIrw66cu4osS/U7UW7YDuGMHssxKutU8IfWxwWE=
|
||||
|
|
@ -715,6 +690,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O
|
|||
github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4=
|
||||
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||
|
|
@ -759,8 +736,9 @@ github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q
|
|||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
|
|
@ -768,8 +746,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
|
|||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
|
||||
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
|
||||
|
|
@ -789,8 +768,7 @@ github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0o
|
|||
github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli v1.22.9 h1:cv3/KhXGBGjEXLC4bH0sLuJ9BewaAbpk5oyMOveu4pw=
|
||||
github.com/urfave/cli v1.22.9/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
|
||||
github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs=
|
||||
github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
|
||||
|
|
@ -809,60 +787,69 @@ go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBC
|
|||
go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
|
||||
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
|
||||
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
|
||||
go.etcd.io/etcd/api/v3 v3.5.1 h1:v28cktvBq+7vGyJXF8G+rWJmj+1XUmMtqcLnH8hDocM=
|
||||
go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
|
||||
go.etcd.io/etcd/api/v3 v3.5.7 h1:sbcmosSVesNrWOJ58ZQFitHMdncusIifYcrBfwrlJSY=
|
||||
go.etcd.io/etcd/api/v3 v3.5.7/go.mod h1:9qew1gCdDDLu+VwmeG+iFpL+QlpHTo7iubavdVDgCAA=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.1 h1:XIQcHCFSG53bJETYeRJtIxdLv2EWRGxcfzR8lSnTH4E=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.7 h1:y3kf5Gbp4e4q7egZdn5T7W9TSHUvkClN6u+Rq9mEOmg=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.7/go.mod h1:o0Abi1MK86iad3YrWhgUsbGx1pmTS+hrORWc2CamuhY=
|
||||
go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
|
||||
go.etcd.io/etcd/client/v2 v2.305.1 h1:vtxYCKWA9x31w0WJj7DdqsHFNjhkigdAnziDtkZb/l4=
|
||||
go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs=
|
||||
go.etcd.io/etcd/client/v2 v2.305.7 h1:AELPkjNR3/igjbO7CjyF1fPuVPjrblliiKj+Y6xSGOU=
|
||||
go.etcd.io/etcd/client/v2 v2.305.7/go.mod h1:GQGT5Z3TBuAQGvgPfhR7VPySu/SudxmEkRq9BgzFU6s=
|
||||
go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=
|
||||
go.etcd.io/etcd/client/v3 v3.5.1 h1:oImGuV5LGKjCqXdjkMHCyWa5OO1gYKCnC/1sgdfj1Uk=
|
||||
go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q=
|
||||
go.etcd.io/etcd/client/v3 v3.5.7 h1:u/OhpiuCgYY8awOHlhIhmGIGpxfBU/GZBUP3m/3/Iz4=
|
||||
go.etcd.io/etcd/client/v3 v3.5.7/go.mod h1:sOWmj9DZUMyAngS7QQwCyAXXAL6WhgTOPLNS/NabQgw=
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE=
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.1 h1:nYifzmtBQ2l91wUQM6aZGGwR/pvpQQyscmS4azm184Q=
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.1/go.mod h1:Qb9MvSx6rlo+Es8pOvkCQjGf7L8GA+NxrkRcyZ7eGXo=
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.7 h1:obOzeVwerFwZ9trMWapU/VjDcYUJb5OfgC1zqEGWO/0=
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.7/go.mod h1:kcOfWt3Ov9zgYdOiJ/o1Y9zFfLhQjylTgL4Lru8opRo=
|
||||
go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc=
|
||||
go.etcd.io/etcd/raft/v3 v3.5.1 h1:nthXrxmATKB9OZ9C64sk3QZaJ1WZ8tmlI0VwzpJSZwg=
|
||||
go.etcd.io/etcd/raft/v3 v3.5.1/go.mod h1:WIlKzH/rjc54LDZ8SOa7GObrrdX3z96MkP1WDfODBeA=
|
||||
go.etcd.io/etcd/raft/v3 v3.5.7 h1:aN79qxLmV3SvIq84aNTliYGmjwsW6NqJSnqmI1HLJKc=
|
||||
go.etcd.io/etcd/raft/v3 v3.5.7/go.mod h1:TflkAb/8Uy6JFBxcRaH2Fr6Slm9mCPVdI2efzxY96yU=
|
||||
go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4=
|
||||
go.etcd.io/etcd/server/v3 v3.5.1 h1:u8risUH348DmLy2XD3krH/S3GWk2ljuCrs8V3hd4584=
|
||||
go.etcd.io/etcd/server/v3 v3.5.1/go.mod h1:yBKYw++NWu6ciuWoKuL7UXgGKDP7ICBCuVQrIcYbPdw=
|
||||
go.etcd.io/etcd/server/v3 v3.5.7 h1:BTBD8IJUV7YFgsczZMHhMTS67XuA4KpRquL0MFOJGRk=
|
||||
go.etcd.io/etcd/server/v3 v3.5.7/go.mod h1:gxBgT84issUVBRpZ3XkW1T55NjOb4vZZRI4wVvNhf4A=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
||||
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0=
|
||||
go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 h1:sO4WKdPAudZGKPcpZT4MJn6JaDmpyLrMPDGGyA1SttE=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E=
|
||||
go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 h1:Wx7nFnvCaissIUZxPkBqDz2963Z+Cl+PkYbDKzTxDqQ=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0/go.mod h1:E5NNboN0UqSAki0Atn9kVwaN7I+l25gGxDqBueo/74E=
|
||||
go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
|
||||
go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg=
|
||||
go.opentelemetry.io/otel v1.0.1 h1:4XKyXmfqJLOQ7feyV5DB6gsBFZ0ltB8vLtp6pj4JIcc=
|
||||
go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU=
|
||||
go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM=
|
||||
go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1 h1:ofMbch7i29qIUf7VtF+r0HRF6ac0SBaPSziSsKp7wkk=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1/go.mod h1:Kv8liBeVNFkkkbilbgWRpV+wWuu+H5xdOT6HAgd30iw=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.1 h1:CFMFNoz+CGprjFAFy+RJFrfEe4GBia3RRm2a4fREvCA=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.1/go.mod h1:xOvWoTOrQjxjW61xtOmD/WKGRYb/P4NzRo3bs65U6Rk=
|
||||
go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
|
||||
go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw=
|
||||
go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
|
||||
go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8=
|
||||
go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
|
||||
go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g=
|
||||
go.opentelemetry.io/otel/sdk v1.0.1 h1:wXxFEWGo7XfXupPwVJvTBOaPBC9FEg0wB8hMNrKk+cA=
|
||||
go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI=
|
||||
go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE=
|
||||
go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw=
|
||||
go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8=
|
||||
go.opentelemetry.io/otel/trace v1.0.1 h1:StTeIH6Q3G4r0Fiw34LTokUFESZgIDUr0qIJ7mKmAfw=
|
||||
go.opentelemetry.io/otel/trace v1.0.1/go.mod h1:5g4i4fKLaX2BQpSBsxw8YYcgKpMMSW3x7ZTuYBr3sUk=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
||||
go.opentelemetry.io/proto/otlp v0.9.0 h1:C0g6TWmQYvjKRnljRULLWUVJGy8Uvu0NEL/5frY2/t4=
|
||||
go.opentelemetry.io/proto/otlp v0.9.0/go.mod h1:1vKfU9rv61e9EVGthD1zNvUbiwPcimSsOPU9brfSHJg=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||
go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
|
||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
|
||||
|
|
@ -890,12 +877,10 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
|
|||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
|
||||
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
|
|
@ -909,6 +894,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0
|
|||
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
|
||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
|
||||
golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE=
|
||||
golang.org/x/exp v0.0.0-20221111094246-ab4555d3164f h1:dx+ByaHZgQORWfy/TumeLerCm48o5pDf+skF0SWtLdY=
|
||||
golang.org/x/exp v0.0.0-20221111094246-ab4555d3164f/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
|
|
@ -922,7 +909,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
|
|||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
|
|
@ -935,6 +921,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
|||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
||||
golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
|
||||
golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I=
|
||||
golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
|
||||
golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
|
|
@ -979,10 +967,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
|
|||
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
|
||||
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
|
|
@ -1002,8 +987,9 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
|
|||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
|
|
@ -1059,14 +1045,14 @@ golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210426080607-c94f62235c83/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
|
|
@ -1147,7 +1133,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
|||
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
|
||||
golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=
|
||||
golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
|
@ -1230,9 +1217,12 @@ google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
|
|||
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
|
||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.39.0 h1:Klz8I9kdtkIN6EpHHUOMLCYhTn/2WAe5a0s1hcBkdTI=
|
||||
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
|
||||
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
|
||||
google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E=
|
||||
google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
|
@ -1302,6 +1292,30 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
|
|||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
launchpad.net/gocheck v0.0.0-20140225173054-000000000087/go.mod h1:hj7XX3B/0A+80Vse0e+BUHsHMTEhd0O4cpUHr/e/BUM=
|
||||
launchpad.net/xmlpath v0.0.0-20130614043138-000000000004/go.mod h1:vqyExLOM3qBx7mvYRkoxjSCF945s0mbe7YynlKYXtsA=
|
||||
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
|
||||
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
|
||||
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
|
||||
modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
|
||||
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
|
||||
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
|
||||
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
|
||||
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
|
||||
modernc.org/libc v1.22.2 h1:4U7v51GyhlWqQmwCHj28Rdq2Yzwk55ovjFrdPjs8Hb0=
|
||||
modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
|
||||
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
|
||||
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||
modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk=
|
||||
modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
|
||||
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
|
||||
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||
modernc.org/sqlite v1.20.3 h1:SqGJMMxjj1PHusLxdYxeQSodg7Jxn9WWkaAQjKrntZs=
|
||||
modernc.org/sqlite v1.20.3/go.mod h1:zKcGyrICaxNTMEHSr1HQ2GUraP0j+845GYw37+EyT6A=
|
||||
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
|
||||
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
|
||||
modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34=
|
||||
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
|
||||
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||
modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE=
|
||||
nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g=
|
||||
nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
|
||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||
|
|
|
|||
|
|
@ -79,13 +79,11 @@ func runAccountSystemTest(t *harnessTest, node *HarnessNode, hostPort,
|
|||
)
|
||||
assertNumChannels(ctxt, t.t, node.LightningClient, 1, 0, 0, 0)
|
||||
|
||||
// In remote mode there's another node out there that we are connected
|
||||
// to.
|
||||
numPeers := 2
|
||||
if node.Cfg.RemoteMode {
|
||||
numPeers = 3
|
||||
}
|
||||
assertNumPeers(ctxt, t.t, node.LightningClient, numPeers)
|
||||
// Before the big lnd itest framework refactor the passive nodes Alice
|
||||
// and Bob were always started. Now they are optional, and we don't
|
||||
// start them, so we just have either Alice or Bob and the additional
|
||||
// node Charlie as peers.
|
||||
assertNumPeers(ctxt, t.t, node.LightningClient, 2)
|
||||
|
||||
// Prepare our gRPC connection with the super macaroon as the
|
||||
// authentication mechanism.
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import (
|
|||
func testModeRemote(ctx context.Context, net *NetworkHarness, t *harnessTest) {
|
||||
// Some very basic functionality tests to make sure lnd is working fine
|
||||
// in remote mode.
|
||||
net.SendCoins(t.t, btcutil.SatoshiPerBitcoin, net.Bob)
|
||||
net.LNDHarness.FundCoins(btcutil.SatoshiPerBitcoin, net.Bob.RemoteLnd)
|
||||
|
||||
// We expect a non-empty alias (truncated node ID) to be returned.
|
||||
resp, err := net.Bob.GetInfo(ctx, &lnrpc.GetInfoRequest{})
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import (
|
|||
"github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/wtclientrpc"
|
||||
"github.com/lightningnetwork/lnd/lntest"
|
||||
"github.com/lightningnetwork/lnd/lntest/node"
|
||||
"github.com/lightningnetwork/lnd/lntest/wait"
|
||||
"github.com/lightningnetwork/lnd/macaroons"
|
||||
"google.golang.org/grpc"
|
||||
|
|
@ -58,12 +59,14 @@ var (
|
|||
)
|
||||
|
||||
type LitNodeConfig struct {
|
||||
*lntest.BaseNodeConfig
|
||||
*node.BaseNodeConfig
|
||||
|
||||
LitArgs []string
|
||||
|
||||
RemoteMode bool
|
||||
|
||||
HasSeed bool
|
||||
|
||||
FaradayMacPath string
|
||||
LoopMacPath string
|
||||
PoolMacPath string
|
||||
|
|
@ -81,21 +84,21 @@ type LitNodeConfig struct {
|
|||
}
|
||||
|
||||
func (cfg *LitNodeConfig) LitAddr() string {
|
||||
return fmt.Sprintf(lntest.ListenerFormat, cfg.LitPort)
|
||||
return fmt.Sprintf(node.ListenerFormat, cfg.LitPort)
|
||||
}
|
||||
|
||||
func (cfg *LitNodeConfig) LitRESTAddr() string {
|
||||
return fmt.Sprintf(lntest.ListenerFormat, cfg.LitRESTPort)
|
||||
return fmt.Sprintf(node.ListenerFormat, cfg.LitRESTPort)
|
||||
}
|
||||
|
||||
func (cfg *LitNodeConfig) GenerateListeningPorts() {
|
||||
cfg.BaseNodeConfig.GenerateListeningPorts()
|
||||
|
||||
if cfg.LitPort == 0 {
|
||||
cfg.LitPort = lntest.NextAvailablePort()
|
||||
cfg.LitPort = node.NextAvailablePort()
|
||||
}
|
||||
if cfg.LitRESTPort == 0 {
|
||||
cfg.LitRESTPort = lntest.NextAvailablePort()
|
||||
cfg.LitRESTPort = node.NextAvailablePort()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -160,17 +163,18 @@ func (cfg *LitNodeConfig) GenArgs() []string {
|
|||
|
||||
// policyUpdateMap defines a type to store channel policy updates. It has the
|
||||
// format,
|
||||
// {
|
||||
// "chanPoint1": {
|
||||
// "advertisingNode1": [
|
||||
// policy1, policy2, ...
|
||||
// ],
|
||||
// "advertisingNode2": [
|
||||
// policy1, policy2, ...
|
||||
// ]
|
||||
// },
|
||||
// "chanPoint2": ...
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// "chanPoint1": {
|
||||
// "advertisingNode1": [
|
||||
// policy1, policy2, ...
|
||||
// ],
|
||||
// "advertisingNode2": [
|
||||
// policy1, policy2, ...
|
||||
// ]
|
||||
// },
|
||||
// "chanPoint2": ...
|
||||
// }
|
||||
type policyUpdateMap map[string]map[string][]*lnrpc.RoutingPolicy
|
||||
|
||||
// HarnessNode represents an instance of lnd running within our test network
|
||||
|
|
@ -182,8 +186,7 @@ type HarnessNode struct {
|
|||
// NodeID is a unique identifier for the node within a NetworkHarness.
|
||||
NodeID int
|
||||
|
||||
RemoteLnd *lntest.HarnessNode
|
||||
RemoteLndHarness *lntest.NetworkHarness
|
||||
RemoteLnd *node.HarnessNode
|
||||
|
||||
// PubKey is the serialized compressed identity public key of the node.
|
||||
// This field will only be populated once the node itself has been
|
||||
|
|
@ -254,7 +257,7 @@ func newNode(t *testing.T, cfg *LitNodeConfig,
|
|||
|
||||
if cfg.BaseDir == "" {
|
||||
var err error
|
||||
cfg.BaseDir, err = ioutil.TempDir("", "litdtest-node")
|
||||
cfg.BaseDir, err = os.MkdirTemp("", "litdtest-node")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -295,38 +298,18 @@ func newNode(t *testing.T, cfg *LitNodeConfig,
|
|||
_, _ = rand.Read(randomBytes[:])
|
||||
cfg.UIPassword = base64.URLEncoding.EncodeToString(randomBytes[:])
|
||||
|
||||
// Run all tests with accept keysend. The keysend code is very isolated
|
||||
// and it is highly unlikely that it would affect regular itests when
|
||||
// enabled.
|
||||
cfg.AcceptKeySend = true
|
||||
|
||||
numActiveNodesMtx.Lock()
|
||||
nodeNum := numActiveNodes
|
||||
numActiveNodes++
|
||||
numActiveNodesMtx.Unlock()
|
||||
|
||||
var (
|
||||
remoteNode *lntest.HarnessNode
|
||||
remoteNodeHarness *lntest.NetworkHarness
|
||||
err error
|
||||
)
|
||||
var remoteNode *node.HarnessNode
|
||||
if cfg.RemoteMode {
|
||||
lndBinary := strings.ReplaceAll(
|
||||
getLitdBinary(), itestLitdBinary, itestLndBinary,
|
||||
)
|
||||
remoteNodeHarness, err = lntest.NewNetworkHarness(
|
||||
harness.Miner, harness.BackendCfg, lndBinary,
|
||||
lntest.BackendBbolt,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = remoteNodeHarness.SetUp(t, "remote-lnd", cfg.ExtraArgs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
lndHarness := harness.LNDHarness
|
||||
|
||||
remoteNode = remoteNodeHarness.Bob
|
||||
remoteNode = lndHarness.NewNode("bob-custom", cfg.ExtraArgs)
|
||||
tenBTC := btcutil.Amount(10 * btcutil.SatoshiPerBitcoin)
|
||||
lndHarness.FundCoins(tenBTC, remoteNode)
|
||||
|
||||
cfg.RPCPort = remoteNode.Cfg.RPCPort
|
||||
cfg.P2PPort = remoteNode.Cfg.P2PPort
|
||||
|
|
@ -334,11 +317,12 @@ func newNode(t *testing.T, cfg *LitNodeConfig,
|
|||
cfg.AdminMacPath = remoteNode.Cfg.AdminMacPath
|
||||
}
|
||||
|
||||
t.Logf("Created new node %s with p2p port %d", cfg.Name, cfg.P2PPort)
|
||||
|
||||
return &HarnessNode{
|
||||
Cfg: cfg,
|
||||
NodeID: nodeNum,
|
||||
RemoteLnd: remoteNode,
|
||||
RemoteLndHarness: remoteNodeHarness,
|
||||
chanWatchRequests: make(chan *chanWatchRequest),
|
||||
openChans: make(map[wire.OutPoint]int),
|
||||
openChanWatchers: make(map[wire.OutPoint][]chan struct{}),
|
||||
|
|
@ -385,8 +369,6 @@ func (hn *HarnessNode) String() string {
|
|||
P2PPort: hn.Cfg.P2PPort,
|
||||
RPCPort: hn.Cfg.RPCPort,
|
||||
RESTPort: hn.Cfg.RESTPort,
|
||||
AcceptKeySend: hn.Cfg.AcceptKeySend,
|
||||
AcceptAMP: hn.Cfg.AcceptAMP,
|
||||
FeeURL: hn.Cfg.FeeURL,
|
||||
},
|
||||
}
|
||||
|
|
@ -491,14 +473,14 @@ func (hn *HarnessNode) start(litdBinary string, litdError chan<- error,
|
|||
getFinalizedLogFilePrefix := func() string {
|
||||
pubKeyHex := hex.EncodeToString(hn.PubKey[:logPubKeyBytes])
|
||||
|
||||
return fmt.Sprintf("%s/%d-%s-%s-%s", lntest.GetLogDir(),
|
||||
return fmt.Sprintf("%s/%d-%s-%s-%s", node.GetLogDir(),
|
||||
hn.NodeID, hn.Cfg.LogFilenamePrefix, hn.Cfg.Name,
|
||||
pubKeyHex)
|
||||
}
|
||||
|
||||
// If the logoutput flag is passed, redirect output from the nodes to
|
||||
// log files.
|
||||
dir := lntest.GetLogDir()
|
||||
dir := node.GetLogDir()
|
||||
fileName := fmt.Sprintf("%s/%d-%s-%s-%s.log", dir, hn.NodeID,
|
||||
hn.Cfg.LogFilenamePrefix, hn.Cfg.Name,
|
||||
hex.EncodeToString(hn.PubKey[:logPubKeyBytes]))
|
||||
|
|
@ -866,7 +848,7 @@ func (hn *HarnessNode) Unlock(ctx context.Context,
|
|||
// blocks until the server is in state ServerActive.
|
||||
func (hn *HarnessNode) waitTillServerStarted() error {
|
||||
ctxb := context.Background()
|
||||
ctxt, cancel := context.WithTimeout(ctxb, lntest.NodeStartTimeout)
|
||||
ctxt, cancel := context.WithTimeout(ctxb, wait.NodeStartTimeout)
|
||||
defer cancel()
|
||||
|
||||
client, err := hn.StateClient.SubscribeState(
|
||||
|
|
@ -1135,7 +1117,7 @@ func (hn *HarnessNode) stop() error {
|
|||
}
|
||||
|
||||
if hn.Cfg.RemoteMode {
|
||||
return hn.RemoteLndHarness.ShutdownNode(hn.RemoteLnd)
|
||||
return hn.RemoteLnd.Shutdown()
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -2,12 +2,10 @@ package itest
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/btcsuite/btcd/integration/rpctest"
|
||||
"github.com/lightninglabs/aperture"
|
||||
"github.com/lightninglabs/lightning-node-connect/gbn"
|
||||
"github.com/lightninglabs/lightning-node-connect/mailbox"
|
||||
|
|
@ -28,88 +26,15 @@ func TestLightningTerminal(t *testing.T) {
|
|||
t.Skip("integration tests not selected with flag 'itest'")
|
||||
}
|
||||
|
||||
// Parse testing flags that influence our test execution.
|
||||
logDir := "."
|
||||
require.NoError(t, os.MkdirAll(logDir, 0700))
|
||||
|
||||
// Before we start any node, we need to make sure that any btcd node
|
||||
// that is started through the RPC harness uses a unique port as well to
|
||||
// avoid any port collisions.
|
||||
rpctest.ListenAddressGenerator = lntest.GenerateBtcdListenerAddresses
|
||||
|
||||
// Declare the network harness here to gain access to its
|
||||
// 'OnTxAccepted' call back.
|
||||
var litdHarness *NetworkHarness
|
||||
|
||||
// Create an instance of the btcd's rpctest.Harness that will act as
|
||||
// the miner for all tests. This will be used to fund the wallets of
|
||||
// the nodes within the test network and to drive blockchain related
|
||||
// events within the network. Revert the default setting of accepting
|
||||
// non-standard transactions on simnet to reject them. Transactions on
|
||||
// the lightning network should always be standard to get better
|
||||
// guarantees of getting included in to blocks.
|
||||
//
|
||||
// We will also connect it to our chain backend.
|
||||
miner, err := lntest.NewMiner()
|
||||
require.NoError(t, err, "failed to create new miner")
|
||||
defer func() {
|
||||
require.NoError(t, miner.Stop(), "failed to stop miner")
|
||||
}()
|
||||
|
||||
// Start a chain backend.
|
||||
chainBackend, cleanUp, err := lntest.NewBackend(
|
||||
miner.P2PAddress(), harnessNetParams,
|
||||
)
|
||||
require.NoError(t, err, "new backend")
|
||||
defer func() {
|
||||
require.NoError(t, cleanUp(), "cleanup")
|
||||
}()
|
||||
|
||||
// Before we start anything, we want to overwrite some of the connection
|
||||
// settings to make the tests more robust. We might need to restart the
|
||||
// miner while there are already blocks present, which will take a bit
|
||||
// longer than the 1 second the default settings amount to. Doubling
|
||||
// both values will give us retries up to 4 seconds.
|
||||
miner.MaxConnRetries = rpctest.DefaultMaxConnectionRetries * 2
|
||||
miner.ConnectionRetryTimeout = rpctest.DefaultConnectionRetryTimeout * 2
|
||||
|
||||
// Set up miner and connect chain backend to it.
|
||||
require.NoError(t, miner.SetUp(true, 50))
|
||||
require.NoError(t, miner.Client.NotifyNewTransactions(false))
|
||||
require.NoError(t, chainBackend.ConnectMiner(), "connect miner")
|
||||
|
||||
// Now we can set up our test harness (LND instance), with the chain
|
||||
// backend we just created.
|
||||
ht := newHarnessTest(t, nil)
|
||||
ht.setupLogging()
|
||||
binary := getLitdBinary()
|
||||
litdHarness, err = NewNetworkHarness(miner, chainBackend, binary)
|
||||
if err != nil {
|
||||
ht.Fatalf("unable to create lightning network harness: %v", err)
|
||||
}
|
||||
defer litdHarness.Stop()
|
||||
|
||||
// Spawn a new goroutine to watch for any fatal errors that any of the
|
||||
// running lnd processes encounter. If an error occurs, then the test
|
||||
// case should naturally as a result and we log the server error here to
|
||||
// help debug.
|
||||
go func() {
|
||||
for err := range litdHarness.ProcessErrors() {
|
||||
ht.Logf("litd finished with error (stderr):\n%v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
// Next mine enough blocks in order for segwit and the CSV package
|
||||
// soft-fork to activate on SimNet.
|
||||
numBlocks := harnessNetParams.MinerConfirmationWindow * 2
|
||||
if _, err := miner.Client.Generate(numBlocks); err != nil {
|
||||
ht.Fatalf("unable to generate blocks: %v", err)
|
||||
}
|
||||
|
||||
// With the btcd harness created, we can now complete the
|
||||
// initialization of the network. args - list of lnd arguments,
|
||||
// example: "--debuglevel=debug"
|
||||
// TODO(roasbeef): create master balanced channel with all the monies?
|
||||
lndBinary := strings.ReplaceAll(
|
||||
getLitdBinary(), itestLitdBinary, itestLndBinary,
|
||||
)
|
||||
aliceBobArgs := []string{
|
||||
"--default-remote-max-htlcs=483",
|
||||
"--dust-threshold=5000000",
|
||||
|
|
@ -119,22 +44,46 @@ func TestLightningTerminal(t *testing.T) {
|
|||
// Run the subset of the test cases selected in this tranche.
|
||||
for _, testCase := range allTestCases {
|
||||
testCase := testCase
|
||||
name := fmt.Sprintf("%s/%s", chainBackend.Name(), testCase.name)
|
||||
|
||||
success := t.Run(name, func(t1 *testing.T) {
|
||||
success := t.Run(testCase.name, func(t1 *testing.T) {
|
||||
cleanTestCaseName := strings.ReplaceAll(
|
||||
testCase.name, " ", "_",
|
||||
)
|
||||
|
||||
feeService := lntest.NewFeeService(t)
|
||||
lndHarness := lntest.SetupHarness(
|
||||
t1, lndBinary, "bbolt", feeService,
|
||||
)
|
||||
t1.Cleanup(func() {
|
||||
lndHarness.Stop()
|
||||
})
|
||||
|
||||
// Start a chain backend.
|
||||
chainBackend, _, err := lntest.NewBackend(
|
||||
lndHarness.Miner.P2PAddress(), harnessNetParams,
|
||||
)
|
||||
require.NoError(t1, err, "new backend")
|
||||
|
||||
// Connect miner to chain backend to it.
|
||||
require.NoError(
|
||||
t1, chainBackend.ConnectMiner(),
|
||||
"connect miner",
|
||||
)
|
||||
|
||||
lndSubTest := lndHarness.Subtest(t1)
|
||||
litdHarness, err := NewNetworkHarness(
|
||||
lndSubTest, chainBackend, binary,
|
||||
)
|
||||
require.NoError(t1, err)
|
||||
|
||||
err = litdHarness.SetUp(
|
||||
t1, cleanTestCaseName, aliceBobArgs,
|
||||
)
|
||||
require.NoError(t1,
|
||||
err, "unable to set up test lightning network",
|
||||
)
|
||||
defer func() {
|
||||
require.NoError(t1, err, "harness setup failed")
|
||||
t1.Cleanup(func() {
|
||||
require.NoError(t1, litdHarness.TearDown())
|
||||
}()
|
||||
litdHarness.Stop()
|
||||
})
|
||||
|
||||
litdHarness.EnsureConnected(
|
||||
t1, litdHarness.Alice, litdHarness.Bob,
|
||||
|
|
@ -153,6 +102,12 @@ func TestLightningTerminal(t *testing.T) {
|
|||
// tied to the parent test.
|
||||
ht := newHarnessTest(t1, litdHarness)
|
||||
ht.RunTestCase(testCase)
|
||||
|
||||
select {
|
||||
case err := <-litdHarness.lndErrorChan:
|
||||
require.NoError(t1, err)
|
||||
default:
|
||||
}
|
||||
})
|
||||
|
||||
// Stop at the first failure. Mimic behavior of original test
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import (
|
|||
"github.com/lightningnetwork/lnd"
|
||||
"github.com/lightningnetwork/lnd/lnrpc"
|
||||
"github.com/lightningnetwork/lnd/lntest"
|
||||
"github.com/lightningnetwork/lnd/lntest/node"
|
||||
"github.com/lightningnetwork/lnd/lntest/wait"
|
||||
"github.com/stretchr/testify/require"
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
|
@ -45,12 +46,14 @@ type NetworkHarness struct {
|
|||
// new blocks on the network.
|
||||
Miner *lntest.HarnessMiner
|
||||
|
||||
LNDHarness *lntest.HarnessTest
|
||||
|
||||
// server is an instance of the local Loop/Pool mock server.
|
||||
server *serverHarness
|
||||
|
||||
// BackendCfg houses the information necessary to use a node as LND
|
||||
// chain backend, such as rpc configuration, P2P information etc.
|
||||
BackendCfg lntest.BackendConfig
|
||||
BackendCfg node.BackendConfig
|
||||
|
||||
activeNodes map[int]*HarnessNode
|
||||
|
||||
|
|
@ -67,23 +70,21 @@ type NetworkHarness struct {
|
|||
// to main process.
|
||||
lndErrorChan chan error
|
||||
|
||||
quit chan struct{}
|
||||
|
||||
mtx sync.Mutex
|
||||
}
|
||||
|
||||
// NewNetworkHarness creates a new network test harness.
|
||||
func NewNetworkHarness(m *lntest.HarnessMiner, b lntest.BackendConfig,
|
||||
func NewNetworkHarness(lndHarness *lntest.HarnessTest, b node.BackendConfig,
|
||||
litdBinary string) (*NetworkHarness, error) {
|
||||
|
||||
n := NetworkHarness{
|
||||
activeNodes: make(map[int]*HarnessNode),
|
||||
nodesByPub: make(map[string]*HarnessNode),
|
||||
lndErrorChan: make(chan error),
|
||||
netParams: m.ActiveNet,
|
||||
Miner: m,
|
||||
netParams: lndHarness.Miner.ActiveNet,
|
||||
Miner: lndHarness.Miner,
|
||||
LNDHarness: lndHarness,
|
||||
BackendCfg: b,
|
||||
quit: make(chan struct{}),
|
||||
litdBinary: litdBinary,
|
||||
}
|
||||
return &n, nil
|
||||
|
|
@ -127,7 +128,7 @@ func (n *NetworkHarness) SetUp(t *testing.T,
|
|||
|
||||
// Start our mock Loop/Pool server first.
|
||||
mockServerAddr := fmt.Sprintf(
|
||||
lntest.ListenerFormat, lntest.NextAvailablePort(),
|
||||
node.ListenerFormat, node.NextAvailablePort(),
|
||||
)
|
||||
n.server = newServerHarness(mockServerAddr)
|
||||
err := n.server.start()
|
||||
|
|
@ -173,34 +174,31 @@ func (n *NetworkHarness) SetUp(t *testing.T,
|
|||
// Bob is connected to a remote lnd that is also called Bob and already
|
||||
// got the necessary coins when being set up before. So we only need to
|
||||
// send to Alice here which is our integrated LiTd instance.
|
||||
clients := []lnrpc.LightningClient{n.Alice}
|
||||
for _, client := range clients {
|
||||
for i := 0; i < 10; i++ {
|
||||
resp, err := client.NewAddress(ctxb, addrReq)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
addr, err := btcutil.DecodeAddress(
|
||||
resp.Address, n.netParams,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
addrScript, err := txscript.PayToAddrScript(addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for i := 0; i < 10; i++ {
|
||||
resp, err := n.Alice.NewAddress(ctxb, addrReq)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
addr, err := btcutil.DecodeAddress(
|
||||
resp.Address, n.netParams,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
addrScript, err := txscript.PayToAddrScript(addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
output := &wire.TxOut{
|
||||
PkScript: addrScript,
|
||||
Value: btcutil.SatoshiPerBitcoin,
|
||||
}
|
||||
_, err = n.Miner.SendOutputs(
|
||||
[]*wire.TxOut{output}, 7500,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
output := &wire.TxOut{
|
||||
PkScript: addrScript,
|
||||
Value: btcutil.SatoshiPerBitcoin,
|
||||
}
|
||||
_, err = n.Miner.SendOutputs(
|
||||
[]*wire.TxOut{output}, 7500,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -266,7 +264,6 @@ func (n *NetworkHarness) TearDown() error {
|
|||
// Stop stops the test harness.
|
||||
func (n *NetworkHarness) Stop() {
|
||||
close(n.lndErrorChan)
|
||||
close(n.quit)
|
||||
|
||||
n.autopilotServer.Stop()
|
||||
}
|
||||
|
|
@ -298,12 +295,11 @@ func (n *NetworkHarness) NewNode(t *testing.T, name string, extraArgs []string,
|
|||
// initialization phase where the wallet is either created or restored.
|
||||
func (n *NetworkHarness) newNode(t *testing.T, name string, extraArgs,
|
||||
litArgs []string, hasSeed, remoteMode bool, password []byte, wait bool,
|
||||
opts ...lntest.NodeOption) (*HarnessNode, error) {
|
||||
opts ...node.Option) (*HarnessNode, error) {
|
||||
|
||||
baseCfg := &lntest.BaseNodeConfig{
|
||||
baseCfg := &node.BaseNodeConfig{
|
||||
Name: name,
|
||||
LogFilenamePrefix: n.currentTestCase,
|
||||
HasSeed: hasSeed,
|
||||
Password: password,
|
||||
BackendCfg: n.BackendCfg,
|
||||
NetParams: n.netParams,
|
||||
|
|
@ -314,6 +310,7 @@ func (n *NetworkHarness) newNode(t *testing.T, name string, extraArgs,
|
|||
}
|
||||
cfg := &LitNodeConfig{
|
||||
BaseNodeConfig: baseCfg,
|
||||
HasSeed: hasSeed,
|
||||
LitArgs: litArgs,
|
||||
RemoteMode: remoteMode,
|
||||
}
|
||||
|
|
@ -706,45 +703,6 @@ func (n *NetworkHarness) StopNode(node *HarnessNode) error {
|
|||
return node.stop()
|
||||
}
|
||||
|
||||
// waitForTxInMempool blocks until the target txid is seen in the mempool. If
|
||||
// the transaction isn't seen within the network before the passed timeout,
|
||||
// then an error is returned.
|
||||
func (n *NetworkHarness) waitForTxInMempool(ctx context.Context,
|
||||
txid chainhash.Hash) error {
|
||||
|
||||
// Return immediately if harness has been torn down.
|
||||
select {
|
||||
case <-n.quit:
|
||||
return fmt.Errorf("NetworkHarness has been torn down")
|
||||
default:
|
||||
}
|
||||
|
||||
ticker := time.NewTicker(50 * time.Millisecond)
|
||||
defer ticker.Stop()
|
||||
|
||||
var mempool []*chainhash.Hash
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return fmt.Errorf("wanted %v, found %v txs "+
|
||||
"in mempool: %v", txid, len(mempool), mempool)
|
||||
|
||||
case <-ticker.C:
|
||||
var err error
|
||||
mempool, err = n.Miner.Client.GetRawMempool()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, mempoolTx := range mempool {
|
||||
if *mempoolTx == txid {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OpenChannel attempts to open a channel between srcNode and destNode with the
|
||||
// passed channel funding parameters. If the passed context has a timeout, then
|
||||
// if the timeout is reached before the channel pending notification is
|
||||
|
|
@ -758,7 +716,7 @@ func (n *NetworkHarness) OpenChannel(srcNode, destNode *HarnessNode,
|
|||
// The cancel is intentionally left out here because the returned
|
||||
// item(open channel client) relies on the context being active. This
|
||||
// will be fixed once we finish refactoring the NetworkHarness.
|
||||
ctx, _ := context.WithTimeout(ctxb, lntest.ChannelOpenTimeout) // nolint: govet
|
||||
ctx, _ := context.WithTimeout(ctxb, wait.ChannelOpenTimeout) // nolint: govet
|
||||
|
||||
// Wait until srcNode and destNode have the latest chain synced.
|
||||
// Otherwise, we may run into a check within the funding manager that
|
||||
|
|
@ -836,7 +794,7 @@ func (n *NetworkHarness) OpenPendingChannel(srcNode, destNode *HarnessNode,
|
|||
pushAmt btcutil.Amount) (*lnrpc.PendingUpdate, error) {
|
||||
|
||||
ctxb := context.Background()
|
||||
ctx, cancel := context.WithTimeout(ctxb, lntest.ChannelOpenTimeout)
|
||||
ctx, cancel := context.WithTimeout(ctxb, wait.ChannelOpenTimeout)
|
||||
defer cancel()
|
||||
|
||||
// Wait until srcNode and destNode have blockchain synced
|
||||
|
|
@ -900,7 +858,7 @@ func (n *NetworkHarness) WaitForChannelOpen(
|
|||
openChanStream lnrpc.Lightning_OpenChannelClient) (*lnrpc.ChannelPoint, error) {
|
||||
|
||||
ctxb := context.Background()
|
||||
ctx, cancel := context.WithTimeout(ctxb, lntest.ChannelOpenTimeout)
|
||||
ctx, cancel := context.WithTimeout(ctxb, wait.ChannelOpenTimeout)
|
||||
defer cancel()
|
||||
|
||||
errChan := make(chan error)
|
||||
|
|
@ -944,7 +902,7 @@ func (n *NetworkHarness) CloseChannel(lnNode *HarnessNode,
|
|||
// The cancel is intentionally left out here because the returned
|
||||
// item(close channel client) relies on the context being active. This
|
||||
// will be fixed once we finish refactoring the NetworkHarness.
|
||||
ctx, _ := context.WithTimeout(ctxb, lntest.ChannelCloseTimeout) // nolint: govet
|
||||
ctx, _ := context.WithTimeout(ctxb, wait.ChannelCloseTimeout) // nolint: govet
|
||||
|
||||
// Create a channel outpoint that we can use to compare to channels
|
||||
// from the ListChannelsResponse.
|
||||
|
|
@ -1057,12 +1015,10 @@ func (n *NetworkHarness) CloseChannel(lnNode *HarnessNode,
|
|||
return fmt.Errorf("unable to decode closeTxid: "+
|
||||
"%v", err)
|
||||
}
|
||||
if err := n.waitForTxInMempool(ctx, *closeTxid); err != nil {
|
||||
return fmt.Errorf("error while waiting for "+
|
||||
"broadcast tx: %v", err)
|
||||
}
|
||||
n.LNDHarness.Miner.AssertTxInMempool(closeTxid)
|
||||
|
||||
return nil
|
||||
}, lntest.ChannelCloseTimeout)
|
||||
}, wait.ChannelCloseTimeout)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
|
@ -1078,7 +1034,7 @@ func (n *NetworkHarness) WaitForChannelClose(
|
|||
closeChanStream lnrpc.Lightning_CloseChannelClient) (*chainhash.Hash, error) {
|
||||
|
||||
ctxb := context.Background()
|
||||
ctx, cancel := context.WithTimeout(ctxb, lntest.ChannelCloseTimeout)
|
||||
ctx, cancel := context.WithTimeout(ctxb, wait.ChannelCloseTimeout)
|
||||
defer cancel()
|
||||
|
||||
errChan := make(chan error)
|
||||
|
|
@ -1121,7 +1077,7 @@ func (n *NetworkHarness) AssertChannelExists(node *HarnessNode,
|
|||
chanPoint *wire.OutPoint, checks ...func(*lnrpc.Channel)) error {
|
||||
|
||||
ctxb := context.Background()
|
||||
ctx, cancel := context.WithTimeout(ctxb, lntest.ChannelCloseTimeout)
|
||||
ctx, cancel := context.WithTimeout(ctxb, wait.ChannelCloseTimeout)
|
||||
defer cancel()
|
||||
|
||||
req := &lnrpc.ListChannelsRequest{}
|
||||
|
|
@ -1251,12 +1207,6 @@ func (n *NetworkHarness) sendCoins(amt btcutil.Amount, target *HarnessNode,
|
|||
// Now, wait for ListUnspent to show the unconfirmed transaction
|
||||
// containing the correct pkscript.
|
||||
err = wait.NoError(func() error {
|
||||
// Since neutrino doesn't support unconfirmed outputs, skip
|
||||
// this check.
|
||||
if target.Cfg.BackendCfg.Name() == "neutrino" {
|
||||
return nil
|
||||
}
|
||||
|
||||
req := &lnrpc.ListUnspentRequest{}
|
||||
resp, err := target.ListUnspent(ctx, req)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -88,13 +88,19 @@ func (s *serverHarness) start() error {
|
|||
func genCertPair(certFile, keyFile string) (credentials.TransportCredentials,
|
||||
error) {
|
||||
|
||||
err := cert.GenCertPair(
|
||||
"itest autogenerated cert", certFile, keyFile, nil, nil,
|
||||
false, DefaultAutogenValidity,
|
||||
certBytes, keyBytes, err := cert.GenCertPair(
|
||||
"itest autogenerated cert", nil, nil, false,
|
||||
DefaultAutogenValidity,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to generate cert "+
|
||||
"pair: %v", err)
|
||||
return nil, fmt.Errorf("unable to generate cert pair: %v", err)
|
||||
}
|
||||
|
||||
// Now that we have the certificate and key, we'll store them
|
||||
// to the file system.
|
||||
err = cert.WriteCertPair(certFile, keyFile, certBytes, keyBytes)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to write cert pair: %v", err)
|
||||
}
|
||||
|
||||
creds, err := credentials.NewServerTLSFromFile(certFile, keyFile)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import (
|
|||
"github.com/btcsuite/btcd/rpcclient"
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"github.com/go-errors/errors"
|
||||
"github.com/lightningnetwork/lnd/lntest"
|
||||
"github.com/lightningnetwork/lnd/lntest/wait"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
@ -31,8 +31,8 @@ var (
|
|||
)
|
||||
|
||||
const (
|
||||
defaultTimeout = lntest.DefaultTimeout
|
||||
minerMempoolTimeout = lntest.MinerMempoolTimeout
|
||||
defaultTimeout = wait.DefaultTimeout
|
||||
minerMempoolTimeout = wait.MinerMempoolTimeout
|
||||
itestLitdBinary = "litd-itest"
|
||||
itestLndBinary = "lnd-itest"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ ITEST_FLAGS =
|
|||
|
||||
# Define the integration test.run filter if the icase argument was provided.
|
||||
ifneq ($(icase),)
|
||||
ITEST_FLAGS += -test.run="TestLightningTerminal/.*/$(icase)"
|
||||
ITEST_FLAGS += -test.run="TestLightningTerminal/$(icase)"
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -427,6 +427,7 @@ func (t *mockConfig) FetchConfig(subServerName string) (interface{}, bool) {
|
|||
case "ChainRPC":
|
||||
return &chainrpc.Config{
|
||||
ChainNotifier: &chainreg.NoChainBackend{},
|
||||
Chain: &mock.ChainIO{},
|
||||
}, true
|
||||
case "DevRPC":
|
||||
return &devrpc.Config{}, true
|
||||
|
|
|
|||
126
proto/lnd.proto
126
proto/lnd.proto
|
|
@ -567,6 +567,10 @@ service Lightning {
|
|||
/* lncli: `subscribecustom`
|
||||
SubscribeCustomMessages subscribes to a stream of incoming custom peer
|
||||
messages.
|
||||
|
||||
To include messages with type outside of the custom range (>= 32768) lnd
|
||||
needs to be compiled with the `dev` build tag, and the message type to
|
||||
override should be specified in lnd's experimental protocol configuration.
|
||||
*/
|
||||
rpc SubscribeCustomMessages (SubscribeCustomMessagesRequest)
|
||||
returns (stream CustomMessage);
|
||||
|
|
@ -577,6 +581,28 @@ service Lightning {
|
|||
zero conf).
|
||||
*/
|
||||
rpc ListAliases (ListAliasesRequest) returns (ListAliasesResponse);
|
||||
|
||||
/*
|
||||
LookupHtlcResolution retrieves a final htlc resolution from the database.
|
||||
If the htlc has no final resolution yet, a NotFound grpc status code is
|
||||
returned.
|
||||
*/
|
||||
rpc LookupHtlcResolution (LookupHtlcResolutionRequest)
|
||||
returns (LookupHtlcResolutionResponse);
|
||||
}
|
||||
|
||||
message LookupHtlcResolutionRequest {
|
||||
uint64 chan_id = 1 [jstype = JS_STRING];
|
||||
|
||||
uint64 htlc_index = 2 [jstype = JS_STRING];
|
||||
}
|
||||
|
||||
message LookupHtlcResolutionResponse {
|
||||
// Settled is true is the htlc was settled. If false, the htlc was failed.
|
||||
bool settled = 1;
|
||||
|
||||
// Offchain indicates whether the htlc was resolved off-chain or on-chain.
|
||||
bool offchain = 2;
|
||||
}
|
||||
|
||||
message SubscribeCustomMessagesRequest {
|
||||
|
|
@ -598,6 +624,9 @@ message SendCustomMessageRequest {
|
|||
bytes peer = 1;
|
||||
|
||||
// Message type. This value needs to be in the custom range (>= 32768).
|
||||
// To send a type < custom range, lnd needs to be compiled with the `dev`
|
||||
// build tag, and the message type to override should be specified in lnd's
|
||||
// experimental protocol configuration.
|
||||
uint32 type = 2;
|
||||
|
||||
// Raw message data.
|
||||
|
|
@ -1510,6 +1539,9 @@ message Channel {
|
|||
|
||||
// This is the confirmed / on-chain zero-conf SCID.
|
||||
uint64 zero_conf_confirmed_scid = 33 [jstype = JS_STRING];
|
||||
|
||||
// The configured alias name of our peer.
|
||||
string peer_alias = 34;
|
||||
}
|
||||
|
||||
message ListChannelsRequest {
|
||||
|
|
@ -1523,6 +1555,11 @@ message ListChannelsRequest {
|
|||
empty, all channels will be returned.
|
||||
*/
|
||||
bytes peer = 5;
|
||||
|
||||
// Informs the server if the peer alias lookup per channel should be
|
||||
// enabled. It is turned off by default in order to avoid degradation of
|
||||
// performance for existing clients.
|
||||
bool peer_alias_lookup = 6;
|
||||
}
|
||||
message ListChannelsResponse {
|
||||
// The list of active channels
|
||||
|
|
@ -1891,6 +1928,9 @@ message GetInfoResponse {
|
|||
Indicates whether the HTLC interceptor API is in always-on mode.
|
||||
*/
|
||||
bool require_htlc_interceptor = 21;
|
||||
|
||||
// Indicates whether final htlc resolutions are stored on disk.
|
||||
bool store_final_htlc_resolutions = 22;
|
||||
}
|
||||
|
||||
message GetRecoveryInfoRequest {
|
||||
|
|
@ -2190,6 +2230,40 @@ message OpenChannelRequest {
|
|||
attempted.
|
||||
*/
|
||||
bool scid_alias = 20;
|
||||
|
||||
/*
|
||||
The base fee charged regardless of the number of milli-satoshis sent.
|
||||
*/
|
||||
uint64 base_fee = 21 [jstype = JS_STRING];
|
||||
|
||||
/*
|
||||
The fee rate in ppm (parts per million) that will be charged in
|
||||
proportion of the value of each forwarded HTLC.
|
||||
*/
|
||||
uint64 fee_rate = 22 [jstype = JS_STRING];
|
||||
|
||||
/*
|
||||
If use_base_fee is true the open channel announcement will update the
|
||||
channel base fee with the value specified in base_fee. In the case of
|
||||
a base_fee of 0 use_base_fee is needed downstream to distinguish whether
|
||||
to use the default base fee value specified in the config or 0.
|
||||
*/
|
||||
bool use_base_fee = 23;
|
||||
|
||||
/*
|
||||
If use_fee_rate is true the open channel announcement will update the
|
||||
channel fee rate with the value specified in fee_rate. In the case of
|
||||
a fee_rate of 0 use_fee_rate is needed downstream to distinguish whether
|
||||
to use the default fee rate value specified in the config or 0.
|
||||
*/
|
||||
bool use_fee_rate = 24;
|
||||
|
||||
/*
|
||||
The number of satoshis we require the remote peer to reserve. This value,
|
||||
if specified, must be above the dust limit and below 20% of the channel
|
||||
capacity.
|
||||
*/
|
||||
uint64 remote_chan_reserve_sat = 25 [jstype = JS_STRING];
|
||||
}
|
||||
message OpenStatusUpdate {
|
||||
oneof update {
|
||||
|
|
@ -2564,9 +2638,17 @@ message PendingChannelsResponse {
|
|||
|
||||
repeated PendingHTLC pending_htlcs = 8;
|
||||
|
||||
/*
|
||||
There are three resolution states for the anchor:
|
||||
limbo, lost and recovered. Derive the current state
|
||||
from the limbo and recovered balances.
|
||||
*/
|
||||
enum AnchorState {
|
||||
// The recovered_balance is zero and limbo_balance is non-zero.
|
||||
LIMBO = 0;
|
||||
// The recovered_balance is non-zero.
|
||||
RECOVERED = 1;
|
||||
// A state that is neither LIMBO nor RECOVERED.
|
||||
LOST = 2;
|
||||
}
|
||||
|
||||
|
|
@ -3012,6 +3094,9 @@ message LightningNode {
|
|||
repeated NodeAddress addresses = 4;
|
||||
string color = 5;
|
||||
map<uint32, Feature> features = 6;
|
||||
|
||||
// Custom node announcement tlv records.
|
||||
map<uint64, bytes> custom_records = 7;
|
||||
}
|
||||
|
||||
message NodeAddress {
|
||||
|
|
@ -3027,6 +3112,9 @@ message RoutingPolicy {
|
|||
bool disabled = 5;
|
||||
uint64 max_htlc_msat = 6 [jstype = JS_STRING];
|
||||
uint32 last_update = 7;
|
||||
|
||||
// Custom channel update tlv records.
|
||||
map<uint64, bytes> custom_records = 8;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -3054,6 +3142,9 @@ message ChannelEdge {
|
|||
|
||||
RoutingPolicy node1_policy = 7;
|
||||
RoutingPolicy node2_policy = 8;
|
||||
|
||||
// Custom channel announcement tlv records.
|
||||
map<uint64, bytes> custom_records = 9;
|
||||
}
|
||||
|
||||
message ChannelGraphRequest {
|
||||
|
|
@ -3286,7 +3377,7 @@ message Invoice {
|
|||
int64 value_msat = 23 [jstype = JS_STRING];
|
||||
|
||||
/*
|
||||
Whether this invoice has been fulfilled
|
||||
Whether this invoice has been fulfilled.
|
||||
|
||||
The field is deprecated. Use the state field instead (compare to SETTLED).
|
||||
*/
|
||||
|
|
@ -3294,12 +3385,14 @@ message Invoice {
|
|||
|
||||
/*
|
||||
When this invoice was created.
|
||||
Measured in seconds since the unix epoch.
|
||||
Note: Output only, don't specify for creating an invoice.
|
||||
*/
|
||||
int64 creation_date = 7 [jstype = JS_STRING];
|
||||
|
||||
/*
|
||||
When this invoice was settled.
|
||||
Measured in seconds since the unix epoch.
|
||||
Note: Output only, don't specify for creating an invoice.
|
||||
*/
|
||||
int64 settle_date = 8 [jstype = JS_STRING];
|
||||
|
|
@ -3320,7 +3413,7 @@ message Invoice {
|
|||
*/
|
||||
bytes description_hash = 10;
|
||||
|
||||
// Payment request expiry time in seconds. Default is 3600 (1 hour).
|
||||
// Payment request expiry time in seconds. Default is 86400 (24 hours).
|
||||
int64 expiry = 11 [jstype = JS_STRING];
|
||||
|
||||
// Fallback on-chain address.
|
||||
|
|
@ -3336,6 +3429,8 @@ message Invoice {
|
|||
repeated RouteHint route_hints = 14;
|
||||
|
||||
// Whether this invoice should include routing hints for private channels.
|
||||
// Note: When enabled, if value and value_msat are zero, a large number of
|
||||
// hints with these channels can be included, which might not be desirable.
|
||||
bool private = 15;
|
||||
|
||||
/*
|
||||
|
|
@ -3564,7 +3659,16 @@ message ListInvoiceRequest {
|
|||
specified index offset. This can be used to paginate backwards.
|
||||
*/
|
||||
bool reversed = 6;
|
||||
|
||||
// If set, returns all invoices with a creation date greater than or equal
|
||||
// to it. Measured in seconds since the unix epoch.
|
||||
uint64 creation_date_start = 7 [jstype = JS_STRING];
|
||||
|
||||
// If set, returns all invoices with a creation date less than or equal to
|
||||
// it. Measured in seconds since the unix epoch.
|
||||
uint64 creation_date_end = 8 [jstype = JS_STRING];
|
||||
}
|
||||
|
||||
message ListInvoiceResponse {
|
||||
/*
|
||||
A list of invoices from the time slice of the time series specified in the
|
||||
|
|
@ -3763,6 +3867,14 @@ message ListPaymentsRequest {
|
|||
of payments, as all of them have to be iterated through to be counted.
|
||||
*/
|
||||
bool count_total_payments = 5;
|
||||
|
||||
// If set, returns all invoices with a creation date greater than or equal
|
||||
// to it. Measured in seconds since the unix epoch.
|
||||
uint64 creation_date_start = 6 [jstype = JS_STRING];
|
||||
|
||||
// If set, returns all invoices with a creation date less than or equal to
|
||||
// it. Measured in seconds since the unix epoch.
|
||||
uint64 creation_date_end = 7 [jstype = JS_STRING];
|
||||
}
|
||||
|
||||
message ListPaymentsResponse {
|
||||
|
|
@ -4007,6 +4119,10 @@ message ForwardingHistoryRequest {
|
|||
|
||||
// The max number of events to return in the response to this query.
|
||||
uint32 num_max_events = 4;
|
||||
|
||||
// Informs the server if the peer alias should be looked up for each
|
||||
// forwarding event.
|
||||
bool peer_alias_lookup = 5;
|
||||
}
|
||||
message ForwardingEvent {
|
||||
// Timestamp is the time (unix epoch offset) that this circuit was
|
||||
|
|
@ -4046,6 +4162,12 @@ message ForwardingEvent {
|
|||
// circuit was completed.
|
||||
uint64 timestamp_ns = 11 [jstype = JS_STRING];
|
||||
|
||||
// The peer alias of the incoming channel.
|
||||
string peer_alias_in = 12;
|
||||
|
||||
// The peer alias of the outgoing channel.
|
||||
string peer_alias_out = 13;
|
||||
|
||||
// TODO(roasbeef): add settlement latency?
|
||||
// * use FPE on the chan id?
|
||||
// * also list failures?
|
||||
|
|
|
|||
65
rpc_proxy.go
65
rpc_proxy.go
|
|
@ -111,39 +111,38 @@ func newRpcProxy(cfg *Config, validator macaroons.MacaroonValidator,
|
|||
// it is handled there. If not, the director will forward the call to either a
|
||||
// local or remote lnd instance.
|
||||
//
|
||||
// any RPC or grpc-web call
|
||||
// |
|
||||
// V
|
||||
// +---+----------------------+
|
||||
// | grpc-web proxy |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with basic auth
|
||||
// +---+----------------------+
|
||||
// | interceptors |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with macaroon
|
||||
// +---+----------------------+
|
||||
// | gRPC server |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v unknown authenticated call, gRPC server is just a wrapper
|
||||
// +---+----------------------+
|
||||
// | director |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v authenticated call
|
||||
// +---+----------------------+ call to lnd or integrated daemon
|
||||
// | lnd (remote or local) +---------------+
|
||||
// | faraday remote | |
|
||||
// | loop remote | +----------v----------+
|
||||
// | pool remote | | lnd local subserver |
|
||||
// +--------------------------+ | - faraday |
|
||||
// | - loop |
|
||||
// | - pool |
|
||||
// +---------------------+
|
||||
//
|
||||
// any RPC or grpc-web call
|
||||
// |
|
||||
// V
|
||||
// +---+----------------------+
|
||||
// | grpc-web proxy |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with basic auth
|
||||
// +---+----------------------+
|
||||
// | interceptors |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with macaroon
|
||||
// +---+----------------------+
|
||||
// | gRPC server |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v unknown authenticated call, gRPC server is just a wrapper
|
||||
// +---+----------------------+
|
||||
// | director |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v authenticated call
|
||||
// +---+----------------------+ call to lnd or integrated daemon
|
||||
// | lnd (remote or local) +---------------+
|
||||
// | faraday remote | |
|
||||
// | loop remote | +----------v----------+
|
||||
// | pool remote | | lnd local subserver |
|
||||
// +--------------------------+ | - faraday |
|
||||
// | - loop |
|
||||
// | - pool |
|
||||
// +---------------------+
|
||||
type rpcProxy struct {
|
||||
cfg *Config
|
||||
basicAuth string
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ WORKDIR=$(pwd)/itest
|
|||
EXEC="$WORKDIR"/itest.test
|
||||
LITD_EXEC="$WORKDIR"/litd-itest
|
||||
BTCD_EXEC="$WORKDIR"/btcd-itest
|
||||
echo $EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs -litdexec=$LITD_EXEC -btcdexec=$BTCD_EXEC
|
||||
echo $EXEC -test.v "$@" -logoutput -logdir=.logs -litdexec=$LITD_EXEC -btcdexec=$BTCD_EXEC
|
||||
|
||||
# Exit code 255 causes the parallel jobs to abort, so if one part fails the
|
||||
# other is aborted too.
|
||||
cd "$WORKDIR" || exit 255
|
||||
$EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs -litdexec=$LITD_EXEC -btcdexec=$BTCD_EXEC || exit 255
|
||||
$EXEC -test.v "$@" -logoutput -logdir=.logs -litdexec=$LITD_EXEC -btcdexec=$BTCD_EXEC || exit 255
|
||||
|
|
|
|||
98
terminal.go
98
terminal.go
|
|
@ -40,6 +40,8 @@ import (
|
|||
"github.com/lightningnetwork/lnd"
|
||||
"github.com/lightningnetwork/lnd/build"
|
||||
"github.com/lightningnetwork/lnd/chainreg"
|
||||
"github.com/lightningnetwork/lnd/kvdb"
|
||||
"github.com/lightningnetwork/lnd/lncfg"
|
||||
"github.com/lightningnetwork/lnd/lnrpc"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/autopilotrpc"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/chainrpc"
|
||||
|
|
@ -83,6 +85,10 @@ var (
|
|||
// set this to 200MiB atm.
|
||||
maxMsgRecvSize = grpc.MaxCallRecvMsgSize(1 * 1024 * 1024 * 200)
|
||||
|
||||
// macDatabaseOpenTimeout is how long we wait for acquiring the lock on
|
||||
// the macaroon database before we give up with an error.
|
||||
macDatabaseOpenTimeout = time.Second * 5
|
||||
|
||||
// appBuildFS is an in-memory file system that contains all the static
|
||||
// HTML/CSS/JS files of the UI. It is compiled into the binary with the
|
||||
// go 1.16 embed directive below. Because the path is relative to the
|
||||
|
|
@ -178,6 +184,7 @@ type LightningTerminal struct {
|
|||
|
||||
macaroonService *lndclient.MacaroonService
|
||||
macaroonServiceStarted bool
|
||||
macaroonDB kvdb.Backend
|
||||
|
||||
middleware *mid.Manager
|
||||
middlewareStarted bool
|
||||
|
|
@ -665,9 +672,19 @@ func (g *LightningTerminal) startSubservers() error {
|
|||
}
|
||||
|
||||
log.Infof("Starting LiT macaroon service")
|
||||
|
||||
// Set up the macaroon service.
|
||||
rks, db, err := lndclient.NewBoltMacaroonStore(
|
||||
g.cfg.LitDir, lncfg.MacaroonDBName, macDatabaseOpenTimeout,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
g.macaroonDB = db
|
||||
g.macaroonService, err = lndclient.NewMacaroonService(
|
||||
&lndclient.MacaroonServiceConfig{
|
||||
DBPath: filepath.Join(g.cfg.LitDir, g.cfg.Network),
|
||||
RootKeyStore: rks,
|
||||
MacaroonLocation: "litd",
|
||||
StatelessInit: !createDefaultMacaroons,
|
||||
RequiredPerms: perms.LitPermissions,
|
||||
|
|
@ -1080,6 +1097,10 @@ func (g *LightningTerminal) shutdown() error {
|
|||
}
|
||||
}
|
||||
|
||||
if g.macaroonDB != nil {
|
||||
g.macaroonDB.Close()
|
||||
}
|
||||
|
||||
if g.accountServiceStarted {
|
||||
if err := g.accountService.Stop(); err != nil {
|
||||
log.Errorf("Error stopping account service: %v", err)
|
||||
|
|
@ -1159,44 +1180,43 @@ func (g *LightningTerminal) shutdown() error {
|
|||
// between the embedded HTTP server and the RPC proxy. An incoming request will
|
||||
// go through the following chain of components:
|
||||
//
|
||||
// Request on port 8443 <------------------------------------+
|
||||
// | converted gRPC request |
|
||||
// v |
|
||||
// +---+----------------------+ other +----------------+ |
|
||||
// | Main web HTTP server +------->+ Embedded HTTP | |
|
||||
// +---+----------------------+____+ +----------------+ |
|
||||
// | | |
|
||||
// v any RPC or grpc-web call | any REST call |
|
||||
// +---+----------------------+ |->+----------------+ |
|
||||
// | grpc-web proxy | + grpc-gateway +-----------+
|
||||
// +---+----------------------+ +----------------+
|
||||
// |
|
||||
// v native gRPC call with basic auth
|
||||
// +---+----------------------+
|
||||
// | interceptors |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with macaroon
|
||||
// +---+----------------------+
|
||||
// | gRPC server |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v unknown authenticated call, gRPC server is just a wrapper
|
||||
// +---+----------------------+
|
||||
// | director |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v authenticated call
|
||||
// +---+----------------------+ call to lnd or integrated daemon
|
||||
// | lnd (remote or local) +---------------+
|
||||
// | faraday remote | |
|
||||
// | loop remote | +----------v----------+
|
||||
// | pool remote | | lnd local subserver |
|
||||
// +--------------------------+ | - faraday |
|
||||
// | - loop |
|
||||
// | - pool |
|
||||
// +---------------------+
|
||||
//
|
||||
// Request on port 8443 <------------------------------------+
|
||||
// | converted gRPC request |
|
||||
// v |
|
||||
// +---+----------------------+ other +----------------+ |
|
||||
// | Main web HTTP server +------->+ Embedded HTTP | |
|
||||
// +---+----------------------+____+ +----------------+ |
|
||||
// | | |
|
||||
// v any RPC or grpc-web call | any REST call |
|
||||
// +---+----------------------+ |->+----------------+ |
|
||||
// | grpc-web proxy | + grpc-gateway +-----------+
|
||||
// +---+----------------------+ +----------------+
|
||||
// |
|
||||
// v native gRPC call with basic auth
|
||||
// +---+----------------------+
|
||||
// | interceptors |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v native gRPC call with macaroon
|
||||
// +---+----------------------+
|
||||
// | gRPC server |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v unknown authenticated call, gRPC server is just a wrapper
|
||||
// +---+----------------------+
|
||||
// | director |
|
||||
// +---+----------------------+
|
||||
// |
|
||||
// v authenticated call
|
||||
// +---+----------------------+ call to lnd or integrated daemon
|
||||
// | lnd (remote or local) +---------------+
|
||||
// | faraday remote | |
|
||||
// | loop remote | +----------v----------+
|
||||
// | pool remote | | lnd local subserver |
|
||||
// +--------------------------+ | - faraday |
|
||||
// | - loop |
|
||||
// | - pool |
|
||||
// +---------------------+
|
||||
func (g *LightningTerminal) startMainWebServer() error {
|
||||
// Initialize the in-memory file server from the content compiled by
|
||||
// the go:embed directive. Since everything's relative to the root dir,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.18.0-buster
|
||||
FROM golang:1.19.7-buster
|
||||
|
||||
RUN apt-get update && apt-get install -y git
|
||||
ENV GOCACHE=/tmp/build/.cache
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
module github.com/lightninglabs/lightning-terminal/tools
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/btcsuite/btcd v0.23.2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue