Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

We shouldn't use hardcoded values here #19

Open
wants to merge 7 commits into
base: geewalletLightningMilestone4
Choose a base branch
from

Commits on Nov 13, 2020

  1. DotNetLightning.Kiss fork

    - LICENSE: change from MIT to AGPL (.Kiss fork)
    - Change package name suffix from .Core to .Kiss
    (skipping native build)
    knocte committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    bd268cd View commit details
    Browse the repository at this point in the history
  2. Mono-hop unidirectional payments

    canndrew authored and knocte committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    151599c View commit details
    Browse the repository at this point in the history
  3. Implement revocation (nblockchain#11)

    This commit adds the following:
    
    * getFundsFromForceClosingTransaction
    
    This function takes an on-chain transaction which spends the channel
    funds and tries to extract spendable utxos out of it. If successful, it
    returns a TransactionBuilder with txins added for each spendable output
    of the closing transaction and with the necessary keys and
    BuilderExtension added. To recover funds from a broadcast commitment
    transaction you just need to call this function, add outputs to the
    returned TransactionBuilder to send the money where you want it to go,
    then broadcast the transaction.
    
    * CommitmentToLocalBuilderExtension
    
    This is an NBitcoin BuilderExtension that tells TransactionBuilder how
    to recognise and sign lightning commitment transaction to_local outputs.
    getFundsFromForceClosingTransaction adds this extension to the
    TransactionBuilder it returns if it's needed to sign the transaction.
    
    * SeqConsumer
    
    A computation expression which makes it easy to write code that consumes
    a sequence one element at a time.
    
    * OptionCE
    
    A computation expression for creation options. Similar to the result
    computation expression.
    canndrew authored and knocte committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    df5fbc7 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2020

  1. Prevent possible F#4.0 issue

    It seems that these attributes can cause this compilation error in F#4.0:
    error FS0927: The kind of the type specified by its attributes does not match the kind implied by its definition
    
    Newer versions of F# (like 4.5 or even newer, like the one being used
    by .NETCore to build the binary that is later published in nuget) allow
    compiling this code with no issues, but if you reference the generated
    assembly later from an old F# compiler, it could generate exceptions at
    runtime, e.g.: System.BadFormatImageException (or other types) whose
    inner exception could be the following:
    
    System.TypeLoadException : Could not load type of field 'GWallet.Backend.UtxoCoin.Lightning.SerializedChannel:MinSafeDepth@' (6) due to: Expected reference type but got type kind 17
    
    FSharp.Core's Result type is also affected by this so in this commit we
    create a replacement for it that is only used in the BouncyCastle build
    (which we now rename as 'Portability' build).
    
    Forward-ported from a4a59d0
    
    Co-authored-by: Andres G. Aragoneses <knocte@gmail.com>
    Co-authored-by: Andrew Cann <shum@canndrew.org>
    3 people committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    bb0ecb4 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2020

  1. Re-add txout shuffling work-around (nblockchain#13)

    This NBitcoin issue: MetacoSA/NBitcoin#931
    somehow still hasn't been fixed properly (our geewallet CI still encounters it,
    surprisingly).
    
    So let's reapply the workaround[1] that we had removed[2].
    
    [1] joemphilips@d813a97
    [2] joemphilips@256893c
    canndrew committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    8be2dcd View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2020

  1. Create a function to make penalty Tx

    In this commit, we add a function to prepare a Punishment Tx for later
    broadcasting incase of illegal broadcasting of a revoked transaction.
    aarani authored and knocte committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    f0a3778 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2020

  1. Channel/CommitmentsModule: avoid hardcoding values

    This code assumes that the person who broadcasted
    the commitment transaction is always the funder and
    the person who is trying to spend the broadcasted
    remote commitment is always the fundee.
    This passed geewallet CI tests because that's
    the only case we test in geewallet end-to-end tests.
    aarani committed Dec 12, 2020
    Configuration menu
    Copy the full SHA
    e8f530d View commit details
    Browse the repository at this point in the history