Skip to content

Latest commit

 

History

History
139 lines (106 loc) · 5.58 KB

CHANGELOG.md

File metadata and controls

139 lines (106 loc) · 5.58 KB

Change Log

All notable changes will be documented in this file.

v0.2.4

  • new: configure an etherscan.io apiKey .config set etherscanApiKey <newApiKey> (default: YourApiKeyToken demo key) #25 #24

v0.2.3

  • update: dependencies

v0.2.2

  • new: inspection commands: .inspect contract raw storage, show generated bytecode, opcodes, storageLayout - #23

image

  .inspect
      bytecode                     ... show bytecode of underlying contract
      opcodes                      ... show disassembled opcodes of underlying contract
      storageLayout                ... show variable to storage slot mapping for underlying contract
      storage <slot> <num> [<address>]  ... show raw storage at slot of underlying deployed contract
      deployed                     ... debug: show internal contract object

v0.2.1

  • fix: feed current compiler version into abi-to-sol; strip attribution and other code #20 #21
  • update: compiler list
  • update: built-in solc -> 0.8.16

v0.2.0

  • new: new command to fetch & load interface declaration from etherscan.io #19

shell-fetch-interface

v0.1.2

  • fix: support require(), type, abstract, library
  • update: compiler list
  • update: built-in solc -> 0.8.15
  • update: dependencies

v0.1.1

  • fix: return appropriate error message when trying to return an uninit storage pointer - #17
  • fix: support enums
🚀 Entering interactive Solidity ^0.8.13 shell (🧁:Ganache built-in). '.help' and '.exit' are your friends.
»  enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
»  uint8(FreshJuiceSize.LARGE)
2
  • fix: case insensitive bool match for .config set <var> True|False|true|false
  • update: dependencies

v0.1.0

⚠️ pot. breaking changes: solidity-shell now ships with ganache. use .chain set-provider to switch chain providers. the built-in ganache provider is used by default.

  • new: built in ganache provider
  • new: .chain subcommand
    • .chain restart - restarts the service (formerly known as .restartblockchain)
    • .chain set-provider [fork-url] - switch between the internal or an external ganache-cli command or url-provider. Optionally specify a ganache fork-url.
      • .chain set-provider internal https://mainnet.infura.io/v3/yourApiKey
    • .chain accounts - show ganache accounts
    • .chain eth_<X> [args...] - arbitrary eth JSONrpc method calls to blockchain provider.
      • e.g. .chain eth_accounts returns the blockchain providers response to the eth_accounts JSONrpc call.
  • new: command line switches:
    • --fork overrides fork-url option for internal ganache provider solidity-shell --fork https://mainnet.infura.io/v3/yourApiKey.
    • --reset-config resets the config file.
    • --show-config-file prints the path to the config file.
  • fix: better error handling. prevent vicious cycles where broken config trashes the app 🤦‍♂️
  • update: dependencies and solc references updated

v0.0.11

  • new: configurable call and deploy gas
  • new: .restartblockchain command to restart ganache e.g. after config changes
  • fix: fixed returnval for some keywords
  • fix: show result for functions declaring multiple return vals
  • fix: naive fix to resolve function declarations for multi returnval function invocations.

image

v0.0.10

  • new: update to solc@0.8.11
  • new: basic autocomplete for built-ins (configurable via .config) - #11
  • fix: return value of unit constants (e.g. 2 ether) - #12
  • fix: distinguish between/ autoguess const signed and unsigned int return values - #12
  • update: minor refactoring - #11

v0.0.9

  • new: support the import directive - #8
    • new: experimental support for https imports, i.e. import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/master/contracts/token/ERC721/IERC721.sol". This can be disabled by setting » .config set resolveHttpImports false.
  • fix: localhost alias may not be available on some systems - #9

v0.0.8

  • new: Passthru ganache-cli settings as options to solidity-shell #7
solidity-shell -- -fork https://mainnet.infura.io/v3/yourToken

Query a live contracts ERC20.name():

 »  interface ERC20 {
multi> function name() external view returns (string memory);
multi> }
 
 »  ERC20(0xB8c77482e45F1F44dE1745F52C74426C631bDD52).name()
BNB
  • fix: .config set handling of strings and multi-word arguments
  • fix: exit exits solidity-shell completely

v0.0.7

  • fix: rework remote compiler
    • added a remoteCompiler wrapper
  • fix: always use latest compiler shipped with this package by default
    • new: ship with solc 0.8.10
    • preference: use solc shipped with package by default, else check static solcVersions list and fetch remote compiler, else update solcVersions list and fetch remote compiler.
  • fix: better error handling when changing compiler version
  • new: support error keyword and fix memory/storage type declarations

v0.0.6

  • fix: handle interface declarations

v0.0.5

  • fix: support blocks/loops - #2
  • fix: better ganache error handling and minor refactoring

v0.0.4

  • new: dynamic compiler selection via pragma directive
    • changing the solidity version pragma attempts to load the selected compiler version remotely. e.g. type pragma solidity 0.8.4 to switch to solidity v0.8.4.

v0.0.1 - 0.0.3

  • first alpha