# Import RC2771ContextUpgradeable - \_\_ERC2771Context\_init() undeclared identifier

**URL:** <https://forum.openzeppelin.com/t/import-rc2771contextupgradeable-erc2771context-init-undeclared-identifier/26960>\
**Category:** Support\
**Created:** [March 29, 2022, 8:12am UTC](https://forum.openzeppelin.com/t/import-rc2771contextupgradeable-erc2771context-init-undeclared-identifier/26960 "2022-03-29T08:12:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eric\_Ryu](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/eric_ryu/32/14162_2.png) [@Eric\_Ryu](https://forum.openzeppelin.com/u/Eric_Ryu)\
**Post date:** [March 29, 2022, 8:12am UTC](https://forum.openzeppelin.com/t/import-rc2771contextupgradeable-erc2771context-init-undeclared-identifier/26960/1 "2022-03-29T08:12:49Z")

</div>

I am developing an ERC20 smart contract based on the OpenZeppelin wizard template. It is burnable, mintable, pausable, ownable, and upgradable (transparent),  
My goal here is to enable gas-free transfer for the dapp users - please take a look at "metaTransfer()" in Contracts/WrappedToken.sol.  
Accordingly, I am importing "ERC2771ContextUpgradeable.sol" and calling "\_\_ERC2771Context\_init()" inside the initialize() function. However, I am getting Undeclared identifier error for "\_\_ERC2771Context\_init".

#### 🔢 Code to reproduce

To reproduce, please refer to [https://github.com/YounseoRyu/01-defender-meta-txs](https://github.com/YounseoRyu/01-defender-meta-txs).  
I added contracts/WrappedToken.sol and test files for it under test/token.  
However, the contract does not have any meta-tx related code yet, since I am getting an undeclared identifier error for "\_\_ERC2771Context\_init()".

#### 💻 Additional Question

I see that there are examples and workshops for ERC2771Context and MinimalForwarder.  
Also, I am wondering if there are examples I can refer to for ERC2771ContextUpgradeable and MinimalForwarderUpgradeable. Examples for them will be a great help for me.

---

<div class="post-metadata">

**Author:** ![JulissaDantes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/julissadantes/32/15410_2.png) [@JulissaDantes](https://forum.openzeppelin.com/u/JulissaDantes)\
**Post date:** [March 30, 2022, 1:00pm UTC](https://forum.openzeppelin.com/t/import-rc2771contextupgradeable-erc2771context-init-undeclared-identifier/26960/2 "2022-03-30T13:00:05Z")

</div>

Please check the contract for the [ERC2771Contextupgradeable](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/metatx/ERC2771ContextUpgradeable.sol), is one of the cases where it doesn't have an `init` function and that's why you get an identifier error.

For more information feel free to check this [PR](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/pull/155) where we explain the reasoning behind it.
