def get_pk(address): address = Address.from_string(address) return self.wallet.export_private_key(address, password)
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)
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)
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])
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)
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')
"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), })
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()))
def test_address(self): assert mpubkey.to_address(network=Bitcoin) == Address.from_string( '1ENCpq6mbb1KYcaodGG7eTpSpYvPnDjFmU', Bitcoin)
def import_addr(addr): if wallet.import_address(Address.from_string(addr)): return addr return ''
def test_get_addresses(self): assert imported_keystore.get_addresses() == [ Address.from_string(addr) for addr in ('1KXf5PUHNaV42jE9NbJFPKhGGN1fSSGJNK', '1LoVGDgRs9hTfTNJNuXKSpywcbdvwRXpmK') ]
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,
def test_parse_xpub(self): res = XPublicKey('fe4e13b0f311a55b8a5db9a32e959da9f011b131019d4cebe6141b9e2c93edcbfc0954c358b062a9f94111548e50bde5847a3096b8b7872dcffadb0e9579b9017b01000200').to_address() assert res == Address.from_string('19h943e4diLc68GXW7G75QNe2KWuMu7BaJ')
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)
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)
def is_address_valid(address): try: Address.from_string(address) return True except ValueError: return False
def getpubkeys(self, address): """Return the public keys for a wallet address. """ address = Address.from_string(address) return self.wallet.get_public_keys(address)
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)
def _parse_address(self, line): address = self._parse_address_text(line) return Address.from_string(address)
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)
def address_from_string(address): return Address.from_string(address, Net.COIN)
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])