@somnia-chain/contracts-sdk 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -23
- package/dist/abis.d.ts +52 -0
- package/dist/abis.js +42 -0
- package/dist/decode-core.d.ts +51 -0
- package/dist/decode-core.js +145 -0
- package/dist/decode.d.ts +15 -0
- package/dist/decode.js +30 -0
- package/dist/digest.d.ts +11 -0
- package/dist/digest.js +33 -0
- package/dist/enumerate.d.ts +56 -0
- package/dist/enumerate.js +70 -0
- package/dist/gen/abi/deployer-contract/ProtocolDeployer.d.ts +2 -0
- package/dist/gen/abi/deployer-contract/ProtocolDeployer.js +3 -0
- package/dist/gen/abi/somnia-accounts/CompatibilityFallbackHandler.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/CompatibilityFallbackHandler.js +3 -0
- package/dist/gen/abi/somnia-accounts/MultiSend.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/MultiSend.js +3 -0
- package/dist/gen/abi/somnia-accounts/MultiSendCallOnly.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/MultiSendCallOnly.js +3 -0
- package/dist/gen/abi/somnia-accounts/Safe.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/Safe.js +3 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactory.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactory.js +3 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImpl.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImpl.js +3 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImplV2.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImplV2.js +3 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImplV3.d.ts +2 -0
- package/dist/gen/abi/somnia-accounts/SomniaAccountFactoryImplV3.js +3 -0
- package/dist/gen/abi/somnia-agents/agentRegistry.d.ts +2 -0
- package/dist/gen/abi/somnia-agents/agentRegistry.js +3 -0
- package/dist/gen/abi/somnia-agents/committee.d.ts +2 -0
- package/dist/gen/abi/somnia-agents/committee.js +3 -0
- package/dist/gen/abi/somnia-agents/somniaAgents.d.ts +2 -0
- package/dist/gen/abi/somnia-agents/somniaAgents.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.SBTCD_reader.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.SBTCD_reader.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.aggregateImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.aggregateImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.aggregateOracle.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-aggregate-oracle.aggregateOracle.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-oracles.factory.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/agent-oracles.factory.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/binary-market-makers.accessControl.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/binary-market-makers.accessControl.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/binary-market-makers.upgradeableBeacon.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/binary-market-makers.upgradeableBeacon.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/deploy.spotPoolImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/deploy.spotPoolImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/dream-vault.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/dream-vault.implementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/dream-vault.implementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/dream-vault.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/linked-wallet-registry.registryImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/linked-wallet-registry.registryImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.ADA_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.ADA_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.AVAX_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.AVAX_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.BNB_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.BNB_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.BTC_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.BTC_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.DOGE_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.DOGE_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.ETH_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.ETH_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.HYPE_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.HYPE_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.LINK_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.LINK_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.NEAR_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.NEAR_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.SOL_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.SOL_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.SUI_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.SUI_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.TAO_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.TAO_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.WLD_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.WLD_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.XLM_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.XLM_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.XRP_manual.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/manual-oracles.XRP_manual.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.accessControl.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.accessControl.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-native-usdso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-native-usdso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-usdce-usdso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-usdce-usdso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-wbtc-usdso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-wbtc-usdso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-weth-usdso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.marketMakers.mm-weth-usdso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.upgradeableBeacon.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/market-makers.upgradeableBeacon.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SBNB_incumbentRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SBNB_incumbentRouter.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SBTCD_incumbentRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SBTCD_incumbentRouter.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SDOGE_incumbentRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SDOGE_incumbentRouter.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SETH_incumbentRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SETH_incumbentRouter.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SSOL_incumbentRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.SSOL_incumbentRouter.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.factory.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/multi-source-oracle.factory.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/operator-permissions-registry.registryImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/operator-permissions-registry.registryImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/operator-permissions-registry.registryProxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/operator-permissions-registry.registryProxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-liquidation-swapper.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-liquidation-swapper.implementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-liquidation-swapper.implementation.js +7 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-liquidation-swapper.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-bnb-perp.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-bnb-perp.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-btc-perp.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-btc-perp.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-near-perp.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-market-makers.perpMarketMakers.sim-mm-near-perp.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-taker-3.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perp-taker-3.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.ADA-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.ADA-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.AVAX-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.AVAX-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.BNB-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.BNB-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.BTC-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.BTC-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.DOGE-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.DOGE-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.ETH-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.ETH-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.HYPE-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.HYPE-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.LINK-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.LINK-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.NEAR-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.NEAR-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SBTCC-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SBTCC-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SOL-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SOL-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SSOL-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SSOL-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SUI-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.SUI-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.TAO-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.TAO-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.WLD-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.WLD-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.XLM-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.XLM-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.XRP-PERP_baseToken.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.XRP-PERP_baseToken.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.adlRanker.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.adlRanker.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.insuranceFund.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.insuranceFund.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.linkedWalletAwareAdlRanker.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.linkedWalletAwareAdlRanker.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.linkedWalletRegistry.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.linkedWalletRegistry.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.liquidationEngine.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.liquidationEngine.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.marginBank.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.marginBank.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.perpPoolFactory.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.perpPoolFactory.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.simBidder.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.simBidder.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.unlinkGuard.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.unlinkGuard.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.voucherDistributor.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps-protocol.voucherDistributor.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.ADA.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.ADA.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.AVAX.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.AVAX.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.BNB.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.BNB.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.BTC.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.BTC.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.DOGE.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.DOGE.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.ETH.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.ETH.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.HYPE.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.HYPE.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.LINK.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.LINK.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.NEAR.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.NEAR.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.SOL.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.SOL.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.SUI.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.SUI.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.TAO.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.TAO.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.WLD.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.WLD.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.XLM.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.XLM.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.XRP.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistries.XRP.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistryBeacon.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistryBeacon.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistryImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/perps.perpStopOrderRegistryImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/prophecy-oracle.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/prophecy-oracle.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/router.routerImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/router.routerImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/router.routerProxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/router.routerProxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/settlement-scheduler.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/settlement-scheduler.implementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/settlement-scheduler.implementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/settlement-scheduler.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SBNB_proxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SBNB_proxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SDOGE_proxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SDOGE_proxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SETH_proxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SETH_proxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SSOL_proxy.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/sim-oracle-proxies.SSOL_proxy.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool-registry.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool-registry.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.NATIVE_TOKEN_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.NATIVE_TOKEN_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.SpotPool_Beacon.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.SpotPool_Beacon.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.SpotPool_Implementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.SpotPool_Implementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.USDC.e_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.USDC.e_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.USDT_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.USDT_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.WBTC_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.WBTC_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.WETH_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/spot-pool.WETH_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.spotStopOrderRegistryBeacon.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.spotStopOrderRegistryBeacon.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.spotStopOrderRegistryImplementation.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.spotStopOrderRegistryImplementation.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.NATIVE_TOKEN_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.NATIVE_TOKEN_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.USDC.e_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.USDC.e_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.WBTC_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.WBTC_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.WETH_USDso.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stop-order-registries.stopOrderRegistries.WETH_USDso.js +3 -0
- package/dist/gen/abi/somnia-dex-protocol/stork-oracle.d.ts +2 -0
- package/dist/gen/abi/somnia-dex-protocol/stork-oracle.js +3 -0
- package/dist/gen/abi/somnia-markets/BinaryClobFactory.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/BinaryClobFactory.js +3 -0
- package/dist/gen/abi/somnia-markets/BinaryMarketImpl.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/BinaryMarketImpl.js +3 -0
- package/dist/gen/abi/somnia-markets/BinaryMarketsModule.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/BinaryMarketsModule.js +3 -0
- package/dist/gen/abi/somnia-markets/BinaryPoolImpl.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/BinaryPoolImpl.js +3 -0
- package/dist/gen/abi/somnia-markets/BinarySettlement.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/BinarySettlement.js +3 -0
- package/dist/gen/abi/somnia-markets/CollateralRouter.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/CollateralRouter.js +3 -0
- package/dist/gen/abi/somnia-markets/MarketCreatorFactory.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/MarketCreatorFactory.js +3 -0
- package/dist/gen/abi/somnia-markets/MarketCreatorFactory.legacy1.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/MarketCreatorFactory.legacy1.js +3 -0
- package/dist/gen/abi/somnia-markets/MarketsCore.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/MarketsCore.js +3 -0
- package/dist/gen/abi/somnia-markets/OracleHub.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/OracleHub.js +3 -0
- package/dist/gen/abi/somnia-markets/OutcomeToken6909.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/OutcomeToken6909.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-1.marketCreator.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-1.marketCreator.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-1.marketCreatorPolicy.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-1.marketCreatorPolicy.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-2.marketCreator.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-2.marketCreator.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-2.marketCreatorPolicy.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-2.marketCreatorPolicy.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-3.marketCreator.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-3.marketCreator.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-3.marketCreatorPolicy.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-3.marketCreatorPolicy.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-5.marketCreator.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-5.marketCreator.js +3 -0
- package/dist/gen/abi/somnia-markets/venue-5.marketCreatorPolicy.d.ts +2 -0
- package/dist/gen/abi/somnia-markets/venue-5.marketCreatorPolicy.js +3 -0
- package/dist/gen/abis/072309c539e4.d.ts +864 -0
- package/dist/gen/abis/072309c539e4.js +1114 -0
- package/dist/gen/abis/0b3cd40e0bc8.d.ts +12 -0
- package/dist/gen/abis/0b3cd40e0bc8.js +17 -0
- package/dist/gen/abis/1a2db3035880.d.ts +891 -0
- package/dist/gen/abis/1a2db3035880.js +1149 -0
- package/dist/gen/abis/1a5696b34cbf.d.ts +589 -0
- package/dist/gen/abis/1a5696b34cbf.js +763 -0
- package/dist/gen/abis/1e00c7896e9e.d.ts +342 -0
- package/dist/gen/abis/1e00c7896e9e.js +442 -0
- package/dist/gen/abis/28f7c4e190be.d.ts +56 -0
- package/dist/gen/abis/28f7c4e190be.js +76 -0
- package/dist/gen/abis/2fc4ebdf8536.d.ts +492 -0
- package/dist/gen/abis/2fc4ebdf8536.js +641 -0
- package/dist/gen/abis/3197a9b71399.d.ts +690 -0
- package/dist/gen/abis/3197a9b71399.js +896 -0
- package/dist/gen/abis/3d5f1ad25c1d.d.ts +370 -0
- package/dist/gen/abis/3d5f1ad25c1d.js +480 -0
- package/dist/gen/abis/3eafdb9c0c96.d.ts +264 -0
- package/dist/gen/abis/3eafdb9c0c96.js +345 -0
- package/dist/gen/abis/403090974089.d.ts +590 -0
- package/dist/gen/abis/403090974089.js +766 -0
- package/dist/gen/abis/4167268939aa.d.ts +306 -0
- package/dist/gen/abis/4167268939aa.js +393 -0
- package/dist/gen/abis/46a90f031627.d.ts +940 -0
- package/dist/gen/abis/46a90f031627.js +1196 -0
- package/dist/gen/abis/49cb4deac436.d.ts +2041 -0
- package/dist/gen/abis/49cb4deac436.js +2618 -0
- package/dist/gen/abis/4d8bacb29f20.d.ts +991 -0
- package/dist/gen/abis/4d8bacb29f20.js +1271 -0
- package/dist/gen/abis/69f7ea016674.d.ts +202 -0
- package/dist/gen/abis/69f7ea016674.js +265 -0
- package/dist/gen/abis/734133340224.d.ts +1371 -0
- package/dist/gen/abis/734133340224.js +1767 -0
- package/dist/gen/abis/73ce587427d9.d.ts +2509 -0
- package/dist/gen/abis/73ce587427d9.js +3227 -0
- package/dist/gen/abis/7837fce34f57.d.ts +169 -0
- package/dist/gen/abis/7837fce34f57.js +221 -0
- package/dist/gen/abis/7efe899eb023.d.ts +1005 -0
- package/dist/gen/abis/7efe899eb023.js +1283 -0
- package/dist/gen/abis/836562f8baa3.d.ts +951 -0
- package/dist/gen/abis/836562f8baa3.js +1227 -0
- package/dist/gen/abis/83cdff66efa0.d.ts +278 -0
- package/dist/gen/abis/83cdff66efa0.js +365 -0
- package/dist/gen/abis/947a1caa8a16.d.ts +59 -0
- package/dist/gen/abis/947a1caa8a16.js +80 -0
- package/dist/gen/abis/9611b42c6d5f.d.ts +452 -0
- package/dist/gen/abis/9611b42c6d5f.js +590 -0
- package/dist/gen/abis/96e8cf2c064f.d.ts +1494 -0
- package/dist/gen/abis/96e8cf2c064f.js +1927 -0
- package/dist/gen/abis/9818d0265866.d.ts +874 -0
- package/dist/gen/abis/9818d0265866.js +1115 -0
- package/dist/gen/abis/9d6d8799f16f.d.ts +457 -0
- package/dist/gen/abis/9d6d8799f16f.js +587 -0
- package/dist/gen/abis/acdb264ea8c1.d.ts +2185 -0
- package/dist/gen/abis/acdb264ea8c1.js +2817 -0
- package/dist/gen/abis/b127df9297ac.d.ts +226 -0
- package/dist/gen/abis/b127df9297ac.js +292 -0
- package/dist/gen/abis/b3a5eed8be5c.d.ts +270 -0
- package/dist/gen/abis/b3a5eed8be5c.js +356 -0
- package/dist/gen/abis/b60156cb0dcf.d.ts +287 -0
- package/dist/gen/abis/b60156cb0dcf.js +376 -0
- package/dist/gen/abis/be2135567d5c.d.ts +358 -0
- package/dist/gen/abis/be2135567d5c.js +461 -0
- package/dist/gen/abis/c76e9681cb2f.d.ts +200 -0
- package/dist/gen/abis/c76e9681cb2f.js +265 -0
- package/dist/gen/abis/c84f8d0f9550.d.ts +16 -0
- package/dist/gen/abis/c84f8d0f9550.js +22 -0
- package/dist/gen/abis/cf9c2beac210.d.ts +139 -0
- package/dist/gen/abis/cf9c2beac210.js +180 -0
- package/dist/gen/abis/d407c410234a.d.ts +490 -0
- package/dist/gen/abis/d407c410234a.js +640 -0
- package/dist/gen/abis/d898521cbf00.d.ts +1591 -0
- package/dist/gen/abis/d898521cbf00.js +2070 -0
- package/dist/gen/abis/ecc4ba1d4404.d.ts +51 -0
- package/dist/gen/abis/ecc4ba1d4404.js +69 -0
- package/dist/gen/abis/eeb301f1a74b.d.ts +1466 -0
- package/dist/gen/abis/eeb301f1a74b.js +1872 -0
- package/dist/gen/abis/f4c6a88bd236.d.ts +686 -0
- package/dist/gen/abis/f4c6a88bd236.js +884 -0
- package/dist/gen/abis/f97be7b72b2f.d.ts +633 -0
- package/dist/gen/abis/f97be7b72b2f.js +810 -0
- package/dist/gen/abis/faaa48786a09.d.ts +547 -0
- package/dist/gen/abis/faaa48786a09.js +703 -0
- package/dist/gen/abis/fd1f15294d67.d.ts +774 -0
- package/dist/gen/abis/fd1f15294d67.js +1001 -0
- package/dist/gen/abis/fea5d0628b94.d.ts +109 -0
- package/dist/gen/abis/fea5d0628b94.js +144 -0
- package/dist/gen/abis-index.d.ts +29245 -0
- package/dist/gen/abis-index.js +91 -0
- package/dist/gen/meta.d.ts +5 -0
- package/dist/gen/meta.js +6 -0
- package/dist/gen/registry.d.ts +225 -92124
- package/dist/gen/registry.js +3705 -38212
- package/dist/index.d.ts +113 -16
- package/dist/index.js +88 -37
- package/package.json +24 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +1,137 @@
|
|
|
1
1
|
import { registry } from "./gen/registry.js";
|
|
2
2
|
export * from "./gen/registry.js";
|
|
3
|
+
export { registryVersion } from "./gen/meta.js";
|
|
3
4
|
export type Registry = typeof registry;
|
|
4
5
|
export type NetworkSlug = keyof Registry & string;
|
|
5
6
|
export type ProjectSlug<N extends NetworkSlug> = keyof Registry[N]["contracts"] & string;
|
|
6
7
|
export type ContractName<N extends NetworkSlug, P extends ProjectSlug<N>> = keyof Registry[N]["contracts"][P] & string;
|
|
7
8
|
export type Address = `0x${string}`;
|
|
8
|
-
|
|
9
|
+
export type AbiDigest = `sha256:${string}`;
|
|
10
|
+
/**
|
|
11
|
+
* What a deployment is, structurally. `proxy` and `beacon-proxy` carry an
|
|
12
|
+
* `implementation`; `implementation` and `beacon` are the targets behind one
|
|
13
|
+
* and are recorded in their own right so an upgrade has something to point at;
|
|
14
|
+
* `external` is a contract Somnia depends on but did not deploy.
|
|
15
|
+
*/
|
|
16
|
+
export type DeploymentKind = "singleton" | "proxy" | "beacon" | "beacon-proxy" | "implementation" | "external";
|
|
17
|
+
/**
|
|
18
|
+
* Whether a deployment is the one to use. `superseded` and `retired` records
|
|
19
|
+
* are kept rather than deleted — decoding an old transaction needs the address
|
|
20
|
+
* that was current when it was sent.
|
|
21
|
+
*/
|
|
22
|
+
export type ContractStatus = "active" | "superseded" | "retired";
|
|
23
|
+
/** One deployment's record; narrow it by passing slugs and a name. The `abi` field is a digest — resolve it via the `./abis` entry point or a per-contract `./abi/*` module. */
|
|
9
24
|
export type ContractEntry<N extends NetworkSlug = NetworkSlug, P extends ProjectSlug<N> = ProjectSlug<N>, C extends ContractName<N, P> = ContractName<N, P>> = Registry[N]["contracts"][P][C];
|
|
10
25
|
type DistributedOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
11
26
|
/** One network's chain information, without the address book. */
|
|
12
|
-
export type NetworkInfo<N extends NetworkSlug = NetworkSlug> = DistributedOmit<Registry[N]
|
|
27
|
+
export type NetworkInfo<N extends NetworkSlug = NetworkSlug> = DistributedOmit<Registry[N] & {
|
|
28
|
+
slug: N;
|
|
29
|
+
}, "contracts">;
|
|
13
30
|
/** Every network's chain information, retired ones included. */
|
|
14
31
|
export declare const networks: readonly NetworkInfo[];
|
|
15
|
-
/** One network's chain information, without the address book. */
|
|
16
|
-
export declare function
|
|
32
|
+
/** One network's chain information, without the address book. Throws on an unknown slug. */
|
|
33
|
+
export declare function network<N extends NetworkSlug>(slug: N): NetworkInfo<N>;
|
|
34
|
+
/** @deprecated alias kept from 0.1.x — use `network`. */
|
|
35
|
+
export declare function getNetwork<N extends NetworkSlug>(slug: N): NetworkInfo<N>;
|
|
17
36
|
/**
|
|
18
37
|
* All networks that answer at a chain id. Plural on purpose: chain ids are
|
|
19
38
|
* not unique across Somnia networks (a regenesis reuses the id with none of
|
|
20
|
-
* the state), so an id can name a retired and a live network at once.
|
|
21
|
-
*
|
|
39
|
+
* the state), so an id can name a retired and a live network at once. The
|
|
40
|
+
* array is what forces callers to disambiguate instead of guessing.
|
|
22
41
|
*/
|
|
23
|
-
export declare function
|
|
42
|
+
export declare function networksByChainId(chainId: number): NetworkInfo[];
|
|
43
|
+
/** @deprecated alias kept from 0.1.x — use `networksByChainId`. */
|
|
44
|
+
export declare const getNetworksByChainId: typeof networksByChainId;
|
|
45
|
+
export declare function liveNetworks(): NetworkInfo[];
|
|
46
|
+
/** One deployment: address, kind, version, status and the ABI digest. Throws on unknown names. */
|
|
47
|
+
export declare function getContract<N extends NetworkSlug, P extends ProjectSlug<N>, C extends ContractName<N, P>>(net: N, project: P, name: C): Registry[N]["contracts"][P][C];
|
|
48
|
+
/** The deployed address. Throws on unknown names — the "this must exist" form. */
|
|
49
|
+
export declare function address<N extends NetworkSlug, P extends ProjectSlug<N>, C extends ContractName<N, P>>(net: N, project: P, name: C): Registry[N]["contracts"][P][C] extends {
|
|
50
|
+
address: infer A;
|
|
51
|
+
} ? A : never;
|
|
52
|
+
/** @deprecated alias kept from 0.1.x — use `address`. */
|
|
53
|
+
export declare const getAddress: typeof address;
|
|
54
|
+
/**
|
|
55
|
+
* The deployed address, or null — the "is it deployed here?" form. Projects
|
|
56
|
+
* do not span every network, so absence is an answer, not an error.
|
|
57
|
+
*/
|
|
58
|
+
export declare function tryAddress(net: NetworkSlug, project: string, name: string): Address | null;
|
|
59
|
+
export interface ListedContract {
|
|
60
|
+
network: NetworkSlug;
|
|
61
|
+
project: string;
|
|
62
|
+
/** The registry's name for this deployment — a role, like `BTC_reader`. */
|
|
63
|
+
name: string;
|
|
64
|
+
address: Address;
|
|
65
|
+
kind: DeploymentKind;
|
|
66
|
+
status: ContractStatus;
|
|
67
|
+
version: string;
|
|
68
|
+
/**
|
|
69
|
+
* The Solidity contract name, where a source states it. Absent where no
|
|
70
|
+
* source did: the registry records a name only from a broadcast log or a
|
|
71
|
+
* repo declaration, never a guess. This is also the key the per-contract
|
|
72
|
+
* `./abi/<project>/<contract>` modules are published under, so an
|
|
73
|
+
* enumerated deployment can reach its typed ABI only when this is set —
|
|
74
|
+
* and it is set on exactly the deployments that have an `abi` digest.
|
|
75
|
+
*/
|
|
76
|
+
contract?: string;
|
|
77
|
+
implementation?: Address;
|
|
78
|
+
startBlock?: number;
|
|
79
|
+
abi?: AbiDigest;
|
|
80
|
+
}
|
|
81
|
+
/** Enumerate a network's deployments, optionally one project's. */
|
|
82
|
+
export declare function contracts(net: NetworkSlug, project?: string): ListedContract[];
|
|
83
|
+
export interface AllContractsOptions {
|
|
84
|
+
/**
|
|
85
|
+
* Include networks the registry has retired. Off by default: a retired
|
|
86
|
+
* network's addresses still exist but answer on a chain that was wiped, so
|
|
87
|
+
* showing them beside live ones is how a dashboard displays a balance that
|
|
88
|
+
* is not there.
|
|
89
|
+
*/
|
|
90
|
+
includeRetiredNetworks?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Include deployments superseded by a later one. Off by default — the
|
|
93
|
+
* registry publishes only each deployment's current release, so this
|
|
94
|
+
* changes nothing today and keeps meaning the same thing if that changes.
|
|
95
|
+
*/
|
|
96
|
+
includeSuperseded?: boolean;
|
|
97
|
+
project?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Every current deployment, across every live network.
|
|
101
|
+
*
|
|
102
|
+
* The one call a dashboard wants: enumerating per network means knowing the
|
|
103
|
+
* slugs, remembering that retired ones exist, and filtering status by hand at
|
|
104
|
+
* every call site — three chances to show a wiped testnet's addresses as
|
|
105
|
+
* current. Ordered by network slug, then project, then name, so a rendered
|
|
106
|
+
* list is stable between releases.
|
|
107
|
+
*/
|
|
108
|
+
export declare function allContracts(opts?: AllContractsOptions): ListedContract[];
|
|
109
|
+
export interface ContractIdentity {
|
|
110
|
+
network: NetworkSlug;
|
|
111
|
+
project: string;
|
|
112
|
+
name: string;
|
|
113
|
+
kind: DeploymentKind;
|
|
114
|
+
status: ContractStatus;
|
|
115
|
+
address: Address;
|
|
116
|
+
contract?: string;
|
|
117
|
+
implementation?: Address;
|
|
118
|
+
abi?: AbiDigest;
|
|
119
|
+
/** "address" — the queried address is the deployment; "implementation" — it is the implementation behind one. */
|
|
120
|
+
matchedBy: "address" | "implementation";
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Reverse lookup: which recorded deployment answers at this address? Proxy
|
|
124
|
+
* implementations resolve to their proxy's identity, marked `matchedBy:
|
|
125
|
+
* "implementation"`. Null for anything the registry has never seen — which on
|
|
126
|
+
* a permissionless chain is normal, not an error.
|
|
127
|
+
*/
|
|
128
|
+
export declare function identify(net: NetworkSlug, addr: string): ContractIdentity | null;
|
|
24
129
|
/**
|
|
25
130
|
* A viem-`Chain`-shaped object for a network, structurally compatible with
|
|
26
131
|
* `viem`'s `Chain` without depending on it. The registry records no public
|
|
27
132
|
* RPC endpoint — deliberately — so you bring your own.
|
|
28
133
|
*/
|
|
29
|
-
export declare function toChain<N extends NetworkSlug>(
|
|
134
|
+
export declare function toChain<N extends NetworkSlug>(net: N, opts: {
|
|
30
135
|
rpcUrl: string;
|
|
31
136
|
wsUrl?: string;
|
|
32
137
|
}): {
|
|
@@ -46,11 +151,3 @@ export declare function toChain<N extends NetworkSlug>(network: N, opts: {
|
|
|
46
151
|
};
|
|
47
152
|
};
|
|
48
153
|
};
|
|
49
|
-
/** One deployment: address, kind, version, status and — where recorded — the ABI. */
|
|
50
|
-
export declare function getContract<N extends NetworkSlug, P extends ProjectSlug<N>, C extends ContractName<N, P>>(network: N, project: P, name: C): Registry[N]["contracts"][P][C];
|
|
51
|
-
export declare function getAddress<N extends NetworkSlug, P extends ProjectSlug<N>, C extends ContractName<N, P>>(network: N, project: P, name: C): Registry[N]["contracts"][P][C] extends {
|
|
52
|
-
address: infer A;
|
|
53
|
-
} ? A : never;
|
|
54
|
-
export declare function getAbi<N extends NetworkSlug, P extends ProjectSlug<N>, C extends ContractName<N, P>>(network: N, project: P, name: C): Registry[N]["contracts"][P][C] extends {
|
|
55
|
-
abi: infer A;
|
|
56
|
-
} ? A : undefined;
|
package/dist/index.js
CHANGED
|
@@ -1,38 +1,106 @@
|
|
|
1
1
|
import { registry } from "./gen/registry.js";
|
|
2
|
+
import { buildIdentityIndex, listAll, listContracts } from "./enumerate.js";
|
|
2
3
|
export * from "./gen/registry.js";
|
|
4
|
+
export { registryVersion } from "./gen/meta.js";
|
|
5
|
+
function info(slug) {
|
|
6
|
+
const { contracts: _contracts, ...rest } = registry[slug];
|
|
7
|
+
return { slug, ...rest };
|
|
8
|
+
}
|
|
3
9
|
/** Every network's chain information, retired ones included. */
|
|
4
|
-
export const networks = Object.keys(registry).map(
|
|
5
|
-
/** One network's chain information, without the address book. */
|
|
6
|
-
export function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
export const networks = Object.keys(registry).map(info);
|
|
11
|
+
/** One network's chain information, without the address book. Throws on an unknown slug. */
|
|
12
|
+
export function network(slug) {
|
|
13
|
+
if (!(slug in registry))
|
|
14
|
+
throw new Error(`unknown network: ${String(slug)}`);
|
|
15
|
+
return info(slug);
|
|
16
|
+
}
|
|
17
|
+
/** @deprecated alias kept from 0.1.x — use `network`. */
|
|
18
|
+
export function getNetwork(slug) {
|
|
19
|
+
return network(slug);
|
|
12
20
|
}
|
|
13
21
|
/**
|
|
14
22
|
* All networks that answer at a chain id. Plural on purpose: chain ids are
|
|
15
23
|
* not unique across Somnia networks (a regenesis reuses the id with none of
|
|
16
|
-
* the state), so an id can name a retired and a live network at once.
|
|
17
|
-
*
|
|
24
|
+
* the state), so an id can name a retired and a live network at once. The
|
|
25
|
+
* array is what forces callers to disambiguate instead of guessing.
|
|
18
26
|
*/
|
|
19
|
-
export function
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
export function networksByChainId(chainId) {
|
|
28
|
+
return networks.filter((n) => n.chainId === chainId);
|
|
29
|
+
}
|
|
30
|
+
/** @deprecated alias kept from 0.1.x — use `networksByChainId`. */
|
|
31
|
+
export const getNetworksByChainId = networksByChainId;
|
|
32
|
+
export function liveNetworks() {
|
|
33
|
+
return networks.filter((n) => n.status === "live");
|
|
34
|
+
}
|
|
35
|
+
/** One deployment: address, kind, version, status and the ABI digest. Throws on unknown names. */
|
|
36
|
+
export function getContract(net, project, name) {
|
|
37
|
+
const book = registry[net]?.contracts;
|
|
38
|
+
if (!book)
|
|
39
|
+
throw new Error(`unknown network: ${String(net)}`);
|
|
40
|
+
const entry = book[project]?.[name];
|
|
41
|
+
if (!entry)
|
|
42
|
+
throw new Error(`unknown contract: ${String(project)}/${String(name)} on ${String(net)}`);
|
|
43
|
+
return entry;
|
|
44
|
+
}
|
|
45
|
+
/** The deployed address. Throws on unknown names — the "this must exist" form. */
|
|
46
|
+
export function address(net, project, name) {
|
|
47
|
+
return getContract(net, project, name)
|
|
48
|
+
.address;
|
|
49
|
+
}
|
|
50
|
+
/** @deprecated alias kept from 0.1.x — use `address`. */
|
|
51
|
+
export const getAddress = address;
|
|
52
|
+
/**
|
|
53
|
+
* The deployed address, or null — the "is it deployed here?" form. Projects
|
|
54
|
+
* do not span every network, so absence is an answer, not an error.
|
|
55
|
+
*/
|
|
56
|
+
export function tryAddress(net, project, name) {
|
|
57
|
+
const book = registry[net]?.contracts;
|
|
58
|
+
return book?.[project]?.[name]?.address ?? null;
|
|
59
|
+
}
|
|
60
|
+
const books = registry;
|
|
61
|
+
/** Enumerate a network's deployments, optionally one project's. */
|
|
62
|
+
export function contracts(net, project) {
|
|
63
|
+
return listContracts(books, net, project);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Every current deployment, across every live network.
|
|
67
|
+
*
|
|
68
|
+
* The one call a dashboard wants: enumerating per network means knowing the
|
|
69
|
+
* slugs, remembering that retired ones exist, and filtering status by hand at
|
|
70
|
+
* every call site — three chances to show a wiped testnet's addresses as
|
|
71
|
+
* current. Ordered by network slug, then project, then name, so a rendered
|
|
72
|
+
* list is stable between releases.
|
|
73
|
+
*/
|
|
74
|
+
export function allContracts(opts = {}) {
|
|
75
|
+
return listAll(books, opts);
|
|
76
|
+
}
|
|
77
|
+
const identityIndex = new Map();
|
|
78
|
+
/**
|
|
79
|
+
* Reverse lookup: which recorded deployment answers at this address? Proxy
|
|
80
|
+
* implementations resolve to their proxy's identity, marked `matchedBy:
|
|
81
|
+
* "implementation"`. Null for anything the registry has never seen — which on
|
|
82
|
+
* a permissionless chain is normal, not an error.
|
|
83
|
+
*/
|
|
84
|
+
export function identify(net, addr) {
|
|
85
|
+
let index = identityIndex.get(net);
|
|
86
|
+
if (!index) {
|
|
87
|
+
index = buildIdentityIndex(books, net);
|
|
88
|
+
identityIndex.set(net, index);
|
|
89
|
+
}
|
|
90
|
+
return index.get(addr.toLowerCase()) ?? null;
|
|
23
91
|
}
|
|
24
92
|
/**
|
|
25
93
|
* A viem-`Chain`-shaped object for a network, structurally compatible with
|
|
26
94
|
* `viem`'s `Chain` without depending on it. The registry records no public
|
|
27
95
|
* RPC endpoint — deliberately — so you bring your own.
|
|
28
96
|
*/
|
|
29
|
-
export function toChain(
|
|
30
|
-
const
|
|
31
|
-
const explorer =
|
|
97
|
+
export function toChain(net, opts) {
|
|
98
|
+
const n = network(net);
|
|
99
|
+
const explorer = n.explorerUrls?.[0];
|
|
32
100
|
return {
|
|
33
|
-
id: registry[
|
|
34
|
-
name: registry[
|
|
35
|
-
nativeCurrency: registry[
|
|
101
|
+
id: registry[net].chainId,
|
|
102
|
+
name: registry[net].name,
|
|
103
|
+
nativeCurrency: registry[net].nativeCurrency,
|
|
36
104
|
rpcUrls: {
|
|
37
105
|
default: {
|
|
38
106
|
http: [opts.rpcUrl],
|
|
@@ -42,20 +110,3 @@ export function toChain(network, opts) {
|
|
|
42
110
|
...(explorer ? { blockExplorers: { default: { name: "Explorer", url: explorer } } } : {}),
|
|
43
111
|
};
|
|
44
112
|
}
|
|
45
|
-
/** One deployment: address, kind, version, status and — where recorded — the ABI. */
|
|
46
|
-
export function getContract(network, project, name) {
|
|
47
|
-
const book = registry[network]?.contracts;
|
|
48
|
-
if (!book)
|
|
49
|
-
throw new Error(`unknown network: ${String(network)}`);
|
|
50
|
-
const entry = book[project]?.[name];
|
|
51
|
-
if (!entry)
|
|
52
|
-
throw new Error(`unknown contract: ${String(project)}/${String(name)} on ${String(network)}`);
|
|
53
|
-
return entry;
|
|
54
|
-
}
|
|
55
|
-
export function getAddress(network, project, name) {
|
|
56
|
-
return getContract(network, project, name)
|
|
57
|
-
.address;
|
|
58
|
-
}
|
|
59
|
-
export function getAbi(network, project, name) {
|
|
60
|
-
return getContract(network, project, name).abi;
|
|
61
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@somnia-chain/contracts-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Somnia contract addresses, ABIs and chain information, typed. Generated from the Somnia contract registry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -11,6 +11,18 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
13
|
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./abis": {
|
|
16
|
+
"types": "./dist/abis.d.ts",
|
|
17
|
+
"default": "./dist/abis.js"
|
|
18
|
+
},
|
|
19
|
+
"./decode": {
|
|
20
|
+
"types": "./dist/decode.d.ts",
|
|
21
|
+
"default": "./dist/decode.js"
|
|
22
|
+
},
|
|
23
|
+
"./abi/*": {
|
|
24
|
+
"types": "./dist/gen/abi/*.d.ts",
|
|
25
|
+
"default": "./dist/gen/abi/*.js"
|
|
14
26
|
}
|
|
15
27
|
},
|
|
16
28
|
"files": [
|
|
@@ -20,6 +32,17 @@
|
|
|
20
32
|
"publishConfig": {
|
|
21
33
|
"access": "public"
|
|
22
34
|
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@noble/hashes": "^1.7.1"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"viem": "^2.0.0"
|
|
40
|
+
},
|
|
41
|
+
"peerDependenciesMeta": {
|
|
42
|
+
"viem": {
|
|
43
|
+
"optional": true
|
|
44
|
+
}
|
|
45
|
+
},
|
|
23
46
|
"repository": {
|
|
24
47
|
"type": "git",
|
|
25
48
|
"url": "git+https://github.com/somnia-chain/contract-registry.git",
|