@somnia-chain/contracts-sdk 0.1.0 → 0.2.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 +55 -23
- package/dist/abis.d.ts +32 -0
- package/dist/abis.js +26 -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/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 +216 -92124
- package/dist/gen/registry.js +3696 -38212
- package/dist/index.d.ts +63 -16
- package/dist/index.js +94 -37
- package/package.json +24 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +1,87 @@
|
|
|
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
|
+
/** 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
11
|
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
12
|
type DistributedOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
11
13
|
/** One network's chain information, without the address book. */
|
|
12
|
-
export type NetworkInfo<N extends NetworkSlug = NetworkSlug> = DistributedOmit<Registry[N]
|
|
14
|
+
export type NetworkInfo<N extends NetworkSlug = NetworkSlug> = DistributedOmit<Registry[N] & {
|
|
15
|
+
slug: N;
|
|
16
|
+
}, "contracts">;
|
|
13
17
|
/** Every network's chain information, retired ones included. */
|
|
14
18
|
export declare const networks: readonly NetworkInfo[];
|
|
15
|
-
/** One network's chain information, without the address book. */
|
|
16
|
-
export declare function
|
|
19
|
+
/** One network's chain information, without the address book. Throws on an unknown slug. */
|
|
20
|
+
export declare function network<N extends NetworkSlug>(slug: N): NetworkInfo<N>;
|
|
21
|
+
/** @deprecated alias kept from 0.1.x — use `network`. */
|
|
22
|
+
export declare function getNetwork<N extends NetworkSlug>(slug: N): NetworkInfo<N>;
|
|
17
23
|
/**
|
|
18
24
|
* All networks that answer at a chain id. Plural on purpose: chain ids are
|
|
19
25
|
* 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
|
-
*
|
|
26
|
+
* the state), so an id can name a retired and a live network at once. The
|
|
27
|
+
* array is what forces callers to disambiguate instead of guessing.
|
|
28
|
+
*/
|
|
29
|
+
export declare function networksByChainId(chainId: number): NetworkInfo[];
|
|
30
|
+
/** @deprecated alias kept from 0.1.x — use `networksByChainId`. */
|
|
31
|
+
export declare const getNetworksByChainId: typeof networksByChainId;
|
|
32
|
+
export declare function liveNetworks(): NetworkInfo[];
|
|
33
|
+
/** One deployment: address, kind, version, status and the ABI digest. Throws on unknown names. */
|
|
34
|
+
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];
|
|
35
|
+
/** The deployed address. Throws on unknown names — the "this must exist" form. */
|
|
36
|
+
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 {
|
|
37
|
+
address: infer A;
|
|
38
|
+
} ? A : never;
|
|
39
|
+
/** @deprecated alias kept from 0.1.x — use `address`. */
|
|
40
|
+
export declare const getAddress: typeof address;
|
|
41
|
+
/**
|
|
42
|
+
* The deployed address, or null — the "is it deployed here?" form. Projects
|
|
43
|
+
* do not span every network, so absence is an answer, not an error.
|
|
22
44
|
*/
|
|
23
|
-
export declare function
|
|
45
|
+
export declare function tryAddress(net: NetworkSlug, project: string, name: string): Address | null;
|
|
46
|
+
export interface ListedContract {
|
|
47
|
+
network: NetworkSlug;
|
|
48
|
+
project: string;
|
|
49
|
+
name: string;
|
|
50
|
+
address: Address;
|
|
51
|
+
kind: string;
|
|
52
|
+
status: string;
|
|
53
|
+
version: string;
|
|
54
|
+
implementation?: Address;
|
|
55
|
+
startBlock?: number;
|
|
56
|
+
abi?: AbiDigest;
|
|
57
|
+
}
|
|
58
|
+
/** Enumerate a network's deployments, optionally one project's. */
|
|
59
|
+
export declare function contracts(net: NetworkSlug, project?: string): ListedContract[];
|
|
60
|
+
export interface ContractIdentity {
|
|
61
|
+
network: NetworkSlug;
|
|
62
|
+
project: string;
|
|
63
|
+
name: string;
|
|
64
|
+
kind: string;
|
|
65
|
+
status: string;
|
|
66
|
+
address: Address;
|
|
67
|
+
implementation?: Address;
|
|
68
|
+
abi?: AbiDigest;
|
|
69
|
+
/** "address" — the queried address is the deployment; "implementation" — it is the implementation behind one. */
|
|
70
|
+
matchedBy: "address" | "implementation";
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Reverse lookup: which recorded deployment answers at this address? Proxy
|
|
74
|
+
* implementations resolve to their proxy's identity, marked `matchedBy:
|
|
75
|
+
* "implementation"`. Null for anything the registry has never seen — which on
|
|
76
|
+
* a permissionless chain is normal, not an error.
|
|
77
|
+
*/
|
|
78
|
+
export declare function identify(net: NetworkSlug, addr: string): ContractIdentity | null;
|
|
24
79
|
/**
|
|
25
80
|
* A viem-`Chain`-shaped object for a network, structurally compatible with
|
|
26
81
|
* `viem`'s `Chain` without depending on it. The registry records no public
|
|
27
82
|
* RPC endpoint — deliberately — so you bring your own.
|
|
28
83
|
*/
|
|
29
|
-
export declare function toChain<N extends NetworkSlug>(
|
|
84
|
+
export declare function toChain<N extends NetworkSlug>(net: N, opts: {
|
|
30
85
|
rpcUrl: string;
|
|
31
86
|
wsUrl?: string;
|
|
32
87
|
}): {
|
|
@@ -46,11 +101,3 @@ export declare function toChain<N extends NetworkSlug>(network: N, opts: {
|
|
|
46
101
|
};
|
|
47
102
|
};
|
|
48
103
|
};
|
|
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,112 @@
|
|
|
1
1
|
import { registry } from "./gen/registry.js";
|
|
2
2
|
export * from "./gen/registry.js";
|
|
3
|
+
export { registryVersion } from "./gen/meta.js";
|
|
4
|
+
function info(slug) {
|
|
5
|
+
const { contracts: _contracts, ...rest } = registry[slug];
|
|
6
|
+
return { slug, ...rest };
|
|
7
|
+
}
|
|
3
8
|
/** 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
|
-
|
|
9
|
+
export const networks = Object.keys(registry).map(info);
|
|
10
|
+
/** One network's chain information, without the address book. Throws on an unknown slug. */
|
|
11
|
+
export function network(slug) {
|
|
12
|
+
if (!(slug in registry))
|
|
13
|
+
throw new Error(`unknown network: ${String(slug)}`);
|
|
14
|
+
return info(slug);
|
|
15
|
+
}
|
|
16
|
+
/** @deprecated alias kept from 0.1.x — use `network`. */
|
|
17
|
+
export function getNetwork(slug) {
|
|
18
|
+
return network(slug);
|
|
12
19
|
}
|
|
13
20
|
/**
|
|
14
21
|
* All networks that answer at a chain id. Plural on purpose: chain ids are
|
|
15
22
|
* 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
|
-
*
|
|
23
|
+
* the state), so an id can name a retired and a live network at once. The
|
|
24
|
+
* array is what forces callers to disambiguate instead of guessing.
|
|
18
25
|
*/
|
|
19
|
-
export function
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
export function networksByChainId(chainId) {
|
|
27
|
+
return networks.filter((n) => n.chainId === chainId);
|
|
28
|
+
}
|
|
29
|
+
/** @deprecated alias kept from 0.1.x — use `networksByChainId`. */
|
|
30
|
+
export const getNetworksByChainId = networksByChainId;
|
|
31
|
+
export function liveNetworks() {
|
|
32
|
+
return networks.filter((n) => n.status === "live");
|
|
33
|
+
}
|
|
34
|
+
/** One deployment: address, kind, version, status and the ABI digest. Throws on unknown names. */
|
|
35
|
+
export function getContract(net, project, name) {
|
|
36
|
+
const book = registry[net]?.contracts;
|
|
37
|
+
if (!book)
|
|
38
|
+
throw new Error(`unknown network: ${String(net)}`);
|
|
39
|
+
const entry = book[project]?.[name];
|
|
40
|
+
if (!entry)
|
|
41
|
+
throw new Error(`unknown contract: ${String(project)}/${String(name)} on ${String(net)}`);
|
|
42
|
+
return entry;
|
|
43
|
+
}
|
|
44
|
+
/** The deployed address. Throws on unknown names — the "this must exist" form. */
|
|
45
|
+
export function address(net, project, name) {
|
|
46
|
+
return getContract(net, project, name)
|
|
47
|
+
.address;
|
|
48
|
+
}
|
|
49
|
+
/** @deprecated alias kept from 0.1.x — use `address`. */
|
|
50
|
+
export const getAddress = address;
|
|
51
|
+
/**
|
|
52
|
+
* The deployed address, or null — the "is it deployed here?" form. Projects
|
|
53
|
+
* do not span every network, so absence is an answer, not an error.
|
|
54
|
+
*/
|
|
55
|
+
export function tryAddress(net, project, name) {
|
|
56
|
+
const book = registry[net]?.contracts;
|
|
57
|
+
return book?.[project]?.[name]?.address ?? null;
|
|
58
|
+
}
|
|
59
|
+
/** Enumerate a network's deployments, optionally one project's. */
|
|
60
|
+
export function contracts(net, project) {
|
|
61
|
+
const book = registry[net]?.contracts;
|
|
62
|
+
if (!book)
|
|
63
|
+
throw new Error(`unknown network: ${String(net)}`);
|
|
64
|
+
const out = [];
|
|
65
|
+
for (const [proj, entries] of Object.entries(book)) {
|
|
66
|
+
if (project !== undefined && proj !== project)
|
|
67
|
+
continue;
|
|
68
|
+
for (const [name, entry] of Object.entries(entries)) {
|
|
69
|
+
out.push({ network: net, project: proj, name, ...entry });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return out;
|
|
73
|
+
}
|
|
74
|
+
const identityIndex = new Map();
|
|
75
|
+
/**
|
|
76
|
+
* Reverse lookup: which recorded deployment answers at this address? Proxy
|
|
77
|
+
* implementations resolve to their proxy's identity, marked `matchedBy:
|
|
78
|
+
* "implementation"`. Null for anything the registry has never seen — which on
|
|
79
|
+
* a permissionless chain is normal, not an error.
|
|
80
|
+
*/
|
|
81
|
+
export function identify(net, addr) {
|
|
82
|
+
let index = identityIndex.get(net);
|
|
83
|
+
if (!index) {
|
|
84
|
+
index = new Map();
|
|
85
|
+
for (const entry of contracts(net)) {
|
|
86
|
+
const identity = { ...entry, matchedBy: "address" };
|
|
87
|
+
index.set(entry.address.toLowerCase(), identity);
|
|
88
|
+
if (entry.implementation) {
|
|
89
|
+
const viaImpl = entry.implementation.toLowerCase();
|
|
90
|
+
if (!index.has(viaImpl))
|
|
91
|
+
index.set(viaImpl, { ...identity, matchedBy: "implementation" });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
identityIndex.set(net, index);
|
|
95
|
+
}
|
|
96
|
+
return index.get(addr.toLowerCase()) ?? null;
|
|
23
97
|
}
|
|
24
98
|
/**
|
|
25
99
|
* A viem-`Chain`-shaped object for a network, structurally compatible with
|
|
26
100
|
* `viem`'s `Chain` without depending on it. The registry records no public
|
|
27
101
|
* RPC endpoint — deliberately — so you bring your own.
|
|
28
102
|
*/
|
|
29
|
-
export function toChain(
|
|
30
|
-
const
|
|
31
|
-
const explorer =
|
|
103
|
+
export function toChain(net, opts) {
|
|
104
|
+
const n = network(net);
|
|
105
|
+
const explorer = n.explorerUrls?.[0];
|
|
32
106
|
return {
|
|
33
|
-
id: registry[
|
|
34
|
-
name: registry[
|
|
35
|
-
nativeCurrency: registry[
|
|
107
|
+
id: registry[net].chainId,
|
|
108
|
+
name: registry[net].name,
|
|
109
|
+
nativeCurrency: registry[net].nativeCurrency,
|
|
36
110
|
rpcUrls: {
|
|
37
111
|
default: {
|
|
38
112
|
http: [opts.rpcUrl],
|
|
@@ -42,20 +116,3 @@ export function toChain(network, opts) {
|
|
|
42
116
|
...(explorer ? { blockExplorers: { default: { name: "Explorer", url: explorer } } } : {}),
|
|
43
117
|
};
|
|
44
118
|
}
|
|
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.2.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",
|