Solidity

基於使用者提供的類型動態解碼響應

  • September 21, 2022

在 Solidity 中,我希望使用者預先提供響應的Solidity 類型,當響應到達時,我想根據使用者提供的類型對其進行解碼 - 基本上是各種動態解碼。

你可以想像這樣的事情:

abi.decode(responseData, (userProvidedType));

有沒有一種優雅的方式來做到這一點?

不幸的是沒有。你通常必須有一個巨大的 if/else 處理程序。您還可以擁有採用不同類型的不同功能,例如 hardhat 的控制台 ( https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-c ​​ore/console.sol )。例如:

function a(uint) {}

function a(address){}

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