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
|`@solidstate/library`| functions for interacting with and validating contracts |[📖](./lib/README.md)|
14
+
|`@solidstate/spec`| portable tests which may be run against third-party implementations of core contracts |[📖](./spec/README.md)|
15
15
16
16
### Contracts
17
17
18
-
All contracts are designed to either be deployed through the standard `constructor` method, or referenced by a proxy. To this end, the [diamond storage](https://medium.com/1milliondevs/new-storage-layout-for-proxy-contracts-and-diamonds-98d01d0eadb) pattern is employed exclusively.
18
+
All contracts are designed to either be deployed through the standard `constructor` method, or referenced by a proxy. To this end, the [diamond storage](https://medium.com/1milliondevs/new-storage-layout-for-proxy-contracts-and-diamonds-98d01d0eadb) pattern is employed exclusively.
19
19
20
20
### Spec
21
21
22
-
Where possible, automated tests are designed to be imported by repositories which make use of the SolidState contracts and run against any derived contracts. This is to help prevent unintended changes to to the base contract behavior.
22
+
Where possible, automated tests are designed to be imported by repositories which make use of the SolidState contracts and run against any derived contracts. This is to help prevent unintended changes to to the base contract behavior.
23
23
24
24
For example, consider a custom `ERC20Base` implementation:
25
25
@@ -43,21 +43,26 @@ describe('CustomToken', function () {
43
43
awaitinstance.deployed();
44
44
});
45
45
46
-
describeBehaviorOfERC20Base({
47
-
deploy: () => instance,
48
-
}, []);
46
+
describeBehaviorOfERC20Base(
47
+
{
48
+
deploy: () => instance,
49
+
},
50
+
[],
51
+
);
49
52
50
53
// custom tests...
51
54
});
52
55
```
53
56
54
57
If parts of the base implementation are changed intentionally, tests can be selectively skipped:
0 commit comments