erasure-protocol icon indicating copy to clipboard operation
erasure-protocol copied to clipboard

Solidity 0.6.2 - new selector syntax

Open fulldecent opened this issue 6 years ago • 0 comments

Blockers

  • [ ] Release Solidity 0.6.2 final

Issue

Currently, code is used like this:

    constructor(address instanceRegistry, address templateContract) public {
        CountdownGriefingEscrow template;

        // set instance type
        bytes4 instanceType = bytes4(keccak256(bytes('Escrow')));
        // set initSelector
        bytes4 initSelector = template.initialize.selector;
        // initialize factory params
        Factory._initialize(instanceRegistry, templateContract, instanceType, initSelector);
    }

Soon this can be used instead:

    constructor(address instanceRegistry, address templateContract) public {
        // set instance type
        bytes4 instanceType = bytes4(keccak256(bytes('Escrow')));
        // set initSelector
        bytes4 initSelector = CountdownGriefingEscrow.initialize.selector;
        // initialize factory params
        Factory._initialize(instanceRegistry, templateContract, instanceType, initSelector);
    }

References

  • https://github.com/ethereum/solidity/issues/3506
  • https://github.com/ethereum/solidity/pull/8105

fulldecent avatar Jan 10 '20 18:01 fulldecent