Problema con un ERC-20 upgradeable

¡Hola a todos!

Estoy necesitando una ayudita con algo super importante.
Estoy usando truffle suite, en mi Smart contract estoy usando el paquete openzeppeling-truffle upgradeable proxy para un ERC-20

Cuando pruebo tal cual como los tutoriales donde almaceno una variable y la edito en dos versiones de contratos diferentes, el valor de dicha variable se mantiene guardada en el proxy contract, como debería ser, hasta ahi todo bien.
Pero cuando hago el mismo ejercicio con un mapping de address con balances, y hago operaciones de Transfer del token, en la primera versión del contrato todo funciona bien, pero una vez le hago upgrade a una versión 2, los valores de los balances se vuelven a reiniciar, cómo si se repitiera la función initialize de nuevo cuando hago el deploy del contrato con la función upgradeproxy, no he podido saber por qué jajajajaja.
Ah bueno y probé de dos formas, poniéndolo cómo herencia de "is Erc20upgradeable" y también sin esa herencia, y pasa lo mismo.

Estaría encantado de que alguien pudiera ayudarme.

Hi, welcome to the community! :wave:

Please speak English.

Maybe you can look at these docs for Upgrades - OpenZeppelin Docs