@piplabs/cdr-sdk v0.1.1
What's new
Cosmos ABCI DKG queries (#45)
Query DKG state 6–20x faster via CometBFT abci_query instead of scanning EVM event logs.
const client = new CDRClient({
network: "testnet", publicClient, walletClient,
dkgSource: "cosmos-abci",
cometRpcUrl: "http://your-node:26657",
});SGX attestation verification (#31)
Verify validator TEE enclaves before trusting their partial decryptions.
import { verifyAttestation } from "@piplabs/cdr-sdk";
const result = verifyAttestation(report, { mrEnclave, mrSigner, minSvn: 1 });Condition helpers (#28)
Encode condition data without manual ABI encoding.
import { conditions } from "@piplabs/cdr-sdk";
// Works with deployed OwnerWriteCondition on Aeneid
conditions.ownerOnly({
address: "0x4C9bFC96d7092b590D497A191826C3dA2277c34B",
owner: "0x...",
});
// Works with any condition contract (e.g. LicenseReadCondition)
conditions.custom({
address: "0xC0640AD4CF2CaA9914C8e5C44234359a9102f7a3",
conditionData: "0x...",
});Also available: conditions.open() , conditions.tokenGate() , conditions.merkle() — these require deploying your own condition contracts.
DX improvements (#28)
accessCDR()auto-generates ephemeral keys and queries threshold when omittedcreateVault/readVault/createFileVault/readFileVaultmethod aliases- Validation RPC:
validationRpcUrlsfor cross-node globalPubKey verification
Bug fixes
- Observer now uses
getActiveRound()to find the correct active DKG round (#38) - HeliaProvider passes CID as string to avoid multiformats version mismatch (#41)
- Synapse storage connection handling (#44)
Breaking changes
dkgSource: "cosmos-api"renamed to"cosmos-abci",dkgApiBase→cometRpcUrl(#45)
Install
git clone https://github.com/piplabs/cdr-sdk.git --branch 0.1.1 --depth 1
cd cdr-sdk && pnpm install && pnpm build
cd ../your-project
npm install ../cdr-sdk/packages/sdk viemLinks
- User Guide — API reference, network configuration, error handling
- Architecture — How CDR works end-to-end
- Condition Contracts — Access control with custom Solidity conditions, deployed contract addresses on Aeneid
- Release Document — Full feature documentation