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

WIP - DLC and SCT #427

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

WIP - DLC and SCT #427

wants to merge 1 commit into from

Conversation

gudnuf
Copy link

@gudnuf gudnuf commented Oct 29, 2024

Adds support for NUT DLC and NUT SCT.

I've started with the wallet side of the implementation. Also, I added NIP 88 support to the CLI.

That DLC flow can be seen in cdk-cli/src/sub_commands/dlc/mod.rs in the test_full_flow test

I've still got a lot to do, but just wanted to share the progress that I've made so far.

My todo list consists of but not limited to:

  • Move as much wallet logic as I can from the CLI into the actual wallet
  • Fix they types I was too lazy to figure out how to serialize and deserialize (ex. I have lots of String that should be PublicKey)
  • Implement on the mint side
  • error handling

This is also my attempt to learn rust so feedback/criticism much appreciated :D

commit 96e504d
Author: gudnuf <[email protected]>
Date:   Tue Oct 29 15:14:03 2024 -0700

    claim DLC payout

commit d96db76
Author: gudnuf <[email protected]>
Date:   Tue Oct 29 15:12:02 2024 -0700

    add some docs

commit 25fb0f2
Author: gudnuf <[email protected]>
Date:   Sun Oct 27 12:00:53 2024 -0700

    settle the dlc

commit 37ff1da
Author: gudnuf <[email protected]>
Date:   Sun Oct 20 10:02:53 2024 -0700

    fix merge errors

commit 341662e
Author: Damian <[email protected]>
Date:   Sun Oct 20 01:48:48 2024 -0700

    register DLC (#12)

    * implement `POST /v1/dlc/fund`

    * lookup bet by id

    * WIP add witness to proofs

    * added sct witness and some tests, cant figure out how to calculate merkle proof for the sct

    * all changes

    * added missing files

    * change sct types and use `merkle_prove`

    * fixed merkle_prove function and added test to verify correctness

    * add more tests and try to make sct_proof work (#11)

    * fix `DLCRegistrationResponse`

    * change `MINT_URL` to brownduff.rocks

    * clean up logging

    ---------

    Co-authored-by: chris smith <[email protected]>

commit 7f78404
Author: gudnuf <[email protected]>
Date:   Sun Oct 20 02:12:05 2024 -0700

    Squashed commit of the following:

    commit b454a5a
    Merge: 8c989f8 88f1cbc
    Author: chippsmith <[email protected]>
    Date:   Mon Sep 9 18:33:12 2024 +0000

        Merge pull request #9 from gudnuf/sct-funding-proofs

        Sct funding proofs

    commit 8c989f8
    Merge: 4bbbd31 d240e3b
    Author: chippsmith <[email protected]>
    Date:   Mon Sep 9 18:33:02 2024 +0000

        Merge pull request #8 from gudnuf/funding-proofs

        Create funding proofs locked to the well-known `DLC` secret kind

    commit 88f1cbc
    Author: gudnuf <[email protected]>
    Date:   Fri Sep 6 22:14:27 2024 -0700

        implement SCT secrets and add backup_secret to funding token

    commit d240e3b
    Author: chris smith <[email protected]>
    Date:   Fri Sep 6 12:19:05 2024 -0500

        encoded token, returned it to create_bet and added it to UserBet struct

    commit f4867c7
    Author: gudnuf <[email protected]>
    Date:   Thu Sep 5 16:29:42 2024 -0700

        create proofs locked to DLC in `create_funding_token`

    commit a4d5c7b
    Author: gudnuf <[email protected]>
    Date:   Thu Sep 5 15:02:20 2024 -0700

        implement and use `DLCRoot::compute`

    commit 4bbbd31
    Author: gudnuf <[email protected]>
    Date:   Thu Sep 5 13:22:21 2024 -0700

        derive traits needed for `PayoutStructure` to be in `UserBet`

    commit b46f0d3
    Author: chippsmith <[email protected]>
    Date:   Thu Sep 5 20:19:42 2024 +0000

        Update create bet (#6)

        * added tests

        * delete events from relay after testing them

        * generate new keys so Damus doesn't rate limit us

        * added fields to user bet adn added functionality for the user to add the amount he wants to bet and which outcome he wants to bet

        ---------

        Co-authored-by: gudnuf <[email protected]>

    commit 85291dc
    Merge: aba5b7c fb5e396
    Author: Damian <[email protected]>
    Date:   Thu Sep 5 13:19:08 2024 -0700

        Merge pull request #5 from gudnuf/tests

        Adding tests

    commit fb5e396
    Author: gudnuf <[email protected]>
    Date:   Thu Sep 5 13:09:52 2024 -0700

        generate new keys so Damus doesn't rate limit us

    commit dd545a1
    Author: gudnuf <[email protected]>
    Date:   Thu Sep 5 13:07:41 2024 -0700

        delete events from relay after testing them

    commit 94a9902
    Author: chris smith <[email protected]>
    Date:   Wed Sep 4 13:10:28 2024 -0500

        added tests

    commit aba5b7c
    Merge: bd52bd4 cbeaf35
    Author: chippsmith <[email protected]>
    Date:   Wed Sep 4 14:27:24 2024 +0000

        Merge pull request #3 from gudnuf/timeouts

        add timeout leaf to merkle tree

    commit bd52bd4
    Merge: 4fc9127 29d7e20
    Author: chippsmith <[email protected]>
    Date:   Wed Sep 4 14:23:24 2024 +0000

        Merge pull request #4 from gudnuf/delete-dlc-offers

        add `dlc delete-offers <pubkey>`

    commit 29d7e20
    Author: gudnuf <[email protected]>
    Date:   Tue Sep 3 11:10:45 2024 -0700

        add `dlc delete-offers <pubkey>`

    commit cbeaf35
    Author: gudnuf <[email protected]>
    Date:   Tue Sep 3 10:59:58 2024 -0700

        add timeout leaf to merkle tree

    commit 4fc9127
    Merge: 4cf8c17 5df5219
    Author: Damian <[email protected]>
    Date:   Tue Sep 3 10:23:07 2024 -0700

        Merge pull request #2 from gudnuf/dlc-doesntwork-payoutstructs

        `create-bet` and `list-offers`

    commit 5df5219
    Author: gudnuf <[email protected]>
    Date:   Tue Sep 3 10:19:45 2024 -0700

        fix type errors

    commit 2dae210
    Author: gudnuf <[email protected]>
    Date:   Sun Sep 1 16:33:37 2024 -0700

        list dlc offers and start to work on creating payout structures + sigs

    commit ed01d6f
    Author: gudnuf <[email protected]>
    Date:   Sun Sep 1 16:31:24 2024 -0700

        add some tests

    commit a34bb21
    Author: gudnuf <[email protected]>
    Date:   Sat Aug 31 20:33:36 2024 -0700

        add WIP create-bet cmd

    commit 4cf8c17
    Author: chris smith <[email protected]>
    Date:   Fri Aug 30 12:29:35 2024 -0500

        added merkle_verify

    commit a3d32e0
    Author: chris smith <[email protected]>
    Date:   Fri Aug 30 08:52:01 2024 -0500

         added some todos so code would compile with new DLC and SCT kinds

    commit a8764f7
    Author: gudnuf <[email protected]>
    Date:   Thu Aug 29 21:57:57 2024 -0700

        start to sketch out DLC and SCT nuts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant