def test_sign_and_verify(self):
        unsigned = base64.b64encode('Test Message'.encode())
        keypair = KeyPair(
            public='1869b7ef29d58026217e9cf163cbfbd0de889bdf1bf4daebf5433a312f5b8d6e',
            secret='56b6a77093d6fdf14e593f36275d872d75de5b341942376b2a08759f3cbae78f')

        # Sign message
        signed = async_core_client.crypto.sign(unsigned=unsigned, keys=keypair)
        self.assertEqual(
            '+wz+QO6l1slgZS5s65BNqKcu4vz24FCJz4NSAxef9lu0jFfs8x3PzSZRC+pn5k8+aJi3xYMA3BQzglQmjK3hA1Rlc3QgTWVzc2FnZQ==',
            signed['signed'])
        self.assertEqual(
            'fb0cfe40eea5d6c960652e6ceb904da8a72ee2fcf6e05089cf835203179ff65bb48c57ecf31dcfcd26510bea67e64f3e6898b7c58300dc14338254268cade103',
            signed['signature'])

        # Verify signature
        verified = async_core_client.crypto.verify_signature(
            signed=signed['signed'], public=keypair.public)
        self.assertEqual(unsigned.decode(), verified)
        self.assertEqual(
            base64.b64decode(unsigned), base64.b64decode(verified.encode()))

        with self.assertRaises(TonException):
            async_core_client.crypto.sign(
                unsigned=unsigned, keys=KeyPair(public='1', secret='2'))

        with self.assertRaises(TonException):
            async_core_client.crypto.verify_signature(
                signed='simple', public=keypair.public)
Exemple #2
0
 def setUp(self) -> None:
     self.keypair = KeyPair.load(
         path=os.path.join(SAMPLES_DIR, 'keys_raw.json'), is_binary=False)
     self.target_abi = Abi.from_path(
         path=os.path.join(SAMPLES_DIR, 'DebotTarget.abi.json'))
     with open(os.path.join(SAMPLES_DIR, 'DebotTarget.tvc'), 'rb') as fp:
         self.target_tvc = base64.b64encode(fp.read()).decode()
Exemple #3
0
 def setUp(self) -> None:
     # Events contract params
     self.events_abi = Abi.from_path(
         path=os.path.join(SAMPLES_DIR, 'Events.abi.json'))
     self.keypair = KeyPair(
         public=
         '4c7c408ff1ddebb8d6405ee979c716a14fdd6cc08124107a61d3c25597099499',
         secret=
         'cc8929d635719612a9478b9cd17675a39cfad52d8959e8a177389b8c0b9122a7')
     with open(os.path.join(SAMPLES_DIR, 'Events.tvc'), 'rb') as fp:
         self.events_tvc = base64.b64encode(fp.read()).decode()
     self.events_time = 1599458364291
     self.events_expire = 1599458404
 def open_key(self):
     path_to_file, _ = QFileDialog.getOpenFileName(self, self.tr("Load keys"), self.tr("~/Desktop/"),
                                                   self.tr("Keys (*.keys.json)"))
     key = KeyPair.load(path_to_file,True)
     self.main_key = key
     self.public_key.setText(QCoreApplication.translate("MainWindow", u'public_key: ' + key.public))
Exemple #5
0
 def __callback(result):
     return KeyPair(**result)