Complexity: Medium
Problem: Protocol parameters (max LTV, accepted asset types, fee rate) need a single on-chain source of truth readable by all contracts.
Scope: Build a ProtocolConfig contract that stores and exposes protocol parameters, writable only by governance or admin.
Key methods: set_param(key, value), get_param(key), get_all_params(), set_admin(address)
Acceptance criteria: All contracts read from this config. Only governance contract or admin can update values.
Files to create:
contracts/protocol-config/src/lib.rs
contracts/protocol-config/src/storage.rs
contracts/protocol-config/src/errors.rs
contracts/protocol-config/Cargo.toml
Complexity: Medium
Problem: Protocol parameters (max LTV, accepted asset types, fee rate) need a single on-chain source of truth readable by all contracts.
Scope: Build a ProtocolConfig contract that stores and exposes protocol parameters, writable only by governance or admin.
Key methods: set_param(key, value), get_param(key), get_all_params(), set_admin(address)
Acceptance criteria: All contracts read from this config. Only governance contract or admin can update values.
Files to create:
contracts/protocol-config/src/lib.rs
contracts/protocol-config/src/storage.rs
contracts/protocol-config/src/errors.rs
contracts/protocol-config/Cargo.toml