Enum noble_tips::Call[][src]

pub enum Call<T: Config> {
    report_awesome(Vec<u8>, T::AccountId),
    retract_tip(T::Hash),
    tip_new(Vec<u8>, T::AccountIdBalanceOf<T>),
    tip(T::HashBalanceOf<T>),
    close_tip(T::Hash),
    slash_tip(T::Hash),
    // some variants omitted
}

Dispatchable calls.

Each variant of this enum maps to a dispatchable function from the associated module.

Variants

report_awesome(Vec<u8>, T::AccountId)

Report something reason that deserves a tip and claim any eventual the finder’s fee.

The dispatch origin for this call must be Signed.

Payment: TipReportDepositBase will be reserved from the origin account, as well as DataDepositPerByte for each byte in reason.

  • reason: The reason for, or the thing that deserves, the tip; generally this will be a UTF-8-encoded URL.
  • who: The account which should be credited for the tip.

Emits NewTip if successful.

  • Complexity: O(R) where R length of reason.
    • encoding and hashing of ‘reason’
  • DbReads: Reasons, Tips
  • DbWrites: Reasons, Tips

retract_tip(T::Hash)

Retract a prior tip-report from report_awesome, and cancel the process of tipping.

If successful, the original deposit will be unreserved.

The dispatch origin for this call must be Signed and the tip identified by hash must have been reported by the signing account through report_awesome (and not through tip_new).

  • hash: The identity of the open tip for which a tip value is declared. This is formed as the hash of the tuple of the original tip reason and the beneficiary account ID.

Emits TipRetracted if successful.

  • Complexity: O(1)
    • Depends on the length of T::Hash which is fixed.
  • DbReads: Tips, origin account
  • DbWrites: Reasons, Tips, origin account

tip_new(Vec<u8>, T::AccountIdBalanceOf<T>)

Give a tip for something new; no finder’s fee will be taken.

The dispatch origin for this call must be Signed and the signing account must be a member of the Tippers set.

  • reason: The reason for, or the thing that deserves, the tip; generally this will be a UTF-8-encoded URL.
  • who: The account which should be credited for the tip.
  • tip_value: The amount of tip that the sender would like to give. The median tip value of active tippers will be given to the who.

Emits NewTip if successful.

  • Complexity: O(R + T) where R length of reason, T is the number of tippers.
    • O(T): decoding Tipper vec of length T T is charged as upper bound given by ContainsLengthBound. The actual cost depends on the implementation of T::Tippers.
    • O(R): hashing and encoding of reason of length R
  • DbReads: Tippers, Reasons
  • DbWrites: Reasons, Tips

tip(T::HashBalanceOf<T>)

Declare a tip value for an already-open tip.

The dispatch origin for this call must be Signed and the signing account must be a member of the Tippers set.

  • hash: The identity of the open tip for which a tip value is declared. This is formed as the hash of the tuple of the hash of the original tip reason and the beneficiary account ID.
  • tip_value: The amount of tip that the sender would like to give. The median tip value of active tippers will be given to the who.

Emits TipClosing if the threshold of tippers has been reached and the countdown period has started.

  • Complexity: O(T) where T is the number of tippers. decoding Tipper vec of length T, insert tip and check closing, T is charged as upper bound given by ContainsLengthBound. The actual cost depends on the implementation of T::Tippers.

    Actually weight could be lower as it depends on how many tips are in OpenTip but it is weighted as if almost full i.e of length T-1.

  • DbReads: Tippers, Tips

  • DbWrites: Tips

close_tip(T::Hash)

Close and payout a tip.

The dispatch origin for this call must be Signed.

The tip identified by hash must have finished its countdown period.

  • hash: The identity of the open tip for which a tip value is declared. This is formed as the hash of the tuple of the original tip reason and the beneficiary account ID.

  • Complexity: O(T) where T is the number of tippers. decoding Tipper vec of length T. T is charged as upper bound given by ContainsLengthBound. The actual cost depends on the implementation of T::Tippers.
  • DbReads: Tips, Tippers, tip finder
  • DbWrites: Reasons, Tips, Tippers, tip finder

slash_tip(T::Hash)

Remove and slash an already-open tip.

May only be called from T::RejectOrigin.

As a result, the finder is slashed and the deposits are lost.

Emits TipSlashed if successful.

T is charged as upper bound given by ContainsLengthBound. The actual cost depends on the implementation of T::Tippers.

Trait Implementations

impl<T: Config> Clone for Call<T>[src]

impl<T: Config> Debug for Call<T>[src]

impl<T: Config> Decode for Call<T> where
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    BalanceOf<T>: HasCompact,
    BalanceOf<T>: HasCompact
[src]

impl<T: Config> Encode for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    BalanceOf<T>: HasCompact,
    BalanceOf<T>: HasCompact
[src]

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    BalanceOf<T>: HasCompact,
    BalanceOf<T>: HasCompact
[src]

impl<T: Config> Eq for Call<T>[src]

impl<T: Config> GetCallName for Call<T>[src]

impl<T: Config> GetDispatchInfo for Call<T>[src]

impl<T: Config> PartialEq<Call<T>> for Call<T>[src]

impl<T: Config> UnfilteredDispatchable for Call<T>[src]

type Origin = T::Origin

The origin type of the runtime, (i.e. fabric_system::Config::Origin).

Auto Trait Implementations

impl<T> RefUnwindSafe for Call<T> where
    T: RefUnwindSafe,
    <T as Config>::AccountId: RefUnwindSafe,
    <<T as Config<DefaultInstance>>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
    <T as Config>::Hash: RefUnwindSafe

impl<T> Send for Call<T> where
    T: Send,
    <<T as Config<DefaultInstance>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Send

impl<T> Sync for Call<T> where
    T: Sync,
    <<T as Config<DefaultInstance>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Sync

impl<T> Unpin for Call<T> where
    T: Unpin,
    <T as Config>::AccountId: Unpin,
    <<T as Config<DefaultInstance>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Unpin,
    <T as Config>::Hash: Unpin

impl<T> UnwindSafe for Call<T> where
    T: UnwindSafe,
    <T as Config>::AccountId: UnwindSafe,
    <<T as Config<DefaultInstance>>::Currency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe,
    <T as Config>::Hash: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Decode + Encode
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<T> DynClone for T where
    T: Clone
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: ToOwned + Encode
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T> Hashable for T where
    T: Codec
[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 

pub fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone
[src]

impl<T> Parameter for T where
    T: Codec + EncodeLike<T> + Clone + Eq + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,