<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def delete_record(type_: str, id: str):
 """ Delete a record from the storage wallet. :param type_: :param id: Example: await Wallet.add_record({ 'id': 'RecordId', 'tags': json.dumps({ 'tag1': 'unencrypted value1', '~encryptedTag', 'this value is encrypted, 'integerTag', 1 }), 'type_': 'TestType', 'value': 'RecordValue' }) await Wallet.delete_record('TestType', 'RecordId') :return: """

        logger = logging.getLogger(__name__)

        if not hasattr(Wallet.delete_record, "cb"):
            logger.debug("vcx_wallet_delete_record: Creating callback")
            Wallet.delete_record.cb = create_cb(CFUNCTYPE(None, c_uint32, c_uint32))

        c_type_ = c_char_p(type_.encode('utf-8'))
        c_id = c_char_p(id.encode('utf-8'))
        result = await do_call('vcx_wallet_delete_record',
                               c_type_,
                               c_id,
                               Wallet.delete_record.cb)

        logger.debug("vcx_wallet_delete_record completed")
        return result