IAssetRouterInput - NFT Input Router
IAssetRouterInput.sol defines a contract that guards calls requiring users to deposit or prove ownership of assets to then call an underlying contract. It can then be paired with any IAssetRouterOutput.sol contract to trigger minting or other mechanics.
The IAssetRouterInput.sol contract stores a set of AssetInputBasket
from which the user
can chose from. Any basket in the contract can then be used to forward calls to an IAssetRouterOutput.sol. The output contract is configured to only accepts calls from the input or a set of valid input contracts to trigger arbitrary logic though the current implementation is meant for token transfers & mints.
The general flow of a transaction can be visualized as such:
user
-> IAssetRouterInput
-> AssetInputBasket
assets (EIP-20, EIP-721, EIP-1155) -> IAssetRouterOutput
-> Arbitrary logic.
Functions
getBasket
Returns an AssetInputBasket
. See IAssetRouterLib.md
input
Call target
address with amount
parameter using AssetInputBasket
stored at index basketIdx
. Called by user
.