OriginProtocol / origin-dollar

OUSD and OETH are stablecoins that passively accrue yield while you are holding it
https://originprotocol.com
MIT License
112 stars 73 forks source link

Deploy the Native Staking Strategy #2097

Closed naddison36 closed 3 weeks ago

naddison36 commented 1 month ago

Deploy checklist

Two reviewers complete the following checklist:

Deployment

New Contracts

Existing Proxy Contracts

Dependencies

Governance

5/8 mutisig calls scheduleBatch on the Timelock contract tx 236 https://app.safe.global/transactions/tx?id=multisig_0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899_0x9579ea38106aaf3c4b6c69f5ec6f78e5ca1404a290fb3bf60249e90324d10df5&safe=eth:0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899

Simulation https://dashboard.tenderly.co/public/safe/safe-apps/simulator/ddb62cf6-4de8-4573-ba51-01227e89aa8e

Steps in the batch

  1. Add new strategy to vault
  2. Configure Harvester to support the strategy
  3. set harvester to the strategy
  4. configure the fuse interval
  5. set validator registrator to the Defender Relayer
  6. set staking threshold
  7. set staking monitor
  8. Upgrade the OETH Harvester

5/8 mutisig calls executeeBatch on the Timelock contract after 48 hours of the batch being scheduled.

Gnosis Safe upload files

scheduleBatch

1717841542036-scheduleBatch-gov-tx.json

{
  "version": "1.0",
  "chainId": "1",
  "createdAt": 1717841542,
  "meta": {
    "name": "Transaction Batch",
    "description": "",
    "txBuilderVersion": "1.16.1",
    "createdFromSafeAddress": "0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899",
    "createdFromOwnerAddress": ""
  },
  "transactions": [
    {
      "to": "0x35918cDE7233F2dD33fA41ae3Cb6aE0e42E0e69F",
      "value": "0",
      "data": null,
      "contractMethod": {
        "inputs": [
          {
            "type": "address[]",
            "name": "targets"
          },
          {
            "type": "uint256[]",
            "name": "values"
          },
          {
            "type": "bytes[]",
            "name": "payloads"
          },
          {
            "type": "bytes32",
            "name": "predecessor"
          },
          {
            "type": "bytes32",
            "name": "salt"
          },
          {
            "type": "uint256",
            "name": "delay"
          }
        ],
        "name": "scheduleBatch",
        "payable": false
      },
      "contractInputsValues": {
        "targets": "[\"0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab\",\"0x0D017aFA83EAce9F10A8EC5B6E13941664A6785C\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x0D017aFA83EAce9F10A8EC5B6E13941664A6785C\"]",
        "values": "[\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]",
        "payloads": "[\"0x3b8ae39700000000000000000000000034edb2ee25751ee67f68a45813b22811687c0238\",\"0x65f6fa9400000000000000000000000034edb2ee25751ee67f68a45813b22811687c02380000000000000000000000000000000000000000000000000000000000000001\",\"0xc2e1e3f40000000000000000000000000d017afa83eace9f10a8ec5b6e13941664a6785c\",\"0xab12edf50000000000000000000000000000000000000000000000012bc29d8eec7000000000000000000000000000000000000000000000000000016345785d8a000000\",\"0x6e811d380000000000000000000000004b91827516f79d6f6a1f292ed99671663b09169a\",\"0x5205c38000000000000000000000000000000000000000000000001bc16d674ec8000000\",\"0xa3b81e73000000000000000000000000be2ab3d3d8f6a32b96414ebbd865dbd276d3d899\",\"0x3659cfe6000000000000000000000000b7c72cff61cf02629c2a17f7ad875277ff70da77\"]",
        "predecessor": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "salt": "0xb8d4d17f7fd79128e02cd60b3601c60945c53fec3592051b7941b9afa84f8931",
        "delay": "172800"
      }
    }
  ]
}

executeBatch

1717841542039-executeBatch-gov-tx.json

{
  "version": "1.0",
  "chainId": "1",
  "createdAt": 1717841542,
  "meta": {
    "name": "Transaction Batch",
    "description": "",
    "txBuilderVersion": "1.16.1",
    "createdFromSafeAddress": "0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899",
    "createdFromOwnerAddress": ""
  },
  "transactions": [
    {
      "to": "0x35918cDE7233F2dD33fA41ae3Cb6aE0e42E0e69F",
      "value": "0",
      "data": null,
      "contractMethod": {
        "inputs": [
          {
            "type": "address[]",
            "name": "targets"
          },
          {
            "type": "uint256[]",
            "name": "values"
          },
          {
            "type": "bytes[]",
            "name": "payloads"
          },
          {
            "type": "bytes32",
            "name": "predecessor"
          },
          {
            "type": "bytes32",
            "name": "salt"
          }
        ],
        "name": "executeBatch",
        "payable": true
      },
      "contractInputsValues": {
        "targets": "[\"0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab\",\"0x0D017aFA83EAce9F10A8EC5B6E13941664A6785C\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x34eDb2ee25751eE67F68A45813B22811687C0238\",\"0x0D017aFA83EAce9F10A8EC5B6E13941664A6785C\"]",
        "values": "[\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]",
        "payloads": "[\"0x3b8ae39700000000000000000000000034edb2ee25751ee67f68a45813b22811687c0238\",\"0x65f6fa9400000000000000000000000034edb2ee25751ee67f68a45813b22811687c02380000000000000000000000000000000000000000000000000000000000000001\",\"0xc2e1e3f40000000000000000000000000d017afa83eace9f10a8ec5b6e13941664a6785c\",\"0xab12edf50000000000000000000000000000000000000000000000012bc29d8eec7000000000000000000000000000000000000000000000000000016345785d8a000000\",\"0x6e811d380000000000000000000000004b91827516f79d6f6a1f292ed99671663b09169a\",\"0x5205c38000000000000000000000000000000000000000000000001bc16d674ec8000000\",\"0xa3b81e73000000000000000000000000be2ab3d3d8f6a32b96414ebbd865dbd276d3d899\",\"0x3659cfe6000000000000000000000000b7c72cff61cf02629c2a17f7ad875277ff70da77\"]",
        "predecessor": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "salt": "0xb8d4d17f7fd79128e02cd60b3601c60945c53fec3592051b7941b9afa84f8931"
      }
    }
  ]
}
codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 61.86%. Comparing base (0535236) to head (eb167d2).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2097 +/- ## ======================================== Coverage 61.86% 61.86% ======================================== Files 66 66 Lines 3322 3322 Branches 863 649 -214 ======================================== Hits 2055 2055 Misses 1264 1264 Partials 3 3 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

sparrowDom commented 2 weeks ago

I've already merged but should still disclose that before that:

DanielVF commented 2 weeks ago