Deploy an ISM-specific IGP on each chain for the default IGP
Configure these ISM-specific IGPs with the correct destination gas amounts for each destination domain. Ideally this should be done by considering the validator set / quorum threshold of the relevant chain. If it seems straightforward to calculate the gas amount from the quorum threshold / validator set, go for it, but just be aware that gas amount may be similar in EVM execution environments but aren't guaranteed to be the same in other execution environments. If calculation isn't straightforward, we should at the least have an easily replicatable methodology for finding the costs so we can react when validator sets / quorum thresholds change
The gas amount should consider anything ISM-specific:
ISM metadata calldata costs (so in the default ISM case, the # of bytes required for the metadata given the threshold & the validator set size, as well as the proof size)
ISM.verify costs (including verifying the merkle proof, verifying signatures, etc)
A reasonable buffer
Re: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/1300 - I'm thinking putting the mailbox gas amounts in the base IGP is actually a bad idea, and we should just have the ISM-specific IGPs consider Mailbox costs in their overhead amount as well
Blocked by https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/1298
We should have deploy tooling to:
Re: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/1300 - I'm thinking putting the mailbox gas amounts in the base IGP is actually a bad idea, and we should just have the ISM-specific IGPs consider Mailbox costs in their overhead amount as well