Beispiel #1
0
    def test_update_token_metadata(self):
        alice_xmss = get_alice_xmss()
        bob_xmss = get_bob_xmss()

        token_transaction = get_token_transaction(alice_xmss, bob_xmss)
        TokenMetadata.create_token_metadata(self.state, token_transaction,
                                            None)

        transfer_token_transaction = TransferTokenTransaction.create(
            token_txhash=token_transaction.txhash,
            addrs_to=[alice_xmss.address],
            amounts=[100000000],
            fee=1,
            xmss_pk=bob_xmss.pk)

        TokenMetadata.update_token_metadata(self.state,
                                            transfer_token_transaction, None)

        token_metadata = TokenMetadata.get_token_metadata(
            self.state, token_transaction.txhash)
        self.assertEqual(len(token_metadata.transfer_token_tx_hashes), 2)
        self.assertEqual(token_metadata.transfer_token_tx_hashes[0],
                         token_transaction.txhash)
        self.assertEqual(token_metadata.transfer_token_tx_hashes[1],
                         transfer_token_transaction.txhash)
Beispiel #2
0
 def test_get_token_metadata(self):
     token_txhash = bytes(sha2_256(b'alpha'))
     token_metadata = TokenMetadata.create(
         token_txhash,
         [bytes(sha2_256(b'delta')),
          bytes(sha2_256(b'gamma'))])
     self.state._db.get_raw = MagicMock(
         return_value=token_metadata.serialize())
     self.assertEqual(
         TokenMetadata.get_token_metadata(self.state,
                                          token_txhash).to_json(),
         token_metadata.to_json())
Beispiel #3
0
    def test_create_token_metadata(self):
        alice_xmss = get_alice_xmss()
        bob_xmss = get_bob_xmss()

        token_transaction = get_token_transaction(alice_xmss, bob_xmss)
        TokenMetadata.create_token_metadata(self.state, token_transaction,
                                            None)

        token_metadata = TokenMetadata.get_token_metadata(
            self.state, token_transaction.txhash)
        self.assertEqual(token_metadata.token_txhash, token_transaction.txhash)
        self.assertEqual(token_metadata.transfer_token_tx_hashes[0],
                         token_transaction.txhash)
Beispiel #4
0
    def get_token_metadata(self, token_txhash: bytes):
        try:
            json_data = self._db.get_raw(b'token_' + token_txhash)
            return TokenMetadata.from_json(json_data)
        except KeyError:
            pass
        except Exception as e:
            logger.error('[get_token_metadata] %s', e)

        return None
Beispiel #5
0
    def get_token_metadata(db, state_code, token_txhash: bytes):
        try:
            json_data = db.get_raw(state_code + b'token_' + token_txhash)
            return TokenMetadata.from_json(json_data)
        except KeyError:
            pass
        except Exception as e:
            logger.error('[get_token_metadata] %s', e)

        return None
Beispiel #6
0
 def test_get_token_metadata(self):
     with set_qrl_dir('no_data'):
         with State() as state:
             token_txhash = bytes(sha2_256(b'alpha'))
             token_metadata = TokenMetadata.create(
                 token_txhash,
                 [bytes(sha2_256(b'delta')),
                  bytes(sha2_256(b'gamma'))])
             state._db.get_raw = MagicMock(
                 return_value=token_metadata.to_json())
             self.assertEqual(
                 state.get_token_metadata(token_txhash).to_json(),
                 token_metadata.to_json())
Beispiel #7
0
    def test_remove_token_metadata(self):
        alice_xmss = get_alice_xmss()
        bob_xmss = get_bob_xmss()

        token_tx = get_token_transaction(alice_xmss, bob_xmss)
        TokenMetadata.create_token_metadata(self.state, token_tx, None)

        token_metadata = TokenMetadata.get_token_metadata(
            self.state, token_tx.txhash)
        self.assertEqual(token_metadata.token_txhash, token_tx.txhash)
        TokenMetadata.remove_token_metadata(self.state, token_tx, None)
        self.assertIsNone(
            TokenMetadata.get_token_metadata(self.state, token_tx.txhash))
Beispiel #8
0
 def create_token_metadata(self, token: TokenTransaction):
     token_metadata = TokenMetadata.create(
         token_txhash=token.txhash, transfer_token_txhashes=[token.txhash])
     self._db.put_raw(b'token_' + token.txhash,
                      token_metadata.to_json().encode())
Beispiel #9
0
 def update_token_metadata(self, token_metadata: TokenMetadata,
                           transfer_token: TransferTokenTransaction):
     token_metadata.update([transfer_token.txhash])
     self._db.put_raw(
         self.state_code + b'token_' + transfer_token.token_txhash,
         token_metadata.to_json().encode())
Beispiel #10
0
 def get_token_metadata(self, token_txhash: bytes):
     json_data = self._db.get_raw(b'token_'+token_txhash)
     return TokenMetadata.from_json(json_data)
Beispiel #11
0
 def create_token_metadata(self, token: TokenTransaction):
     token_metadata = TokenMetadata.create(token_txhash=token.txhash, transfer_token_txhashes=[token.txhash])
     self._db.put_raw(b'token_' + token.txhash,
                      token_metadata.to_json().encode())
Beispiel #12
0
 def get_token_metadata(self, token_txhash: bytes):
     json_data = self._db.get_raw(b'token_' + token_txhash)
     return TokenMetadata.from_json(json_data)