Socket
Socket
Sign inDemoInstall

@typechain/ethers-v5

Package Overview
Dependencies
Maintainers
2
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@typechain/ethers-v5 - npm Package Compare versions

Comparing version 8.0.4 to 8.0.5

6

CHANGELOG.md
# @typechain/ethers-v5
## 8.0.5
### Patch Changes
- 8f7144c: Constant size with length greater than 4 no longer emit as TypeScript tuples.
## 8.0.4

@@ -4,0 +10,0 @@

2

dist/codegen/types.d.ts

@@ -10,3 +10,3 @@ import { AbiOutputParameter, AbiParameter, EvmOutputType, EvmType, TupleType } from 'typechain';

export declare function generateOutputType(options: GenerateTypeOptions, evmType: EvmOutputType): string;
export declare function generateTupleType(tuple: TupleType, generator: (evmType: EvmType) => string): string;
export declare function generateObjectTypeLiteral(tuple: TupleType, generator: (evmType: EvmType) => string): string;
/**

@@ -13,0 +13,0 @@ * Always return an array type; if there are named outputs, merge them to that type

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateOutputComplexTypesAsObject = exports.generateOutputComplexTypeAsArray = exports.generateOutputComplexType = exports.generateTupleType = exports.generateOutputType = exports.generateInputType = exports.generateOutputTypes = exports.generateInputTypes = void 0;
exports.generateOutputComplexTypesAsObject = exports.generateOutputComplexTypeAsArray = exports.generateOutputComplexType = exports.generateObjectTypeLiteral = exports.generateOutputType = exports.generateInputType = exports.generateOutputTypes = exports.generateInputTypes = void 0;
const lodash_1 = require("lodash");

@@ -37,22 +37,11 @@ const common_1 = require("../common");

case 'array':
if (options.useStructs && isConstantSizeStructArray(evmType)) {
return `[${Array(evmType.size).fill(evmType.structName + common_1.STRUCT_INPUT_POSTFIX)}]`;
if (evmType.structName && !options.useStructs) {
// This emits right-hand side of struct type declaration.
// Example: `export type Struct3Struct = { input1: BigNumberish[] };`
return `(${generateInputType({ ...options, useStructs: true }, evmType.itemType)})`;
}
else if (evmType.size !== undefined) {
return `[${Array(evmType.size)
.fill(generateInputType({ ...options, useStructs: true }, evmType.itemType))
.join(', ')}]`;
}
else {
if (evmType.structName) {
if (options.useStructs) {
return evmType.structName + common_1.STRUCT_INPUT_POSTFIX + '[]';
}
else {
return `(${generateInputType({ ...options, useStructs: true }, evmType.itemType)})`;
}
}
else {
return `(${generateInputType({ ...options, useStructs: true }, evmType.itemType)})[]`;
}
return generateArrayOrTupleType(evmType.structName
? evmType.structName + common_1.STRUCT_INPUT_POSTFIX
: generateInputType({ ...options, useStructs: true }, evmType.itemType), evmType.size);
}

@@ -67,3 +56,3 @@ case 'boolean':

}
return generateTupleType(evmType, generateInputType.bind(null, { ...options, useStructs: true }));
return generateObjectTypeLiteral(evmType, generateInputType.bind(null, { ...options, useStructs: true }));
case 'unknown':

@@ -87,23 +76,10 @@ return 'any';

case 'array':
if (options.useStructs && isConstantSizeStructArray(evmType)) {
return `[${Array(evmType.size).fill(evmType.structName + common_1.STRUCT_OUTPUT_POSTFIX)}]`;
if (evmType.structName && !options.useStructs) {
// This emits right-hand side of struct type declaration.
// Example: `export type Struct3StructOutput = [BigNumber[]] & { input1: BigNumber[] };`
return `(${generateOutputType({ ...options, useStructs: true }, evmType.itemType)})`;
}
else if (evmType.size !== undefined) {
return `[${Array(evmType.size)
.fill(generateOutputType({ ...options, useStructs: true }, evmType.itemType))
.join(', ')}]`;
}
else {
if (evmType.structName) {
if (options.useStructs) {
return evmType.structName + common_1.STRUCT_OUTPUT_POSTFIX + '[]';
}
else {
return `(${generateOutputType({ ...options, useStructs: true }, evmType.itemType)})`;
}
}
else {
return `(${generateOutputType({ ...options, useStructs: true }, evmType.itemType)})[]`;
}
}
return generateArrayOrTupleType(evmType.structName
? evmType.structName + common_1.STRUCT_OUTPUT_POSTFIX
: generateOutputType({ ...options, useStructs: true }, evmType.itemType), evmType.size);
case 'boolean':

@@ -123,6 +99,6 @@ return 'boolean';

exports.generateOutputType = generateOutputType;
function generateTupleType(tuple, generator) {
function generateObjectTypeLiteral(tuple, generator) {
return '{' + tuple.components.map((component) => `${component.name}: ${generator(component.type)}`).join(',') + '}';
}
exports.generateTupleType = generateTupleType;
exports.generateObjectTypeLiteral = generateObjectTypeLiteral;
/**

@@ -154,5 +130,10 @@ * Always return an array type; if there are named outputs, merge them to that type

exports.generateOutputComplexTypesAsObject = generateOutputComplexTypesAsObject;
function isConstantSizeStructArray(evmType) {
return evmType.size !== undefined && evmType.structName !== undefined;
function generateArrayOrTupleType(item, length) {
if (length !== undefined && length < 6) {
return `[${Array(length).fill(item).join(', ')}]`;
}
else {
return `(${item})[]`;
}
}
//# sourceMappingURL=types.js.map

@@ -11,3 +11,3 @@ {

],
"version": "8.0.4",
"version": "8.0.5",
"license": "MIT",

@@ -14,0 +14,0 @@ "repository": "https://github.com/ethereum-ts/Typechain",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc