@voiz-digital/markets-sdk. Market / pool / user types come back from factory methods, not from these helpers. CreateMarketMetadata is the bag you pass as createMarket({ metadata }).
normalizeOddsBps and quoteSeed live on Seed a market. Client construction lives on Set up with viem.
getAddresses
Partial<Omit<ChainAddresses, "chainId">>. Valid keys: marketFactory, adminOracle, multisigOracle, router, collateral, conditionalTokens. There is no hook field.
Pass the result as addresses on the client or VoizProvider when you are not on the baked-in Base / Base Sepolia map.
erc20Abi
For the rare path where you readbalanceOf / allowance yourself. High-level methods already encode approvals.
mintCollateral
Testnet collateral, if the token exposes mint. There is noclient.burn. First LP is market.seed. Later LP is market.addLiquidity.