@@ -22,6 +22,7 @@ We did a detailed write-up of the background to this development and the reasoni
2222to reflect the new setup.
2323
2424Compatibility of this release:
25+ * Rust >= 1.85
2526* [ ` cargo-contract ` ` v6.0.0-alpha ` ] ( https://github.com/use-ink/cargo-contract/releases/tag/v6.0.0-alpha )
2627* [ ` substrate-contracts-node/cd94b5f ` ] ( https://github.com/use-ink/substrate-contracts-node/commit/cd94b5fa23ee04f2d541decf1ace3b9904d61cb2 )
2728* [ ` polkadot-sdk/28a7ae71cc0eac747bf346804279217a68f700da ` ] ( https://github.com/paritytech/polkadot-sdk/commit/28a7ae71cc0eac747bf346804279217a68f700da )
@@ -43,10 +44,16 @@ These are the values it takes:
4344#[ink::contract(abi = "ink")]
4445```
4546
46- The default is ` abi = "TODO" ` .
47+ The default currently is ` abi = "ink" ` , but we might change this before a production
48+ release.
4749
48- TODO add more here about the implications regarding ability to call ink! contracts,
49- the ABI generation, and the file size.
50+ The implication of supporting Solidity ABI encoding is that there is a restriction on
51+ the types you can use as constructor/message arguments or return types.
52+ You won't be able to use Rust types for which no mapping to a Solidity type exists.
53+ An error about a missing trait implementation for this type will be thrown.
54+
55+ Please note that your contract sizes will get larger if you support both the ink!
56+ and Solidity ABI.
5057
5158### Types
5259
@@ -91,13 +98,14 @@ a new version of the contract's code.
9198
9299This distinction of contract code that was uploaded to a chain vs. an instantiated
93100contract from this code no longer exists in ` pallet-revive ` . If you want to
94- delegate the execution, you will have to delegate to another contract address.
101+ delegate the execution, you will have to specify another contract's address
102+ to which code you want to delegate to. This other contract needs to be instantiated
103+ on-chain.
95104
96- TODO is the following sentence still correct?
97- For the execution, the storage of the contract that delegates will continue
98- to be used.
105+ For the execution, the context of the contract that delegates will continue
106+ to be used (storage, caller, value).
99107
100- So specifically the delegate API changed like this:
108+ Specifically the delegate API changed like this:
101109
102110```
103111/// ink! v5
@@ -118,6 +126,14 @@ pub struct DelegateCall {
118126}
119127```
120128
129+ ### Feature ` ink/unstable-hostfn `
130+ In ` pallet-revive ` a number of functions can only be called by smart contracts
131+ if the chain that the pallet is running on has enabled the feature
132+ ` pallet-revive/unstable-hostfn ` .
133+ This feature is not enabled on Kusama or Westend!
134+
135+ It is enabled for the ` substrate-contracts-node ` version that we linked above.
136+
121137### New debugging workflow
122138Previously ` pallet-contracts ` returned a ` debug_message ` field with contract
123139instantiations and dry-runs.
0 commit comments