Releases: keep-network/sortition-pools
v2.0.0
A sortition pool is a logarithmic data structure used to store the pool of eligible operators weighted by their stakes. It allows selecting a group of operators based on the provided pseudo-random seed and optional bonding requirements. This release is the second version of the contracts and is one of the critical elements underpinning tBTC v2. In v2, the sortition pool works in an optimistic mode in a locked state. This allowed to save gas and simplify the code. Additionally, in v2, the sortition pool implements support for reward distribution and tBTC v2 chaosnet phase.
The release commit hash is signed by the deployment team, verifiable on Keybase. Our Keybase usernames are all associated with the Keep organization and with our GitHub usernames.
Commit hash for clean builds is 8048806a05826785075a926485e0320a7bb75745
.
Signatures of commit hash from the deployment team (verify these in the Keybase app):
-
@pdyraga:
BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zk8SRO9e gN94erb57G43YvY asc2ypx7KtJhJpq tOozFkj38o4WzVz Imv2qF4qUiCVNID 0R94ChQ4ko8CsXb nCUmIszrlz7vnLb MegAKFiTh06o6c5 RjjnvrmcWLwrHrM 3fAYZDzqmpaCq4O atm6liXhRkUkabk VBjK9mQas3rbDvS wSHiOiEE2oKREE5 TNuUM0S7mnHSn4E IJYpZP8ALElP7MT . END KEYBASE SALTPACK SIGNED MESSAGE. -
@nkuba:
BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkUgHswq LONGnytauGuQ68W zKcm0YTewHXEGd3 2M8FiSegATBW4bS VgZ5UPSeJyYEl12 lsQLEiKFuA6jvY4 SNX1O6VK6RJZqEm SBKgWYbLB6itJbF b49tli8w5RIiWsJ Fxg7A03avuHfgck wBJOPv7SxTfr9ee 3sHv1YBPRVew6NO Y1w5I0A6HpgkkcQ s1yZm1s89TU6sbT 1clowBlihgxjiOl u. END KEYBASE SALTPACK SIGNED MESSAGE.
Finally, note that the full set of work that went into the 2.0.0 version can be found in the corresponding v2.0.0 milestone.
v1.1.2
v1.1.1
v1.1.0
This version introduces changes to how minimum unbonded value is handled.
There are two separate values now: one defining the minimum unbonded value the operator needs to have so that it can join and stay in the pool, and another defining the required bond value for the current selection. If the given operator has enough unbonded value to stay in the pool but it does not have enough unbonded value for the current group selection, it is skipped. If the given operator does not have enough unbonded value to stay in the pool, it is deleted from there.
A reasonable minimum unbonded value should be set on BondedSortitionPool creation and updated later by the pool owner (application) as needed.
The npm package corresponding to this release contains the Solidity code of all the contracts and libraries.
v1.0.0
🎉
Sortition pool is a logarithmic data structure used to store the pool of eligible operators weighted by their stakes. It allows selecting a group of operators based on the provided pseudo-random seed and optional bonding requirements.
In this version we ship three versions of sortition pools:
- Bonded sortition pool for KEEP stake and ETH bond where KEEP stake is used to determine the operator's weight. Allows selecting a group of unique operators based on the provided bonding requirements. Used by
keep-network/keep-ecdsa
. - Fully-backed sortition pool for ETH bond where ETH bond is used to determine the operator's weight. Allows selecting a group of unique operators based on the provided bonding requirements. Used by
keep-network/keep-ecdsa
. - Standard sortition pool, allowing to select operators group with possible duplicates. Not currently used by
keep-network
projects.
The npm package corresponding to this release contains the Solidity code of all the contracts and libraries.
v0.3.0
v0.2.0
v0.1.1
Sortition pool is a logarithmic data structure used to store the pool of eligible operators weighted by their stakes.
In this version, we ship two versions of sortition pool: bonded sortition pool allowing to select group of unique operators based on the provided bonding requirements and standard sortition pool allowing to select operators group with possible duplicates.