示例#1
0
文件: api.py 项目: hfeeki/btctxstore
    def add_inputs(self,
                   rawtx,
                   wifs,
                   change_address=None,
                   fee=10000,
                   dont_sign=False):
        """Add sufficient inputs from given <wifs> to cover <rawtx> outputs
        and <fee>. If no <change_address> is given, change will be sent to
        first wif.
        """
        tx = deserialize.tx(rawtx)
        keys = deserialize.keys(self.testnet, wifs)
        fee = deserialize.positive_integer(fee)
        if change_address is not None:
            change_address = deserialize.address(self.testnet, change_address)
        tx = control.add_inputs(self.service,
                                self.testnet,
                                tx,
                                keys,
                                change_address=change_address,
                                fee=fee)

        if not dont_sign:
            tx = control.sign_tx(self.service, self.testnet, tx, keys)

        return serialize.tx(tx)
示例#2
0
    def test_invalid_netcode(self):
        testnet_address = "mgBJ5bG9mQw8mHHcVEJghMamQEXeNLtvpt"
        mainnet_address = "1BTF7gU1EmgasGh85ypacDvsVKg4weZMfz"

        # testnet positive
        address = deserialize.address(True, testnet_address)
        self.assertEqual(testnet_address, address)

        # mainnet positive
        address = deserialize.address(False, mainnet_address)
        self.assertEqual(mainnet_address, address)

        # testnet negative
        def callback():
            deserialize.address(False, testnet_address)

        self.assertRaises(exceptions.InvalidAddress, callback)

        # mainnet negative
        def callback():
            deserialize.address(True, mainnet_address)

        self.assertRaises(exceptions.InvalidAddress, callback)

        # non string testnet
        def callback():
            deserialize.address(False, None)

        self.assertRaises(exceptions.InvalidInput, callback)

        # non string mainnet
        def callback():
            deserialize.address(True, None)

        self.assertRaises(exceptions.InvalidInput, callback)

        # garbage string testnet
        def callback():
            deserialize.address(False, "garbage")

        self.assertRaises(exceptions.InvalidAddress, callback)

        # garbage string mainnet
        def callback():
            deserialize.address(True, "garbage")

        self.assertRaises(exceptions.InvalidAddress, callback)
示例#3
0
 def verify_signature(self, address, signature, hexdata):
     """Verify <signature> of <hexdata> by <address>."""
     try:
         address = deserialize.address(self.testnet, address)
         data = deserialize.binary(hexdata)
         signature = deserialize.signature(signature)
         return control.verify_signature(self.testnet, address,
                                         signature, data)
     except exceptions.InvalidAddress:
         return False
示例#4
0
文件: api.py 项目: hfeeki/btctxstore
 def verify_signature(self, address, signature, hexdata):
     """Verify <signature> of <hexdata> by <address>."""
     try:
         address = deserialize.address(self.testnet, address)
         data = deserialize.binary(hexdata)
         signature = deserialize.signature(signature)
         return control.verify_signature(self.testnet, address, signature,
                                         data)
     except exceptions.InvalidAddress:
         return False
示例#5
0
    def test_invalid_netcode(self):
        testnet_address = "mgBJ5bG9mQw8mHHcVEJghMamQEXeNLtvpt"
        mainnet_address = "1BTF7gU1EmgasGh85ypacDvsVKg4weZMfz"

        # testnet positive
        address = deserialize.address(True, testnet_address)
        self.assertEqual(testnet_address, address)

        # mainnet positive
        address = deserialize.address(False, mainnet_address)
        self.assertEqual(mainnet_address, address)

        # testnet negative
        def callback():
            deserialize.address(False, testnet_address)
        self.assertRaises(exceptions.InvalidAddress, callback)

        # mainnet negative
        def callback():
            deserialize.address(True, mainnet_address)
        self.assertRaises(exceptions.InvalidAddress, callback)

        # non string testnet
        def callback():
            deserialize.address(False, None)
        self.assertRaises(exceptions.InvalidInput, callback)

        # non string mainnet
        def callback():
            deserialize.address(True, None)
        self.assertRaises(exceptions.InvalidInput, callback)

        # garbage string testnet
        def callback():
            deserialize.address(False, "garbage")
        self.assertRaises(exceptions.InvalidAddress, callback)

        # garbage string mainnet
        def callback():
            deserialize.address(True, "garbage")
        self.assertRaises(exceptions.InvalidAddress, callback)
示例#6
0
    def add_inputs(self, rawtx, wifs, change_address=None, fee=10000,
                   dont_sign=False):
        """Add sufficient inputs from given <wifs> to cover <rawtx> outputs
        and <fee>. If no <change_address> is given, change will be sent to
        first wif.
        """
        tx = deserialize.tx(rawtx)
        keys = deserialize.keys(self.testnet, wifs)
        fee = deserialize.positive_integer(fee)
        if change_address is not None:
            change_address = deserialize.address(self.testnet, change_address)
        tx = control.add_inputs(self.service, self.testnet, tx, keys,
                                change_address=change_address, fee=fee)

        if not dont_sign:
            tx = control.sign_tx(self.service, self.testnet, tx, keys)

        return serialize.tx(tx)
示例#7
0
 def callback():
     deserialize.address(False, testnet_address)
示例#8
0
 def validate_address(self, address):  # TODO test
     try:
         deserialize.address(self.testnet, address)
         return True
     except exceptions.InvalidInput:
         return False
示例#9
0
 def callback():
     deserialize.address(True, "garbage")
示例#10
0
 def callback():
     deserialize.address(True, None)
示例#11
0
 def callback():
     deserialize.address(False, "garbage")
示例#12
0
 def validate_address(self, address):  # TODO test
     try:
         deserialize.address(self.testnet, address)
         return True
     except exceptions.InvalidInput:
         return False
示例#13
0
 def callback():
     deserialize.address(False, None)
示例#14
0
 def callback():
     deserialize.address(False, testnet_address)
示例#15
0
文件: api.py 项目: xgess/btctxstore
 def get_transactions(self, address):
     address = deserialize.address(self.testnet, address)
     return self.service.transactions_for_address(address)
示例#16
0
 def callback():
     deserialize.address(True, "garbage")
示例#17
0
 def callback():
     deserialize.address(False, "garbage")
示例#18
0
 def callback():
     deserialize.address(True, None)
示例#19
0
 def callback():
     deserialize.address(False, None)
示例#20
0
 def callback():
     deserialize.address(True, mainnet_address)
示例#21
0
 def callback():
     deserialize.address(True, mainnet_address)
示例#22
0
def address_network(address, testnet):
    try:
        deserialize.address(testnet, address)
        return True
    except exceptions.InvalidInput:
        return False