Skip to main content

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.