Esempio n. 1
0
 def get_pk(address):
     address = Address.from_string(address)
     return self.wallet.export_private_key(address, password)
Esempio n. 2
0
 def freeze(self, address):
     """Freeze address. Freeze the funds at one of your wallet\'s addresses"""
     address = Address.from_string(address)
     return self.wallet.set_frozen_state([address], True)
Esempio n. 3
0
 def unfreeze(self, address):
     """Unfreeze address. Unfreeze the funds at one of your wallet\'s address"""
     address = Address.from_string(address)
     return self.wallet.set_frozen_state([address], False)
Esempio n. 4
0
 def getaddressunspent(self, address):
     """Returns the UTXO list of any address. Note: This
     is a walletless server query, results are not checked by SPV.
     """
     sh = scripthash_hex(Address.from_string(address))
     return self.network.request_and_wait('blockchain.scripthash.listunspent', [sh])
Esempio n. 5
0
 def getpubkeys(self, account_id: int, address: str):
     """Return the public keys for a wallet address. """
     address = Address.from_string(address)
     wallet = self.parent_wallet.get_wallet_for_account(account_id)
     return wallet.get_public_keys(address)
Esempio n. 6
0
 def signmessage(self, address, message, password=None):
     """Sign a message with a key. Use quotes if your message contains
     whitespaces"""
     address = Address.from_string(address)
     sig = self.wallet.sign_message(address, message, password)
     return base64.b64encode(sig).decode('ascii')
Esempio n. 7
0
            "tx_hash":
            "3f5a1badfe1beb42b650f325b20935f09f3ab43a3c473c5be18f58308fc7eff1",
            "tx_pos": 3,
        },
    ],
}

result_S = ([
    UTXO(value=45318048,
         script_pubkey=Script.from_hex(
             '76a914cb3e86e38ce37d5add87d3da753adc04a04bf60c88ac'),
         tx_hash=
         '9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf',
         out_index=0,
         height=437146,
         address=Address.from_string('1KXf5PUHNaV42jE9NbJFPKhGGN1fSSGJNK'),
         is_coinbase=False)
], {
    XPublicKey('04e7dd15b4271f8308ff52ad3d3e472b652e78a2c5bc6ed10250a543d28c0128894ae863d086488e6773c4589be93a1793f685dd3f1e8a1f1b390b23470f7d1095'):
    (b'\x98\xe3\x15\xc3%j\x97\x17\xd4\xdd\xea0\xeb*\n-V\xa1d\x93yN\xb0SSf\xea"\xd8i\xa3 ',
     False),
    XPublicKey('03e7dd15b4271f8308ff52ad3d3e472b652e78a2c5bc6ed10250a543d28c012889'):
    (b'\x98\xe3\x15\xc3%j\x97\x17\xd4\xdd\xea0\xeb*\n-V\xa1d\x93yN\xb0SSf\xea"\xd8i\xa3 ',
     True),
    XPublicKey('fd76a914cb3e86e38ce37d5add87d3da753adc04a04bf60c88ac'):
    (b'\x98\xe3\x15\xc3%j\x97\x17\xd4\xdd\xea0\xeb*\n-V\xa1d\x93yN\xb0SSf\xea"\xd8i\xa3 ',
     False),
    XPublicKey('fd76a9142af9bdc179471526aef15781b00ab6ebd162a45888ac'):
    (b'\x98\xe3\x15\xc3%j\x97\x17\xd4\xdd\xea0\xeb*\n-V\xa1d\x93yN\xb0SSf\xea"\xd8i\xa3 ',
     True),
})
Esempio n. 8
0
def test_xpubkey_to_address():
    privkey = PrivateKey.from_random()
    public_key = privkey.public_key
    x_pubkey = 'fd' + public_key.P2PKH_script().to_hex()
    assert xpubkey_to_address(x_pubkey) == (
        x_pubkey, Address.from_string(public_key.to_address().to_string()))
Esempio n. 9
0
 def test_address(self):
     assert mpubkey.to_address(network=Bitcoin) == Address.from_string(
         '1ENCpq6mbb1KYcaodGG7eTpSpYvPnDjFmU', Bitcoin)
