メインコンテンツへスキップ

ERC20 Module

ERC20モジュールは、既存のbank denom(例:IBCブリッジされたトークン、USDC、tokenfactory、Peggy)をInjective EVMに統合することを可能にします。このモジュールは、ストレージ内でトークンペア間のマッピングを維持し、ERC20トークンと対応するbank denom間の関連付けを作成します。既存のbank denom用に新しいトークンペアが生成されると、モジュールはBank precompileとインタラクションするERC20コントラクトをデプロイし、ストレージマッピングを参照してERC20アドレスを対応するbank denomに整合させます。このモジュールは以下の重要な目的を果たします:
  1. ストレージ: bank denom ↔ ERC20アドレス間のマッピング
  2. 新しいメッセージタイプ: ユーザーがチェーンメッセージを発行して新しいトークンペアマッピングを確立できるようにする

新しいトークンペアの作成

現在、3種類のbank denomにトークンペアを関連付けることができ、それぞれに特定のルールがあります:
  • Tokenfactory (factory/...)
    denomの管理者またはgovernanceのみがトークンペアを作成できます。送信者は、カスタム実装として既存のERC20コントラクトアドレスを指定できます。省略した場合、MintBurnBankERC20.solの新しいインスタンスがデプロイされ、msg.senderがオーナーとなり、コントラクトを通じたmintとburnが可能になります。
  • IBC (ibc/...)
    IBC denomは、トークンペア作成を通じて任意のユーザーがEVMに統合できますが、カスタムERC20アドレスのオプションはありません。常にオーナーなしのFixedSupplyBankERC20.solの新しいインスタンスがデプロイされます。
  • Peggy (peggy0x...)
    Peggy denomは、トークンペア作成を通じて任意のユーザーがEVMに統合できますが、カスタムERC20アドレスのオプションはありません。常にオーナーなしのFixedSupplyBankERC20.solの新しいインスタンスがデプロイされます。