Links
Comment on page

JustLend DAO Mainnet Contracts

JustLend DAO Protocol is a TRON smart contract protocol for supplying or borrowing assets. Through the jToken contracts, accounts on the TRON blockchain supply capital (TRX or TRC20 tokens) to receive jTokens or borrow assets from the protocol (holding other assets as collateral). The JustLend DAO jToken contracts track these balances and algorithmically set interest rates for borrowers. Check more info on Justlend DAO Whitepaper.

Main Contracts

We detail a few of the core contracts in the JustLend DAO protocol.

CToken, CErc20 and CEther

The JustLend DAO jTokens which are self-contained borrowing and lending contracts, are deployed from the code of CToken and CEther contracts. CToken contains the core logic and CTrc20 and CEther add public interfaces for TRC20 tokens and TRX, respectively. Each jToken is assigned an interest rate and risk model (see InterestRateModel and Comptroller parts), and allows accounts to mint (supply capital), redeem (withdraw capital), borrow and repay a borrow. Each jToken is a TRC20-compliant token where balances represent ownership of the market.

Comptroller

The risk model contract validates permissible user actions and disallows actions if they do not fit certain risk parameters. For instance, the Comptroller enforces that each borrowing user must maintain a sufficient collateral balance across all cTokens.

GovernorAlpha

The administrator of the JustLend DAO Timelock contract. Holders of JST token may create and vote on proposals that will be queued into the JustLend DAO Timelock and then have effects on JustLend DAO jToken and Comptroller contracts. This contract may be replaced in the future with a beta version.

InterestRateModel

Contracts that define interest rate models. These models algorithmically determine interest rates based on the current utilization of a given market (that is, how much of the supplied assets are liquid versus borrowed).

ErrorReporter

Library for tracking error codes and failure conditions.

Exponential

Library for handling fixed-point decimal numbers.

WhitePaperInterestRateModel

Initial interest rate model, as defined in the Whitepaper. This contract accepts a base rate and slope parameter in its constructor.

Careful Math

Library for safe math operations.

SafeToken

Library for safely handling Trc20 interaction.

Staked TRX

The contract is used to stake TRX.

Energy Rental

The contract is used to rent energy.

How to Compile The Contract

You can get the compiler from here
And rename the compiler executable file to solc512, then compile the contracts with these commands.
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Unitroller.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Comptroller.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Governance/WJST.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Governance/GovernorAlpha.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Timelock.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/JumpRateModelV2.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/WhitePaperInterestRateModel.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/CEther.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/CErc20Delegate.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/CErc20Delegator.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/PriceOracle/PriceOracle.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/PriceOracleProxy.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/PriceOracle/PriceOracle.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/PriceOracleProxy.sol
./solc512 --allow-paths $YOUR_PATH/justlend-protocol/, --bin --abi --optimize $YOUR_PATH/justlend-protocol/Lens/CompoundLens.sol

Deployed Contract Address

