Green Baneling
Green Baneling
We decided to abandon old [PR](https://github.com/paritytech/ink/pull/1217) because it contains a lot of commits and comments and is hard to review. The whole change was split into seven commits with their...
In this PR I moved common parts of each message to `execute_dispatchable`(pull of the contract). In the future, we can optimize it to do one push of the contract. Introduced...
It is possible to customize `AccountId`, `Timestamp`, `Balance`, `Hash`, `Gas`, `BlockNumber` types on the `contract-pallet` side. So different parachain can use different types inside. To support it and be agnostic...
To prevent developers from making [reentrancy vulnerabilities](https://hackernoon.com/hack-solidity-reentrancy-attack) in the contract ink! doesn't allow reentrancy during cross-contract calls by default. It is controlled via `CallFlags.allow_reentry`(false by default) during the creation of...
After https://github.com/paritytech/ink/pull/1258, the `debug_print(ln)!` macro fails for temporary variables if the "ink-debug" feature is disabled.
`deny_payment` takes 100 bytes. We can move it to the `on_chain` engine and apply a more easy way to decode it(we don't need to return it, we only need to...
Some contracts or structures may have empty `scale::Decode` and `scale::Encode`. It is more actual after https://github.com/paritytech/ink/pull/1217. In that case, we can optimize the execution to not do unnecessary `seal_set_storage` and...
After the introduction of upgradable contracts, it is okay if some contracts don't have any message or constructor. Because they can be implemented in another code. Instead of error during...
As part of our [grant](https://github.com/w3f/Grants-Program/blob/master/applications/openbrush-follow-up.md#milestone-3-reduce-the-size-of-erc20-contract), we want to help to reduce the size of contracts. We analyzed the binary(web assembler) file and found that ink! generates many the same code...
It will be cool to have some macro attribute in `#[ink(message)]` declaration which will automatically paste the code which will do some restriction check like in modifiers in Solidity. We...