solidity-ts-parser

Pure Typescript Solidity Parser Library

Usage no npm install needed!

<script type="module">
  import solidityTsParser from 'https://cdn.skypack.dev/solidity-ts-parser';
</script>

README

= Solidity Typescript Parser Library

== Overview

Typescript + some scripts for analysis this is more of a bespoke tooling library than a general purpose nodejs library

== Usage

I utilize this in an automated flow for concourse-ci, here is the sample pipeline.yml

# Solidity-CI Concourse Pipeline 
# v0.0.1 
# commit: 71811db19fcc80a80fbdca5ff5842f5a
---
groups:
- name: solidity-contracts
  jobs: [unit, rinkeby, mainnet]
 
- name: semver
  jobs: [deployed, versioning, commit]
 
- name: prs
  jobs: [pr-mythx]
 
resource_types:
- name: pull-request
  type: registry-image
  source:
    repository: jtarchie/pr
 
- name: github-status
  type: registry-image
  source:
    repository: resource/github-status
 
resources:
- name: eth-dapp-ci
  type: git
  source:
    uri: https://github.com/sambacha/eth-dapp-ci
    branch: master
 
- name: version
  type: semver
  source:
    driver: git
    initial_version: 0.0.0
    uri: git@github.com:sambacha/eth-dapp-ci
    branch: version
    file: version
    private_key: ((repo_private_key))
 
- name: release-notes
  type: git
  source:
    uri: https://github.com/sambacha/eth-dapp-ci
    branch: version
 
- name: ethereum-dapp-rel
  type: github-release
  source:
    owner: sambacha
    repository: eth-dapp-ci
    access_token: ((releases_access_token))
 
- name: ethereum-dapp-pr
  type: pull-request
  source:
    repo: sambacha/eth-dapp-ci
    access_token: ((prs_access_token))
 
- name: gh-status
  type: github-status
  source:
    repo: sambacha/eth-dapp-ci
    access_token: ((prs_access_token))
 
jobs:
- name: unit
  public: true
  plan:
  - get: eth-dapp-ci
    version: every
    trigger: true
  - put: gh-status
    params: {path: eth-dapp-ci, state: pending}
  - task: unit
    file: eth-dapp-ci/ci/test.yml
    params:
      COVERALLS_TOKEN: ((coveralls_token))
    on_success:
      put: gh-status
      params: {path: eth-dapp-ci, state: success}
    on_failure:
      put: gh-status
      params: {path: eth-dapp-ci, state: failure}
 
- name: rinkeby
  public: true
  serial_groups: [version]
  plan:
  - get: eth-dapp-ci
    passed: [unit]
    trigger: true
  - get: version
    params: {pre: rinkeby}
  - put: version
    params: {file: version/version}
 
- name: mainnet
  public: true
  serial_groups: [version]
  plan:
  - get: eth-dapp-ci
    passed: [rinkeby]
  - get: final-version
    resource: version
    passed: [rinkeby]
    params: {bump: final}
  - get: release-notes
  - task: build
    file: eth-dapp-ci/ci/build.yml
    input_mapping: {version: final-version}
  - task: grab-release-notes
    file: eth-dapp-ci/ci/grab-release-notes.yml
  - put: version
    params: {file: final-version/version}
  - put: ethereum-dapp-rel
    params:
      tag: version/version
      tag_prefix: v
      committish: eth-dapp-ci/.git/HEAD
      name: release-info/name
      body: release-info/notes.md
      globs: [assets/*]
 
- name: deployed
  public: true
  serial_groups: [version]
  plan:
  - get: version
    params: {bump: deployed, pre: rinkeby}
  - put: version
    params: {file: version/version}
 
- name: versioning
  public: true
  serial_groups: [version]
  plan:
  - get: version
    params: {bump: versioning, pre: rinkeby}
  - put: version
    params: {file: version/version}
 
- name: commit
  public: true
  serial_groups: [version]
  plan:
  - get: version
    passed: [mainnet]
    params: {bump: commit, pre: rinkeby}
    trigger: true
  - put: version
    params: {file: version/version}
 
- name: pr-mythx
  public: true
  plan:
  - get: ethereum-dapp-pr
    version: every
    trigger: true
  - task: unit
    file: ethereum-dapp-pr/ci/test.yml
    input_mapping: {eth-dapp-ci: ethereum-dapp-pr}

== Examples

TODO

== Licesne

SPDX-License-Identifier: ISC

link:https://raw.githubusercontent.com/crytic/evm-opcodes/a4fa5e4b8ec08f5e44c296e8da06a52d2f31b47a/README.md"