Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Jump Rate... | 2268580 | 89 days ago | IN | 0 S | 0.00007714 |
Loading...
Loading
Contract Name:
JumpRateModelV2
Compiler Version
v0.8.22+commit.4fc1097e
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BSD-3-Clausepragma solidity 0.8.22;import "./BaseJumpRateModelV2.sol";import "./InterestRateModel.sol";/*** @title Mach's JumpRateModel Contract V2 for V2 cTokens* @author Arr00* @notice Supports only for V2 cTokens*/contract JumpRateModelV2 is InterestRateModel, BaseJumpRateModelV2 {/*** @notice Calculates the current borrow rate per timestamp* @param cash The amount of cash in the market* @param borrows The amount of borrows in the market* @param reserves The amount of reserves in the market* @return The borrow rate percentage per timestamp as a mantissa (scaled by 1e18)*/function getBorrowRate(uint256 cash, uint256 borrows, uint256 reserves) external view override returns (uint256) {return getBorrowRateInternal(cash, borrows, reserves);}constructor(uint256 baseRatePerYear,uint256 multiplierPerYear,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BSD-3-Clausepragma solidity 0.8.22;import "./InterestRateModel.sol";/*** @title Logic for Mach's JumpRateModel Contract V2.* @author Compound (modified by Dharma Labs, refactored by Arr00)* @notice Version 2 modifies Version 1 by enabling updateable parameters.*/abstract contract BaseJumpRateModelV2 is InterestRateModel {event NewInterestParams(uint256 baseRatePerTimestamp, uint256 multiplierPerTimestamp, uint256 jumpMultiplierPerTimestamp, uint256 kink);uint256 private constant BASE = 1e18;/*** @notice The address of the owner, i.e. the Timelock contract, which can update parameters directly*/address public owner;/*** @notice The approximate number of timestamps per year that is assumed by the interest rate model*/uint256 public constant timestampsPerYear = 60 * 60 * 24 * 365;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BSD-3-Clausepragma solidity 0.8.22;/*** @title Mach's InterestRateModel Interface* @author Mach Finance*/abstract contract InterestRateModel {/// @notice Indicator that this is an InterestRateModel contract (for inspection)bool public constant isInterestRateModel = true;/*** @notice Calculates the current borrow interest rate per timestamp* @param cash The total amount of cash the market has* @param borrows The total amount of borrows the market has outstanding* @param reserves The total amount of reserves the market has* @return The borrow rate per timestamp (as a percentage, and scaled by 1e18)*/function getBorrowRate(uint256 cash, uint256 borrows, uint256 reserves) external view virtual returns (uint256);/*** @notice Calculates the current supply interest rate per timestamp* @param cash The total amount of cash the market has* @param borrows The total amount of borrows the market has outstanding* @param reserves The total amount of reserves the market has* @param reserveFactorMantissa The current reserve factor the market has
1234567891011121314151617181920212223242526{"remappings": ["@pythnetwork/pyth-sdk-solidity/=lib/pyth-crosschain/target_chains/ethereum/sdk/solidity/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","@api3/contracts/=lib/contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","pyth-crosschain/=lib/pyth-crosschain/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer": {"enabled": true,"runs": 200},"metadata": {"useLiteralContent": false,"bytecodeHash": "ipfs","appendCBOR": true},"outputSelection": {
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"baseRatePerYear","type":"uint256"},{"internalType":"uint256","name":"multiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"jumpMultiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"kink_","type":"uint256"},{"internalType":"address","name":"owner_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseRatePerTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplierPerTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"jumpMultiplierPerTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"kink","type":"uint256"}],"name":"NewInterestParams","type":"event"},{"inputs":[],"name":"baseRatePerTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"getBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"},{"internalType":"uint256","name":"reserveFactorMantissa","type":"uint256"}],"name":"getSupplyRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isInterestRateModel","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jumpMultiplierPerTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kink","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multiplierPerTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timestampsPerYear","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseRatePerYear","type":"uint256"},{"internalType":"uint256","name":"multiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"jumpMultiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"kink_","type":"uint256"}],"name":"updateJumpRateModel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"utilizationRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161079f38038061079f83398101604081905261002f91610151565b600080546001600160a01b0319166001600160a01b038316179055848484848461005b8585858561006a565b505050505050505050506101f9565b670de0b6b3a76400006301e1338061008282876101ac565b61008c91906101d7565b61009691906101d7565b6002556100a7816301e133806101ac565b6100b9670de0b6b3a7640000856101ac565b6100c391906101d7565b600155670de0b6b3a76400006301e133806100de82856101ac565b6100e891906101d7565b6100f291906101d7565b60038190556004829055600254600154604080519283526020830191909152810191909152606081018290527f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9060800160405180910390a150505050565b600080600080600060a0868803121561016957600080fd5b855160208701516040880151606089015160808a0151939850919650945092506001600160a01b038116811461019e57600080fd5b809150509295509295909350565b80820281158282048414176101d157634e487b7160e01b600052601160045260246000fd5b92915050565b6000826101f457634e487b7160e01b600052601260045260246000fd5b500490565b610597806102086000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806340bc0af41161007157806340bc0af4146101155780636c2df6a71461011e5780636e71e2d8146101275780638da5cb5b1461013a578063b816881614610165578063fd2da3391461017857600080fd5b80630c574861146100ae57806315f24053146100cc5780632037f3e7146100df5780632191f92a146100f457806326c394f71461010c575b600080fd5b6100b96301e1338081565b6040519081526020015b60405180910390f35b6100b96100da366004610488565b610181565b6100f26100ed3660046104b4565b610198565b005b6100fc600181565b60405190151581526020016100c3565b6100b960035481565b6100b960025481565b6100b960015481565b6100b9610135366004610488565b610217565b60005461014d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c3565b6100b96101733660046104b4565b61025a565b6100b960045481565b600061018e8484846102d6565b90505b9392505050565b6000546001600160a01b031633146102055760405162461bcd60e51b815260206004820152602660248201527f6f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e60448201526531ba34b7b71760d11b606482015260840160405180910390fd5b610211848484846103a1565b50505050565b60008260000361022957506000610191565b8161023484866104fc565b61023e9190610515565b610250670de0b6b3a764000085610528565b61018e919061053f565b60008061026f83670de0b6b3a7640000610515565b9050600061027e8787876102d6565b90506000670de0b6b3a76400006102958484610528565b61029f919061053f565b9050670de0b6b3a7640000816102b68a8a8a610217565b6102c09190610528565b6102ca919061053f565b98975050505050505050565b6000806102e4858585610217565b9050600454811161032557600254670de0b6b3a7640000600154836103099190610528565b610313919061053f565b61031d91906104fc565b915050610191565b6000600254670de0b6b3a76400006001546004546103439190610528565b61034d919061053f565b61035791906104fc565b90506000600454836103699190610515565b905081670de0b6b3a7640000600354836103839190610528565b61038d919061053f565b61039791906104fc565b9350505050610191565b670de0b6b3a76400006301e133806103b98287610528565b6103c3919061053f565b6103cd919061053f565b6002556103de816301e13380610528565b6103f0670de0b6b3a764000085610528565b6103fa919061053f565b600155670de0b6b3a76400006301e133806104158285610528565b61041f919061053f565b610429919061053f565b60038190556004829055600254600154604080519283526020830191909152810191909152606081018290527f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9060800160405180910390a150505050565b60008060006060848603121561049d57600080fd5b505081359360208301359350604090920135919050565b600080600080608085870312156104ca57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050f5761050f6104e6565b92915050565b8181038181111561050f5761050f6104e6565b808202811582820484141761050f5761050f6104e6565b60008261055c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e5fbe980d22bfc78d1d7007814fc6a940bc629a18edf2009c0a06b832e9d314364736f6c63430008160033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000853a0d2313c00000000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806340bc0af41161007157806340bc0af4146101155780636c2df6a71461011e5780636e71e2d8146101275780638da5cb5b1461013a578063b816881614610165578063fd2da3391461017857600080fd5b80630c574861146100ae57806315f24053146100cc5780632037f3e7146100df5780632191f92a146100f457806326c394f71461010c575b600080fd5b6100b96301e1338081565b6040519081526020015b60405180910390f35b6100b96100da366004610488565b610181565b6100f26100ed3660046104b4565b610198565b005b6100fc600181565b60405190151581526020016100c3565b6100b960035481565b6100b960025481565b6100b960015481565b6100b9610135366004610488565b610217565b60005461014d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c3565b6100b96101733660046104b4565b61025a565b6100b960045481565b600061018e8484846102d6565b90505b9392505050565b6000546001600160a01b031633146102055760405162461bcd60e51b815260206004820152602660248201527f6f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e60448201526531ba34b7b71760d11b606482015260840160405180910390fd5b610211848484846103a1565b50505050565b60008260000361022957506000610191565b8161023484866104fc565b61023e9190610515565b610250670de0b6b3a764000085610528565b61018e919061053f565b60008061026f83670de0b6b3a7640000610515565b9050600061027e8787876102d6565b90506000670de0b6b3a76400006102958484610528565b61029f919061053f565b9050670de0b6b3a7640000816102b68a8a8a610217565b6102c09190610528565b6102ca919061053f565b98975050505050505050565b6000806102e4858585610217565b9050600454811161032557600254670de0b6b3a7640000600154836103099190610528565b610313919061053f565b61031d91906104fc565b915050610191565b6000600254670de0b6b3a76400006001546004546103439190610528565b61034d919061053f565b61035791906104fc565b90506000600454836103699190610515565b905081670de0b6b3a7640000600354836103839190610528565b61038d919061053f565b61039791906104fc565b9350505050610191565b670de0b6b3a76400006301e133806103b98287610528565b6103c3919061053f565b6103cd919061053f565b6002556103de816301e13380610528565b6103f0670de0b6b3a764000085610528565b6103fa919061053f565b600155670de0b6b3a76400006301e133806104158285610528565b61041f919061053f565b610429919061053f565b60038190556004829055600254600154604080519283526020830191909152810191909152606081018290527f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9060800160405180910390a150505050565b60008060006060848603121561049d57600080fd5b505081359360208301359350604090920135919050565b600080600080608085870312156104ca57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050f5761050f6104e6565b92915050565b8181038181111561050f5761050f6104e6565b808202811582820484141761050f5761050f6104e6565b60008261055c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e5fbe980d22bfc78d1d7007814fc6a940bc629a18edf2009c0a06b832e9d314364736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000853a0d2313c00000000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576
-----Decoded View---------------
Arg [0] : baseRatePerYear (uint256): 0
Arg [1] : multiplierPerYear (uint256): 50000000000000000
Arg [2] : jumpMultiplierPerYear (uint256): 6000000000000000000
Arg [3] : kink_ (uint256): 600000000000000000
Arg [4] : owner_ (address): 0x9A74A959Ab5F706c1DFf414F580560287FcB7576
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 00000000000000000000000000000000000000000000000000b1a2bc2ec50000
Arg [2] : 00000000000000000000000000000000000000000000000053444835ec580000
Arg [3] : 0000000000000000000000000000000000000000000000000853a0d2313c0000
Arg [4] : 0000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ 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.