From c8e58147b68fdda21141d65310fb8e9f3a60c529 Mon Sep 17 00:00:00 2001
From: Olaoluwa Osuntokun <laolu32@gmail.com>
Date: Fri, 22 Jul 2016 18:52:36 -0700
Subject: [PATCH] add glide dependency management for fully reproducible builds
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This commit adds glide integration in order to make lnd builds fully
reproducible. Rather than using “go get” users should now manually pull down
the repo, use glide to fetch+install the dependancies, then manually install
all related binaries.

With this change we no longer have to chase dependancies making breaking API
changes under us. We can manually update the managed dependancies once a new
stable release of a defendant package is released.

Additionally, reproducible builds are a strong requirement in order to securely
distribute future major releases of lnd.
---
 chainntfs/btcdnotify/btcdnotify_test.go     |   2 +-
 cmd/lncli/commands.go                       |   2 +-
 glide.lock                                  | 122 ++++++++++++++++++++
 glide.yaml                                  |  51 ++++++++
 lnwallet/script_utils.go                    |   2 +-
 lnwallet/wallet_test.go                     |   2 +-
 vendor/github.com/boltdb/bolt               |   1 +
 vendor/github.com/btcsuite/bolt             |   1 +
 vendor/github.com/btcsuite/btclog           |   1 +
 vendor/github.com/btcsuite/fastsha256       |   1 +
 vendor/github.com/btcsuite/go-flags         |   1 +
 vendor/github.com/btcsuite/go-socks         |   1 +
 vendor/github.com/btcsuite/golangcrypto     |   1 +
 vendor/github.com/btcsuite/seelog           |   1 +
 vendor/github.com/btcsuite/websocket        |   1 +
 vendor/github.com/codahale/chacha20         |   1 +
 vendor/github.com/codahale/chacha20poly1305 |   1 +
 vendor/github.com/codegangsta/cli           |   1 +
 vendor/github.com/davecgh/go-spew           |   1 +
 vendor/github.com/golang/protobuf           |   1 +
 vendor/github.com/howeyc/gopass             |   1 +
 vendor/github.com/roasbeef/btcd             |   1 +
 vendor/github.com/roasbeef/btcrpcclient     |   1 +
 vendor/github.com/roasbeef/btcutil          |   1 +
 vendor/github.com/roasbeef/btcwallet        |   1 +
 vendor/golang.org/x/crypto                  |   1 +
 vendor/golang.org/x/net                     |   1 +
 vendor/golang.org/x/sys                     |   1 +
 vendor/google.golang.org/grpc               |   1 +
 29 files changed, 200 insertions(+), 4 deletions(-)
 create mode 100644 glide.lock
 create mode 100644 glide.yaml
 create mode 160000 vendor/github.com/boltdb/bolt
 create mode 160000 vendor/github.com/btcsuite/bolt
 create mode 160000 vendor/github.com/btcsuite/btclog
 create mode 160000 vendor/github.com/btcsuite/fastsha256
 create mode 160000 vendor/github.com/btcsuite/go-flags
 create mode 160000 vendor/github.com/btcsuite/go-socks
 create mode 160000 vendor/github.com/btcsuite/golangcrypto
 create mode 160000 vendor/github.com/btcsuite/seelog
 create mode 160000 vendor/github.com/btcsuite/websocket
 create mode 160000 vendor/github.com/codahale/chacha20
 create mode 160000 vendor/github.com/codahale/chacha20poly1305
 create mode 160000 vendor/github.com/codegangsta/cli
 create mode 160000 vendor/github.com/davecgh/go-spew
 create mode 160000 vendor/github.com/golang/protobuf
 create mode 160000 vendor/github.com/howeyc/gopass
 create mode 160000 vendor/github.com/roasbeef/btcd
 create mode 160000 vendor/github.com/roasbeef/btcrpcclient
 create mode 160000 vendor/github.com/roasbeef/btcutil
 create mode 160000 vendor/github.com/roasbeef/btcwallet
 create mode 160000 vendor/golang.org/x/crypto
 create mode 160000 vendor/golang.org/x/net
 create mode 160000 vendor/golang.org/x/sys
 create mode 160000 vendor/google.golang.org/grpc

