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.
9 months ago
7 months ago
7 months ago
7 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago