Skip to content
Alchemy Logo

MultisigModularAccountFactoryAbi

const MultisigModularAccountFactoryAbi: readonly [
  {
    inputs: readonly [
      {
        internalType: "address";
        name: "owner";
        type: "address";
      },
      {
        internalType: "address";
        name: "multisigPlugin";
        type: "address";
      },
      {
        internalType: "address";
        name: "implementation";
        type: "address";
      },
      {
        internalType: "bytes32";
        name: "multisigPluginManifestHash";
        type: "bytes32";
      },
      {
        internalType: "contract IEntryPoint";
        name: "entryPoint";
        type: "address";
      },
    ];
    stateMutability: "nonpayable";
    type: "constructor";
  },
  {
    stateMutability: "payable";
    type: "receive";
  },
  {
    inputs: readonly [];
    name: "ENTRYPOINT";
    outputs: readonly [
      {
        internalType: "contract IEntryPoint";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "IMPL";
    outputs: readonly [
      {
        internalType: "address";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "MULTISIG_PLUGIN";
    outputs: readonly [
      {
        internalType: "address";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "acceptOwnership";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "uint32";
        name: "unstakeDelay";
        type: "uint32";
      },
      {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
      },
    ];
    name: "addStake";
    outputs: readonly [];
    stateMutability: "payable";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "uint256";
        name: "salt";
        type: "uint256";
      },
      {
        internalType: "address[]";
        name: "owners";
        type: "address[]";
      },
      {
        internalType: "uint128";
        name: "threshold";
        type: "uint128";
      },
    ];
    name: "createAccount";
    outputs: readonly [
      {
        internalType: "address";
        name: "addr";
        type: "address";
      },
    ];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "uint256";
        name: "salt";
        type: "uint256";
      },
      {
        internalType: "address[]";
        name: "owners";
        type: "address[]";
      },
      {
        internalType: "uint256";
        name: "threshold";
        type: "uint256";
      },
    ];
    name: "getAddress";
    outputs: readonly [
      {
        internalType: "address";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "owner";
    outputs: readonly [
      {
        internalType: "address";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "pendingOwner";
    outputs: readonly [
      {
        internalType: "address";
        name: "";
        type: "address";
      },
    ];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "renounceOwnership";
    outputs: readonly [];
    stateMutability: "view";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "address";
        name: "newOwner";
        type: "address";
      },
    ];
    name: "transferOwnership";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    inputs: readonly [];
    name: "unlockStake";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "address payable";
        name: "to";
        type: "address";
      },
      {
        internalType: "address";
        name: "token";
        type: "address";
      },
      {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
      },
    ];
    name: "withdraw";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    inputs: readonly [
      {
        internalType: "address payable";
        name: "to";
        type: "address";
      },
    ];
    name: "withdrawStake";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
  },
  {
    anonymous: false;
    inputs: readonly [
      {
        indexed: true;
        internalType: "address";
        name: "previousOwner";
        type: "address";
      },
      {
        indexed: true;
        internalType: "address";
        name: "newOwner";
        type: "address";
      },
    ];
    name: "OwnershipTransferStarted";
    type: "event";
  },
  {
    anonymous: false;
    inputs: readonly [
      {
        indexed: true;
        internalType: "address";
        name: "previousOwner";
        type: "address";
      },
      {
        indexed: true;
        internalType: "address";
        name: "newOwner";
        type: "address";
      },
    ];
    name: "OwnershipTransferred";
    type: "event";
  },
  {
    inputs: readonly [];
    name: "InvalidAction";
    type: "error";
  },
  {
    inputs: readonly [];
    name: "InvalidOwner";
    type: "error";
  },
  {
    inputs: readonly [];
    name: "InvalidThreshold";
    type: "error";
  },
  {
    inputs: readonly [];
    name: "OwnersArrayEmpty";
    type: "error";
  },
  {
    inputs: readonly [];
    name: "OwnersLimitExceeded";
    type: "error";
  },
  {
    inputs: readonly [];
    name: "TransferFailed";
    type: "error";
  },
];

Defined in: account-kit/smart-contracts/src/msca/abis/MultisigModularAccountFactory.ts:1

Was this page helpful?