@typechain/ethers-v5
Advanced tools
@@ -48,2 +48,4 @@ "use strict"; | ||
| return generateTupleType(evmType, generateInputType); | ||
| case 'unknown': | ||
| return 'any'; | ||
| } | ||
@@ -77,2 +79,4 @@ } | ||
| return generateOutputTupleType(evmType); | ||
| case 'unknown': | ||
| return 'any'; | ||
| } | ||
@@ -79,0 +83,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/codegen/types.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/codegen/types.ts"],"names":[],"mappings":"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"} |
+2
-5
@@ -11,3 +11,3 @@ { | ||
| ], | ||
| "version": "2.0.0", | ||
| "version": "3.0.0", | ||
| "license": "MIT", | ||
@@ -37,3 +37,3 @@ "repository": "https://github.com/ethereum-ts/Typechain", | ||
| "peerDependencies": { | ||
| "typechain": "^3.0.0", | ||
| "typechain": "^4.0.0", | ||
| "ethers": "^5.0.0" | ||
@@ -66,6 +66,3 @@ }, | ||
| "typescript": "3.9.0-beta" | ||
| }, | ||
| "dependencies": { | ||
| "ethers": "^5.0.2" | ||
| } | ||
| } |
+46
-0
@@ -24,1 +24,47 @@ # Typechain target Ethers-v5 | ||
| ## [TypeChain readme](https://github.com/ethereum-ts/TypeChain) | ||
| ## Contract typings | ||
| The main files generated by this target are `<contract-name>.d.ts`. They declare typesafe interfaces for your contracts on top of ethers `Contract` instances: | ||
| * typed contract's methods, available both at `contract.someMethod(...)` and `contract.functions.someMethod(...)` | ||
| * typed events in `contract.interface.events.AnEvent` and filters in `contract.filters.AnEvent` | ||
| * typed method gas estimates in `contract.estimateGas.someMethod` | ||
| * overrides for the event listener methods (`on`, `once`, etc) that return the same contract type. | ||
| Note: these are just _type declarations_ to help you call the blockchain properly, so they're not available at runtime, and all of the contracts are still instances of the same `Contract` class. | ||
| ## Contract factories | ||
| This target also generates a concrete factory class for each contract, to help you deploy or connect to contract instances. The factory classes are an extension of ethers' `ContractFactory`. They serve two main purposes: | ||
| * wrap passing contract ABI and bytecode to the `ContractFactory` class, so you don't have to load and parse the JSON manually | ||
| * provide a correctly typed interface to `ContractFactory` (since it returns plain `Contract` instances). | ||
| Abstract contracts or solidity interfaces are handled a bit different, because they have no bytecode. For those, a simplified factory is generated that doesn't extends `ContractFactory`, and only includes the static `connect` method, so you can easily connect to a deployed instance without having to pass the ABI manually. | ||
| ## Basic example | ||
| Suppose you have an `Erc20Token.sol` solidity interface and a `DummyToken.sol` contract implementing it. | ||
| ```typescript | ||
| import { BigNumber } from 'ethers'; | ||
| import { Wallet } from 'ethers'; | ||
| import { DummyTokenFactory } from 'typechain-out-dir/DummyTokenFactory'; | ||
| import { DummyToken } from 'typechain-out-dir/DummyToken'; | ||
| import { Erc20TokenFactory } from 'typechain-out-dir/Erc20TokenFactory'; | ||
| const provider = getYourProvider(...); | ||
| // use the concrete contract factory if you need to operate on the bytecode (ie. deploy) | ||
| async function deployTestToken(ownerPK: string): Promise<DummyToken> { | ||
| const owner = new Wallet(ownerPK, provider); | ||
| return new DummyTokenFactory(owner).deploy(); | ||
| } | ||
| // to call existing contracts, a factory for both the concrete contract and for the interface | ||
| // can be used since the ABI is the same | ||
| async function getTokenBalance(walletAddress: string, tokenAddress: string): Promise<BigNumber> { | ||
| const token = Erc20TokenFactory.connect(tokenAddress, provider); | ||
| return token.balanceOf(walletAddress); | ||
| } | ||
| ``` |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
45694
6.39%2
-33.33%522
0.77%70
191.67%+ Added
+ Added
- Removed
- Removed
- Removed