Proxy not working with WBNB.withdraw


Here are:

And here are:

As you can see, I call the swap method of the smart contract with a value of 1 BNB. This method:

  1. receives 1 BNB.
  2. deposits the 1 BNB into the WBNB contract. At this moment, 1 WBNB lies in the proxy.
  3. withdraws the 1 WBNB. At this moment, 1 BNB lies in the proxy.
  4. sends the 1 BNB back to the user.

The transaction seems to fail at the end of step 3.

Moreover, if I directly call the implementation contract, it works.

So the issue seems to be coming specifically from the proxy. But after 10 hours of debugging, I have no idea why this fails…