Skip to content

Releases: keep-network/keep-core

v1.1.2 (Mainnet)

05 May 18:27
Compare
Choose a tag to compare

KEEP random beacon contract release, dashboard release, and client release.

v1.1.2 is the final release of 3 key contracts that implement the Solidity side of the Keep
random beacon on Ethereum mainnet. These are:

  • KeepRandomBeaconOperator, the random beacon operator contract that is the primary interaction point for random beacon clients. This is the only contract that authorizers need to authorize to allow their operators to operate on the random beacon, and is currently the only contract that (with authorizer opt-in) can slash KEEP token stakes. Read more about operator and service contracts in the Keep spec's section on upgrade management.
  • KeepRandomBeaconService, the random beacon service contract proxy that is the primary interaction point for users of the random beacon. It proxies to the v1 implementation.
  • KeepRandomBeaconServiceImplV1, the random beacon service contract proxy's first implementation version. It exposes the requestRelayEntry() and requestRelayEntry(address callbackContract, uint256 callbackGas) methods for requesting random beacon entries for off-chain observation or on-chain callback interaction. Service contracts have no authority to slash KEEP stakes, and are generally not part of operator contract interactions---they are solely meant for users of the beacon. Read more about operator and service contracts in the Keep spec's section on upgrade management.

Additionally, the token dashboard is now live at https://dashboard.keep.network, where holders of KEEP can delegate to operators and start preparing for the beacon genesis that will kick off the random beacon.

In addition to the primary contracts for the beacon, we're providing three pieces of information for operators and other interested parties:

  • The Docker Hub image hash.
  • The release commit hash.
  • The token dashboard Docker Hub image hash.

The token dashboard is a dApp, so anyone can run it locally. All three hashes are signed by the deployment team, verifiable on Keybase. Our Keybase usernames are all associated with the Keep organization and with our GitHub usernames.


Docker image is available as docker pull keepnetwork/keep-client:v1.1.2; sha256sum is sha256:1b5a037fe075cae8f5971ad562a4cd7270ee3d49c6975e399836fce57c8259bd.

Signatures of sha256sum from the deployment team (verify these in the Keybase app):

  • @pdyraga:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkKUP1mo cBOwsMO2Zoy9oS4 RuaO1bwgSUG4cNZ RnlK7jKb7irSWe9 KARWToj4J60WJdY fI0G0h2b3RZTa0o XnyyvvMnWtOzKhY 8AlF5Z7wjCLO39D vbPTis0pL2jibWf gMSPGL7dudHULVD WFFROwh5nsDmLaz qsD2qUi6kcupUGT HWKQuVp8lXom3bS maJfBDNBeTGOXJr bXer9uYuB3xAXRv qYAzl7TXxijqBNj MZv7BqgHSAXAJh2 gOk2zIjVTwC. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @Shadowfiend:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkRMWMh1 JAnp4lsgZJIjzvr yngUuYInEhTBQX5 v8JCf8VmyrXRrbh hi23mZUlRVGuzSS e3eZdEQWrIoiTeF VOmjfag65WnvqTe xrw0mCfMLpcKqmO MTKdtLgFrj4bZ9P PORgpnauGnoOzBY UhhGgYSAuyRPqg0 fhYvuisZNljUW8L JBGWxNiTcWpSYI8 tPLWfDNBeTGOXJr bXer9uYuB3xAXRv qYAzl7TXxijqBNj MZv7BqgHSAXAJh2 gOk2zIjVTwC. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @nkuba:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkUgHswq LONGnytauGuQ68W zKcm0YTewHXEGd3 2M8FiSegAT4HyFZ 6W7UeYxbpms6qi2 1Zr9wo1zvpiBsgt ceSwrxlhnUPsAmu Cva8lgCmsHdeCUO offGRgJIVIU9kqW X1sigxHASOEP0Yt mZHidjOTfqGugck AFGILOn6Hjiq40V XKThOSuDpWjo2Dv gszkzDNBeTGOXJr bXer9uYuB3xAXRv qYAzl7TXxijqBNj MZv7BqgHSAXAJh2 gOk2zIjVTwC. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @sthompson22:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zk90o9Mi AQ4Q0masVnp14vX ToxAMpoeQ1wBD8c XBrn3XH3hbvRZyx 7LzpbukSQyYYuWk 6v73nQANGPWukWQ wXBvHiWaEGUWaAt YT9RLTermEVOoif QlZCF1YrqQn3vfL FmMkmOjXoH5iGWo sjDFuZCuked2iWz nIKIu4ucUzhycA2 LRZfHHMjWBAOp21 m54ZZDNBeTGOXJr bXer9uYuB3xAXRv qYAzl7TXxijqBNj MZv7BqgHSAXAJh2 gOk2zIjVTwC. END KEYBASE SALTPACK SIGNED MESSAGE.


