Skip to content

Releases: tintinweb/solidity-shell

Version 0.0.9

28 Dec 17:53
Compare
Choose a tag to compare

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

Version 0.0.8

17 Dec 13:28
b999990
Compare
Choose a tag to compare

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

Version 0.0.7

09 Dec 19:55
642714b
Compare
Choose a tag to compare

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

Version 0.0.6

13 Oct 10:06
Compare
Choose a tag to compare

v0.0.6

  • fix: handle interface declarations

Version 0.0.5

24 Sep 18:51
Compare
Choose a tag to compare

v0.0.5

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

Version 0.0.4

13 Sep 18:04
Compare
Choose a tag to compare

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.

example

playing with arithmetic underflows in solidity 0.8.7 (reverts) and 0.6.0 (underflows)

  node bin/main.js      
 
🚀 Entering interactive Solidity ^0.8.7 shell. '.help' and '.exit' are your friends.
 »  ℹ️  ganache-mgr: starting temp. ganache instance ...
 »
 »  
 »  uint(555)-uint(666)
Error: Returned error: VM Exception while processing transaction: revert
     {
  data: {
    '0xf56c7c173b51b91c89a49735fab75926b166e51a42b721a867d704612dcdd14b': {
      error: 'revert',
      program_counter: 232,
      return: '0x4e487b710000000000000000000000000000000000000000000000000000000000000011'
    },
    stack: 'c: VM Exception while processing transaction: revert\n' +
      '    at Function.c.fromResults (ganache-cli/build/ganache-core.node.cli.js:4:192416)\n' +
      '    at ganache-cli/build/ganache-core.node.cli.js:42:50402',
    name: 'c'
  }
}
 »  pragma solidity 0.6.0
 »  uint(555)-uint(666)
115792089237316195423570985008687907853269984665640564039457584007913129639825
 »  

Version 0.0.3

30 Aug 19:56
Compare
Choose a tag to compare

still alpha 🥳

Version 0.0.2

30 Aug 17:31
Compare
Choose a tag to compare

alpha 🥳