// First, deploying Relay, then deploying Donation and retrieve Donation contract address in 'donation_contract_address' // Then, linking Relay to my first version of my contract Donation Relay.deployed().then(function(contractInstance) { contractInstance.changeContract(donation_contract_address); }) // Then, I want to call sendDonation from the Donation contract // !!!!! I DON'T KNOW WHAT IS THE CORRECT WAY TO CALL THIS !!!!!! Relay.deployed().then(function(contractInstance) { contractInstance.sendDonation(5) ; }) // OR Relay.deployed().then(function(contractInstance) { contractInstance.currentVersion.delegateCall(sendDonation(5)) ; }) // Now I want to update the Donation contract to add the cancelDonation function // First I deploy the new contract DonationNew and retrieve it's address in 'donation_new_contract_address' Relay.deployed().then(function(contractInstance) { contractInstance.changeContract(donation_new_contract_address); }) // are the state variables still available from the old contract to the new one? // Then if I want to call the new function : Relay.deployed().then(function(contractInstance) { contractInstance.cancelDonation() ; })