Docs

AccountExtension

import "@thirdweb-dev/contracts/smart-wallet/utils/AccountExtension.sol";

The AccountExtension smart contract is the extension usable with the Dynamic and Managed Account smart contracts. It is the default extension for these base contracts. It includes the default logic for creating a smart account smart contract including the ability to:

  • Have multiple owners
  • Execute transactions (single and batched).
  • Send and receive native tokens.
  • Send and receive ERC-721 and ERC-1155 NFTs.
  • Multicall-able.
  • Store contract metadata.

View on GitHub

Usage

This is an example smart contract demonstrating how to inherit from this extension and override the functions to add (optional) custom functionality.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/smart-wallet/utils/AccountExtension.sol";

contract MyDynamicAccount is AccountExtension { ... }

Inherited Extensions

This extension inherits from the following extensions:

Base Contracts Implementing This Extension

Full API reference