Skip to content

Releases: EVMcrispr/evmcrispr

v0.4.0

27 May 03:59
Compare
Choose a tag to compare

New features

  1. We introduced the environment variables feature.
    • We introduced the new command called "set", which stores in memory a specified value that can be used later in the script.
  2. We introduced @me , @token and @token.balance helpers.
    • We introduced the @me helper that allows using the transaction sender address in the script.
    • We also introduced the @token(SYM) helper. We can use it to retrieve the address of a token from its symbol, fetching it from the uniswap default tokenlist. We can define a different tokenlist by changing the $token.tokenlist variable.
    • The @token helper has a sub-helper: @token.balance(SYM,account). We can use it to retrieve the token balance of a particular account.
  3. We reduced the test suite execution time from more than 2 minutes to only 50 seconds.
  4. We reduced the package bundle size from ~148 kB in v0.3.8 to only ~14.8 kB in v0.4.0.
  5. We introduced the "new token" command, which creates a MiniMe token, and we can use it when installing a new token manager.
  6. We added support to Wallet Connect.
  7. We added a new footer on the terminal website, with the text "Sponsored by Aragon" and the other organizations that support or previously supported us.
  8. We started to refactor the typescript library to decouple the EVM scripting and AragonOS logic.
  9. We now expose ethers.js contracts for each AragonOS app in a DAO.
    • They can be accessed from the EVMcrispr instance using the method "evmcrispr.app(appName)".
  10. We put together the evmcrispr library and the terminal frontend in just one repo. This move makes forking and modifying evmcrispr much easier for external developers.
  11. We started using more modern technologies that make the website very fast: pnpm and vite.
  12. We registered evmcrispr.eth ENS, and EVMcrispr frontend is now available under https://evmcrispr.eth.limo.

Breaking Changes

  1. We changed "evmcrispr.app(app)" for "evmcrispr.app('token-manager').address"
  2. We changed "evmcrispr.exec('token-manager').mint(...params)" for "evmcrispr.exec('token-manager', 'mint', params)".
  3. We deprecated "evmcrispr.exec('token-manger').mint.paramNames", use "evmcrispr.app('token-manager').interface.getFunction('mint').inputs.map(i => i.name)" instead.
  4. We deprecated "evmcrispr.exec('token-manger').mint.paramTypes, use "evmcrispr.app('token-manager').interface.getFunction('mint').inputs.map(i => i.type)" instead.
  5. We changed "evmcrispr.encode(...)" return value from "{ preTxActions: Action[], action: Action }" to just "{ actions: Action[], forward: () => TxReceipt }".