예제 #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)
예제 #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())
예제 #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)
예제 #4
0
파일: State.py 프로젝트: som-dev/QRL
    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
예제 #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
예제 #6
0
파일: test_State.py 프로젝트: grx7/QRL
 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())
예제 #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))
예제 #8
0
파일: State.py 프로젝트: som-dev/QRL
 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())
예제 #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())
예제 #10
0
파일: State.py 프로젝트: pir8aye/QRL
 def get_token_metadata(self, token_txhash: bytes):
     json_data = self._db.get_raw(b'token_'+token_txhash)
     return TokenMetadata.from_json(json_data)
예제 #11
0
파일: State.py 프로젝트: fanff/QRL
 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())
예제 #12
0
파일: State.py 프로젝트: fanff/QRL
 def get_token_metadata(self, token_txhash: bytes):
     json_data = self._db.get_raw(b'token_' + token_txhash)
     return TokenMetadata.from_json(json_data)