makahiki
v2.3.0
Published
The smart account SDK for Stackup's onchain financial platform.
Downloads
225
Readme
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 [email protected], and [email protected]. It is recommended to pin these versions to avoid typing issues.
pnpm install makahikiInitialize 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 installRun tests:
pnpm testLicense
Distributed under the MIT License. See LICENSE for more information.
