コード例 #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
ファイル: deserialize.py プロジェクト: xgess/btctxstore
    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
ファイル: api.py プロジェクト: StorjOld/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
コード例 #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
ファイル: deserialize.py プロジェクト: F483/btctxstore
    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
ファイル: api.py プロジェクト: StorjOld/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)
コード例 #7
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(False, testnet_address)
コード例 #8
0
ファイル: api.py プロジェクト: littleskunk/btctxstore
 def validate_address(self, address):  # TODO test
     try:
         deserialize.address(self.testnet, address)
         return True
     except exceptions.InvalidInput:
         return False
コード例 #9
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(True, "garbage")
コード例 #10
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(True, None)
コード例 #11
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(False, "garbage")
コード例 #12
0
ファイル: api.py プロジェクト: robertsdotpm/btctxstore
 def validate_address(self, address):  # TODO test
     try:
         deserialize.address(self.testnet, address)
         return True
     except exceptions.InvalidInput:
         return False
コード例 #13
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(False, None)
コード例 #14
0
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 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
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 def callback():
     deserialize.address(True, "garbage")
コード例 #17
0
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 def callback():
     deserialize.address(False, "garbage")
コード例 #18
0
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 def callback():
     deserialize.address(True, None)
コード例 #19
0
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 def callback():
     deserialize.address(False, None)
コード例 #20
0
ファイル: deserialize.py プロジェクト: xgess/btctxstore
 def callback():
     deserialize.address(True, mainnet_address)
コード例 #21
0
ファイル: deserialize.py プロジェクト: F483/btctxstore
 def callback():
     deserialize.address(True, mainnet_address)
コード例 #22
0
ファイル: validate.py プロジェクト: xgess/btctxstore
def address_network(address, testnet):
    try:
        deserialize.address(testnet, address)
        return True
    except exceptions.InvalidInput:
        return False