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
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
Olaoluwa Osuntokun
6d006ac79c
lnwallet: sort inputs/outputs in commit tx
2015-12-20 21:47:57 -06:00
Olaoluwa Osuntokun
d3fe04ab9b
lnwallet: add function to locate script index to script_utils.go
2015-12-20 21:47:29 -06:00
Olaoluwa Osuntokun
baf3b70e31
plasma: correct commit with sketch of lnwire.Message interface
2015-12-20 21:47:00 -06:00
Olaoluwa Osuntokun
422f0a9791
revocation: split up methods to get current pre-image and hash
2015-12-20 21:46:41 -06:00
Olaoluwa Osuntokun
34e35fe2d5
lnwallet: set commit tnx related info in ChannelReservation
...
* Future commit will ditch all the thread-safe “getter” like methods.
We’re all adults just make sure to grab the lock.
* All wallet mutation funcs will also document which fields are set
after completion of the request
* Set shaChain, delivery address, commitment key
2015-12-20 17:13:14 -06:00
Olaoluwa Osuntokun
c7d604fd0b
lnwallet: use funcs in script_utils.go
2015-12-20 17:11:21 -06:00
Olaoluwa Osuntokun
30523d7db3
lnwallet: import badge's script utils in new file
2015-12-20 17:10:24 -06:00
Olaoluwa Osuntokun
f52f2fd26c
plamas/peer: just use net.Conn for generality
2015-12-20 17:10:09 -06:00
Olaoluwa Osuntokun
093bbf40ad
lnwallet: track some more stats in channel state
2015-12-20 15:17:13 -06:00
Olaoluwa Osuntokun
d5f36d81c8
plasma: rough draft of peer struct
2015-12-20 15:16:38 -06:00
Olaoluwa Osuntokun
d2e3b376ea
lnwallet: re-name package to lnwallet, though it was?
2015-12-20 00:00:50 -06:00
Olaoluwa Osuntokun
61f5772c40
lnwallet: re-use same wallet instance across tests
...
* btcwallet still rather slow to create/open, due to scrypt derivation
2x?
2015-12-18 21:48:55 -06:00
Olaoluwa Osuntokun
29d381ad21
lnwallet: adapt tests to field changes
2015-12-18 21:47:47 -06:00
Olaoluwa Osuntokun
420e34cc91
lnwallet: forgot some field name changes
2015-12-18 21:43:37 -06:00
Olaoluwa Osuntokun
a689595054
lnwallet: comment out lnwire-like serialization stuff for now
2015-12-18 21:42:49 -06:00
Olaoluwa Osuntokun
2f7a801dcb
lnwallet: embed channel state within ChannelReservation
2015-12-18 21:39:51 -06:00
Olaoluwa Osuntokun
6bb37448f0
lnwallet: add num updates and delivery addresses to channel state
...
* move utility funds to bottom of file
2015-12-18 21:35:40 -06:00
Olaoluwa Osuntokun
6af4aaf71b
lnwallet: separate channel state into new struct
...
* Will be integrated into ChannelReservation also
* This is the struct that will be persisted to disk
2015-12-18 15:37:13 -06:00
Joseph Poon
39b100b865
Serialize Funding Request and script for CLTV-only
2015-12-18 11:29:35 -08:00
Olaoluwa Osuntokun
feb00e04c4
lnwallet: add fun to create initial Commitment Tx
...
* Forgot we assume mal fix, need to go back and update the reservation
workflow
2015-12-16 22:58:49 -06:00
Olaoluwa Osuntokun
48c1c39dc9
lnwallet: add skeleton for LightningChannel
...
* pretty much same as strux/lchannel.go
* Too beefy atm, added note to bring back old CompleteReservation
struct
2015-12-16 22:58:01 -06:00
Olaoluwa Osuntokun
a83dac4e86
revocation: skeleton for possibly needed method?
2015-12-16 22:56:11 -06:00
Olaoluwa Osuntokun
ddb74258ff
lnwallet: import tadge's p2shify func
2015-12-16 22:55:52 -06:00
Olaoluwa Osuntokun
e2c4ccbe28
chaintfns: skeleton of first notifier
2015-12-16 22:55:22 -06:00
Olaoluwa Osuntokun
d9f32db185
empty daemon entry point
2015-12-16 18:42:52 -06:00
Olaoluwa Osuntokun
139e63c9cf
shachain: constructors for remote vs origin
2015-12-16 18:42:07 -06:00
Olaoluwa Osuntokun
ce42741daa
First stab at shachain. Untested. Still doin't really get it...
2015-12-16 18:36:03 -06:00
Olaoluwa Osuntokun
147748d178
rename wallet to lnwallet
2015-12-16 14:51:59 -06:00
Olaoluwa Osuntokun
9de294c31f
add link to explanation
2015-12-16 14:49:01 -06:00
Olaoluwa Osuntokun
f475f6a0f2
Merge branch 'master' of li.lan:labs/plasma
2015-12-16 14:46:42 -06:00
Olaoluwa Osuntokun
69936d694c
revocation: HyperShaChan sounds cooler...
2015-12-16 14:43:59 -06:00
Olaoluwa Osuntokun
1621b8cc99
wallet/wallet_test: test for canceling reservations
2015-12-16 14:41:15 -06:00
Olaoluwa Osuntokun
24efbb46c3
wallet/reservation: Cancel needs to return an error
2015-12-16 14:40:44 -06:00
Olaoluwa Osuntokun
354bc74d3c
Flesh out LightningChannel struct a bit more
...
* p2p logic will only know about this object
* Purposes include storing old commitment txns, receiving them,
triggering p2p actions base off of channelEvents, getting/verifying
revocation hashes, etc
2015-12-16 14:40:11 -06:00
Olaoluwa Osuntokun
07984836e4
Create skeleton for revocation methods
...
* Just rusty’s shachain for now
2015-12-16 14:39:05 -06:00
Olaoluwa Osuntokun
b2522ef75a
Create skeleton for chain notifications
...
* Goal is to backend agnostic source to chain notifications
* Open channels will communicate with this source to register intent
for critical notifications
* Pending notifications will need to be committed to disk.
* Will also need a journal to ensure no notification is missed
* Later goals include extending this to communicate with 3rd party
outsource services
2015-12-16 14:38:21 -06:00
Olaoluwa Osuntokun
dd9552c980
wallet_test: add tests exercising output locking for concurrent safe funding
2015-12-16 13:22:36 -06:00
Olaoluwa Osuntokun
f70027fe76
add SegWit to support channel types
2015-12-16 13:04:51 -06:00
Joseph Poon
51dab18446
Committed the wrong _test file earlier...
2015-12-16 10:57:22 -08:00