Git Product home page Git Product logo

Comments (1)

hackfisher avatar hackfisher commented on May 26, 2024

e.g. ACCURACY in following code snippts

const ACCURACY: u128 = u32::max_value() as ExtendedBalance + 1;
	// TODO: ready for hacking
	// power is a mixture of ring and kton
	fn slashable_balance_of(stash: &T::AccountId) -> ExtendedBalance {
		Self::bonded(stash)
			.and_then(Self::ledger)
			.map(|l| {
				l.active_ring.saturated_into::<ExtendedBalance>()
					+ l.active_kton.saturated_into::<ExtendedBalance>() * Self::kton_vote_weight() / ACCURACY
			})
			.unwrap_or_default()
	}
	// total_kton * kton_vote_weight / ACCURACY = total_ring
	// it ensures that when rewarding validators
	// reward to ring_pool will be the same with the
	// reward to kton_pool
	// that means 50% reward is distributed to ring holders,
	// another 50% reward is distributed to kton holders
	fn kton_vote_weight() -> ExtendedBalance {
		let total_ring = Self::ring_pool().saturated_into::<ExtendedBalance>();
		// to avoid 'attempt to divide by zero'
		let total_kton = Self::kton_pool().saturated_into::<ExtendedBalance>().max(1);
		// total_ring and total_kton are within the scope of u64
		// so it is safe to multiply ACCURACY when extended to u128
		total_ring * ACCURACY / total_kton
	}

from darwinia.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.