solc-typed-ast icon indicating copy to clipboard operation
solc-typed-ast copied to clipboard

A TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.

Results 22 solc-typed-ast issues
Sort by recently updated
recently updated
newest added

Given the following code: ``` contract Test { struct Test { uint x; } function main() public { this; } } ``` The type string of `this` is `contract Test`....

bug
cac

When given legacy JSON ASTs, there is some fragile code in `LegacyTupleExpressionProcessor.extractComponentsFromTypeString` that tries to guess what the components of a tuple are based on the type string. When this...

bug
cac

In 0.4.x apparently its possible to do a tuple assignment where the LHS has one *fewer* components than the RHS. E.g. ``` contract Foo { function main() public returns (uint,...

bug
cac

Given the following code: ``` pragma solidity 0.4.13; contract Foo { bool public open; function open() external { } function main() { this.open(); } } ``` `InferType` will infer the...

bug
cac

Current package has two goals: - Handle compile routines of Solidity sources. This requires package to rely on [Solc](https://www.npmjs.com/package/solc) compiler, do file system lookups, allow compiler guessing and downloading. -...

breaking change

## Environment Any ## Scenario 1. Create a Solidity source file `sample.sol` with following contents: ```solidity contract Test { function some(uint a, uint b) pure public returns(uint, uint) { return...

bug
good first issue

When I try to run compileSourceString(fileName, srcAsStr, compilerVersionArray), on the following contract: ``` // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract CharleneSample is ERC20, Ownable { constructor()...

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) Welcome to [Renovate](https://togithub.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin. 🚦 To activate Renovate, merge this Pull Request....

Every new version took time to be 'fully' supported, meanwhile it may worst it to have a naive support for any newest version, as most of contract codebase are not...

When we try to infer types on the following sample: ``` pragma solidity 0.8.29; library Lib { function callAndAddOne(function () internal returns (uint) a) internal returns (uint) { return a()...