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:
AssetInputBasket assets (EIP-20, EIP-721, EIP-1155) ->
IAssetRouterOutput -> Arbitrary logic.
AssetInputBasket. See IAssetRouterLib.md
target address with
amount parameter using
AssetInputBasket stored at index
basketIdx. Called by