makahiki v2.1.0-alpha.7
makahiki.js
The smart account SDK for Stackup's onchain financial platform.
Getting started
This library enables interactions with Simple Team Account using viem's account abstraction interface.
Installation
Note: this SDK uses viem@2.19.7, and webauthn-p256@0.0.10. It is recommended to pin these versions to avoid typing issues.
pnpm install makahiki
Initialize smart account
import { http, pad } from "viem";
import { sepolia } from "viem/chains";
import { toSmartAccountV2 } from "makahiki";
const account = await toSmartAccountV2({
rootPublicKey,
signerPublicKey,
webAuthnAccount,
publicClientConfig: {
chain: sepolia,
transport: http("Your node rpc here..."),
},
// Optional fields
salt: pad("0x00", { size: 32 }),
nonceKey: 0n,
// Verifier fields
verifier: "0xffff....dddd"
verifyUserOp: async (userOp) => {
return "0xdeadbeef"
}
});
Initialization options
Option | Description |
---|---|
rootPublicKey | A hex public key of the root admin that deployed the smart account. Equivalent to viem's webAuthnAccount.publicKey . This determines the counterfactual address. |
signerPublicKey | A hex public key of the current signer for outgoing transactions. Equivalent to viem's webAuthnAccount.publicKey . |
webAuthnAccount | The webAuthn interface for the current user. See here. |
publicClientConfig | The same config object to initialize a viem Public Client. Note that chain is required. See here. |
salt | A 32 byte hex string that is used to derive the smart account address. Defaults to the zero hash. (Optional) |
nonceKey | A bigint value to set the key for the 2D nonce. Defaults to 0. (Optional) |
verifier | The address of the off-chain permissions entity that co-signs member level transactions. (optional) |
verifyUserOp | A hook called during the final signature phase to retrieve and return the verifier signature. (required only for Member transactions) |
Return type
Returns an instance of a viem SmartAccount
.
Contributing
Steps for setting up a local dev environment for contributing to makahiki.js.
Prerequisites
- Node >=18.0.0
Setup
Install dependencies:
pnpm install
Run tests:
pnpm test
License
Distributed under the MIT License. See LICENSE for more information.
8 months ago
6 months ago
6 months ago
6 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago