JoinColony / colonyNetwork

Colony Network smart contracts
https://colony.io/
GNU General Public License v3.0
436 stars 106 forks source link

Introduce Proxy Colonies #1285

Open area opened 2 months ago

area commented 2 months ago

Had to make a new PR to rename the branch.

NB Based on #1284

TODO:

area commented 2 weeks ago

There is now work on this branch that shows what needs to be done from the perspective of extensions, as I have added functionality to the OneTxPayment extension. Any function that takes a token (or multiples) now needs to take both chainId and token. I've done this in this first instance by making the original function signature call the new function with chainId populated with block.chainid.

This is a lot of functions, however, and I would only want two instances of every such function on the contracts for a transitional period at most. Ideally, we could just do version-guarded upgrades for everything (which we have done before, if more limited in scope).

In the past, we've added these 'passthrough' functions for the old arguments to make the life of frontend easier (so changes in the contracts don't necessitate frontend work), but given every piece of functionality here is already going to require touching in the frontend to add multichain support, I'm inclined to just bite the bullet and avoid having to come back through later to remove all the deprecated functions.