@metadaoproject/futarchy-sdk v4.0.0-alpha.54
Futarchy TypeScript SDK for The MetaDAO
The Futarchy TypeScript SDK provides developers with a powerful, easy-to-use interface to interact with futarchy-based Solana programs deployed by The MetaDAO that enabled proposals powered by decision-markets. This SDK abstracts away ,any complexities, allowing developers to manage DAOs, proposals, and token balances with simple, asynchronous function calls.
Features
- DAO Management: Fetch details of all DAOs or a specific DAO within The MetaDAO ecosystem.
- Proposals: Retrieve proposals associated with a DAO, along with their respective vaults.
- Token Balances: Query wallet balances of DAO tokens as well as conditional tokens of proposals for DAO members.
Installation
pnpm install -P @metadaoproject/futarchy-sdk
Usage
To start using the SDK, you need to import it into your project, along with necessary types from Solana's web3.js library. You can import the RPC client for example. Then you select the AUTOCRAT_VERSION you would like(0 is the latest). AUTOCRAT_VERSION refers to the version of the main Solana program that powers The MetaDAO.
import { PublicKey } from "@solana/web3.js";
import { FutarchyRPCClient, AUTOCRAT_VERSIONS } from "@metadaoproject/futarchy-sdk";
Initializing the Client
Now with the goodies imported, initialize the FutarchyRPCClient
.
const provider = new AnchorProvider(connection, wallet, {});
const programVersion = AUTOCRAT_VERSIONS[0];
const client = FutarchyRPCClient.make(programVersion, provider);
Fetching DAOs
To fetch all DAOs:
const daos = await client.daos.fetchAllDaos();
To fetch a specific DAO by its address:
const daoAddress = "YourDaoAddressHere";
const dao = await client.daos.fetchDao(daoAddress);
Working with Proposals
To fetch proposals for a specific DAO:
const proposals = await client.proposals.fetchProposals(dao);
Managing Token Balances
To fetch main token wallet balances for a DAO member:
const ownerWallet = new PublicKey("YourWalletPublicKeyHere");
const balances = await client.balances.fetchMainTokenWalletBalances(
dao,
ownerWallet
);
12 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
11 months ago
11 months ago
11 months ago
1 year ago
11 months ago
1 year ago
1 year ago
1 year ago
11 months ago
1 year ago
11 months ago
1 year ago
12 months ago
1 year ago
1 year ago
12 months ago
1 year ago
12 months ago
1 year ago
11 months ago
11 months ago
12 months ago
11 months ago
12 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
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
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
10 months ago
10 months ago
10 months ago
11 months ago
1 year ago
10 months ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
11 months ago
1 year ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago