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

Rotate taproot swap-in addresses #584

Merged
merged 9 commits into from
Feb 19, 2024
Merged

Rotate taproot swap-in addresses #584

merged 9 commits into from
Feb 19, 2024

Commits on Feb 15, 2024

  1. add meta info to each address

    This meta notably contains the index if the address was
    deterministically generated.
    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    a37fd67 View commit details
    Browse the repository at this point in the history
  2. use multiple swap-in addresses

    We create and monitor a fixed number of different swap-in addresses.
    Peer will choose an empty swap-in addresses if there is one, or a random address if there are none.
    We limit the number of monitored swap-in addresses to avoid hitting resource limits on Electrum servers.
    A few hundred addresses (100 or 200) is a safe limit.
    sstone authored and pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    f57ebb5 View commit details
    Browse the repository at this point in the history
  3. add support for address generator in mini-wallet

    We keep the core logic for watching individual addresses, and just
    generate more when needed.
    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    af3b0dd View commit details
    Browse the repository at this point in the history
  4. move wallets outside of Peer

    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    aaa5070 View commit details
    Browse the repository at this point in the history
  5. make address scanning 'synchronous'

    It's not really synchronous, but we rely the least possible on the
    mailbox. This makes the `window` disappear because we are scanning
    addresses one by one.
    
    Suggested by @sstone.
    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    5a5da63 View commit details
    Browse the repository at this point in the history
  6. minor log fixes

    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    bd7f748 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a23343c View commit details
    Browse the repository at this point in the history
  8. move AddressState/AddressMeta out of Companion object

    It's more consistent with Utxo and makes jvm interop easier.
    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    7b74a3c View commit details
    Browse the repository at this point in the history
  9. review comment from @sstone

    pm47 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    82c0d22 View commit details
    Browse the repository at this point in the history