Olaoluwa Osuntokun
27e6839060
lnwallet: publicly export constructor for LightningChannel
2016-06-21 13:13:18 -07:00
Olaoluwa Osuntokun
507520cda9
lnwallet: move channelState from channeldb to channel.go
2016-06-21 13:13:14 -07:00
Olaoluwa Osuntokun
fcff17c336
multi: change all imports to roasbeef's forks
...
This commit will allow the general public to build lnd without jumping
through hoops setting up their local git branches nicely with all of
our forks.
2016-05-15 17:22:37 +03:00
Olaoluwa Osuntokun
eeb2887fe9
lnwallet: segwit-ify all scripts and signing utils
2016-05-03 20:06:39 -07:00
Olaoluwa Osuntokun
1e35018e89
lnwallet: fix compile errors against btcd's segwit branch
2016-04-12 21:37:08 -07:00
Olaoluwa Osuntokun
4b16763f4d
lnwallet: update channel.go to new OpenChannel fields
...
Simply to compile, channel.go will be replaced with lnstate soon
enough.
2016-03-24 00:00:59 -07:00
Tadge Dryja
0d3639435f
can sync with segnet in hard mode
...
lots of changes but they seem to work
2016-02-15 22:13:17 -08:00
Olaoluwa Osuntokun
ab16933575
lnwallet: commit tx should have final sequence num
2016-02-05 20:24:32 -08:00
Olaoluwa Osuntokun
81a4887d11
lnwallet: move lockTimeToSequence to script_utils.go
2016-02-05 20:24:17 -08:00
Olaoluwa Osuntokun
fa05ee9a22
lnwallet: move pubKey comparison for funding output spend into spendMultiSig func
...
* This change makes the spendMultiSig function testable independent of
the reservation workflow.
2016-02-05 12:33:22 -08:00
Olaoluwa Osuntokun
0ce4fb1294
lnwallet: properly set transaction version on commit txs
2016-02-03 12:01:44 -08:00
Tadge Dryja
2815afebb7
update imports to github
2016-01-16 10:45:54 -08:00
Olaoluwa Osuntokun
07b0d5ca3e
lnwallet: once the reservation workflow is complete, wait then open the payment channel
...
* Hooks into the ChainNotifier infrastructure to receive a notification
once the funding transaction gets enough notifications.
* Still need to set up the notification grouting within a
LightningChannel to watch for uncooperative closures, and broadcasts
and revoked channel states.
2016-01-14 23:58:04 -08:00
Olaoluwa Osuntokun
f52b8370bc
lnwallet: populate the update totem during channel initialization
2016-01-14 23:56:11 -08:00
Olaoluwa Osuntokun
27744a3582
lnwallet: add logic for adding/removing HTLCs
...
* Updates to the channel are made atomic, and consistent via a proxy
object: “ChannelUpdate” which encapsulates an update transaction. Only
one update transaction may be outstanding at any time.
* Update transactions are initiated via AddHTLC or SettleHTLC.
* Once a transaction has been begun, in order to complete the update
the transaction must first be presented with a signature from the
counter-party for our new version of the commitment tx
(VerifyNewCommitmentSigs), and finally to atomically commit the
transaction, the counterparty’s pre-image to their previous revocation
hash must be validate (Commit).
2016-01-14 23:56:10 -08:00
Olaoluwa Osuntokun
895d70e79f
lnwallet: add funding tx p2sh output to lnchannel
...
* Allows for quick access to the pkScript when signing new commitment
transactions.
2016-01-14 23:56:10 -08:00
Olaoluwa Osuntokun
3fe82f475f
lnwallet: correctly adjust cleared funds during AddHTLC
...
* When adding an HTLC, the update to settled balances are to the side
sending the HTLC.
2016-01-14 23:56:10 -08:00
Olaoluwa Osuntokun
1772108544
lnwallet: start of HTLC update logic
...
* moved sorting of transaction outside of createCommitTx also us to add
HTLC’s before sorting
* On the fence about the proxy object design, will re-visit once we
start to implement the p2p code.
2016-01-14 23:56:09 -08:00
Olaoluwa Osuntokun
5a7b98a9e4
lnwallet: remove CLTV funding tx gen
2016-01-14 23:56:09 -08:00
Olaoluwa Osuntokun
41f4992218
lnwallet: add utils to generate HTLC scripts, split up commit output scripts
2016-01-14 23:56:08 -08:00
Olaoluwa Osuntokun
7648fee903
lnwallet: note to future roasbeef
2015-12-29 00:00:29 -06:00
Olaoluwa Osuntokun
ef7a2aa553
lnwallet: properly set sequence number in tx for CSV usage
2015-12-29 00:00:29 -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
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
07646d05db
move channel state struct to channeldb.go
...
* All fields are now publicly exported
2015-12-24 12:41:15 -06:00
Olaoluwa Osuntokun
a4762b818f
Merge branch 'master' of li.lan:labs/plasma
2015-12-22 22:39:28 -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
Olaoluwa Osuntokun
d7d569b267
lnwallet: track their current commitment sig in channel state
2015-12-21 15:49:34 -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
c7d604fd0b
lnwallet: use funcs in script_utils.go
2015-12-20 17:11:21 -06:00
Olaoluwa Osuntokun
093bbf40ad
lnwallet: track some more stats in channel state
2015-12-20 15:17:13 -06:00
Olaoluwa Osuntokun
d2e3b376ea
lnwallet: re-name package to lnwallet, though it was?
2015-12-20 00:00:50 -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
ddb74258ff
lnwallet: import tadge's p2shify func
2015-12-16 22:55:52 -06:00
Olaoluwa Osuntokun
147748d178
rename wallet to lnwallet
2015-12-16 14:51:59 -06:00