@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.
@@ -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' | 'skipIfAlreadyDeployed'> {
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;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
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,9 @@
1
+ {{>common}}
2
+
3
+ ```solidity
4
+ enum {{name}} {
5
+ {{#each members}}
6
+ {{name}}{{#unless @last}},{{/unless}}
7
+ {{/each}}
8
+ }
9
+ ```
@@ -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,7 @@
1
+ {{#each items}}
2
+
3
+ {{#hsection}}
4
+ {{>item}}
5
+ {{/hsection}}
6
+
7
+ {{/each}}
@@ -0,0 +1 @@
1
+ - [{{name}}({{#each parameters.parameters}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}) {{visibility}}](#{{lower name}})
@@ -0,0 +1,9 @@
1
+ {{>common}}
2
+
3
+ ```solidity
4
+ struct {{name}} {
5
+ {{#each members}}
6
+ {{{typeName.typeDescriptions.typeString}}} {{name}};
7
+ {{/each}}
8
+ }
9
+ ```
@@ -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.2.2",
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: "docs", // Can be omitted, docs used by default
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