@1inch/solidity-utils 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/interfaces/IERC7597Permit.sol +13 -0
- package/contracts/libraries/BySigTraits.sol +37 -5
- package/contracts/libraries/SafeERC20.sol +1 -1
- package/contracts/mixins/BySig.sol +220 -0
- package/contracts/mixins/EthReceiver.sol +27 -0
- package/contracts/mixins/OnlyWethReceiver.sol +31 -0
- package/contracts/mixins/PermitAndCall.sol +39 -0
- package/contracts/mixins/SelfdestructEthSender.sol +32 -0
- package/contracts/mocks/SelfdestructEthSenderMock.sol +10 -0
- package/dist/docgen/index.d.ts +2 -0
- package/dist/docgen/index.js +7 -0
- package/dist/docgen/index.js.map +1 -0
- package/dist/docgen/templates.d.ts +6 -0
- package/dist/docgen/templates.js +15 -0
- package/dist/docgen/templates.js.map +1 -0
- package/dist/src/permit.d.ts +14 -2
- package/dist/src/permit.js +14 -2
- package/dist/src/permit.js.map +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
- package/package.json +9 -6
- package/utils/README.md +21 -3
- package/utils/docify.utils.js +1 -32
- package/utils/contract.hbs +0 -69
package/utils/README.md
CHANGED
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
Generates documentation in markdown format from natspec docs
|
|
6
6
|
|
|
7
7
|
##### Usage
|
|
8
|
-
Add to `package.json` file solidity compiler version (add version you use), solidity-docgen
|
|
8
|
+
Add to `package.json` file solidity compiler version (add version you use), solidity-docgen 0.6 util and shortcut to run command
|
|
9
9
|
|
|
10
10
|
`devDependencies` section
|
|
11
11
|
|
|
12
12
|
```
|
|
13
13
|
"solc": "0.8.23",
|
|
14
|
-
"solidity-docgen": "0.
|
|
14
|
+
"solidity-docgen": "0.6.0-beta.36",
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`scripts` section
|
|
18
18
|
```
|
|
19
|
-
"docify": "npx solidity-utils-docify"
|
|
19
|
+
"docify": "yarn hardhat docgen; npx solidity-utils-docify"
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
You can set output directory with ENV variable:
|
|
@@ -24,7 +24,25 @@ You can set output directory with ENV variable:
|
|
|
24
24
|
"docify": "DOCGEN_OUTPUT_DIR=./docs npx solidity-utils-docify"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
Then set appopriate settings for docgen in `hardhat.config.js` file
|
|
28
|
+
|
|
29
|
+
```JavaScript
|
|
30
|
+
require('solidity-docgen');
|
|
31
|
+
|
|
32
|
+
// You can use 1inch templates built-in templates
|
|
33
|
+
const { oneInchTemplates } = require('@1inch/solidity-utils/docgen');
|
|
34
|
+
|
|
35
|
+
module.exports = {
|
|
27
36
|
...
|
|
37
|
+
docgen: {
|
|
38
|
+
outputDir: "docs", // Can be omitted, docs used by default
|
|
39
|
+
templates: oneInchTemplates(), // 1inch templates
|
|
40
|
+
pages: 'files', // Doc output format for 1inch templates
|
|
41
|
+
exclude: ['mocks', 'test'], // Directories to exclude from generation
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
```
|
|
28
46
|
|
|
29
47
|
#### Dependencies list (imports-list)
|
|
30
48
|
|
package/utils/docify.utils.js
CHANGED
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const SOLC_NPM_NAME = 'solc';
|
|
3
2
|
const BASE_DIR = 'docs';
|
|
4
|
-
const
|
|
5
|
-
const INPUT_DIR = 'contracts';
|
|
6
|
-
const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}/contracts`;
|
|
7
|
-
const HELPERS_PATH = `${SCRIPT_DIR}/solidity-docgen-helpers.js`;
|
|
3
|
+
const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}`;
|
|
8
4
|
|
|
9
5
|
const fs = require('fs');
|
|
10
6
|
const path = require('path');
|
|
11
|
-
const spawn = require('cross-spawn');
|
|
12
7
|
|
|
13
8
|
function getFileNameWithoutExtension (fileName) {
|
|
14
9
|
return fileName.substr(0, fileName.lastIndexOf('.'));
|
|
15
10
|
}
|
|
16
11
|
|
|
17
|
-
function runProcess (name, args) {
|
|
18
|
-
console.log(`running ${name} with args ${JSON.stringify(args)}`);
|
|
19
|
-
const result = spawn.sync(name, args, { stdio: ['inherit', 'inherit', 'pipe'] });
|
|
20
|
-
if (result.stderr.length > 0) {
|
|
21
|
-
throw new Error(result.stderr);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
12
|
function getReadmes (targetPath) {
|
|
26
13
|
let result = [];
|
|
27
14
|
const readmePath = path.join(targetPath, 'README.md');
|
|
@@ -108,23 +95,5 @@ function removeUnwantedDocs () {
|
|
|
108
95
|
}
|
|
109
96
|
}
|
|
110
97
|
|
|
111
|
-
const solidityDocgenArgs = [
|
|
112
|
-
'solidity-docgen',
|
|
113
|
-
'-i',
|
|
114
|
-
INPUT_DIR,
|
|
115
|
-
'-o',
|
|
116
|
-
OUTPUT_DIR,
|
|
117
|
-
'--solc-module',
|
|
118
|
-
SOLC_NPM_NAME,
|
|
119
|
-
'--solc-settings',
|
|
120
|
-
JSON.stringify({ optimizer: { enabled: false } }),
|
|
121
|
-
'--templates',
|
|
122
|
-
SCRIPT_DIR,
|
|
123
|
-
'--helpers',
|
|
124
|
-
HELPERS_PATH,
|
|
125
|
-
];
|
|
126
|
-
|
|
127
|
-
fs.rmSync(OUTPUT_DIR, { force: true, recursive: true });
|
|
128
|
-
runProcess('npx', solidityDocgenArgs);
|
|
129
98
|
generateGitbookFiles();
|
|
130
99
|
removeUnwantedDocs();
|
package/utils/contract.hbs
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# {{{name}}}
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
{{{natspec.title}}}
|
|
5
|
-
{{{natspec.userdoc}}}
|
|
6
|
-
{{{natspec.devdoc}}}
|
|
7
|
-
|
|
8
|
-
{{#if (withoutFirstElement inheritance)}}
|
|
9
|
-
## Derives
|
|
10
|
-
{{/if}}
|
|
11
|
-
{{#each (withoutFirstElement inheritance)}}
|
|
12
|
-
{{#if (getRelativeDocPath name source.contractsDir source.solcOutput.sources)}}
|
|
13
|
-
- [{{name}}]({{getRelativeDocPath name source.contractsDir source.solcOutput.sources}})
|
|
14
|
-
{{else}}
|
|
15
|
-
- {{name}}
|
|
16
|
-
{{/if}}
|
|
17
|
-
{{/each}}
|
|
18
|
-
|
|
19
|
-
{{#if ownFunctions}}
|
|
20
|
-
## Functions
|
|
21
|
-
{{/if}}
|
|
22
|
-
{{#ownFunctions}}
|
|
23
|
-
### {{name}}
|
|
24
|
-
```solidity
|
|
25
|
-
function {{name}}(
|
|
26
|
-
{{#args}}
|
|
27
|
-
{{type}} {{name}}{{#if @last}}{{else}},{{/if}}
|
|
28
|
-
{{/args}}
|
|
29
|
-
) {{visibility}}{{#if outputs}} returns ({{outputs}}){{/if}}
|
|
30
|
-
```
|
|
31
|
-
{{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}}
|
|
32
|
-
{{#if natspec.devdoc}}{{natspec.devdoc}}{{/if}}
|
|
33
|
-
{{#if args}}
|
|
34
|
-
#### Parameters:
|
|
35
|
-
| Name | Type | Description |
|
|
36
|
-
| :--- | :--- | :------------------------------------------------------------------- |
|
|
37
|
-
{{#args}}
|
|
38
|
-
|`{{name}}` | {{type}} | {{#with (lookup ../natspec.params @index)~}} {{ removeNewlines description }} {{/with}}
|
|
39
|
-
{{/args}}{{/if}}
|
|
40
|
-
{{#if natspec.returns}}
|
|
41
|
-
#### Return Values:
|
|
42
|
-
| Name | Type | Description |
|
|
43
|
-
| :----------------------------- | :------------ | :--------------------------------------------------------------------------- |
|
|
44
|
-
{{#natspec.returns}}
|
|
45
|
-
|`{{param}}`| {{#lookup ../outputs.types @index}}{{/lookup}} | {{{removeNewlines description}}}
|
|
46
|
-
{{/natspec.returns}}{{/if}}
|
|
47
|
-
{{/ownFunctions}}
|
|
48
|
-
{{#if ownEvents}}
|
|
49
|
-
## Events
|
|
50
|
-
{{/if}}
|
|
51
|
-
{{#ownEvents}}
|
|
52
|
-
### {{name}}
|
|
53
|
-
```solidity
|
|
54
|
-
event {{name}}(
|
|
55
|
-
{{#args}}
|
|
56
|
-
{{type}} {{name}}{{#if @last}}{{else}},{{/if}}
|
|
57
|
-
{{/args}}
|
|
58
|
-
)
|
|
59
|
-
```
|
|
60
|
-
{{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}}
|
|
61
|
-
{{#if natspec.devdoc}}{{natspec.devdoc}}{{/if}}
|
|
62
|
-
{{#if args}}
|
|
63
|
-
#### Parameters:
|
|
64
|
-
| Name | Type | Description |
|
|
65
|
-
| :--- | :--- | :------------------------------------------------------------------- |
|
|
66
|
-
{{#args}}
|
|
67
|
-
|`{{name}}` | {{type}} | {{#with (lookup ../natspec.params @index)~}} {{ removeNewlines description }} {{/with}}
|
|
68
|
-
{{/args}}{{/if}}
|
|
69
|
-
{{/ownEvents}}
|