@1inch/solidity-utils 5.2.2 → 5.3.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/dist/src/utils.d.ts +2 -1
- package/dist/src/utils.js +8 -1
- package/dist/src/utils.js.map +1 -1
- package/docgen/templates/common.hbs +38 -0
- package/docgen/templates/contract.hbs +73 -0
- package/docgen/templates/enum.hbs +9 -0
- package/docgen/templates/error.hbs +1 -0
- package/docgen/templates/event.hbs +1 -0
- package/docgen/templates/function.hbs +1 -0
- package/docgen/templates/helpers.js +76 -0
- package/docgen/templates/modifier.hbs +1 -0
- package/docgen/templates/page.hbs +7 -0
- package/docgen/templates/signature.hbs +1 -0
- package/docgen/templates/struct.hbs +9 -0
- package/docgen/templates/user-defined-value-type.hbs +1 -0
- package/docgen/templates/variable.hbs +1 -0
- package/package.json +3 -2
- package/utils/README.md +1 -1
package/dist/src/utils.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export interface DeployContractOptions {
|
|
|
41
41
|
* @param create3Deployer Address of the create3 deployer contract, which related to `contracts/interfaces/ICreate3Deployer.sol`.
|
|
42
42
|
* @param salt Salt value for create3 deployment.
|
|
43
43
|
*/
|
|
44
|
-
interface DeployContractOptionsWithCreate3 extends Omit<DeployContractOptions, 'deployer'
|
|
44
|
+
interface DeployContractOptionsWithCreate3 extends Omit<DeployContractOptions, 'deployer'> {
|
|
45
45
|
txSigner?: Wallet | SignerWithAddress;
|
|
46
46
|
create3Deployer: string;
|
|
47
47
|
salt: string;
|
|
@@ -67,6 +67,7 @@ export declare function deployAndGetContract(options: DeployContractOptions): Pr
|
|
|
67
67
|
* - txSigner: first signer in the environment
|
|
68
68
|
* - deploymentName: contractName
|
|
69
69
|
* - skipVerify: false
|
|
70
|
+
* - skipIfAlreadyDeployed: true
|
|
70
71
|
* - waitConfirmations: 1 on dev chains, 6 on others
|
|
71
72
|
* @returns The deployed contract instance.
|
|
72
73
|
*/
|
package/dist/src/utils.js
CHANGED
|
@@ -62,12 +62,19 @@ exports.deployAndGetContract = deployAndGetContract;
|
|
|
62
62
|
* - txSigner: first signer in the environment
|
|
63
63
|
* - deploymentName: contractName
|
|
64
64
|
* - skipVerify: false
|
|
65
|
+
* - skipIfAlreadyDeployed: true
|
|
65
66
|
* - waitConfirmations: 1 on dev chains, 6 on others
|
|
66
67
|
* @returns The deployed contract instance.
|
|
67
68
|
*/
|
|
68
69
|
async function deployAndGetContractWithCreate3(options) {
|
|
69
70
|
// Set default values for options
|
|
70
|
-
const { create3Deployer, salt, contractName, constructorArgs = [], deployments, txSigner = (await hardhat_1.ethers.getSigners())[0], deploymentName = contractName, skipVerify = false, gasPrice, maxPriorityFeePerGas, maxFeePerGas, waitConfirmations = prelude_1.constants.DEV_CHAINS.includes(hardhat_1.default.network.name) ? 1 : 6, } = options;
|
|
71
|
+
const { create3Deployer, salt, contractName, constructorArgs = [], deployments, txSigner = (await hardhat_1.ethers.getSigners())[0], deploymentName = contractName, skipVerify = false, skipIfAlreadyDeployed = true, gasPrice, maxPriorityFeePerGas, maxFeePerGas, waitConfirmations = prelude_1.constants.DEV_CHAINS.includes(hardhat_1.default.network.name) ? 1 : 6, } = options;
|
|
72
|
+
const contractDeployment = await deployments.getOrNull(contractName);
|
|
73
|
+
if (skipIfAlreadyDeployed && contractDeployment != null &&
|
|
74
|
+
(await deployments.getArtifact(contractName)).deployedBytecode === contractDeployment.deployedBytecode) {
|
|
75
|
+
console.log(`Contract ${contractName} is already deployed at ${contractDeployment.address}`);
|
|
76
|
+
return await hardhat_1.ethers.getContractAt(contractName, contractDeployment.address);
|
|
77
|
+
}
|
|
71
78
|
const deployer = await hardhat_1.ethers.getContractAt('ICreate3Deployer', create3Deployer);
|
|
72
79
|
const CustomContract = await hardhat_1.ethers.getContractFactory(contractName);
|
|
73
80
|
const deployData = (await CustomContract.getDeployTransaction(...constructorArgs)).data;
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC,CAAE,iEAAiE;AAC5G,2DAAsC;AACtC,sFAAgE;AAEhE,oEAA+B;AAI/B,uCAAsC;AAiDtC;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CAAC,OAA8B;IACrE,iCAAiC;IACjC,MAAM,EACF,YAAY,EACZ,eAAe,GAAG,EAAE,EACpB,WAAW,EACX,QAAQ,EACR,cAAc,GAAG,YAAY,EAC7B,UAAU,GAAG,KAAK,EAClB,qBAAqB,GAAG,IAAI,EAC5B,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,GAAG,GAAG,IAAI,EACV,iBAAiB,GAAG,mBAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9E,GAAG,OAAO,CAAC;IAEZ;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAE/B,MAAM,aAAa,GAAkB;QACjC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,YAAY;QACtB,qBAAqB;QACrB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC9B,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,EAAE;QACtD,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE;QACtC,GAAG;QACH,iBAAiB;KACpB,CAAC;IACF,kHAAkH;IAClH,MAAM,YAAY,GAAiB,MAAM,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE/E,IAAI,CAAC,CAAC,UAAU,IAAI,mBAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,iBAAG,CAAC,GAAG,CAAC,eAAe,EAAE;YAC3B,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,oBAAoB,EAAE,eAAe;SACxC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,gBAAM,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1E,CAAC;AAhDD,oDAgDC;AAED
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{{h}} {{name}}
|
|
2
|
+
|
|
3
|
+
{{#if signature}}
|
|
4
|
+
```solidity
|
|
5
|
+
{{{signature}}}
|
|
6
|
+
```
|
|
7
|
+
{{/if}}
|
|
8
|
+
{{{natspec.notice}}}
|
|
9
|
+
|
|
10
|
+
{{#if natspec.dev}}
|
|
11
|
+
_{{{natspec.dev}}}_
|
|
12
|
+
{{/if}}
|
|
13
|
+
|
|
14
|
+
{{#if params}}
|
|
15
|
+
{{#if (arrayHasDescriptions params)}}
|
|
16
|
+
{{h 2}} Parameters
|
|
17
|
+
|
|
18
|
+
| Name | Type | Description |
|
|
19
|
+
| ---- | ---- | ----------- |
|
|
20
|
+
{{#each params}}
|
|
21
|
+
| {{name}} | {{type}} | {{{joinLines natspec}}} |
|
|
22
|
+
{{/each}}
|
|
23
|
+
{{/if}}
|
|
24
|
+
{{/if}}
|
|
25
|
+
|
|
26
|
+
{{#if returns}}
|
|
27
|
+
{{#if (arrayHasDescriptions returns)}}
|
|
28
|
+
|
|
29
|
+
{{h 2}} Return Values
|
|
30
|
+
|
|
31
|
+
| Name | Type | Description |
|
|
32
|
+
| ---- | ---- | ----------- |
|
|
33
|
+
{{#each returns}}
|
|
34
|
+
{{#if name}}{{name}}{{else}}[{{@index}}]{{/if}} | {{type}} | {{{joinLines natspec}}} |
|
|
35
|
+
{{/each}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
{{/if}}
|
|
38
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{{>common}}
|
|
2
|
+
|
|
3
|
+
{{#if types}}
|
|
4
|
+
{{h 2}} Types list
|
|
5
|
+
{{#each types}}
|
|
6
|
+
- [{{name}}](#{{lower name}})
|
|
7
|
+
{{/each}}
|
|
8
|
+
{{/if}}
|
|
9
|
+
|
|
10
|
+
{{#if functions}}
|
|
11
|
+
{{h 2}} Functions list
|
|
12
|
+
{{#each functions}}
|
|
13
|
+
{{>signature}}
|
|
14
|
+
{{/each}}
|
|
15
|
+
{{/if}}
|
|
16
|
+
|
|
17
|
+
{{#if events}}
|
|
18
|
+
{{h 2}} Events list
|
|
19
|
+
{{#each events}}
|
|
20
|
+
{{>signature}}
|
|
21
|
+
{{/each}}
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
{{#if errors}}
|
|
25
|
+
{{h 2}} Errors list
|
|
26
|
+
{{#each errors}}
|
|
27
|
+
{{>signature}}
|
|
28
|
+
{{/each}}
|
|
29
|
+
{{/if}}
|
|
30
|
+
|
|
31
|
+
{{#if types}}
|
|
32
|
+
{{h 2}} Types
|
|
33
|
+
{{#hsection}}
|
|
34
|
+
{{#each types}}
|
|
35
|
+
{{>item}}
|
|
36
|
+
{{/each}}
|
|
37
|
+
{{/hsection}}
|
|
38
|
+
{{/if}}
|
|
39
|
+
|
|
40
|
+
{{#if functions}}
|
|
41
|
+
{{h 2}} Functions
|
|
42
|
+
{{#hsection}}
|
|
43
|
+
{{#each functions}}
|
|
44
|
+
{{>function}}
|
|
45
|
+
{{/each}}
|
|
46
|
+
{{/hsection}}
|
|
47
|
+
{{/if}}
|
|
48
|
+
|
|
49
|
+
{{#if events}}
|
|
50
|
+
{{h 2}} Events
|
|
51
|
+
{{#hsection}}
|
|
52
|
+
{{#each events}}
|
|
53
|
+
{{>common}}
|
|
54
|
+
{{/each}}
|
|
55
|
+
{{/hsection}}
|
|
56
|
+
{{/if}}
|
|
57
|
+
|
|
58
|
+
{{#if errors}}
|
|
59
|
+
{{h 2}} Errors
|
|
60
|
+
{{#hsection}}
|
|
61
|
+
{{#each errors}}
|
|
62
|
+
{{>common}}
|
|
63
|
+
{{/each}}
|
|
64
|
+
{{/hsection}}
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{!--
|
|
68
|
+
{{#each items}}
|
|
69
|
+
{{#hsection}}
|
|
70
|
+
{{>item}}
|
|
71
|
+
{{/hsection}}
|
|
72
|
+
{{/each}}
|
|
73
|
+
--}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
exports.lower = lower;
|
|
2
|
+
exports.isContract = isContract;
|
|
3
|
+
exports.getFunctionsToDisplay = getFunctionsToDisplay;
|
|
4
|
+
exports.findContractById = findContractById;
|
|
5
|
+
exports.arrayHasDescriptions = arrayHasDescriptions;
|
|
6
|
+
// exports
|
|
7
|
+
|
|
8
|
+
function lower (text) {
|
|
9
|
+
if (typeof text === 'string') {
|
|
10
|
+
return text.toLowerCase();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function isContract(item){
|
|
15
|
+
return item != undefined && item.nodeType === 'ContractDefinition';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function arrayHasDescriptions(items){
|
|
19
|
+
if (items != undefined){
|
|
20
|
+
return items.map(item => item.natspec).filter(natspec => natspec !== undefined).length > 0;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getFunctionsToDisplay (baseContractIds, allContracts){
|
|
26
|
+
const resultMap = [];
|
|
27
|
+
if (baseContractIds.length > 0){
|
|
28
|
+
primaryContractFns = getContractFunctions(baseContractIds[0], allContracts);
|
|
29
|
+
primaryContractFns.map(fn => resultMap.push({id: baseContractIds[0], fnId: fn.id, selector: fn.functionSelector, name: fn.name}));
|
|
30
|
+
|
|
31
|
+
for(let i=1; i < baseContractIds.length; i++) {
|
|
32
|
+
const baseContractId = baseContractIds[i];
|
|
33
|
+
const functions = getContractFunctions(baseContractId, allContracts);
|
|
34
|
+
|
|
35
|
+
const newFn = functions.filter(fn => {
|
|
36
|
+
//console.log(fn);
|
|
37
|
+
//console.log(baseContractId, fn.id, fn.name, fn.functionSelector);
|
|
38
|
+
const exclude = fn.kind === 'constructor' && !(fn.visibility === 'public' || fn.visibility === 'external');
|
|
39
|
+
const include = resultMap.find(item => item.selector === fn.functionSelector);
|
|
40
|
+
return !exclude && !include;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
newFn.map(fn => resultMap.push({id: fn.scope, fnId: fn.id, selector: fn.functionSelector, name: fn.name}));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
resultArray = Object.values(resultMap.reduce((acc, item) => {
|
|
48
|
+
if (!acc[item.id]) {
|
|
49
|
+
acc[item.id] = {
|
|
50
|
+
id: item.id,
|
|
51
|
+
functions: []
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
acc[item.id].functions.push({
|
|
55
|
+
fnId: item.fnId,
|
|
56
|
+
selector: item.selector,
|
|
57
|
+
name: item.name
|
|
58
|
+
});
|
|
59
|
+
return acc;
|
|
60
|
+
}, {}));
|
|
61
|
+
|
|
62
|
+
//console.log(resultArray);
|
|
63
|
+
|
|
64
|
+
return resultArray;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function findContractById (id, allContracts) {
|
|
68
|
+
return allContracts.find(contract => contract.id === id);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// helpers
|
|
72
|
+
|
|
73
|
+
getContractFunctions = (id, allContracts) => {
|
|
74
|
+
const contract = findContractById(id, allContracts);
|
|
75
|
+
return contract ? contract.functions : [];
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
- [{{name}}({{#each parameters.parameters}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}) {{visibility}}](#{{lower name}})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{>common}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1inch/solidity-utils",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"main": "dist/src/index.js",
|
|
5
5
|
"types": "dist/src/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -103,6 +103,7 @@
|
|
|
103
103
|
"contracts/interfaces",
|
|
104
104
|
"contracts/libraries",
|
|
105
105
|
"contracts/mixins",
|
|
106
|
-
"contracts/mocks"
|
|
106
|
+
"contracts/mocks",
|
|
107
|
+
"docgen/templates"
|
|
107
108
|
]
|
|
108
109
|
}
|
package/utils/README.md
CHANGED
|
@@ -35,7 +35,7 @@ const { oneInchTemplates } = require('@1inch/solidity-utils/docgen');
|
|
|
35
35
|
module.exports = {
|
|
36
36
|
...
|
|
37
37
|
docgen: {
|
|
38
|
-
outputDir:
|
|
38
|
+
outputDir: 'docs', // Can be omitted, docs used by default
|
|
39
39
|
templates: oneInchTemplates(), // 1inch templates
|
|
40
40
|
pages: 'files', // Doc output format for 1inch templates
|
|
41
41
|
exclude: ['mocks', 'test'], // Directories to exclude from generation
|