Releases: o1-labs/mina-sdk-js
v0.3.0
What's new
Expanded GraphQL selection sets and TypeScript types so consumers (notably mina-mcp-server) can use typed client.getX() methods without losing fields they used to hand-roll.
Additive only — every new field is optional on the response types; existing callers continue to work unchanged.
getDaemonStatus()
numAccounts,highestUnvalidatedBlockLengthReceived,ledgerMerkleRoot,chainId,catchupStatus,blockProductionKeys,coinbaseReceiver,addrsAndPorts
getAccount() / getAccount(_, tokenId)
tokenSymbol,votingFor,receiptChainHash,timing(vesting schedule),permissions(per-action auth predicates incl. the newSetVerificationKeyPermissionshape withauth+txnVersion),zkappState,provedState,zkappUri,balance.blockHeight
getBestChain() (BlockInfo)
epoch,previousStateHash,blockCreator,coinbaseReceiver(mapped from the daemon's misspelledcoinbaseReceiever),stakingEpochData.epochLength,date,utcDate,snarkedLedgerHash,stagedLedgerHash,userCommands
getBlock() (Block)
coinbaseReceiverConsensus(mapped fromconsensusState.coinbaseReceiever)
getPooledUserCommands()
source,receiver,memo,failureReason
sendPayment() / sendDelegation() (SubmittedCommand)
kind,source,receiver,amount,fee,memo
Other
Currency#toJSON(): returns the nanomina string.JSON.stringify(account)now works without throwingDo not know how to serialize a BigInt.
v0.2.4
Bug fixes
- Fix
QUERY_ACCOUNT_WITH_TOKENtoken-arg type: the daemon expectsTokenId, notUInt64. Any call toclient.getAccountWithToken()with a non-empty token now succeeds against current Mina daemons. (#5)
Tooling
- Two-layer GraphQL schema-drift checker (
scripts/check-schema-drift.mjs):- Layer 1: introspect the live daemon and diff against
schema/graphql_schema.json(new checked-in snapshot). Detects added/removed types, field-type changes, argument-type changes (the exact bug above), and inputField-type changes. - Layer 2: parses
src/queries.ts, sends each operation with sentinel variables, classifies GraphQL errors. Connection errors are bucketed as infrastructure failures (always exit 1); unknown-sentinel-type ops fail in--strict. Mutation-input sentinels includeSignatureInput(legitimatenullvalue). - Adds
npm run check:driftand a CI matrix (master/compatible/developlightnet images) that triggers on PRs touchingschema/or the script. (#7)
- Layer 1: introspect the live daemon and diff against
v0.2.3
First release published via npm OIDC trusted publishing (no token, with provenance).
Fixed
- Upgrade the release job to
npm@latest(>= 11.5.1) before publishing. Node 20 ships npm 10.x, which signs provenance but cannot perform the OIDC → npm token exchange, so the publish PUT was unauthenticated and the registry returned a 404.
v0.2.3-oidc-debug.1 (diagnostic)
Throwaway release to capture OIDC token claims. Delete after debug.
v0.2.2
v0.2.1
First release published under the new scoped name @o1-labs/mina-sdk.
Changed
- Package renamed from
mina-sdkto@o1-labs/mina-sdk. - Repo moved from MinaProtocol to o1-labs GitHub org.
- First release published via npm OIDC trusted publishing (with provenance attestation).
v0.2.0
Backwards-compatible additive release.
New methods on MinaClient:
getBlock({ stateHash? | height? })getTransactionStatus({ payment? | zkappTransaction? })→'PENDING' | 'INCLUDED' | 'UNKNOWN'getGenesisConstants()getTrackedAccounts()
Signed-tx support:
sendPayment/sendDelegationaccept optionalsignature?: SignatureInput | null(defaults tonull— preserves daemon-side signing). Pair withmina-signerto drive public-daemon (devnet/mainnet) submissions.
New types exported: Block, BlockArgs, BlockTransaction, FeeTransfer, GenesisConstants, TrackedAccount, TransactionStatus, TransactionStatusArgs, SignatureInput.
No removed or renamed exports — existing 0.1.0 callers continue to work.