git.delta.rocks / unique-network / refs/commits / e6258963f053

difftreelog

chore add selector to error message

Grigoriy Simonov2022-08-12parent: #9097925.patch.diff
in: master

2 files changed

modifiedpallets/evm-coder-substrate/src/lib.rsdiffbeforeafterboth
261 let (selector, mut reader) = AbiReader::new_call(input)?;261 let (selector, mut reader) = AbiReader::new_call(input)?;
262 let call = C::parse(selector, &mut reader)?;262 let call = C::parse(selector, &mut reader)?;
263 if call.is_none() {263 if call.is_none() {
264 let selector = u32::from_be_bytes(selector);
264 return Err("Function not found".into());265 return Err(format!("unrecognized selector: 0x{selector:0<8x}").into());
265 }266 }
266 let call = call.unwrap();267 let call = call.unwrap();
267268
modifiedtests/src/evmCoder.test.tsdiffbeforeafterboth
--- a/tests/src/evmCoder.test.ts
+++ b/tests/src/evmCoder.test.ts
@@ -31,30 +31,33 @@
         // SPDX-License-Identifier: MIT
         pragma solidity ^0.8.0;
         interface ITest {
-            function ztestzzzzzzz() external returns (uint256 n);
+          function ztestzzzzzzz() external returns (uint256 n);
         }
         contract Test {
-            event Result(bool, uint256);
-            function test1() public {
-                try
-                    ITest(${collectionAddress}).ztestzzzzzzz()
-                returns (uint256 n) {
-                    // enters
-                    emit Result(true, n); // => [true, BigNumber { value: "43648854190028290368124427828690944273759144372138548774646036134290060795932" }]
-                } catch {
-                    emit Result(false, 0);
-                }
-            }
-            function test2() public {
-                try
-                    ITest(${contractAddress}).ztestzzzzzzz()
-                returns (uint256 n) {
-                    emit Result(true, n);
-                } catch {
-                    // enters
-                    emit Result(false, 0); // => [ false, BigNumber { value: "0" } ]
-                }
-            }
+          event Result(bool, uint256);
+          function test1() public {
+              try
+                  ITest(${collectionAddress}).ztestzzzzzzz()
+              returns (uint256 n) {
+                  // enters
+                  emit Result(true, n); // => [true, BigNumber { value: "43648854190028290368124427828690944273759144372138548774646036134290060795932" }]
+              } catch {
+                  emit Result(false, 0);
+              }
+          }
+          function test2() public {
+              try
+                  ITest(${contractAddress}).ztestzzzzzzz()
+              returns (uint256 n) {
+                  emit Result(true, n);
+              } catch {
+                  // enters
+                  emit Result(false, 0); // => [ false, BigNumber { value: "0" } ]
+              }
+          }
+          function test3() public {
+            ITest(${collectionAddress}).ztestzzzzzzz();
+          }
         }
         `,
       },
@@ -106,5 +109,9 @@
         '1': '0',
       });
     }
+    {
+      await expect(testContract.methods.test3().call())
+        .to.be.rejectedWith(/unrecognized selector: 0xd9f02b36$/g);
+    }
   });
 });
\ No newline at end of file