# Upgradable init chainned/unchainned logic

**URL:** <https://forum.openzeppelin.com/t/upgradable-init-chainned-unchainned-logic/45078>\
**Category:** Smart Contracts\
**Tags:** erc1155\
**Created:** [November 23, 2025, 12:27am UTC](https://forum.openzeppelin.com/t/upgradable-init-chainned-unchainned-logic/45078 "2025-11-23T00:27:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![RenanSouza2](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/renansouza2/32/18114_2.png) [@RenanSouza2](https://forum.openzeppelin.com/u/RenanSouza2)\
**Post date:** [November 23, 2025, 12:27am UTC](https://forum.openzeppelin.com/t/upgradable-init-chainned-unchainned-logic/45078/1 "2025-11-23T00:27:12Z")

</div>

Hey guys,

I am reading the Upgradeable versions of the ERC1155 contracts and I saw something that I need some clarifiication

AFAIK the \<….\>\_init\_unchained() function initializes this contract and \<…\>\_init() initializes the contract itself and the inherited contracts, correct me if I’m wrong

The \_\_ERC1155Supply\_init() function doesnt call \_\_ERC1155\_init or \_\_ERC1155\_init\_unchained, by the logic above (if that is correct) it should,

Thanks in advance
