ETH Price: $1,802.87 (-0.44%)
Gas: 14 Gwei

Contract

0x141e0541d87c6cbDbf2a6a8104248B4b922f629E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
0x60806040118977092021-02-21 2:48:54759 days 9 hrs agoIN
 Create: AHv2Repayment
0 ETH0.04506121137

Advanced mode:
Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AHv2Repayment

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-02-21
*/

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity =0.8.1;

/*

February 20th, 2021

This agreement outlines the amount of funds and repayment mechanics between Alpha Homora V2 (a product of
Alpha Finance Lab) and CREAM V2 (or CREAM).

The funds in discussion include:

● 13,245 ETH (including ETH in the attacker’s wallet, deposited to Tornado for own use, sent to Tornado
foundation via Gitcoin, sent to Alpha Homora V2 deployer, and sent to CREAM V2 deployer)
● 4,263,139 DAI
● 4,032,014 USDC
● 5,647,242 USDT
● Amount of interest accrued until the audit of the proposed change on CREAM V2 contract is complete.

Borrowing interest

CREAM V2 contract will be upgraded to halt the borrowing interest rate on the funds in discussion. Alpha Finance
Lab will get the proposed change audited and pay for the auditing cost.

ALPHA token collateral
$50M ALPHA tokens will be put in escrow contract with 7 days timelock. ALPHA tokens will be released back to 
Alpha Finance Lab periodically and proportionally as the funds in discussion are paid back. Terms of the escro
will be added as an Appendix A.

Mechanics

CREAM V2 will use 1,000 ETH sent by the attacker to CREAM V2 deployer to paydown the funds in discussion by
sending the 1,000 ETH to the CREAM Multisig.

Alpha Homora V2 will use 1,000 ETH sent by the attacker to Alpha Homora V2 deployer to paydown the funds in
discussion by sending the 1,000 ETH to the CREAM Multisig.

Alpha Homora V2 will repay the remaining funds in discussion by using 20% of Alpha Homora V1 and V2 reserves to
paydown the funds until the funds in discussion above are repaid back. The percentages of the reserves to pay down
the debt may vary (higher or lower than 20%), and both the Alpha and CREAM team will agree to any new rates
beforehand new rates are applied. Alpha Homora V2 and CREAM V2 will agree upon the detailed technical
mechanics, which will be added as an Appendix B.

Timeline

There is no set timeline on when the funds in discussion have to be repaid back. The mechanics above will continue
until the funds are repaid.

Additional

If the funds can be retrieved and repaid back to CREAM V2 from the exploiter, the mechanics described will end.

Alpha Finance Lab
C.R.E.A.M. Finance (signed by multisig. The transaction will be added to the Appendix C.)

*/

