pendulum-chain / pendulum-solidity-wrapper

A collection of Solidity wrapper contracts emulating common ERC interfaces to grant access to runtime features on Pendulum.
GNU General Public License v3.0
0 stars 0 forks source link

Remove `pragma` definitions #28

Closed ebma closed 1 year ago

ebma commented 1 year ago

Instead of changing/locking the pragma version definitions in all contracts, this PR actually removes them. The reason is that they are not actually used in Solang, see here. Thus, to avoid confusion I think it's better to remove them completely.

Closes #21.

TorstenStueber commented 1 year ago

When using the Solidity compiler, it of course makes a lot of sense to nail down the version in the contract to make compilation deterministic. It is strange that something similar does not exist for Solang. It almost feels wrong to remove it. Maybe we can instead leave a comment to indicate that the contract is meant to be compiled via Solang and therefore does not contain a pragma (?)

ashneverdawn commented 1 year ago

When using the Solidity compiler, it of course makes a lot of sense to nail down the version in the contract to make compilation deterministic. It is strange that something similar does not exist for Solang. It almost feels wrong to remove it. Maybe we can instead leave a comment to indicate that the contract is meant to be compiled via Solang and therefore does not contain a pragma (?)

Good point. Also, in that comment we should indicate the solang compiler version we are currently using.

ebma commented 1 year ago

I added those comments now. I would argue against indicating a Solang compiler version in those files because that would mean we need to 'maintain' those comments and update them every time a new Solang version is published. If we really wanted to point out a compatible Solang version I would add that info to the READMEs instead.