You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add E2E tests for `Mapping` functions - [#1492](https://github.com/paritytech/ink/pull/1492)
43
+
44
+
### Fixed
45
+
- Add Determinism enum from pallet-contracts ‒ [#1547](https://github.com/paritytech/ink/pull/1547)
46
+
- Added missed `WhereClosure` for the generics into `storage_item` ‒ [#1536](https://github.com/paritytech/ink/pull/1536) (thanks [@xgreenx](https://github.com/xgreenx))
47
+
48
+
### Changed
49
+
- Handle `LangError` from instantiate ‒ [#1512](https://github.com/paritytech/ink/pull/1512)
50
+
- FFI: no more `__unstable__` wasm import module ‒ [#1522](https://github.com/paritytech/ink/pull/1522)
51
+
- Clean up CallBuilder `return()` type ‒ [#1525](https://github.com/paritytech/ink/pull/1525)
52
+
- Fix trait message return type metadata ‒ [#1531](https://github.com/paritytech/ink/pull/1531)
- Stabilize `take_storage` ‒ [#1568](https://github.com/paritytech/ink/pull/1568)
55
+
- Chain Extension: Evaluation of method return type at compile time ‒ [#1569](https://github.com/paritytech/ink/pull/1569)
56
+
- Make more functions be const ‒ [#1574](https://github.com/paritytech/ink/pull/1574) (thanks [@yjhmelody](https://github.com/yjhmelody))
57
+
- Unify fallible and non fallible `instantiate` methods ‒ [#1591](https://github.com/paritytech/ink/pull/1591)
58
+
- Make `CallBuilder` and `CreateBuilder` error handling optional ‒ [#1602](https://github.com/paritytech/ink/pull/1602)
59
+
- Rename `CallBuilder::fire()` method to `invoke()` ‒ [#1604](https://github.com/paritytech/ink/pull/1604)
60
+
- chore: add minimum rust version to the ink crate ‒ [#1609](https://github.com/paritytech/ink/pull/1609) (thanks [@Kurtsley](https://github.com/Kurtsley))
@@ -74,7 +74,7 @@ It's a simple Substrate blockchain which includes the Substrate module for smart
74
74
75
75
We also have a live testnet on [Rococo](https://github.com/paritytech/cumulus/#rococo-). Rococo is a Substrate based
76
76
parachain which supports ink! smart contracts. For further instructions on using this
77
-
testnet, follow the instructions in the
77
+
testnet, follow the instructions in
78
78
[our documentation](https://use.ink/testnet).
79
79
80
80
For both types of chains the [Contracts UI](https://contracts-ui.substrate.io/)
@@ -109,7 +109,7 @@ In order to build the contract just execute this command in the `flipper` folder
109
109
cargo +nightly contract build
110
110
```
111
111
112
-
As a result you'll get a file `target/flipper.wasm` file, a `metadata.json` file and a `<contract-name>.contract` file in the `target` folder of your contract.
112
+
As a result you'll get a `target/flipper.wasm` file, a `metadata.json` file and a `<contract-name>.contract` file in the `target` folder of your contract.
113
113
The `.contract` file combines the Wasm and metadata into one file and needs to be used when instantiating the contract.
114
114
115
115
@@ -175,12 +175,12 @@ mod flipper {
175
175
```
176
176
177
177
The [`flipper/src/lib.rs`](https://github.com/paritytech/ink/blob/master/examples/flipper/lib.rs)
178
-
file in our examples folder contains exactly this code. Run `cargo contract build` to build your
178
+
file in our examples folder contains exactly this code. Run `cargo +nightly contract build` to build your
179
179
first ink! smart contract.
180
180
181
181
## Examples
182
182
183
-
In the `examples` folder you'll find a number of examples written in ink!.
183
+
In the [`examples`](https://github.com/paritytech/ink/tree/master/examples) folder you'll find a number of examples written in ink!.
184
184
185
185
Some of the most interesting ones:
186
186
@@ -192,7 +192,7 @@ Some of the most interesting ones:
192
192
193
193
To build a single example navigate to the root of the example and run:
194
194
```
195
-
cargo contract build
195
+
cargo contract +nightly build
196
196
```
197
197
198
198
You should now have an `<name>.contract` file in the `target` folder of the contract.
@@ -208,7 +208,7 @@ This module is called the `contracts` pallet,
208
208
* The `contracts` pallet requires smart contracts to be uploaded to the blockchain as a Wasm blob.
209
209
* ink! is a smart contract language which targets the API exposed by `contracts`.
210
210
Hence ink! contracts are compiled to Wasm.
211
-
* When executing `cargo contract build` an additional file `metadata.json` is created.
211
+
* When executing `cargo contract +nightly build` an additional file `metadata.json` is created.
212
212
It contains information about e.g. what methods the contract provides for others to call.
213
213
214
214
## ink! Macros & Attributes Overview
@@ -224,7 +224,7 @@ In a module annotated with `#[ink::contract]` these attributes are available:
224
224
|`#[ink(constructor)]`| Applicable to method. | Flags a method for the ink! storage struct as constructor making it available to the API for instantiating the contract. |
225
225
|`#[ink(event)]`| On `struct` definitions. | Defines an ink! event. A contract can define multiple such ink! events. |
226
226
|`#[ink(anonymous)]`| Applicable to ink! events. | Tells the ink! codegen to treat the ink! event as anonymous which omits the event signature as topic upon emitting. Very similar to anonymous events in Solidity. |
227
-
|`#[ink(topic)]`| Applicable on ink! event field. | Tells the ink! codegen to provide a topic hash for the given field. Every ink! event can only have a limited number of such topic field. Similar semantics as to indexed event arguments in Solidity. |
227
+
|`#[ink(topic)]`| Applicable on ink! event field. | Tells the ink! codegen to provide a topic hash for the given field. Every ink! event can only have a limited number of such topic fields. Similar semantics as to indexed event arguments in Solidity. |
228
228
|`#[ink(payable)]`| Applicable to ink! messages. | Allows receiving value as part of the call of the ink! message. ink! constructors are implicitly payable. |
229
229
|`#[ink(selector = S:u32)]`| Applicable to ink! messages and ink! constructors. | Specifies a concrete dispatch selector for the flagged entity. This allows a contract author to precisely control the selectors of their APIs making it possible to rename their API without breakage. |
230
230
|`#[ink(selector = _)]`| Applicable to ink! messages. | Specifies a fallback message that is invoked if no other ink! message matches a selector. |
If you find something that can be treated as a security vulnerability, please do not use the issue tracker or discuss it in the public forum/channels, as it can cause more damage rather than giving real help to the ecosystem.
4
+
5
+
Security vulnerabilities should be reported using [this contact form](https://security-submission.parity.io/).
6
+
7
+
If you think that your report might be eligible for the Bug Bounty Program, please mark this during the submission. Please check up-to-date [Parity Bug Bounty Program rules](https://www.parity.io/bug-bounty) for more information about our Bug Bounty Program.
8
+
9
+
**Warning:** This is an unified `SECURITY.md` file for the Paritytech GitHub Organization. The presence of this file does not mean that this repository is covered by the Bug Bounty program. Please always check the Bug Bounty Program scope for the information.
0 commit comments