Solidity

如何確定某些 LP 代幣是否與我的代幣相關?

  • September 5, 2021

我想建構一個 ERC20 代幣,並且我想為流動性提供者添加質押功能。如果有人決定用我的代幣建立流動資金池,然後將其抵押到我的合約中以賺取利潤,我有什麼辦法可以確定這些 LP 代幣是針對哪一對代幣創建的?我想如果有人將一些 LP 代幣轉移到我的合約中,我如何確定這些 LP 代幣代表 Solidity 中的哪對代幣?

當您向池提供流動性時,您將收到該特定池的 LP 代幣(具有該貨幣對唯一的合約地址)。您可以查看您的代幣 LP 代幣的合約地址,並且只向持有這些 LP 代幣的使用者提供獎勵。但是,在這裡您需要了解允許為您的代幣創建流動性池的平台,記下 LP 代幣地址,並確保您的質押合約了解它們。

如果您正在尋找一種僅針對 LP 代幣地址派生代幣對的方法,那麼我認為這是不可能的,因為不同的平台具有不同的創建 LP 合約的邏輯。例如,使用 Uniswap,可以通過呼叫 token0 和 token1 來獲取底層代幣對,這將返回底層代幣地址,但您不能確定其他平台會將這些資訊作為公共變數提供給您。

引用自:https://ethereum.stackexchange.com/questions/109417