Commit hash for clean builds is d00bd2ced31d3ab1258f1f1e794aec5b1d3eedef.

Signatures of commit hash from the deployment team (verify these in the Keybase app):

  • @pdyraga:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkKUP1mo cBOwsMO2Zoy9oS4 RuaO1bwgSUG4cNZ RnlK7jKb7ifbMHY byTyxu5Z8yn1Wl2 nNzX0O2hlpT6mxa eDzyDq0J06O4xtp JUSazgz92V63m9m rL8qmefUhFsOYR7 jB8gB3aYce418rL ixLEkdF6z42qAO3 bj939lV4udxRepp 6re1jXbH4S8BYk7 4bPkc0Pd5aIFqjg PlSzxTCPOfOzgeM . END KEYBASE SALTPACK SIGNED MESSAGE.

  • @Shadowfiend:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkRMWMh1 JAnp4lsgZJIjzvr yngUuYInEhTBQX5 v8JCf8VmyrjPMdN 2KUxEuTta6fOU7Y g8xzJwdONDnM31l wTZTw4Ts8rfyXh3 vHRGg9gLQfQeGnJ 34lHlJDqvi3nTyg g0zus6UvuqlLiaM 7xrno7mdzCdXZXT 3dyO6asem6xRBNp 1IG1wql901eK1VI vBFzi0Pd5aIFqjg PlSzxTCPOfOzgeM . END KEYBASE SALTPACK SIGNED MESSAGE.

  • @nkuba:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkUgHswq LONGnytauGuQ68W zKcm0YTewHXEGd3 2M8FiSegAUMsLmk 0c3SvqMfMRCAk7f bJHPX1yuvgC9ko4 cmsYequHdxT5bjB XyoNdt6X9IRBHjR UoUYquXIAk0HJMp VRFTJgPHHXUjKgL dIFyqBusRUmg7Lt gjT1Am2DA74GI9K E7UFEAeTRXNsLha k46aM0Pd5aIFqjg PlSzxTCPOfOzgeM . END KEYBASE SALTPACK SIGNED MESSAGE.

  • @sthompson22:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zk90o9Mi AQ4Q0masVnp14vX ToxAMpoeQ1wBD8c XBrn3XH3hdNYCMQ lB9M6ss6L8aSqon VwJdnWcx2TNKegG 1UHyvIAz07lcd41 PYvOBqmvnQrE3md jvD5yxVVK1yOnP0 rlAeScYrAYbm8eR 2OqHapJjGRQiQdr gPxupbyYtpOhIk3 VrjDLE6xWmhcBhE uHY5m0Pd5aIFqjg PlSzxTCPOfOzgeM . END KEYBASE SALTPACK SIGNED MESSAGE.


Token dashboard docker image is available as docker pull keepnetwork/token-dashboard:v1.0.0; sha256sum is sha256:1dfadbe6ba6772aef71886141a9b39e001625e36efe187e8252da89d5aa01699.

