@@ -6,7 +6,9 @@ from typing import Sequence
|
||||
import asyncio
|
||||
import copy
|
||||
|
||||
from electrum import storage, bitcoin, keystore, bip32, slip39, wallet
|
||||
from electrum import bitcoin, keystore, bip32, slip39, wallet
|
||||
from electrum.wallet_db import WalletDB
|
||||
from electrum.storage import WalletStorage
|
||||
from electrum import SimpleConfig
|
||||
from electrum import util
|
||||
from electrum.address_synchronizer import TX_HEIGHT_UNCONFIRMED, TX_HEIGHT_UNCONF_PARENT, TX_HEIGHT_LOCAL, TX_HEIGHT_FUTURE
|
||||
@@ -35,7 +37,6 @@ class WalletIntegrityHelper:
|
||||
|
||||
gap_limit = 1 # make tests run faster
|
||||
gap_limit_for_change = 1 # make tests run faster
|
||||
# TODO also use short gap limit for change addrs, for performance
|
||||
|
||||
@classmethod
|
||||
def check_seeded_keystore_sanity(cls, test_obj, ks):
|
||||
@@ -53,7 +54,7 @@ class WalletIntegrityHelper:
|
||||
|
||||
@classmethod
|
||||
def create_standard_wallet(cls, ks, *, config: SimpleConfig, gap_limit=None, gap_limit_for_change=None):
|
||||
db = storage.WalletDB('', storage=None, upgrade=True)
|
||||
db = WalletDB('', storage=None, upgrade=True)
|
||||
db.put('keystore', ks.dump())
|
||||
db.put('gap_limit', gap_limit or cls.gap_limit)
|
||||
db.put('gap_limit_for_change', gap_limit_for_change or cls.gap_limit_for_change)
|
||||
@@ -63,7 +64,7 @@ class WalletIntegrityHelper:
|
||||
|
||||
@classmethod
|
||||
def create_imported_wallet(cls, *, config: SimpleConfig, privkeys: bool):
|
||||
db = storage.WalletDB('', storage=None, upgrade=True)
|
||||
db = WalletDB('', storage=None, upgrade=True)
|
||||
if privkeys:
|
||||
k = keystore.Imported_KeyStore({})
|
||||
db.put('keystore', k.dump())
|
||||
@@ -71,10 +72,18 @@ class WalletIntegrityHelper:
|
||||
return w
|
||||
|
||||
@classmethod
|
||||
def create_multisig_wallet(cls, keystores: Sequence, multisig_type: str, *,
|
||||
config: SimpleConfig, gap_limit=None, gap_limit_for_change=None):
|
||||
def create_multisig_wallet(
|
||||
cls,
|
||||
keystores: Sequence,
|
||||
multisig_type: str,
|
||||
*,
|
||||
config: SimpleConfig,
|
||||
storage: WalletStorage | None = None,
|
||||
gap_limit=None,
|
||||
gap_limit_for_change=None,
|
||||
):
|
||||
"""Creates a multisig wallet."""
|
||||
db = storage.WalletDB('', storage=None, upgrade=False)
|
||||
db = WalletDB('', storage=storage, upgrade=False)
|
||||
for i, ks in enumerate(keystores):
|
||||
cosigner_index = i + 1
|
||||
db.put('x%d' % cosigner_index, ks.dump())
|
||||
|
||||
Reference in New Issue
Block a user