diff --git a/chainntfs/btcdnotify/btcdnotify_test.go b/chainntfs/btcdnotify/btcdnotify_test.go
index b6f9572be..e2c21bbc0 100644
--- a/chainntfs/btcdnotify/btcdnotify_test.go
+++ b/chainntfs/btcdnotify/btcdnotify_test.go
@@ -5,10 +5,10 @@ import (
 	"testing"
 	"time"
 
-	"github.com/Roasbeef/btcd/rpctest"
 	"github.com/lightningnetwork/lnd/chainntfs"
 	"github.com/roasbeef/btcd/btcec"
 	"github.com/roasbeef/btcd/chaincfg"
+	"github.com/roasbeef/btcd/rpctest"
 	"github.com/roasbeef/btcd/txscript"
 	"github.com/roasbeef/btcd/wire"
 	"github.com/roasbeef/btcutil"
diff --git a/cmd/lncli/commands.go b/cmd/lncli/commands.go
index 418737a9f..0d664ec7b 100644
--- a/cmd/lncli/commands.go
+++ b/cmd/lncli/commands.go
@@ -9,9 +9,9 @@ import (
 	"os"
 	"strings"
 
-	"github.com/Roasbeef/btcd/wire"
 	"github.com/codegangsta/cli"
 	"github.com/lightningnetwork/lnd/lnrpc"
+	"github.com/roasbeef/btcd/wire"
 	"golang.org/x/net/context"
 )
 
diff --git a/glide.lock b/glide.lock
new file mode 100644
index 000000000..4c373aebb
--- /dev/null
+++ b/glide.lock
@@ -0,0 +1,122 @@
+hash: 923d0c97dcf347038ea004dfec2089fc8e3309764992f47f2b2d4cee666c03ea
+updated: 2016-07-22T13:59:43.839868155-07:00
+imports:
+- name: github.com/boltdb/bolt
+  version: dfb21201d9270c1082d5fb0f07f500311ff72f18
+- name: github.com/btcsuite/bolt
+  version: 38b9bbfde72d4b62b6a038a3adfca64c44da0133
+- name: github.com/btcsuite/btclog
+  version: f96df2375f37300305f329b8e5258764b4f19a7f
+- name: github.com/btcsuite/fastsha256
+  version: 302ad4db268b46f9ebda3078f6f7397f96047735
+- name: github.com/btcsuite/go-flags
+  version: 6c288d648c1cc1befcb90cb5511dcacf64ae8e61
+- name: github.com/btcsuite/go-socks
+  version: cfe8b59e565c1a5bd4e2005d77cd9aa8b2e14524
+  subpackages:
+  - socks
+- name: github.com/btcsuite/golangcrypto
+  version: 53f62d9b43e87a6c56975cf862af7edf33a8d0df
+  subpackages:
+  - ripemd160
+  - nacl/secretbox
+  - scrypt
+  - ssh/terminal
+  - poly1305
+  - salsa20/salsa
+  - pbkdf2
+- name: github.com/btcsuite/seelog
+  version: ae8891d029dd3c269dcfd6f261ad23e761acd99f
+- name: github.com/btcsuite/websocket
+  version: 31079b6807923eb23992c421b114992b95131b55
+- name: github.com/codahale/chacha20
+  version: ec07b4f69a3f70b1dd2a8ad77230deb1ba5d6953
+- name: github.com/codahale/chacha20poly1305
+  version: f8a5c48301822c3d7dd26d78e68ea2968db0ab20
+- name: github.com/codegangsta/cli
+  version: 1efa31f08b9333f1bd4882d61f9d668a70cd902e
+- name: github.com/davecgh/go-spew
+  version: 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d
+  subpackages:
+  - spew
+- name: github.com/golang/protobuf
+  version: 874264fbbb43f4d91e999fecb4b40143ed611400
+  subpackages:
+  - proto
+- name: github.com/howeyc/gopass
+  version: 66487b23f2880ba32e185121d2cd51a338ea069a
+- name: github.com/roasbeef/btcd
+  version: baea7691cc3c59480703fe1a3fb5595c838c963c
+  subpackages:
+  - blockchain
+  - btcec
+  - btcjson
+  - chaincfg
+  - txscript
+  - wire
+  - rpctest
+  - database
+- name: github.com/roasbeef/btcrpcclient
+  version: 2c6c5c5671f6e86d42b84da30cafcd80e3313b41
+- name: github.com/roasbeef/btcutil
+  version: 94511fbe6c9bf8ecddb82ccfe8f326e45a4559b0
+  subpackages:
+  - bloom
+  - coinset
+  - hdkeychain
+  - txsort
+  - base58
+- name: github.com/roasbeef/btcwallet
+  version: d7d402cc4135a53230ce068dcc51252c58a11a3d
+  subpackages:
+  - chain
+  - waddrmgr
+  - wallet
+  - walletdb/bdb
+  - internal/zero
+  - snacl
+  - walletdb
+  - wtxmgr
+  - internal/prompt
+  - wallet/txauthor
+  - wallet/txrules
+  - internal/legacy/keystore
+  - internal/helpers
+  - wallet/internal/txsizes
+  - internal/legacy/rename
+- name: golang.org/x/crypto
+  version: 911fafb28f4ee7c7bd483539a6c96190bbbccc3f
+  subpackages:
+  - hkdf
+  - nacl/secretbox
+  - ripemd160
+  - scrypt
+  - poly1305
+  - salsa20/salsa
+  - pbkdf2
+  - ssh/terminal
+- name: golang.org/x/net
+  version: 4d38db76854b199960801a1734443fd02870d7e1
+  subpackages:
+  - context
+  - http2
+  - trace
+  - http2/hpack
+  - lex/httplex
+  - internal/timeseries
+- name: golang.org/x/sys
+  version: a646d33e2ee3172a661fc09bca23bb4889a41bc8
+  subpackages:
+  - unix
+- name: google.golang.org/grpc
+  version: 13edeeffdea7a41d5aad96c28deb4c7bd01a9397
+  subpackages:
+  - codes
+  - credentials
+  - grpclog
+  - internal
+  - metadata
+  - naming
+  - transport
+  - peer
+testImports: []
diff --git a/glide.yaml b/glide.yaml
new file mode 100644
index 000000000..1595d0e82
--- /dev/null
+++ b/glide.yaml
@@ -0,0 +1,51 @@
+package: github.com/lightningnetwork/lnd
+import:
+- package: github.com/boltdb/bolt
+  version: ^1.2.1
+- package: github.com/btcsuite/btclog
+- package: github.com/btcsuite/fastsha256
+- package: github.com/btcsuite/go-flags
+- package: github.com/btcsuite/seelog
+  version: ^2.1.0
+- package: github.com/codahale/chacha20poly1305
+- package: github.com/codegangsta/cli
+  version: ^1.18.0
+- package: github.com/davecgh/go-spew
+  subpackages:
+  - spew
+- package: github.com/golang/protobuf
+  subpackages:
+  - proto
+- package: github.com/howeyc/gopass
+- package: github.com/roasbeef/btcd
+  subpackages:
+  - blockchain
+  - btcec
+  - btcjson
+  - chaincfg
+  - txscript
+  - wire
+- package: github.com/roasbeef/btcrpcclient
+- package: github.com/roasbeef/btcutil
+  subpackages:
+  - bloom
+  - coinset
+  - hdkeychain
+  - txsort
+- package: github.com/roasbeef/btcwallet
+  subpackages:
+  - chain
+  - waddrmgr
+  - wallet
+  - walletdb/bdb
+- package: golang.org/x/crypto
+  subpackages:
+  - hkdf
+  - nacl/secretbox
+  - ripemd160
+  - scrypt
+- package: golang.org/x/net
+  subpackages:
+  - context
+- package: google.golang.org/grpc
+  version: ^1.0.0
diff --git a/lnwallet/script_utils.go b/lnwallet/script_utils.go
index 95911b415..0b2ce31af 100644
--- a/lnwallet/script_utils.go
+++ b/lnwallet/script_utils.go
@@ -135,7 +135,7 @@ func findScriptOutputIndex(tx *wire.MsgTx, script []byte) (bool, uint32) {
 //    SENDR: <sig> 0
 //    RECVR: <sig> <preimage> 0 1
 //    REVOK: <sig  <preimage> 1 1
-//     * reciever revoke
+//     * receiver revoke
 //
 // OP_IF
 //     //Receiver
diff --git a/lnwallet/wallet_test.go b/lnwallet/wallet_test.go
index a6546b0c4..7cb8846c8 100644
--- a/lnwallet/wallet_test.go
+++ b/lnwallet/wallet_test.go
@@ -10,10 +10,10 @@ import (
 	"testing"
 	"time"
 
-	"github.com/Roasbeef/btcutil/txsort"
 	"github.com/boltdb/bolt"
 	"github.com/lightningnetwork/lnd/channeldb"
 	"github.com/roasbeef/btcd/chaincfg"
+	"github.com/roasbeef/btcutil/txsort"
 
 	"github.com/roasbeef/btcd/btcec"
 	"github.com/roasbeef/btcd/rpctest"
diff --git a/vendor/github.com/boltdb/bolt b/vendor/github.com/boltdb/bolt
new file mode 160000
index 000000000..dfb21201d
--- /dev/null
+++ b/vendor/github.com/boltdb/bolt
@@ -0,0 +1 @@
+Subproject commit dfb21201d9270c1082d5fb0f07f500311ff72f18
diff --git a/vendor/github.com/btcsuite/bolt b/vendor/github.com/btcsuite/bolt
new file mode 160000
index 000000000..38b9bbfde
--- /dev/null
+++ b/vendor/github.com/btcsuite/bolt
@@ -0,0 +1 @@
+Subproject commit 38b9bbfde72d4b62b6a038a3adfca64c44da0133
diff --git a/vendor/github.com/btcsuite/btclog b/vendor/github.com/btcsuite/btclog
new file mode 160000
index 000000000..f96df2375
--- /dev/null
+++ b/vendor/github.com/btcsuite/btclog
@@ -0,0 +1 @@
+Subproject commit f96df2375f37300305f329b8e5258764b4f19a7f
diff --git a/vendor/github.com/btcsuite/fastsha256 b/vendor/github.com/btcsuite/fastsha256
new file mode 160000
index 000000000..302ad4db2
--- /dev/null
+++ b/vendor/github.com/btcsuite/fastsha256
@@ -0,0 +1 @@
+Subproject commit 302ad4db268b46f9ebda3078f6f7397f96047735
diff --git a/vendor/github.com/btcsuite/go-flags b/vendor/github.com/btcsuite/go-flags
new file mode 160000
index 000000000..6c288d648
--- /dev/null
+++ b/vendor/github.com/btcsuite/go-flags
@@ -0,0 +1 @@
+Subproject commit 6c288d648c1cc1befcb90cb5511dcacf64ae8e61
diff --git a/vendor/github.com/btcsuite/go-socks b/vendor/github.com/btcsuite/go-socks
new file mode 160000
index 000000000..cfe8b59e5
--- /dev/null
+++ b/vendor/github.com/btcsuite/go-socks
@@ -0,0 +1 @@
+Subproject commit cfe8b59e565c1a5bd4e2005d77cd9aa8b2e14524
diff --git a/vendor/github.com/btcsuite/golangcrypto b/vendor/github.com/btcsuite/golangcrypto
new file mode 160000
index 000000000..53f62d9b4
--- /dev/null
+++ b/vendor/github.com/btcsuite/golangcrypto
@@ -0,0 +1 @@
+Subproject commit 53f62d9b43e87a6c56975cf862af7edf33a8d0df
diff --git a/vendor/github.com/btcsuite/seelog b/vendor/github.com/btcsuite/seelog
new file mode 160000
index 000000000..ae8891d02
--- /dev/null
+++ b/vendor/github.com/btcsuite/seelog
@@ -0,0 +1 @@
+Subproject commit ae8891d029dd3c269dcfd6f261ad23e761acd99f
diff --git a/vendor/github.com/btcsuite/websocket b/vendor/github.com/btcsuite/websocket
new file mode 160000
index 000000000..31079b680
--- /dev/null
+++ b/vendor/github.com/btcsuite/websocket
@@ -0,0 +1 @@
+Subproject commit 31079b6807923eb23992c421b114992b95131b55
diff --git a/vendor/github.com/codahale/chacha20 b/vendor/github.com/codahale/chacha20
new file mode 160000
index 000000000..ec07b4f69
--- /dev/null
+++ b/vendor/github.com/codahale/chacha20
@@ -0,0 +1 @@
+Subproject commit ec07b4f69a3f70b1dd2a8ad77230deb1ba5d6953
diff --git a/vendor/github.com/codahale/chacha20poly1305 b/vendor/github.com/codahale/chacha20poly1305
new file mode 160000
index 000000000..f8a5c4830
--- /dev/null
+++ b/vendor/github.com/codahale/chacha20poly1305
@@ -0,0 +1 @@
+Subproject commit f8a5c48301822c3d7dd26d78e68ea2968db0ab20
diff --git a/vendor/github.com/codegangsta/cli b/vendor/github.com/codegangsta/cli
new file mode 160000
index 000000000..1efa31f08
--- /dev/null
+++ b/vendor/github.com/codegangsta/cli
@@ -0,0 +1 @@
+Subproject commit 1efa31f08b9333f1bd4882d61f9d668a70cd902e
diff --git a/vendor/github.com/davecgh/go-spew b/vendor/github.com/davecgh/go-spew
new file mode 160000
index 000000000..5215b55f4
--- /dev/null
+++ b/vendor/github.com/davecgh/go-spew
@@ -0,0 +1 @@
+Subproject commit 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d
diff --git a/vendor/github.com/golang/protobuf b/vendor/github.com/golang/protobuf
new file mode 160000
index 000000000..874264fbb
--- /dev/null
+++ b/vendor/github.com/golang/protobuf
@@ -0,0 +1 @@
+Subproject commit 874264fbbb43f4d91e999fecb4b40143ed611400
diff --git a/vendor/github.com/howeyc/gopass b/vendor/github.com/howeyc/gopass
new file mode 160000
index 000000000..66487b23f
--- /dev/null
+++ b/vendor/github.com/howeyc/gopass
@@ -0,0 +1 @@
+Subproject commit 66487b23f2880ba32e185121d2cd51a338ea069a
diff --git a/vendor/github.com/roasbeef/btcd b/vendor/github.com/roasbeef/btcd
new file mode 160000
index 000000000..baea7691c
--- /dev/null
+++ b/vendor/github.com/roasbeef/btcd
@@ -0,0 +1 @@
+Subproject commit baea7691cc3c59480703fe1a3fb5595c838c963c
diff --git a/vendor/github.com/roasbeef/btcrpcclient b/vendor/github.com/roasbeef/btcrpcclient
new file mode 160000
index 000000000..2c6c5c567
--- /dev/null
+++ b/vendor/github.com/roasbeef/btcrpcclient
@@ -0,0 +1 @@
+Subproject commit 2c6c5c5671f6e86d42b84da30cafcd80e3313b41
diff --git a/vendor/github.com/roasbeef/btcutil b/vendor/github.com/roasbeef/btcutil
new file mode 160000
index 000000000..94511fbe6
--- /dev/null
+++ b/vendor/github.com/roasbeef/btcutil
@@ -0,0 +1 @@
+Subproject commit 94511fbe6c9bf8ecddb82ccfe8f326e45a4559b0
diff --git a/vendor/github.com/roasbeef/btcwallet b/vendor/github.com/roasbeef/btcwallet
new file mode 160000
index 000000000..d7d402cc4
--- /dev/null
+++ b/vendor/github.com/roasbeef/btcwallet
@@ -0,0 +1 @@
+Subproject commit d7d402cc4135a53230ce068dcc51252c58a11a3d
diff --git a/vendor/golang.org/x/crypto b/vendor/golang.org/x/crypto
new file mode 160000
index 000000000..911fafb28
--- /dev/null
+++ b/vendor/golang.org/x/crypto
@@ -0,0 +1 @@
+Subproject commit 911fafb28f4ee7c7bd483539a6c96190bbbccc3f
diff --git a/vendor/golang.org/x/net b/vendor/golang.org/x/net
new file mode 160000
index 000000000..4d38db768
--- /dev/null
+++ b/vendor/golang.org/x/net
@@ -0,0 +1 @@
+Subproject commit 4d38db76854b199960801a1734443fd02870d7e1
diff --git a/vendor/golang.org/x/sys b/vendor/golang.org/x/sys
new file mode 160000
index 000000000..a646d33e2
--- /dev/null
+++ b/vendor/golang.org/x/sys
@@ -0,0 +1 @@
+Subproject commit a646d33e2ee3172a661fc09bca23bb4889a41bc8
diff --git a/vendor/google.golang.org/grpc b/vendor/google.golang.org/grpc
new file mode 160000
index 000000000..13edeeffd
--- /dev/null
+++ b/vendor/google.golang.org/grpc
@@ -0,0 +1 @@
+Subproject commit 13edeeffdea7a41d5aad96c28deb4c7bd01a9397