Record a reputation change for member. Callable only by an authorized
circle; reporter is the calling circle (verified via auth).
fn record(
env: soroban_sdk::Env,
reporter: soroban_sdk::Address,
member: soroban_sdk::Address,
delta: i64,
) -> Result
Replace this contract's code. Reputation holds scores rather than funds, so an upgrade can fix bugs without putting anyone's money at risk.
fn upgrade(
env: soroban_sdk::Env,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn get_score(env: soroban_sdk::Env, member: soroban_sdk::Address) -> i64
Hand the admin role to another account — the route to a multisig or a timelock once the protocol is live.
fn set_admin(
env: soroban_sdk::Env,
new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Set the admin account that may configure the Factory.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Point reputation at the Factory contract that will authorize circles.
fn set_factory(
env: soroban_sdk::Env,
factory: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn is_authorized(env: soroban_sdk::Env, circle: soroban_sdk::Address) -> bool
Authorize a circle to write reputation. Callable only by the Factory.
fn authorize_circle(
env: soroban_sdk::Env,
circle: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>