creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "src/Spell.sol": {
        "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.13;\n\ninterface PileLike {\n    function debt(uint256 loan) external view returns (uint256);\n    function decDebt(uint256 loan, uint256 amt) external;\n    function file(bytes32 what, uint256 rate, uint256 value) external;\n    function loanRates(uint256 loan) external view returns (uint256);\n    function rates(uint256 loanRate) external view returns (Rate memory);\n}\n\nstruct Rate {\n    uint256 pie;\n    uint256 chi;\n    uint256 ratePerSecond;\n     uint48 lastUpdate;\n    uint256 fixedRate;\n}\n\ncontract Spell {\n    bool public executed = false;\n    uint256[18] public loans = [25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,7,6,5];\n    address public alt1Pile = 0xE18AAB16cC26EB23740D72875e0C6b52cEbb46b3;\n\n    function execute() public {\n        require(!executed, \"Already executed\");\n        executed = true;\n        cast();\n    }\n\n    function cast() private {\n        for(uint i = 0; i < loans.length; i++) {\n            uint256 loan = loans[i];\n            uint256 debt = PileLike(alt1Pile).debt(loan);\n            uint256 loanRate = PileLike(alt1Pile).loanRates(loan);\n            Rate memory rate = PileLike(alt1Pile).rates(loanRate);\n            PileLike(alt1Pile).file(\"rate\", loanRate, rate.ratePerSecond);\n            PileLike(alt1Pile).decDebt(loan, debt);\n        }\n    }\n}\n"
      }
    },
    "settings": {
      "remappings": [
        "forge-std/=lib/forge-std/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "useLiteralContent": false,
        "bytecodeHash": "ipfs",
        "appendCBOR": true
      },
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "evmVersion": "paris",
      "viaIR": false,
      "libraries": {}
    }
  }}