diff --git a/account/auth_test.go b/account/auth_test.go index fb93643..ddd8668 100644 --- a/account/auth_test.go +++ b/account/auth_test.go @@ -4,12 +4,13 @@ import ( "crypto/sha256" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" ) var ( privKeyBytes = sha256.Sum256([]byte("brainwallet_private_key")) - privKey, pubKey = btcec.PrivKeyFromBytes(btcec.S256(), privKeyBytes[:]) + privKey, pubKey = btcec.PrivKeyFromBytes(privKeyBytes[:]) clientNonce = sha256.Sum256([]byte("nonce1")) serverNonce = sha256.Sum256([]byte("nonce2")) ) @@ -31,10 +32,7 @@ func TestAuthHandshake(t *testing.T) { // a signature over authHash and sends that to the server, together with // the nonce they chose and the public key they used to sign. authHash := AuthHash(commitHash, authChallenge) - sig, err := privKey.Sign(authHash[:]) - if err != nil { - t.Fatalf("error signing auth hash: %v", err) - } + sig := ecdsa.Sign(privKey, authHash[:]) // Step 3b: The server receives the signature, the client's nonce and // public key. The server then reconstructs the full authHash and diff --git a/account/coin_selection.go b/account/coin_selection.go index 9d5ed47..633e649 100644 --- a/account/coin_selection.go +++ b/account/coin_selection.go @@ -3,8 +3,8 @@ package account import ( "fmt" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/txscript" - "github.com/btcsuite/btcutil" "github.com/lightningnetwork/lnd/input" "github.com/lightningnetwork/lnd/lnwallet/chainfee" "github.com/lightningnetwork/lnd/lnwallet/chanfunding" diff --git a/account/interfaces.go b/account/interfaces.go index 7773f5b..c4ad216 100644 --- a/account/interfaces.go +++ b/account/interfaces.go @@ -4,12 +4,11 @@ import ( "context" "errors" "fmt" - "math/big" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/btcsuite/btcwallet/wtxmgr" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/poolscript" @@ -230,6 +229,12 @@ func (a *Account) NextOutputScript() ([]byte, error) { ) } +// CopyPubKey creates a copy of a public key. +func CopyPubKey(pub *btcec.PublicKey) *btcec.PublicKey { + newPubKey, _ := btcec.ParsePubKey(pub.SerializeCompressed()) + return newPubKey +} + // Copy returns a deep copy of the account with the given modifiers applied. func (a *Account) Copy(modifiers ...Modifier) *Account { accountCopy := &Account{ @@ -237,26 +242,14 @@ func (a *Account) Copy(modifiers ...Modifier) *Account { Expiry: a.Expiry, TraderKey: &keychain.KeyDescriptor{ KeyLocator: a.TraderKey.KeyLocator, - PubKey: &btcec.PublicKey{ - X: big.NewInt(0).Set(a.TraderKey.PubKey.X), - Y: big.NewInt(0).Set(a.TraderKey.PubKey.Y), - Curve: a.TraderKey.PubKey.Curve, - }, + PubKey: CopyPubKey(a.TraderKey.PubKey), }, - AuctioneerKey: &btcec.PublicKey{ - X: big.NewInt(0).Set(a.AuctioneerKey.X), - Y: big.NewInt(0).Set(a.AuctioneerKey.Y), - Curve: a.AuctioneerKey.Curve, - }, - BatchKey: &btcec.PublicKey{ - X: big.NewInt(0).Set(a.BatchKey.X), - Y: big.NewInt(0).Set(a.BatchKey.Y), - Curve: a.BatchKey.Curve, - }, - Secret: a.Secret, - State: a.State, - HeightHint: a.HeightHint, - OutPoint: a.OutPoint, + AuctioneerKey: CopyPubKey(a.AuctioneerKey), + BatchKey: CopyPubKey(a.BatchKey), + Secret: a.Secret, + State: a.State, + HeightHint: a.HeightHint, + OutPoint: a.OutPoint, } if a.State != StateInitiated { accountCopy.LatestTx = a.LatestTx.Copy() diff --git a/account/manager.go b/account/manager.go index 671ccd3..007d70d 100644 --- a/account/manager.go +++ b/account/manager.go @@ -11,12 +11,12 @@ import ( "time" "github.com/btcsuite/btcd/blockchain" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" + "github.com/btcsuite/btcd/btcutil/txsort" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" - "github.com/btcsuite/btcutil/txsort" "github.com/btcsuite/btcwallet/wallet" "github.com/btcsuite/btcwallet/wallet/txrules" "github.com/btcsuite/btcwallet/wtxmgr" diff --git a/account/manager_test.go b/account/manager_test.go index 9e92bbe..a7c679b 100644 --- a/account/manager_test.go +++ b/account/manager_test.go @@ -11,11 +11,11 @@ import ( "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/davecgh/go-spew/spew" "github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/lntest/wait" @@ -123,15 +123,6 @@ func (h *testHarness) assertAccountExists(expected *Account) { } if !reflect.DeepEqual(found, expected) { - // Nil the public key curves before spew to prevent - // extraneous output. - found.TraderKey.PubKey.Curve = nil - expected.TraderKey.PubKey.Curve = nil - found.AuctioneerKey.Curve = nil - expected.AuctioneerKey.Curve = nil - found.BatchKey.Curve = nil - expected.BatchKey.Curve = nil - return fmt.Errorf("expected account: %v\ngot: %v", spew.Sdump(expected), spew.Sdump(found)) } diff --git a/account/mock_interfaces.go b/account/mock_interfaces.go index 5e60e00..7ed58b5 100644 --- a/account/mock_interfaces.go +++ b/account/mock_interfaces.go @@ -8,9 +8,9 @@ import ( context "context" reflect "reflect" - btcec "github.com/btcsuite/btcd/btcec" + v2 "github.com/btcsuite/btcd/btcec/v2" + btcutil "github.com/btcsuite/btcd/btcutil" wire "github.com/btcsuite/btcd/wire" - btcutil "github.com/btcsuite/btcutil" wtxmgr "github.com/btcsuite/btcwallet/wtxmgr" gomock "github.com/golang/mock/gomock" lndclient "github.com/lightninglabs/lndclient" @@ -44,7 +44,7 @@ func (m *MockStore) EXPECT() *MockStoreMockRecorder { } // Account mocks base method. -func (m *MockStore) Account(arg0 *btcec.PublicKey) (*Account, error) { +func (m *MockStore) Account(arg0 *v2.PublicKey) (*Account, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Account", arg0) ret0, _ := ret[0].(*Account) @@ -202,7 +202,7 @@ func (mr *MockAuctioneerMockRecorder) ModifyAccount(arg0, arg1, arg2, arg3, arg4 } // ReserveAccount mocks base method. -func (m *MockAuctioneer) ReserveAccount(arg0 context.Context, arg1 btcutil.Amount, arg2 uint32, arg3 *btcec.PublicKey) (*Reservation, error) { +func (m *MockAuctioneer) ReserveAccount(arg0 context.Context, arg1 btcutil.Amount, arg2 uint32, arg3 *v2.PublicKey) (*Reservation, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "ReserveAccount", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(*Reservation) @@ -383,7 +383,7 @@ func (m *MockManager) EXPECT() *MockManagerMockRecorder { } // BumpAccountFee mocks base method. -func (m *MockManager) BumpAccountFee(ctx context.Context, traderKey *btcec.PublicKey, newFeeRate chainfee.SatPerKWeight) error { +func (m *MockManager) BumpAccountFee(ctx context.Context, traderKey *v2.PublicKey, newFeeRate chainfee.SatPerKWeight) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BumpAccountFee", ctx, traderKey, newFeeRate) ret0, _ := ret[0].(error) @@ -397,7 +397,7 @@ func (mr *MockManagerMockRecorder) BumpAccountFee(ctx, traderKey, newFeeRate int } // CloseAccount mocks base method. -func (m *MockManager) CloseAccount(ctx context.Context, traderKey *btcec.PublicKey, feeExpr FeeExpr, bestHeight uint32) (*wire.MsgTx, error) { +func (m *MockManager) CloseAccount(ctx context.Context, traderKey *v2.PublicKey, feeExpr FeeExpr, bestHeight uint32) (*wire.MsgTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "CloseAccount", ctx, traderKey, feeExpr, bestHeight) ret0, _ := ret[0].(*wire.MsgTx) @@ -412,7 +412,7 @@ func (mr *MockManagerMockRecorder) CloseAccount(ctx, traderKey, feeExpr, bestHei } // DepositAccount mocks base method. -func (m *MockManager) DepositAccount(ctx context.Context, traderKey *btcec.PublicKey, depositAmount btcutil.Amount, feeRate chainfee.SatPerKWeight, bestHeight, expiryHeight uint32) (*Account, *wire.MsgTx, error) { +func (m *MockManager) DepositAccount(ctx context.Context, traderKey *v2.PublicKey, depositAmount btcutil.Amount, feeRate chainfee.SatPerKWeight, bestHeight, expiryHeight uint32) (*Account, *wire.MsgTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "DepositAccount", ctx, traderKey, depositAmount, feeRate, bestHeight, expiryHeight) ret0, _ := ret[0].(*Account) @@ -428,7 +428,7 @@ func (mr *MockManagerMockRecorder) DepositAccount(ctx, traderKey, depositAmount, } // HandleAccountConf mocks base method. -func (m *MockManager) HandleAccountConf(traderKey *btcec.PublicKey, confDetails *chainntnfs.TxConfirmation) error { +func (m *MockManager) HandleAccountConf(traderKey *v2.PublicKey, confDetails *chainntnfs.TxConfirmation) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "HandleAccountConf", traderKey, confDetails) ret0, _ := ret[0].(error) @@ -442,7 +442,7 @@ func (mr *MockManagerMockRecorder) HandleAccountConf(traderKey, confDetails inte } // HandleAccountExpiry mocks base method. -func (m *MockManager) HandleAccountExpiry(traderKey *btcec.PublicKey, height uint32) error { +func (m *MockManager) HandleAccountExpiry(traderKey *v2.PublicKey, height uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "HandleAccountExpiry", traderKey, height) ret0, _ := ret[0].(error) @@ -456,7 +456,7 @@ func (mr *MockManagerMockRecorder) HandleAccountExpiry(traderKey, height interfa } // HandleAccountSpend mocks base method. -func (m *MockManager) HandleAccountSpend(traderKey *btcec.PublicKey, spendDetails *chainntnfs.SpendDetail) error { +func (m *MockManager) HandleAccountSpend(traderKey *v2.PublicKey, spendDetails *chainntnfs.SpendDetail) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "HandleAccountSpend", traderKey, spendDetails) ret0, _ := ret[0].(error) @@ -515,7 +515,7 @@ func (mr *MockManagerMockRecorder) RecoverAccount(ctx, account interface{}) *gom } // RenewAccount mocks base method. -func (m *MockManager) RenewAccount(ctx context.Context, traderKey *btcec.PublicKey, newExpiry uint32, feeRate chainfee.SatPerKWeight, bestHeight uint32) (*Account, *wire.MsgTx, error) { +func (m *MockManager) RenewAccount(ctx context.Context, traderKey *v2.PublicKey, newExpiry uint32, feeRate chainfee.SatPerKWeight, bestHeight uint32) (*Account, *wire.MsgTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RenewAccount", ctx, traderKey, newExpiry, feeRate, bestHeight) ret0, _ := ret[0].(*Account) @@ -557,7 +557,7 @@ func (mr *MockManagerMockRecorder) Stop() *gomock.Call { } // WatchMatchedAccounts mocks base method. -func (m *MockManager) WatchMatchedAccounts(ctx context.Context, matchedAccounts []*btcec.PublicKey) error { +func (m *MockManager) WatchMatchedAccounts(ctx context.Context, matchedAccounts []*v2.PublicKey) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "WatchMatchedAccounts", ctx, matchedAccounts) ret0, _ := ret[0].(error) @@ -571,7 +571,7 @@ func (mr *MockManagerMockRecorder) WatchMatchedAccounts(ctx, matchedAccounts int } // WithdrawAccount mocks base method. -func (m *MockManager) WithdrawAccount(ctx context.Context, traderKey *btcec.PublicKey, outputs []*wire.TxOut, feeRate chainfee.SatPerKWeight, bestHeight, expiryHeight uint32) (*Account, *wire.MsgTx, error) { +func (m *MockManager) WithdrawAccount(ctx context.Context, traderKey *v2.PublicKey, outputs []*wire.TxOut, feeRate chainfee.SatPerKWeight, bestHeight, expiryHeight uint32) (*Account, *wire.MsgTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "WithdrawAccount", ctx, traderKey, outputs, feeRate, bestHeight, expiryHeight) ret0, _ := ret[0].(*Account) diff --git a/account/mock_test.go b/account/mock_test.go index 17e16fe..0eb6369 100644 --- a/account/mock_test.go +++ b/account/mock_test.go @@ -7,11 +7,11 @@ import ( "sync" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/btcsuite/btcwallet/wtxmgr" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/poolscript" @@ -25,10 +25,10 @@ import ( var ( testRawAuctioneerKey, _ = hex.DecodeString("02187d1a0e30f4e5016fc1137363ee9e7ed5dde1e6c50f367422336df7a108b716") - testAuctioneerKey, _ = btcec.ParsePubKey(testRawAuctioneerKey, btcec.S256()) + testAuctioneerKey, _ = btcec.ParsePubKey(testRawAuctioneerKey) testRawTraderKey, _ = hex.DecodeString("036b51e0cc2d9e5988ee4967e0ba67ef3727bb633fea21a0af58e0c9395446ba09") - testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey, btcec.S256()) + testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey) testTraderKeyDesc = &keychain.KeyDescriptor{ KeyLocator: keychain.KeyLocator{ @@ -39,7 +39,7 @@ var ( } testRawBatchKey, _ = hex.DecodeString("02824d0cbac65e01712124c50ff2cc74ce22851d7b444c1bf2ae66afefb8eaf27f") - testBatchKey, _ = btcec.ParsePubKey(testRawBatchKey, btcec.S256()) + testBatchKey, _ = btcec.ParsePubKey(testRawBatchKey) sharedSecret = [32]byte{0x73, 0x65, 0x63, 0x72, 0x65, 0x74} ) diff --git a/account/recovery.go b/account/recovery.go index e8e0fec..49a60f0 100644 --- a/account/recovery.go +++ b/account/recovery.go @@ -7,10 +7,10 @@ import ( "io/ioutil" "os" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/rpcclient" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/poolscript" "github.com/lightningnetwork/lnd/keychain" @@ -65,7 +65,7 @@ func DecodeAndParseKey(key string) (*btcec.PublicKey, error) { if err != nil { return nil, err } - k, err := btcec.ParsePubKey(kStr, btcec.S256()) + k, err := btcec.ParsePubKey(kStr) if err != nil { return nil, err } diff --git a/account/recovery_test.go b/account/recovery_test.go index 61e40b8..b434b0b 100644 --- a/account/recovery_test.go +++ b/account/recovery_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/internal/test" "github.com/lightninglabs/pool/poolscript" "github.com/lightningnetwork/lnd/keychain" diff --git a/account/watcher/controller.go b/account/watcher/controller.go index 19b110f..a03c31e 100644 --- a/account/watcher/controller.go +++ b/account/watcher/controller.go @@ -4,7 +4,7 @@ import ( "context" "sync" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" "github.com/lightninglabs/lndclient" diff --git a/account/watcher/controller_test.go b/account/watcher/controller_test.go index 4008e7a..95aa03d 100644 --- a/account/watcher/controller_test.go +++ b/account/watcher/controller_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" gomock "github.com/golang/mock/gomock" @@ -167,7 +167,7 @@ var controllerWatchAccountTestCases = []struct { func TestWatcherControllerWatchAccount(t *testing.T) { traderKeyStr := "036b51e0cc2d9e5988ee4967e0ba67ef3727bb633fea21a0af58e0c9395446ba09" traderKeyRaw, _ := hex.DecodeString(traderKeyStr) - traderKey, _ := btcec.ParsePubKey(traderKeyRaw, btcec.S256()) + traderKey, _ := btcec.ParsePubKey(traderKeyRaw) var txHash chainhash.Hash if _, err := rand.Read(txHash[:]); err != nil { // nolint:gosec @@ -264,7 +264,7 @@ var controllerWatchAccountSpendTestCases = []struct { func TestWatcherControllerWatchAccountSpend(t *testing.T) { traderKeyStr := "036b51e0cc2d9e5988ee4967e0ba67ef3727bb633fea21a0af58e0c9395446ba09" traderKeyRaw, _ := hex.DecodeString(traderKeyStr) - traderKey, _ := btcec.ParsePubKey(traderKeyRaw, btcec.S256()) + traderKey, _ := btcec.ParsePubKey(traderKeyRaw) outpoint := wire.OutPoint{} diff --git a/account/watcher/interfaces.go b/account/watcher/interfaces.go index c4b4095..c119e06 100644 --- a/account/watcher/interfaces.go +++ b/account/watcher/interfaces.go @@ -1,7 +1,7 @@ package watcher import ( - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" "github.com/lightningnetwork/lnd/chainntnfs" diff --git a/account/watcher/mock_interface_test.go b/account/watcher/mock_interface_test.go index 3e53765..096d28a 100644 --- a/account/watcher/mock_interface_test.go +++ b/account/watcher/mock_interface_test.go @@ -7,7 +7,7 @@ package watcher import ( reflect "reflect" - btcec "github.com/btcsuite/btcd/btcec" + btcec "github.com/btcsuite/btcd/btcec/v2" chainhash "github.com/btcsuite/btcd/chaincfg/chainhash" wire "github.com/btcsuite/btcd/wire" gomock "github.com/golang/mock/gomock" diff --git a/account/watcher/watcher.go b/account/watcher/watcher.go index 9f5d902..3c0a12b 100644 --- a/account/watcher/watcher.go +++ b/account/watcher/watcher.go @@ -3,7 +3,7 @@ package watcher import ( "sync" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" ) // expiryWatcher implements the ExpiryWatcher interface diff --git a/account/watcher/watcher_test.go b/account/watcher/watcher_test.go index d457be9..419160f 100644 --- a/account/watcher/watcher_test.go +++ b/account/watcher/watcher_test.go @@ -7,17 +7,18 @@ import ( "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + secp "github.com/decred/dcrd/dcrec/secp256k1/v4" gomock "github.com/golang/mock/gomock" ) func randomPrivateKey(seed int64) *btcec.PrivateKey { r := rand.New(rand.NewSource(seed)) - key, err := ecdsa.GenerateKey(btcec.S256(), r) + key, err := ecdsa.GenerateKey(secp.S256(), r) if err != nil { return nil } - return (*btcec.PrivateKey)(key) + return secp.PrivKeyFromBytes(key.D.Bytes()) } func randomPublicKey(seed int64) *btcec.PublicKey { @@ -79,7 +80,7 @@ var overdueExpirationsTestCases = []struct { if len(watcher.expirations) != 1 { return errors.New( "handled expirations were " + - " not deleted", + "not deleted", ) } return nil diff --git a/auctioneer/account_subscription_test.go b/auctioneer/account_subscription_test.go index 92dd137..0ae0d4f 100644 --- a/auctioneer/account_subscription_test.go +++ b/auctioneer/account_subscription_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/internal/test" "github.com/lightninglabs/pool/order" @@ -20,7 +20,7 @@ var ( testTraderKeyStr = "036b51e0cc2d9e5988ee4967e0ba67ef3727bb633fea21" + "a0af58e0c9395446ba09" testRawTraderKey, _ = hex.DecodeString(testTraderKeyStr) - testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey, btcec.S256()) + testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey) testAccountDesc = &keychain.KeyDescriptor{ KeyLocator: keychain.KeyLocator{}, PubKey: testTraderKey, diff --git a/auctioneer/client.go b/auctioneer/client.go index 78d3b67..94eaa36 100644 --- a/auctioneer/client.go +++ b/auctioneer/client.go @@ -13,10 +13,10 @@ import ( "sync/atomic" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" @@ -294,15 +294,11 @@ func (c *Client) ReserveAccount(ctx context.Context, value btcutil.Amount, return nil, err } - auctioneerKey, err := btcec.ParsePubKey( - resp.AuctioneerKey, btcec.S256(), - ) + auctioneerKey, err := btcec.ParsePubKey(resp.AuctioneerKey) if err != nil { return nil, err } - initialBatchKey, err := btcec.ParsePubKey( - resp.InitialBatchKey, btcec.S256(), - ) + initialBatchKey, err := btcec.ParsePubKey(resp.InitialBatchKey) if err != nil { return nil, err } @@ -784,7 +780,7 @@ func (c *Client) RecoverAccounts(ctx context.Context, // The trader key must match our key, otherwise // something got out of order. acctKey, err := btcec.ParsePubKey( - acctMsg.Account.TraderKey, btcec.S256(), + acctMsg.Account.TraderKey, ) if err != nil { return nil, fmt.Errorf("error parsing account "+ @@ -834,16 +830,12 @@ func incompleteAcctFromErr(traderKey *keychain.KeyDescriptor, err error ) - acct.AuctioneerKey, err = btcec.ParsePubKey( - resErr.AuctioneerKey[:], btcec.S256(), - ) + acct.AuctioneerKey, err = btcec.ParsePubKey(resErr.AuctioneerKey[:]) if err != nil { return nil, fmt.Errorf("error parsing auctioneer key: %v", err) } - acct.BatchKey, err = btcec.ParsePubKey( - resErr.InitialBatchKey[:], btcec.S256(), - ) + acct.BatchKey, err = btcec.ParsePubKey(resErr.InitialBatchKey[:]) if err != nil { return nil, fmt.Errorf("error parsing batch key: %v", err) } @@ -1233,11 +1225,11 @@ func unmarshallServerRecoveredAccount(keyDesc *keychain.KeyDescriptor, a *auctioneerrpc.AuctionAccount) (*account.Account, error) { // Parse all raw public keys. - auctioneerKey, err := btcec.ParsePubKey(a.AuctioneerKey, btcec.S256()) + auctioneerKey, err := btcec.ParsePubKey(a.AuctioneerKey) if err != nil { return nil, fmt.Errorf("error parsing auctioneer key: %v", err) } - batchKey, err := btcec.ParsePubKey(a.BatchKey, btcec.S256()) + batchKey, err := btcec.ParsePubKey(a.BatchKey) if err != nil { return nil, fmt.Errorf("error parsing batch key: %v", err) } diff --git a/auctioneer/errors.go b/auctioneer/errors.go index 0ac8340..ae66f89 100644 --- a/auctioneer/errors.go +++ b/auctioneer/errors.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/auctioneerrpc" ) diff --git a/auctioneerrpc/auctioneer.pb.go b/auctioneerrpc/auctioneer.pb.go index 92d2cdb..387594b 100644 --- a/auctioneerrpc/auctioneer.pb.go +++ b/auctioneerrpc/auctioneer.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 +// protoc-gen-go v1.27.1 // protoc v3.6.1 // source: auctioneer.proto diff --git a/auctioneerrpc/hashmail.pb.go b/auctioneerrpc/hashmail.pb.go index 29cca55..00d58a2 100644 --- a/auctioneerrpc/hashmail.pb.go +++ b/auctioneerrpc/hashmail.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 +// protoc-gen-go v1.27.1 // protoc v3.6.1 // source: hashmail.proto diff --git a/chaninfo/channel_info.go b/chaninfo/channel_info.go index 16be196..637a87b 100644 --- a/chaninfo/channel_info.go +++ b/chaninfo/channel_info.go @@ -5,7 +5,7 @@ import ( "context" "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" "github.com/lightninglabs/lndclient" "github.com/lightningnetwork/lnd/chanbackup" @@ -79,9 +79,7 @@ func GatherChannelInfo(ctx context.Context, client lndclient.LightningClient, if err != nil { return nil, err } - localNodeKey, err := btcec.ParsePubKey( - nodeInfo.IdentityPubkey[:], btcec.S256(), - ) + localNodeKey, err := btcec.ParsePubKey(nodeInfo.IdentityPubkey[:]) if err != nil { return nil, err } diff --git a/chaninfo/channel_info_test.go b/chaninfo/channel_info_test.go index b8428a2..ebdb023 100644 --- a/chaninfo/channel_info_test.go +++ b/chaninfo/channel_info_test.go @@ -4,7 +4,7 @@ import ( "encoding/hex" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" ) // TestMatchChannelInfo ensures that we properly match a ChannelInfo pair. @@ -16,33 +16,33 @@ func TestMatchChannelInfo(t *testing.T) { localNodeKeyBytes, _ := hex.DecodeString( "02187d1a0e30f4e5016fc1137363ee9e7ed5dde1e6c50f367422336df7a108b716", ) - localNodeKey1, _ := btcec.ParsePubKey(localNodeKeyBytes, btcec.S256()) - localNodeKey2, _ := btcec.ParsePubKey(localNodeKeyBytes, btcec.S256()) + localNodeKey1, _ := btcec.ParsePubKey(localNodeKeyBytes) + localNodeKey2, _ := btcec.ParsePubKey(localNodeKeyBytes) remoteNodeKeyBytes, _ := hex.DecodeString( "02929da6f6fa95c0a4a7dcc95dfa4aebaeda654819324f8b62f0c4ef34812d0c7a", ) - remoteNodeKey1, _ := btcec.ParsePubKey(remoteNodeKeyBytes, btcec.S256()) - remoteNodeKey2, _ := btcec.ParsePubKey(remoteNodeKeyBytes, btcec.S256()) + remoteNodeKey1, _ := btcec.ParsePubKey(remoteNodeKeyBytes) + remoteNodeKey2, _ := btcec.ParsePubKey(remoteNodeKeyBytes) localPaymentBasePointBytes, _ := hex.DecodeString( "0228efbf608dbbeb90684fa3cf22c69dfaf491edddd6d87a051f8d2ef1ae28b95c", ) localPaymentBasePoint1, _ := btcec.ParsePubKey( - localPaymentBasePointBytes, btcec.S256(), + localPaymentBasePointBytes, ) localPaymentBasePoint2, _ := btcec.ParsePubKey( - localPaymentBasePointBytes, btcec.S256(), + localPaymentBasePointBytes, ) remotePaymentBasePointBytes, _ := hex.DecodeString( "02ea91d9ffa39b90da87aa9aad5d7f5b2085bffb4f1b9be74d0bfedea2aefa0729", ) remotePaymentBasePoint1, _ := btcec.ParsePubKey( - remotePaymentBasePointBytes, btcec.S256(), + remotePaymentBasePointBytes, ) remotePaymentBasePoint2, _ := btcec.ParsePubKey( - remotePaymentBasePointBytes, btcec.S256(), + remotePaymentBasePointBytes, ) a := &ChannelInfo{ diff --git a/clientdb/account.go b/clientdb/account.go index 4565c5a..71ec96f 100644 --- a/clientdb/account.go +++ b/clientdb/account.go @@ -5,7 +5,7 @@ import ( "errors" "io" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/pool/account" "go.etcd.io/bbolt" ) diff --git a/clientdb/account_test.go b/clientdb/account_test.go index 4f07698..3377474 100644 --- a/clientdb/account_test.go +++ b/clientdb/account_test.go @@ -7,9 +7,9 @@ import ( "reflect" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/davecgh/go-spew/spew" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/poolscript" @@ -20,10 +20,10 @@ var ( testOutPoint = wire.OutPoint{Index: 1} testRawAuctioneerKey, _ = hex.DecodeString("02187d1a0e30f4e5016fc1137363ee9e7ed5dde1e6c50f367422336df7a108b716") - testAuctioneerKey, _ = btcec.ParsePubKey(testRawAuctioneerKey, btcec.S256()) + testAuctioneerKey, _ = btcec.ParsePubKey(testRawAuctioneerKey) testRawTraderKey, _ = hex.DecodeString("036b51e0cc2d9e5988ee4967e0ba67ef3727bb633fea21a0af58e0c9395446ba09") - testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey, btcec.S256()) + testTraderKey, _ = btcec.ParsePubKey(testRawTraderKey) testRawTraderKeyArr = [33]byte{ 0x03, 0x6b, 0x51, 0xe0, 0xcc, 0x2d, 0x9e, 0x59, 0x88, 0xee, 0x49, 0x67, 0xe0, 0xba, 0x67, 0xef, 0x37, 0x27, 0xbb, 0x63, @@ -40,7 +40,7 @@ var ( } testRawBatchKey, _ = hex.DecodeString("02824d0cbac65e01712124c50ff2cc74ce22851d7b444c1bf2ae66afefb8eaf27f") - testBatchKey, _ = btcec.ParsePubKey(testRawBatchKey, btcec.S256()) + testBatchKey, _ = btcec.ParsePubKey(testRawBatchKey) sharedSecret = [32]byte{0x73, 0x65, 0x63, 0x72, 0x65, 0x74} ) diff --git a/clientdb/batch_snapshot_test.go b/clientdb/batch_snapshot_test.go index 9d4c004..7879b37 100644 --- a/clientdb/batch_snapshot_test.go +++ b/clientdb/batch_snapshot_test.go @@ -7,7 +7,7 @@ import ( "reflect" "testing" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/davecgh/go-spew/spew" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/order" diff --git a/clientdb/batch_test.go b/clientdb/batch_test.go index b085765..17e6cd3 100644 --- a/clientdb/batch_test.go +++ b/clientdb/batch_test.go @@ -5,9 +5,9 @@ import ( "strings" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/terms" diff --git a/clientdb/codec.go b/clientdb/codec.go index 64c6dca..954b2b4 100644 --- a/clientdb/codec.go +++ b/clientdb/codec.go @@ -8,8 +8,8 @@ import ( "reflect" "time" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/terms" diff --git a/clientdb/codec_test.go b/clientdb/codec_test.go index 251a09a..2b472d8 100644 --- a/clientdb/codec_test.go +++ b/clientdb/codec_test.go @@ -3,7 +3,7 @@ package clientdb import ( "testing" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/account" "github.com/stretchr/testify/require" "go.etcd.io/bbolt" diff --git a/clientdb/order.go b/clientdb/order.go index 434fe31..6986bd3 100644 --- a/clientdb/order.go +++ b/clientdb/order.go @@ -6,7 +6,7 @@ import ( "fmt" "io" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/event" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/sidecar" diff --git a/clientdb/order_test.go b/clientdb/order_test.go index 2c9b079..f73b6ad 100644 --- a/clientdb/order_test.go +++ b/clientdb/order_test.go @@ -6,7 +6,7 @@ import ( "reflect" "testing" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/davecgh/go-spew/spew" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/sidecar" diff --git a/clientdb/sidecar.go b/clientdb/sidecar.go index df4bdc8..72fb17e 100644 --- a/clientdb/sidecar.go +++ b/clientdb/sidecar.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/sidecar" "go.etcd.io/bbolt" diff --git a/cmd/pool/account.go b/cmd/pool/account.go index ebb4f8c..351eee2 100644 --- a/cmd/pool/account.go +++ b/cmd/pool/account.go @@ -6,8 +6,8 @@ import ( "errors" "fmt" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg/chainhash" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/poolrpc" "github.com/lightningnetwork/lnd/lnwallet/chainfee" "github.com/urfave/cli" diff --git a/cmd/pool/main.go b/cmd/pool/main.go index a3cb62c..f2be688 100644 --- a/cmd/pool/main.go +++ b/cmd/pool/main.go @@ -12,7 +12,7 @@ import ( "strconv" "strings" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool" "github.com/lightninglabs/pool/poolrpc" diff --git a/cmd/pool/order.go b/cmd/pool/order.go index 1086637..d935b7f 100644 --- a/cmd/pool/order.go +++ b/cmd/pool/order.go @@ -8,7 +8,7 @@ import ( "os" "strings" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/auctioneer" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/order" diff --git a/cmd/pool/sidecar.go b/cmd/pool/sidecar.go index afdaea4..698f78d 100644 --- a/cmd/pool/sidecar.go +++ b/cmd/pool/sidecar.go @@ -6,7 +6,7 @@ import ( "fmt" "strconv" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/poolrpc" "github.com/lightningnetwork/lnd/lnwallet/chainfee" diff --git a/config.go b/config.go index bc14236..76305d8 100644 --- a/config.go +++ b/config.go @@ -10,7 +10,7 @@ import ( "path/filepath" "time" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/order" "github.com/lightningnetwork/lnd/cert" "github.com/lightningnetwork/lnd/lncfg" diff --git a/funding/manager.go b/funding/manager.go index 350ce4d..4511683 100644 --- a/funding/manager.go +++ b/funding/manager.go @@ -11,10 +11,10 @@ import ( "sync/atomic" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/chaninfo" diff --git a/funding/manager_test.go b/funding/manager_test.go index 9925498..9b1e81d 100644 --- a/funding/manager_test.go +++ b/funding/manager_test.go @@ -6,15 +6,15 @@ import ( "encoding/hex" "fmt" "io/ioutil" - "math/big" "net" "os" "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/chaninfo" @@ -278,11 +278,10 @@ func newManagerHarness(t *testing.T) *managerHarness { LightningClient: lightningClient, BaseClient: baseClientMock, SignerClient: signerClient, - NodePubKey: &btcec.PublicKey{ - Curve: btcec.S256(), - X: new(big.Int), - Y: new(big.Int), - }, + NodePubKey: btcec.NewPublicKey( + new(btcec.FieldVal).SetInt(0), + new(btcec.FieldVal).SetInt(0), + ), NewNodesOnly: true, BatchStepTimeout: 400 * time.Millisecond, }) @@ -839,13 +838,12 @@ func TestOfferSidecar(t *testing.T) { // We'll need a formally valid signature to pass the parsing. So we'll // just create a dummy signature from a random key pair. - privKey, err := btcec.NewPrivateKey(btcec.S256()) + privKey, err := btcec.NewPrivateKey() require.NoError(t, err) hash := sha256.New() _, _ = hash.Write([]byte("foo")) digest := hash.Sum(nil) - sig, err := privKey.Sign(digest) - require.NoError(t, err) + sig := ecdsa.Sign(privKey, digest) h.mgr.cfg.NodePubKey = privKey.PubKey() h.signerMock.Signature = sig.Serialize() diff --git a/go.mod b/go.mod index adfd7e2..6524ebd 100644 --- a/go.mod +++ b/go.mod @@ -3,28 +3,32 @@ module github.com/lightninglabs/pool go 1.16 require ( - github.com/btcsuite/btcd v0.22.0-beta.0.20211005184431-e3449998be39 + github.com/btcsuite/btcd v0.22.0-beta.0.20220207191057-4dc4ff7963b4 + github.com/btcsuite/btcd/btcec/v2 v2.1.0 + github.com/btcsuite/btcd/btcutil v1.1.0 github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f - github.com/btcsuite/btcutil v1.0.3-0.20210527170813-e2ba6805a890 - github.com/btcsuite/btcwallet v0.13.0 - github.com/btcsuite/btcwallet/wallet/txrules v1.1.0 - github.com/btcsuite/btcwallet/wtxmgr v1.3.1-0.20210822222949-9b5a201c344c + github.com/btcsuite/btcwallet v0.14.0 + github.com/btcsuite/btcwallet/wallet/txrules v1.2.0 + github.com/btcsuite/btcwallet/wtxmgr v1.5.0 github.com/davecgh/go-spew v1.1.1 + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 github.com/golang/mock v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.5.0 github.com/jessevdk/go-flags v1.4.0 - github.com/lightninglabs/aperture v0.1.6-beta - github.com/lightninglabs/lndclient v0.14.0-8 + github.com/lightninglabs/aperture v0.1.17-beta.0.20220325093943-42b9d4c1be7f + github.com/lightninglabs/lndclient v0.15.0-0 github.com/lightninglabs/pool/auctioneerrpc v1.0.5 github.com/lightninglabs/protobuf-hex-display v1.4.3-hex-display - github.com/lightningnetwork/lnd v0.14.1-beta - github.com/lightningnetwork/lnd/cert v1.1.0 + github.com/lightningnetwork/lnd v0.14.1-beta.0.20220324135938-0dcaa511a249 + github.com/lightningnetwork/lnd/cert v1.1.1 + github.com/lightningnetwork/lnd/tlv v1.0.2 + github.com/lightningnetwork/lnd/tor v1.0.0 github.com/stretchr/testify v1.7.0 - github.com/urfave/cli v1.20.0 + github.com/urfave/cli v1.22.4 go.etcd.io/bbolt v1.3.6 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - google.golang.org/grpc v1.38.0 - google.golang.org/protobuf v1.26.0 + google.golang.org/grpc v1.39.0 + google.golang.org/protobuf v1.27.1 gopkg.in/macaroon-bakery.v2 v2.0.1 gopkg.in/macaroon.v2 v2.1.0 ) diff --git a/go.sum b/go.sum index 67ae5ed..43ac5ad 100644 --- a/go.sum +++ b/go.sum @@ -33,8 +33,6 @@ 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= -git.schwanenlied.me/yawning/bsaes.git v0.0.0-20180720073208-c0276d75487e h1:F2x1bq7RaNCIuqYpswggh1+c1JmwdnkHNC9wy1KDip0= -git.schwanenlied.me/yawning/bsaes.git v0.0.0-20180720073208-c0276d75487e/go.mod h1:BWqTsj8PgcPriQJGl7el20J/7TuT1d/hSyFDXMEpoEo= 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= @@ -45,8 +43,8 @@ github.com/NebulousLabs/fastrand v0.0.0-20181203155948-6fb6489aac4e/go.mod h1:Bd github.com/NebulousLabs/go-upnp v0.0.0-20180202185039-29b680b06c82 h1:MG93+PZYs9PyEsj/n5/haQu2gK0h4tUtSy9ejtMwWa0= github.com/NebulousLabs/go-upnp v0.0.0-20180202185039-29b680b06c82/go.mod h1:GbuBk21JqF+driLX3XtJYNZjGa45YDoa9IqCTzNSfEc= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Yawning/aez v0.0.0-20180114000226-4dad034d9db2 h1:2be4ykKKov3M1yISM2E8gnGXZ/N2SsPawfnGiXxaYEU= -github.com/Yawning/aez v0.0.0-20180114000226-4dad034d9db2/go.mod h1:9pIqrY6SXNL8vjRQE5Hd/OL5GyK/9MrGUWs87z/eFfk= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344 h1:cDVUiFo+npB0ZASqnw4q90ylaVAbnYyx0JYqK4YcGok= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344/go.mod h1:9pIqrY6SXNL8vjRQE5Hd/OL5GyK/9MrGUWs87z/eFfk= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= @@ -59,12 +57,10 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk5 github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3 h1:fpcw+r1N1h0Poc1F/pHbW40cUm/lMEQslZtCkBQ0UnM= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= 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/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= 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= @@ -73,53 +69,35 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/btcsuite/btcd v0.0.0-20190629003639-c26ffa870fd8/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.20.1-beta.0.20200513120220-b470eee47728/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.20.1-beta.0.20200730232343-1db1b6f8217f/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.21.0-beta.0.20201208033208-6bd4c64a54fa/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= -github.com/btcsuite/btcd v0.22.0-beta.0.20210803133449-f5a1fb9965e4/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= -github.com/btcsuite/btcd v0.22.0-beta.0.20211005184431-e3449998be39 h1:o6qacOzpKubr16y0RrE2fBauRZN1rDZ1YsE26ixCgQ0= -github.com/btcsuite/btcd v0.22.0-beta.0.20211005184431-e3449998be39/go.mod h1:3PH+KbvLFfzBTCevQenPiDedjGQGt6aa70dVjJDWGTA= +github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= +github.com/btcsuite/btcd v0.22.0-beta.0.20220204213055-eaf0459ff879/go.mod h1:osu7EoKiL36UThEgzYPqdRaxeo0NU8VoXqgcnwpey0g= +github.com/btcsuite/btcd v0.22.0-beta.0.20220207191057-4dc4ff7963b4 h1:CEGr/598C/0LZQUoioaT6sdGGcJgu4+ck0PDeJ/QkKs= +github.com/btcsuite/btcd v0.22.0-beta.0.20220207191057-4dc4ff7963b4/go.mod h1:7alexyj/lHlOtr2PJK7L/+HDJZpcGDn/pAU98r7DY08= +github.com/btcsuite/btcd/btcec/v2 v2.1.0 h1:Whmbo9yShKKG+WrUfYGFfgj77vYBiwhwBSJnM66TMKI= +github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= +github.com/btcsuite/btcd/btcutil v1.1.0 h1:MO4klnGY+EWJdoWF12Wkuf4AWDBPMpZNeN/jRLrklUU= +github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= +github.com/btcsuite/btcd/btcutil/psbt v1.1.0 h1:1LxDjz2ar4L2mrviBdxrzxesMMcAtj4nuBlX4FdqjOA= +github.com/btcsuite/btcd/btcutil/psbt v1.1.0/go.mod h1:xMuACsIKDzcE3kWMxqK+aLrAWZ8bMdn7YjYEwNs5q8k= 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/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -github.com/btcsuite/btcutil v1.0.3-0.20210527170813-e2ba6805a890 h1:9aGy5p7oXRUB4MCTmWm0+jzuh79GpjPIfv1leA5POD4= -github.com/btcsuite/btcutil v1.0.3-0.20210527170813-e2ba6805a890/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -github.com/btcsuite/btcutil/psbt v1.0.2/go.mod h1:LVveMu4VaNSkIRTZu2+ut0HDBRuYjqGocxDMNS1KuGQ= -github.com/btcsuite/btcutil/psbt v1.0.3-0.20200826194809-5f93e33af2b0/go.mod h1:LVveMu4VaNSkIRTZu2+ut0HDBRuYjqGocxDMNS1KuGQ= -github.com/btcsuite/btcutil/psbt v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:LVveMu4VaNSkIRTZu2+ut0HDBRuYjqGocxDMNS1KuGQ= -github.com/btcsuite/btcutil/psbt v1.0.3-0.20210527170813-e2ba6805a890 h1:0xUNvvwJ7RjzBs4nCF+YrK28S5P/b4uHkpPxY1ovGY4= -github.com/btcsuite/btcutil/psbt v1.0.3-0.20210527170813-e2ba6805a890/go.mod h1:LVveMu4VaNSkIRTZu2+ut0HDBRuYjqGocxDMNS1KuGQ= -github.com/btcsuite/btcwallet v0.11.1-0.20200814001439-1d31f4ea6fc5/go.mod h1:YkEbJaCyN6yncq5gEp2xG0OKDwus2QxGCEXTNF27w5I= -github.com/btcsuite/btcwallet v0.11.1-0.20200904022754-2c5947a45222/go.mod h1:owv9oZqM0HnUW+ByF7VqOgfs2eb0ooiePW/+Tl/i/Nk= -github.com/btcsuite/btcwallet v0.13.0 h1:gtLWwueRm27KQiHJpycybv3uMdK1eo87JexfTfzvEhk= -github.com/btcsuite/btcwallet v0.13.0/go.mod h1:iLN1lG1MW0eREm+SikmPO8AZPz5NglBTEK/ErqkjGpo= -github.com/btcsuite/btcwallet/wallet/txauthor v1.0.0/go.mod h1:VufDts7bd/zs3GV13f/lXc/0lXrPnvxD/NvmpG/FEKU= -github.com/btcsuite/btcwallet/wallet/txauthor v1.1.0 h1:8pO0pvPX1rFRfRiol4oV6kX7dY5y4chPwhfVwUfvwtk= -github.com/btcsuite/btcwallet/wallet/txauthor v1.1.0/go.mod h1:ktYuJyumYtwG+QQ832Q+kqvxWJRAei3Nqs5qhSn4nww= -github.com/btcsuite/btcwallet/wallet/txrules v1.0.0/go.mod h1:UwQE78yCerZ313EXZwEiu3jNAtfXj2n2+c8RWiE/WNA= -github.com/btcsuite/btcwallet/wallet/txrules v1.1.0 h1:Vg8G8zhNVjaCdwJg2QOmLoWn4RTP7K0J9xlwY8CJnLY= -github.com/btcsuite/btcwallet/wallet/txrules v1.1.0/go.mod h1:Zn9UTqpiTH+HOd5BLzSBzULzlOPmcoeyQIA0cp0WbQQ= -github.com/btcsuite/btcwallet/wallet/txsizes v1.0.0/go.mod h1:pauEU8UuMFiThe5PB3EO+gO5kx87Me5NvdQDsTuq6cs= +github.com/btcsuite/btcwallet v0.14.0 h1:+Nwf0GkRUwDjd/F3i9HgrRhDp8RHZFbBZ3kQaZr6zD0= +github.com/btcsuite/btcwallet v0.14.0/go.mod h1:KFR1x3ZH7c31i4qA34XIvcsnhrEBLK1SHli52lN8E54= +github.com/btcsuite/btcwallet/wallet/txauthor v1.2.1 h1:oxIaFiF8gmOLJh7wNkXYkyLWT7Pj5igSrn5HthPVDYg= +github.com/btcsuite/btcwallet/wallet/txauthor v1.2.1/go.mod h1:/74bubxX5Js48d76nf/TsNabpYp/gndUuJw4chzCmhU= +github.com/btcsuite/btcwallet/wallet/txrules v1.2.0 h1:BtEN5Empw62/RVnZ0VcJaVtVlBijnLlJY+dwjAye2Bg= +github.com/btcsuite/btcwallet/wallet/txrules v1.2.0/go.mod h1:AtkqiL7ccKWxuLYtZm8Bu8G6q82w4yIZdgq6riy60z0= github.com/btcsuite/btcwallet/wallet/txsizes v1.1.0 h1:wZnOolEAeNOHzHTnznw/wQv+j35ftCIokNrnOTOU5o8= github.com/btcsuite/btcwallet/wallet/txsizes v1.1.0/go.mod h1:pauEU8UuMFiThe5PB3EO+gO5kx87Me5NvdQDsTuq6cs= -github.com/btcsuite/btcwallet/walletdb v1.0.0/go.mod h1:bZTy9RyYZh9fLnSua+/CD48TJtYJSHjjYcSaszuxCCk= -github.com/btcsuite/btcwallet/walletdb v1.2.0/go.mod h1:9cwc1Yyg4uvd4ZdfdoMnALji+V9gfWSMfxEdLdR5Vwc= -github.com/btcsuite/btcwallet/walletdb v1.3.2/go.mod h1:GZCMPNpUu5KE3ASoVd+k06p/1OW8OwNGCCaNWRto2cQ= -github.com/btcsuite/btcwallet/walletdb v1.3.3/go.mod h1:oJDxAEUHVtnmIIBaa22wSBPTVcs6hUp5NKWmI8xDwwU= -github.com/btcsuite/btcwallet/walletdb v1.3.4/go.mod h1:oJDxAEUHVtnmIIBaa22wSBPTVcs6hUp5NKWmI8xDwwU= github.com/btcsuite/btcwallet/walletdb v1.3.5/go.mod h1:oJDxAEUHVtnmIIBaa22wSBPTVcs6hUp5NKWmI8xDwwU= github.com/btcsuite/btcwallet/walletdb v1.3.6-0.20210803004036-eebed51155ec h1:zcAU3Ij8SmqaE+ITtS76fua2Niq7DRNp46sJRhi8PiI= github.com/btcsuite/btcwallet/walletdb v1.3.6-0.20210803004036-eebed51155ec/go.mod h1:oJDxAEUHVtnmIIBaa22wSBPTVcs6hUp5NKWmI8xDwwU= -github.com/btcsuite/btcwallet/wtxmgr v1.0.0/go.mod h1:vc4gBprll6BP0UJ+AIGDaySoc7MdAmZf8kelfNb8CFY= -github.com/btcsuite/btcwallet/wtxmgr v1.2.0/go.mod h1:h8hkcKUE3X7lMPzTUoGnNiw5g7VhGrKEW3KpR2r0VnY= -github.com/btcsuite/btcwallet/wtxmgr v1.3.0/go.mod h1:awQsh1n/0ZrEQ+JZgWvHeo153ubzEisf/FyNtwI0dDk= -github.com/btcsuite/btcwallet/wtxmgr v1.3.1-0.20210822222949-9b5a201c344c h1:owWPexGfK4eSK4/Zy+XK2lET5qsnW7FRAc8OCOdD0Fg= -github.com/btcsuite/btcwallet/wtxmgr v1.3.1-0.20210822222949-9b5a201c344c/go.mod h1:UM38ixX8VwJ9qey4umf//0H3ndn5kSImFZ46V54Nd5Q= +github.com/btcsuite/btcwallet/wtxmgr v1.5.0 h1:WO0KyN4l6H3JWnlFxfGR7r3gDnlGT7W2cL8vl6av4SU= +github.com/btcsuite/btcwallet/wtxmgr v1.5.0/go.mod h1:TQVDhFxseiGtZwEPvLgtfyxuNUDsIdaJdshvWzR0HJ4= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/golangcrypto v0.0.0-20150304025918-53f62d9b43e8/go.mod h1:tYvUd8KLhm/oXvUeSEs2VlLghFjQt9+ZaF9ghH0JNjc= @@ -147,6 +125,7 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= 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/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= @@ -156,18 +135,17 @@ github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoC github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.22+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU= -github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -176,6 +154,10 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= @@ -185,11 +167,14 @@ 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= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= 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/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= @@ -202,6 +187,7 @@ github.com/frankban/quicktest v1.0.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBav github.com/frankban/quicktest v1.2.2 h1:xfmOhhoH5fGPgbEAlhLpJH9p0z/0Qizio9osmvn9IUY= github.com/frankban/quicktest v1.2.2/go.mod h1:Qh/WofXFeiAFII1aEBu529AtJo6Zg2VHscnEsbBnJ20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= @@ -217,8 +203,6 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= @@ -294,7 +278,6 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf 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/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/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= @@ -307,7 +290,6 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.14.3/go.mod h1:6CwZWGDSPRJidgKAtJVvND6soZe6fT7iteq8wDPdhb0= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.5.0 h1:ajue7SzQMywqRjg2fK7dcpc0QhFGpTR2plWfV4EZWR4= @@ -332,7 +314,6 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= @@ -387,39 +368,65 @@ 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/jedib0t/go-pretty v4.3.0+incompatible/go.mod h1:XemHduiw8R651AF9Pt4FwCTKeG3oo7hrHJAoznj9nag= +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= github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= 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/clock v0.0.0-20190205081909-9c5c9712527c h1:3UvYABOQRhJAApj9MdCN+Ydv841ETSoy6xLzdmmr/9A= github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= -github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d h1:hJXjZMxj0SWlMoQkzeZDLi2cmeiWKa7y1B8Rg+qaoEc= -github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 h1:UUHMLvzt/31azWTN/ifGWef4WUqvXk0iRqdhdy/2uzI= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/cmd v0.0.0-20171107070456-e74f39857ca0/go.mod h1:yWJQHl73rdSX4DHVKGqkAip+huBslxRwS8m9CrOLq18= +github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271 h1:4R626WTwa7pRYQFiIRLVPepMhm05eZMEx+wIurRnMLc= +github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271/go.mod h1:5XgO71dV1JClcOJE+4dzdn4HrI5LiyKd7PlVG6eZYhY= +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-20220203013757-bd733f3c86b9 h1:EJHbsNpQyupmMeWTq7inn+5L/WZ7JfzCVPJ+DP9McCQ= +github.com/juju/errors v0.0.0-20220203013757-bd733f3c86b9/go.mod h1:TRm7EVGA3mQOqSVcBySRY7a9Y1/gyVhh/WTCnc5sD4U= +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= +github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4 h1:NO5tuyw++EGLnz56Q8KMyDZRwJwWO8jQnj285J3FOmY= +github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4/go.mod h1:NIXFioti1SmKAlKNuUwbMenNdef59IF52+ZzuOmHYkg= +github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208 h1:/WiCm+Vpj87e4QWuWwPD/bNE9kDrWCLvPBHOQNcG2+A= +github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208/go.mod h1:0OChplkvPTZ174D2FYZXg4IB9hbEwyHkD+zT+/eK+Fg= +github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY= +github.com/juju/retry v0.0.0-20151029024821-62c620325291/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= github.com/juju/retry v0.0.0-20180821225755-9058e192b216 h1:/eQL7EJQKFHByJe3DeE8Z36yqManj9UY5zppDoQi4FU= github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= -github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2 h1:Pp8RxiF4rSoXP9SED26WCfNB28/dwTDpPXS8XMJR8rc= +github.com/juju/testing v0.0.0-20180402130637-44801989f0f7/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= -github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d h1:irPlN9z5VCe6BTsqVsxheCZH99OFSmqSVyTigW4mEoY= -github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= -github.com/juju/version v0.0.0-20180108022336-b64dbd566305 h1:lQxPJ1URr2fjsKnJRt/BxiIxjLt9IKGvS+0injMHbag= +github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07/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= +github.com/juju/utils v0.0.0-20180424094159-2000ea4ff043/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= +github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647 h1:wQpkHVbIIpz1PCcLYku9KFWsJ7aEMQXHBBmLy3tRBTk= +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 h1:5ZWDCeCF0RaITrZGemzmDFIhjR/MVSvBUqgSyaeTMbE= +github.com/juju/utils/v3 v3.0.0-20220130232349-cd7ecef0e94a/go.mod h1:LzwbbEN7buYjySp4nqnti6c6olSqRXUk6RkbSUUP1n8= +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 h1:wtEPbidt1VyHlb8RSztU6ySQj29FLsOQiI9XiJhXDM4= +github.com/juju/version/v2 v2.0.0-20211007103408-2e8da085dc23/go.mod h1:Ljlbryh9sYaUSGXucslAEDf0A2XUSGvDbHJgW8ps6nc= +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/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -442,8 +449,9 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -456,65 +464,64 @@ 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.6-beta h1:bhpK4O9xa0YUBFQfkfg/h/3sMAY+AOMxi9YUjg6/l/E= -github.com/lightninglabs/aperture v0.1.6-beta/go.mod h1:9xl4mx778ZAzrB87nLHMqk+XQcSz8Dx/DypjWzGN1xo= +github.com/lightninglabs/aperture v0.1.17-beta.0.20220325093943-42b9d4c1be7f h1:wfyZ3sZXoGayB+V8icHl6uoqOX6wiyncKFK9pTleGRw= +github.com/lightninglabs/aperture v0.1.17-beta.0.20220325093943-42b9d4c1be7f/go.mod h1:lDjRKhndRH0CzZQ2m8dWODdqp/ejEW7esb2u2nlvrw4= 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/lndclient v0.11.0-4/go.mod h1:8/cTKNwgL87NX123gmlv3Xh6p1a7pvzu+40Un3PhHiI= -github.com/lightninglabs/lndclient v0.14.0-8 h1:vdwV6yFU4A7BjG2V8cpI8Kqdl2M0NSfsA+RWR+JGTko= -github.com/lightninglabs/lndclient v0.14.0-8/go.mod h1:YIE/Yac69hIMiq9cm/ZC2sP4F0Llv3tC4hZGfgOhdeY= -github.com/lightninglabs/neutrino v0.11.0/go.mod h1:CuhF0iuzg9Sp2HO6ZgXgayviFTn1QHdSTJlMncK80wg= -github.com/lightninglabs/neutrino v0.11.1-0.20200316235139-bffc52e8f200/go.mod h1:MlZmoKa7CJP3eR1s5yB7Rm5aSyadpKkxqAwLQmog7N0= -github.com/lightninglabs/neutrino v0.12.1/go.mod h1:GlKninWpRBbL7b8G0oQ36/8downfnFwKsr0hbRA6E/E= -github.com/lightninglabs/neutrino v0.13.0 h1:j3PKWEJCwqwMn/qLASz2j0IuCF6AumS9DaM0i0pM/nY= -github.com/lightninglabs/neutrino v0.13.0/go.mod h1:GlKninWpRBbL7b8G0oQ36/8downfnFwKsr0hbRA6E/E= -github.com/lightninglabs/protobuf-hex-display v1.3.3-0.20191212020323-b444784ce75d/go.mod h1:KDb67YMzoh4eudnzClmvs2FbiLG9vxISmLApUkCa4uI= +github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2/go.mod h1:antQGRDRJiuyQF6l+k6NECCSImgCpwaZapATth2Chv4= +github.com/lightninglabs/lndclient v0.15.0-0 h1:2qfM3e+/vZpG8PZ+EvWC1mY8ViAWkU6aBwtN9QWI5Hs= +github.com/lightninglabs/lndclient v0.15.0-0/go.mod h1:ORS/YFe9hAXlzN/Uj+gvTmrnXEml6yD6dWwzCjpTJyQ= +github.com/lightninglabs/neutrino v0.13.2 h1:rmCJf9BSVPNvDcah9CnhmgzhBmD783AES4hrrlYmBqA= +github.com/lightninglabs/neutrino v0.13.2/go.mod h1:Cv/v8oHiPhuGiGvGgO+rIMhwCwEdsQFu6as840i2afw= 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.20200501022730-3c8c8d0b89ea/go.mod h1:rigfi6Af/KqsF7Za0hOgcyq2PNH4AN70AaMRxcJkff4= -github.com/lightningnetwork/lightning-onion v1.0.2-0.20210520211913-522b799e65b1 h1:h1BsjPzWea790mAXISoiT/qr0JRcixTCDNLmjsDThSw= -github.com/lightningnetwork/lightning-onion v1.0.2-0.20210520211913-522b799e65b1/go.mod h1:rigfi6Af/KqsF7Za0hOgcyq2PNH4AN70AaMRxcJkff4= -github.com/lightningnetwork/lnd v0.11.0-beta/go.mod h1:CzArvT7NFDLhVyW06+NJWSuWFmE6Ea+AjjA3txUBqTM= -github.com/lightningnetwork/lnd v0.11.1-beta/go.mod h1:PGIgxy8aH70Li33YVYkHSaCM8m8LjEevk5h1Dpldrr4= -github.com/lightningnetwork/lnd v0.14.0-beta/go.mod h1:qqOImM4QBKeIXsmUUsJznAbAaEF9iAPHAwfBZf9ld4Y= -github.com/lightningnetwork/lnd v0.14.1-beta h1:v9hOlJ1xYivYQ634Nt71up5QDh8mXVpYh4MXUbbWTRw= -github.com/lightningnetwork/lnd v0.14.1-beta/go.mod h1:o7zDwjZXm/bPP48qjwsqnZvvITyQl+fUv6UVoV4o+J8= -github.com/lightningnetwork/lnd/cert v1.0.2/go.mod h1:fmtemlSMf5t4hsQmcprSoOykypAPp+9c+0d0iqTScMo= -github.com/lightningnetwork/lnd/cert v1.1.0 h1:Vgmse23SOB/ODIj+I5Utq1yuKLPbWQ34gUoNKfDs4pk= -github.com/lightningnetwork/lnd/cert v1.1.0/go.mod h1:3MWXVLLPI0Mg0XETm9fT4N9Vyy/8qQLmaM5589bEggM= +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/lnd v0.14.1-beta.0.20220324135938-0dcaa511a249 h1:ELu8An/QgkPU0yQUvTlUE/ZCMBAf4hWacRd1/ayh4pc= +github.com/lightningnetwork/lnd v0.14.1-beta.0.20220324135938-0dcaa511a249/go.mod h1:Tp3ZxsfioUl6kQ30RrbMqWoZyZ4K+fv/o1lMEU8U7rA= +github.com/lightningnetwork/lnd/cert v1.1.1 h1:Nsav0RlIDRbOnzz2Yu69SQlK939IKya3Q2S0mDviIN8= +github.com/lightningnetwork/lnd/cert v1.1.1/go.mod h1:1P46svkkd73oSoeI4zjkVKgZNwGq8bkGuPR8z+5vQUs= 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.0 h1:00bkNn+hGJM9j3Ht+ulf8YNcSx1HEYSDv5pf4HB1/uQ= -github.com/lightningnetwork/lnd/healthcheck v1.2.0/go.mod h1:WSz3lsUjErJQZ3gb+zW32nM3WIHNiZ3A40GVoaQY5wU= -github.com/lightningnetwork/lnd/kvdb v1.2.0/go.mod h1:4DW7zc9AWqqJBvwhSE251VasYikTELItN70hESIt9RU= -github.com/lightningnetwork/lnd/kvdb v1.2.1 h1:QevYLPh6bh1SLIvlUaPbrpX/YMKzSPBfmGVvn2i8IlU= -github.com/lightningnetwork/lnd/kvdb v1.2.1/go.mod h1:x+IpsuDynubjokUofavLXroeGfS/WrqUXXTK6vN/gp4= +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/queue v1.0.1/go.mod h1:vaQwexir73flPW43Mrm7JOgJHmcEFBWWSl9HlyASoms= -github.com/lightningnetwork/lnd/queue v1.0.4/go.mod h1:YTkTVZCxz8tAYreH27EO3s8572ODumWrNdYW2E/YKxg= github.com/lightningnetwork/lnd/queue v1.1.0 h1:YpCJjlIvVxN/R7ww2aNiY8ex7U2fucZDLJ67tI3HFx8= github.com/lightningnetwork/lnd/queue v1.1.0/go.mod h1:YTkTVZCxz8tAYreH27EO3s8572ODumWrNdYW2E/YKxg= github.com/lightningnetwork/lnd/ticker v1.0.0/go.mod h1:iaLXJiVgI1sPANIF2qYYUJXjoksPNvGNYowB8aRbpX0= github.com/lightningnetwork/lnd/ticker v1.1.0 h1:ShoBiRP3pIxZHaETndfQ5kEe+S4NdAY1hiX7YbZ4QE4= github.com/lightningnetwork/lnd/ticker v1.1.0/go.mod h1:ubqbSVCn6RlE0LazXuBr7/Zi6QT0uQo++OgIRBxQUrk= +github.com/lightningnetwork/lnd/tlv v1.0.2 h1:LG7H3Uw/mHYGnEeHRPg+STavAH+UsFvuBflD0PzcYFQ= +github.com/lightningnetwork/lnd/tlv v1.0.2/go.mod h1:fICAfsqk1IOsC1J7G9IdsWX1EqWRMqEDCNxZJSKr9C4= +github.com/lightningnetwork/lnd/tor v1.0.0 h1:wvEc7I+Y7IOtPglVP3cVBbYhiVhc7uTd7cMF9gQRzwA= +github.com/lightningnetwork/lnd/tor v1.0.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/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/winrm v0.0.0-20161014151040-7a535cd943fc/go.mod h1:CfZSN7zwz5gJiFhZJz49Uzk7mEBHIceWmbFmYx7Hf7E= +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-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-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= 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= github.com/mholt/archiver/v3 v3.5.0/go.mod h1:qqTTPUK/HZPFgFQ/TJ3BzvTpF/dPtFVJXdQbCmeMxwc= -github.com/miekg/dns v0.0.0-20171125082028-79bfde677fa8/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.43 h1:JKfpVSCB84vrAmHzyrsxB5NAr5kLoMXZArPSw7Qlgyg= github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= @@ -534,16 +541,23 @@ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/nwaples/rardecode v1.1.2 h1:Cj0yZY6T1Zx1R7AhTbyGSALm44/Mmq+BAPc4B/p/d3M= github.com/nwaples/rardecode v1.1.2/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -554,6 +568,7 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -581,6 +596,7 @@ 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/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -588,6 +604,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= @@ -595,6 +612,7 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -628,9 +646,7 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20200122045848-3419fae592fc/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/zbase32 v0.0.0-20160707012821-501572607d02 h1:tcJ6OjwOMvExLlzrAVZute09ocAGa7KqOON60++Gz4E= @@ -639,9 +655,8 @@ github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4A github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/urfave/cli v1.18.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= +github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= 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= @@ -651,27 +666,35 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiVfzQttTuxanPIT43FtkkCFypIod8LHo= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= 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 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU= +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/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0 h1:ftQ0nOOHMcbMS3KIaDQ0g5Qcd6bhaBrQT6b89DfwLTs= +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/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0 h1:62Eh0XOro+rDwkrypAGDfgmNh5Joq+z+W9HZdlXMzek= +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/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= +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/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= +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/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= +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/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +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.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= @@ -716,11 +739,10 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -731,10 +753,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/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-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -775,6 +795,8 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 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/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= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -797,8 +819,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -813,13 +833,15 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= 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-20210913180222-943fd674d43e h1:+b/22bPvDYt4NPDcy4xAGCmON713ONAWFeY3Z7I3tR8= -golang.org/x/net v0.0.0-20210913180222-943fd674d43e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -839,6 +861,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ 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/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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -846,7 +869,6 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -858,11 +880,13 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -878,10 +902,12 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -894,8 +920,9 @@ golang.org/x/sys v0.0.0-20210426080607-c94f62235c83/go.mod h1:h1NjWce9XRLGQEsW7w 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-20210915083310-ed5796bab164 h1:7ZDGnxgHAMw7thfC5bEos0RDAccZKxioiWBhfIe+tvw= -golang.org/x/sys v0.0.0-20210915083310-ed5796bab164/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 h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -906,9 +933,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -969,8 +996,9 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3 h1:L69ShwSZEyCsLKoAxDKeMvLDZkumEe8gXUZAjab0tX8= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= 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= @@ -1010,7 +1038,6 @@ google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -1043,7 +1070,6 @@ google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZi google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1055,8 +1081,9 @@ 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.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= 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/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= @@ -1068,18 +1095,22 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v1 v1.0.0-20161222125816-442357a80af5/go.mod h1:u0ALmqvLRxLI95fkdCEWrE6mhWYZW1aMOJHp5YXLHTg= gopkg.in/errgo.v1 v1.0.1 h1:oQFRXzZ7CkBGdm1XZm/EbQYaYNNEElNBOd09M6cqNso= gopkg.in/errgo.v1 v1.0.1/go.mod h1:3NjfXwocQRYAPTq4/fzX+CwUhPRcR/azYRhj8G+LqMo= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/httprequest.v1 v1.1.1/go.mod h1:/CkavNL+g3qLOrpFHVrEx4NKepeqR4XTZWNj4sGGjz0= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/macaroon-bakery.v2 v2.0.1 h1:0N1TlEdfLP4HXNCg7MQUMp5XwvOoxk+oe9Owr2cpvsc= @@ -1087,13 +1118,15 @@ gopkg.in/macaroon-bakery.v2 v2.0.1/go.mod h1:B4/T17l+ZWGwxFSZQmlBwp25x+og7OkhETf gopkg.in/macaroon.v2 v2.0.0/go.mod h1:+I6LnTMkm/uV5ew/0nsulNjL16SK4+C8yDmRUzHR17I= gopkg.in/macaroon.v2 v2.1.0 h1:HZcsjBCzq9t0eBPMKqTN/uSN6JOm78ZJ2INbqcBQOUI= gopkg.in/macaroon.v2 v2.1.0/go.mod h1:OUb+TQP/OP0WOerC2Jp/3CwhIKyIa9kQjuc7H24e6/o= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= +gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk= +gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1115,9 +1148,10 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= 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= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/internal/test/keys.go b/internal/test/keys.go index aa11cb2..058246f 100644 --- a/internal/test/keys.go +++ b/internal/test/keys.go @@ -1,17 +1,25 @@ package test import ( - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" ) // CreateKey returns a deterministically generated key pair. func CreateKey(index int32) (*btcec.PrivateKey, *btcec.PublicKey) { // Avoid all zeros, because it results in an invalid key. - privKey, pubKey := btcec.PrivKeyFromBytes(btcec.S256(), - []byte{0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, byte(index + 1)}) + privKey, pubKey := btcec.PrivKeyFromBytes([]byte{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, byte(index + 1), + }) return privKey, pubKey } + +// NewSignatureFromInt creates a new signature from uint32 scalar values. +func NewSignatureFromInt(r, s uint32) *ecdsa.Signature { + testRScalar := new(btcec.ModNScalar).SetInt(r) + testSScalar := new(btcec.ModNScalar).SetInt(s) + + return ecdsa.NewSignature(testRScalar, testSScalar) +} diff --git a/internal/test/lightning_mock.go b/internal/test/lightning_mock.go index 09fbf72..4af82f8 100644 --- a/internal/test/lightning_mock.go +++ b/internal/test/lightning_mock.go @@ -9,11 +9,12 @@ import ( "sync" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightningnetwork/lnd/chanbackup" "github.com/lightningnetwork/lnd/channeldb" @@ -165,7 +166,7 @@ func (m *MockLightning) AddInvoice(_ context.Context, return lntypes.Hash{}, "", err } - privKey, err := btcec.NewPrivateKey(btcec.S256()) + privKey, err := btcec.NewPrivateKey() if err != nil { return lntypes.Hash{}, "", err } @@ -173,12 +174,14 @@ func (m *MockLightning) AddInvoice(_ context.Context, payReqString, err := payReq.Encode( zpay32.MessageSigner{ SignCompact: func(hash []byte) ([]byte, error) { - // btcec.SignCompact returns a pubkey-recoverable signature - sig, err := btcec.SignCompact( - btcec.S256(), privKey, hash, true, + // ecdsa.SignCompact returns a + // pubkey-recoverable signature. + sig, err := ecdsa.SignCompact( + privKey, hash, true, ) if err != nil { - return nil, fmt.Errorf("can't sign the hash: %v", err) + return nil, fmt.Errorf("can't sign "+ + "the hash: %v", err) } return sig, nil @@ -287,7 +290,7 @@ func (m *MockLightning) ListPayments(context.Context, func (m *MockLightning) ChannelBackup(_ context.Context, op wire.OutPoint) ([]byte, error) { - fakeKey, _ := btcec.NewPrivateKey(btcec.S256()) + fakeKey, _ := btcec.NewPrivateKey() pubKey := fakeKey.PubKey() for _, chanInfo := range m.Channels { diff --git a/internal/test/mock_interfaces.go b/internal/test/mock_interfaces.go index 482f6a6..a6f2731 100644 --- a/internal/test/mock_interfaces.go +++ b/internal/test/mock_interfaces.go @@ -9,10 +9,10 @@ import ( reflect "reflect" time "time" - btcec "github.com/btcsuite/btcd/btcec" + btcec "github.com/btcsuite/btcd/btcec/v2" + btcutil "github.com/btcsuite/btcd/btcutil" chainhash "github.com/btcsuite/btcd/chaincfg/chainhash" wire "github.com/btcsuite/btcd/wire" - btcutil "github.com/btcsuite/btcutil" wtxmgr "github.com/btcsuite/btcwallet/wtxmgr" gomock "github.com/golang/mock/gomock" lndclient "github.com/lightninglabs/lndclient" diff --git a/internal/test/signer_mock.go b/internal/test/signer_mock.go index e4c56d6..963fd3d 100644 --- a/internal/test/signer_mock.go +++ b/internal/test/signer_mock.go @@ -5,7 +5,7 @@ import ( "context" "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" "github.com/lightninglabs/lndclient" "github.com/lightningnetwork/lnd/input" diff --git a/internal/test/walletkit_mock.go b/internal/test/walletkit_mock.go index da9bcb2..31ceabe 100644 --- a/internal/test/walletkit_mock.go +++ b/internal/test/walletkit_mock.go @@ -6,10 +6,10 @@ import ( "sync" "time" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/btcsuite/btcwallet/wtxmgr" "github.com/lightninglabs/lndclient" "github.com/lightningnetwork/lnd/keychain" diff --git a/marshaler.go b/marshaler.go index 9b3a39a..64c2a2b 100644 --- a/marshaler.go +++ b/marshaler.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/order" "github.com/lightninglabs/pool/poolrpc" diff --git a/order/batch.go b/order/batch.go index fe2971e..52a1605 100644 --- a/order/batch.go +++ b/order/batch.go @@ -7,9 +7,10 @@ import ( "net" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" @@ -314,7 +315,7 @@ type MatchedOrder struct { // BatchSignature is a map type that is keyed by a trader's account key and // contains the multi-sig signature for the input that // spends from the current account in a batch. -type BatchSignature map[[33]byte]*btcec.Signature +type BatchSignature map[[33]byte]*ecdsa.Signature // BatchVerifier is an interface that can verify a batch from the point of view // of the trader. diff --git a/order/batch_signer.go b/order/batch_signer.go index 7bfe2ab..a233351 100644 --- a/order/batch_signer.go +++ b/order/batch_signer.go @@ -4,7 +4,8 @@ import ( "context" "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" "github.com/btcsuite/btcd/txscript" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" @@ -80,7 +81,7 @@ func (s *batchSigner) Sign(batch *Batch) (BatchSignature, error) { if err != nil { return nil, err } - ourSigs[acctKey], err = btcec.ParseDERSignature(sigs[0], btcec.S256()) + ourSigs[acctKey], err = ecdsa.ParseDERSignature(sigs[0]) if err != nil { return nil, err } diff --git a/order/batch_storer.go b/order/batch_storer.go index 64b536d..f706479 100644 --- a/order/batch_storer.go +++ b/order/batch_storer.go @@ -3,7 +3,7 @@ package order import ( "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" diff --git a/order/batch_test.go b/order/batch_test.go index 8fded5c..39bebf5 100644 --- a/order/batch_test.go +++ b/order/batch_test.go @@ -4,7 +4,7 @@ import ( "encoding/hex" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" "github.com/lightninglabs/pool/internal/test" "github.com/lightninglabs/pool/poolscript" @@ -18,12 +18,12 @@ var ( initialKeyBytes, _ = hex.DecodeString( "034ba8df633bc689472b1fecb9ca0a7d9462467477c975108029f87ca6fb7fc1c1", ) - initialKey, _ = btcec.ParsePubKey(initialKeyBytes, btcec.S256()) + initialKey, _ = btcec.ParsePubKey(initialKeyBytes) unrelatedKeyBytes, _ = hex.DecodeString( "02975a91ca82550b19355b4826e67c6d2b064f9ec62fb4fd44e044ffbeb8d35127", ) - unrelatedKey, _ = btcec.ParsePubKey(unrelatedKeyBytes, btcec.S256()) + unrelatedKey, _ = btcec.ParsePubKey(unrelatedKeyBytes) ) func TestDecrementingBatchIDs(t *testing.T) { diff --git a/order/batch_verifier.go b/order/batch_verifier.go index 0890892..aa3532c 100644 --- a/order/batch_verifier.go +++ b/order/batch_verifier.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/terms" @@ -104,7 +104,7 @@ func (v *batchVerifier) Verify(batch *Batch, bestHeight uint32) error { // We'll index our account tallies by the serialized form of // the account key so some copying is necessary first. acctKeyRaw := ourOrder.Details().AcctKey - acctKey, err := btcec.ParsePubKey(acctKeyRaw[:], btcec.S256()) + acctKey, err := btcec.ParsePubKey(acctKeyRaw[:]) if err != nil { return err } diff --git a/order/batch_verifier_test.go b/order/batch_verifier_test.go index e9ae596..54bc56e 100644 --- a/order/batch_verifier_test.go +++ b/order/batch_verifier_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/internal/test" @@ -18,11 +18,11 @@ import ( ) var ( - _, startBatchKey = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x01}) + _, startBatchKey = btcec.PrivKeyFromBytes([]byte{0x01}) - _, acctKeyBig = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x02}) + _, acctKeyBig = btcec.PrivKeyFromBytes([]byte{0x02}) - _, acctKeySmall = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x03}) + _, acctKeySmall = btcec.PrivKeyFromBytes([]byte{0x03}) nodePubkey = [33]byte{03, 77, 44, 55} execFeeBase = btcutil.Amount(1_100) diff --git a/order/interfaces.go b/order/interfaces.go index 58b58fb..debf49e 100644 --- a/order/interfaces.go +++ b/order/interfaces.go @@ -9,7 +9,7 @@ import ( "fmt" "net" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/sidecar" diff --git a/order/interfaces_test.go b/order/interfaces_test.go index 7108708..8401fad 100644 --- a/order/interfaces_test.go +++ b/order/interfaces_test.go @@ -3,7 +3,7 @@ package order import ( "testing" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/terms" ) diff --git a/order/manager.go b/order/manager.go index b608d88..28e2911 100644 --- a/order/manager.go +++ b/order/manager.go @@ -11,7 +11,7 @@ import ( "sync/atomic" "time" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/sidecar" diff --git a/order/manager_test.go b/order/manager_test.go index 2aa36eb..3165d24 100644 --- a/order/manager_test.go +++ b/order/manager_test.go @@ -2,11 +2,9 @@ package order import ( "context" - "math/big" "testing" - "github.com/btcsuite/btcd/btcec" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/internal/test" @@ -304,10 +302,8 @@ func TestPrepareOrderSidecarTicket(t *testing.T) { }, } - testSig := &btcec.Signature{ - R: new(big.Int).SetInt64(44), - S: new(big.Int).SetInt64(22), - } + testSig := test.NewSignatureFromInt(44, 22) + mockSigner.Signature = testSig.Serialize() testCases := []struct { diff --git a/order/mock_interfaces.go b/order/mock_interfaces.go index 4231577..21aeb54 100644 --- a/order/mock_interfaces.go +++ b/order/mock_interfaces.go @@ -8,7 +8,7 @@ import ( context "context" reflect "reflect" - btcutil "github.com/btcsuite/btcutil" + btcutil "github.com/btcsuite/btcd/btcutil" gomock "github.com/golang/mock/gomock" account "github.com/lightninglabs/pool/account" terms "github.com/lightninglabs/pool/terms" diff --git a/order/mock_test.go b/order/mock_test.go index 5229fc0..76e148d 100644 --- a/order/mock_test.go +++ b/order/mock_test.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/pool/account" ) diff --git a/order/rpc_parse.go b/order/rpc_parse.go index 56a0d90..f2852a9 100644 --- a/order/rpc_parse.go +++ b/order/rpc_parse.go @@ -8,9 +8,9 @@ import ( "fmt" "net" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightninglabs/pool/poolrpc" "github.com/lightninglabs/pool/terms" @@ -200,7 +200,7 @@ func ParseRPCServerOrder(version uint32, details *auctioneerrpc.ServerOrder, copy(kit.AcctKey[:], details.TraderKey) - nodePubKey, err := btcec.ParsePubKey(details.NodePub, btcec.S256()) + nodePubKey, err := btcec.ParsePubKey(details.NodePub) if err != nil { return nil, nodeKey, nil, multiSigKey, fmt.Errorf("unable to parse node pub key: %v", @@ -213,9 +213,7 @@ func ParseRPCServerOrder(version uint32, details *auctioneerrpc.ServerOrder, return nil, nodeKey, nil, multiSigKey, err } - multiSigPubkey, err := btcec.ParsePubKey( - details.MultiSigKey, btcec.S256(), - ) + multiSigPubkey, err := btcec.ParsePubKey(details.MultiSigKey) if err != nil { return nil, nodeKey, nodeAddrs, multiSigKey, fmt.Errorf("unable to parse multi sig pub key: %v", err) @@ -349,7 +347,7 @@ func ParseRPCBatch(prepareMsg *auctioneerrpc.OrderMatchPrepare) (*Batch, // Parse account diff. for _, diff := range prepareMsg.ChargedAccounts { var acctKeyRaw [33]byte - acctKey, err := btcec.ParsePubKey(diff.TraderKey, btcec.S256()) + acctKey, err := btcec.ParsePubKey(diff.TraderKey) if err != nil { return nil, fmt.Errorf("error parsing account key: %v", err) @@ -389,7 +387,7 @@ func ParseRPCBatch(prepareMsg *auctioneerrpc.OrderMatchPrepare) (*Batch, ) // Parse the batch ID as public key just to make sure it's valid. - _, err = btcec.ParsePubKey(prepareMsg.BatchId, btcec.S256()) + _, err = btcec.ParsePubKey(prepareMsg.BatchId) if err != nil { return nil, fmt.Errorf("error parsing batch ID: %v", err) } diff --git a/order/supplyunit.go b/order/supplyunit.go index da11678..781c749 100644 --- a/order/supplyunit.go +++ b/order/supplyunit.go @@ -1,6 +1,6 @@ package order -import "github.com/btcsuite/btcutil" +import "github.com/btcsuite/btcd/btcutil" // SupplyUnit is a type that represents the smallest unit of an order that can // be fulfilled. One unit corresponds to the smallest channel size that can be diff --git a/order/supplyunit_test.go b/order/supplyunit_test.go index acb1d56..2d9ab89 100644 --- a/order/supplyunit_test.go +++ b/order/supplyunit_test.go @@ -6,7 +6,7 @@ import ( "testing" "testing/quick" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/order" "github.com/stretchr/testify/require" ) diff --git a/order/tradingfees.go b/order/tradingfees.go index 88188e2..9742455 100644 --- a/order/tradingfees.go +++ b/order/tradingfees.go @@ -2,7 +2,7 @@ package order import ( "github.com/btcsuite/btcd/blockchain" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/poolscript" "github.com/lightninglabs/pool/terms" "github.com/lightningnetwork/lnd/input" diff --git a/order/tradingfees_test.go b/order/tradingfees_test.go index 1148743..56a7cd6 100644 --- a/order/tradingfees_test.go +++ b/order/tradingfees_test.go @@ -3,7 +3,7 @@ package order import ( "testing" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/terms" "github.com/lightningnetwork/lnd/lnwallet/chainfee" "github.com/stretchr/testify/require" diff --git a/poolrpc/trader.pb.go b/poolrpc/trader.pb.go index c31208d..174e52e 100644 --- a/poolrpc/trader.pb.go +++ b/poolrpc/trader.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 +// protoc-gen-go v1.27.1 // protoc v3.6.1 // source: trader.proto @@ -2182,7 +2182,7 @@ func (x *Order) GetState() auctioneerrpc.OrderState { if x != nil { return x.State } - return auctioneerrpc.OrderState_ORDER_SUBMITTED + return auctioneerrpc.OrderState(0) } func (x *Order) GetUnits() uint32 { @@ -2231,7 +2231,7 @@ func (x *Order) GetChannelType() auctioneerrpc.OrderChannelType { if x != nil { return x.ChannelType } - return auctioneerrpc.OrderChannelType_ORDER_CHANNEL_TYPE_UNKNOWN + return auctioneerrpc.OrderChannelType(0) } type Bid struct { @@ -2327,7 +2327,7 @@ func (x *Bid) GetMinNodeTier() auctioneerrpc.NodeTier { if x != nil { return x.MinNodeTier } - return auctioneerrpc.NodeTier_TIER_DEFAULT + return auctioneerrpc.NodeTier(0) } func (x *Bid) GetSelfChanBalance() uint64 { @@ -2756,14 +2756,14 @@ func (x *UpdatedEvent) GetPreviousState() auctioneerrpc.OrderState { if x != nil { return x.PreviousState } - return auctioneerrpc.OrderState_ORDER_SUBMITTED + return auctioneerrpc.OrderState(0) } func (x *UpdatedEvent) GetNewState() auctioneerrpc.OrderState { if x != nil { return x.NewState } - return auctioneerrpc.OrderState_ORDER_SUBMITTED + return auctioneerrpc.OrderState(0) } func (x *UpdatedEvent) GetUnitsFilled() uint32 { @@ -3307,7 +3307,7 @@ func (x *Lease) GetChannelNodeTier() auctioneerrpc.NodeTier { if x != nil { return x.ChannelNodeTier } - return auctioneerrpc.NodeTier_TIER_DEFAULT + return auctioneerrpc.NodeTier(0) } func (x *Lease) GetSelfChanBalance() uint64 { diff --git a/poolscript/script.go b/poolscript/script.go index 86b8c06..a474115 100644 --- a/poolscript/script.go +++ b/poolscript/script.go @@ -3,11 +3,11 @@ package poolscript import ( "bytes" "crypto/sha256" - "math/big" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" + secp "github.com/decred/dcrd/dcrec/secp256k1/v4" "github.com/lightningnetwork/lnd/input" "github.com/lightningnetwork/lnd/keychain" ) @@ -279,33 +279,41 @@ func IsMultiSigSpend(witness wire.TxWitness) bool { } // IncrementKey increments the given key by the backing curve's base point. -func IncrementKey(key *btcec.PublicKey) *btcec.PublicKey { - curveParams := key.Curve.Params() - newX, newY := key.Curve.Add(key.X, key.Y, curveParams.Gx, curveParams.Gy) - return &btcec.PublicKey{ - X: newX, - Y: newY, - Curve: btcec.S256(), - } +func IncrementKey(pubKey *btcec.PublicKey) *btcec.PublicKey { + var ( + key, g, res btcec.JacobianPoint + ) + pubKey.AsJacobian(&key) + + // Multiply G by 1 to get G. + secp.ScalarBaseMultNonConst(new(secp.ModNScalar).SetInt(1), &g) + + secp.AddNonConst(&key, &g, &res) + res.ToAffine() + return btcec.NewPublicKey(&res.X, &res.Y) } // DecrementKey is the opposite of IncrementKey, it "subtracts one" from the // current key to arrive at the key used before the IncrementKey operation. -func DecrementKey(key *btcec.PublicKey) *btcec.PublicKey { +func DecrementKey(pubKey *btcec.PublicKey) *btcec.PublicKey { + var ( + key, g, res btcec.JacobianPoint + ) + pubKey.AsJacobian(&key) + + // Multiply G by 1 to get G. + secp.ScalarBaseMultNonConst(new(secp.ModNScalar).SetInt(1), &g) + + // Get -G by negating the Y axis. + g.Y.Normalize() + g.Y.Negate(1) + // priorKey = key - G // priorKey = (key.x, key.y) + (G.x, -G.y) - curveParams := btcec.S256().Params() - negY := new(big.Int).Neg(curveParams.Gy) - negY = negY.Mod(negY, curveParams.P) - x, y := key.Curve.Add( - key.X, key.Y, curveParams.Gx, negY, - ) + secp.AddNonConst(&key, &g, &res) - return &btcec.PublicKey{ - X: x, - Y: y, - Curve: btcec.S256(), - } + res.ToAffine() + return btcec.NewPublicKey(&res.X, &res.Y) } // LocateOutputScript determines whether a transaction includes an output with a diff --git a/poolscript/script_test.go b/poolscript/script_test.go index 7bab255..c20b827 100644 --- a/poolscript/script_test.go +++ b/poolscript/script_test.go @@ -1,9 +1,10 @@ package poolscript import ( + "encoding/hex" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/stretchr/testify/require" ) @@ -11,12 +12,29 @@ const ( numOperations = 1000 ) +var ( + // initialBatchKey is the hard coded starting point for the auctioneer's + // batch key in every environment. Copied here to avoid circular + // dependency with the account package. + initialBatchKeyBytes, _ = hex.DecodeString( + "02824d0cbac65e01712124c50ff2cc74ce22851d7b444c1bf2ae66afefb8" + + "eaf27f", + ) + + // batchKeyIncremented1kTimesBytes is the initial batch keys incremented + // by G 1000 times. + batchKeyIncremented1kTimesBytes, _ = hex.DecodeString( + "0280488e115da2415389bbe07854133840de2741b31dabd60184c7f5d80c" + + "057d79", + ) +) + // TestIncrementDecrementKey makes sure that incrementing and decrementing an EC // public key are inverse operations to each other. func TestIncrementDecrementKey(t *testing.T) { t.Parallel() - privKey, err := btcec.NewPrivateKey(btcec.S256()) + privKey, err := btcec.NewPrivateKey() require.NoError(t, err) randomStartBatchKey := privKey.PubKey() @@ -35,3 +53,31 @@ func TestIncrementDecrementKey(t *testing.T) { // We should arrive at the same start key again. require.Equal(t, randomStartBatchKey, currentKey) } + +// TestIncrementBatchKey tests that incrementing the static, hard-coded batch +// key 1000 times gives a specific key and decrementing the same number of times +// gives the batch key again. +func TestIncrementBatchKey(t *testing.T) { + t.Parallel() + + startBatchKey, err := btcec.ParsePubKey(initialBatchKeyBytes) + require.NoError(t, err) + + batchKeyIncremented1kTimes, err := btcec.ParsePubKey( + batchKeyIncremented1kTimesBytes, + ) + require.NoError(t, err) + + currentKey := startBatchKey + for i := 0; i < numOperations; i++ { + currentKey = IncrementKey(currentKey) + } + + require.Equal(t, batchKeyIncremented1kTimes, currentKey) + + for i := 0; i < numOperations; i++ { + currentKey = DecrementKey(currentKey) + } + + require.Equal(t, startBatchKey, currentKey) +} diff --git a/rpcserver.go b/rpcserver.go index a4c16c5..15990a1 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -10,11 +10,11 @@ import ( "sync/atomic" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" - "github.com/btcsuite/btcutil" "github.com/davecgh/go-spew/spew" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" @@ -671,7 +671,7 @@ func (s *rpcServer) DepositAccount(ctx context.Context, btcutil.Amount(req.AmountSat), req.TraderKey) // Ensure the trader key is well formed. - traderKey, err := btcec.ParsePubKey(req.TraderKey, btcec.S256()) + traderKey, err := btcec.ParsePubKey(req.TraderKey) if err != nil { return nil, err } @@ -730,7 +730,7 @@ func (s *rpcServer) WithdrawAccount(ctx context.Context, rpcLog.Infof("Withdrawing from acct=%x", req.TraderKey) // Ensure the trader key is well formed. - traderKey, err := btcec.ParsePubKey(req.TraderKey, btcec.S256()) + traderKey, err := btcec.ParsePubKey(req.TraderKey) if err != nil { return nil, err } @@ -798,7 +798,7 @@ func (s *rpcServer) RenewAccount(ctx context.Context, rpcLog.Infof("Updating account expiration for account %x", req.AccountKey) // Ensure the account key is well formed. - accountKey, err := btcec.ParsePubKey(req.AccountKey, btcec.S256()) + accountKey, err := btcec.ParsePubKey(req.AccountKey) if err != nil { return nil, err } @@ -855,7 +855,7 @@ func (s *rpcServer) RenewAccount(ctx context.Context, func (s *rpcServer) BumpAccountFee(ctx context.Context, req *poolrpc.BumpAccountFeeRequest) (*poolrpc.BumpAccountFeeResponse, error) { - traderKey, err := btcec.ParsePubKey(req.TraderKey, btcec.S256()) + traderKey, err := btcec.ParsePubKey(req.TraderKey) if err != nil { return nil, err } @@ -875,7 +875,7 @@ func (s *rpcServer) CloseAccount(ctx context.Context, rpcLog.Infof("Closing acct=%x", req.TraderKey) - traderKey, err := btcec.ParsePubKey(req.TraderKey, btcec.S256()) + traderKey, err := btcec.ParsePubKey(req.TraderKey) if err != nil { return nil, err } @@ -1362,9 +1362,7 @@ func (s *rpcServer) SubmitOrder(ctx context.Context, } // Verify that the account exists. - acctKey, err := btcec.ParsePubKey( - o.Details().AcctKey[:], btcec.S256(), - ) + acctKey, err := btcec.ParsePubKey(o.Details().AcctKey[:]) if err != nil { return nil, err } @@ -1897,7 +1895,7 @@ func (s *rpcServer) Leases(ctx context.Context, // for. If none are specified, leases for all accounts will be returned. accounts := make(map[[33]byte]struct{}, len(req.Accounts)) for _, rawAccountKey := range req.Accounts { - _, err := btcec.ParsePubKey(rawAccountKey, btcec.S256()) + _, err := btcec.ParsePubKey(rawAccountKey) if err != nil { return nil, fmt.Errorf("invalid account key: %v", err) } @@ -1918,9 +1916,7 @@ func (s *rpcServer) Leases(ctx context.Context, } } else { for _, rawBatchID := range req.BatchIds { - batchKey, err := btcec.ParsePubKey( - rawBatchID, btcec.S256(), - ) + batchKey, err := btcec.ParsePubKey(rawBatchID) if err != nil { return nil, fmt.Errorf("invalid batch id: %v", err) @@ -1998,9 +1994,7 @@ func fetchNodeRatings(ctx context.Context, batches []*clientdb.LocalBatchSnapsho nodeKeys := make([]*btcec.PublicKey, 0, len(nodeRatings)) for pubKey := range nodeRatings { - nodeKey, err := btcec.ParsePubKey( - pubKey[:], btcec.S256(), - ) + nodeKey, err := btcec.ParsePubKey(pubKey[:]) if err != nil { return nil, err } @@ -2314,7 +2308,7 @@ func (s *rpcServer) NodeRatings(ctx context.Context, pubKeys := make([]*btcec.PublicKey, 0, len(req.NodePubkeys)) for _, nodeKeyBytes := range req.NodePubkeys { - nodeKey, err := btcec.ParsePubKey(nodeKeyBytes, btcec.S256()) + nodeKey, err := btcec.ParsePubKey(nodeKeyBytes) if err != nil { return nil, err } @@ -2345,7 +2339,7 @@ func (s *rpcServer) GetInfo(ctx context.Context, if err != nil { return nil, fmt.Errorf("cannot get our node pubkey: %v", err) } - nodePubkey, err := btcec.ParsePubKey(nodePubkeyRaw[:], btcec.S256()) + nodePubkey, err := btcec.ParsePubKey(nodePubkeyRaw[:]) if err != nil { return nil, fmt.Errorf("cannot parse our node pubkey: %v", err) } @@ -2456,9 +2450,7 @@ func (s *rpcServer) OfferSidecar(ctx context.Context, // We'll need to look up the account state in the database to make sure // the account is actually still open (able to submit bids), and also // to grab the KeyDescriptor that we'll need for signing later. - acctKey, err := btcec.ParsePubKey( - req.Bid.Details.TraderKey, btcec.S256(), - ) + acctKey, err := btcec.ParsePubKey(req.Bid.Details.TraderKey) if err != nil { return nil, err } diff --git a/rpcserver_test.go b/rpcserver_test.go index 0c63173..dae7513 100644 --- a/rpcserver_test.go +++ b/rpcserver_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" gomock "github.com/golang/mock/gomock" "github.com/lightninglabs/pool/account" @@ -24,7 +24,7 @@ var ( ) func getAccountKey(acctKey []byte) *btcec.PublicKey { - res, _ := btcec.ParsePubKey(acctKey, btcec.S256()) + res, _ := btcec.ParsePubKey(acctKey) return res } @@ -96,7 +96,7 @@ var renewAccountTestCases = []struct { AccountKey: []byte{3, 5, 8}, } }, - expectedError: "invalid pub key length 3", + expectedError: "malformed public key: invalid length: 3", mockSetter: func(req *poolrpc.RenewAccountRequest, accMgr *account.MockManager, marshalerMock *MockMarshaler) { }, diff --git a/server.go b/server.go index 36c908f..dac9478 100644 --- a/server.go +++ b/server.go @@ -14,7 +14,7 @@ import ( "sync" "sync/atomic" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" proxy "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/lightninglabs/aperture/lsat" "github.com/lightninglabs/lndclient" @@ -469,9 +469,7 @@ func (s *Server) setupClient() error { } // Parse our lnd node's public key. - nodePubKey, err := btcec.ParsePubKey( - s.lndServices.NodePubkey[:], btcec.S256(), - ) + nodePubKey, err := btcec.ParsePubKey(s.lndServices.NodePubkey[:]) if err != nil { return fmt.Errorf("unable to parse node pubkey: %v", err) } diff --git a/sidecar/codec.go b/sidecar/codec.go index 7a4d9cf..470fda3 100644 --- a/sidecar/codec.go +++ b/sidecar/codec.go @@ -5,7 +5,7 @@ import ( "crypto/sha256" "fmt" - "github.com/btcsuite/btcutil/base58" + "github.com/btcsuite/btcd/btcutil/base58" ) const ( diff --git a/sidecar/codec_test.go b/sidecar/codec_test.go index 1244504..a7f8bd4 100644 --- a/sidecar/codec_test.go +++ b/sidecar/codec_test.go @@ -1,14 +1,13 @@ package sidecar import ( - "math/big" "math/rand" "testing" "testing/quick" "time" - "github.com/btcsuite/btcd/btcec" - "github.com/btcsuite/btcutil/base58" + "github.com/btcsuite/btcd/btcutil/base58" + "github.com/lightninglabs/pool/internal/test" "github.com/stretchr/testify/require" ) @@ -39,11 +38,8 @@ func TestEncodeDecode(t *testing.T) { PushAmt: 888, LeaseDurationBlocks: 2016, SignPubKey: testPubKey, - SigOfferDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(44), - S: new(big.Int).SetInt64(22), - }, - Auto: true, + SigOfferDigest: test.NewSignatureFromInt(44, 22), + Auto: true, }, Recipient: &Recipient{ NodePubKey: testPubKey, @@ -51,11 +47,8 @@ func TestEncodeDecode(t *testing.T) { MultiSigKeyIndex: 77, }, Order: &Order{ - BidNonce: [32]byte{11, 22, 33, 44}, - SigOrderDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(99), - S: new(big.Int).SetInt64(33), - }, + BidNonce: [32]byte{11, 22, 33, 44}, + SigOrderDigest: test.NewSignatureFromInt(99, 33), }, Execution: &Execution{ PendingChannelID: [32]byte{99, 88, 77}, diff --git a/sidecar/interfaces.go b/sidecar/interfaces.go index 4792e4f..93a4ca3 100644 --- a/sidecar/interfaces.go +++ b/sidecar/interfaces.go @@ -6,8 +6,9 @@ import ( "crypto/sha256" "fmt" - "github.com/btcsuite/btcd/btcec" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" + "github.com/btcsuite/btcd/btcutil" "github.com/lightningnetwork/lnd/lnwire" ) @@ -125,7 +126,7 @@ type Offer struct { // SigOfferDigest is a signature over the offer digest, signed with the // private key that corresponds to the SignPubKey above. - SigOfferDigest *btcec.Signature + SigOfferDigest *ecdsa.Signature // Auto determines if the provider requires that the ticket be // completed using an automated negotiation sequence. @@ -158,7 +159,7 @@ type Order struct { // SigOrderDigest is a signature over the order digest, signed with the // private key that corresponds to the SignPubKey in the Offer struct. - SigOrderDigest *btcec.Signature + SigOrderDigest *ecdsa.Signature } // Execution is a struct holding information about the sidecar bid order during diff --git a/sidecar/mock_interfaces.go b/sidecar/mock_interfaces.go index 586a5b8..a44707b 100644 --- a/sidecar/mock_interfaces.go +++ b/sidecar/mock_interfaces.go @@ -7,7 +7,7 @@ package sidecar import ( reflect "reflect" - btcec "github.com/btcsuite/btcd/btcec" + v2 "github.com/btcsuite/btcd/btcec/v2" gomock "github.com/golang/mock/gomock" ) @@ -49,7 +49,7 @@ func (mr *MockStoreMockRecorder) AddSidecar(sidecar interface{}) *gomock.Call { } // Sidecar mocks base method. -func (m *MockStore) Sidecar(id [8]byte, offerSignPubKey *btcec.PublicKey) (*Ticket, error) { +func (m *MockStore) Sidecar(id [8]byte, offerSignPubKey *v2.PublicKey) (*Ticket, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Sidecar", id, offerSignPubKey) ret0, _ := ret[0].(*Ticket) diff --git a/sidecar/tlv.go b/sidecar/tlv.go index f1669be..4858c0a 100644 --- a/sidecar/tlv.go +++ b/sidecar/tlv.go @@ -5,8 +5,8 @@ import ( "fmt" "io" - "github.com/btcsuite/btcd/btcec" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcec/v2/ecdsa" + "github.com/btcsuite/btcd/btcutil" "github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/tlv" ) @@ -324,7 +324,7 @@ func deserializeExecution(executionBytes []byte) (Execution, error) { // ESig is an Encoder for the btcec.Signature type. An error is returned if val // is not a **btcec.Signature. func ESig(w io.Writer, val interface{}, buf *[8]byte) error { - if v, ok := val.(**btcec.Signature); ok { + if v, ok := val.(**ecdsa.Signature); ok { var s [64]byte if *v != nil { rawSig := (*v).Serialize() @@ -343,7 +343,7 @@ func ESig(w io.Writer, val interface{}, buf *[8]byte) error { // DSig is a Decoder for the btcec.Signature type. An error is returned if val // is not a **btcec.Signature. func DSig(r io.Reader, val interface{}, buf *[8]byte, l uint64) error { - if v, ok := val.(**btcec.Signature); ok && l == 64 { + if v, ok := val.(**ecdsa.Signature); ok && l == 64 { var s [64]byte if err := tlv.DBytes64(r, &s, buf, 64); err != nil { return err diff --git a/sidecar/tlv_test.go b/sidecar/tlv_test.go index e84473e..8aa4ea8 100644 --- a/sidecar/tlv_test.go +++ b/sidecar/tlv_test.go @@ -3,10 +3,10 @@ package sidecar import ( "bytes" "encoding/hex" - "math/big" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" + "github.com/lightninglabs/pool/internal/test" "github.com/stretchr/testify/require" ) @@ -19,8 +19,8 @@ var ( "0319d616f6a373b24fe5d45fb2964bea4054196820f41ef1a093a9c8e234" + "e57cf7", ) - testPubKey, _ = btcec.ParsePubKey(testPubKeyRaw, btcec.S256()) - testPubKey2, _ = btcec.ParsePubKey(testPubKeyRaw2, btcec.S256()) + testPubKey, _ = btcec.ParsePubKey(testPubKeyRaw) + testPubKey2, _ = btcec.ParsePubKey(testPubKeyRaw2) ) func TestSerializeTicket(t *testing.T) { @@ -70,25 +70,19 @@ func TestSerializeTicket(t *testing.T) { Version: Version(99), State: StateRegistered, Offer: Offer{ - Capacity: 777, - PushAmt: 888, - SignPubKey: testPubKey, - SigOfferDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(22), - S: new(big.Int).SetInt64(55), - }, - Auto: true, + Capacity: 777, + PushAmt: 888, + SignPubKey: testPubKey, + SigOfferDigest: test.NewSignatureFromInt(22, 55), + Auto: true, }, Recipient: &Recipient{ NodePubKey: testPubKey, MultiSigPubKey: testPubKey2, }, Order: &Order{ - BidNonce: [32]byte{11, 22, 33, 44}, - SigOrderDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(99), - S: new(big.Int).SetInt64(33), - }, + BidNonce: [32]byte{11, 22, 33, 44}, + SigOrderDigest: test.NewSignatureFromInt(99, 33), }, Execution: &Execution{ PendingChannelID: [32]byte{99, 88, 77}, diff --git a/sidecar/verification.go b/sidecar/verification.go index 78d79a5..6a91a44 100644 --- a/sidecar/verification.go +++ b/sidecar/verification.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/lndclient" "github.com/lightningnetwork/lnd/keychain" "github.com/lightningnetwork/lnd/lnwire" diff --git a/sidecar/verification_test.go b/sidecar/verification_test.go index 5efbc0e..70f65f9 100644 --- a/sidecar/verification_test.go +++ b/sidecar/verification_test.go @@ -2,21 +2,17 @@ package sidecar import ( "context" - "math/big" "testing" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/lightninglabs/pool/internal/test" "github.com/lightningnetwork/lnd/keychain" "github.com/stretchr/testify/require" ) var ( - _, providerPubKey = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x02}) - testOfferSig = &btcec.Signature{ - R: new(big.Int).SetInt64(44), - S: new(big.Int).SetInt64(22), - } + _, providerPubKey = btcec.PrivKeyFromBytes([]byte{0x02}) + testOfferSig = test.NewSignatureFromInt(44, 22) ) // TestSignOffer makes sure that a sidecar ticket's offer part can be signed @@ -130,11 +126,8 @@ func TestVerifyOffer(t *testing.T) { ID: [8]byte{1, 2, 3, 4}, State: StateOffered, Offer: Offer{ - SignPubKey: providerPubKey, - SigOfferDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(33), - S: new(big.Int).SetInt64(33), - }, + SignPubKey: providerPubKey, + SigOfferDigest: test.NewSignatureFromInt(33, 33), }, }, expectedErr: "signature not valid for public key", @@ -277,11 +270,8 @@ func TestVerifyOrder(t *testing.T) { SigOfferDigest: testOfferSig, }, Order: &Order{ - SigOrderDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(33), - S: new(big.Int).SetInt64(33), - }, - BidNonce: [32]byte{1, 2, 3}, + SigOrderDigest: test.NewSignatureFromInt(33, 33), + BidNonce: [32]byte{1, 2, 3}, }, }, expectedErr: "signature not valid for public key", diff --git a/sidecar_acceptor.go b/sidecar_acceptor.go index e099dfc..df1c311 100644 --- a/sidecar_acceptor.go +++ b/sidecar_acceptor.go @@ -7,7 +7,7 @@ import ( "fmt" "sync" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" "github.com/davecgh/go-spew/spew" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/pool/account" diff --git a/sidecar_acceptor_test.go b/sidecar_acceptor_test.go index e58cf13..b9fc19a 100644 --- a/sidecar_acceptor_test.go +++ b/sidecar_acceptor_test.go @@ -3,12 +3,11 @@ package pool import ( "context" "fmt" - "math/big" "sync" "testing" "time" - "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcd/btcec/v2" gomock "github.com/golang/mock/gomock" "github.com/lightninglabs/pool/account" "github.com/lightninglabs/pool/auctioneer" @@ -23,12 +22,9 @@ import ( ) var ( - _, providerPubKey = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x02}) - _, ourNodePubKey = btcec.PrivKeyFromBytes(btcec.S256(), []byte{0x03}) - testOfferSig = &btcec.Signature{ - R: new(big.Int).SetInt64(44), - S: new(big.Int).SetInt64(22), - } + _, providerPubKey = btcec.PrivKeyFromBytes([]byte{0x02}) + _, ourNodePubKey = btcec.PrivKeyFromBytes([]byte{0x03}) + testOfferSig = test.NewSignatureFromInt(44, 22) ) func registerSidecarEmptySetter(ticket *sidecar.Ticket, @@ -79,11 +75,8 @@ var registerSidecarTestCases = []struct { ticket: &sidecar.Ticket{ State: sidecar.StateOffered, Offer: sidecar.Offer{ - SignPubKey: providerPubKey, - SigOfferDigest: &btcec.Signature{ - R: new(big.Int).SetInt64(33), - S: new(big.Int).SetInt64(33), - }, + SignPubKey: providerPubKey, + SigOfferDigest: test.NewSignatureFromInt(33, 33), }, }, expectedErr: "signature not valid for public key", diff --git a/terms/fees.go b/terms/fees.go index 16bc939..887ec7f 100644 --- a/terms/fees.go +++ b/terms/fees.go @@ -1,6 +1,6 @@ package terms -import "github.com/btcsuite/btcutil" +import "github.com/btcsuite/btcd/btcutil" // FeeSchedule is an interface that represents the configuration source that // the auctioneer will use to determine how much to charge in fees for each diff --git a/terms/terms.go b/terms/terms.go index 634f8d3..52eaa9f 100644 --- a/terms/terms.go +++ b/terms/terms.go @@ -3,7 +3,7 @@ package terms import ( "time" - "github.com/btcsuite/btcutil" + "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/pool/auctioneerrpc" "github.com/lightningnetwork/lnd/lnwallet/chainfee" )