Signatures of commit hash from the deployment team (verify these in the Keybase app):

  • @pdyraga:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkKUP1mo cBOwsMO2Zoy9oS4 RuaO1bwgSUG4cNZ RnlK7jKb7jqTRVm vz8dlZ5gyWjntiu FbLFdN2Zn4wPXxU cVDgvlGvnwZP2aA qSNFZnqzdWf8xxp tsAy9OxANhA7g7L iBF1gHQ732KK9gv BkjIcbZt758r9aT s7A88ZnYWMD0DQn EUT9CXyTSH1BwFo UL2yPO2mZ5DM94d sBFpsKN98eLVnK5 U39ZKna2mhglVHf k0573qNvTbOYrtX WY47ntDhyOX. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @Shadowfiend:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkRMWMh1 JAnp4lsgZJIjzvr yngUuYInEhTBQX5 v8JCf8Vmyqwv5pa WrX2QBt2cjq45z6 42x5oS47IpOvc1R 7otgm22ZDFMYsBL uzD8Tl10dBWFdAs l5Itr3lA9LIrmna MudvZJeAb057jOZ gVazHUDJT5mxKVg AKAQ9keNM9HE2wF 9NSF13mxZdwScR4 a3XYvO2mZ5DM94d sBFpsKN98eLVnK5 U39ZKna2mhglVHf k0573qNvTbOYrtX WY47ntDhyOX. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @nkuba:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkUgHswq LONGnytauGuQ68W zKcm0YTewHXEGd3 2M8FiSegAUUG3Jr spZElzAXlVqmujC pSzOtqc7uiqjCB7 6MAAOhxGgiCJ3lp HlqPVFRdgRGGGRc ZtY0gQv2AG2z8it jtUVlUwwrVkvgYU A0whmKYUUNhCUpT xVVNj5dvdGxCrPm Z5Vgt0hu7cDOZsT Vph45O2mZ5DM94d sBFpsKN98eLVnK5 U39ZKna2mhglVHf k0573qNvTbOYrtX WY47ntDhyOX. END KEYBASE SALTPACK SIGNED MESSAGE.

  • @sthompson22
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zk90o9Mi AQ4Q0masVnp14vX ToxAMpoeQ1wBD8c XBrn3XH3hcR8Knb TQvzpYIdqfuYW25 DFhavXk1IfRbGm7 XlNn0qXT5Ha7Dmd GJN9GtPiuR4ugSM pN0AGhPwIaITv0U rqokUpZ4XjhmzV7 O8cTxfGDACz1GXk 23Dy7HmQYG9tmPe neQAzCd90dP3iAM juQoDO2mZ5DM94d sBFpsKN98eLVnK5 U39ZKna2mhglVHf k0573qNvTbOYrtX WY47ntDhyOX. END KEYBASE SALTPACK SIGNED MESSAGE.

v1.1.1 (Ropsten)