contract AHv2Repayment {
    
    string constant public MD5 = "de36f79edde3c61d29ce5318530071d2";
    string constant public IPFS = "QmPAEj79uKn1aGtZo8jWUciZeZpjpSUwWFRmfxAVHymuhd";
    
    address[] _signers;
    mapping(address => bool) approvedSigners;
    mapping(address => bool) public signed;
    
    constructor() {
        approvedSigners[0x580cE7B92F185D94511c9636869d28130702F68E] = true; // cream.finance: multisig
        approvedSigners[0x6D5a7597896A703Fe8c85775B23395a48f971305] = true; // alpha homora multisig
        _signers.push(0x580cE7B92F185D94511c9636869d28130702F68E); // cream.finance: multisig
        _signers.push(0x6D5a7597896A703Fe8c85775B23395a48f971305); // alpha homora multisig
    }
    
    function signers() external view returns (address[] memory) {
        return _signers;
    }
    
    function sign() external {
        require(approvedSigners[msg.sender]);
        signed[msg.sender] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"IPFS","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MD5","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sign","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"signed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"signers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50600160208190527fb40a76dc2ebf29263c8fe268bdcf806817cbb20d3e04c4534e95570be96693fa805460ff1990811683179091557fdc74f7c0bd49c61eaca6b18f53b73a5e2d92e102c485e4797da77b55b1a208a58054909116821790556000805480830182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390810180546001600160a01b031990811673580ce7b92f185d94511c9636869d28130702f68e179091558254938401909255919091018054909116736d5a7597896a703fe8c85775b23395a48f971305179055610302806100ff6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630555ff411461005c5780632ca151221461008557806346f0975a1461008f57806354353219146100a4578063b6ea9087146100b9575b600080fd5b61006f61006a3660046101c5565b6100c1565b60405161007c9190610240565b60405180910390f35b61008d6100d6565b005b61009761010e565b60405161007c91906101f3565b6100ac610170565b60405161007c919061024b565b6100ac61018c565b60026020526000908152604090205460ff1681565b3360009081526001602052604090205460ff166100f257600080fd5b336000908152600260205260409020805460ff19166001179055565b6060600080548060200260200160405190810160405280929190818152602001828054801561016657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610148575b5050505050905090565b6040518060600160405280602e815260200161029f602e913981565b6040518060400160405280602081526020017f646533366637396564646533633631643239636535333138353330303731643281525081565b6000602082840312156101d6578081fd5b81356001600160a01b03811681146101ec578182fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156102345783516001600160a01b03168352928401929184019160010161020f565b50909695505050505050565b901515815260200190565b6000602080835283518082850152825b818110156102775785810183015185820160400152820161025b565b818111156102885783604083870101525b50601f01601f191692909201604001939250505056fe516d5041456a3739754b6e316147745a6f386a575563695a655a706a705355775746526d6678415648796d756864a26469706673582212204a1f2c434162664cf8a69cd5d94001a9d5b0149a470e3b1129c514c91bedcdf464736f6c63430008010033

Deployed ByteCode Sourcemap

2390:973:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2659:38;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:116;;;:::i;:::-;;3138:94;;;:::i;:::-;;;;;;;:::i;2496:78::-;;;:::i;:::-;;;;;;;:::i;2426:63::-;;;:::i;2659:38::-;;;;;;;;;;;;;;;:::o;3244:116::-;3304:10;3288:27;;;;:15;:27;;;;;;;;3280:36;;;;;;3334:10;3327:18;;;;:6;:18;;;;;:25;;-1:-1:-1;;3327:25:0;3348:4;3327:25;;;3244:116::o;3138:94::-;3180:16;3216:8;3209:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3209:15:0;;;;;;;;;;;;;;;;;;;;;;;3138:94;:::o;2496:78::-;;;;;;;;;;;;;;;;;;;:::o;2426:63::-;;;;;;;;;;;;;;;;;;;:::o;14:306:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:1;;220:42;;210:2;;281:6;273;266:22;210:2;309:5;84:236;-1:-1:-1;;;84:236:1:o;325:661::-;496:2;548:21;;;618:13;;521:18;;;640:22;;;325:661;;496:2;719:15;;;;693:2;678:18;;;325:661;765:195;779:6;776:1;773:13;765:195;;;844:13;;-1:-1:-1;;;;;840:39:1;828:52;;935:15;;;;900:12;;;;876:1;794:9;765:195;;;-1:-1:-1;977:3:1;;476:510;-1:-1:-1;;;;;;476:510:1:o;991:187::-;1156:14;;1149:22;1131:41;;1119:2;1104:18;;1086:92::o;1183:603::-;;1324:2;1353;1342:9;1335:21;1385:6;1379:13;1428:6;1423:2;1412:9;1408:18;1401:34;1453:4;1466:140;1480:6;1477:1;1474:13;1466:140;;;1575:14;;;1571:23;;1565:30;1541:17;;;1560:2;1537:26;1530:66;1495:10;;1466:140;;;1624:6;1621:1;1618:13;1615:2;;;1694:4;1689:2;1680:6;1669:9;1665:22;1661:31;1654:45;1615:2;-1:-1:-1;1770:2:1;1749:15;-1:-1:-1;;1745:29:1;1730:45;;;;1777:2;1726:54;;1304:482;-1:-1:-1;;;1304:482:1:o

Swarm Source

ipfs://4a1f2c434162664cf8a69cd5d94001a9d5b0149a470e3b1129c514c91bedcdf4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.