Name
Address
Unitroller
TGjYzgCyPobsNS9n6WcbdLVR9dH7mWqFx7
Comptroller
TB23wYojvAsSx6gR8ebHiBqwSeABiBMPAr
GovernorBravo
TEqiF5JbhDPD77yjEfnEMncGRZNDt2uogD
Timelock
TRWNvb15NmfNKNLhQpxefFz7cNjrYjEw7x
Oracle PriceOracle
TD8bq1aFY8yc9nsD2rfqqJGDtkh7aPpEpr
Oracle proxy PriceOracleProxy
TCKp2AzuhzV4B4Ahx1ej4mvQgHZ1kH7F7k
WhitePaperModelTRX WhitePaperInterestRateModel
TF8B4iysAGfrssdQhMJGYsdd9SZoxGsH7M
WhitePaperModelBTC WhitePaperInterestRateModel
TYJi9q4qLQWoBiKmMQY3Mn81tmhw7SeCmh
jumpRateTRX JumpRateModelV2
TMca13trZmVvVttrGWJyUSm33qZdohDDuh
TRX CErc20Delegate
NA
TRX CErc20Delegator
TE2RzoSV3wFK99w6J9UnnZ4vLfXYoxvRwP
jumpRateUSDD JumpRateModelV2
TDoB7y9HHj6bXTwEe6BhfAkdETjQR2He6u
USDD CErc20Delegate
TFdTqrMyb6PMMqTa9vnhmQHDFDU2oUhw9W
USDD CErc20Delegator
TX7kybeP6UwTBRHLNPYmswFESHfyjm9bAS
jumpRateUSDT JumpRateModelV2
TTetZxp98wcPaciyBMHYvQkS735RZ3tyXY
USDT CErc20Delegate
TLjn59xNM7VEK6VZ3VQ8Y1ipxsdsFka5wZ
USDT CErc20Delegator
TXJgMdjVX5dKiQaUi9QobwNxtSQaFqccvd
jumpRatewstUSDT JumpRateModelV2
TPqKsaTnSKEU3aGHanpVFNU3cE8SmJsAYz
wstUSDT CErc20Delegate
TUx4cV8FQNR5W4FhtF7mHZwaJMoco2464o
wstUSDT CErc20Delegator
TD5SdLw5scR6mXgyMK2xKrFJpauDjpKqrW
jumpRatesTRX JumpRateModelV2
TW4fpkc98kzVbdiPhutCg2uivwVJ9MDa2P
sTRX CErc20Delegate
TCyNbCipGbAybb8rG4aatEoEnfuYpVYCPP
sTRX CErc20Delegator
TJQ9rbVe9ei3nNtyGgBL22Fuu2xYjZaLAQ
jumpRateSUN JumpRateModelV2
THCVC3DHgZ5qmUcJPutw7TrMMfj1h2bvkZ
SUN CErc20Delegate
TM82erAZJSP7NKc17JdTnzVC8WKJHismWB
SUN CErc20Delegator
TPXDpkg9e3eZzxqxAUyke9S4z4pGJBJw9e
jumpRateBTT JumpRateModelV2
TQ9zMkrqgej7GjLdMrpNuURozg8J2fSXsW
BTT CErc20Delegate
TH3x5EqLnPduHNX41MaCCb2UfnfFMLuYwe
BTT CErc20Delegator
TUaUHU9Dy8x5yNi1pKnFYqHWojot61Jfto
jumpRateNFT JumpRateModelV2
TBE9tkWYdZPEHLNeKC6Xn44YFLpieiM3xq
NFT CErc20Delegate
TLkUdtDBLMfJdXni2iTa4u2DKM53XmDJHi
NFT CErc20Delegator
TFpPyDCKvNFgos3g3WVsAqMrdqhB81JXHE
jumpRateJST JumpRateModelV2
TMNXjQTa8x4wNHBa3X647KRnkRQpSuXBRT
JST CErc20Delegate
TQ2sbnmxtR7jrNk4nxz2A8f9sneCqmk6SB
JST CErc20Delegator
TWQhCXaWz4eHK4Kd1ErSDHjMFPoPc9czts
jumpRateWIN JumpRateModelV2
TBtChPo34CGJkb1QVEwPhxS8HQE2Xp7ir2
WIN CErc20Delegate
TW3GyD3hYkKwzSGytWwWGXpe2a93zCpRzJ
WIN CErc20Delegator
TRg6MnpsFXc82ymUPgf5qbj59ibxiEDWvv
jumpRateUSDJ JumpRateModelV2
TLScd7kpWnKADtH7ZXKzrJHAxJUnjiiExq
USDJ CErc20Delegate
TYSHTEq9NFSgst94saeRvt6rAYgWkqMFbj
USDJ CErc20Delegator
TL5x9MtSnDy537FXKx53yAaHRRNdg9TkkA
jumpRateUSDC JumpRateModelV2
TDECE4PZFEkmTyFk9sJMya9PY99BapHpyP
USDC CErc20Delegate
THQY8YX19jLFSFg1xhthM5wb7xZvKLCzgq
USDC CErc20Delegator
TNSBA6KvSvMoTqQcEgpVK7VhHT3z7wifxy
jumpRateTUSD JumpRateModelV2
TLY3wRNGrQpJCZrYKu9VjntMj2kNxisAL2
TUSD CErc20Delegate
THbrSjDsDA2KJRxx8K73tN7vLgaXSUNQFk
TUSD CErc20Delegator
TSXv71Fy5XdL3Rh2QfBoUu3NAaM4sMif8R
jumpRateBTC JumpRateModelV2
TYJi9q4qLQWoBiKmMQY3Mn81tmhw7SeCmh
BTC CErc20Delegate
TVsKSRgRoMcCp798qqRGesXRfzy2MzRjkR
BTC CErc20Delegator
TLeEu311Cbw63BcmMHDgDLu7fnk9fqGcqT
jumpRateETH JumpRateModelV2
TD5wmR7NfBM2JdSGSTTq1MgMARX2k5KE2b
ETH CErc20Delegate
TS9fVh58y2RMDnpucGXkbfZhAJxmGafGqe
ETH CErc20Delegator
TWBxQMb6RD3qmkXUXpNwVCYbL8SHNreru6
jumpRateWBTT JumpRateModelV2
TJAfCJdJZa44pG5adQGLMLh27hJqPeLxod
WBTT CErc20Delegate
TV4WWBqBfn1kd4KmpYeSJpVAfybfrxEN9L
WBTT CErc20Delegator
TUY54PVeH6WCcYCd6ZXXoBDsHytN9V5PXt
jumpRateBUSD JumpRateModelV2
TUSGt1WAYeJSV94M5muFi2KvtE6EquZPUC
BUSD CErc20Delegate
TNRUqbYfYv4iizWa1b2kd6ZBaoh5zrg3yk
BUSD CErc20Delegator
TLHASseQymmpGQdfAyNjkMXFTJh8nzR2x2
jumpRateSUNOLD JumpRateModelV2
TK7WVRz34wUVRCpsgbW1wUCPmh5bSnCqg1
SUNOLD CErc20Delegate
TSCpzKvJfXHj1HW5jKg9dZA8z9aMxxGLd8
SUNOLD CErc20Delegator
TGBr8uh9jBVHJhhkwSJvQN2ZAKzVkxDmno
jumpRateETHOLD JumpRateModelV2
TCiKn6EFBsNrNCFQXWaEuAxr8Su3y4Rx9D
ETHOLD CErc20Delegate
TQBvTVisiceDvsQVbLbcYyWQGWP7wtaQnc
ETHOLD CErc20Delegator
TR7BUFRQeq1w5jAZf1FKx85SHuX6PfMqsV

Discussion

For any concerns with the protocol, open an issue or visit us on Telegram to discuss.
For security concerns, please email [email protected].