Skip to content

@tevm/[email protected]

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 02 Jul 05:30
· 268 commits to main since this release
bb3fae1

@tevm/ts-plugin

2.0.0-next.86

Patch Changes

2.0.0-next.83

Patch Changes

2.0.0-next.80

Patch Changes

2.0.0-next.79

Patch Changes

1.1.0-next.77

Patch Changes

1.1.0-next.74

Patch Changes

1.1.0-next.72

Minor Changes

Patch Changes

1.1.0-next.70

Patch Changes

1.1.0-next.69

Patch Changes

1.1.0-next.66

Patch Changes

1.1.0-next.65

Patch Changes

1.1.0-next.62

Patch Changes

1.1.0-next.60

Patch Changes

1.1.0-next.52

Patch Changes

1.1.0-next.47

Patch Changes

1.0.0-next.41

Patch Changes

1.0.0-next.40

Patch Changes

1.0.0-next.28

Patch Changes

1.0.0-next.25

Patch Changes

1.0.0-next.23

Patch Changes

1.0.0-next.21

Patch Changes

1.0.0-next.18

Patch Changes

1.0.0-next.17

Patch Changes

1.0.0-next.16

Minor Changes

  • #714 95b534c3 Thanks @roninjin10! - Added ability to resolve most paths in tsconfig that look similar to '@/': ['./']

Patch Changes

1.0.0-next.15

Patch Changes

1.0.0-next.14

Patch Changes

1.0.0-next.13

Patch Changes

1.0.0-next.12

Patch Changes

1.0.0-next.11

Minor Changes

Patch Changes

1.0.0-next.9

Patch Changes

1.0.0-next.8

Patch Changes

1.0.0-next.6

Patch Changes

1.0.0-next.5

Patch Changes

1.0.0-next.4

Patch Changes

1.0.0-next.3

Minor Changes

  • #674 eddcef02 Thanks @roninjin10! - Added debug option to tevm config. When turned on the output of tevm contract imports will be written to disk and can be debugged. In future logging for the bundler will also be printed to a debug log file

Patch Changes

1.0.0-next.2

Minor Changes

  • #668 31ed39a5 Thanks @roninjin10! - Added back bytecode to Tevm bundler. When the compiler encounters a file ending in .s.sol it will compile the bytecode in addition to the abi

Patch Changes

1.0.0-next.0

Major Changes

  • #485 570c4ed6 Thanks @roninjin10! - Removed global Address config and external contracts from Tevm to simplify the API

Patch Changes

0.11.2

Patch Changes

0.10.0

Patch Changes

  • #466 1c4cbd2 Thanks @roninjin10! - Updated @tevm/ts-plugin to use LSP to get files

    Previously Tevm relied on fs.readFileSync to implement the LSP. By replacing this with using typescriptLanguageServer.readFile we are able to rely on the LSP to get the file instead of the file system

    In future versions of Tevm when we add a vscode plugin this will make the LSP smart enough to update before the user even clicks save

  • #418 fbf8f49 Thanks @roninjin10! - Fixed bug with LSP potentially not resolving Tevm correctly in nested node module

  • Updated dependencies [dbc2da6, 1c4cbd2, e99fcd0, cb83c0c]:

0.9.0

Patch Changes

0.8.1

Patch Changes

  • #453 c23302a Thanks @roninjin10! - Started publishing every commit to main so all Tevm changes can be used early. To use the latest main branch release install with @main tag. e.g. npm install @tevm/ts-plugin@main

  • Updated dependencies [c23302a]:

0.8.0

Minor Changes

  • #444 793798e Thanks @roninjin10! - Added support for go-to-definition.

    Untitled_ Sep 3, 2023 6_52 AM

    After right clicking on a symbol and selecting go-to-definition with the language server protocol the editor will show the exact file and line of code a solidity method or event is defined on. This includes both the implementation and the interface.

Patch Changes

0.7.1

Patch Changes

0.7.0

Minor Changes

  • #426 0191aee Thanks @roninjin10! - Added svelte-ethers Tevm example app

    This example app is the first using Svelte for direct contract imports. The import happens in the svelte page

    <script>
      import { onMount } from 'svelte';
      import { writable } from 'svelte/store';
      import { EthersMintExample } from '../contracts/EthersMintExample.sol';
      import {createEthersContract} from '@tevm/ethers'
      import { Contract, JsonRpcProvider } from 'ethers'
    
      // Create stores for all reactive variables
      let totalSupply = writable('');
      let ownerOf = writable('');
      let balanceOf = writable('');
    
      const tokenId = BigInt('114511829')
    
      const provider = new JsonRpcProvider('https://goerli.optimism.io', 420)
      const ethersContract = createEthersContract(EthersMintExample, {
    		chainId: 420,
    		runner: provider,
    	})
    
      onMount(async () => {
        totalSupply.set(await ethersContract.totalSupply());
        ownerOf.set(await ethersContract.ownerOf(tokenId));
        if ($ownerOf?.toString()) {
          balanceOf.set(await ethersContract.balanceOf($ownerOf?.toString()));
        }
      });
    </script>
    
    <h1>Welcome to SvelteKit</h1>
    <p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
    <div>
      <div>
        <h3>totalSupply():</h3>
        <div>{$totalSupply?.toString()}</div>
        <br />
        <h3>ownerOf(): </h3>
        <div>{$ownerOf?.toString()}</div>
        <br />
        <h3>balanceOf($address):</h3>
        <div>{$balanceOf?.toString()}</div>
      </div>
    </div>

    Here you can see we import a contract directly from EthersMintExample.sol and use it with ethers.js

    • The svelte example is powered by @tevm/vite-plugin and @tevm/ts-plugin
    • This svelte example is using js with jsdoc which is now newly enabled
    • This is the first example app using the @tevm/ethers package which brings typesafe ethers.js contracts to the table
      • Note CLI typechecker will not be enabled until Beta release for now typesafety is purely in the editor

    App is extremely minimal as I have almost 0 experience using svelte. Contributions are welecome

Patch Changes

0.6.0

Patch Changes

0.5.7

Patch Changes

0.5.6

Patch Changes

0.5.5

Patch Changes

0.5.4

Patch Changes

0.5.3

Patch Changes

0.5.2

Patch Changes

0.5.1

Patch Changes

0.5.0

Minor Changes

  • #283 05a8efe Thanks @roninjin10! - Updated config schema to support etherscan

    • Solc version is now listed under compiler.solcVersion instead of solc
    • Foundry projects are now listed under compiler.foundryProject instead of forge
    • Local contracts are now specified under localContracts.contracts instead of deployments
    • New external option (unimplemented) externalContracts which is used to specifify contracts imported from etherscan in the next release
  • #297 85c340d Thanks @roninjin10! - Added suport for non relative imports including absolute imports with baseUrl in tsconfig, imports of contracts in node_modules, and imports of contracts in foundry lib

Patch Changes

0.4.2

Patch Changes

0.4.1

Patch Changes

0.4.0

Minor Changes

  • #268 a37844f Thanks @roninjin10! - Added support for detecting foundry.toml and remappings as tsconfig option. Set forge: true in plugin tsconfig options or forge: '/path/to/binary/forge' for a custom forge binary

Patch Changes

0.3.0

Minor Changes

Patch Changes

0.2.0

Minor Changes

Patch Changes

0.1.0

Minor Changes

Patch Changes

0.0.3

Patch Changes

0.0.2

Patch Changes

0.0.1

Patch Changes

0.0.1-next.0

Patch Changes