git.delta.rocks / unique-network / refs/commits / 5af31166e6db

difftreelog

doc: clarification review

Greg Zaitsev2022-08-19parent: #c89a3fa.patch.diff
in: master

3 files changed

modifiedcrates/evm-coder/procedural/src/solidity_interface.rsdiffbeforeafterboth
1616
17#![allow(dead_code)]17#![allow(dead_code)]
18
19// NOTE: In order to understand this Rust macro better, first read this chapter
20// about Procedural Macros in Rust book:
21// https://doc.rust-lang.org/reference/procedural-macros.html
1822
19use quote::{quote, ToTokens};23use quote::{quote, ToTokens};
20use inflector::cases;24use inflector::cases;
485 Pure,489 Pure,
486}490}
487491
492/// Group all keywords for this macro. Usage example:
493/// #[solidity_interface(name = "B", inline_is(A))]
488mod kw {494mod kw {
489 syn::custom_keyword!(weight);495 syn::custom_keyword!(weight);
490496
498 syn::custom_keyword!(rename_selector);504 syn::custom_keyword!(rename_selector);
499}505}
500506
507/// Rust methods are parsed into this structure when Solidity code is generated
501struct Method {508struct Method {
502 name: Ident,509 name: Ident,
503 camel_name: String,510 camel_name: String,
modifiedcrates/evm-coder/src/execution.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/execution.rs
+++ b/crates/evm-coder/src/execution.rs
@@ -78,7 +78,7 @@
 		info.weight - self.calc_actual_weight(info)
 	}
 
-	/// Calculate actual cansumed weight, saturating to weight reported
+	/// Calculate actual consumed weight, saturating to weight reported
 	/// pre-dispatch
 	pub fn calc_actual_weight(&self, info: &DispatchInfo) -> Weight {
 		if let Some(actual_weight) = self.actual_weight {
modifiedcrates/evm-coder/src/lib.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/lib.rs
+++ b/crates/evm-coder/src/lib.rs
@@ -34,17 +34,18 @@
 ///
 /// `#[solidity_interface(name, is, inline_is, events)]`
 /// - *name* - used in generated code, and for Call enum name
-/// - *is* - used to provide call inheritance, not found methods will be delegated to all contracts
-/// specified in is/inline_is
-/// - *inline_is* - same as is, but selectors for passed contracts will be used by derived ERC165
-/// implementation
+/// - *is* - used to provide inheritance in Solidity
+/// - *inline_is* - same as `is`, but ERC165::SupportsInterface will work differently: For `is` SupportsInterface(A) will return true
+///   if A is one of the interfaces the contract is inherited from (e.g. B is created as `is(A)`). If B is created as `inline_is(A)`
+///   SupportsInterface(A) will internally create a new interface that combines all methods of A and B, so SupportsInterface(A) will return
+///   false.
 ///
 /// `#[weight(value)]`
 /// Can be added to every method of impl block, used for deriving [`crate::Weighted`], which
 /// is used by substrate bridge.
 /// - *value*: expression, which evaluates to weight required to call this method.
 /// This expression can use call arguments to calculate non-constant execution time.
-/// This expression should evaluate faster than actual execution does, and may provide worser case
+/// This expression should evaluate faster than actual execution does, and may provide worse case
 /// than one is called.
 ///
 /// `#[solidity_interface(rename_selector)]`