Skip to content

Releases: wevm/viem

[email protected]

10 Apr 22:52
6a1bce6
Compare
Choose a tag to compare

Patch Changes

[email protected]

08 Apr 06:58
3ef19ea
Compare
Choose a tag to compare

Patch Changes

[email protected]

07 Apr 21:57
Compare
Choose a tag to compare

Patch Changes

[email protected]

06 Apr 22:52
Compare
Choose a tag to compare

Minor Changes

  • #3542 082c3d0fcc2e376954116d380c65c6ac95293681 Thanks @jxom! - Breaking (Experimental): Updated EIP-5792 to the latest spec changes. The following APIs have been updated:

    getCallsStatus

    const result = await client.getCallsStatus({ id })
    //    ^?
          {
    +       atomic: boolean
    +       chainId: number
    +       id: string
            receipts: Receipt[]
    -       status: 'PENDING' | 'CONFIRMED'
    +       status: 'pending' | 'success' | 'failure' | undefined
    +       statusCode: number
    +       version: string
    }

    sendCalls

    const result = await client.sendCalls({ calls })
    //    ^?
    -     string
    +     { id: string, capabilities?: Capabilities }

    waitForCallsStatus

    const result = await client.waitForCallsStatus({ id })
    //    ^?
          {
    +       atomic: boolean
    +       chainId: number
    +       id: string
            receipts: Receipt[]
    -       status: 'PENDING' | 'CONFIRMED'
    +       status: 'pending' | 'success' | 'failure' | undefined
    +       statusCode: number
    +       version: string
    }

Patch Changes

[email protected]

03 Apr 04:00
Compare
Choose a tag to compare

Minor Changes

Patch Changes

[email protected]

31 Mar 21:34
3ec6acf
Compare
Choose a tag to compare

Patch Changes

[email protected]

28 Mar 22:31
75291ad
Compare
Choose a tag to compare

Patch Changes

[email protected]

27 Mar 04:14
ba51bc9
Compare
Choose a tag to compare

Patch Changes

[email protected]

27 Mar 02:28
24c04e7
Compare
Choose a tag to compare

Minor Changes

  • #3427 2a5ded4eab7febcf2b77a88cfe3c34a621d4dfe7 Thanks @jxom! - Stabilized EIP-7702.

    • Added prepareAuthorization and signAuthorization Actions to the Wallet Client.
    • Added hashAuthorization, recoverAuthorizationAddress, and verifyAuthorization Utilities.
    • Renamed account.experimental_signAuthorization to account.signAuthorization.
  • #3427 2a5ded4eab7febcf2b77a88cfe3c34a621d4dfe7 Thanks @jxom! - BREAKING (Experimental): Removed deprecated walletActionsEip5792 export. Use eip5792Actions instead.

  • #3427 2a5ded4eab7febcf2b77a88cfe3c34a621d4dfe7 Thanks @jxom! - BREAKING (Experimental): Removed deprecated ERC-6492 exports in viem/experimental. These are no longer experimental. Use exports from viem instead.

  • #3427 2a5ded4eab7febcf2b77a88cfe3c34a621d4dfe7 Thanks @jxom! - BREAKING (Experimental): Removed deprecated walletActionsErc7715 export. Use erc7715Actions instead.

  • #3427 2a5ded4eab7febcf2b77a88cfe3c34a621d4dfe7 Thanks @jxom! - BREAKING (Experimental):

    Removed EIP-7702 exports in viem/experimental. These are no longer experimental. Use exports from viem or viem/utils instead.

    Note, there is also a behavioral change in the stable EIP-7702 signAuthorization function. Previously, it was assumed that the signer of the Authorization was also the executor of the Transaction. This is no longer the case.

    If the signer of the Authorization is NOT the executor of the Transaction, you no longer need to pass a sponsor parameter.

    const eoa = privateKeyToAccount('0x...')
    const relay = privateKeyToAccount('0x...')
    
    const authorization = await client.signAuthorization({
      account: eoa,
      contractAddress: '0x...',
    - sponsor: true
    })
    
    const transaction = await client.sendTransaction({
      account: relay,
      authorizationList: [authorization],
    })

    If the signer of the Authorization is ALSO the executor of the Transaction, you will now need to pass the executor parameter with a value of 'self'.

    const eoa = privateKeyToAccount('0x...')
    - const relay = privateKeyToAccount('0x...')
    
    const authorization = await client.signAuthorization({
      account: eoa,
      contractAddress: '0x...',
    + executor: 'self',
    })
    
    const transaction = await client.sendTransaction({
    - account: relay,
    + account: eoa,
      authorizationList: [authorization],
    })

Patch Changes

[email protected]

25 Mar 04:32
466a179
Compare
Choose a tag to compare

Patch Changes