Skip to content

Releases: JoinColony/colonyNetwork

Fuchsia LWSS

06 May 09:21
32e1fa2
Compare
Choose a tag to compare

For Fuchsia LWSS, users will be requested to upgrade their colonies to v9, but for now the improvements are behind-the-scenes if you're using the dapp.

The xDai ColonyNetwork remains at:

xdai: 0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remains unchanged, but we recommend is no longer used.

Functionality

  • Adds support for metatransactions (#962, #976)
  • (Non-contract) Improve performance of the reputation miner in many respects (#985, #996, #997, #1014, #1015, #1021, #1025)
  • Allow domains to be deprecated (#983)
  • Add the concept of 'local skills' to a colony - the same as global skills, that e.g. an expenditure can be tagged with to award reputation in, but exist only for a single colony (#986)
  • Emit some extra events to make front-end lives easier (#1022)
  • Add a new function that will be used by the frontend to allow proposals to be made that affect colony metadata blobs without overwriting changes made while the proposal went through its lifecycle (#1033)

Fixes

  • Adjust eligibility in reputation mining submissions so that every miner has at least ten minutes to defend a submission before it can be invalidated (#1030)
  • Add some events to Coinmachine to make development of the interface easier (#1022)

Maintenance

  • Tweak version check scripts as we bed them in (#994, #998)
  • Add a new script useful for developing against reputation (#1037)
  • Improve our test suite speed (#999)
  • Update versions of various libraries in the repository (#1012, #1017, #1018, #1019, #1023, #1029, #1038)

Ebony LWSS 3

14 Feb 14:46
7c8bbae
Compare
Choose a tag to compare

Hopefully the last of the elwss releases, this release can once again be considered a 'patch' release. Users do not need to upgrade their colonies or extensions.

The xDai ColonyNetwork remains at:

xdai: 0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remains unchanged, but we recommend is no longer used.

Functionality

  • Adds support for 'delegated mining' (#1011)

Fixes

  • Correct and subsequently use internal bookkeeping on Colony Network regarding mining (#1016)
  • Fix a bug in CoinMachine to do with partial refunds when the chain's native token is used in a sale (#1008). This goes to v4, though an instance labelled v4 is not yet deployed for public use. v3 (which is currently available) contains this fix (which was able to be patched in after deployment).

Maintenance

  • Accommodate updates to the colonyToken repository in our tests etc. (#1007)

Ebony LWSS 2

10 Dec 14:44
a0aafa1
Compare
Choose a tag to compare

This release can be considered a 'patch' release. There is only one (minor) change, to an extension (CoinMachine) that is not yet in use by the public, which goes from v2 to v3.

The xDai ColonyNetwork remains at:

xdai: 0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

This continues to remain at v4 for now.

Functionality

  • Change how CoinMachine per-user sales limits are enforced (#1005)

Ebony LWSS

27 Sep 14:25
b4cdbde
Compare
Choose a tag to compare

The existing xDai deployment of the Network has been upgraded to this version. The latest Colony contract version will be 8. When upgrading your Colony, call colony.upgrade(8).

The xDai ColonyNetwork remains at:

xdai: 0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

This continues to remain at v4 for now.

Functionality

  • Make the mining client use the 'average' gas instead of the 'low' gas, and allow RPC endpoints to be specified (#973)
  • Add events to TokenLocking that we will likely expect to be there in the future (#965)
  • Allow multiple arbitrary transactions to done in a single transaction (#965)
  • Add new functionality to the Expenditure primitive (#951, #958)
  • No extensions now receive reputation if they receive tokens from a colony. If a colony sends tokens to an extension of its own, then the network fee is also not paid (#992)

Fixes

  • There was an issue with gas estimation for executing motions. This also represented a possible avenue for griefing. This has been mitigated for now by only allowing a motion to be executed successfully when the transaction triggered would fail after a week. (#988)
  • Add events that should have been present for awarding and smiting reputation (#987)

Maintenance

  • Tool upgrades (#981, #989)
  • Updates to a forthcoming service that will be used for a hosted KYC process (#984)

Dandelion LWSS

05 Jul 09:55
fffe3ab
Compare
Choose a tag to compare

The existing xDai deployment of the Network will be upgraded to this version later today. The latest Colony contract version will be 7. When upgrading your Colony, call colony.upgrade(7).

The xDai ColonyNetwork remains at:

0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

This continues to remain at v4 for now.

Functionality

  • When mining, no longer emit events if no tokens were burned (#939)
  • Additional internal bookkeeping to allow arbitrary transactions to be made to call ERC20 functions (#932).
  • Additional functionality added to CoinMachine, and the Whitelist extension also introduced (#931, #960)
  • Alongside the reputation miner, a new package is introduced that is a service that can allow integration with KYC service Synaps.
  • Motions in a domain can now call extensions (#949)
  • Reward pool for voters on a motion is now split between all voters, rather than notionally split between all those eligible to vote (but only paid to those who voted). This means that the payout is unknown at the time of voting, but more of the reward pool will be paid out each time. (#959)
  • All deployed extensions (most notably OneTxPayment) redeployed to include a new getCapabilityRoles() function, which is required for motions targeting extensions to work (#964)
  • Mining Cycle Duration is now controlled purely by the constants on the Mining Cycle contracts, and the reputation miner respects those constants as they potentially change between cycles (#966).
  • If all tokens have been lost during a motion by someone who staked on the motion, they can still 'claim' their stake to fix their account's bookkeeping. (#969)

Fixes

  • Fix bug to do with users being able to inappropriately influence the total reputation in a colony (#936)
  • The bootstrapping mode of a colony now correctly respects the existence of expenditures and payments, in addition to tasks (#939).
  • GetStakerReward is now functional even if no-one staked on a side (#947).
  • Maths involving WADs now rounds down, consistent with other Solidity maths (#946).
  • moveFundsBetweenPots now has a permission consistent with all other functions, allowing permissions to be checked correctly when called by a motion in a domain (#956).

Maintenance

  • Deployed extensions no longer have to have consecutive version numbers (#935).
  • Improve development environment when using the reputation miner (#938, #942).
  • Various package upgrades (#941, #953, #955, #967)
  • Start running slither against our extensions (#929)
  • Restructure some tests for the benefit of CircleCI (#963)

Cerulean LWSS

09 Mar 11:16
56859c6
Compare
Choose a tag to compare

The existing xDai deployment of the Network is upgraded to this version. Latest Colony contract version is 6. If you have used setUserRoles to award someone recovery permissions, rather than setRecoveryRole, then remove recovery role permissions from those users using the same function, upgrade, and return those permissions. When upgrading your Colony, call colony.upgrade(6).

The xDai ColonyNetwork remains at:

0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

This continues to remain at v4 for now until network costs become more reasonable.

This is primarily a maintenance release.

Functionality

  • Allow transaction annotations to be made in recovery mode. (#927)
  • The reputation miner now behaves more appropriately on Xdai (#930)

Fixes

  • Fix tracking of the number of recovery roles when using the setUserRoles function. (#927)
  • Allow root users of colonies upgraded from v4 to use the setUserRoles function correctly. (#927)

Maintenance

  • We are reintroducing Slither to our builds, and made some non-functional changes to the core contracts to bring ourselves in line with best practises. The same will be done down the line with extension contracts. (#926)

Lightweight Spaceship

16 Feb 09:48
d5ddeff
Compare
Choose a tag to compare

The existing xDai deployment of the Network is upgraded to this version. Latest Colony contract version is 5. When upgrading your Colony, call colony.upgrade(5).

The xDai ColonyNetwork contract can be found at:

0x78163f593D1Fa151B4B7cacD146586aD2b686294

The mainnet address for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

This remains at the previous version for now until network costs become more reasonable.

Note that not all of the features below are surface in the frontend, they are only available in the contracts for now. They will be added to the frontend in due course.

Functionality

  • Extension Manager - making it easier to add, remove and selectively enable all these extensions in your colony.
  • Populate the extension manager with extensions that hopefully make it easier to run your colony the way that you want. These are:
    • Motions with reputation voting. While it's not appropriate to go in to the detailed functionality here, this extension means that actions within the colony can be proposed and then if there is not much disagreement the actions will take place. (#644, #757)
    • Funding queues - helping you distribute funds as you desire in your colony, focussing on predictable payments over time directed by those who hold reputation in your colony (#828)
    • CoinMachine - a simple way to sell tokens (#835, #897)
    • TokenSupplier - used to manage a colony's token supply (#875, #907)
  • Addresses with the arbitration permission can now make changes to expenditures directly. We see this being used in conjunction with motions and reputation voting.
  • Addresses with the arbitration permission can now emit reputation penalties for other users. (#845)
  • Reputation mining
    • If a reputation miner helps resolve a dispute during reputation submission, they are rewarded for doing so (#812)
    • When multiple miners are mining, make it much less likely that two well-behaved miners will respond at the same time (#842)
    • Previously, supplying a stake for mining was a special case compared to supplying a stake for something else. Mining now uses the same staking system as everything else. (#844)
    • The reputation mining client can now deliver notifications via Discord (#857)
  • Issuance mechanisms for CLNY added:
    • Allowing a stipend to be set by the metacolony that anyone can claim on behalf of the metacolony
    • Allowing the reputation cycle reward to be set, split between up to 12 submissions made for the reputation root hash that is accepted each cycle.
  • Upgrade to Solidity 0.7.3 (#870, #879) along with introducing tests to alert us if the storage layout of our upgradable contracts changed there or in the future during a solidity update (#866).

Fixes

  • Remove ambiguity in reputation proofs, where context was needed to tell what was being proved (#771)
  • Fix accounting of tokens being paid out as rewards where tokens have been manually added to the reward pot (#834)
  • Make the OneTxPayment extension more efficient when multiple addresses receive tokens, or a single address receives multiple tokens (#836, #847)
  • Prevent the reputation miner endlessly restarting if it runs out of gas (#863)
  • Store tokenLockingAddress in a colony's storage instead of looking it up every time from ColonyNetwork to save gas (#874)
  • Add the ability for those holding the root permission in a colony to trigger the colony to make a close to arbitrary transaction. (#876, #914) The restrictions are:
    • value must be zero
    • The target address must be a contract
    • The method called can't be the ERC20 transfer, transferFrom, or approve methods. Common burn method signatures are also prevented
    • The target address cannot be an extension installed in the colony making the call.
  • Allow setUserRoles to both add and remove roles simultaneously (#880)
  • Added additional events to be emitted to help the frontend and the graph efficiently track on-chain actions, only emit events where necessary, and update existing events (#891, #899, #901, #905, #913,
    #911)
  • Add a managed list of tokens to ColonyNetwork of tokens that will not be auctioned when a network fee is taken, and instead be sent directly to the metacolony (#904)
  • Add 'Annotations' - a way to comment on a transaction on-chain. (#882)
  • Add ability for any root permission holder to unlock the token deployed in the app (#924)
  • Add root ability for reputation rewards to be awarded to addresses arbitrarily (#923)
  • Take advantage of new Solidity functionality to make the contracts, which are deployed across multiple networks, behave appropriately based on the network they are on (#917, #925)

Maintenance

Other

  • Amend the reputation oracle endpoint to usefully order addresses returned (#893)
  • Make the miner more permissive regarding passed parameters (#900)

burgundy-glider

08 Apr 16:27
2aa7707
Compare
Choose a tag to compare

The existing mainnet deployment of the Network is upgraded to this version. Latest Colony contract version is 4. When upgrading your Colony, call colony.upgrade(4). For this and future releases, there is no equivalent of calling colony.finishUpgrade2To3() required.

The addresses for the Network contract remain unchanged:

mainnet: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef
goerli: 0x79073fc2117dD054FCEdaCad1E7018C9CbE3ec0B

Functionality

  • The main new feature in Burgundy glider is the introduction of expenditures. In terms of complexity, these sit somewhere between Tasks (which are more complicated) and Payments (which are simpler). Expenditures have been introduced with the intention of being the primitive via which all workflows can be implemented by extension contracts. We would recommend anyone using the colony contracts to use Expenditures going forwards, as the intention will ultimately be for Payments and Tasks depricated and removed (and reimplemented via extensions using expenditures) (#693, #826)

  • Expose getUserRoles on the Colony interface. This returns a bytes32 object that can be used to work out all roles that a user has in a particular domain at once. Each bit set to 1 represents a role the user has, with the role each bit represents based on the ColonyRole enum (so, for example, the least significant bit returned corresponds to the Recovery role) (#686)

  • Maximum payout for a task or payment is dropped from 2**254-1 wei to 2**128-1 wei. Any existing payments or tasks with a payout larger than this value should pay out successfully, but new any new payouts set will have to respect this new limit. Expenditures respect this new limit also (#708)

  • Introduce a new createColony which allows colonies to be created at arbitrary past versions, and with additional options (#712, #784). The original createColony which takes only one argument is deprecated, and will be removed in a future release -- calling this function will create colonies only at version 3 (#818, #825)

  • Remove the ability to change domains after a task or payment has been created. This was done in order to prevent users with administration permissions being able to effectively move funds around a colony (which should be solely the responsibility of those with funding permissions) (#713)

  • Deprecate the OldRoles extension. This existed for the short-term benefit of the dApp, which no longer requires it (#719)

  • Improve reputation mining disputes and what is deemed as a valid response to a challenge (#718, #731)

  • Update reputation oracle to include an endpoint for "all users with skill X in colony Y" (#723)

  • Make the RecoveryRoleSet event visible on contracts instantiated just via the Interfaces (#730)

  • Default rating for a task changed from 3 to 2, in the event of an unsubmitted rating (#755)

  • Add support for multiple simultaneous rewards payouts (#773)

Fixes

  • Fix issue with automatic documentation generation (#702)
  • Restored the nightly builds (#690, #742, #750)
  • Make mining client more resilient to missed events (#629, #748, #779)
  • Typo in documentation (#736, #737, #790, #801)
  • Fix bug in the rewards payout logic (#770)
  • Fix bug in how mining disputes were scheduled (#810)
  • Removed an event signature change which was breaking an interface (#827, introduced in #693)

Maintenance

auburn-glider

23 Jul 15:18
Compare
Choose a tag to compare

The existing mainnet deployment of the Network is upgraded to this version. Latest Colony contract version is 3. When upgrading your Colony, call colony.upgrade(3) followed by colony.finishUpgrade2To3().

Address for the Network contract remain unchanged:

ColonyNetwork: 0x5346D0f80e2816FaD329F2c140c870ffc3c3E2Ef

Extension factories are newly available at:

OneTxPaymentFactory: 0x6fb63009e3e03cbf6917647d64ad81939f267067
OldRolesFactory: 0x47d9aa3c4168a3228294ef7327f76e5fbbad12bc

Functionality

  • Allow users and colonies to update their OrbitDB store address #667
  • Enable single transaction payment in subdomain where funds are sourced from the root domain #659
  • Introduce the ArbitrationRole domain security role #648

Fixes

  • Enables slither analyser on nightly builds #666
  • Fixes to the reputation visualiser tree state not displaying #671

Maintenance

  • Diff analysis on gas costs for changes run via codechecks #676

  • Code coverage updates #643

  • Network configuration updates #649
    Added truffle network configurations for forks of goerli and mainnet - goerliFork and mainnetFork respectively. Additionally 2 commands for starting each fork
    yarn run fork:goerli
    yarn run fork:mainnet

  • Package updates: web3v1, husky, truffle-security, eslint-config-prettier-6.0.0, eslint-plugin-flowtype-3.11.1, solidity-parser-antlr-0.4.5, eth-gas-reporter-0.2.1, eslint-config-prettier-5.0.0

auburn-glider-rc.1

18 Jul 07:36
2a7c88f
Compare
Choose a tag to compare
auburn-glider-rc.1 Pre-release
Pre-release

The existing Görli testnet deployment is upgraded to this version. Latest Colony contract version is 3. When upgrading your Colony, call colony.upgrade(3) followed by colony.finishUpgrade2To3().

Address for the Network contract remain unchanged:

ColonyNetwork: 0x79073fc2117dD054FCEdaCad1E7018C9CbE3ec0B

Extension factories are new at:

OneTxPaymentFactory: 0xe4aaf13b6a3d84d9d025ef1e8aa1873ecb027322
OldRolesFactory: 0x99f831724f91c5e459e1d07cf80737de1273fc59

Functionality

  • Allow users and colonies to update their OrbitDB store address #667
  • Enable single transaction payment in subdomain where funds are sourced from the root domain #659
  • Introduce the ArbitrationRole domain security role #648

Fixes

  • Enables slither analyser on nightly builds #666
  • Fixes to the reputation visualiser tree state not displaying #671

Maintenance

  • Code coverage updates #643

  • Network configuration updates #649
    Added truffle network configurations for forks of goerli and mainnet - goerliFork and mainnetFork respectively. Additionally 2 commands for starting each fork
    yarn run fork:goerli
    yarn run fork:mainnet

  • Package updates: web3v1, husky, truffle-security, eslint-config-prettier-6.0.0, eslint-plugin-flowtype-3.11.1, solidity-parser-antlr-0.4.5, eth-gas-reporter-0.2.1, eslint-config-prettier-5.0.0