contract DssSpellCollateralOnboardingAction {

    // --- Rates ---
    // Many of the settings that change weekly rely on the rate accumulator
    // described at https://docs.makerdao.com/smart-contract-modules/rates-module
    // To check this yourself, use the following rate calculation (example 8%):
    //
    // $ bc -l <<< 'scale=27; e( l(1.08)/(60 * 60 * 24 * 365) )'
    //
    // A table of rates can be found at
    //    https://ipfs.io/ipfs/QmTRiQ3GqjCiRhh1ojzKzgScmSsiwQPLyjhgYSxZASQekj
    //

    // --- Math ---

    // --- DEPLOYED COLLATERAL ADDRESSES ---

    function onboardNewCollaterals() internal {
        // ----------------------------- Collateral onboarding -----------------------------
        //  Add ______________ as a new Vault Type
        //  Poll Link:

        // DssExecLib.addNewCollateral(
        //     CollateralOpts({
        //         ilk:                   ,
        //         gem:                   ,
        //         join:                  ,
        //         clip:                  ,
        //         calc:                  ,
        //         pip:                   ,
        //         isLiquidatable:        ,
        //         isOSM:                 ,
        //         whitelistOSM:          ,
        //         ilkDebtCeiling:        ,
        //         minVaultAmount:        ,
        //         maxLiquidationAmount:  ,
        //         liquidationPenalty:    ,
        //         ilkStabilityFee:       ,
        //         startingPriceFactor:   ,
        //         breakerTolerance:      ,
        //         auctionDuration:       ,
        //         permittedDrop:         ,
        //         liquidationRatio:      ,
        //         kprFlatReward:         ,
        //         kprPctReward:
        //     })
        // );

        // DssExecLib.setStairstepExponentialDecrease(
        //     CALC_ADDR,
        //     DURATION,
        //     PCT_BPS
        // );

        // DssExecLib.setIlkAutoLineParameters(
        //     ILK,
        //     AMOUNT,
        //     GAP,
        //     TTL
        // );

        // ChainLog Updates
        // Add the new flip and join to the Chainlog
        // address constant CHAINLOG        = DssExecLib.LOG();
        // ChainlogAbstract(CHAINLOG).setAddress("<join-name>", <join-address>);
        // ChainlogAbstract(CHAINLOG).setAddress("<clip-name>", <clip-address>);
        // ChainlogAbstract(CHAINLOG).setVersion("<new-version>");
    }
}
/* import "dss-exec-lib/DssExecLib.sol"; */
function onboardNewCollaterals() internal {
    // ----------------------------- Collateral onboarding -----------------------------
    //  Add ______________ as a new Vault Type
    //  Poll Link:

    // DssExecLib.addNewCollateral(
    //     CollateralOpts({
    //         ilk:                   ,
    //         gem:                   ,
    //         join:                  ,
    //         clip:                  ,
    //         calc:                  ,
    //         pip:                   ,
    //         isLiquidatable:        ,
    //         isOSM:                 ,
    //         whitelistOSM:          ,
    //         ilkDebtCeiling:        ,
    //         minVaultAmount:        ,
    //         maxLiquidationAmount:  ,
    //         liquidationPenalty:    ,
    //         ilkStabilityFee:       ,
    //         startingPriceFactor:   ,
    //         breakerTolerance:      ,
    //         auctionDuration:       ,
    //         permittedDrop:         ,
    //         liquidationRatio:      ,
    //         kprFlatReward:         ,
    //         kprPctReward:
    //     })
    // );

    // DssExecLib.setStairstepExponentialDecrease(
    //     CALC_ADDR,
    //     DURATION,
    //     PCT_BPS
    // );

    // DssExecLib.setIlkAutoLineParameters(
    //     ILK,
    //     AMOUNT,
    //     GAP,
    //     TTL
    // );

    // ChainLog Updates
    // Add the new flip and join to the Chainlog
    // address constant CHAINLOG        = DssExecLib.LOG();
    // ChainlogAbstract(CHAINLOG).setAddress("<join-name>", <join-address>);
    // ChainlogAbstract(CHAINLOG).setAddress("<clip-name>", <clip-address>);
    // ChainlogAbstract(CHAINLOG).setVersion("<new-version>");
}

// --- Rates ---
// Many of the settings that change weekly rely on the rate accumulator
// described at https://docs.makerdao.com/smart-contract-modules/rates-module
// To check this yourself, use the following rate calculation (example 8%):
//
// $ bc -l <<< 'scale=27; e( l(1.08)/(60 * 60 * 24 * 365) )'
//
// A table of rates can be found at
//    https://ipfs.io/ipfs/QmTRiQ3GqjCiRhh1ojzKzgScmSsiwQPLyjhgYSxZASQekj
//
// --- Math ---
// --- DEPLOYED COLLATERAL ADDRESSES ---