@pytest.mark.asyncio
async def test_permissioned_burn_happy_flow(token_contract: StarknetContract, uint256: Callable):
    (await token_contract.permissionedMint(recipient=initialized_account, amount=uint256(MINT_AMOUNT)).invoke(caller_address=MINTER_ADDRESS))
    (await token_contract.permissionedBurn(account=initialized_account, amount=uint256(BURN_AMOUNT)).invoke(caller_address=MINTER_ADDRESS))
    expected_balance = uint256(((initial_balances[initialized_account] + MINT_AMOUNT) - BURN_AMOUNT))
    execution_info = (await token_contract.balanceOf(account=initialized_account).call())
    assert (execution_info.result == (expected_balance,))
    execution_info = (await token_contract.totalSupply().call())
    assert (execution_info.result == (uint256(((initial_total_supply + MINT_AMOUNT) - BURN_AMOUNT)),))
@pytest.mark.asyncio
async def test_permissioned_burn_happy_flow(token_contract: StarknetContract, uint256: Callable):
    (await token_contract.permissionedMint(recipient=initialized_account, amount=uint256(MINT_AMOUNT)).invoke(caller_address=MINTER_ADDRESS))
    (await token_contract.permissionedBurn(account=initialized_account, amount=uint256(BURN_AMOUNT)).invoke(caller_address=MINTER_ADDRESS))
    expected_balance = uint256(((initial_balances[initialized_account] + MINT_AMOUNT) - BURN_AMOUNT))
    execution_info = (await token_contract.balanceOf(account=initialized_account).call())
    assert (execution_info.result == (expected_balance,))
    execution_info = (await token_contract.totalSupply().call())
    assert (execution_info.result == (uint256(((initial_total_supply + MINT_AMOUNT) - BURN_AMOUNT)),))