Beispiel #1
0
    def test_7_import_token(self):

        wallet = self.GetWallet1()

        token_hash = b'31730cc9a1844891a3bafd1aa929a4142860d8d3'
        contract = Blockchain.Default().GetContract(token_hash)

        token = NEP5Token(binascii.hexlify(contract.Code.Script))
        token.Query()

        self.assertEqual(token.name, 'NEX Template V4')
        self.assertEqual(token.decimals, 8)
        self.assertEqual(token.symbol, 'NXT4')

        wallet.AddNEP5Token(token)

        wallet = self.GetWallet1(recreate=True)  # re-open wallet

        self.assertEqual(len(wallet.GetTokens()), 1)

        wallet.DeleteNEP5Token(token.ScriptHash)

        wallet = self.GetWallet1(recreate=True)  # re-open wallet

        self.assertEqual(len(wallet.GetTokens()), 0)
Beispiel #2
0
    def test_7_import_token(self):

        wallet = self.GetWallet1()

        token_hash = b'f8d448b227991cf07cb96a6f9c0322437f1599b9'
        contract = Blockchain.Default().GetContract(token_hash)

        token = NEP5Token(binascii.hexlify(contract.Code.Script))
        token.Query()

        self.assertEqual(token.name, 'NEP5 Standard')
        self.assertEqual(token.decimals, 8)
        self.assertEqual(token.symbol, 'NEP5')

        wallet.AddNEP5Token(token)

        wallet = self.GetWallet1(recreate=True)  # re-open wallet

        self.assertEqual(len(wallet.GetTokens()), 1)

        wallet.DeleteNEP5Token(token.ScriptHash)

        wallet = self.GetWallet1(recreate=True)  # re-open wallet

        self.assertEqual(len(wallet.GetTokens()), 0)
Beispiel #3
0
    def LoadNEP5Tokens(self):
        tokens = {}

        for db_token in NEP5Token.select():
            token = WalletNEP5Token.FromDBInstance(db_token)
            tokens[token.ScriptHash.ToBytes()] = token

        return tokens
def get_nep5token_id(contract_hash):
    hash_ar = bytearray(binascii.unhexlify(contract_hash))
    hash_ar.reverse()
    hash = UInt160(data=hash_ar)
    token = NEP5Token()
    token.SetScriptHash(hash)
    # token.symbol = "TNC"
    token.decimals = 8

    return token
 def DeserializePayload(self, reader):
     if self.event_type in [SmartContractEvent.CONTRACT_CREATED, SmartContractEvent.CONTRACT_MIGRATED]:
         self.contract = ContractState()
         self.contract.Deserialize(reader)
         try:
             from neo.Wallets.NEP5Token import NEP5Token
             token = NEP5Token(binascii.hexlify(self.contract.Code.Script))
             token.Deserialize(reader)
             self.token = token
         except Exception as e:
             logger.debug("Couldnt deserialize token %s " % e)
Beispiel #6
0
    def DetermineIsNEP5(self):
        """
        Determines if this Smart contract is an NEP5 Token or not.
        Returns:
            bool
        """
        from neo.Wallets.NEP5Token import NEP5Token

        self._is_nep5 = False
        token = NEP5Token(binascii.hexlify(self.Code.Script))
        if token.Query():
            self._nep_token = token
            self._is_nep5 = True
        return self._is_nep5
Beispiel #7
0
def DeleteToken(wallet, contract_hash):

    contract = Blockchain.Default().GetContract(contract_hash)

    if contract:
        hex_script = binascii.hexlify(contract.Code.Script)
        token = NEP5Token(script=hex_script)

        success = wallet.DeleteNEP5Token(token)

        if success:
            print("Deleted token %s " % contract_hash)

        else:
            print("error deleting token %s " % contract_hash)
    else:
        print("Contract %s not found " % contract_hash)

    return False
Beispiel #8
0
def ImportToken(wallet, contract_hash):
    if wallet is None:
        print("please open a wallet")
        return False

    contract = Blockchain.Default().GetContract(contract_hash)

    if contract:
        hex_script = binascii.hexlify(contract.Code.Script)
        token = NEP5Token(script=hex_script)

        result = token.Query()

        if result:

            wallet.AddNEP5Token(token)
            print("added token %s " % json.dumps(token.ToJson(), indent=4))

        else:

            print("Could not import token")