Given the account info set by a state-create or state-transition or a token-operation,
        debit the relevant account.
        
        Do not call this directly.

        Return True on success
        Abort on error

def commit_account_credit(self, opcode, account_credit_info, current_block_number, current_vtxindex, current_txid):
        """
        Given the account info set by a state-create or state-transition or a token-operation,
        debit the relevant account.
        
        Do not call this directly.

        Return True on success
        Abort on error
        """
        account_address = account_credit_info['address']
        account_credit = account_credit_info['amount']
        account_token_type = account_credit_info['type']

        if account_address is not None and account_credit is not None and account_token_type is not None:
            # sanity check 
            try:
                assert account_credit >= 0, 'Non-positive account credit {}'.format(account_credit)
                assert self.is_token_type_supported(account_token_type), 'Unsupported token type {}'.format(account_token_type)
            except Exception as e:
                log.exception(e)
                log.fatal("Sanity check failed")
                os.abort()

            # have to debit this account
            cur = self.db.cursor()
            rc = namedb_account_credit(cur, account_address, account_token_type, account_credit, current_block_number, current_vtxindex, current_txid)
            if not rc:
                traceback.print_stack()
                log.fatal("Failed to debit address {} {} {}".format(account_address, account_credit, account_token_type))
                os.abort()

            log.debug("COMMIT CREDIT ACCOUNT {} for {} units of {}(s) for {}".format(account_address, account_credit, account_token_type, opcode))

        return True