import axios from "axios";
import { Keypair } from "@solana/web3.js";
// Initialize API client
const api = axios.create({
baseURL: "https://developer-api.squads.so/api/v1",
headers: {
Authorization: `Bearer YOUR_API_KEY`,
"x-squads-network": "devnet",
"Content-Type": "application/json",
},
});
// Generate or import your signers
const signer1 = Keypair.generate();
const signer2 = Keypair.generate();
const signer3 = Keypair.generate();
// Create a Smart Account
async function createSmartAccount() {
const response = await api.post("/smart-accounts", {
smart_account_signers: [
{
address: signer1.publicKey.toString(),
permissions: ["CAN_INITIATE", "CAN_VOTE", "CAN_EXECUTE"],
},
{
address: signer2.publicKey.toString(),
permissions: ["CAN_VOTE"],
},
{
address: signer3.publicKey.toString(),
permissions: ["CAN_VOTE"],
},
],
threshold: 2,
});
return response.data;
}