Skip to content

Instantly share code, notes, and snippets.

@elenadimitrova
Last active June 30, 2020 23:34
Show Gist options
  • Save elenadimitrova/4fb2f43d6f7c6141db54ab14ff3f87d7 to your computer and use it in GitHub Desktop.
Save elenadimitrova/4fb2f43d6f7c6141db54ab14ff3f87d7 to your computer and use it in GitHub Desktop.
import "Organisation.sol";
import "TokenLedger.sol";
import "EternalStorage.sol";
contract Parent {
event OrganisationCreated(address organisation, uint now);
event OrganisationUpgraded(address organisation, uint now);
mapping(bytes32 => address) public organisations;
function createOrganisation(bytes32 key_)
{
var tokenLedger = new TokenLedger();
var eternalStorage = new EternalStorage();
var organisation = new Organisation(tokenLedger, eternalStorage);
organisations[key_] = organisation;
OrganisationCreated(organisation, now);
}
function getOrganisation(bytes32 key_) constant returns (address)
{
return organisations[key_];
}
function upgradeOrganisation(bytes32 key_)
{
address organisationAddress = organisations[key_];
var organisation = Organisation(organisationAddress);
var tokenLedger = organisation.tokenLedger();
var eternalStorage = organisation.eternalStorage();
Organisation organisationNew = new Organisation(tokenLedger, eternalStorage);
organisation.kill(organisationNew);
organisations[key_] = organisationNew;
OrganisationUpgraded(organisationNew, now);
}
}
@mseijas
Copy link

mseijas commented Mar 5, 2018

Shouldn't this be organisation.kill(organisation) ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment