Ejemplo n.º 1
0
 async def inner_puzzle_for_cc_puzzle(self, cc_hash: bytes32) -> Program:
     record: DerivationRecord = await self.wallet_state_manager.puzzle_store.get_derivation_record_for_puzzle_hash(
         cc_hash.hex())
     inner_puzzle: Program = self.standard_wallet.puzzle_for_pk(
         bytes(record.pubkey))
     return inner_puzzle
    async def get_coin_record_by_coin_id(self, coin_id: bytes32) -> Optional[WalletCoinRecord]:
        """Returns a coin records with the given name, if it exists"""
        cursor = await self.db_connection.execute("SELECT * from coin_record WHERE coin_name=?", (coin_id.hex(),))
        row = await cursor.fetchone()
        await cursor.close()
        if row is None:
            return None

        coin = Coin(bytes32(bytes.fromhex(row[8])), bytes32(bytes.fromhex(row[7])), row[9])
        coin_record = WalletCoinRecord(
            coin, row[1], row[2], row[3], row[4], row[5], row[6], WalletType(row[10]), row[11]
        )
        return coin_record
 async def get_coin_records_by_puzzle_hash(self, puzzle_hash: bytes32) -> List[WalletCoinRecord]:
     """Returns a list of all coin records with the given puzzle hash"""
     coins = set()
     cursor = await self.db_connection.execute("SELECT * from coin_record WHERE puzzle_hash=?", (puzzle_hash.hex(),))
     rows = await cursor.fetchall()
     await cursor.close()
     for row in rows:
         coin = Coin(bytes32(bytes.fromhex(row[8])), bytes32(bytes.fromhex(row[7])), row[9])
         coins.add(
             WalletCoinRecord(coin, row[1], row[2], row[3], row[4], row[5], row[6], WalletType(row[10]), row[11])
         )
     return list(coins)
 async def get_coin_record(self, coin_name: bytes32) -> Optional[WalletCoinRecord]:
     """ Returns CoinRecord with specified coin id. """
     if coin_name in self.coin_record_cache:
         return self.coin_record_cache[coin_name]
     cursor = await self.db_connection.execute("SELECT * from coin_record WHERE coin_name=?", (coin_name.hex(),))
     row = await cursor.fetchone()
     await cursor.close()
     if row is not None:
         coin = Coin(bytes32(bytes.fromhex(row[8])), bytes32(bytes.fromhex(row[7])), row[9])
         return WalletCoinRecord(coin, row[1], row[2], row[3], row[4], row[5], row[6], WalletType(row[10]), row[11])
     return None
Ejemplo n.º 5
0
 async def close_connection(self, node_id: bytes32) -> Dict:
     return await self.fetch("close_connection", {"node_id": node_id.hex()})
 async def get_transaction(self, wallet_id: str, transaction_id: bytes32) -> TransactionRecord:
     res = await self.fetch(
         "get_transaction",
         {"walled_id": wallet_id, "transaction_id": transaction_id.hex()},
     )
     return TransactionRecord.from_json_dict(res["transaction"])