Esempio n. 10
0
 def import_addr(addr):
     if wallet.import_address(Address.from_string(addr)):
         return addr
     return ''
Esempio n. 11
0
 def test_get_addresses(self):
     assert imported_keystore.get_addresses() == [
         Address.from_string(addr)
         for addr in ('1KXf5PUHNaV42jE9NbJFPKhGGN1fSSGJNK',
                      '1LoVGDgRs9hTfTNJNuXKSpywcbdvwRXpmK')
     ]
Esempio n. 12
0
    COIN = BitcoinTestnet
    BIP44_COIN_TYPE = 1


class _CurrentNetMeta(type):
    def __getattr__(cls, attr):
        return getattr(cls._net, attr)


class Net(metaclass=_CurrentNetMeta):

    _net = SVTestnet


SPENDABLE_UTXOS = [
    UTXO(address=Address.from_string('miz93i75XiTdnvzkU6sDddvGcCr4ZrCmou',
                                     Net.COIN),
         is_coinbase=False,
         out_index=0,
         script_pubkey=Script(
             b'v\xa9\x14&\x0c\x95\x8e\x81\xc8o\xe3.\xc3\xd4\x1d7\x1cy'
             b'\x0e\xed\x9a\xb4\xf3\x88\xac'),
         tx_hash=hex_str_to_hash(
             '76d5bfabe40ca6cbd315b04aa24b68fdd8179869fd1c3501d5a88a980c61c1bf'
         ),
         value=100000,
         script_type=ScriptType.P2PKH,
         keyinstance_id=0,
         flags=TransactionOutputFlag.NONE),
    UTXO(address=Address.from_string('msccMGHunfHANQWXMZragRggHMkJaBWSFr',
                                     Net.COIN),
         is_coinbase=False,
Esempio n. 13
0
 def test_parse_xpub(self):
     res = XPublicKey('fe4e13b0f311a55b8a5db9a32e959da9f011b131019d4cebe6141b9e2c93edcbfc0954c358b062a9f94111548e50bde5847a3096b8b7872dcffadb0e9579b9017b01000200').to_address()
     assert res == Address.from_string('19h943e4diLc68GXW7G75QNe2KWuMu7BaJ')
Esempio n. 14
0
 def getrequest(self, key):
     """Return a payment request"""
     r = self.wallet.get_payment_request(Address.from_string(key), self.config)
     if not r:
         raise Exception("Request not found")
     return self._format_request(r)
Esempio n. 15
0
 def ismine(self, address):
     """Check if address is in wallet. Return true if and only address is in wallet"""
     address = Address.from_string(address)
     return self.wallet.is_mine(address)
Esempio n. 16
0
def is_address_valid(address):
    try:
        Address.from_string(address)
        return True
    except ValueError:
        return False
Esempio n. 17
0
 def getpubkeys(self, address):
     """Return the public keys for a wallet address. """
     address = Address.from_string(address)
     return self.wallet.get_public_keys(address)
Esempio n. 18
0
 def unfreeze(self, account_id: int, address: str):
     """Unfreeze address. Unfreeze the funds at one of your wallet\'s address"""
     address = Address.from_string(address)
     wallet = self.parent_wallet.get_wallet_for_account(account_id)
     return wallet.set_frozen_state([address], False)
Esempio n. 19
0
 def _parse_address(self, line):
     address = self._parse_address_text(line)
     return Address.from_string(address)
Esempio n. 20
0
 def ismine(self, account_id: int, address: str) -> bool:
     """Check if address is in wallet. Return true if and only address is in wallet"""
     address = Address.from_string(address)
     wallet = self.parent_wallet.get_wallet_for_account(account_id)
     return wallet.is_mine(address)
Esempio n. 21
0
def address_from_string(address):
    return Address.from_string(address, Net.COIN)
Esempio n. 22
0
 def getaddresshistory(self, address):
     """Return the transaction history of any address. Note: This is a
     walletless server query, results are not checked by SPV.
     """
     sh = scripthash_hex(Address.from_string(address))
     return self.network.request_and_wait('blockchain.scripthash.get_history', [sh])