Smart Contract Security

Security of user funds is of upmost importance, and it is equally important that all details related to security can be independently verified on-chain.

Smart Contracts and security details can be found in the table below

Smart Contract
Purpose
Security Details

0xC9Ad421f96579AcE066eC188a7Bba472fB83017F

BOOK Smart Contract

Non-upgradeable, standard ERC20

0x3f669d02B58C2E35E273c7A5e2b8eE83a6b682f7

Track BOOK Burns

Upgradeable, does not handle funds

0x24ad3a59aF9a201621a8df15eC84153bEFd4068c

FarmClonable - A base contract that is cloned for each weekly farm

Non-upgradeable. This contract supplies logic to all clones

0xbB0E532DDd62B98236a6fC7f37f6735031c55610

FarmFactory - Creates and tracks FarmClones. Holds BOOK rewards

Upgradeable. Holds BOOK for future farms, has no access to user deposits

Security Approach

When designing the BOOK project smart contract infrastructure, it was critical to keep certain contracts able to be improved in the future, but at the same time have users deposit funds to trusted, non-upgradeable contracts.

This was achieved by having certain contracts be upgradeable, contracts which do not have access to user funds.

User funds which have been deposited to farms, are all stored in weekly cloned farm contracts. These contracts are not upgradeable, and are verfified to be able to see security directly on chain.

Farm Contract Addresses

To find the farm contract addresses, you will need to query the "FarmFactory" contract. The easiest way to do this is via the "chapterToFarm" view. You input the chapter (week) that you want to get the farm address for, and it will return it to you.

Last updated