aa-schnorr-multisig-sdk
Version:
Account Abstraction Schnorr Multi-Signatures SDK
30 lines (29 loc) • 1.73 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultiSigSmartAccountParamsSchema = exports.createBaseSmartAccountParamsSchema = void 0;
const zod_1 = __importDefault(require("zod"));
const zod_2 = require("abitype/zod");
const viem_1 = require("viem");
const aa_core_1 = require("@alchemy/aa-core");
const createBaseSmartAccountParamsSchema = () => zod_1.default.object({
rpcClient: zod_1.default.union([zod_1.default.string(), (0, aa_core_1.createPublicErc4337ClientSchema)()]),
factoryAddress: zod_2.Address,
owner: zod_1.default
.custom((owner) => (owner ? (0, aa_core_1.isSigner)(owner) : undefined))
.optional()
.describe("Optional override for the account's owner."),
entryPointAddress: zod_2.Address.optional(),
chain: aa_core_1.ChainSchema,
accountAddress: zod_2.Address.optional().describe("Optional override for the account address."),
initCode: zod_1.default.string().refine(viem_1.isHex, "initCode must be a valid hex.").optional().describe("Optional override for the account init code."),
});
exports.createBaseSmartAccountParamsSchema = createBaseSmartAccountParamsSchema;
const MultiSigSmartAccountParamsSchema = () => (0, exports.createBaseSmartAccountParamsSchema)().extend({
combinedAddress: zod_1.default.array(zod_1.default.string()).optional(),
salt: zod_1.default.string().optional(),
factoryAddress: zod_1.default.string().optional().describe("Optional override for the factory address."),
});
exports.MultiSigSmartAccountParamsSchema = MultiSigSmartAccountParamsSchema;