Olaoluwa Osuntokun
1b9d34f614
channeldb: don't store commit sig separately, expected to be within the txin of the commit tx
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
1fd1d87e34
lnwallet/tests: include csv delay in channel reservation init, add doc strings
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
b95eb25595
lnwallet: generate a commitment transaction signature fo bob in wallet_test.go
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
9840585757
lnwallet: actually use 'amount' parameter
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
6eb77b02c2
lnwallet: add comments to wallet.go
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
8ca8eb60fb
lnwallet: verify received commitment tx signature is valid
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
695a1e6c45
lnwallet: sign the REDEEMSCRIPT not the p2sh script :)
2015-12-29 00:00:28 -06:00
Olaoluwa Osuntokun
17f37cc254
lnwallet: shutdown rpc connection during stoppage
2015-12-29 00:00:28 -06:00
Olaoluwa Osuntokun
36e7c38812
lnwallet: introduce mutex around coin selection logic
2015-12-29 00:00:28 -06:00
Olaoluwa Osuntokun
7874357384
lnwallet: remove unused struct
2015-12-29 00:00:28 -06:00
Joseph Poon
161b1b5e4c
Message interface and stuff.
...
* Added Message interface (similar to btcd's)
* Moved Funding Request to its own file
* Refacored Funding Request Code (*MUCH* better)
* Various fixes
2015-12-28 03:24:16 -08:00
Joseph Poon
f51a5a6458
Holy shit pointer crap was annoying! Serialize/deserialize works now.
...
Running "go test -v" will show the serialization and deserialization.
Doing the rest of the wire stuff should be *much* faster since I figured
everything out...
2015-12-26 23:52:20 -08:00
Joseph Poon
0c0900006d
Upon further reflection Our/Their seperation makes no sense
2015-12-26 20:37:17 -08:00
Joseph Poon
b79d0cc65a
(still need to fix deserialize... io wasn't working so I'm using bytes)
2015-12-26 18:23:58 -08:00
Joseph Poon
09f07770fd
Funding request serialize/deserialize (io reader/writer and pointers
...
were very confusing -_-;)
2015-12-26 18:20:25 -08:00
Olaoluwa Osuntokun
7990d9501a
Merge branch 'master' of li.lan:labs/plasma
2015-12-26 12:35:42 -06:00
Olaoluwa Osuntokun
4fdb2763e6
channeldb: create new channeldb package, update lnwallet to use new API
...
* Initial draft of brain dump of chandler. Nothing yet set in stone.
* Will most likely move the storage of all structs to a more “column”
oriented approach. Such that, small updates like incrementing the total
satoshi sent don’t result in the entire struct being serialized and
written.
* Some skeleton structs for other possible data we might want to store
are also included.
* Seem valuable to record as much data as possible for record keeping,
visualization, debugging, etc. Will need to set up a time+space+dirty
cache to ensure performance isn’t impacted too much.
2015-12-26 12:35:15 -06:00
Olaoluwa Osuntokun
d7a1c5d337
lnwallet: check for nil buckets during fetch in channeldb
2015-12-26 00:12:31 -06:00
Olaoluwa Osuntokun
3e2a753271
lnwallet: touch config smelly
2015-12-26 00:11:39 -06:00
Olaoluwa Osuntokun
a10a678505
add some daemon related skeleton files
2015-12-26 00:09:17 -06:00
Olaoluwa Osuntokun
0307f321ad
lnwallet: switch LightningChannel struct to use channeldb instead of raw namespace
2015-12-26 00:08:04 -06:00
Olaoluwa Osuntokun
890ceecc1a
lnwallet: csv delay is a uint32, fill forgotten fields in channel state
2015-12-26 00:07:30 -06:00
Olaoluwa Osuntokun
b4e33587b1
lnwallet: switch to using channeldb
2015-12-26 00:05:55 -06:00
Olaoluwa Osuntokun
ff92efe7df
lnwallet: add node's ID to reservation workflow
2015-12-26 00:05:07 -06:00
Olaoluwa Osuntokun
4bb526854a
lnwallet: fix bug don't set TheirCommitSig twice
2015-12-26 00:03:53 -06:00
Olaoluwa Osuntokun
e345f72d69
lnwallet: implement FetchOpenChannel and PutOpenChannel
2015-12-25 18:00:44 -06:00
Olaoluwa Osuntokun
1386d798f5
lnwallet: add tests for serialization of OpenChannelState
2015-12-25 17:00:53 -06:00
Olaoluwa Osuntokun
8e5f028eea
lnwallet: create channeldb.go add serialization methods for OpenChannel
2015-12-25 17:00:20 -06:00
Olaoluwa Osuntokun
c2403d4b2d
shachain: switch encode/decode methods to use io.Reader/Writer
...
* Help avoid a bug related to passing a copy of bytes.Buffer into
Encode/Decode instead of a pointer
2015-12-24 12:48:24 -06:00
Olaoluwa Osuntokun
5840786922
lnwallet: save redeemScript in channel state
2015-12-24 12:42:29 -06:00
Olaoluwa Osuntokun
15f15bb3af
rename revocation package to shachain
...
* Constructors now also more in line with “Effective Go”
2015-12-24 12:42:03 -06:00
Olaoluwa Osuntokun
07646d05db
move channel state struct to channeldb.go
...
* All fields are now publicly exported
2015-12-24 12:41:15 -06:00
Olaoluwa Osuntokun
868ac0aca0
revocation: switch to tadge's bit-shifting to figure out log2 instead of using math
2015-12-23 12:12:53 -06:00
Joseph Poon
fc9ebb52f3
Refactor funding request, will separate to multiple files later
2015-12-23 00:08:34 -08:00
Olaoluwa Osuntokun
a4762b818f
Merge branch 'master' of li.lan:labs/plasma
2015-12-22 22:39:28 -06:00
Olaoluwa Osuntokun
882e7640d5
lnwallet: update tests to switch to new workflow
2015-12-22 22:32:18 -06:00
Olaoluwa Osuntokun
d24831dc29
lnwallet: update workflow around contributions
2015-12-22 22:31:17 -06:00
Olaoluwa Osuntokun
e762d328fa
lnwallet: add ChannelContribution, finalize ChannelReservation API/workflow
...
* Final workflow has been greatly simplified.
* Interaction is now:
* init
* add contribution
* complete
2015-12-22 22:30:11 -06:00
Olaoluwa Osuntokun
b606804934
lnwallet: add comments to fields of OpenChannelState
2015-12-22 22:27:33 -06:00
Joseph Poon
55c8710cb9
Minor optimization in script opcodes
2015-12-22 16:45:21 -08:00
Tadge Dryja
fbc5f37d0b
remove dependencies on mathematics
2015-12-21 22:36:28 -05:00
Olaoluwa Osuntokun
36ec5b4927
lnwallet: update tests to AddContribution API change
2015-12-21 15:55:17 -06:00
Olaoluwa Osuntokun
829f67f33e
lnwallet: CompleteReservation now includes sig for commit tx
2015-12-21 15:54:33 -06:00
Olaoluwa Osuntokun
584fc9b620
lnwallet: AddFunds is now AddContribution, accounts for commitment tx
...
* Contribution from remote host necessary to construct the initial
commitment transaction is now also expected
* All message structs and handlers updated accordingly
* AddContribution now also generates both commitment tnxs, and
generates a signature for their version of the commitment transaction
2015-12-21 15:53:34 -06:00
Olaoluwa Osuntokun
e7e546af9a
lnwallet/reservation: fundingLockTime is int64 track their revoke hash
2015-12-21 15:49:57 -06:00
Olaoluwa Osuntokun
d7d569b267
lnwallet: track their current commitment sig in channel state
2015-12-21 15:49:34 -06:00
Olaoluwa Osuntokun
06bad8ba42
revocation: fix integer underflow infinite loop bug in sha chain
...
* `i := toDerive - 1` created an unsigned integer, the last loop
iteration subtracted from zero causing this to underflow creating an
infinite loop
* Instead, initialized `i` as an int, and cast to uint as needed
2015-12-21 15:47:36 -06:00
Olaoluwa Osuntokun
d7fba0e89d
revocation: fix nil pointer panic in shachain constructor
2015-12-21 15:41:23 -06:00
Olaoluwa Osuntokun
b9a6155021
lnwallet: add field to track current out-of-chain revocation hash
2015-12-20 21:48:56 -06:00
Olaoluwa Osuntokun
8cbbba14a4
lnwallet: assume symmetric initial channel balance
2015-12-20 21:48:45 -06:00