01 May 17:22
f6f74e0
Compare
Choose a tag to compare
v1.1.1 (Ropsten) Pre-release
Pre-release
  • Improved relay request confirmation mechanism by adding retries (#1729)
  • Log getting selected participant retries on info level (#1730)

KEEP Token Dashboard:

  • Left-side menu updates (#1631)
  • Fonts updates (#1630)

v1.1.0 (Ropsten)

30 Apr 16:20
c860f5f
Compare
Choose a tag to compare
v1.1.0 (Ropsten) Pre-release
Pre-release
  • Bugfix: Use groupSelectionStarterContract to reimburse for failed DKG (#1718)
  • Bugfix: Use correct From address for contract call options (#1708)
  • Set result publication step to 6 blocks (#1714)
  • DKG frequency adjustment (#1660)
  • Relay entry timeout slashing ramp-up (#1692)
  • Check current entry status after signature error (#1710)
  • Resume relay entry signing after client restart (#1691)
  • Updated keep-common dependency to v0.3.1-rc (#1717)
  • Fix for wait-for-stake log message (#1682)
  • Hardcode callback gas limit (#1711)
  • Beacon smart contracts documentation reformatted (#1713)

KEEP Token Dashboard:

  • Updated dependencies to fix moderate and high vulnerabilities (#1370)

v1.0.1

29 Apr 21:56
34f4638
Compare
Choose a tag to compare

KEEP token and grant contracts deployed to mainnet 🎉

v1.0.1 is the final release of 5 key contracts that form the core of the Keep network. These are:

  • KeepRegistry, the main Keep governance contract. Governance in Keep is opt-in per contract, read more in the Keep spec's section on upgrade management.
  • KeepToken, Keep's work token. Read more about the token's role on the Keep blog.
  • TokenGrant, Keep's token grant management contract. This contract handles details of grant lockups, unlocking, and withdrawal.
  • TokenStaking, Keep's token staking contract. This contract handles the process of delegating tokens to operator accounts, managing beneficiary accounts, and authorizing operator contracts. Read more about this in the Keep spec's section on staking.

The npm package corresponding to this release contains only artifacts for the deployed contracts, while the next release will include the remainder of the Keep contracts and the first mainnet version of the Keep client.

v0.14.1 (Ropsten)

24 Apr 13:31
5cd74ac
Compare
Choose a tag to compare
v0.14.1 (Ropsten) Pre-release
Pre-release
  • Broadcast channel forwarder fix (#1680)
  • Keep all Registry contract roles public (#1675)
  • Various log message and level precision improvements (#1658, #1676)
  • Consistent formatting of function docs in TokenGrant contract (#1674)

v0.14.0 (Ropsten)

22 Apr 17:02
8dbc6ad
Compare
Choose a tag to compare
v0.14.0 (Ropsten) Pre-release
Pre-release
  • Bugfix: "View in Block Explorer" link does not work (#1577)
  • Bugfix: Group expiration off-by-one fix (#1650)
  • Bugfix: Panic with slice bounds out during handshake (#1596)
  • Finalized on-chain parameters (#1545)
  • Record and provide more information on groups (#1602)
  • Panic button improvements: permanently approve, panic per contract (#1600)
  • Fixed revoked grant staking interactions (#1614)
  • Customize managed grant staking policy (#1615)
  • Reassigning token grantee (#1529)
  • Interface for beacon consumers (#1537)
  • stake-timeout flag for keep client (#1607)
  • Longer delay between GetSelectedParticipant retries (#1598)
  • Do not publish DKG result with minimal number of supporting signatures (#1585)
  • Handle duplicate events (#1608)
  • Improve error message when starting client without contract authorization (#1578)
  • Peers outside of the group participate in dissemination of broadcast channel messages (#1641)
  • Cache HasMinimumStake results for a certain time (#1627)
  • Peer discovery tweaks (#1639)
  • Pluggable firewall policies (#1588)
  • KEEP faucet improvements (#1606, #1647)
  • Upgradeable Dashboard: Add contract resolution step to dashboard build (#1649)

v0.13.0 (Ropsten)

13 Apr 20:16
c796dd7
Compare
Choose a tag to compare
v0.13.0 (Ropsten) Pre-release
Pre-release
  • Bugfix: keep-core ethereum helper methods do not work (#1579)
  • Bugfix: Incorrect gas estimation for the first relay entry submitter (#1479)
  • Quicker relay entries (#1391)
  • Pin Solidity version to a final version for mainnet (#1552)
  • Improve off-chain ticket value representation consistency (#1557)
  • Stake lock and delegated authorization (#1490)
  • Allow to delegate revocable grant (#1478)

v0.12.0 (Ropsten)

03 Apr 16:50
88b55a3
Compare
Choose a tag to compare
v0.12.0 (Ropsten) Pre-release
Pre-release
  • Bugfix: Service contract callbacks can be abused to call into other contracts (#1527)
  • Bugfix: Improper length validation in BLS signature library (#1522)
  • Bugfix: DKGResultVerification.verify unsafe packing in signed data (#1524)
  • Bugfix: Do not allow to recover stake without first undelegating (#1520)
  • Service contract implementation initialization call moved to the complete upgrade step (#1517)
  • Minimum stake parameterization and schedule (#1368)
  • ModUtils optimization (#1496)
  • Optimized ticket submission protocol for keep clients (#1431)
  • Validate member index against group selection result (#484, #834)
  • Validation of signature shares (#1075)
  • Member should not leave the group if it agrees with group public key (#1325)
  • Adjusted start.sh script to behave the same as the one in keep-ecdsa (#1502)
  • Moved AddrStrings from net.Provider to net.ConnectionManager (#1375)
  • Removed Peers() function from net.Provider (#1376)
  • Represent initialization and undelegation period in TokenStaking contract as timestamps (#1501)

KEEP Token Dashboard:

  • Display rewards as they accumulate (#1504)
  • Slashed Tokens component on Operations page (#1378)
  • Grant is getting unlocked, not vested (#1390, #1486)

v0.11.0

20 Mar 09:23
9f8b13f
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release
  • Bugfix: Increase group selection gas estimate (#1484)
  • Bugfix: Revoked grant - return whatever unlocked until the time the grant has been revoked (#1468)
  • Bugfix: RegistryKeeper cannot re-enable operator contract disabled via panic button (#1406)
  • Bugfix: Fixed SafeMath underflow in TokenGrant.withdrawable() (#1464)
  • Initialize implementations for proxy contracts and protect initialization methods (#1424)
  • Two-step proxy upgrades (#1423)
  • Bound leaked key proof to the reporter (#1405)
  • Token grant and token stake does no longer allow staking less than minimum stake (#1425)
  • Emit events on Registry updates (#1477)
  • Stake operator should not be eligible if undelegatedAt is set (#1433)
  • Eliminate price feed, use price ceiling (#1021)
  • Grant manager staking contract authorizations (#1458)
  • Use a proxy owner contract for grant stakes (#1451)
  • Optimize ticket submissions by compressing previous ticket data (#1435)
  • Stake is protected from slash() and seize() during initialization period (#1426)
  • Circle: Tenderly integration (#1483)

KEEP Token Dashboard:

  • No longer needed to refresh browser after redeeming a token grant (#1465)
  • Handle comma in token amount when delegating (#1466)
  • Fixed copy address to clipboard support (#1487)

v0.10.0

13 Mar 10:36
6e99790
Compare
Choose a tag to compare
v0.10.0 Pre-release
Pre-release
  • Bugfix: TokenStaking.seize fails when the operator has less stake than seized (#1428)
  • Bugfix: TokenStaking.slash fails when the operator has less stake than slashed (#1410)
  • Bugfix: Grant stakes info not cleared up after cancelling grant delegation (#1447)
  • Bugfix: Staked grant amount not updated when cancelling delegation (#1446)
  • Retain Stake delegation info (#1444)
  • Avoid overlapping phases when using timed periods (#1443)
  • Simplify notUndelegated condition in TokenStaking.eligibleStake (#1392)
  • Consistent use of SafeERC20 for ERC20 tokens (#1407)
  • Split off code generators to keep-common repo (#1011)
  • Local development setup scripts (#1364)
  • Checking in generated code (#1369)
  • Drop solidity-bytes-utils dependency (#1393)
  • Client start welcome banner (#1399)
  • Block counter refactoring (#1394)

KEEP Token Dashboard:

  • Ropsten deployment (#1400)
  • Bugfix: No match for /overview (#1372)
  • Unified branding (#1269)
  • Adjust token undelegation components to the new version (#1379)
  • Remove old page, cleanup unused libraries (#1414)
  • Authorizations flow (#1413)
  • Footer (#1412)
  • Token grant vesting circles (#1409)
  • Rewards page updates (#1403)
  • MetaMask banner component (#1402)
  • Delegation and undelegation status on Tokens page (#1381)
  • Action in progress button state (#1382)
  • Undelegate / Cancel / Recover buttons for delegation and undelegation components (#1380)
  • Speech bubble info message component (#1367)
  • Integrate token grants with token overview page (#1267)