pub struct ReputationContract { /* private fields */ }
Expand description

Implementation of the Reputation Contract.

Implementations§

source§

impl ReputationContract

source

pub fn init(&mut self)

Constructor method.

It initializes contract elements:

  • Events dictionary.
  • Named keys of AccessControl.
  • Set caller as the owner of the contract.
  • Add caller to the whitelist.
§Events
source

pub fn mint_passive(&mut self, recipient: Address, amount: Balance)

Increases the balance of the passive reputation of the given address.

§Errors
source

pub fn burn_passive(&mut self, owner: Address, amount: Balance)

Decreases the balance of the passive reputation of the given address.

§Errors
source

pub fn passive_balance_of(&self, address: Address) -> Balance

Returns the current passive balance of the given address.

source

pub fn propose_new_owner(&mut self, owner: Address)

Changes ownership of the contract. Transfer the ownership to the owner. Only the current owner is permitted to call this method.

See AccessControl

source

pub fn accept_new_owner(&mut self)

Accepts the new owner proposition. This can be called only by the proposed owner. See AccessControl

source

pub fn add_to_whitelist(&mut self, address: Address)

Adds a new address to the whitelist.

See AccessControl

source

pub fn remove_from_whitelist(&mut self, address: Address)

Removes address from the whitelist.

See AccessControl

source

pub fn is_whitelisted(&self, address: Address) -> bool

Checks whether the given address is added to the whitelist.

source

pub fn get_owner(&self) -> Option<Address>

Returns the address of the current owner.

source

pub fn mint(&mut self, recipient: Address, amount: Balance)

Mints new tokens. Adds amount of new tokens to the balance of the recipient and increments the total supply. Only whitelisted addresses are permitted to call this method.

§Errors
§Events
source

pub fn burn(&mut self, owner: Address, amount: Balance)

Burns existing tokens. Removes amount of existing tokens from the balance of the owner and decrements the total supply. Only whitelisted addresses are permitted to call this method.

§Errors
§Events
source

pub fn total_supply(&self) -> Balance

Returns the total token supply.

source

pub fn balance_of(&self, address: Address) -> Balance

Returns the current token balance of the given address.

source

pub fn bulk_mint_burn( &mut self, mints: BTreeMap<Address, Balance>, burns: BTreeMap<Address, Balance> )

Redistributes the reputation based on the voting summary

source

pub fn burn_all(&mut self, owner: Address)

Burns all the tokens of the owner.

source

pub fn stake(&mut self, voter: Address, stake: Balance)

source

pub fn unstake(&mut self, voter: Address, stake: Balance)

source

pub fn bulk_unstake(&mut self, stakes: Vec<(Address, Balance)>)

source

pub fn get_stake(&self, address: Address) -> Balance

source

pub fn all_balances(&self) -> AggregatedBalance

Gets balances of all the token holders.

source

pub fn partial_balances(&self, addresses: Vec<Address>) -> AggregatedBalance

Gets balances of the given account addresses.

Trait Implementations§

source§

impl Clone for ReputationContract

source§

fn clone(&self) -> ReputationContract

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl DynamicInstance for ReputationContract

source§

fn instance(namespace: &[u8]) -> Self

source§

impl HasEvents for ReputationContract

source§

fn events() -> Vec<Event>

source§

impl Node for ReputationContract

source§

const IS_LEAF: bool = false

source§

const COUNT: u32 = 35u32

source§

fn __keys() -> Vec<String>

source§

impl OdraItem for ReputationContract

source§

impl StaticInstance for ReputationContract

source§

fn instance<'a>(keys: &'a [&'a str]) -> (Self, &'a [&'a str])

Consumes keys required to create an instance, returns the instance with the remaining keys.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.