To mint the IndexToken you'll need:
You should've already created an index your environment on your chosen network.
Balance of all the components. The only case in which this tool can help you is with WETH, where you can use the
node scripts/poc.js mintWeth <wethAddress> <amount>.
wethAddress on mainnet should be
0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2. If you're using the
components.example.mainnet.json then this should be enough.
A proper allowance in the components made to the basic issuance module. There's a function for that:
node scripts/poc.js allowTokens <symbol> <amount>, which asks the index for its components and then does an allowance of
Note: The allowance is necessary in order for the BasicIssuanceModule to do a transferFrom from the user's address to the index, moving the balances of the components from the user's address to the index contract.
node scripts/poc.js getTokenInfo <symbol> lists the balances and allowances of all the components, so it should help you check this items.
With those conditions met,
node scripts/poc.js mintSet <symbol> <amount> will mint the index.
If an allowance or balance is insufficient, the 'mint' transaction will fail with with a not-very-helpful
ERC20 low level call failed, and you should use
getTokenInfo to see which component(s) are the culprit as described in the previous document.