From 15b6a655bb52ab0504855fc7bf3b75fe0e6255e3 Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Thu, 4 Dec 2025 16:24:53 +0300 Subject: [PATCH 01/13] feat: MRPC-7111 Migrate to Nextra 4 and nextjs 16 --- .env | 1 + .prettierrc | 10 + app/[[...mdxPath]]/page.tsx | 53 + app/layout.tsx | 93 + content/_meta.tsx | 79 + content/advanced-api/_meta.ts | 20 + .../advanced-api/javascript-sdk.mdx | 0 .../advanced-api/nft-methods.mdx | 59 +- {pages => content}/advanced-api/overview.mdx | 0 {pages => content}/advanced-api/pricing.mdx | 0 .../advanced-api/python-sdk.mdx | 0 .../advanced-api/query-methods.mdx | 91 +- content/advanced-api/quickstart/_meta.ts | 13 + .../quickstart/aapi-on-nodejs.mdx | 0 .../quickstart/aapi-react-app.mdx | 0 .../quickstart/account-balance-ankrjs.mdx | 0 .../quickstart/defi-dashboard-ankrjs.mdx | 0 .../quickstart/fetch-nfts-ankrjs.mdx | 0 .../advanced-api/quickstart/overview.mdx | 0 .../advanced-api/react-hooks.mdx | 0 .../advanced-api/token-methods.mdx | 107 +- content/advanced-tutorials/_meta.ts | 8 + ...crowdfunding-dapp-on-polygon-with-ankr.mdx | 0 content/automation/_meta.ts | 11 + .../create-compatible-contracts.mdx | 0 .../automation/custom-logic-automation.mdx | 0 .../automation/manage-tasks.mdx | 0 {pages => content}/automation/overview.mdx | 0 .../automation/time-based-automation.mdx | 0 content/basic-tutorials/_meta.ts | 15 + ...s-advanced-apis-react-quickstart-guide.mdx | 0 ...odejs-ipfs-file-uploader-with-filebase.mdx | 0 .../basic-tutorials/dao-in-5min.mdx | 0 .../dapp-on-ethereum-using-nocode.mdx | 0 .../file-storage-on-ipfs-with-filebase.mdx | 0 content/bridge/_meta.ts | 8 + {pages => content}/bridge/bridge-tokens.mdx | 0 {pages => content}/bridge/overview.mdx | 0 content/defi/_meta.ts | 11 + {pages => content}/defi/faq.mdx | 0 {pages => content}/defi/liquidity-pools.mdx | 0 {pages => content}/defi/overview.mdx | 0 {pages => content}/defi/vaults.mdx | 0 {pages => content}/defi/yield-farming.mdx | 0 content/delegated-staking/_meta.ts | 9 + .../ankr-validators/_meta.ts | 8 + .../ankr-validators/overview.mdx | 0 .../ankr-validators/stake.mdx | 0 content/delegated-staking/ankr/_meta.ts | 11 + .../ankr/claim-restake-rewards.mdx | 0 .../delegated-staking/ankr/faq.mdx | 0 .../delegated-staking/ankr/overview.mdx | 0 .../delegated-staking/ankr/stake.mdx | 0 .../delegated-staking/ankr/unstake.mdx | 0 content/delegated-staking/gnosis/_meta.ts | 10 + .../delegated-staking/gnosis/faq.mdx | 0 .../delegated-staking/gnosis/overview.mdx | 0 .../delegated-staking/gnosis/stake.mdx | 0 .../delegated-staking/gnosis/unstake.mdx | 0 {pages => content}/gaming-overview.mdx | 0 {pages => content}/index.mdx | 0 {pages => content}/info-map.mdx | 0 content/liquid-crowdloan/_meta.ts | 8 + .../liquid-crowdloan/overview.mdx | 0 .../liquid-crowdloan/unstake.mdx | 0 content/liquid-staking/_meta.ts | 14 + content/liquid-staking/avax/_meta.ts | 10 + .../liquid-staking/avax/faq.mdx | 0 .../liquid-staking/avax/overview.mdx | 0 .../liquid-staking/avax/stake.mdx | 0 .../liquid-staking/avax/unstake.mdx | 0 content/liquid-staking/bnb/_meta.ts | 10 + {pages => content}/liquid-staking/bnb/faq.mdx | 0 .../liquid-staking/bnb/overview.mdx | 0 .../liquid-staking/bnb/stake.mdx | 0 .../liquid-staking/bnb/unstake.mdx | 0 content/liquid-staking/dot/_meta.ts | 8 + {pages => content}/liquid-staking/dot/faq.mdx | 0 .../liquid-staking/dot/unstake.mdx | 0 content/liquid-staking/eth/_meta.ts | 13 + {pages => content}/liquid-staking/eth/faq.mdx | 0 .../liquid-staking/eth/overview.mdx | 0 .../eth/restake-ankreth-on-eigen.mdx | 0 .../liquid-staking/eth/security.mdx | 0 .../liquid-staking/eth/stake.mdx | 0 .../eth/unstake-ankreth-on-eigen.mdx | 0 .../liquid-staking/eth/unstake.mdx | 0 content/liquid-staking/flow/_meta.ts | 10 + .../liquid-staking/flow/faq.mdx | 0 .../liquid-staking/flow/overview.mdx | 0 .../liquid-staking/flow/stake.mdx | 0 .../liquid-staking/flow/unstake.mdx | 0 content/liquid-staking/ftm/_meta.ts | 10 + {pages => content}/liquid-staking/ftm/faq.mdx | 0 .../liquid-staking/ftm/overview.mdx | 0 .../liquid-staking/ftm/stake.mdx | 0 .../liquid-staking/ftm/unstake.mdx | 0 .../liquid-staking/overview.mdx | 0 content/liquid-staking/pol/_meta.ts | 10 + {pages => content}/liquid-staking/pol/faq.mdx | 0 .../liquid-staking/pol/overview.mdx | 0 .../liquid-staking/pol/stake.mdx | 0 .../liquid-staking/pol/unstake.mdx | 0 {pages => content}/node-runners.mdx | 0 {pages => content}/node-snapshot.mdx | 0 {pages => content}/privacy.mdx | 0 content/rpc-service/_meta.ts | 11 + content/rpc-service/chains/_meta.ts | 8 + .../rpc-service/chains/chains-api/0g.mdx | 171 +- .../rpc-service/chains/chains-api/_meta.ts | 87 + .../rpc-service/chains/chains-api/allora.mdx | 187 +- .../rpc-service/chains/chains-api/aptos.mdx | 0 .../chains/chains-api/arbitrum-nova.mdx | 0 .../chains/chains-api/arbitrum.mdx | 0 .../rpc-service/chains/chains-api/atleta.mdx | 0 .../rpc-service/chains/chains-api/avail.mdx | 3 +- .../chains/chains-api/avalanche.mdx | 0 .../chains/chains-api/b2-network.mdx | 0 .../rpc-service/chains/chains-api/bahamut.mdx | 0 .../rpc-service/chains/chains-api/base.mdx | 3 +- .../chains/chains-api/bitlayer.mdx | 0 .../rpc-service/chains/chains-api/blast.mdx | 3 +- .../chains/chains-api/bnb-smart-chain.mdx | 0 .../rpc-service/chains/chains-api/botanix.mdx | 0 .../rpc-service/chains/chains-api/btc.mdx | 11 +- .../rpc-service/chains/chains-api/celo.mdx | 0 .../rpc-service/chains/chains-api/chiliz.mdx | 3 +- .../rpc-service/chains/chains-api/core.mdx | 3 +- .../rpc-service/chains/chains-api/corn.mdx | 3 +- .../chains/chains-api/electroneum.mdx | 0 .../chains/chains-api/eth-beacon.mdx | 0 .../chains/chains-api/ethereum.mdx | 0 .../chains/chains-api/etherlink.mdx | 3 +- .../rpc-service/chains/chains-api/fantom.mdx | 0 .../chains/chains-api/filecoin.mdx | 0 .../rpc-service/chains/chains-api/flare.mdx | 0 .../rpc-service/chains/chains-api/fuel.mdx | 3 +- .../chains/chains-api/gnosis-beacon.mdx | 0 .../rpc-service/chains/chains-api/gnosis.mdx | 0 .../rpc-service/chains/chains-api/goat.mdx | 0 .../rpc-service/chains/chains-api/gravity.mdx | 0 .../rpc-service/chains/chains-api/harmony.mdx | 0 .../rpc-service/chains/chains-api/heco.mdx | 0 .../chains/chains-api/horizen-eon.mdx | 3 +- .../chains/chains-api/iota-evm.mdx | 3 +- .../rpc-service/chains/chains-api/iota.mdx | 3 +- .../rpc-service/chains/chains-api/iotex.mdx | 0 .../rpc-service/chains/chains-api/kaia.mdx | 0 .../rpc-service/chains/chains-api/kava.mdx | 171 +- .../rpc-service/chains/chains-api/kinto.mdx | 0 .../rpc-service/chains/chains-api/kusama.mdx | 3 +- .../rpc-service/chains/chains-api/linea.mdx | 0 .../rpc-service/chains/chains-api/mantle.mdx | 0 .../chains/chains-api/matchain.mdx | 3 +- .../rpc-service/chains/chains-api/metis.mdx | 0 .../chains/chains-api/midnight.mdx | 3 +- .../rpc-service/chains/chains-api/monad.mdx | 3 +- .../chains/chains-api/moonbeam.mdx | 0 .../chains/chains-api/movement.mdx | 0 .../rpc-service/chains/chains-api/near.mdx | 0 .../rpc-service/chains/chains-api/nervos.mdx | 0 .../rpc-service/chains/chains-api/neura.mdx | 0 .../chains/chains-api/optimism.mdx | 0 .../chains/chains-api/polkadot.mdx | 3 +- .../chains/chains-api/polygon-zkevm.mdx | 0 .../rpc-service/chains/chains-api/polygon.mdx | 0 .../rpc-service/chains/chains-api/rollux.mdx | 0 .../rpc-service/chains/chains-api/scroll.mdx | 3 +- .../chains/chains-api/secret-network.mdx | 187 +- .../rpc-service/chains/chains-api/sei.mdx | 203 +- .../rpc-service/chains/chains-api/solana.mdx | 3 +- .../rpc-service/chains/chains-api/somnia.mdx | 3 +- .../rpc-service/chains/chains-api/sonic.mdx | 0 .../rpc-service/chains/chains-api/stellar.mdx | 323 +- .../rpc-service/chains/chains-api/story.mdx | 0 .../chains/chains-api/sui-grpc.mdx | 0 .../rpc-service/chains/chains-api/sui.mdx | 0 .../rpc-service/chains/chains-api/swell.mdx | 0 .../rpc-service/chains/chains-api/syscoin.mdx | 0 .../rpc-service/chains/chains-api/tac.mdx | 171 +- .../rpc-service/chains/chains-api/taiko.mdx | 0 .../rpc-service/chains/chains-api/telos.mdx | 0 .../rpc-service/chains/chains-api/tenet.mdx | 3 +- .../rpc-service/chains/chains-api/ton.mdx | 243 +- .../rpc-service/chains/chains-api/tron.mdx | 0 .../rpc-service/chains/chains-api/xai.mdx | 0 .../rpc-service/chains/chains-api/xdc.mdx | 0 .../rpc-service/chains/chains-api/xlayer.mdx | 3 +- .../rpc-service/chains/chains-api/xphere.mdx | 3 +- .../chains/chains-api/zksync-era.mdx | 3 +- .../rpc-service/chains/chains-list.mdx | 1039 +- content/rpc-service/getting-started/_meta.ts | 12 + .../getting-started/basics-premium.mdx | 0 .../getting-started/basics-public.mdx | 0 .../rpc-service/getting-started/intro.mdx | 0 .../getting-started/platform-swagger.mdx | 0 .../rpc-service/getting-started/projects.mdx | 0 .../getting-started/team-accounts.mdx | 0 {pages => content}/rpc-service/overview.mdx | 0 {pages => content}/rpc-service/pricing.mdx | 0 .../rpc-service/service-plans.mdx | 0 {pages => content}/scaling-services-bsi.mdx | 0 .../scaling-services-nocode-deployer.mdx | 0 .../scaling-services-overview.mdx | 0 content/scaling-services-rollups/_meta.ts | 9 + .../data-availability/_meta.ts | 11 + .../data-availability/arbitrum-anytrust.mdx | 0 .../data-availability/avail-da.mdx | 0 .../data-availability/celestia.mdx | 0 .../data-availability/eigenda.mdx | 0 .../data-availability/nearda.mdx | 0 .../scaling-services-rollups/overview.mdx | 0 .../scaling-services-rollups/stacks/_meta.ts | 10 + .../stacks/arbitrum-orbit.mdx | 0 .../stacks/op-stack.mdx | 0 .../stacks/polygon-cdk.mdx | 0 .../stacks/zk-stack.mdx | 0 content/scaling-services-sidechains/_meta.ts | 9 + .../bnb-sidechain/_meta.ts | 14 + .../bnb-sidechain/architecture/_meta.ts | 14 + .../circulation-model-native-bridge.mdx | 0 .../architecture/fast-finality.mdx | 0 .../bnb-sidechain/architecture/governance.mdx | 0 .../architecture/native-bridge.mdx | 0 .../bnb-sidechain/architecture/overview.mdx | 0 .../architecture/runtime-upgrades.mdx | 0 .../architecture/system-smart-contracts.mdx | 0 .../bnb-sidechain/demo.mdx | 0 .../bnb-sidechain/faq.mdx | 0 .../bnb-sidechain/glossary.mdx | 0 .../bnb-sidechain/how-to-launch/_meta.ts | 10 + .../how-to-launch/configure-genesis-file.mdx | 0 .../how-to-launch/deploy-erc20-token.mdx | 0 .../how-to-launch/deploy-erc721-token.mdx | 0 .../how-to-launch/launch-bnb-sidechain.mdx | 0 .../bnb-sidechain/overview.mdx | 0 .../bnb-sidechain/security/_meta.ts | 10 + .../security/blockchain-and-evm-security.mdx | 0 .../security/off-chain-security.mdx | 0 .../security/on-chain-security.mdx | 0 .../security/system-smart-contracts.mdx | 0 .../bnb-sidechain/staking.mdx | 0 .../scaling-services-sidechains/overview.mdx | 0 .../polygon-supernets/_meta.ts | 7 + .../polygon-supernets/overview.mdx | 0 content/smart-contract-tutorials/_meta.ts | 16 + ...s-like-nft-with-erc-721-smart-contract.mdx | 0 .../erc-20-token-on-optimism.mdx | 0 ...c-20-token-with-ankr-hardhat-on-goerli.mdx | 0 .../erc-721-smart-contract-on-avalanche.mdx | 0 .../non-rentable-soulbound-nft.mdx | 0 .../rentable-nft-on-optimism.mdx | 0 content/staking-extra/_meta.ts | 24 + .../ankr-governance-mechanics.mdx | 0 .../staking-extra/ankr-tokenomics.mdx | 0 .../staking-extra/ankr-validators.mdx | 0 .../staking-extra/audit-reports.mdx | 0 .../staking-extra/brand-assets.mdx | 0 .../staking-extra/compatible-wallets.mdx | 0 .../fix-broken-network-switch.mdx | 0 .../staking-extra/get-goerli-eth.mdx | 0 {pages => content}/staking-extra/glossary.mdx | 0 .../staking-extra/integrations.mdx | 0 .../liquid-crowdloan-market-makers.mdx | 0 .../staking-extra/ls-sc-addresses-mn.mdx | 0 .../staking-extra/ls-sc-addresses-tn.mdx | 0 .../staking-extra/micropool-staking.mdx | 0 .../staking-extra/principles.mdx | 0 .../staking-extra/staking-fees.mdx | 0 .../staking-extra/staking-smart-contracts.mdx | 0 .../staking-extra/switch-ankreth-binance.mdx | 0 content/staking-for-developers/_meta.ts | 15 + .../dev-details/_meta.ts | 14 + .../avax-liquid-staking-mechanics.mdx | 0 .../bnb-liquid-staking-mechanics.mdx | 0 .../dev-details/bridge-mechanics.mdx | 0 .../eth-liquid-staking-mechanics.mdx | 0 .../eth-validator-hub-mechanics.mdx | 0 .../ftm-liquid-staking-mechanics.mdx | 0 .../pol-liquid-staking-mechanics.mdx | 0 .../dev-details/switch-mechanics.mdx | 0 .../flash-loan/_meta.ts | 7 + .../flash-loan/overview.mdx | 0 .../flash-unstake/_meta.ts | 7 + .../flash-unstake/bnb-flash-unstake.mdx | 0 .../staking-for-developers/oracles/_meta.ts | 10 + .../oracles/apr-oracle.mdx | 0 .../oracles/overview.mdx | 0 .../oracles/pancakeswap-oracle.mdx | 0 .../oracles/redemption-price-oracle.mdx | 0 .../staking-for-developers/overview.mdx | 0 .../referral-program/_meta.ts | 7 + .../referral-program/overview.mdx | 0 .../restful-api/_meta.ts | 9 + .../restful-api/staking-metrics.mdx | 0 .../restful-api/trustless-ratio.mdx | 0 .../restful-api/validator-api.mdx | 0 content/staking-for-developers/sdk/_meta.ts | 9 + .../sdk/liquid-crowdloan-sdk.mdx | 0 .../sdk/liquid-staking-sdk.mdx | 0 .../staking-for-developers/sdk/overview.mdx | 0 .../smart-contract-api/_meta.ts | 12 + .../smart-contract-api/avax-api.mdx | 0 .../smart-contract-api/bnb-api.mdx | 0 .../smart-contract-api/eth-api.mdx | 0 .../smart-contract-api/ftm-api.mdx | 0 .../smart-contract-api/overview.mdx | 0 .../smart-contract-api/pol-api.mdx | 0 {pages => content}/staking-overview.mdx | 0 content/switch/_meta.ts | 8 + {pages => content}/switch/overview.mdx | 0 {pages => content}/switch/switch-tokens.mdx | 0 {pages => content}/whats-new.mdx | 0 eslint.config.mjs | 21 + mdx-components.ts | 8 + next-env.d.ts | 3 +- next.config.mjs | 23 +- package.json | 16 +- pages/_app.mdx | 15 - pages/_meta.json | 76 - pages/advanced-api/_meta.json | 21 - pages/advanced-api/quickstart/_meta.json | 9 - pages/advanced-tutorials/_meta.json | 3 - pages/automation/_meta.json | 7 - pages/basic-tutorials/_meta.json | 8 - pages/bridge/_meta.json | 4 - pages/defi/_meta.json | 7 - pages/delegated-staking/_meta.json | 5 - .../ankr-validators/_meta.json | 4 - pages/delegated-staking/ankr/_meta.json | 7 - pages/delegated-staking/gnosis/_meta.json | 6 - pages/liquid-crowdloan/_meta.json | 4 - pages/liquid-staking/_meta.json | 10 - pages/liquid-staking/avax/_meta.json | 6 - pages/liquid-staking/bnb/_meta.json | 6 - pages/liquid-staking/dot/_meta.json | 4 - pages/liquid-staking/eth/_meta.json | 9 - pages/liquid-staking/flow/_meta.json | 6 - pages/liquid-staking/ftm/_meta.json | 6 - pages/liquid-staking/pol/_meta.json | 6 - pages/rpc-service/_meta.json | 7 - pages/rpc-service/chains/_meta.json | 4 - .../rpc-service/chains/chains-api/_meta.json | 83 - pages/rpc-service/getting-started/_meta.json | 8 - pages/scaling-services-rollups/_meta.json | 5 - .../data-availability/_meta.json | 7 - .../stacks/_meta.json | 6 - pages/scaling-services-sidechains/_meta.json | 5 - .../bnb-sidechain/_meta.json | 10 - .../bnb-sidechain/architecture/_meta.json | 9 - .../bnb-sidechain/how-to-launch/_meta.json | 6 - .../bnb-sidechain/security/_meta.json | 6 - .../polygon-supernets/_meta.json | 3 - pages/smart-contract-tutorials/_meta.json | 8 - pages/staking-extra/_meta.json | 20 - pages/staking-for-developers/_meta.json | 11 - .../dev-details/_meta.json | 10 - .../flash-loan/_meta.json | 3 - .../flash-unstake/_meta.json | 3 - .../staking-for-developers/oracles/_meta.json | 6 - .../referral-program/_meta.json | 3 - .../restful-api/_meta.json | 5 - pages/staking-for-developers/sdk/_meta.json | 5 - .../smart-contract-api/_meta.json | 8 - pages/switch/_meta.json | 4 - postcss.config.js | 9 - postcss.config.mjs | 8 + src/components/Button.jsx | 3 - src/components/Callout.tsx | 67 +- src/components/Code.jsx | 68 - src/components/DesktopGuard.tsx | 8 +- src/components/Footer/Footer.tsx | 28 + src/components/Footer/FooterMenu.tsx | 249 + src/components/Footer/index.ts | 1 + src/components/FooterMenu.jsx | 126 - src/components/MUIProvider.tsx | 19 +- src/components/MobileGuard.tsx | 8 +- src/components/Navbar/Navbar.module.css | 14 + src/components/Navbar/Navbar.tsx | 18 + src/components/Navbar/index.ts | 1 + src/components/OpenUrl.jsx | 7 - src/components/UnstakeETHTimer.tsx | 35 +- .../Web3APIButton/Web3APIButton.tsx | 77 +- .../Web3APIButton/Web3APIButtonLazy.tsx | 8 + src/components/Web3APIButton/index.ts | 1 + src/components/{index.js => index.ts} | 3 - src/hooks/{index.js => index.ts} | 0 src/hooks/useGtm.ts | 4 +- src/scripts/update-strapi-faq-files.js | 62 +- src/styles/global.css | 209 +- tailwind.config.js | 5 +- theme.config.tsx | 159 - tsconfig.json | 67 +- yarn.lock | 9746 +++++++++++------ 394 files changed, 9497 insertions(+), 5893 deletions(-) create mode 100644 .prettierrc create mode 100644 app/[[...mdxPath]]/page.tsx create mode 100644 app/layout.tsx create mode 100644 content/_meta.tsx create mode 100644 content/advanced-api/_meta.ts rename {pages => content}/advanced-api/javascript-sdk.mdx (100%) rename {pages => content}/advanced-api/nft-methods.mdx (98%) rename {pages => content}/advanced-api/overview.mdx (100%) rename {pages => content}/advanced-api/pricing.mdx (100%) rename {pages => content}/advanced-api/python-sdk.mdx (100%) rename {pages => content}/advanced-api/query-methods.mdx (98%) create mode 100644 content/advanced-api/quickstart/_meta.ts rename {pages => content}/advanced-api/quickstart/aapi-on-nodejs.mdx (100%) rename {pages => content}/advanced-api/quickstart/aapi-react-app.mdx (100%) rename {pages => content}/advanced-api/quickstart/account-balance-ankrjs.mdx (100%) rename {pages => content}/advanced-api/quickstart/defi-dashboard-ankrjs.mdx (100%) rename {pages => content}/advanced-api/quickstart/fetch-nfts-ankrjs.mdx (100%) rename {pages => content}/advanced-api/quickstart/overview.mdx (100%) rename {pages => content}/advanced-api/react-hooks.mdx (100%) rename {pages => content}/advanced-api/token-methods.mdx (97%) create mode 100644 content/advanced-tutorials/_meta.ts rename {pages => content}/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx (100%) create mode 100644 content/automation/_meta.ts rename {pages => content}/automation/create-compatible-contracts.mdx (100%) rename {pages => content}/automation/custom-logic-automation.mdx (100%) rename {pages => content}/automation/manage-tasks.mdx (100%) rename {pages => content}/automation/overview.mdx (100%) rename {pages => content}/automation/time-based-automation.mdx (100%) create mode 100644 content/basic-tutorials/_meta.ts rename {pages => content}/basic-tutorials/ankrjs-advanced-apis-react-quickstart-guide.mdx (100%) rename {pages => content}/basic-tutorials/backend-nodejs-ipfs-file-uploader-with-filebase.mdx (100%) rename {pages => content}/basic-tutorials/dao-in-5min.mdx (100%) rename {pages => content}/basic-tutorials/dapp-on-ethereum-using-nocode.mdx (100%) rename {pages => content}/basic-tutorials/file-storage-on-ipfs-with-filebase.mdx (100%) create mode 100644 content/bridge/_meta.ts rename {pages => content}/bridge/bridge-tokens.mdx (100%) rename {pages => content}/bridge/overview.mdx (100%) create mode 100644 content/defi/_meta.ts rename {pages => content}/defi/faq.mdx (100%) rename {pages => content}/defi/liquidity-pools.mdx (100%) rename {pages => content}/defi/overview.mdx (100%) rename {pages => content}/defi/vaults.mdx (100%) rename {pages => content}/defi/yield-farming.mdx (100%) create mode 100644 content/delegated-staking/_meta.ts create mode 100644 content/delegated-staking/ankr-validators/_meta.ts rename {pages => content}/delegated-staking/ankr-validators/overview.mdx (100%) rename {pages => content}/delegated-staking/ankr-validators/stake.mdx (100%) create mode 100644 content/delegated-staking/ankr/_meta.ts rename {pages => content}/delegated-staking/ankr/claim-restake-rewards.mdx (100%) rename {pages => content}/delegated-staking/ankr/faq.mdx (100%) rename {pages => content}/delegated-staking/ankr/overview.mdx (100%) rename {pages => content}/delegated-staking/ankr/stake.mdx (100%) rename {pages => content}/delegated-staking/ankr/unstake.mdx (100%) create mode 100644 content/delegated-staking/gnosis/_meta.ts rename {pages => content}/delegated-staking/gnosis/faq.mdx (100%) rename {pages => content}/delegated-staking/gnosis/overview.mdx (100%) rename {pages => content}/delegated-staking/gnosis/stake.mdx (100%) rename {pages => content}/delegated-staking/gnosis/unstake.mdx (100%) rename {pages => content}/gaming-overview.mdx (100%) rename {pages => content}/index.mdx (100%) rename {pages => content}/info-map.mdx (100%) create mode 100644 content/liquid-crowdloan/_meta.ts rename {pages => content}/liquid-crowdloan/overview.mdx (100%) rename {pages => content}/liquid-crowdloan/unstake.mdx (100%) create mode 100644 content/liquid-staking/_meta.ts create mode 100644 content/liquid-staking/avax/_meta.ts rename {pages => content}/liquid-staking/avax/faq.mdx (100%) rename {pages => content}/liquid-staking/avax/overview.mdx (100%) rename {pages => content}/liquid-staking/avax/stake.mdx (100%) rename {pages => content}/liquid-staking/avax/unstake.mdx (100%) create mode 100644 content/liquid-staking/bnb/_meta.ts rename {pages => content}/liquid-staking/bnb/faq.mdx (100%) rename {pages => content}/liquid-staking/bnb/overview.mdx (100%) rename {pages => content}/liquid-staking/bnb/stake.mdx (100%) rename {pages => content}/liquid-staking/bnb/unstake.mdx (100%) create mode 100644 content/liquid-staking/dot/_meta.ts rename {pages => content}/liquid-staking/dot/faq.mdx (100%) rename {pages => content}/liquid-staking/dot/unstake.mdx (100%) create mode 100644 content/liquid-staking/eth/_meta.ts rename {pages => content}/liquid-staking/eth/faq.mdx (100%) rename {pages => content}/liquid-staking/eth/overview.mdx (100%) rename {pages => content}/liquid-staking/eth/restake-ankreth-on-eigen.mdx (100%) rename {pages => content}/liquid-staking/eth/security.mdx (100%) rename {pages => content}/liquid-staking/eth/stake.mdx (100%) rename {pages => content}/liquid-staking/eth/unstake-ankreth-on-eigen.mdx (100%) rename {pages => content}/liquid-staking/eth/unstake.mdx (100%) create mode 100644 content/liquid-staking/flow/_meta.ts rename {pages => content}/liquid-staking/flow/faq.mdx (100%) rename {pages => content}/liquid-staking/flow/overview.mdx (100%) rename {pages => content}/liquid-staking/flow/stake.mdx (100%) rename {pages => content}/liquid-staking/flow/unstake.mdx (100%) create mode 100644 content/liquid-staking/ftm/_meta.ts rename {pages => content}/liquid-staking/ftm/faq.mdx (100%) rename {pages => content}/liquid-staking/ftm/overview.mdx (100%) rename {pages => content}/liquid-staking/ftm/stake.mdx (100%) rename {pages => content}/liquid-staking/ftm/unstake.mdx (100%) rename {pages => content}/liquid-staking/overview.mdx (100%) create mode 100644 content/liquid-staking/pol/_meta.ts rename {pages => content}/liquid-staking/pol/faq.mdx (100%) rename {pages => content}/liquid-staking/pol/overview.mdx (100%) rename {pages => content}/liquid-staking/pol/stake.mdx (100%) rename {pages => content}/liquid-staking/pol/unstake.mdx (100%) rename {pages => content}/node-runners.mdx (100%) rename {pages => content}/node-snapshot.mdx (100%) rename {pages => content}/privacy.mdx (100%) create mode 100644 content/rpc-service/_meta.ts create mode 100644 content/rpc-service/chains/_meta.ts rename {pages => content}/rpc-service/chains/chains-api/0g.mdx (99%) create mode 100644 content/rpc-service/chains/chains-api/_meta.ts rename {pages => content}/rpc-service/chains/chains-api/allora.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/aptos.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/arbitrum-nova.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/arbitrum.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/atleta.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/avail.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/avalanche.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/b2-network.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/bahamut.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/base.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/bitlayer.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/blast.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/bnb-smart-chain.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/botanix.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/btc.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/celo.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/chiliz.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/core.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/corn.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/electroneum.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/eth-beacon.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/ethereum.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/etherlink.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/fantom.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/filecoin.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/flare.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/fuel.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/gnosis-beacon.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/gnosis.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/goat.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/gravity.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/harmony.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/heco.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/horizen-eon.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/iota-evm.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/iota.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/iotex.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/kaia.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/kava.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/kinto.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/kusama.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/linea.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/mantle.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/matchain.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/metis.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/midnight.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/monad.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/moonbeam.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/movement.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/near.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/nervos.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/neura.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/optimism.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/polkadot.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/polygon-zkevm.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/polygon.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/rollux.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/scroll.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/secret-network.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/sei.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/solana.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/somnia.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/sonic.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/stellar.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/story.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/sui-grpc.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/sui.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/swell.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/syscoin.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/tac.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/taiko.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/telos.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/tenet.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/ton.mdx (97%) rename {pages => content}/rpc-service/chains/chains-api/tron.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/xai.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/xdc.mdx (100%) rename {pages => content}/rpc-service/chains/chains-api/xlayer.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/xphere.mdx (99%) rename {pages => content}/rpc-service/chains/chains-api/zksync-era.mdx (99%) rename {pages => content}/rpc-service/chains/chains-list.mdx (98%) create mode 100644 content/rpc-service/getting-started/_meta.ts rename {pages => content}/rpc-service/getting-started/basics-premium.mdx (100%) rename {pages => content}/rpc-service/getting-started/basics-public.mdx (100%) rename {pages => content}/rpc-service/getting-started/intro.mdx (100%) rename {pages => content}/rpc-service/getting-started/platform-swagger.mdx (100%) rename {pages => content}/rpc-service/getting-started/projects.mdx (100%) rename {pages => content}/rpc-service/getting-started/team-accounts.mdx (100%) rename {pages => content}/rpc-service/overview.mdx (100%) rename {pages => content}/rpc-service/pricing.mdx (100%) rename {pages => content}/rpc-service/service-plans.mdx (100%) rename {pages => content}/scaling-services-bsi.mdx (100%) rename {pages => content}/scaling-services-nocode-deployer.mdx (100%) rename {pages => content}/scaling-services-overview.mdx (100%) create mode 100644 content/scaling-services-rollups/_meta.ts create mode 100644 content/scaling-services-rollups/data-availability/_meta.ts rename {pages => content}/scaling-services-rollups/data-availability/arbitrum-anytrust.mdx (100%) rename {pages => content}/scaling-services-rollups/data-availability/avail-da.mdx (100%) rename {pages => content}/scaling-services-rollups/data-availability/celestia.mdx (100%) rename {pages => content}/scaling-services-rollups/data-availability/eigenda.mdx (100%) rename {pages => content}/scaling-services-rollups/data-availability/nearda.mdx (100%) rename {pages => content}/scaling-services-rollups/overview.mdx (100%) create mode 100644 content/scaling-services-rollups/stacks/_meta.ts rename {pages => content}/scaling-services-rollups/stacks/arbitrum-orbit.mdx (100%) rename {pages => content}/scaling-services-rollups/stacks/op-stack.mdx (100%) rename {pages => content}/scaling-services-rollups/stacks/polygon-cdk.mdx (100%) rename {pages => content}/scaling-services-rollups/stacks/zk-stack.mdx (100%) create mode 100644 content/scaling-services-sidechains/_meta.ts create mode 100644 content/scaling-services-sidechains/bnb-sidechain/_meta.ts create mode 100644 content/scaling-services-sidechains/bnb-sidechain/architecture/_meta.ts rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/circulation-model-native-bridge.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/fast-finality.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/governance.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/native-bridge.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/overview.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/runtime-upgrades.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/architecture/system-smart-contracts.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/demo.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/faq.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/glossary.mdx (100%) create mode 100644 content/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.ts rename {pages => content}/scaling-services-sidechains/bnb-sidechain/how-to-launch/configure-genesis-file.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc20-token.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc721-token.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/how-to-launch/launch-bnb-sidechain.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/overview.mdx (100%) create mode 100644 content/scaling-services-sidechains/bnb-sidechain/security/_meta.ts rename {pages => content}/scaling-services-sidechains/bnb-sidechain/security/blockchain-and-evm-security.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/security/off-chain-security.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/security/on-chain-security.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/security/system-smart-contracts.mdx (100%) rename {pages => content}/scaling-services-sidechains/bnb-sidechain/staking.mdx (100%) rename {pages => content}/scaling-services-sidechains/overview.mdx (100%) create mode 100644 content/scaling-services-sidechains/polygon-supernets/_meta.ts rename {pages => content}/scaling-services-sidechains/polygon-supernets/overview.mdx (100%) create mode 100644 content/smart-contract-tutorials/_meta.ts rename {pages => content}/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx (100%) rename {pages => content}/smart-contract-tutorials/erc-20-token-on-optimism.mdx (100%) rename {pages => content}/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx (100%) rename {pages => content}/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx (100%) rename {pages => content}/smart-contract-tutorials/non-rentable-soulbound-nft.mdx (100%) rename {pages => content}/smart-contract-tutorials/rentable-nft-on-optimism.mdx (100%) create mode 100644 content/staking-extra/_meta.ts rename {pages => content}/staking-extra/ankr-governance-mechanics.mdx (100%) rename {pages => content}/staking-extra/ankr-tokenomics.mdx (100%) rename {pages => content}/staking-extra/ankr-validators.mdx (100%) rename {pages => content}/staking-extra/audit-reports.mdx (100%) rename {pages => content}/staking-extra/brand-assets.mdx (100%) rename {pages => content}/staking-extra/compatible-wallets.mdx (100%) rename {pages => content}/staking-extra/fix-broken-network-switch.mdx (100%) rename {pages => content}/staking-extra/get-goerli-eth.mdx (100%) rename {pages => content}/staking-extra/glossary.mdx (100%) rename {pages => content}/staking-extra/integrations.mdx (100%) rename {pages => content}/staking-extra/liquid-crowdloan-market-makers.mdx (100%) rename {pages => content}/staking-extra/ls-sc-addresses-mn.mdx (100%) rename {pages => content}/staking-extra/ls-sc-addresses-tn.mdx (100%) rename {pages => content}/staking-extra/micropool-staking.mdx (100%) rename {pages => content}/staking-extra/principles.mdx (100%) rename {pages => content}/staking-extra/staking-fees.mdx (100%) rename {pages => content}/staking-extra/staking-smart-contracts.mdx (100%) rename {pages => content}/staking-extra/switch-ankreth-binance.mdx (100%) create mode 100644 content/staking-for-developers/_meta.ts create mode 100644 content/staking-for-developers/dev-details/_meta.ts rename {pages => content}/staking-for-developers/dev-details/avax-liquid-staking-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/bnb-liquid-staking-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/bridge-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/eth-liquid-staking-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/eth-validator-hub-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/ftm-liquid-staking-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/pol-liquid-staking-mechanics.mdx (100%) rename {pages => content}/staking-for-developers/dev-details/switch-mechanics.mdx (100%) create mode 100644 content/staking-for-developers/flash-loan/_meta.ts rename {pages => content}/staking-for-developers/flash-loan/overview.mdx (100%) create mode 100644 content/staking-for-developers/flash-unstake/_meta.ts rename {pages => content}/staking-for-developers/flash-unstake/bnb-flash-unstake.mdx (100%) create mode 100644 content/staking-for-developers/oracles/_meta.ts rename {pages => content}/staking-for-developers/oracles/apr-oracle.mdx (100%) rename {pages => content}/staking-for-developers/oracles/overview.mdx (100%) rename {pages => content}/staking-for-developers/oracles/pancakeswap-oracle.mdx (100%) rename {pages => content}/staking-for-developers/oracles/redemption-price-oracle.mdx (100%) rename {pages => content}/staking-for-developers/overview.mdx (100%) create mode 100644 content/staking-for-developers/referral-program/_meta.ts rename {pages => content}/staking-for-developers/referral-program/overview.mdx (100%) create mode 100644 content/staking-for-developers/restful-api/_meta.ts rename {pages => content}/staking-for-developers/restful-api/staking-metrics.mdx (100%) rename {pages => content}/staking-for-developers/restful-api/trustless-ratio.mdx (100%) rename {pages => content}/staking-for-developers/restful-api/validator-api.mdx (100%) create mode 100644 content/staking-for-developers/sdk/_meta.ts rename {pages => content}/staking-for-developers/sdk/liquid-crowdloan-sdk.mdx (100%) rename {pages => content}/staking-for-developers/sdk/liquid-staking-sdk.mdx (100%) rename {pages => content}/staking-for-developers/sdk/overview.mdx (100%) create mode 100644 content/staking-for-developers/smart-contract-api/_meta.ts rename {pages => content}/staking-for-developers/smart-contract-api/avax-api.mdx (100%) rename {pages => content}/staking-for-developers/smart-contract-api/bnb-api.mdx (100%) rename {pages => content}/staking-for-developers/smart-contract-api/eth-api.mdx (100%) rename {pages => content}/staking-for-developers/smart-contract-api/ftm-api.mdx (100%) rename {pages => content}/staking-for-developers/smart-contract-api/overview.mdx (100%) rename {pages => content}/staking-for-developers/smart-contract-api/pol-api.mdx (100%) rename {pages => content}/staking-overview.mdx (100%) create mode 100644 content/switch/_meta.ts rename {pages => content}/switch/overview.mdx (100%) rename {pages => content}/switch/switch-tokens.mdx (100%) rename {pages => content}/whats-new.mdx (100%) create mode 100644 eslint.config.mjs create mode 100644 mdx-components.ts delete mode 100644 pages/_app.mdx delete mode 100644 pages/_meta.json delete mode 100644 pages/advanced-api/_meta.json delete mode 100644 pages/advanced-api/quickstart/_meta.json delete mode 100644 pages/advanced-tutorials/_meta.json delete mode 100644 pages/automation/_meta.json delete mode 100644 pages/basic-tutorials/_meta.json delete mode 100755 pages/bridge/_meta.json delete mode 100755 pages/defi/_meta.json delete mode 100755 pages/delegated-staking/_meta.json delete mode 100755 pages/delegated-staking/ankr-validators/_meta.json delete mode 100755 pages/delegated-staking/ankr/_meta.json delete mode 100755 pages/delegated-staking/gnosis/_meta.json delete mode 100755 pages/liquid-crowdloan/_meta.json delete mode 100755 pages/liquid-staking/_meta.json delete mode 100755 pages/liquid-staking/avax/_meta.json delete mode 100755 pages/liquid-staking/bnb/_meta.json delete mode 100755 pages/liquid-staking/dot/_meta.json delete mode 100755 pages/liquid-staking/eth/_meta.json delete mode 100755 pages/liquid-staking/flow/_meta.json delete mode 100755 pages/liquid-staking/ftm/_meta.json delete mode 100755 pages/liquid-staking/pol/_meta.json delete mode 100644 pages/rpc-service/_meta.json delete mode 100644 pages/rpc-service/chains/_meta.json delete mode 100644 pages/rpc-service/chains/chains-api/_meta.json delete mode 100644 pages/rpc-service/getting-started/_meta.json delete mode 100755 pages/scaling-services-rollups/_meta.json delete mode 100755 pages/scaling-services-rollups/data-availability/_meta.json delete mode 100755 pages/scaling-services-rollups/stacks/_meta.json delete mode 100644 pages/scaling-services-sidechains/_meta.json delete mode 100644 pages/scaling-services-sidechains/bnb-sidechain/_meta.json delete mode 100644 pages/scaling-services-sidechains/bnb-sidechain/architecture/_meta.json delete mode 100644 pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.json delete mode 100644 pages/scaling-services-sidechains/bnb-sidechain/security/_meta.json delete mode 100644 pages/scaling-services-sidechains/polygon-supernets/_meta.json delete mode 100644 pages/smart-contract-tutorials/_meta.json delete mode 100755 pages/staking-extra/_meta.json delete mode 100755 pages/staking-for-developers/_meta.json delete mode 100755 pages/staking-for-developers/dev-details/_meta.json delete mode 100755 pages/staking-for-developers/flash-loan/_meta.json delete mode 100755 pages/staking-for-developers/flash-unstake/_meta.json delete mode 100755 pages/staking-for-developers/oracles/_meta.json delete mode 100755 pages/staking-for-developers/referral-program/_meta.json delete mode 100755 pages/staking-for-developers/restful-api/_meta.json delete mode 100755 pages/staking-for-developers/sdk/_meta.json delete mode 100755 pages/staking-for-developers/smart-contract-api/_meta.json delete mode 100755 pages/switch/_meta.json delete mode 100644 postcss.config.js create mode 100644 postcss.config.mjs delete mode 100644 src/components/Button.jsx delete mode 100644 src/components/Code.jsx create mode 100644 src/components/Footer/Footer.tsx create mode 100644 src/components/Footer/FooterMenu.tsx create mode 100644 src/components/Footer/index.ts delete mode 100644 src/components/FooterMenu.jsx create mode 100644 src/components/Navbar/Navbar.module.css create mode 100644 src/components/Navbar/Navbar.tsx create mode 100644 src/components/Navbar/index.ts delete mode 100644 src/components/OpenUrl.jsx create mode 100644 src/components/Web3APIButton/Web3APIButtonLazy.tsx rename src/components/{index.js => index.ts} (51%) rename src/hooks/{index.js => index.ts} (100%) delete mode 100644 theme.config.tsx diff --git a/.env b/.env index 4c4355423..e3536c1b9 100644 --- a/.env +++ b/.env @@ -1,3 +1,4 @@ +NEXT_PUBLIC_APP_URL=https://www.ankr.com/docs NEXT_PUBLIC_WEB3_API_AUTH_APP_ID=MultiRPC NEXT_PUBLIC_WEB3_API_AUTH_APP_PATH=ankr.com/rpc/auth/ NEXT_PUBLIC_WEB3_API_AUTH_PATH=https://auth.ankr.com/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..bc15a5a17 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "jsxSingleQuote": false, + "singleQuote": true, + "trailingComma": "all", + "bracketSpacing": true, + "semi": true, + "arrowParens": "avoid", + "tabWidth": 2, + "printWidth": 80 +} diff --git a/app/[[...mdxPath]]/page.tsx b/app/[[...mdxPath]]/page.tsx new file mode 100644 index 000000000..c509b768e --- /dev/null +++ b/app/[[...mdxPath]]/page.tsx @@ -0,0 +1,53 @@ +import type { Metadata } from 'next'; +import { generateStaticParamsFor, importPage } from 'nextra/pages'; + +import { useMDXComponents as getMDXComponents } from '../../mdx-components'; + +export const generateStaticParams = generateStaticParamsFor('mdxPath'); + +interface PageProps { + params: Promise<{ mdxPath?: string[] }>; + searchParams?: Promise>; +} + +// dynamic metadata +export async function generateMetadata(props: PageProps): Promise { + const params = await props.params; + + const { metadata } = await importPage(params.mdxPath); + + return { + ...metadata, + alternates: { + canonical: + process.env.NEXT_PUBLIC_APP_URL + + '/' + + (params.mdxPath?.join('/') ?? ''), + }, + appleWebApp: { + ...(metadata.appleWebApp && typeof metadata.appleWebApp === 'object' + ? metadata.appleWebApp + : {}), + title: metadata.title, + }, + }; +} + +const Wrapper = getMDXComponents().wrapper; + +export default async function Page(props: PageProps) { + const params = await props.params; + + const { + default: MDXContent, + toc, + metadata, + sourceCode, + } = await importPage(params.mdxPath); + + return ( + + + + ); +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 000000000..959677454 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,93 @@ +import type { Metadata } from 'next'; +import { Layout } from 'nextra-theme-docs'; +import { Head } from 'nextra/components'; +import { getPageMap } from 'nextra/page-map'; +import 'nextra-theme-docs/style.css'; + +import { Navbar } from 'components/Navbar'; +import 'styles/global.css'; +import { Footer } from 'components/Footer'; + +const title = 'Welcome to Ankr Docs'; + +// static metadata +export const metadata: Metadata = { + alternates: { + canonical: process.env.NEXT_PUBLIC_APP_URL + '/', + }, + appleWebApp: { + title, + }, + description: 'Ankr is the leading Web3 infrastructure company.', + icons: { + apple: [ + { + sizes: '180x180', + url: '/docs/favicon/apple-icon-180x180.png', + }, + ], + icon: [ + { + type: 'image/x-icon', + url: '/docs/favicon/favicon.ico', + }, + { + sizes: '16x16', + type: 'image/png', + url: '/docs/favicon/favicon-16x16.png', + }, + { + sizes: '32x32', + type: 'image/png', + url: '/docs/favicon/favicon-32x32.png', + }, + ], + other: [ + { + rel: 'mask-icon', + url: '/docs/favicon/safari-pinned-tab.svg', + color: '#000000', + }, + ], + }, + manifest: '/docs/favicon/site.webmanifest', + metadataBase: process.env.NEXT_PUBLIC_APP_URL, + openGraph: { + images: ['docs/og/image.png'], + }, + robots: 'index,follow', + title: { + default: title, + template: '%s — Ankr', + }, + twitter: { + images: ['docs/og/image.png'], + }, +}; + +interface RootLayoutProps { + children: React.ReactNode; +} + +export default async function RootLayout({ children }: RootLayoutProps) { + return ( + + + + + + } + navbar={} + sidebar={{ + defaultMenuCollapseLevel: 1, + }} + pageMap={await getPageMap()} + > + {children} + + + + ); +} diff --git a/content/_meta.tsx b/content/_meta.tsx new file mode 100644 index 000000000..df942e705 --- /dev/null +++ b/content/_meta.tsx @@ -0,0 +1,79 @@ +import { Web3APIButtonLazy } from 'components/Web3APIButton'; +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + index: 'Welcome to Ankr Docs', + 'info-map': 'Information Map', + privacy: 'Privacy Policy', + 'whats-new': "What's New", + '-- Building': { + title: 'Building With Ankr', + type: 'separator', + }, + 'rpc-service': 'Node API', + 'advanced-api': 'Advanced API', + 'node-snapshot': 'Blockchain Node Snapshots', + 'node-runners': { + display: 'hidden', + title: 'Node Runners', + }, + automation: 'Contract Automation', + '-- Tutorials': { + title: 'Ankr Tutorials', + type: 'separator', + }, + 'basic-tutorials': 'Basic Tutorials', + 'smart-contract-tutorials': 'Smart Contract Development', + 'advanced-tutorials': 'Advanced Tutorials', + '-- Scaling with Asphere': { + type: 'separator', + title: 'Scaling with Asphere', + }, + 'scaling-services-overview': 'Scaling Services Overview', + 'scaling-services-nocode-deployer': 'No-Code Deployer', + 'scaling-services-bsi': 'Bitcoin Secured Infrastructure', + 'scaling-services-rollups': 'Rollups', + 'scaling-services-sidechains': 'Sidechains', + '-- Staking': { + title: 'Staking With Ankr', + type: 'separator', + }, + 'staking-overview': 'Overview', + 'staking-for-developers': 'For Developers', + 'delegated-staking': 'Delegated Staking', + 'liquid-staking': 'Liquid Staking', + 'liquid-crowdloan': 'Liquid Crowdloan', + defi: 'DeFi', + bridge: 'Bridge', + switch: 'Switch', + 'staking-extra': 'Extra', + '-- Gaming': { + title: 'Making Games', + type: 'separator', + }, + 'gaming-overview': 'Mirage Gaming', + + '-- Support': { + title: 'Support', + type: 'separator', + }, + support: { + href: 'https://ankrnetwork.atlassian.net/servicedesk/customer/portal/10', + title: 'Request Support', + }, + 'knowledge-base': { + href: 'https://ankrnetwork.atlassian.net/wiki/spaces/EUSKB/overview', + title: 'Knowledge Base', + }, + ankr: { + href: 'https://ankr.com', + title: 'To Ankr', + type: 'page', + }, + web3APIButton: { + title: , + type: 'separator', + }, +}; + +export default meta; diff --git a/content/advanced-api/_meta.ts b/content/advanced-api/_meta.ts new file mode 100644 index 000000000..9ebbbac2e --- /dev/null +++ b/content/advanced-api/_meta.ts @@ -0,0 +1,20 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + pricing: 'Pricing', + 'nft-methods': 'NFT API', + 'query-methods': 'Query API', + 'token-methods': 'Token API', + specification: { + title: 'API Reference', + type: 'page', + href: 'https://api-docs.ankr.com/reference/', + }, + 'javascript-sdk': 'Ankr.js SDK', + 'python-sdk': 'Ankr.py SDK', + 'react-hooks': 'Ankr React Hooks', + quickstart: 'Quickstart Guide', +}; + +export default meta; diff --git a/pages/advanced-api/javascript-sdk.mdx b/content/advanced-api/javascript-sdk.mdx similarity index 100% rename from pages/advanced-api/javascript-sdk.mdx rename to content/advanced-api/javascript-sdk.mdx diff --git a/pages/advanced-api/nft-methods.mdx b/content/advanced-api/nft-methods.mdx similarity index 98% rename from pages/advanced-api/nft-methods.mdx rename to content/advanced-api/nft-methods.mdx index 349ac82e4..c721e42a6 100644 --- a/pages/advanced-api/nft-methods.mdx +++ b/content/advanced-api/nft-methods.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # NFT API @@ -57,7 +58,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -87,13 +88,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -157,7 +158,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -196,8 +197,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -327,7 +328,7 @@ Code: 200 OK } } ``` - + --- @@ -361,7 +362,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -377,13 +378,13 @@ Build your request using the parameters below. }, } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -441,7 +442,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -479,8 +480,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -529,7 +530,7 @@ Code: 200 OK } } ``` - + --- @@ -562,7 +563,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -577,13 +578,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -628,7 +629,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -643,8 +644,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -667,7 +668,7 @@ Code: 200 OK } } ``` - + --- @@ -705,7 +706,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -721,13 +722,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response diff --git a/pages/advanced-api/overview.mdx b/content/advanced-api/overview.mdx similarity index 100% rename from pages/advanced-api/overview.mdx rename to content/advanced-api/overview.mdx diff --git a/pages/advanced-api/pricing.mdx b/content/advanced-api/pricing.mdx similarity index 100% rename from pages/advanced-api/pricing.mdx rename to content/advanced-api/pricing.mdx diff --git a/pages/advanced-api/python-sdk.mdx b/content/advanced-api/python-sdk.mdx similarity index 100% rename from pages/advanced-api/python-sdk.mdx rename to content/advanced-api/python-sdk.mdx diff --git a/pages/advanced-api/query-methods.mdx b/content/advanced-api/query-methods.mdx similarity index 98% rename from pages/advanced-api/query-methods.mdx rename to content/advanced-api/query-methods.mdx index 38516250b..192a3cf43 100644 --- a/pages/advanced-api/query-methods.mdx +++ b/content/advanced-api/query-methods.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # Query API @@ -52,7 +53,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -64,13 +65,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -155,7 +156,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -174,13 +175,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -220,7 +221,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -256,8 +257,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -292,7 +293,7 @@ Code: 200 OK } } ``` - + --- @@ -333,7 +334,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -367,13 +368,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -416,7 +417,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -460,8 +461,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -517,7 +518,7 @@ Code: 200 OK } } ``` - + --- @@ -554,7 +555,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -572,13 +573,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -614,7 +615,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -699,8 +700,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -931,7 +932,7 @@ Code: 200 OK } } ``` - + --- @@ -973,7 +974,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -991,13 +992,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -1031,7 +1032,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -1065,8 +1066,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -1100,7 +1101,7 @@ Code: 200 OK } } ``` - + --- @@ -1130,7 +1131,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -1142,13 +1143,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -1183,7 +1184,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -1197,8 +1198,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -1217,5 +1218,5 @@ Code: 200 OK } } ``` - + diff --git a/content/advanced-api/quickstart/_meta.ts b/content/advanced-api/quickstart/_meta.ts new file mode 100644 index 000000000..bd5277886 --- /dev/null +++ b/content/advanced-api/quickstart/_meta.ts @@ -0,0 +1,13 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'fetch-nfts-ankrjs': 'Ankr.js SDK: Fetch NFTs', + 'account-balance-ankrjs': 'Ankr.js SDK: Check Account Balance', + 'aapi-on-nodejs': 'Ankr.js SDK: Advanced APIs on NodeJS Server', + 'aapi-react-app': 'Ankr.js SDK: Advanced APIs for React App', + 'defi-dashboard-ankrjs': + 'DeFi-Dashboard dApp with Vite.js, Ankr.js, & Tailwind CSS', +}; + +export default meta; diff --git a/pages/advanced-api/quickstart/aapi-on-nodejs.mdx b/content/advanced-api/quickstart/aapi-on-nodejs.mdx similarity index 100% rename from pages/advanced-api/quickstart/aapi-on-nodejs.mdx rename to content/advanced-api/quickstart/aapi-on-nodejs.mdx diff --git a/pages/advanced-api/quickstart/aapi-react-app.mdx b/content/advanced-api/quickstart/aapi-react-app.mdx similarity index 100% rename from pages/advanced-api/quickstart/aapi-react-app.mdx rename to content/advanced-api/quickstart/aapi-react-app.mdx diff --git a/pages/advanced-api/quickstart/account-balance-ankrjs.mdx b/content/advanced-api/quickstart/account-balance-ankrjs.mdx similarity index 100% rename from pages/advanced-api/quickstart/account-balance-ankrjs.mdx rename to content/advanced-api/quickstart/account-balance-ankrjs.mdx diff --git a/pages/advanced-api/quickstart/defi-dashboard-ankrjs.mdx b/content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx similarity index 100% rename from pages/advanced-api/quickstart/defi-dashboard-ankrjs.mdx rename to content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx diff --git a/pages/advanced-api/quickstart/fetch-nfts-ankrjs.mdx b/content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx similarity index 100% rename from pages/advanced-api/quickstart/fetch-nfts-ankrjs.mdx rename to content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx diff --git a/pages/advanced-api/quickstart/overview.mdx b/content/advanced-api/quickstart/overview.mdx similarity index 100% rename from pages/advanced-api/quickstart/overview.mdx rename to content/advanced-api/quickstart/overview.mdx diff --git a/pages/advanced-api/react-hooks.mdx b/content/advanced-api/react-hooks.mdx similarity index 100% rename from pages/advanced-api/react-hooks.mdx rename to content/advanced-api/react-hooks.mdx diff --git a/pages/advanced-api/token-methods.mdx b/content/advanced-api/token-methods.mdx similarity index 97% rename from pages/advanced-api/token-methods.mdx rename to content/advanced-api/token-methods.mdx index 5b3064cf8..bf1d6b27f 100644 --- a/pages/advanced-api/token-methods.mdx +++ b/content/advanced-api/token-methods.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # Token API @@ -60,7 +61,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -78,13 +79,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -119,7 +120,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -148,8 +149,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -218,7 +219,7 @@ Code: 200 OK } } ``` - + --- @@ -248,7 +249,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -260,13 +261,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -300,7 +301,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -321,8 +322,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -406,7 +407,7 @@ Code: 200 OK } } ``` - + --- @@ -437,7 +438,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -450,13 +451,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -491,7 +492,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -505,8 +506,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -519,7 +520,7 @@ Code: 200 OK } } ``` - + --- @@ -552,7 +553,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -567,13 +568,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -608,7 +609,7 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ "Example", ]} > - + ```json { @@ -631,8 +632,8 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ } } ``` - - + + ```json { @@ -664,7 +665,7 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ } } ``` - + --- @@ -697,7 +698,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -712,13 +713,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -753,7 +754,7 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ "Example", ]} > - + ```json { @@ -776,8 +777,8 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ } } ``` - - + + ```json { @@ -853,7 +854,7 @@ curl --location --request POST 'https://rpc.ankr.com/multichain/{your_token}' \ } } ``` - + --- @@ -892,7 +893,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -910,13 +911,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -1022,7 +1023,7 @@ Build your request using the parameters below. "Headers", ]} > - + ```json { @@ -1035,13 +1036,13 @@ Build your request using the parameters below. } } ``` - - + + ```shell Content-Type: application/json ``` - + ### Response @@ -1076,7 +1077,7 @@ Code: 200 OK "Example", ]} > - + ```json { @@ -1098,8 +1099,8 @@ Code: 200 OK } } ``` - - + + ```json { @@ -1121,6 +1122,6 @@ Code: 200 OK } } ``` - + diff --git a/content/advanced-tutorials/_meta.ts b/content/advanced-tutorials/_meta.ts new file mode 100644 index 000000000..3097f8858 --- /dev/null +++ b/content/advanced-tutorials/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'donation-based-crowdfunding-dapp-on-polygon-with-ankr': + 'End-to-End Donation-Based Crowdfunding dApp on Polygon with Ankr', +}; + +export default meta; diff --git a/pages/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx b/content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx similarity index 100% rename from pages/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx rename to content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx diff --git a/content/automation/_meta.ts b/content/automation/_meta.ts new file mode 100644 index 000000000..fdbd356fd --- /dev/null +++ b/content/automation/_meta.ts @@ -0,0 +1,11 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'time-based-automation': 'Time-based Automation', + 'custom-logic-automation': 'Custom Logic Automation', + 'create-compatible-contracts': 'Create Compatible Contracts', + 'manage-tasks': 'Manage Automation Tasks', +}; + +export default meta; diff --git a/pages/automation/create-compatible-contracts.mdx b/content/automation/create-compatible-contracts.mdx similarity index 100% rename from pages/automation/create-compatible-contracts.mdx rename to content/automation/create-compatible-contracts.mdx diff --git a/pages/automation/custom-logic-automation.mdx b/content/automation/custom-logic-automation.mdx similarity index 100% rename from pages/automation/custom-logic-automation.mdx rename to content/automation/custom-logic-automation.mdx diff --git a/pages/automation/manage-tasks.mdx b/content/automation/manage-tasks.mdx similarity index 100% rename from pages/automation/manage-tasks.mdx rename to content/automation/manage-tasks.mdx diff --git a/pages/automation/overview.mdx b/content/automation/overview.mdx similarity index 100% rename from pages/automation/overview.mdx rename to content/automation/overview.mdx diff --git a/pages/automation/time-based-automation.mdx b/content/automation/time-based-automation.mdx similarity index 100% rename from pages/automation/time-based-automation.mdx rename to content/automation/time-based-automation.mdx diff --git a/content/basic-tutorials/_meta.ts b/content/basic-tutorials/_meta.ts new file mode 100644 index 000000000..35a509e0a --- /dev/null +++ b/content/basic-tutorials/_meta.ts @@ -0,0 +1,15 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'dapp-on-ethereum-using-nocode': + 'Decentralized Application on Ethereum using No-Code', + 'dao-in-5min': 'DAO in 5 Minutes with Zero Lines of Code', + 'ankrjs-advanced-apis-react-quickstart-guide': + 'Ankr.js (Advanced APIs) React Quickstart Guide', + 'file-storage-on-ipfs-with-filebase': + 'Permanent File Storage (IPFS) with Filebase', + 'backend-nodejs-ipfs-file-uploader-with-filebase': + 'Backend NodeJS IPFS File Uploader With Filebase', +}; + +export default meta; diff --git a/pages/basic-tutorials/ankrjs-advanced-apis-react-quickstart-guide.mdx b/content/basic-tutorials/ankrjs-advanced-apis-react-quickstart-guide.mdx similarity index 100% rename from pages/basic-tutorials/ankrjs-advanced-apis-react-quickstart-guide.mdx rename to content/basic-tutorials/ankrjs-advanced-apis-react-quickstart-guide.mdx diff --git a/pages/basic-tutorials/backend-nodejs-ipfs-file-uploader-with-filebase.mdx b/content/basic-tutorials/backend-nodejs-ipfs-file-uploader-with-filebase.mdx similarity index 100% rename from pages/basic-tutorials/backend-nodejs-ipfs-file-uploader-with-filebase.mdx rename to content/basic-tutorials/backend-nodejs-ipfs-file-uploader-with-filebase.mdx diff --git a/pages/basic-tutorials/dao-in-5min.mdx b/content/basic-tutorials/dao-in-5min.mdx similarity index 100% rename from pages/basic-tutorials/dao-in-5min.mdx rename to content/basic-tutorials/dao-in-5min.mdx diff --git a/pages/basic-tutorials/dapp-on-ethereum-using-nocode.mdx b/content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx similarity index 100% rename from pages/basic-tutorials/dapp-on-ethereum-using-nocode.mdx rename to content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx diff --git a/pages/basic-tutorials/file-storage-on-ipfs-with-filebase.mdx b/content/basic-tutorials/file-storage-on-ipfs-with-filebase.mdx similarity index 100% rename from pages/basic-tutorials/file-storage-on-ipfs-with-filebase.mdx rename to content/basic-tutorials/file-storage-on-ipfs-with-filebase.mdx diff --git a/content/bridge/_meta.ts b/content/bridge/_meta.ts new file mode 100644 index 000000000..d2df63075 --- /dev/null +++ b/content/bridge/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'bridge-tokens': 'Bridge Tokens', +}; + +export default meta; diff --git a/pages/bridge/bridge-tokens.mdx b/content/bridge/bridge-tokens.mdx similarity index 100% rename from pages/bridge/bridge-tokens.mdx rename to content/bridge/bridge-tokens.mdx diff --git a/pages/bridge/overview.mdx b/content/bridge/overview.mdx similarity index 100% rename from pages/bridge/overview.mdx rename to content/bridge/overview.mdx diff --git a/content/defi/_meta.ts b/content/defi/_meta.ts new file mode 100644 index 000000000..48147996a --- /dev/null +++ b/content/defi/_meta.ts @@ -0,0 +1,11 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'liquidity-pools': 'Liquidity Pools', + 'yield-farming': 'Yield Farming', + vaults: 'Vaults', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/defi/faq.mdx b/content/defi/faq.mdx similarity index 100% rename from pages/defi/faq.mdx rename to content/defi/faq.mdx diff --git a/pages/defi/liquidity-pools.mdx b/content/defi/liquidity-pools.mdx similarity index 100% rename from pages/defi/liquidity-pools.mdx rename to content/defi/liquidity-pools.mdx diff --git a/pages/defi/overview.mdx b/content/defi/overview.mdx similarity index 100% rename from pages/defi/overview.mdx rename to content/defi/overview.mdx diff --git a/pages/defi/vaults.mdx b/content/defi/vaults.mdx similarity index 100% rename from pages/defi/vaults.mdx rename to content/defi/vaults.mdx diff --git a/pages/defi/yield-farming.mdx b/content/defi/yield-farming.mdx similarity index 100% rename from pages/defi/yield-farming.mdx rename to content/defi/yield-farming.mdx diff --git a/content/delegated-staking/_meta.ts b/content/delegated-staking/_meta.ts new file mode 100644 index 000000000..fb002bf9f --- /dev/null +++ b/content/delegated-staking/_meta.ts @@ -0,0 +1,9 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + ankr: 'Ankr', + 'ankr-validators': 'Ankr Validators', + gnosis: 'Gnosis', +}; + +export default meta; diff --git a/content/delegated-staking/ankr-validators/_meta.ts b/content/delegated-staking/ankr-validators/_meta.ts new file mode 100644 index 000000000..727d29207 --- /dev/null +++ b/content/delegated-staking/ankr-validators/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', +}; + +export default meta; diff --git a/pages/delegated-staking/ankr-validators/overview.mdx b/content/delegated-staking/ankr-validators/overview.mdx similarity index 100% rename from pages/delegated-staking/ankr-validators/overview.mdx rename to content/delegated-staking/ankr-validators/overview.mdx diff --git a/pages/delegated-staking/ankr-validators/stake.mdx b/content/delegated-staking/ankr-validators/stake.mdx similarity index 100% rename from pages/delegated-staking/ankr-validators/stake.mdx rename to content/delegated-staking/ankr-validators/stake.mdx diff --git a/content/delegated-staking/ankr/_meta.ts b/content/delegated-staking/ankr/_meta.ts new file mode 100644 index 000000000..16e113275 --- /dev/null +++ b/content/delegated-staking/ankr/_meta.ts @@ -0,0 +1,11 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + 'claim-restake-rewards': 'Claim or Restake Rewards', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/delegated-staking/ankr/claim-restake-rewards.mdx b/content/delegated-staking/ankr/claim-restake-rewards.mdx similarity index 100% rename from pages/delegated-staking/ankr/claim-restake-rewards.mdx rename to content/delegated-staking/ankr/claim-restake-rewards.mdx diff --git a/pages/delegated-staking/ankr/faq.mdx b/content/delegated-staking/ankr/faq.mdx similarity index 100% rename from pages/delegated-staking/ankr/faq.mdx rename to content/delegated-staking/ankr/faq.mdx diff --git a/pages/delegated-staking/ankr/overview.mdx b/content/delegated-staking/ankr/overview.mdx similarity index 100% rename from pages/delegated-staking/ankr/overview.mdx rename to content/delegated-staking/ankr/overview.mdx diff --git a/pages/delegated-staking/ankr/stake.mdx b/content/delegated-staking/ankr/stake.mdx similarity index 100% rename from pages/delegated-staking/ankr/stake.mdx rename to content/delegated-staking/ankr/stake.mdx diff --git a/pages/delegated-staking/ankr/unstake.mdx b/content/delegated-staking/ankr/unstake.mdx similarity index 100% rename from pages/delegated-staking/ankr/unstake.mdx rename to content/delegated-staking/ankr/unstake.mdx diff --git a/content/delegated-staking/gnosis/_meta.ts b/content/delegated-staking/gnosis/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/delegated-staking/gnosis/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/delegated-staking/gnosis/faq.mdx b/content/delegated-staking/gnosis/faq.mdx similarity index 100% rename from pages/delegated-staking/gnosis/faq.mdx rename to content/delegated-staking/gnosis/faq.mdx diff --git a/pages/delegated-staking/gnosis/overview.mdx b/content/delegated-staking/gnosis/overview.mdx similarity index 100% rename from pages/delegated-staking/gnosis/overview.mdx rename to content/delegated-staking/gnosis/overview.mdx diff --git a/pages/delegated-staking/gnosis/stake.mdx b/content/delegated-staking/gnosis/stake.mdx similarity index 100% rename from pages/delegated-staking/gnosis/stake.mdx rename to content/delegated-staking/gnosis/stake.mdx diff --git a/pages/delegated-staking/gnosis/unstake.mdx b/content/delegated-staking/gnosis/unstake.mdx similarity index 100% rename from pages/delegated-staking/gnosis/unstake.mdx rename to content/delegated-staking/gnosis/unstake.mdx diff --git a/pages/gaming-overview.mdx b/content/gaming-overview.mdx similarity index 100% rename from pages/gaming-overview.mdx rename to content/gaming-overview.mdx diff --git a/pages/index.mdx b/content/index.mdx similarity index 100% rename from pages/index.mdx rename to content/index.mdx diff --git a/pages/info-map.mdx b/content/info-map.mdx similarity index 100% rename from pages/info-map.mdx rename to content/info-map.mdx diff --git a/content/liquid-crowdloan/_meta.ts b/content/liquid-crowdloan/_meta.ts new file mode 100644 index 000000000..bfa63085e --- /dev/null +++ b/content/liquid-crowdloan/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + unstake: 'Unstake DOT from a Liquid Crowdloan', +}; + +export default meta; diff --git a/pages/liquid-crowdloan/overview.mdx b/content/liquid-crowdloan/overview.mdx similarity index 100% rename from pages/liquid-crowdloan/overview.mdx rename to content/liquid-crowdloan/overview.mdx diff --git a/pages/liquid-crowdloan/unstake.mdx b/content/liquid-crowdloan/unstake.mdx similarity index 100% rename from pages/liquid-crowdloan/unstake.mdx rename to content/liquid-crowdloan/unstake.mdx diff --git a/content/liquid-staking/_meta.ts b/content/liquid-staking/_meta.ts new file mode 100644 index 000000000..2fc7c5be7 --- /dev/null +++ b/content/liquid-staking/_meta.ts @@ -0,0 +1,14 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + avax: 'Avalanche', + bnb: 'Binance', + eth: 'Ethereum', + flow: 'Flow', + ftm: 'Fantom', + dot: 'Polkadot', + pol: 'Polygon', +}; + +export default meta; diff --git a/content/liquid-staking/avax/_meta.ts b/content/liquid-staking/avax/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/liquid-staking/avax/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/avax/faq.mdx b/content/liquid-staking/avax/faq.mdx similarity index 100% rename from pages/liquid-staking/avax/faq.mdx rename to content/liquid-staking/avax/faq.mdx diff --git a/pages/liquid-staking/avax/overview.mdx b/content/liquid-staking/avax/overview.mdx similarity index 100% rename from pages/liquid-staking/avax/overview.mdx rename to content/liquid-staking/avax/overview.mdx diff --git a/pages/liquid-staking/avax/stake.mdx b/content/liquid-staking/avax/stake.mdx similarity index 100% rename from pages/liquid-staking/avax/stake.mdx rename to content/liquid-staking/avax/stake.mdx diff --git a/pages/liquid-staking/avax/unstake.mdx b/content/liquid-staking/avax/unstake.mdx similarity index 100% rename from pages/liquid-staking/avax/unstake.mdx rename to content/liquid-staking/avax/unstake.mdx diff --git a/content/liquid-staking/bnb/_meta.ts b/content/liquid-staking/bnb/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/liquid-staking/bnb/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/bnb/faq.mdx b/content/liquid-staking/bnb/faq.mdx similarity index 100% rename from pages/liquid-staking/bnb/faq.mdx rename to content/liquid-staking/bnb/faq.mdx diff --git a/pages/liquid-staking/bnb/overview.mdx b/content/liquid-staking/bnb/overview.mdx similarity index 100% rename from pages/liquid-staking/bnb/overview.mdx rename to content/liquid-staking/bnb/overview.mdx diff --git a/pages/liquid-staking/bnb/stake.mdx b/content/liquid-staking/bnb/stake.mdx similarity index 100% rename from pages/liquid-staking/bnb/stake.mdx rename to content/liquid-staking/bnb/stake.mdx diff --git a/pages/liquid-staking/bnb/unstake.mdx b/content/liquid-staking/bnb/unstake.mdx similarity index 100% rename from pages/liquid-staking/bnb/unstake.mdx rename to content/liquid-staking/bnb/unstake.mdx diff --git a/content/liquid-staking/dot/_meta.ts b/content/liquid-staking/dot/_meta.ts new file mode 100644 index 000000000..01f760ec2 --- /dev/null +++ b/content/liquid-staking/dot/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/dot/faq.mdx b/content/liquid-staking/dot/faq.mdx similarity index 100% rename from pages/liquid-staking/dot/faq.mdx rename to content/liquid-staking/dot/faq.mdx diff --git a/pages/liquid-staking/dot/unstake.mdx b/content/liquid-staking/dot/unstake.mdx similarity index 100% rename from pages/liquid-staking/dot/unstake.mdx rename to content/liquid-staking/dot/unstake.mdx diff --git a/content/liquid-staking/eth/_meta.ts b/content/liquid-staking/eth/_meta.ts new file mode 100644 index 000000000..db6888cc3 --- /dev/null +++ b/content/liquid-staking/eth/_meta.ts @@ -0,0 +1,13 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + security: 'Security', + stake: 'Stake', + 'restake-ankreth-on-eigen': 'Restake on EigenLayer', + unstake: 'Unstake', + 'unstake-ankreth-on-eigen': 'Unstake on EigenLayer', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/eth/faq.mdx b/content/liquid-staking/eth/faq.mdx similarity index 100% rename from pages/liquid-staking/eth/faq.mdx rename to content/liquid-staking/eth/faq.mdx diff --git a/pages/liquid-staking/eth/overview.mdx b/content/liquid-staking/eth/overview.mdx similarity index 100% rename from pages/liquid-staking/eth/overview.mdx rename to content/liquid-staking/eth/overview.mdx diff --git a/pages/liquid-staking/eth/restake-ankreth-on-eigen.mdx b/content/liquid-staking/eth/restake-ankreth-on-eigen.mdx similarity index 100% rename from pages/liquid-staking/eth/restake-ankreth-on-eigen.mdx rename to content/liquid-staking/eth/restake-ankreth-on-eigen.mdx diff --git a/pages/liquid-staking/eth/security.mdx b/content/liquid-staking/eth/security.mdx similarity index 100% rename from pages/liquid-staking/eth/security.mdx rename to content/liquid-staking/eth/security.mdx diff --git a/pages/liquid-staking/eth/stake.mdx b/content/liquid-staking/eth/stake.mdx similarity index 100% rename from pages/liquid-staking/eth/stake.mdx rename to content/liquid-staking/eth/stake.mdx diff --git a/pages/liquid-staking/eth/unstake-ankreth-on-eigen.mdx b/content/liquid-staking/eth/unstake-ankreth-on-eigen.mdx similarity index 100% rename from pages/liquid-staking/eth/unstake-ankreth-on-eigen.mdx rename to content/liquid-staking/eth/unstake-ankreth-on-eigen.mdx diff --git a/pages/liquid-staking/eth/unstake.mdx b/content/liquid-staking/eth/unstake.mdx similarity index 100% rename from pages/liquid-staking/eth/unstake.mdx rename to content/liquid-staking/eth/unstake.mdx diff --git a/content/liquid-staking/flow/_meta.ts b/content/liquid-staking/flow/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/liquid-staking/flow/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/flow/faq.mdx b/content/liquid-staking/flow/faq.mdx similarity index 100% rename from pages/liquid-staking/flow/faq.mdx rename to content/liquid-staking/flow/faq.mdx diff --git a/pages/liquid-staking/flow/overview.mdx b/content/liquid-staking/flow/overview.mdx similarity index 100% rename from pages/liquid-staking/flow/overview.mdx rename to content/liquid-staking/flow/overview.mdx diff --git a/pages/liquid-staking/flow/stake.mdx b/content/liquid-staking/flow/stake.mdx similarity index 100% rename from pages/liquid-staking/flow/stake.mdx rename to content/liquid-staking/flow/stake.mdx diff --git a/pages/liquid-staking/flow/unstake.mdx b/content/liquid-staking/flow/unstake.mdx similarity index 100% rename from pages/liquid-staking/flow/unstake.mdx rename to content/liquid-staking/flow/unstake.mdx diff --git a/content/liquid-staking/ftm/_meta.ts b/content/liquid-staking/ftm/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/liquid-staking/ftm/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/ftm/faq.mdx b/content/liquid-staking/ftm/faq.mdx similarity index 100% rename from pages/liquid-staking/ftm/faq.mdx rename to content/liquid-staking/ftm/faq.mdx diff --git a/pages/liquid-staking/ftm/overview.mdx b/content/liquid-staking/ftm/overview.mdx similarity index 100% rename from pages/liquid-staking/ftm/overview.mdx rename to content/liquid-staking/ftm/overview.mdx diff --git a/pages/liquid-staking/ftm/stake.mdx b/content/liquid-staking/ftm/stake.mdx similarity index 100% rename from pages/liquid-staking/ftm/stake.mdx rename to content/liquid-staking/ftm/stake.mdx diff --git a/pages/liquid-staking/ftm/unstake.mdx b/content/liquid-staking/ftm/unstake.mdx similarity index 100% rename from pages/liquid-staking/ftm/unstake.mdx rename to content/liquid-staking/ftm/unstake.mdx diff --git a/pages/liquid-staking/overview.mdx b/content/liquid-staking/overview.mdx similarity index 100% rename from pages/liquid-staking/overview.mdx rename to content/liquid-staking/overview.mdx diff --git a/content/liquid-staking/pol/_meta.ts b/content/liquid-staking/pol/_meta.ts new file mode 100644 index 000000000..b98d6f00d --- /dev/null +++ b/content/liquid-staking/pol/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + stake: 'Stake', + unstake: 'Unstake', + faq: 'FAQ', +}; + +export default meta; diff --git a/pages/liquid-staking/pol/faq.mdx b/content/liquid-staking/pol/faq.mdx similarity index 100% rename from pages/liquid-staking/pol/faq.mdx rename to content/liquid-staking/pol/faq.mdx diff --git a/pages/liquid-staking/pol/overview.mdx b/content/liquid-staking/pol/overview.mdx similarity index 100% rename from pages/liquid-staking/pol/overview.mdx rename to content/liquid-staking/pol/overview.mdx diff --git a/pages/liquid-staking/pol/stake.mdx b/content/liquid-staking/pol/stake.mdx similarity index 100% rename from pages/liquid-staking/pol/stake.mdx rename to content/liquid-staking/pol/stake.mdx diff --git a/pages/liquid-staking/pol/unstake.mdx b/content/liquid-staking/pol/unstake.mdx similarity index 100% rename from pages/liquid-staking/pol/unstake.mdx rename to content/liquid-staking/pol/unstake.mdx diff --git a/pages/node-runners.mdx b/content/node-runners.mdx similarity index 100% rename from pages/node-runners.mdx rename to content/node-runners.mdx diff --git a/pages/node-snapshot.mdx b/content/node-snapshot.mdx similarity index 100% rename from pages/node-snapshot.mdx rename to content/node-snapshot.mdx diff --git a/pages/privacy.mdx b/content/privacy.mdx similarity index 100% rename from pages/privacy.mdx rename to content/privacy.mdx diff --git a/content/rpc-service/_meta.ts b/content/rpc-service/_meta.ts new file mode 100644 index 000000000..b214fec76 --- /dev/null +++ b/content/rpc-service/_meta.ts @@ -0,0 +1,11 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'getting-started': 'Getting Started', + overview: 'Overview', + 'service-plans': 'Service Plans', + pricing: 'Pricing', + chains: 'Supported Chains', +}; + +export default meta; diff --git a/content/rpc-service/chains/_meta.ts b/content/rpc-service/chains/_meta.ts new file mode 100644 index 000000000..32c2f7e74 --- /dev/null +++ b/content/rpc-service/chains/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'chains-list': 'Chains Quickstart', + 'chains-api': 'API Reference', +}; + +export default meta; diff --git a/pages/rpc-service/chains/chains-api/0g.mdx b/content/rpc-service/chains/chains-api/0g.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/0g.mdx rename to content/rpc-service/chains/chains-api/0g.mdx index cb940c4bd..62280891b 100644 --- a/pages/rpc-service/chains/chains-api/0g.mdx +++ b/content/rpc-service/chains/chains-api/0g.mdx @@ -1,5 +1,6 @@ import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; + +import { Tabs } from "nextra/components"; # 0G @@ -1684,7 +1685,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -1696,13 +1697,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -1812,7 +1813,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -1824,13 +1825,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?height=1 ``` - + #### Response example @@ -1918,7 +1919,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -1932,13 +1933,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl "https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/block_by_hash?hash=0xccd5ff3593220b4b59415af98655c9f4afe822570cce35685dd5e597adf48b41" ``` - + #### Response example @@ -2035,7 +2036,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2047,13 +2048,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/block_results?height=1 ``` - + #### Response example @@ -2141,7 +2142,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2153,13 +2154,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/commit?height=1 ``` - + #### Response example @@ -2252,7 +2253,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2264,13 +2265,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl "https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/validators?height=1&page=1&per_page=30" ``` - + #### Response example @@ -2350,7 +2351,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2362,13 +2363,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/genesis_chunked?chunk=0 ``` - + #### Response example @@ -2410,7 +2411,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2422,13 +2423,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/dump_consensus_state ``` - + #### Response example @@ -2583,7 +2584,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2595,13 +2596,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/consensus_state ``` - + #### Response example @@ -2679,7 +2680,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2691,13 +2692,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/consensus_params?height=1 ``` - + #### Response example @@ -2754,7 +2755,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2766,13 +2767,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/unconfirmed_txs?limit=1 ``` - + #### Response example @@ -2816,7 +2817,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2828,13 +2829,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/num_unconfirmed_txs ``` - + #### Response example @@ -2880,7 +2881,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2898,13 +2899,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/tx_search?query=tx.height%3D13225811&prove=true&page=1&per_page=5&order_by=desc ``` - + #### Response example @@ -2947,7 +2948,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -2964,13 +2965,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/block_search?query=block.height%3D13225811&page=1&per_page=10&order_by=desc ``` - + #### Response example @@ -3073,7 +3074,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3085,13 +3086,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/tx?hash=4B6D8FEA3786BFC6152EAEA791C4DAF00C41E93DAD56A7230B565179CD29CAA1&prove=true ``` - + #### Response example @@ -3156,7 +3157,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3168,13 +3169,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/broadcast_tx_sync?tx= ``` - + #### Response example @@ -3219,7 +3220,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3231,13 +3232,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/broadcast_tx_async?tx= ``` - + #### Response example @@ -3284,7 +3285,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3296,13 +3297,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/broadcast_tx_commit?tx= ``` - + #### Response example @@ -3361,7 +3362,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3373,13 +3374,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/check_tx?tx= ``` - + #### Response example @@ -3431,7 +3432,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3443,13 +3444,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/abci_info ``` - + #### Response example @@ -3496,7 +3497,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -3508,13 +3509,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/content/rpc-service/chains/chains-api/_meta.ts b/content/rpc-service/chains/chains-api/_meta.ts new file mode 100644 index 000000000..acac679c0 --- /dev/null +++ b/content/rpc-service/chains/chains-api/_meta.ts @@ -0,0 +1,87 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + '0g': '0G', + allora: 'Allora', + aptos: 'Aptos', + arbitrum: 'Arbitrum', + 'arbitrum-nova': 'Arbitrum Nova', + atleta: 'Atleta', + avail: 'Avail', + avalanche: 'Avalanche', + 'b2-network': 'B2 Network', + bahamut: 'Bahamut', + base: 'Base', + btc: 'Bitcoin', + bitlayer: 'Bitlayer', + blast: 'Blast', + 'bnb-smart-chain': 'BNB Smart Chain', + botanix: 'Botanix', + celo: 'Celo', + chiliz: 'Chiliz', + core: 'Core', + corn: 'Corn', + electroneum: 'Electroneum', + ethereum: 'Ethereum', + 'eth-beacon': 'Ethereum Beacon', + etherlink: 'Etherlink', + fantom: 'Fantom', + filecoin: 'Filecoin', + flare: 'Flare', + fuel: 'Fuel', + gnosis: 'Gnosis', + 'gnosis-beacon': 'Gnosis Beacon', + goat: 'GOAT', + gravity: 'Gravity', + harmony: 'Harmony', + heco: 'Huobi ECO Chain', + 'horizen-eon': 'Horizen EON', + iota: 'IOTA', + 'iota-evm': 'IOTA EVM', + iotex: 'IoTeX', + kaia: 'Kaia', + kava: 'Kava', + kinto: 'Kinto', + kusama: 'Kusama', + linea: 'Linea', + mantle: 'Mantle', + matchain: 'Matchain', + metis: 'Metis', + midnight: 'Midnight', + monad: 'Monad', + moonbeam: 'Moonbeam', + movement: 'Movement', + near: 'NEAR', + nervos: 'Nervos', + neura: 'Neura', + optimism: 'Optimism', + polkadot: 'Polkadot', + polygon: 'Polygon', + 'polygon-zkevm': 'Polygon zkEVM', + rollux: 'Rollux', + scroll: 'Scroll', + 'secret-network': 'Secret Network', + sei: 'Sei', + solana: 'Solana', + somnia: 'Somnia', + sonic: 'Sonic', + stellar: 'Stellar', + story: 'Story', + sui: 'Sui', + 'sui-grpc': 'Sui gRPC', + swell: 'Swell', + syscoin: 'Syscoin', + tac: 'TAC', + taiko: 'Taiko', + telos: 'Telos', + tenet: 'Tenet', + ton: 'TON', + tron: 'TRON', + xai: 'Xai', + xdc: 'XDC Network', + xlayer: 'X Layer', + xphere: 'Xphere', + 'zksync-era': 'zkSync Era', +}; + +export default meta; diff --git a/pages/rpc-service/chains/chains-api/allora.mdx b/content/rpc-service/chains/chains-api/allora.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/allora.mdx rename to content/rpc-service/chains/chains-api/allora.mdx index a671ce208..a36fdb198 100644 --- a/pages/rpc-service/chains/chains-api/allora.mdx +++ b/content/rpc-service/chains/chains-api/allora.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # Allora @@ -30,7 +31,7 @@ Here is the request/response structure to use for querying: "JSON response" ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -42,20 +43,20 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/block?height=761001 ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_cosmos_testnet/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - - + + ```json { @@ -132,7 +133,7 @@ curl https://rpc.ankr.com/http/allora_cosmos_testnet/cosmos/base/tendermint/v1be } } ``` - + --- @@ -197,7 +198,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -209,13 +210,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -291,7 +292,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -303,13 +304,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/blockchain?height=1 ``` - + #### Response example @@ -428,7 +429,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -440,13 +441,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/block_by_hash?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED ``` - + #### Response example @@ -565,7 +566,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -577,13 +578,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/block_results?height=1 ``` - + #### Response example @@ -692,7 +693,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -704,13 +705,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/commit?height=1 ``` - + #### Response example @@ -798,7 +799,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -810,13 +811,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/validators?height=1&page=2&per_page=30 ``` - + #### Response example @@ -869,7 +870,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -881,13 +882,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/genesis_chunked?chunk=1 ``` - + #### Response example @@ -929,7 +930,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -941,13 +942,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/dump_consensus_state ``` - + #### Response example @@ -1092,7 +1093,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1104,13 +1105,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/consensus_state ``` - + #### Response example @@ -1173,7 +1174,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1185,13 +1186,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/consensus_params?height=1 ``` - + #### Response example @@ -1244,7 +1245,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1256,13 +1257,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/unconfirmed_txs?limit=1 ``` - + #### Response example @@ -1305,7 +1306,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1317,13 +1318,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/num_unconfirmed_txs ``` - + #### Response example @@ -1368,7 +1369,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1380,13 +1381,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/tx_search?query=tx.height%4D2000&prove=true&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -1458,7 +1459,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1470,13 +1471,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/block_search?query=block.height%4D2000&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -1601,7 +1602,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1613,13 +1614,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/tx?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED&prove=true ``` - + #### Response example @@ -1677,7 +1678,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1689,13 +1690,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/broadcast_tx_sync?tx=456 ``` - + #### Response example @@ -1742,7 +1743,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1754,13 +1755,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/broadcast_tx_async?tx=123 ``` - + #### Response example @@ -1809,7 +1810,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1821,13 +1822,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/broadcast_tx_commit?tx=785 ``` - + #### Response example @@ -1877,7 +1878,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1889,13 +1890,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/check_tx?tx=785 ``` - + #### Response example @@ -1954,7 +1955,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -1966,13 +1967,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/abci_info ``` - + #### Response example @@ -2018,7 +2019,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -2030,13 +2031,13 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/aptos.mdx b/content/rpc-service/chains/chains-api/aptos.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/aptos.mdx rename to content/rpc-service/chains/chains-api/aptos.mdx diff --git a/pages/rpc-service/chains/chains-api/arbitrum-nova.mdx b/content/rpc-service/chains/chains-api/arbitrum-nova.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/arbitrum-nova.mdx rename to content/rpc-service/chains/chains-api/arbitrum-nova.mdx diff --git a/pages/rpc-service/chains/chains-api/arbitrum.mdx b/content/rpc-service/chains/chains-api/arbitrum.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/arbitrum.mdx rename to content/rpc-service/chains/chains-api/arbitrum.mdx diff --git a/pages/rpc-service/chains/chains-api/atleta.mdx b/content/rpc-service/chains/chains-api/atleta.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/atleta.mdx rename to content/rpc-service/chains/chains-api/atleta.mdx diff --git a/pages/rpc-service/chains/chains-api/avail.mdx b/content/rpc-service/chains/chains-api/avail.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/avail.mdx rename to content/rpc-service/chains/chains-api/avail.mdx index 05cefffa9..6c2f04180 100644 --- a/pages/rpc-service/chains/chains-api/avail.mdx +++ b/content/rpc-service/chains/chains-api/avail.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Avail diff --git a/pages/rpc-service/chains/chains-api/avalanche.mdx b/content/rpc-service/chains/chains-api/avalanche.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/avalanche.mdx rename to content/rpc-service/chains/chains-api/avalanche.mdx diff --git a/pages/rpc-service/chains/chains-api/b2-network.mdx b/content/rpc-service/chains/chains-api/b2-network.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/b2-network.mdx rename to content/rpc-service/chains/chains-api/b2-network.mdx diff --git a/pages/rpc-service/chains/chains-api/bahamut.mdx b/content/rpc-service/chains/chains-api/bahamut.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/bahamut.mdx rename to content/rpc-service/chains/chains-api/bahamut.mdx diff --git a/pages/rpc-service/chains/chains-api/base.mdx b/content/rpc-service/chains/chains-api/base.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/base.mdx rename to content/rpc-service/chains/chains-api/base.mdx index 2ef57876f..a44d13a7d 100644 --- a/pages/rpc-service/chains/chains-api/base.mdx +++ b/content/rpc-service/chains/chains-api/base.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Base
diff --git a/pages/rpc-service/chains/chains-api/bitlayer.mdx b/content/rpc-service/chains/chains-api/bitlayer.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/bitlayer.mdx rename to content/rpc-service/chains/chains-api/bitlayer.mdx diff --git a/pages/rpc-service/chains/chains-api/blast.mdx b/content/rpc-service/chains/chains-api/blast.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/blast.mdx rename to content/rpc-service/chains/chains-api/blast.mdx index 918079e1e..e2d83f708 100644 --- a/pages/rpc-service/chains/chains-api/blast.mdx +++ b/content/rpc-service/chains/chains-api/blast.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Blast diff --git a/pages/rpc-service/chains/chains-api/bnb-smart-chain.mdx b/content/rpc-service/chains/chains-api/bnb-smart-chain.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/bnb-smart-chain.mdx rename to content/rpc-service/chains/chains-api/bnb-smart-chain.mdx diff --git a/pages/rpc-service/chains/chains-api/botanix.mdx b/content/rpc-service/chains/chains-api/botanix.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/botanix.mdx rename to content/rpc-service/chains/chains-api/botanix.mdx diff --git a/pages/rpc-service/chains/chains-api/btc.mdx b/content/rpc-service/chains/chains-api/btc.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/btc.mdx rename to content/rpc-service/chains/chains-api/btc.mdx index 313b8132f..2c85043c0 100644 --- a/pages/rpc-service/chains/chains-api/btc.mdx +++ b/content/rpc-service/chains/chains-api/btc.mdx @@ -1,5 +1,6 @@ +import { Tabs } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Bitcoin @@ -3566,13 +3567,13 @@ Broadcasts new transaction to the blockchain. "POST request" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/sendtx/{hex-tx-data} ``` - - + + ```shell curl -X POST https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/sendtx/ \ @@ -3581,7 +3582,7 @@ curl -X POST https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2 "hex-tx-data": "your-raw-tx" }' ``` - + ##### Response example diff --git a/pages/rpc-service/chains/chains-api/celo.mdx b/content/rpc-service/chains/chains-api/celo.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/celo.mdx rename to content/rpc-service/chains/chains-api/celo.mdx diff --git a/pages/rpc-service/chains/chains-api/chiliz.mdx b/content/rpc-service/chains/chains-api/chiliz.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/chiliz.mdx rename to content/rpc-service/chains/chains-api/chiliz.mdx index 061be5d87..0945ce065 100644 --- a/pages/rpc-service/chains/chains-api/chiliz.mdx +++ b/content/rpc-service/chains/chains-api/chiliz.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Chiliz
diff --git a/pages/rpc-service/chains/chains-api/core.mdx b/content/rpc-service/chains/chains-api/core.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/core.mdx rename to content/rpc-service/chains/chains-api/core.mdx index 1e9acad7f..a55576c2e 100644 --- a/pages/rpc-service/chains/chains-api/core.mdx +++ b/content/rpc-service/chains/chains-api/core.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Core diff --git a/pages/rpc-service/chains/chains-api/corn.mdx b/content/rpc-service/chains/chains-api/corn.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/corn.mdx rename to content/rpc-service/chains/chains-api/corn.mdx index d138e7ebc..7f4135e64 100644 --- a/pages/rpc-service/chains/chains-api/corn.mdx +++ b/content/rpc-service/chains/chains-api/corn.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Corn diff --git a/pages/rpc-service/chains/chains-api/electroneum.mdx b/content/rpc-service/chains/chains-api/electroneum.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/electroneum.mdx rename to content/rpc-service/chains/chains-api/electroneum.mdx diff --git a/pages/rpc-service/chains/chains-api/eth-beacon.mdx b/content/rpc-service/chains/chains-api/eth-beacon.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/eth-beacon.mdx rename to content/rpc-service/chains/chains-api/eth-beacon.mdx diff --git a/pages/rpc-service/chains/chains-api/ethereum.mdx b/content/rpc-service/chains/chains-api/ethereum.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/ethereum.mdx rename to content/rpc-service/chains/chains-api/ethereum.mdx diff --git a/pages/rpc-service/chains/chains-api/etherlink.mdx b/content/rpc-service/chains/chains-api/etherlink.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/etherlink.mdx rename to content/rpc-service/chains/chains-api/etherlink.mdx index b58188f11..ac506bfa9 100644 --- a/pages/rpc-service/chains/chains-api/etherlink.mdx +++ b/content/rpc-service/chains/chains-api/etherlink.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Etherlink diff --git a/pages/rpc-service/chains/chains-api/fantom.mdx b/content/rpc-service/chains/chains-api/fantom.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/fantom.mdx rename to content/rpc-service/chains/chains-api/fantom.mdx diff --git a/pages/rpc-service/chains/chains-api/filecoin.mdx b/content/rpc-service/chains/chains-api/filecoin.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/filecoin.mdx rename to content/rpc-service/chains/chains-api/filecoin.mdx diff --git a/pages/rpc-service/chains/chains-api/flare.mdx b/content/rpc-service/chains/chains-api/flare.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/flare.mdx rename to content/rpc-service/chains/chains-api/flare.mdx diff --git a/pages/rpc-service/chains/chains-api/fuel.mdx b/content/rpc-service/chains/chains-api/fuel.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/fuel.mdx rename to content/rpc-service/chains/chains-api/fuel.mdx index 66339a7e0..a246957a7 100644 --- a/pages/rpc-service/chains/chains-api/fuel.mdx +++ b/content/rpc-service/chains/chains-api/fuel.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Fuel diff --git a/pages/rpc-service/chains/chains-api/gnosis-beacon.mdx b/content/rpc-service/chains/chains-api/gnosis-beacon.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/gnosis-beacon.mdx rename to content/rpc-service/chains/chains-api/gnosis-beacon.mdx diff --git a/pages/rpc-service/chains/chains-api/gnosis.mdx b/content/rpc-service/chains/chains-api/gnosis.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/gnosis.mdx rename to content/rpc-service/chains/chains-api/gnosis.mdx diff --git a/pages/rpc-service/chains/chains-api/goat.mdx b/content/rpc-service/chains/chains-api/goat.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/goat.mdx rename to content/rpc-service/chains/chains-api/goat.mdx diff --git a/pages/rpc-service/chains/chains-api/gravity.mdx b/content/rpc-service/chains/chains-api/gravity.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/gravity.mdx rename to content/rpc-service/chains/chains-api/gravity.mdx diff --git a/pages/rpc-service/chains/chains-api/harmony.mdx b/content/rpc-service/chains/chains-api/harmony.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/harmony.mdx rename to content/rpc-service/chains/chains-api/harmony.mdx diff --git a/pages/rpc-service/chains/chains-api/heco.mdx b/content/rpc-service/chains/chains-api/heco.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/heco.mdx rename to content/rpc-service/chains/chains-api/heco.mdx diff --git a/pages/rpc-service/chains/chains-api/horizen-eon.mdx b/content/rpc-service/chains/chains-api/horizen-eon.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/horizen-eon.mdx rename to content/rpc-service/chains/chains-api/horizen-eon.mdx index 3d4be92d7..ccd5c2123 100644 --- a/pages/rpc-service/chains/chains-api/horizen-eon.mdx +++ b/content/rpc-service/chains/chains-api/horizen-eon.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Horizen EON
diff --git a/pages/rpc-service/chains/chains-api/iota-evm.mdx b/content/rpc-service/chains/chains-api/iota-evm.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/iota-evm.mdx rename to content/rpc-service/chains/chains-api/iota-evm.mdx index cbeb3cc53..6bb78266b 100644 --- a/pages/rpc-service/chains/chains-api/iota-evm.mdx +++ b/content/rpc-service/chains/chains-api/iota-evm.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Iota EVM diff --git a/pages/rpc-service/chains/chains-api/iota.mdx b/content/rpc-service/chains/chains-api/iota.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/iota.mdx rename to content/rpc-service/chains/chains-api/iota.mdx index d5f2b89e1..0e6b6c982 100644 --- a/pages/rpc-service/chains/chains-api/iota.mdx +++ b/content/rpc-service/chains/chains-api/iota.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # IOTA diff --git a/pages/rpc-service/chains/chains-api/iotex.mdx b/content/rpc-service/chains/chains-api/iotex.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/iotex.mdx rename to content/rpc-service/chains/chains-api/iotex.mdx diff --git a/pages/rpc-service/chains/chains-api/kaia.mdx b/content/rpc-service/chains/chains-api/kaia.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/kaia.mdx rename to content/rpc-service/chains/chains-api/kaia.mdx diff --git a/pages/rpc-service/chains/chains-api/kava.mdx b/content/rpc-service/chains/chains-api/kava.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/kava.mdx rename to content/rpc-service/chains/chains-api/kava.mdx index 51a1c5059..b6c68e17c 100644 --- a/pages/rpc-service/chains/chains-api/kava.mdx +++ b/content/rpc-service/chains/chains-api/kava.mdx @@ -1,5 +1,6 @@ +import { Tabs } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Kava @@ -1780,7 +1781,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -1792,13 +1793,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -1908,7 +1909,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -1920,13 +1921,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/blockchain?height=1 ``` - + #### Response example @@ -2014,7 +2015,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2026,13 +2027,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/block_by_hash?hash=0x0990cb6cfbf40d2710ea152809c7949ea7431276a83eb1bc46835ca137a400a8 ``` - + #### Response example @@ -2135,7 +2136,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2147,13 +2148,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/block_results?height=1 ``` - + #### Response example @@ -2241,7 +2242,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2253,13 +2254,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/commit?height=1 ``` - + #### Response example @@ -2352,7 +2353,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2364,13 +2365,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/validators?height=1&page=2&per_page=30 ``` - + #### Response example @@ -2423,7 +2424,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2435,13 +2436,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/genesis_chunked?chunk=1 ``` - + #### Response example @@ -2483,7 +2484,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2495,13 +2496,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/dump_consensus_state ``` - + #### Response example @@ -2656,7 +2657,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2668,13 +2669,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/consensus_state ``` - + #### Response example @@ -2752,7 +2753,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2764,13 +2765,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/consensus_params?height=1 ``` - + #### Response example @@ -2827,7 +2828,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2839,13 +2840,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/unconfirmed_txs?limit=1 ``` - + #### Response example @@ -2889,7 +2890,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2901,13 +2902,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/num_unconfirmed_txs ``` - + #### Response example @@ -2953,7 +2954,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -2971,13 +2972,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/tx_search?query=tx.height%3D13225811&prove=true&page=1&per_page=5&order_by=desc ``` - + #### Response example @@ -3020,7 +3021,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3037,13 +3038,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/block_search?query=block.height%3D13225811&page=1&per_page=10&order_by=desc ``` - + #### Response example @@ -3146,7 +3147,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3158,13 +3159,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/tx?hash=4B6D8FEA3786BFC6152EAEA791C4DAF00C41E93DAD56A7230B565179CD29CAA1&prove=true ``` - + #### Response example @@ -3229,7 +3230,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3241,13 +3242,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/broadcast_tx_sync?tx= ``` - + #### Response example @@ -3292,7 +3293,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3304,13 +3305,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/broadcast_tx_async?tx= ``` - + #### Response example @@ -3357,7 +3358,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3369,13 +3370,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/broadcast_tx_commit?tx= ``` - + #### Response example @@ -3434,7 +3435,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3446,13 +3447,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/check_tx?tx= ``` - + #### Response example @@ -3504,7 +3505,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3516,13 +3517,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/abci_info ``` - + #### Response example @@ -3569,7 +3570,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -3581,13 +3582,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/kava_rpc/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/kinto.mdx b/content/rpc-service/chains/chains-api/kinto.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/kinto.mdx rename to content/rpc-service/chains/chains-api/kinto.mdx diff --git a/pages/rpc-service/chains/chains-api/kusama.mdx b/content/rpc-service/chains/chains-api/kusama.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/kusama.mdx rename to content/rpc-service/chains/chains-api/kusama.mdx index f30ea36fb..48df354a5 100644 --- a/pages/rpc-service/chains/chains-api/kusama.mdx +++ b/content/rpc-service/chains/chains-api/kusama.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Kusama
diff --git a/pages/rpc-service/chains/chains-api/linea.mdx b/content/rpc-service/chains/chains-api/linea.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/linea.mdx rename to content/rpc-service/chains/chains-api/linea.mdx diff --git a/pages/rpc-service/chains/chains-api/mantle.mdx b/content/rpc-service/chains/chains-api/mantle.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/mantle.mdx rename to content/rpc-service/chains/chains-api/mantle.mdx diff --git a/pages/rpc-service/chains/chains-api/matchain.mdx b/content/rpc-service/chains/chains-api/matchain.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/matchain.mdx rename to content/rpc-service/chains/chains-api/matchain.mdx index f74445bee..ccf903e11 100644 --- a/pages/rpc-service/chains/chains-api/matchain.mdx +++ b/content/rpc-service/chains/chains-api/matchain.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Matchain diff --git a/pages/rpc-service/chains/chains-api/metis.mdx b/content/rpc-service/chains/chains-api/metis.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/metis.mdx rename to content/rpc-service/chains/chains-api/metis.mdx diff --git a/pages/rpc-service/chains/chains-api/midnight.mdx b/content/rpc-service/chains/chains-api/midnight.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/midnight.mdx rename to content/rpc-service/chains/chains-api/midnight.mdx index 0d753f975..e8ffba870 100644 --- a/pages/rpc-service/chains/chains-api/midnight.mdx +++ b/content/rpc-service/chains/chains-api/midnight.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Midnight diff --git a/pages/rpc-service/chains/chains-api/monad.mdx b/content/rpc-service/chains/chains-api/monad.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/monad.mdx rename to content/rpc-service/chains/chains-api/monad.mdx index abe19872e..9765792de 100644 --- a/pages/rpc-service/chains/chains-api/monad.mdx +++ b/content/rpc-service/chains/chains-api/monad.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Monad diff --git a/pages/rpc-service/chains/chains-api/moonbeam.mdx b/content/rpc-service/chains/chains-api/moonbeam.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/moonbeam.mdx rename to content/rpc-service/chains/chains-api/moonbeam.mdx diff --git a/pages/rpc-service/chains/chains-api/movement.mdx b/content/rpc-service/chains/chains-api/movement.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/movement.mdx rename to content/rpc-service/chains/chains-api/movement.mdx diff --git a/pages/rpc-service/chains/chains-api/near.mdx b/content/rpc-service/chains/chains-api/near.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/near.mdx rename to content/rpc-service/chains/chains-api/near.mdx diff --git a/pages/rpc-service/chains/chains-api/nervos.mdx b/content/rpc-service/chains/chains-api/nervos.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/nervos.mdx rename to content/rpc-service/chains/chains-api/nervos.mdx diff --git a/pages/rpc-service/chains/chains-api/neura.mdx b/content/rpc-service/chains/chains-api/neura.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/neura.mdx rename to content/rpc-service/chains/chains-api/neura.mdx diff --git a/pages/rpc-service/chains/chains-api/optimism.mdx b/content/rpc-service/chains/chains-api/optimism.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/optimism.mdx rename to content/rpc-service/chains/chains-api/optimism.mdx diff --git a/pages/rpc-service/chains/chains-api/polkadot.mdx b/content/rpc-service/chains/chains-api/polkadot.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/polkadot.mdx rename to content/rpc-service/chains/chains-api/polkadot.mdx index 1cf651787..ae124ce26 100644 --- a/pages/rpc-service/chains/chains-api/polkadot.mdx +++ b/content/rpc-service/chains/chains-api/polkadot.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Polkadot
diff --git a/pages/rpc-service/chains/chains-api/polygon-zkevm.mdx b/content/rpc-service/chains/chains-api/polygon-zkevm.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/polygon-zkevm.mdx rename to content/rpc-service/chains/chains-api/polygon-zkevm.mdx diff --git a/pages/rpc-service/chains/chains-api/polygon.mdx b/content/rpc-service/chains/chains-api/polygon.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/polygon.mdx rename to content/rpc-service/chains/chains-api/polygon.mdx diff --git a/pages/rpc-service/chains/chains-api/rollux.mdx b/content/rpc-service/chains/chains-api/rollux.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/rollux.mdx rename to content/rpc-service/chains/chains-api/rollux.mdx diff --git a/pages/rpc-service/chains/chains-api/scroll.mdx b/content/rpc-service/chains/chains-api/scroll.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/scroll.mdx rename to content/rpc-service/chains/chains-api/scroll.mdx index d48f1bb1a..6f7dd94bd 100644 --- a/pages/rpc-service/chains/chains-api/scroll.mdx +++ b/content/rpc-service/chains/chains-api/scroll.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Scroll diff --git a/pages/rpc-service/chains/chains-api/secret-network.mdx b/content/rpc-service/chains/chains-api/secret-network.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/secret-network.mdx rename to content/rpc-service/chains/chains-api/secret-network.mdx index 497f91bdd..4c5ad2e55 100644 --- a/pages/rpc-service/chains/chains-api/secret-network.mdx +++ b/content/rpc-service/chains/chains-api/secret-network.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # Secret Network @@ -27,7 +28,7 @@ Here is the request/response structure to use for querying: "JSON response" ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -39,20 +40,20 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/block?height=1 ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt_cosmos/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - - + + ```json { @@ -144,7 +145,7 @@ curl https://rpc.ankr.com/http/scrt_cosmos/cosmos/base/tendermint/v1beta1/blocks } } ``` - + --- @@ -209,7 +210,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -221,13 +222,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -303,7 +304,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -315,13 +316,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/blockchain?height=1 ``` - + #### Response example @@ -440,7 +441,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -452,13 +453,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/block_by_hash?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED ``` - + #### Response example @@ -577,7 +578,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -589,13 +590,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/block_results?height=1 ``` - + #### Response example @@ -704,7 +705,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -716,13 +717,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/commit?height=1 ``` - + #### Response example @@ -810,7 +811,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -822,13 +823,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/validators?height=1&page=2&per_page=30 ``` - + #### Response example @@ -881,7 +882,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -893,13 +894,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/genesis_chunked?chunk=1 ``` - + #### Response example @@ -941,7 +942,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -953,13 +954,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/dump_consensus_state ``` - + #### Response example @@ -1104,7 +1105,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1116,13 +1117,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/consensus_state ``` - + #### Response example @@ -1185,7 +1186,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1197,13 +1198,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/consensus_params?height=1 ``` - + #### Response example @@ -1256,7 +1257,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1268,13 +1269,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/unconfirmed_txs?limit=1 ``` - + @@ -1318,7 +1319,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1330,13 +1331,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/num_unconfirmed_txs ``` - + #### Response example @@ -1381,7 +1382,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1393,13 +1394,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/tx_search?query=tx.height%4D2000&prove=true&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -1471,7 +1472,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1483,13 +1484,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/block_search?query=block.height%4D2000&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -1614,7 +1615,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1626,13 +1627,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/tx?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED&prove=true ``` - + #### Response example @@ -1690,7 +1691,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1702,13 +1703,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/broadcast_tx_sync?tx=456 ``` - + #### Response example @@ -1755,7 +1756,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1767,13 +1768,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/broadcast_tx_async?tx=123 ``` - + #### Response example @@ -1822,7 +1823,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1834,13 +1835,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/broadcast_tx_commit?tx=785 ``` - + #### Response example @@ -1890,7 +1891,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1902,13 +1903,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/check_tx?tx=785 ``` - + #### Response example @@ -1967,7 +1968,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -1979,13 +1980,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/abci_info ``` - + #### Response example @@ -2031,7 +2032,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -2043,13 +2044,13 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/sei.mdx b/content/rpc-service/chains/chains-api/sei.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/sei.mdx rename to content/rpc-service/chains/chains-api/sei.mdx index dede4c3ad..d7b5f218c 100644 --- a/pages/rpc-service/chains/chains-api/sei.mdx +++ b/content/rpc-service/chains/chains-api/sei.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # Sei @@ -26,7 +27,7 @@ Here is the request/response structure to use for querying: "JSON response" ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -38,20 +39,20 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/block?height=1 ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei_cosmos/{your_token}/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - - + + ```json { @@ -143,7 +144,7 @@ curl https://rpc.ankr.com/premium-http/sei_cosmos/{your_token}/cosmos/base/tende } } ``` - + --- @@ -1474,7 +1475,7 @@ Status of the node. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -1486,13 +1487,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/status ``` - + #### Response example @@ -1573,7 +1574,7 @@ Network info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -1585,13 +1586,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/net_info ``` - + #### Response example @@ -1701,7 +1702,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -1713,13 +1714,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -1795,7 +1796,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -1807,13 +1808,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/blockchain?height=1 ``` - + #### Response example @@ -1932,7 +1933,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -1944,13 +1945,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/block_by_hash?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED ``` - + #### Response example @@ -2069,7 +2070,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2081,13 +2082,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/block_results?height=1 ``` - + #### Response example @@ -2196,7 +2197,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2208,13 +2209,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/commit?height=1 ``` - + #### Response example @@ -2302,7 +2303,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2314,13 +2315,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/validators?height=1&page=2&per_page=30 ``` - + #### Response example @@ -2373,7 +2374,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2385,13 +2386,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/genesis_chunked?chunk=1 ``` - + #### Response example @@ -2433,7 +2434,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2445,13 +2446,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/dump_consensus_state ``` - + #### Response example @@ -2596,7 +2597,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2608,13 +2609,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/consensus_state ``` - + #### Response example @@ -2677,7 +2678,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2689,13 +2690,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/consensus_params?height=1 ``` - + #### Response example @@ -2748,7 +2749,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2760,13 +2761,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/unconfirmed_txs?limit=1 ``` - + @@ -2810,7 +2811,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2822,13 +2823,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/num_unconfirmed_txs ``` - + #### Response example @@ -2873,7 +2874,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2885,13 +2886,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/tx_search?query=tx.height%4D2000&prove=true&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -2963,7 +2964,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -2975,13 +2976,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/block_search?query=block.height%4D2000&page=1&per_page=30&order_by=asc ``` - + #### Response example @@ -3014,7 +3015,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3026,13 +3027,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/tx?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED&prove=true ``` - + #### Response example @@ -3090,7 +3091,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3102,13 +3103,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/broadcast_tx_sync?tx=456 ``` - + #### Response example @@ -3155,7 +3156,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3167,13 +3168,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/broadcast_tx_async?tx=123 ``` - + #### Response example @@ -3222,7 +3223,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3234,13 +3235,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/broadcast_tx_commit?tx=785 ``` - + #### Response example @@ -3290,7 +3291,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3302,13 +3303,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/check_tx?tx=785 ``` - + #### Response example @@ -3367,7 +3368,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3379,13 +3380,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/abci_info ``` - + #### Response example @@ -3431,7 +3432,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -3443,13 +3444,13 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/solana.mdx b/content/rpc-service/chains/chains-api/solana.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/solana.mdx rename to content/rpc-service/chains/chains-api/solana.mdx index 9ca80a3e1..219d0bbe4 100644 --- a/pages/rpc-service/chains/chains-api/solana.mdx +++ b/content/rpc-service/chains/chains-api/solana.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; # Solana diff --git a/pages/rpc-service/chains/chains-api/somnia.mdx b/content/rpc-service/chains/chains-api/somnia.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/somnia.mdx rename to content/rpc-service/chains/chains-api/somnia.mdx index 9e2252b0c..d7aef800b 100644 --- a/pages/rpc-service/chains/chains-api/somnia.mdx +++ b/content/rpc-service/chains/chains-api/somnia.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Somnia diff --git a/pages/rpc-service/chains/chains-api/sonic.mdx b/content/rpc-service/chains/chains-api/sonic.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/sonic.mdx rename to content/rpc-service/chains/chains-api/sonic.mdx diff --git a/pages/rpc-service/chains/chains-api/stellar.mdx b/content/rpc-service/chains/chains-api/stellar.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/stellar.mdx rename to content/rpc-service/chains/chains-api/stellar.mdx index 298170357..7f6158b69 100644 --- a/pages/rpc-service/chains/chains-api/stellar.mdx +++ b/content/rpc-service/chains/chains-api/stellar.mdx @@ -1,5 +1,6 @@ +import { Tabs } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Stellar @@ -251,19 +252,19 @@ This endpoint lists accounts by one of four filters : `signer`, `asset`, `liquid "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts{?signer,sponsor,asset,liquidity_pool,cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts{?signer,sponsor,asset,liquidity_pool,cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -552,19 +553,19 @@ The single account endpoint provides information on a specific account. The bala "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -852,19 +853,19 @@ curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id} \ "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/transactions{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/transactions{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1022,19 +1023,19 @@ The endpoint represents successful operations for a given account and can be use "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/operations ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/operations \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1177,19 +1178,19 @@ This endpoint represents successful payments for a given account and can be used "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/payments{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/payments{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1316,19 +1317,19 @@ This endpoint returns the effects of a specific account and can be used in strea "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/effects{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/effects{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1453,19 +1454,19 @@ curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/effects{?cu "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/offers{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/offers{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1582,19 +1583,19 @@ This endpoint represents all trades for a given account and can be used in strea "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/trades{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/trades{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1683,19 +1684,19 @@ This endpoint represents a single data for a given account. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/data/{key} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/accounts/{account_id}/data/{key} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1793,19 +1794,19 @@ This endpoint lists all assets. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/assets{?asset_code,asset_issuer,cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/assets{?asset_code,asset_issuer,cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -1965,19 +1966,19 @@ This endpoint lists all available claimable balances. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances{?asset,sponsor,claimant,cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances{?asset,sponsor,claimant,cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -2119,19 +2120,19 @@ The single claimable balance endpoint provides information on a claimable balanc "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -2326,19 +2327,19 @@ This endpoint represents successful transactions referencing a given claimable b "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id}/transactions{?cursor,order,limit,include_failed} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id}/transactions{?cursor,order,limit,include_failed} \ -H 'Accept: text/event-stream' ``` - + #### Response @@ -2492,19 +2493,19 @@ This endpoint represents successful operations referencing a given claimable bal "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id}/operations{?cursor,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/claimable_balances/{claimable_balance_id}/operations{?cursor,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -2640,19 +2641,19 @@ This endpoint lists all effects and can be used in streaming mode. Streaming mod "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/effects{?curson,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/effects{?curson,order,limit} \ -H 'Accept: text/event-stream' ``` - + @@ -2777,19 +2778,19 @@ This endpoint lists all ledgers and can be used in streaming mode. Streaming mod "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers{?curson,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers{?curson,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -2966,19 +2967,19 @@ The single ledger endpoint provides information on a specific ledger. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3166,19 +3167,19 @@ This endpoint represents successful transactions in a given ledger. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/transactions{?cursor,order,limit,include_failed} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/transactions{?cursor,order,limit,include_failed} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3319,19 +3320,19 @@ This endpoint returns successful operations in a specific ledger. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/operations{?cursor,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/operations{?cursor,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3476,19 +3477,19 @@ This endpoint returns all payment-related operations in a specific ledger. Opera "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/payments{?cursor,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/payments{?cursor,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3616,19 +3617,19 @@ This endpoint returns the effects of a specific ledger. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/effects{?cursor,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/ledgers/{sequence}/effects{?cursor,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3741,19 +3742,19 @@ This endpoint lists all available liquidity pools. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools{?reserves,account,curson,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools{?reserves,account,curson,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3864,19 +3865,19 @@ The single liquidity pool endpoint provides information on a liquidity pool. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -3989,19 +3990,19 @@ This endpoint represents effects referencing a given liquidity pool and can be u "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/effects{?cursor,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/effects{?cursor,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -4166,19 +4167,19 @@ This endpoint represents successful trades fulfilled by the given liquidity pool "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/trades{?cursor,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/trades{?cursor,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -4379,19 +4380,19 @@ This endpoint represents successful transactions referencing a given liquidity p "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/transactions{?cursor,order,limit,include_failed} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/transactions{?cursor,order,limit,include_failed} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -4532,19 +4533,19 @@ This endpoint represents successful operations referencing a given liquidity poo "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/operations{?cursor,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/liquidity_pools/{liquidity_pool_id}/operations{?cursor,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response parameters @@ -4708,19 +4709,19 @@ This endpoint lists all currently open offers and can be used in streaming mode. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers{?selling,buying,seller,sponsor,cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers{?selling,buying,seller,sponsor,cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -4855,19 +4856,19 @@ The single offer endpoint provides information on a specific offer. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers/{offer_id} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers/{offer_id} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -4997,19 +4998,19 @@ This endpoint represents all trades for a given offer and can be used in streami "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers/{offer_id}/trades{?cursor,limit,order} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/offers/{offer_id}/trades{?cursor,limit,order} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -5138,19 +5139,19 @@ This endpoint lists all Successful operations and can be used in streaming mode. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations{?cursor,limit,order,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations{?cursor,limit,order,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -5277,19 +5278,19 @@ The single operation endpoint provides information about a specific operation. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations/{id}{?join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations/{id}{?join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -5405,19 +5406,19 @@ This endpoint returns the effects of a specific operation. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations/{id}/effects{?order,limit,cursor} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/operations/{id}/effects{?order,limit,cursor} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -5537,19 +5538,19 @@ This endpoint lists all Successful payment-related operations and can be used in "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/payments{?curson,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/payments{?curson,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + @@ -5737,19 +5738,19 @@ This endpoint lists all trades and can be used in streaming mode. Streaming mode "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/trades{?offer_id,base_asset_type,base_asset_issuer,base_asset_code,counter_asset_type,counter_asset_issuer,counter_asset_code,trade_type,cursor, order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/trades{?offer_id,base_asset_type,base_asset_issuer,base_asset_code,counter_asset_type,counter_asset_issuer,counter_asset_code,trade_type,cursor, order,limit} \ -H 'Accept: text/event-stream' ``` - + ```json @@ -5949,19 +5950,19 @@ This endpoint lists all Successful transactions and can be used in streaming mod "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions{?cursor,order,limit,include_failed} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions{?cursor,order,limit,include_failed} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -6167,19 +6168,19 @@ This endpoint actually submits a transaction to the Stellar network. It only tak "Streaming", ]} > - + ```shell curl -X POST https://rpc.ankr.com/http/stellar_horizon/transactions{?tx} ``` - - + + ```shell curl -X POST https://rpc.ankr.com/http/stellar_horizon/transactions{?tx} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -6322,19 +6323,19 @@ The single transaction endpoint provides information on a specific transaction. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -6458,19 +6459,19 @@ This endpoint returns Successful operations for a specific transaction. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash}/operations{?cursor,order,limit,include_failed,join} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash}/operations{?cursor,order,limit,include_failed,join} \ -H 'Accept: text/event-stream' ``` - + #### Response example @@ -6603,19 +6604,19 @@ This endpoint returns the effects of a specific transaction. "Streaming", ]} > - + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash}/effects{?cursor,order,limit} ``` - - + + ```shell curl https://rpc.ankr.com/http/stellar_horizon/transactions/{transaction_hash}/effects{?cursor,order,limit} \ -H 'Accept: text/event-stream' ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/story.mdx b/content/rpc-service/chains/chains-api/story.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/story.mdx rename to content/rpc-service/chains/chains-api/story.mdx diff --git a/pages/rpc-service/chains/chains-api/sui-grpc.mdx b/content/rpc-service/chains/chains-api/sui-grpc.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/sui-grpc.mdx rename to content/rpc-service/chains/chains-api/sui-grpc.mdx diff --git a/pages/rpc-service/chains/chains-api/sui.mdx b/content/rpc-service/chains/chains-api/sui.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/sui.mdx rename to content/rpc-service/chains/chains-api/sui.mdx diff --git a/pages/rpc-service/chains/chains-api/swell.mdx b/content/rpc-service/chains/chains-api/swell.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/swell.mdx rename to content/rpc-service/chains/chains-api/swell.mdx diff --git a/pages/rpc-service/chains/chains-api/syscoin.mdx b/content/rpc-service/chains/chains-api/syscoin.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/syscoin.mdx rename to content/rpc-service/chains/chains-api/syscoin.mdx diff --git a/pages/rpc-service/chains/chains-api/tac.mdx b/content/rpc-service/chains/chains-api/tac.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/tac.mdx rename to content/rpc-service/chains/chains-api/tac.mdx index faf157365..a4c1edd67 100644 --- a/pages/rpc-service/chains/chains-api/tac.mdx +++ b/content/rpc-service/chains/chains-api/tac.mdx @@ -1,5 +1,6 @@ +import { Tabs } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # TAC @@ -1728,7 +1729,7 @@ Block headers, in descending order (highest first). "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -1740,13 +1741,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?minHeight=1&maxHeight=2 ``` - + #### Response example @@ -1856,7 +1857,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -1868,13 +1869,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?height=1 ``` - + #### Response example @@ -1962,7 +1963,7 @@ Block information. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -1976,13 +1977,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl "https://rpc.ankr.com/http/tac_turin_tendermint/block_by_hash?hash=0xa8abafe47677b586ef2712bb4c05b97eb8cb6e0dce471938f6990ad75cbda000" ``` - + #### Response example @@ -2079,7 +2080,7 @@ Block results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2091,13 +2092,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/block_results?height=1 ``` - + #### Response example @@ -2173,7 +2174,7 @@ Commit results. Canonical switches from false to true for block H once block H+1 "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2185,13 +2186,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/commit?height=1 ``` - + #### Response example @@ -2278,7 +2279,7 @@ Commit results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2290,13 +2291,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl "https://rpc.ankr.com/http/tac_turin_tendermint/validators?height=1&page=1&per_page=30" ``` - + #### Response example @@ -2376,7 +2377,7 @@ A Genesis chunk response. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2388,13 +2389,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/genesis_chunked?chunk=0 ``` - + #### Response example @@ -2436,7 +2437,7 @@ A complete consensus state. See the [Vote string description](https://pkg.go.dev "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2448,13 +2449,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/dump_consensus_state ``` - + #### Response example @@ -2615,7 +2616,7 @@ Consensus state results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2627,13 +2628,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/consensus_state ``` - + #### Response example @@ -2700,7 +2701,7 @@ Consensus parameters results. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2712,13 +2713,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/consensus_params?height=1 ``` - + #### Response example @@ -2778,7 +2779,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2790,13 +2791,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/unconfirmed_txs?limit=1 ``` - + #### Response example @@ -2837,7 +2838,7 @@ The status of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2849,13 +2850,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/num_unconfirmed_txs ``` - + #### Response example @@ -2901,7 +2902,7 @@ The list of unconfirmed transactions. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2919,13 +2920,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/tx_search?query=tx.height%3D13225811&prove=true&page=1&per_page=5&order_by=desc ``` - + #### Response example @@ -2968,7 +2969,7 @@ The list of paginated blocks matching the search criteria. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -2985,13 +2986,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/block_search?query=block.height%3D13225811&page=1&per_page=10&order_by=desc ``` - + #### Response example @@ -3031,7 +3032,7 @@ Transaction info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3043,13 +3044,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/tx?hash=4B6D8FEA3786BFC6152EAEA791C4DAF00C41E93DAD56A7230B565179CD29CAA1&prove=true ``` - + #### Response example @@ -3114,7 +3115,7 @@ Please refer to [Tendermint docs](https://docs.tendermint.com/v0.34/tendermint-c "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3126,13 +3127,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/broadcast_tx_sync?tx= ``` - + #### Response example @@ -3177,7 +3178,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3189,13 +3190,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/broadcast_tx_async?tx= ``` - + #### Response example @@ -3242,7 +3243,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3254,13 +3255,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/broadcast_tx_commit?tx= ``` - + #### Response example @@ -3319,7 +3320,7 @@ Please refer to [CometBFT docs](https://docs.cometbft.com/v0.34/core/using-comet "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3331,13 +3332,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/check_tx?tx= ``` - + #### Response example @@ -3389,7 +3390,7 @@ Application info. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3401,13 +3402,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/abci_info ``` - + #### Response example @@ -3453,7 +3454,7 @@ Particular info according to the query submitted. "REST", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -3465,13 +3466,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true ``` - + #### Response example diff --git a/pages/rpc-service/chains/chains-api/taiko.mdx b/content/rpc-service/chains/chains-api/taiko.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/taiko.mdx rename to content/rpc-service/chains/chains-api/taiko.mdx diff --git a/pages/rpc-service/chains/chains-api/telos.mdx b/content/rpc-service/chains/chains-api/telos.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/telos.mdx rename to content/rpc-service/chains/chains-api/telos.mdx diff --git a/pages/rpc-service/chains/chains-api/tenet.mdx b/content/rpc-service/chains/chains-api/tenet.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/tenet.mdx rename to content/rpc-service/chains/chains-api/tenet.mdx index 0722dd2ae..908ba6cd2 100644 --- a/pages/rpc-service/chains/chains-api/tenet.mdx +++ b/content/rpc-service/chains/chains-api/tenet.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Tenet
diff --git a/pages/rpc-service/chains/chains-api/ton.mdx b/content/rpc-service/chains/chains-api/ton.mdx similarity index 97% rename from pages/rpc-service/chains/chains-api/ton.mdx rename to content/rpc-service/chains/chains-api/ton.mdx index d766a890a..627edc56d 100644 --- a/pages/rpc-service/chains/chains-api/ton.mdx +++ b/content/rpc-service/chains/chains-api/ton.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; # TON @@ -84,13 +85,13 @@ Information about the address specified. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getAddressInformation?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -104,7 +105,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -164,13 +165,13 @@ Information about the address specified. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getExtendedAddressInformation?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -184,7 +185,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -250,13 +251,13 @@ Information about the address specified. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getWalletInformation?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -270,7 +271,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -323,13 +324,13 @@ The transaction history for a specific address. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getTransactions?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -343,7 +344,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -428,13 +429,13 @@ The balance of a specific address on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getAddressBalance?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -448,7 +449,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -485,13 +486,13 @@ Checks whether an address is active, uninitialized, or frozen. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getAddressState?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -505,7 +506,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -542,13 +543,13 @@ Converts TON addresses to a more readable and standardized output. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/packAddress?address=0%3A83DFD552E63729B472FCBCC8C45EBCC6691702558B68EC7527E1BA403A0F31A8 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -562,7 +563,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -599,13 +600,13 @@ Converts human-readable addresses into raw format. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/unpackAddress?address=EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -619,7 +620,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -656,13 +657,13 @@ Data about a specific token on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getTokenData?address=EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -676,7 +677,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -726,13 +727,13 @@ Detects the type and format of a TON address. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/detectAddress?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -746,7 +747,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -794,13 +795,13 @@ Information about the current state of the TON masterchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getMasterchainInfo ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -812,7 +813,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -869,13 +870,13 @@ Detects the type and format of a TON address. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getMasterchainBlockSignatures?seqno=39064865 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -889,7 +890,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -952,13 +953,13 @@ The proof of a specific shard block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getShardBlockProof?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -974,7 +975,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1055,13 +1056,13 @@ Information about the latest consensus block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getConsensusBlock ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1073,7 +1074,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1117,13 +1118,13 @@ Detailed information about a specific block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/lookupBlock?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1139,7 +1140,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1182,13 +1183,13 @@ Information about shards for a specific masterchain block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/shards?seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1202,7 +1203,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1265,13 +1266,13 @@ Transactions from a specific block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getBlockTransactions?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1287,7 +1288,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1365,13 +1366,13 @@ Detailed information about transactions from a specific block on the TON blockch "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getBlockTransactionsExt?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1387,7 +1388,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1521,13 +1522,13 @@ Detailed metadata about a block, including its identifiers, state flags, and tim "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getBlockHeader?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1543,7 +1544,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1617,13 +1618,13 @@ Information about the size of message queues associated with a specified block o "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getOutMsgQueueSizes ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1635,7 +1636,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1743,13 +1744,13 @@ The transaction history for a specific address. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getTransactions?address=EQD5dunJah1URq6Hffu7SEpCSOd5PnuzxiqgoRHvkSN-q19W ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1763,7 +1764,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1853,13 +1854,13 @@ Transactions from a specific block on the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getBlockTransactions?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1875,7 +1876,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -1953,13 +1954,13 @@ Detailed information about transactions from a specific block on the TON blockch "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getBlockTransactionsExt?workchain=-1&shard=-9223372036854775808&seqno=39064985 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -1975,7 +1976,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2107,12 +2108,12 @@ Specific transaction on the TON blockchain based on the source address, destinat "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/tryLocateTx?source=UQAX2d4C2d48JeA-0y2_peGabRVumnKY22xPvkuEayC3zTI1&destination=UQBP4mzpDIywL1SV-Wp9ZuBBlzprR9eXQgSYGEXiUEHm73vA&created_lt=47597573000002 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2128,7 +2129,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2195,12 +2196,12 @@ Specific transaction on the TON blockchain based on the source address, destinat "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/tryLocateResultTx?source=UQAX2d4C2d48JeA-0y2_peGabRVumnKY22xPvkuEayC3zTI1&destination=UQBP4mzpDIywL1SV-Wp9ZuBBlzprR9eXQgSYGEXiUEHm73vA&created_lt=47597573000002 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2216,7 +2217,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2283,12 +2284,12 @@ The source transaction in the TON blockchain based on the source address, destin "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/tryLocateSourceTx?source=UQAX2d4C2d48JeA-0y2_peGabRVumnKY22xPvkuEayC3zTI1&destination=UQBP4mzpDIywL1SV-Wp9ZuBBlzprR9eXQgSYGEXiUEHm73vA&created_lt=47597573000002 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2304,7 +2305,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2385,12 +2386,12 @@ A specific configuration parameter from the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getConfigParam?config_id=5 ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2404,7 +2405,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2446,12 +2447,12 @@ Full config from the TON blockchain. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getConfigAll ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2463,7 +2464,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2509,7 +2510,7 @@ Retrieves data from smart contracts without modifying their state. "JSON-RPC" ]} > - + ```shell curl --request POST https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/runGetMethod \ --header 'accept: application/json' \ @@ -2526,8 +2527,8 @@ curl --request POST https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/ru ] }' ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2548,7 +2549,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example @@ -2608,7 +2609,7 @@ Fees required for query processing. "JSON-RPC" ]} > - + ```shell curl --request POST https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/estimateFee \ --header 'accept: application/json' \ @@ -2620,8 +2621,8 @@ curl --request POST https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/es "ignore_chksig": false }' ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -2637,7 +2638,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + ### Response example diff --git a/pages/rpc-service/chains/chains-api/tron.mdx b/content/rpc-service/chains/chains-api/tron.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/tron.mdx rename to content/rpc-service/chains/chains-api/tron.mdx diff --git a/pages/rpc-service/chains/chains-api/xai.mdx b/content/rpc-service/chains/chains-api/xai.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/xai.mdx rename to content/rpc-service/chains/chains-api/xai.mdx diff --git a/pages/rpc-service/chains/chains-api/xdc.mdx b/content/rpc-service/chains/chains-api/xdc.mdx similarity index 100% rename from pages/rpc-service/chains/chains-api/xdc.mdx rename to content/rpc-service/chains/chains-api/xdc.mdx diff --git a/pages/rpc-service/chains/chains-api/xlayer.mdx b/content/rpc-service/chains/chains-api/xlayer.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/xlayer.mdx rename to content/rpc-service/chains/chains-api/xlayer.mdx index 8121b9c14..83f2ae533 100644 --- a/pages/rpc-service/chains/chains-api/xlayer.mdx +++ b/content/rpc-service/chains/chains-api/xlayer.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # X Layer diff --git a/pages/rpc-service/chains/chains-api/xphere.mdx b/content/rpc-service/chains/chains-api/xphere.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/xphere.mdx rename to content/rpc-service/chains/chains-api/xphere.mdx index f3e9bf229..b6e0b6c67 100644 --- a/pages/rpc-service/chains/chains-api/xphere.mdx +++ b/content/rpc-service/chains/chains-api/xphere.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # Xphere diff --git a/pages/rpc-service/chains/chains-api/zksync-era.mdx b/content/rpc-service/chains/chains-api/zksync-era.mdx similarity index 99% rename from pages/rpc-service/chains/chains-api/zksync-era.mdx rename to content/rpc-service/chains/chains-api/zksync-era.mdx index b84da5043..95ae73e14 100644 --- a/pages/rpc-service/chains/chains-api/zksync-era.mdx +++ b/content/rpc-service/chains/chains-api/zksync-era.mdx @@ -1,5 +1,6 @@ +import { Tabs, Tab } from "nextra/components"; + import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; # zkSync Era
diff --git a/pages/rpc-service/chains/chains-list.mdx b/content/rpc-service/chains/chains-list.mdx similarity index 98% rename from pages/rpc-service/chains/chains-list.mdx rename to content/rpc-service/chains/chains-list.mdx index e87e0deb9..85089fb40 100644 --- a/pages/rpc-service/chains/chains-list.mdx +++ b/content/rpc-service/chains/chains-list.mdx @@ -1,4 +1,5 @@ -import { Tabs, Tab } from "nextra-theme-docs"; +import { Tabs } from "nextra/components"; + import { Callout } from "components"; ## Chains Quickstart @@ -87,7 +88,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_evm \ @@ -99,8 +100,8 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_evm \ "id":1 }' ``` - - + + ```json { @@ -109,7 +110,7 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_evm \ "result":"0x27204c" } ``` - + #### Tendermint JSON-RPC @@ -120,7 +121,7 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_evm \ "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ @@ -132,8 +133,8 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "id": 1 }' ``` - - + + ```json { @@ -216,7 +217,7 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ } } ``` - + #### Tendermint REST @@ -227,13 +228,13 @@ curl -X POST https://rpc.ankr.com/0g_galileo_testnet_tendermint \ "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?minHeight=1&maxHeight=2 ``` - - + + ```json { @@ -316,7 +317,7 @@ curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?minHeigh } } ``` - + #### Beaconkit REST @@ -327,13 +328,13 @@ curl https://rpc.ankr.com/http/0g_galileo_testnet_tendermint/blockchain?minHeigh "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/0g_galileo_testnet_beaconkit/eth/v1/node/version ``` - - + + ```json { @@ -342,7 +343,7 @@ curl https://rpc.ankr.com/http/0g_galileo_testnet_beaconkit/eth/v1/node/version } } ``` - + --- @@ -468,7 +469,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Cosmos REST" ]} > - + ```shell curl -X POST https://rpc.ankr.com/allora_testnet \ @@ -480,19 +481,19 @@ curl -X POST https://rpc.ankr.com/allora_testnet \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_testnet/block?height=761001 ``` - - + + ```shell curl https://rpc.ankr.com/http/allora_cosmos_testnet/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - + #### Response example @@ -705,7 +706,7 @@ For Arbitrum, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/arbitrum/{your_token} \ @@ -717,8 +718,8 @@ curl -X POST https://rpc.ankr.com/arbitrum/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -747,8 +748,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -765,8 +766,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -777,7 +778,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -849,7 +850,7 @@ For Arbitrum Nova, we support blockchain interaction via all the [applicable met "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/arbitrumnova/{your_token} \ @@ -861,8 +862,8 @@ curl -X POST https://rpc.ankr.com/arbitrumnova/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -891,8 +892,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -909,8 +910,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -921,7 +922,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -998,7 +999,7 @@ For Atleta, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/atleta_olympia \ @@ -1010,8 +1011,8 @@ curl -X POST https://rpc.ankr.com/atleta_olympia \ "id": 1 }' ``` - - + + ```go package main @@ -1040,8 +1041,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -1058,8 +1059,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -1070,7 +1071,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -1335,7 +1336,7 @@ For Avalanche, we support blockchain interaction via the following methods: "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/avalanche/{your_token} \ @@ -1347,8 +1348,8 @@ curl -X POST https://rpc.ankr.com/avalanche/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -1377,8 +1378,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -1395,8 +1396,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -1407,7 +1408,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example (Standard EVM) @@ -1572,7 +1573,7 @@ For B² Network, we support blockchain interaction via all the [applicable metho "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/b2 \ @@ -1584,8 +1585,8 @@ curl -X POST https://rpc.ankr.com/b2 \ "id":1 }' ``` - - + + ```go package main @@ -1614,8 +1615,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -1632,8 +1633,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -1644,7 +1645,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -1727,7 +1728,7 @@ For Bahamut, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/bahamut \ @@ -1739,8 +1740,8 @@ curl -X POST https://rpc.ankr.com/bahamut \ "id": 1 }' ``` - - + + ```go package main @@ -1769,8 +1770,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -1787,8 +1788,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -1799,7 +1800,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -1884,7 +1885,7 @@ For Base, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/base/{your_token} \ @@ -1896,8 +1897,8 @@ curl -X POST https://rpc.ankr.com/base/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -1926,8 +1927,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -1944,8 +1945,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -1956,7 +1957,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2021,7 +2022,7 @@ For Berachain, we support blockchain interaction via all the [applicable methods "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/berachain_testnet \ @@ -2033,8 +2034,8 @@ curl -X POST https://rpc.ankr.com/berachain_testnet \ "id": 1 }' ``` - - + + ```go package main @@ -2063,8 +2064,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2081,8 +2082,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -2093,7 +2094,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2161,7 +2162,7 @@ For Bitcoin, we support blockchain interaction via the following interfaces: "Blockbook REST" ]} > - + ```shell curl -X POST https://rpc.ankr.com/btc/{your_token} \ @@ -2171,13 +2172,13 @@ curl -X POST https://rpc.ankr.com/btc/{your_token} \ "params": [] }' ``` - - + + ```shell curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/utxo/bc1qxhmdufsvnuaaaer4ynz88fspdsxq2h9e9cetdj?confirmed=true ``` - + #### Response example @@ -2188,7 +2189,7 @@ curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/ "Blockbook" ]} > - + ```json { @@ -2206,8 +2207,8 @@ curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/ "id": "hmm" } ``` - - + + ```json [ @@ -2237,7 +2238,7 @@ curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/ } ] ``` - + --- @@ -2293,7 +2294,7 @@ For Bitlayer, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/bitlayer \ @@ -2305,8 +2306,8 @@ curl -X POST https://rpc.ankr.com/bitlayer \ "id": 1 }' ``` - - + + ```go package main @@ -2335,8 +2336,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2353,8 +2354,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -2365,7 +2366,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2431,7 +2432,7 @@ For Blast, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/blast_testnet_sepolia \ @@ -2443,8 +2444,8 @@ curl -X POST https://rpc.ankr.com/blast_testnet_sepolia \ "id":1 }' ``` - - + + ```go package main @@ -2473,8 +2474,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2491,8 +2492,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -2503,7 +2504,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2617,7 +2618,7 @@ For BNB Smart Chain, we support blockchain interaction via all the [applicable m "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/bsc/{your_token} \ @@ -2629,8 +2630,8 @@ curl -X POST https://rpc.ankr.com/bsc/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -2659,8 +2660,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2677,8 +2678,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -2689,7 +2690,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2758,7 +2759,7 @@ For Botanix, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/botanix_testnet \ @@ -2770,8 +2771,8 @@ curl -X POST https://rpc.ankr.com/botanix_testnet \ "id": 1 }' ``` - - + + ```go package main @@ -2800,8 +2801,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2818,8 +2819,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -2830,7 +2831,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -2929,7 +2930,7 @@ For Celo, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/celo \ @@ -2941,8 +2942,8 @@ curl -X POST https://rpc.ankr.com/celo \ "id":1 }' ``` - - + + ```go package main @@ -2971,8 +2972,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -2989,8 +2990,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3001,7 +3002,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3069,7 +3070,7 @@ For Chiliz, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/chiliz \ @@ -3081,8 +3082,8 @@ curl -X POST https://rpc.ankr.com/chiliz \ "id": 1 }' ``` - - + + ```go package main @@ -3111,8 +3112,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3129,8 +3130,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3141,7 +3142,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3206,7 +3207,7 @@ For Core, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/core \ @@ -3218,8 +3219,8 @@ curl -X POST https://rpc.ankr.com/core \ "id": 1 }' ``` - - + + ```go package main @@ -3248,8 +3249,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3266,8 +3267,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3278,7 +3279,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3353,7 +3354,7 @@ For Corn, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/corn_maizenet \ @@ -3365,8 +3366,8 @@ curl -X POST https://rpc.ankr.com/corn_maizenet \ "id": 1 }' ``` - - + + ```go package main @@ -3395,8 +3396,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3413,8 +3414,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3425,7 +3426,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3493,7 +3494,7 @@ For Electroneum, we support blockchain interaction via all the [applicable metho "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/electroneum \ @@ -3505,8 +3506,8 @@ curl -X POST https://rpc.ankr.com/electroneum \ "id": 1 }' ``` - - + + ```go package main @@ -3535,8 +3536,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3553,8 +3554,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3565,7 +3566,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3679,7 +3680,7 @@ For Ethereum, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/eth/{your_token} \ @@ -3691,8 +3692,8 @@ curl -X POST https://rpc.ankr.com/eth/{your_token} \ "id": 1 }' ``` - - + + ```go package main @@ -3721,8 +3722,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3739,8 +3740,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3751,7 +3752,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -3890,7 +3891,7 @@ For Etherlink, we support blockchain interaction via all the [applicable methods "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/etherlink_mainnet/ \ @@ -3902,8 +3903,8 @@ curl -X POST https://rpc.ankr.com/etherlink_mainnet/ \ "id": 1 }' ``` - - + + ```go package main @@ -3932,8 +3933,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -3950,8 +3951,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -3962,7 +3963,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -4076,7 +4077,7 @@ For Fantom, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/fantom/{your_token} \ @@ -4088,8 +4089,8 @@ curl -X POST https://rpc.ankr.com/fantom/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -4118,8 +4119,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -4136,8 +4137,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -4148,7 +4149,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -4398,7 +4399,7 @@ For Flare, we support blockchain interaction via the following methods: "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/flare \ @@ -4410,8 +4411,8 @@ curl -X POST https://rpc.ankr.com/flare \ "id":1 }' ``` - - + + ```go package main @@ -4440,8 +4441,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -4458,8 +4459,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -4470,7 +4471,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example (Standard EVM) @@ -4637,7 +4638,7 @@ For Gnosis, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/gnosis/{your_token} \ @@ -4649,8 +4650,8 @@ curl -X POST https://rpc.ankr.com/gnosis/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -4679,8 +4680,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -4697,8 +4698,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -4709,7 +4710,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -4845,7 +4846,7 @@ For GOAT network, we support blockchain interaction via all the [applicable meth "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/goat_testnet \ @@ -4857,8 +4858,8 @@ curl -X POST https://rpc.ankr.com/goat_testnet \ "id": 1 }' ``` - - + + ```go package main @@ -4887,8 +4888,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -4905,8 +4906,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -4917,7 +4918,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -4989,7 +4990,7 @@ For Gravity, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/gravity \ @@ -5001,8 +5002,8 @@ curl -X POST https://rpc.ankr.com/gravity \ "id": 1 }' ``` - - + + ```go package main @@ -5031,8 +5032,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5049,8 +5050,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5061,7 +5062,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -5132,7 +5133,7 @@ For Linea, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/linea/{your_token} \ @@ -5144,8 +5145,8 @@ curl -X POST https://rpc.ankr.com/linea/{your_token} \ "id": 1 }' ``` - - + + ```go package main @@ -5174,8 +5175,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5192,8 +5193,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5204,7 +5205,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -5306,7 +5307,7 @@ For Harmony, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/harmony/{your_token} \ @@ -5318,8 +5319,8 @@ curl -X POST https://rpc.ankr.com/harmony/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -5348,8 +5349,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5366,8 +5367,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5378,7 +5379,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -5450,7 +5451,7 @@ For HECO, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/heco/{your_token} \ @@ -5462,8 +5463,8 @@ curl -X POST https://rpc.ankr.com/heco/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -5492,8 +5493,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5510,8 +5511,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5522,7 +5523,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -5727,7 +5728,7 @@ For IOTA EVM, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/iota_evm \ @@ -5739,8 +5740,8 @@ curl -X POST https://rpc.ankr.com/iota_evm \ "id": 1 }' ``` - - + + ```go package main @@ -5769,8 +5770,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5787,8 +5788,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5799,7 +5800,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -5898,7 +5899,7 @@ For IoTeX, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/iotex/{your_token} \ @@ -5910,8 +5911,8 @@ curl -X POST https://rpc.ankr.com/iotex/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -5940,8 +5941,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -5958,8 +5959,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -5970,7 +5971,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -6069,7 +6070,7 @@ For Kaia, we support blockchain interaction via all the [applicable methods](/rp "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kaia \ @@ -6081,8 +6082,8 @@ curl -X POST https://rpc.ankr.com/kaia \ "id":1 }' ``` - - + + ```go package main @@ -6111,8 +6112,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -6129,8 +6130,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -6141,7 +6142,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -6217,7 +6218,7 @@ For Kava, we support blockchain interaction via all the [applicable methods](/rp "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_evm \ @@ -6229,8 +6230,8 @@ curl -X POST https://rpc.ankr.com/kava_evm \ "id":1 }' ``` - - + + ```json { @@ -6239,7 +6240,7 @@ curl -X POST https://rpc.ankr.com/kava_evm \ "result":"0xca0842" } ``` - + #### Tendermint REST @@ -6250,13 +6251,13 @@ curl -X POST https://rpc.ankr.com/kava_evm \ "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/kava_rpc/blockchain?minHeight=1&maxHeight=2 ``` - - + + ```json { @@ -6339,7 +6340,7 @@ curl https://rpc.ankr.com/http/kava_rpc/blockchain?minHeight=1&maxHeight=2 } } ``` - + #### Tendermint JSON-RPC @@ -6350,7 +6351,7 @@ curl https://rpc.ankr.com/http/kava_rpc/blockchain?minHeight=1&maxHeight=2 "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/kava_rpc \ @@ -6362,8 +6363,8 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "id": 1 }' ``` - - + + ```json { @@ -6446,7 +6447,7 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ } } ``` - + #### Cosmos REST @@ -6457,13 +6458,13 @@ curl -X POST https://rpc.ankr.com/kava_rpc \ "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/kava_api/cosmos/auth/v1beta1/params ``` - - + + ```json { @@ -6476,7 +6477,7 @@ curl https://rpc.ankr.com/http/kava_api/cosmos/auth/v1beta1/params } } ``` - + --- @@ -6531,7 +6532,7 @@ For Kinto, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/kinto \ @@ -6543,8 +6544,8 @@ curl -X POST https://rpc.ankr.com/kinto \ "id": 1 }' ``` - - + + ```go package main @@ -6573,8 +6574,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -6591,8 +6592,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -6603,7 +6604,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -6787,7 +6788,7 @@ For Mantle, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/mantle/{your_token} \ @@ -6799,8 +6800,8 @@ curl -X POST https://rpc.ankr.com/mantle/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -6829,8 +6830,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -6847,8 +6848,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -6859,7 +6860,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -6924,7 +6925,7 @@ For Matchain, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/matchain_mainnet \ @@ -6936,8 +6937,8 @@ curl -X POST https://rpc.ankr.com/matchain_mainnet \ "id": 1 }' ``` - - + + ```go package main @@ -6966,8 +6967,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -6984,8 +6985,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -6996,7 +6997,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -7068,7 +7069,7 @@ For Metis, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/metis/{your_token} \ @@ -7080,8 +7081,8 @@ curl -X POST https://rpc.ankr.com/metis/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -7110,8 +7111,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -7128,8 +7129,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -7140,7 +7141,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -7287,7 +7288,7 @@ For Monad, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/monad_testnet/ \ @@ -7299,8 +7300,8 @@ curl -X POST https://rpc.ankr.com/monad_testnet/ \ "id": 1 }' ``` - - + + ```go package main @@ -7329,8 +7330,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -7347,8 +7348,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -7359,7 +7360,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -7457,7 +7458,7 @@ For Moonbeam, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/moonbeam/{your_token} \ @@ -7469,8 +7470,8 @@ curl -X POST https://rpc.ankr.com/moonbeam/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -7499,8 +7500,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -7517,8 +7518,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -7529,7 +7530,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -7806,7 +7807,7 @@ Below are the request examples applicable for Standard EVM and Polyjuice API. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/nervos/{your_token} \ @@ -7818,8 +7819,8 @@ curl -X POST https://rpc.ankr.com/nervos/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -7848,8 +7849,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -7866,8 +7867,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -7878,7 +7879,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -7943,7 +7944,7 @@ For Neura, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/neura_testnet \ @@ -7955,8 +7956,8 @@ curl -X POST https://rpc.ankr.com/neura_testnet \ "id":1 }' ``` - - + + ```go package main @@ -7985,8 +7986,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8003,8 +8004,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8015,7 +8016,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -8117,7 +8118,7 @@ For Optimism, we support blockchain interaction via all the [applicable methods] "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/optimism/{your_token} \ @@ -8129,8 +8130,8 @@ curl -X POST https://rpc.ankr.com/optimism/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -8159,8 +8160,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8177,8 +8178,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8189,7 +8190,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -8413,7 +8414,7 @@ For Polygon, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/polygon \ @@ -8425,8 +8426,8 @@ curl -X POST https://rpc.ankr.com/polygon \ "id":1 }' ``` - - + + ```go package main @@ -8455,8 +8456,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8473,8 +8474,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8485,7 +8486,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -8566,7 +8567,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ @@ -8578,8 +8579,8 @@ curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ "id":1 }' ``` - - + + ```go package main @@ -8608,8 +8609,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8626,8 +8627,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8638,7 +8639,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -8713,7 +8714,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/rollux \ @@ -8725,8 +8726,8 @@ curl -X POST https://rpc.ankr.com/rollux \ "id": 1 }' ``` - - + + ```go package main @@ -8755,8 +8756,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8773,8 +8774,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8785,7 +8786,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -8856,7 +8857,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/scroll \ @@ -8868,8 +8869,8 @@ curl -X POST https://rpc.ankr.com/scroll \ "id": 1 }' ``` - - + + ```go package main @@ -8898,8 +8899,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -8916,8 +8917,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -8928,7 +8929,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -9063,7 +9064,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Cosmos REST" ]} > - + ```shell curl -X POST https://rpc.ankr.com/scrt \ @@ -9075,19 +9076,19 @@ curl -X POST https://rpc.ankr.com/scrt \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt/block?height=1 ``` - - + + ```shell curl https://rpc.ankr.com/http/scrt_cosmos/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - + #### Response example @@ -9263,7 +9264,7 @@ curl -X POST https://rpc.ankr.com/sei_evm/{your_token} \ "Cosmos REST" ]} > - + ```shell curl -X POST https://rpc.ankr.com/sei/{your_token} \ @@ -9275,19 +9276,19 @@ curl -X POST https://rpc.ankr.com/sei/{your_token} \ "id": 1 }' ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei/{your_token}/block?height=1 ``` - - + + ```shell curl https://rpc.ankr.com/premium-http/sei_cosmos/{your_token}/cosmos/base/tendermint/v1beta1/blocks/{height} ``` - + #### Response example (Tendermint/Cosmos) @@ -9526,7 +9527,7 @@ For Somnia, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/somnia_testnet \ @@ -9538,8 +9539,8 @@ curl -X POST https://rpc.ankr.com/somnia_testnet \ "id": 1 }' ``` - - + + ```go package main @@ -9568,8 +9569,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -9586,8 +9587,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -9598,7 +9599,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -9671,7 +9672,7 @@ For Sonic, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/sonic_mainnet \ @@ -9683,8 +9684,8 @@ curl -X POST https://rpc.ankr.com/sonic_mainnet \ "id": 1 }' ``` - - + + ```go package main @@ -9713,8 +9714,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -9731,8 +9732,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -9743,7 +9744,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -10020,7 +10021,7 @@ For Story, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/story_mainnet \ @@ -10032,8 +10033,8 @@ curl -X POST https://rpc.ankr.com/story_mainnet \ "id": 1 }' ``` - - + + ```go package main @@ -10062,8 +10063,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -10080,8 +10081,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -10092,7 +10093,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -10278,7 +10279,7 @@ For Swell, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/swell \ @@ -10290,8 +10291,8 @@ curl -X POST https://rpc.ankr.com/swell \ "id":1 }' ``` - - + + ```go package main @@ -10320,8 +10321,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -10338,8 +10339,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -10350,7 +10351,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -10444,7 +10445,7 @@ For Syscoin, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/syscoin \ @@ -10456,8 +10457,8 @@ curl -X POST https://rpc.ankr.com/syscoin \ "id":1 }' ``` - - + + ```go package main @@ -10486,8 +10487,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -10504,8 +10505,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -10516,7 +10517,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -10654,7 +10655,7 @@ For TAC, we support blockchain interaction via all the [applicable methods](/rpc "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin \ @@ -10666,8 +10667,8 @@ curl -X POST https://rpc.ankr.com/tac_turin \ "id":1 }' ``` - - + + ```json { @@ -10676,7 +10677,7 @@ curl -X POST https://rpc.ankr.com/tac_turin \ "result":"0x1fc3ce" } ``` - + #### Tendermint JSON-RPC @@ -10687,7 +10688,7 @@ curl -X POST https://rpc.ankr.com/tac_turin \ "Response example" ]} > - + ```shell curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ @@ -10699,8 +10700,8 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "id": 1 }' ``` - - + + ```json { @@ -10783,7 +10784,7 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ } } ``` - + #### Tendermint REST @@ -10794,13 +10795,13 @@ curl -X POST https://rpc.ankr.com/tac_turin_tendermint \ "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?minHeight=1&maxHeight=2 ``` - - + + ```json { @@ -10883,7 +10884,7 @@ curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?minHeight=1&maxHe } } ``` - + #### Cosmos REST @@ -10894,13 +10895,13 @@ curl https://rpc.ankr.com/http/tac_turin_tendermint/blockchain?minHeight=1&maxHe "Response example" ]} > - + ```shell curl https://rpc.ankr.com/http/tac_turin_cosmos/cosmos/auth/v1beta1/params ``` - - + + ```json { @@ -10913,7 +10914,7 @@ curl https://rpc.ankr.com/http/tac_turin_cosmos/cosmos/auth/v1beta1/params } } ``` - + --- @@ -10968,7 +10969,7 @@ For Taiko, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/taiko_hekla \ @@ -10980,8 +10981,8 @@ curl -X POST https://rpc.ankr.com/taiko_hekla \ "id": 1 }' ``` - - + + ```go package main @@ -11010,8 +11011,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11028,8 +11029,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11040,7 +11041,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -11101,7 +11102,7 @@ For Telos, we support blockchain interaction via the [applicable methods](/rpc-s "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/telos \ @@ -11113,8 +11114,8 @@ curl -X POST https://rpc.ankr.com/telos \ "id": 1 }' ``` - - + + ```go package main @@ -11143,8 +11144,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11161,8 +11162,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11173,7 +11174,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -11241,7 +11242,7 @@ For Tenet, we support blockchain interaction via all the [applicable methods](/r "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/tenet_evm \ @@ -11253,8 +11254,8 @@ curl -X POST https://rpc.ankr.com/tenet_evm \ "id": 1 }' ``` - - + + ```go package main @@ -11283,8 +11284,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11301,8 +11302,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11313,7 +11314,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -11374,13 +11375,13 @@ None. "JSON-RPC" ]} > - + ```shell curl -X GET https://rpc.ankr.com/premium-http/ton_api_v2/{your_token}/getConsensusBlock ``` - - + + ```shell curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ @@ -11392,7 +11393,7 @@ curl --location 'https://rpc.ankr.com/ton_api_v2/{your_token}' \ "id": "1" }' ``` - + #### Response example @@ -11616,7 +11617,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/xai \ @@ -11628,8 +11629,8 @@ curl -X POST https://rpc.ankr.com/xai \ "id": 1 }' ``` - - + + ```go package main @@ -11658,8 +11659,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11676,8 +11677,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11688,7 +11689,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -11754,7 +11755,7 @@ If you require any of the methods from the list, contact our Sales (`sales@ankr. "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/xdc \ @@ -11766,8 +11767,8 @@ curl -X POST https://rpc.ankr.com/xdc \ "id": 1 }' ``` - - + + ```go package main @@ -11796,8 +11797,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11814,8 +11815,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11826,7 +11827,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -11902,7 +11903,7 @@ For X Layer, we support blockchain interaction via all the [applicable methods]( "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/xlayer \ @@ -11914,8 +11915,8 @@ curl -X POST https://rpc.ankr.com/xlayer \ "id":1 }' ``` - - + + ```go package main @@ -11944,8 +11945,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -11962,8 +11963,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -11974,7 +11975,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example @@ -12040,7 +12041,7 @@ For Xphere, we support blockchain interaction via all the [applicable methods](/ "Python", ]} > - + ```shell curl -X POST https://rpc.ankr.com/xphere_mainnet \ @@ -12052,8 +12053,8 @@ curl -X POST https://rpc.ankr.com/xphere_mainnet \ "id": 1 }' ``` - - + + ```go package main @@ -12082,8 +12083,8 @@ func main() { fmt.Println(blockNumber) } ``` - - + + ```js const Web3 = require('web3'); @@ -12100,8 +12101,8 @@ web3.eth.getBlockNumber((error, blockNumber) => { } }); ``` - - + + ```python from web3 import Web3 @@ -12112,7 +12113,7 @@ def test_block_number(self): web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` - + #### Response example diff --git a/content/rpc-service/getting-started/_meta.ts b/content/rpc-service/getting-started/_meta.ts new file mode 100644 index 000000000..2d0183262 --- /dev/null +++ b/content/rpc-service/getting-started/_meta.ts @@ -0,0 +1,12 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + intro: 'Intro', + 'basics-public': 'Basics: Public Plan', + 'basics-premium': 'Basics: Premium Plan', + 'team-accounts': 'Team Accounts', + projects: 'Projects', + 'platform-swagger': 'Platform Swagger', +}; + +export default meta; diff --git a/pages/rpc-service/getting-started/basics-premium.mdx b/content/rpc-service/getting-started/basics-premium.mdx similarity index 100% rename from pages/rpc-service/getting-started/basics-premium.mdx rename to content/rpc-service/getting-started/basics-premium.mdx diff --git a/pages/rpc-service/getting-started/basics-public.mdx b/content/rpc-service/getting-started/basics-public.mdx similarity index 100% rename from pages/rpc-service/getting-started/basics-public.mdx rename to content/rpc-service/getting-started/basics-public.mdx diff --git a/pages/rpc-service/getting-started/intro.mdx b/content/rpc-service/getting-started/intro.mdx similarity index 100% rename from pages/rpc-service/getting-started/intro.mdx rename to content/rpc-service/getting-started/intro.mdx diff --git a/pages/rpc-service/getting-started/platform-swagger.mdx b/content/rpc-service/getting-started/platform-swagger.mdx similarity index 100% rename from pages/rpc-service/getting-started/platform-swagger.mdx rename to content/rpc-service/getting-started/platform-swagger.mdx diff --git a/pages/rpc-service/getting-started/projects.mdx b/content/rpc-service/getting-started/projects.mdx similarity index 100% rename from pages/rpc-service/getting-started/projects.mdx rename to content/rpc-service/getting-started/projects.mdx diff --git a/pages/rpc-service/getting-started/team-accounts.mdx b/content/rpc-service/getting-started/team-accounts.mdx similarity index 100% rename from pages/rpc-service/getting-started/team-accounts.mdx rename to content/rpc-service/getting-started/team-accounts.mdx diff --git a/pages/rpc-service/overview.mdx b/content/rpc-service/overview.mdx similarity index 100% rename from pages/rpc-service/overview.mdx rename to content/rpc-service/overview.mdx diff --git a/pages/rpc-service/pricing.mdx b/content/rpc-service/pricing.mdx similarity index 100% rename from pages/rpc-service/pricing.mdx rename to content/rpc-service/pricing.mdx diff --git a/pages/rpc-service/service-plans.mdx b/content/rpc-service/service-plans.mdx similarity index 100% rename from pages/rpc-service/service-plans.mdx rename to content/rpc-service/service-plans.mdx diff --git a/pages/scaling-services-bsi.mdx b/content/scaling-services-bsi.mdx similarity index 100% rename from pages/scaling-services-bsi.mdx rename to content/scaling-services-bsi.mdx diff --git a/pages/scaling-services-nocode-deployer.mdx b/content/scaling-services-nocode-deployer.mdx similarity index 100% rename from pages/scaling-services-nocode-deployer.mdx rename to content/scaling-services-nocode-deployer.mdx diff --git a/pages/scaling-services-overview.mdx b/content/scaling-services-overview.mdx similarity index 100% rename from pages/scaling-services-overview.mdx rename to content/scaling-services-overview.mdx diff --git a/content/scaling-services-rollups/_meta.ts b/content/scaling-services-rollups/_meta.ts new file mode 100644 index 000000000..15998ba79 --- /dev/null +++ b/content/scaling-services-rollups/_meta.ts @@ -0,0 +1,9 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'What are Rollups', + stacks: 'Rollup Stacks', + 'data-availability': 'Data Availability Layers', +}; + +export default meta; diff --git a/content/scaling-services-rollups/data-availability/_meta.ts b/content/scaling-services-rollups/data-availability/_meta.ts new file mode 100644 index 000000000..4741a282c --- /dev/null +++ b/content/scaling-services-rollups/data-availability/_meta.ts @@ -0,0 +1,11 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'arbitrum-anytrust': 'Arbitrum AnyTrust', + 'avail-da': 'Avail DA', + celestia: 'Celestia', + eigenda: 'EigenDA', + nearda: 'NEAR DA', +}; + +export default meta; diff --git a/pages/scaling-services-rollups/data-availability/arbitrum-anytrust.mdx b/content/scaling-services-rollups/data-availability/arbitrum-anytrust.mdx similarity index 100% rename from pages/scaling-services-rollups/data-availability/arbitrum-anytrust.mdx rename to content/scaling-services-rollups/data-availability/arbitrum-anytrust.mdx diff --git a/pages/scaling-services-rollups/data-availability/avail-da.mdx b/content/scaling-services-rollups/data-availability/avail-da.mdx similarity index 100% rename from pages/scaling-services-rollups/data-availability/avail-da.mdx rename to content/scaling-services-rollups/data-availability/avail-da.mdx diff --git a/pages/scaling-services-rollups/data-availability/celestia.mdx b/content/scaling-services-rollups/data-availability/celestia.mdx similarity index 100% rename from pages/scaling-services-rollups/data-availability/celestia.mdx rename to content/scaling-services-rollups/data-availability/celestia.mdx diff --git a/pages/scaling-services-rollups/data-availability/eigenda.mdx b/content/scaling-services-rollups/data-availability/eigenda.mdx similarity index 100% rename from pages/scaling-services-rollups/data-availability/eigenda.mdx rename to content/scaling-services-rollups/data-availability/eigenda.mdx diff --git a/pages/scaling-services-rollups/data-availability/nearda.mdx b/content/scaling-services-rollups/data-availability/nearda.mdx similarity index 100% rename from pages/scaling-services-rollups/data-availability/nearda.mdx rename to content/scaling-services-rollups/data-availability/nearda.mdx diff --git a/pages/scaling-services-rollups/overview.mdx b/content/scaling-services-rollups/overview.mdx similarity index 100% rename from pages/scaling-services-rollups/overview.mdx rename to content/scaling-services-rollups/overview.mdx diff --git a/content/scaling-services-rollups/stacks/_meta.ts b/content/scaling-services-rollups/stacks/_meta.ts new file mode 100644 index 000000000..1a1648101 --- /dev/null +++ b/content/scaling-services-rollups/stacks/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'arbitrum-orbit': 'Arbitrum Orbit', + 'polygon-cdk': 'Polygon CDK', + 'op-stack': 'OP Stack', + 'zk-stack': 'ZK Stack', +}; + +export default meta; diff --git a/pages/scaling-services-rollups/stacks/arbitrum-orbit.mdx b/content/scaling-services-rollups/stacks/arbitrum-orbit.mdx similarity index 100% rename from pages/scaling-services-rollups/stacks/arbitrum-orbit.mdx rename to content/scaling-services-rollups/stacks/arbitrum-orbit.mdx diff --git a/pages/scaling-services-rollups/stacks/op-stack.mdx b/content/scaling-services-rollups/stacks/op-stack.mdx similarity index 100% rename from pages/scaling-services-rollups/stacks/op-stack.mdx rename to content/scaling-services-rollups/stacks/op-stack.mdx diff --git a/pages/scaling-services-rollups/stacks/polygon-cdk.mdx b/content/scaling-services-rollups/stacks/polygon-cdk.mdx similarity index 100% rename from pages/scaling-services-rollups/stacks/polygon-cdk.mdx rename to content/scaling-services-rollups/stacks/polygon-cdk.mdx diff --git a/pages/scaling-services-rollups/stacks/zk-stack.mdx b/content/scaling-services-rollups/stacks/zk-stack.mdx similarity index 100% rename from pages/scaling-services-rollups/stacks/zk-stack.mdx rename to content/scaling-services-rollups/stacks/zk-stack.mdx diff --git a/content/scaling-services-sidechains/_meta.ts b/content/scaling-services-sidechains/_meta.ts new file mode 100644 index 000000000..9b9627e6a --- /dev/null +++ b/content/scaling-services-sidechains/_meta.ts @@ -0,0 +1,9 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'What are Sidechains', + 'bnb-sidechain': 'BNB Sidechain', + 'polygon-supernets': 'Polygon Supernets', +}; + +export default meta; diff --git a/content/scaling-services-sidechains/bnb-sidechain/_meta.ts b/content/scaling-services-sidechains/bnb-sidechain/_meta.ts new file mode 100644 index 000000000..e6d7af554 --- /dev/null +++ b/content/scaling-services-sidechains/bnb-sidechain/_meta.ts @@ -0,0 +1,14 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + architecture: 'Architecture', + security: 'Security', + 'how-to-launch': 'How to', + staking: 'Staking', + demo: 'Demo', + faq: 'FAQ', + glossary: 'Glossary', +}; + +export default meta; diff --git a/content/scaling-services-sidechains/bnb-sidechain/architecture/_meta.ts b/content/scaling-services-sidechains/bnb-sidechain/architecture/_meta.ts new file mode 100644 index 000000000..052c6a03d --- /dev/null +++ b/content/scaling-services-sidechains/bnb-sidechain/architecture/_meta.ts @@ -0,0 +1,14 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'circulation-model-native-bridge': + 'Circulation Model and Native Asset Bridge', + 'native-bridge': 'Native Asset Bridge', + 'fast-finality': 'Fast-Finality and BLS Cryptography\n', + 'system-smart-contracts': 'System Smart Contracts', + governance: 'Governance', + 'runtime-upgrades': 'Runtime Upgrades', +}; + +export default meta; diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/circulation-model-native-bridge.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/circulation-model-native-bridge.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/circulation-model-native-bridge.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/circulation-model-native-bridge.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/fast-finality.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/fast-finality.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/fast-finality.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/fast-finality.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/governance.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/governance.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/governance.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/governance.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/native-bridge.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/native-bridge.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/native-bridge.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/native-bridge.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/overview.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/overview.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/overview.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/overview.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/runtime-upgrades.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/runtime-upgrades.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/runtime-upgrades.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/runtime-upgrades.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/system-smart-contracts.mdx b/content/scaling-services-sidechains/bnb-sidechain/architecture/system-smart-contracts.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/architecture/system-smart-contracts.mdx rename to content/scaling-services-sidechains/bnb-sidechain/architecture/system-smart-contracts.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/demo.mdx b/content/scaling-services-sidechains/bnb-sidechain/demo.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/demo.mdx rename to content/scaling-services-sidechains/bnb-sidechain/demo.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/faq.mdx b/content/scaling-services-sidechains/bnb-sidechain/faq.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/faq.mdx rename to content/scaling-services-sidechains/bnb-sidechain/faq.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/glossary.mdx b/content/scaling-services-sidechains/bnb-sidechain/glossary.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/glossary.mdx rename to content/scaling-services-sidechains/bnb-sidechain/glossary.mdx diff --git a/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.ts b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.ts new file mode 100644 index 000000000..af519332d --- /dev/null +++ b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'configure-genesis-file': 'Customize Genesis Config', + 'launch-bnb-sidechain': 'Launch BNB Sidechain', + 'deploy-erc20-token': 'Deploy an ERC-20 Token', + 'deploy-erc721-token': 'Deploy an ERC-721 Token', +}; + +export default meta; diff --git a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/configure-genesis-file.mdx b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/configure-genesis-file.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/configure-genesis-file.mdx rename to content/scaling-services-sidechains/bnb-sidechain/how-to-launch/configure-genesis-file.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc20-token.mdx b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc20-token.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc20-token.mdx rename to content/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc20-token.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc721-token.mdx b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc721-token.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc721-token.mdx rename to content/scaling-services-sidechains/bnb-sidechain/how-to-launch/deploy-erc721-token.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/launch-bnb-sidechain.mdx b/content/scaling-services-sidechains/bnb-sidechain/how-to-launch/launch-bnb-sidechain.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/launch-bnb-sidechain.mdx rename to content/scaling-services-sidechains/bnb-sidechain/how-to-launch/launch-bnb-sidechain.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/overview.mdx b/content/scaling-services-sidechains/bnb-sidechain/overview.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/overview.mdx rename to content/scaling-services-sidechains/bnb-sidechain/overview.mdx diff --git a/content/scaling-services-sidechains/bnb-sidechain/security/_meta.ts b/content/scaling-services-sidechains/bnb-sidechain/security/_meta.ts new file mode 100644 index 000000000..bc8917335 --- /dev/null +++ b/content/scaling-services-sidechains/bnb-sidechain/security/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'blockchain-and-evm-security': 'Blockchain and EVM Security', + 'system-smart-contracts': 'System Smart Contracts Security', + 'on-chain-security': 'On-chain Security', + 'off-chain-security': 'Off-chain Security', +}; + +export default meta; diff --git a/pages/scaling-services-sidechains/bnb-sidechain/security/blockchain-and-evm-security.mdx b/content/scaling-services-sidechains/bnb-sidechain/security/blockchain-and-evm-security.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/security/blockchain-and-evm-security.mdx rename to content/scaling-services-sidechains/bnb-sidechain/security/blockchain-and-evm-security.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/security/off-chain-security.mdx b/content/scaling-services-sidechains/bnb-sidechain/security/off-chain-security.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/security/off-chain-security.mdx rename to content/scaling-services-sidechains/bnb-sidechain/security/off-chain-security.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/security/on-chain-security.mdx b/content/scaling-services-sidechains/bnb-sidechain/security/on-chain-security.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/security/on-chain-security.mdx rename to content/scaling-services-sidechains/bnb-sidechain/security/on-chain-security.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/security/system-smart-contracts.mdx b/content/scaling-services-sidechains/bnb-sidechain/security/system-smart-contracts.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/security/system-smart-contracts.mdx rename to content/scaling-services-sidechains/bnb-sidechain/security/system-smart-contracts.mdx diff --git a/pages/scaling-services-sidechains/bnb-sidechain/staking.mdx b/content/scaling-services-sidechains/bnb-sidechain/staking.mdx similarity index 100% rename from pages/scaling-services-sidechains/bnb-sidechain/staking.mdx rename to content/scaling-services-sidechains/bnb-sidechain/staking.mdx diff --git a/pages/scaling-services-sidechains/overview.mdx b/content/scaling-services-sidechains/overview.mdx similarity index 100% rename from pages/scaling-services-sidechains/overview.mdx rename to content/scaling-services-sidechains/overview.mdx diff --git a/content/scaling-services-sidechains/polygon-supernets/_meta.ts b/content/scaling-services-sidechains/polygon-supernets/_meta.ts new file mode 100644 index 000000000..e2f2b4916 --- /dev/null +++ b/content/scaling-services-sidechains/polygon-supernets/_meta.ts @@ -0,0 +1,7 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', +}; + +export default meta; diff --git a/pages/scaling-services-sidechains/polygon-supernets/overview.mdx b/content/scaling-services-sidechains/polygon-supernets/overview.mdx similarity index 100% rename from pages/scaling-services-sidechains/polygon-supernets/overview.mdx rename to content/scaling-services-sidechains/polygon-supernets/overview.mdx diff --git a/content/smart-contract-tutorials/_meta.ts b/content/smart-contract-tutorials/_meta.ts new file mode 100644 index 000000000..7b18e451b --- /dev/null +++ b/content/smart-contract-tutorials/_meta.ts @@ -0,0 +1,16 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'erc-721-smart-contract-on-avalanche': + 'ERC-721 NFT Smart Contract on Avalanche and Mint an NFT with Ankr, Hardhat, and Ethers.js', + 'erc-20-token-with-ankr-hardhat-on-goerli': + 'ERC-20 Token with Ankr & Hardhat on Ethereum Goerli', + 'cryptokitties-like-nft-with-erc-721-smart-contract': + 'CryptoKitties-Like NFT with ERC-721 Smart Contract', + 'erc-20-token-on-optimism': 'ERC-20 Token on Optimism L2', + 'non-rentable-soulbound-nft': 'Non-Transferable Soulbound NFT Smart Contract', + 'rentable-nft-on-optimism': + 'Rentable ERC-721 NFTs Smart Contract on Optimism L2', +}; + +export default meta; diff --git a/pages/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx b/content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx similarity index 100% rename from pages/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx rename to content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx diff --git a/pages/smart-contract-tutorials/erc-20-token-on-optimism.mdx b/content/smart-contract-tutorials/erc-20-token-on-optimism.mdx similarity index 100% rename from pages/smart-contract-tutorials/erc-20-token-on-optimism.mdx rename to content/smart-contract-tutorials/erc-20-token-on-optimism.mdx diff --git a/pages/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx b/content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx similarity index 100% rename from pages/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx rename to content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx diff --git a/pages/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx b/content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx similarity index 100% rename from pages/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx rename to content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx diff --git a/pages/smart-contract-tutorials/non-rentable-soulbound-nft.mdx b/content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx similarity index 100% rename from pages/smart-contract-tutorials/non-rentable-soulbound-nft.mdx rename to content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx diff --git a/pages/smart-contract-tutorials/rentable-nft-on-optimism.mdx b/content/smart-contract-tutorials/rentable-nft-on-optimism.mdx similarity index 100% rename from pages/smart-contract-tutorials/rentable-nft-on-optimism.mdx rename to content/smart-contract-tutorials/rentable-nft-on-optimism.mdx diff --git a/content/staking-extra/_meta.ts b/content/staking-extra/_meta.ts new file mode 100644 index 000000000..dffd1064b --- /dev/null +++ b/content/staking-extra/_meta.ts @@ -0,0 +1,24 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'ankr-governance-mechanics': 'ANKR Governance Mechanics', + 'ankr-tokenomics': 'ANKR Tokenomics', + 'ankr-validators': 'Ankr Validators', + 'audit-reports': 'Audit Reports', + 'brand-assets': 'Brand Assets', + 'compatible-wallets': 'Compatible Wallets', + 'fix-broken-network-switch': 'Fixing Network Switch in MetaMask', + glossary: 'Glossary', + integrations: 'Integrating with Ankr Staking', + 'ls-sc-addresses-mn': 'Liquid Staking Tokens Addresses (Mainnet)', + 'ls-sc-addresses-tn': 'Liquid Staking Tokens Addresses (Testnet)', + 'micropool-staking': 'Micropool Staking', + 'liquid-crowdloan-market-makers': 'Parachain Liquid Crowdloan Market Makers', + principles: 'Principles', + 'staking-fees': 'Staking Fees', + 'staking-smart-contracts': 'Staking Smart Contracts', + 'switch-ankreth-binance': 'Switching ankrETH on BNB Chain', + 'get-goerli-eth': 'Get goETH', +}; + +export default meta; diff --git a/pages/staking-extra/ankr-governance-mechanics.mdx b/content/staking-extra/ankr-governance-mechanics.mdx similarity index 100% rename from pages/staking-extra/ankr-governance-mechanics.mdx rename to content/staking-extra/ankr-governance-mechanics.mdx diff --git a/pages/staking-extra/ankr-tokenomics.mdx b/content/staking-extra/ankr-tokenomics.mdx similarity index 100% rename from pages/staking-extra/ankr-tokenomics.mdx rename to content/staking-extra/ankr-tokenomics.mdx diff --git a/pages/staking-extra/ankr-validators.mdx b/content/staking-extra/ankr-validators.mdx similarity index 100% rename from pages/staking-extra/ankr-validators.mdx rename to content/staking-extra/ankr-validators.mdx diff --git a/pages/staking-extra/audit-reports.mdx b/content/staking-extra/audit-reports.mdx similarity index 100% rename from pages/staking-extra/audit-reports.mdx rename to content/staking-extra/audit-reports.mdx diff --git a/pages/staking-extra/brand-assets.mdx b/content/staking-extra/brand-assets.mdx similarity index 100% rename from pages/staking-extra/brand-assets.mdx rename to content/staking-extra/brand-assets.mdx diff --git a/pages/staking-extra/compatible-wallets.mdx b/content/staking-extra/compatible-wallets.mdx similarity index 100% rename from pages/staking-extra/compatible-wallets.mdx rename to content/staking-extra/compatible-wallets.mdx diff --git a/pages/staking-extra/fix-broken-network-switch.mdx b/content/staking-extra/fix-broken-network-switch.mdx similarity index 100% rename from pages/staking-extra/fix-broken-network-switch.mdx rename to content/staking-extra/fix-broken-network-switch.mdx diff --git a/pages/staking-extra/get-goerli-eth.mdx b/content/staking-extra/get-goerli-eth.mdx similarity index 100% rename from pages/staking-extra/get-goerli-eth.mdx rename to content/staking-extra/get-goerli-eth.mdx diff --git a/pages/staking-extra/glossary.mdx b/content/staking-extra/glossary.mdx similarity index 100% rename from pages/staking-extra/glossary.mdx rename to content/staking-extra/glossary.mdx diff --git a/pages/staking-extra/integrations.mdx b/content/staking-extra/integrations.mdx similarity index 100% rename from pages/staking-extra/integrations.mdx rename to content/staking-extra/integrations.mdx diff --git a/pages/staking-extra/liquid-crowdloan-market-makers.mdx b/content/staking-extra/liquid-crowdloan-market-makers.mdx similarity index 100% rename from pages/staking-extra/liquid-crowdloan-market-makers.mdx rename to content/staking-extra/liquid-crowdloan-market-makers.mdx diff --git a/pages/staking-extra/ls-sc-addresses-mn.mdx b/content/staking-extra/ls-sc-addresses-mn.mdx similarity index 100% rename from pages/staking-extra/ls-sc-addresses-mn.mdx rename to content/staking-extra/ls-sc-addresses-mn.mdx diff --git a/pages/staking-extra/ls-sc-addresses-tn.mdx b/content/staking-extra/ls-sc-addresses-tn.mdx similarity index 100% rename from pages/staking-extra/ls-sc-addresses-tn.mdx rename to content/staking-extra/ls-sc-addresses-tn.mdx diff --git a/pages/staking-extra/micropool-staking.mdx b/content/staking-extra/micropool-staking.mdx similarity index 100% rename from pages/staking-extra/micropool-staking.mdx rename to content/staking-extra/micropool-staking.mdx diff --git a/pages/staking-extra/principles.mdx b/content/staking-extra/principles.mdx similarity index 100% rename from pages/staking-extra/principles.mdx rename to content/staking-extra/principles.mdx diff --git a/pages/staking-extra/staking-fees.mdx b/content/staking-extra/staking-fees.mdx similarity index 100% rename from pages/staking-extra/staking-fees.mdx rename to content/staking-extra/staking-fees.mdx diff --git a/pages/staking-extra/staking-smart-contracts.mdx b/content/staking-extra/staking-smart-contracts.mdx similarity index 100% rename from pages/staking-extra/staking-smart-contracts.mdx rename to content/staking-extra/staking-smart-contracts.mdx diff --git a/pages/staking-extra/switch-ankreth-binance.mdx b/content/staking-extra/switch-ankreth-binance.mdx similarity index 100% rename from pages/staking-extra/switch-ankreth-binance.mdx rename to content/staking-extra/switch-ankreth-binance.mdx diff --git a/content/staking-for-developers/_meta.ts b/content/staking-for-developers/_meta.ts new file mode 100644 index 000000000..b6e7aef82 --- /dev/null +++ b/content/staking-for-developers/_meta.ts @@ -0,0 +1,15 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'dev-details': 'Development Details', + 'smart-contract-api': 'Smart Contract API', + 'restful-api': 'RESTful API', + sdk: 'SDK', + oracles: 'Oracles', + 'flash-loan': 'Flash Loan', + 'flash-unstake': 'Flash Unstake', + 'referral-program': 'Referral Program', +}; + +export default meta; diff --git a/content/staking-for-developers/dev-details/_meta.ts b/content/staking-for-developers/dev-details/_meta.ts new file mode 100644 index 000000000..4eeec7c0a --- /dev/null +++ b/content/staking-for-developers/dev-details/_meta.ts @@ -0,0 +1,14 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'avax-liquid-staking-mechanics': 'Avalanche Liquid Staking', + 'bnb-liquid-staking-mechanics': 'Binance Liquid Staking', + 'eth-liquid-staking-mechanics': 'Ethereum Liquid Staking', + 'eth-validator-hub-mechanics': 'Ethereum Delegated Staking and Validator Hub', + 'ftm-liquid-staking-mechanics': 'Fantom Liquid Staking', + 'pol-liquid-staking-mechanics': 'Polygon Liquid Staking', + 'bridge-mechanics': 'Ankr Bridge', + 'switch-mechanics': 'Ankr Switch', +}; + +export default meta; diff --git a/pages/staking-for-developers/dev-details/avax-liquid-staking-mechanics.mdx b/content/staking-for-developers/dev-details/avax-liquid-staking-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/avax-liquid-staking-mechanics.mdx rename to content/staking-for-developers/dev-details/avax-liquid-staking-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/bnb-liquid-staking-mechanics.mdx b/content/staking-for-developers/dev-details/bnb-liquid-staking-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/bnb-liquid-staking-mechanics.mdx rename to content/staking-for-developers/dev-details/bnb-liquid-staking-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/bridge-mechanics.mdx b/content/staking-for-developers/dev-details/bridge-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/bridge-mechanics.mdx rename to content/staking-for-developers/dev-details/bridge-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/eth-liquid-staking-mechanics.mdx b/content/staking-for-developers/dev-details/eth-liquid-staking-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/eth-liquid-staking-mechanics.mdx rename to content/staking-for-developers/dev-details/eth-liquid-staking-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/eth-validator-hub-mechanics.mdx b/content/staking-for-developers/dev-details/eth-validator-hub-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/eth-validator-hub-mechanics.mdx rename to content/staking-for-developers/dev-details/eth-validator-hub-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/ftm-liquid-staking-mechanics.mdx b/content/staking-for-developers/dev-details/ftm-liquid-staking-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/ftm-liquid-staking-mechanics.mdx rename to content/staking-for-developers/dev-details/ftm-liquid-staking-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/pol-liquid-staking-mechanics.mdx b/content/staking-for-developers/dev-details/pol-liquid-staking-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/pol-liquid-staking-mechanics.mdx rename to content/staking-for-developers/dev-details/pol-liquid-staking-mechanics.mdx diff --git a/pages/staking-for-developers/dev-details/switch-mechanics.mdx b/content/staking-for-developers/dev-details/switch-mechanics.mdx similarity index 100% rename from pages/staking-for-developers/dev-details/switch-mechanics.mdx rename to content/staking-for-developers/dev-details/switch-mechanics.mdx diff --git a/content/staking-for-developers/flash-loan/_meta.ts b/content/staking-for-developers/flash-loan/_meta.ts new file mode 100644 index 000000000..80d1f0bd0 --- /dev/null +++ b/content/staking-for-developers/flash-loan/_meta.ts @@ -0,0 +1,7 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview and Development Details', +}; + +export default meta; diff --git a/pages/staking-for-developers/flash-loan/overview.mdx b/content/staking-for-developers/flash-loan/overview.mdx similarity index 100% rename from pages/staking-for-developers/flash-loan/overview.mdx rename to content/staking-for-developers/flash-loan/overview.mdx diff --git a/content/staking-for-developers/flash-unstake/_meta.ts b/content/staking-for-developers/flash-unstake/_meta.ts new file mode 100644 index 000000000..a192ef15d --- /dev/null +++ b/content/staking-for-developers/flash-unstake/_meta.ts @@ -0,0 +1,7 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'bnb-flash-unstake': 'BNB Flash Unstake', +}; + +export default meta; diff --git a/pages/staking-for-developers/flash-unstake/bnb-flash-unstake.mdx b/content/staking-for-developers/flash-unstake/bnb-flash-unstake.mdx similarity index 100% rename from pages/staking-for-developers/flash-unstake/bnb-flash-unstake.mdx rename to content/staking-for-developers/flash-unstake/bnb-flash-unstake.mdx diff --git a/content/staking-for-developers/oracles/_meta.ts b/content/staking-for-developers/oracles/_meta.ts new file mode 100644 index 000000000..c913f0e84 --- /dev/null +++ b/content/staking-for-developers/oracles/_meta.ts @@ -0,0 +1,10 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'redemption-price-oracle': 'Redemption Price Oracle', + 'pancakeswap-oracle': 'PancakeSwap Price Oracle', + 'apr-oracle': 'APR Oracle', +}; + +export default meta; diff --git a/pages/staking-for-developers/oracles/apr-oracle.mdx b/content/staking-for-developers/oracles/apr-oracle.mdx similarity index 100% rename from pages/staking-for-developers/oracles/apr-oracle.mdx rename to content/staking-for-developers/oracles/apr-oracle.mdx diff --git a/pages/staking-for-developers/oracles/overview.mdx b/content/staking-for-developers/oracles/overview.mdx similarity index 100% rename from pages/staking-for-developers/oracles/overview.mdx rename to content/staking-for-developers/oracles/overview.mdx diff --git a/pages/staking-for-developers/oracles/pancakeswap-oracle.mdx b/content/staking-for-developers/oracles/pancakeswap-oracle.mdx similarity index 100% rename from pages/staking-for-developers/oracles/pancakeswap-oracle.mdx rename to content/staking-for-developers/oracles/pancakeswap-oracle.mdx diff --git a/pages/staking-for-developers/oracles/redemption-price-oracle.mdx b/content/staking-for-developers/oracles/redemption-price-oracle.mdx similarity index 100% rename from pages/staking-for-developers/oracles/redemption-price-oracle.mdx rename to content/staking-for-developers/oracles/redemption-price-oracle.mdx diff --git a/pages/staking-for-developers/overview.mdx b/content/staking-for-developers/overview.mdx similarity index 100% rename from pages/staking-for-developers/overview.mdx rename to content/staking-for-developers/overview.mdx diff --git a/content/staking-for-developers/referral-program/_meta.ts b/content/staking-for-developers/referral-program/_meta.ts new file mode 100644 index 000000000..e2f2b4916 --- /dev/null +++ b/content/staking-for-developers/referral-program/_meta.ts @@ -0,0 +1,7 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', +}; + +export default meta; diff --git a/pages/staking-for-developers/referral-program/overview.mdx b/content/staking-for-developers/referral-program/overview.mdx similarity index 100% rename from pages/staking-for-developers/referral-program/overview.mdx rename to content/staking-for-developers/referral-program/overview.mdx diff --git a/content/staking-for-developers/restful-api/_meta.ts b/content/staking-for-developers/restful-api/_meta.ts new file mode 100644 index 000000000..9472bbb1b --- /dev/null +++ b/content/staking-for-developers/restful-api/_meta.ts @@ -0,0 +1,9 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + 'staking-metrics': 'Staking Metrics API', + 'trustless-ratio': 'Trustless Ratio', + 'validator-api': 'Validator API', +}; + +export default meta; diff --git a/pages/staking-for-developers/restful-api/staking-metrics.mdx b/content/staking-for-developers/restful-api/staking-metrics.mdx similarity index 100% rename from pages/staking-for-developers/restful-api/staking-metrics.mdx rename to content/staking-for-developers/restful-api/staking-metrics.mdx diff --git a/pages/staking-for-developers/restful-api/trustless-ratio.mdx b/content/staking-for-developers/restful-api/trustless-ratio.mdx similarity index 100% rename from pages/staking-for-developers/restful-api/trustless-ratio.mdx rename to content/staking-for-developers/restful-api/trustless-ratio.mdx diff --git a/pages/staking-for-developers/restful-api/validator-api.mdx b/content/staking-for-developers/restful-api/validator-api.mdx similarity index 100% rename from pages/staking-for-developers/restful-api/validator-api.mdx rename to content/staking-for-developers/restful-api/validator-api.mdx diff --git a/content/staking-for-developers/sdk/_meta.ts b/content/staking-for-developers/sdk/_meta.ts new file mode 100644 index 000000000..6b1e944e7 --- /dev/null +++ b/content/staking-for-developers/sdk/_meta.ts @@ -0,0 +1,9 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'liquid-staking-sdk': 'Liquid Staking SDK', + 'liquid-crowdloan-sdk': 'Liquid Crowdloan SDK', +}; + +export default meta; diff --git a/pages/staking-for-developers/sdk/liquid-crowdloan-sdk.mdx b/content/staking-for-developers/sdk/liquid-crowdloan-sdk.mdx similarity index 100% rename from pages/staking-for-developers/sdk/liquid-crowdloan-sdk.mdx rename to content/staking-for-developers/sdk/liquid-crowdloan-sdk.mdx diff --git a/pages/staking-for-developers/sdk/liquid-staking-sdk.mdx b/content/staking-for-developers/sdk/liquid-staking-sdk.mdx similarity index 100% rename from pages/staking-for-developers/sdk/liquid-staking-sdk.mdx rename to content/staking-for-developers/sdk/liquid-staking-sdk.mdx diff --git a/pages/staking-for-developers/sdk/overview.mdx b/content/staking-for-developers/sdk/overview.mdx similarity index 100% rename from pages/staking-for-developers/sdk/overview.mdx rename to content/staking-for-developers/sdk/overview.mdx diff --git a/content/staking-for-developers/smart-contract-api/_meta.ts b/content/staking-for-developers/smart-contract-api/_meta.ts new file mode 100644 index 000000000..4659970c6 --- /dev/null +++ b/content/staking-for-developers/smart-contract-api/_meta.ts @@ -0,0 +1,12 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'avax-api': 'Avalanche Liquid Staking API', + 'bnb-api': 'Binance Liquid Staking API', + 'eth-api': 'Ethereum Liquid Staking API', + 'ftm-api': 'Fantom Liquid Staking API', + 'pol-api': 'Polygon Liquid Staking API', +}; + +export default meta; diff --git a/pages/staking-for-developers/smart-contract-api/avax-api.mdx b/content/staking-for-developers/smart-contract-api/avax-api.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/avax-api.mdx rename to content/staking-for-developers/smart-contract-api/avax-api.mdx diff --git a/pages/staking-for-developers/smart-contract-api/bnb-api.mdx b/content/staking-for-developers/smart-contract-api/bnb-api.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/bnb-api.mdx rename to content/staking-for-developers/smart-contract-api/bnb-api.mdx diff --git a/pages/staking-for-developers/smart-contract-api/eth-api.mdx b/content/staking-for-developers/smart-contract-api/eth-api.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/eth-api.mdx rename to content/staking-for-developers/smart-contract-api/eth-api.mdx diff --git a/pages/staking-for-developers/smart-contract-api/ftm-api.mdx b/content/staking-for-developers/smart-contract-api/ftm-api.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/ftm-api.mdx rename to content/staking-for-developers/smart-contract-api/ftm-api.mdx diff --git a/pages/staking-for-developers/smart-contract-api/overview.mdx b/content/staking-for-developers/smart-contract-api/overview.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/overview.mdx rename to content/staking-for-developers/smart-contract-api/overview.mdx diff --git a/pages/staking-for-developers/smart-contract-api/pol-api.mdx b/content/staking-for-developers/smart-contract-api/pol-api.mdx similarity index 100% rename from pages/staking-for-developers/smart-contract-api/pol-api.mdx rename to content/staking-for-developers/smart-contract-api/pol-api.mdx diff --git a/pages/staking-overview.mdx b/content/staking-overview.mdx similarity index 100% rename from pages/staking-overview.mdx rename to content/staking-overview.mdx diff --git a/content/switch/_meta.ts b/content/switch/_meta.ts new file mode 100644 index 000000000..9f8970d18 --- /dev/null +++ b/content/switch/_meta.ts @@ -0,0 +1,8 @@ +import type { MetaRecord } from 'nextra'; + +const meta: MetaRecord = { + overview: 'Overview', + 'switch-tokens': 'Switch Tokens', +}; + +export default meta; diff --git a/pages/switch/overview.mdx b/content/switch/overview.mdx similarity index 100% rename from pages/switch/overview.mdx rename to content/switch/overview.mdx diff --git a/pages/switch/switch-tokens.mdx b/content/switch/switch-tokens.mdx similarity index 100% rename from pages/switch/switch-tokens.mdx rename to content/switch/switch-tokens.mdx diff --git a/pages/whats-new.mdx b/content/whats-new.mdx similarity index 100% rename from pages/whats-new.mdx rename to content/whats-new.mdx diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..19351c977 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,21 @@ +import { defineConfig, globalIgnores } from 'eslint/config'; +import nextVitals from 'eslint-config-next/core-web-vitals'; +import nextTs from 'eslint-config-next/typescript' + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + { + rules: { + quotes: ['error', 'single', { avoidEscape: true }], + }, + }, + globalIgnores([ + '.next/**', + 'out/**', + 'build/**', + 'next-env.d.ts', + ]), +]); + +export default eslintConfig; diff --git a/mdx-components.ts b/mdx-components.ts new file mode 100644 index 000000000..f353726dc --- /dev/null +++ b/mdx-components.ts @@ -0,0 +1,8 @@ +import { useMDXComponents as getThemeComponents } from 'nextra-theme-docs'; + +// Get the default MDX components +const themeComponents = getThemeComponents(); + +export function useMDXComponents() { + return themeComponents; +} diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03dc..c4b7818fb 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +import "./.next/dev/types/routes.d.ts"; // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs index 2c80fb11a..b23e63600 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,30 +1,25 @@ import nextra from 'nextra' const withNextra = nextra({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx', staticImage: true, - flexsearch: { - codeblocks: false - }, defaultShowCopyCode: true -}) +}); export default withNextra({ + output: 'export', images: { unoptimized: true, }, reactStrictMode: true, basePath: '/docs', trailingSlash: true, - webpack: (config) => { - config.module.rules.push({ - test: /\.svg$/i, - issuer: /\.[jt]sx?$/, - use: ['@svgr/webpack'], - }); - - return config; + turbopack: { + rules: { + '*.svg': { + loaders: ['@svgr/webpack'], + as: '*.js', + }, + }, }, siteUrl: process.env.SITE_URL || 'https://www.ankr.com/docs', generateIndexSitemap: false, diff --git a/package.json b/package.json index 893f90fb1..566d04f60 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "docs", "private": true, "scripts": { - "build": "npm run update-strapi-faq-files && next build && next-sitemap --config next.config.mjs && next export", + "build": "npm run update-strapi-faq-files && next build && next-sitemap --config next.config.mjs", "build:stage": "cp .env.development .env.local && yarn build", "debug": "NODE_OPTIONS='--inspect' next", "dev": "npm run update-strapi-faq-files && next", @@ -26,9 +26,9 @@ "framer-motion": "^10.0.0", "json2md": "^2.0.0", "mobx": "^6.8.0", - "next": "13.2.0", - "nextra": "2.6.1", - "nextra-theme-docs": "2.6.1", + "next": "16.0.3", + "nextra": "4.6.0", + "nextra-theme-docs": "4.6.0", "node-html-markdown": "^1.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -37,15 +37,17 @@ }, "devDependencies": { "@svgr/webpack": "^6.5.1", + "@tailwindcss/postcss": "^4.1.17", "@types/node": "^18.11.18", "@types/react": "^18.0.26", "@types/react-gtm-module": "^2.0.4", "autoprefixer": "^10.4.13", - "eslint": "^8.30.0", + "eslint": "^9.39.1", + "eslint-config-next": "^16.0.7", "next-sitemap": "^4.2.3", "postcss": "^8.4.21", - "tailwindcss": "^3.2.4", - "typescript": "^4.9.4" + "tailwindcss": "^4.1.17", + "typescript": "^5.1.0" }, "packageManager": "yarn@4.9.2" } diff --git a/pages/_app.mdx b/pages/_app.mdx deleted file mode 100644 index f586564f9..000000000 --- a/pages/_app.mdx +++ /dev/null @@ -1,15 +0,0 @@ -import "styles/global.css"; -import "nextra-theme-docs/style.css"; - -import { MUIProvider } from "components/MUIProvider"; -import { useGtm } from "hooks"; - -export default function App({ Component, pageProps }) { - useGtm(pageProps); - - return ( - - - - ); -} diff --git a/pages/_meta.json b/pages/_meta.json deleted file mode 100644 index 13c037a67..000000000 --- a/pages/_meta.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "index": "Welcome to Ankr Docs", - "info-map": "Information Map", - "privacy": "Privacy Policy", - "whats-new": "What's New", - "-- Building": { - "type": "separator", - "title": "Building With Ankr" - }, - "rpc-service": "Node API", - "advanced-api": "Advanced API", - "node-snapshot": "Blockchain Node Snapshots", - "node-runners": { - "title": "Node Runners", - "display": "hidden" - }, - "automation": "Contract Automation", - "-- Tutorials": { - "type": "separator", - "title": "Ankr Tutorials" - }, - "basic-tutorials": "Basic Tutorials", - "smart-contract-tutorials": "Smart Contract Development", - "advanced-tutorials": "Advanced Tutorials", - "-- Scaling with Asphere": { - "type": "separator", - "title": "Scaling with Asphere" - }, - "scaling-services-overview": "Scaling Services Overview", - "scaling-services-nocode-deployer": "No-Code Deployer", - "scaling-services-bsi": "Bitcoin Secured Infrastructure", - "scaling-services-rollups": "Rollups", - "scaling-services-sidechains": "Sidechains", - "-- Staking": { - "type": "separator", - "title": "Staking With Ankr" - }, - "staking-overview": "Overview", - "staking-for-developers": "For Developers", - "delegated-staking": "Delegated Staking", - "liquid-staking": "Liquid Staking", - "liquid-crowdloan": "Liquid Crowdloan", - "defi": "DeFi", - "bridge": "Bridge", - "switch": "Switch", - "staking-extra": "Extra", - "-- Gaming": { - "type": "separator", - "title": "Making Games" - }, - "gaming-overview": "Mirage Gaming", - - "-- Support": { - "type": "separator", - "title": "Support" - }, - "support": { - "title": "Request Support ↗", - "href": "https://ankrnetwork.atlassian.net/servicedesk/customer/portal/10", - "newWindow": true - }, - "knowledge-base": { - "title": "Knowledge Base ↗", - "href": "https://ankrnetwork.atlassian.net/wiki/spaces/EUSKB/overview", - "newWindow": true - }, - "ankr": { - "title": "To Ankr", - "type": "page", - "href": "https://ankr.com" - }, - "web3APIButton": { - "title": "web3APIButton", - "type": "separator" - } -} diff --git a/pages/advanced-api/_meta.json b/pages/advanced-api/_meta.json deleted file mode 100644 index 362e1f596..000000000 --- a/pages/advanced-api/_meta.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "overview": "Overview", - "pricing": "Pricing", - "nft-methods": "NFT API", - "query-methods": "Query API", - "token-methods": "Token API", - "token-api": { - "title": "Token API", - "display": "hidden" - }, - "specification": { - "title": "API Reference ↗", - "type": "page", - "href": "https://api-docs.ankr.com/reference/", - "newWindow": true - }, - "javascript-sdk": "Ankr.js SDK", - "python-sdk": "Ankr.py SDK", - "react-hooks": "Ankr React Hooks", - "quickstart": "Quickstart Guide" -} diff --git a/pages/advanced-api/quickstart/_meta.json b/pages/advanced-api/quickstart/_meta.json deleted file mode 100644 index b840f6f00..000000000 --- a/pages/advanced-api/quickstart/_meta.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "overview": "Overview", - "fetch-nfts-ankrjs": "Ankr.js SDK: Fetch NFTs", - "account-balance-ankrjs":"Ankr.js SDK: Check Account Balance", - "aapi-on-nodejs": "Ankr.js SDK: Advanced APIs on NodeJS Server", - "aapi-react-app": "Ankr.js SDK: Advanced APIs for React App", - "defi-dashboard-ankrjs": "DeFi-Dashboard dApp with Vite.js, Ankr.js, & Tailwind CSS" - } - \ No newline at end of file diff --git a/pages/advanced-tutorials/_meta.json b/pages/advanced-tutorials/_meta.json deleted file mode 100644 index 814f2f438..000000000 --- a/pages/advanced-tutorials/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "donation-based-crowdfunding-dapp-on-polygon-with-ankr":"End-to-End Donation-Based Crowdfunding dApp on Polygon with Ankr" -} diff --git a/pages/automation/_meta.json b/pages/automation/_meta.json deleted file mode 100644 index 13e91f66c..000000000 --- a/pages/automation/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "overview": "Overview", - "time-based-automation": "Time-based Automation", - "custom-logic-automation": "Custom Logic Automation", - "create-compatible-contracts": "Create Compatible Contracts", - "manage-tasks": "Manage Automation Tasks" -} \ No newline at end of file diff --git a/pages/basic-tutorials/_meta.json b/pages/basic-tutorials/_meta.json deleted file mode 100644 index d89585111..000000000 --- a/pages/basic-tutorials/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "dapp-on-ethereum-using-nocode":"Decentralized Application on Ethereum using No-Code", - "dao-in-5min": "DAO in 5 Minutes with Zero Lines of Code", - "ankrjs-advanced-apis-react-quickstart-guide": "Ankr.js (Advanced APIs) React Quickstart Guide", - "file-storage-on-ipfs-with-filebase": "Permanent File Storage (IPFS) with Filebase", - "backend-nodejs-ipfs-file-uploader-with-filebase": "Backend NodeJS IPFS File Uploader With Filebase" - -} diff --git a/pages/bridge/_meta.json b/pages/bridge/_meta.json deleted file mode 100755 index 4d2c08f6f..000000000 --- a/pages/bridge/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "bridge-tokens": "Bridge Tokens" -} diff --git a/pages/defi/_meta.json b/pages/defi/_meta.json deleted file mode 100755 index c7a2eaa13..000000000 --- a/pages/defi/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "overview": "Overview", - "liquidity-pools": "Liquidity Pools", - "yield-farming": "Yield Farming", - "vaults": "Vaults", - "faq": "FAQ" -} diff --git a/pages/delegated-staking/_meta.json b/pages/delegated-staking/_meta.json deleted file mode 100755 index c0d3a5099..000000000 --- a/pages/delegated-staking/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "ankr": "Ankr", - "ankr-validators": "Ankr Validators", - "gnosis": "Gnosis" -} diff --git a/pages/delegated-staking/ankr-validators/_meta.json b/pages/delegated-staking/ankr-validators/_meta.json deleted file mode 100755 index d1c56e195..000000000 --- a/pages/delegated-staking/ankr-validators/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake" -} diff --git a/pages/delegated-staking/ankr/_meta.json b/pages/delegated-staking/ankr/_meta.json deleted file mode 100755 index 0b65227e9..000000000 --- a/pages/delegated-staking/ankr/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "claim-restake-rewards": "Claim or Restake Rewards", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/delegated-staking/gnosis/_meta.json b/pages/delegated-staking/gnosis/_meta.json deleted file mode 100755 index 96eea1f6f..000000000 --- a/pages/delegated-staking/gnosis/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} \ No newline at end of file diff --git a/pages/liquid-crowdloan/_meta.json b/pages/liquid-crowdloan/_meta.json deleted file mode 100755 index 3ce9cda1f..000000000 --- a/pages/liquid-crowdloan/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "unstake": "Unstake DOT from a Liquid Crowdloan" -} diff --git a/pages/liquid-staking/_meta.json b/pages/liquid-staking/_meta.json deleted file mode 100755 index c48c8cb9a..000000000 --- a/pages/liquid-staking/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "overview": "Overview", - "avax": "Avalanche", - "bnb": "Binance", - "eth": "Ethereum", - "flow": "Flow", - "ftm": "Fantom", - "dot": "Polkadot", - "pol": "Polygon" -} \ No newline at end of file diff --git a/pages/liquid-staking/avax/_meta.json b/pages/liquid-staking/avax/_meta.json deleted file mode 100755 index 6789a7f1d..000000000 --- a/pages/liquid-staking/avax/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/bnb/_meta.json b/pages/liquid-staking/bnb/_meta.json deleted file mode 100755 index 6789a7f1d..000000000 --- a/pages/liquid-staking/bnb/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/dot/_meta.json b/pages/liquid-staking/dot/_meta.json deleted file mode 100755 index 1ebeffe14..000000000 --- a/pages/liquid-staking/dot/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/eth/_meta.json b/pages/liquid-staking/eth/_meta.json deleted file mode 100755 index a2c612cea..000000000 --- a/pages/liquid-staking/eth/_meta.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "overview": "Overview", - "security": "Security", - "stake": "Stake", - "restake-ankreth-on-eigen": "Restake on EigenLayer", - "unstake": "Unstake", - "unstake-ankreth-on-eigen": "Unstake on EigenLayer", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/flow/_meta.json b/pages/liquid-staking/flow/_meta.json deleted file mode 100755 index 6789a7f1d..000000000 --- a/pages/liquid-staking/flow/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/ftm/_meta.json b/pages/liquid-staking/ftm/_meta.json deleted file mode 100755 index 6789a7f1d..000000000 --- a/pages/liquid-staking/ftm/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/liquid-staking/pol/_meta.json b/pages/liquid-staking/pol/_meta.json deleted file mode 100755 index 6789a7f1d..000000000 --- a/pages/liquid-staking/pol/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "stake": "Stake", - "unstake": "Unstake", - "faq": "FAQ" -} diff --git a/pages/rpc-service/_meta.json b/pages/rpc-service/_meta.json deleted file mode 100644 index d89f99f15..000000000 --- a/pages/rpc-service/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "getting-started": "Getting Started", - "overview": "Overview", - "service-plans": "Service Plans", - "pricing": "Pricing", - "chains": "Supported Chains" -} diff --git a/pages/rpc-service/chains/_meta.json b/pages/rpc-service/chains/_meta.json deleted file mode 100644 index a773cd46c..000000000 --- a/pages/rpc-service/chains/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "chains-list": "Chains Quickstart", - "chains-api": "API Reference" -} \ No newline at end of file diff --git a/pages/rpc-service/chains/chains-api/_meta.json b/pages/rpc-service/chains/chains-api/_meta.json deleted file mode 100644 index 1b8856ee4..000000000 --- a/pages/rpc-service/chains/chains-api/_meta.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "0g": "0G", - "allora": "Allora", - "aptos": "Aptos", - "arbitrum": "Arbitrum", - "arbitrum-nova": "Arbitrum Nova", - "atleta": "Atleta", - "avail": "Avail", - "avalanche": "Avalanche", - "b2-network": "B2 Network", - "bahamut": "Bahamut", - "base": "Base", - "btc": "Bitcoin", - "bitlayer": "Bitlayer", - "blast": "Blast", - "bnb-smart-chain": "BNB Smart Chain", - "botanix": "Botanix", - "celo": "Celo", - "chiliz": "Chiliz", - "core": "Core", - "corn": "Corn", - "electroneum": "Electroneum", - "ethereum": "Ethereum", - "eth-beacon": "Ethereum Beacon", - "etherlink": "Etherlink", - "fantom": "Fantom", - "filecoin": "Filecoin", - "flare": "Flare", - "fuel": "Fuel", - "gnosis": "Gnosis", - "gnosis-beacon": "Gnosis Beacon", - "goat": "GOAT", - "gravity": "Gravity", - "harmony": "Harmony", - "heco": "Huobi ECO Chain", - "horizen-eon": "Horizen EON", - "iota": "IOTA", - "iota-evm": "IOTA EVM", - "iotex": "IoTeX", - "kaia": "Kaia", - "kava": "Kava", - "kinto": "Kinto", - "kusama": "Kusama", - "linea": "Linea", - "mantle": "Mantle", - "matchain": "Matchain", - "metis": "Metis", - "midnight": "Midnight", - "monad": "Monad", - "moonbeam": "Moonbeam", - "movement": "Movement", - "near": "NEAR", - "nervos": "Nervos", - "neura": "Neura", - "optimism": "Optimism", - "polkadot": "Polkadot", - "polygon": "Polygon", - "polygon-zkevm": "Polygon zkEVM", - "rollux": "Rollux", - "scroll": "Scroll", - "secret-network": "Secret Network", - "sei": "Sei", - "solana": "Solana", - "somnia": "Somnia", - "sonic": "Sonic", - "stellar": "Stellar", - "story": "Story", - "sui": "Sui", - "sui-grpc": "Sui gRPC", - "swell": "Swell", - "syscoin": "Syscoin", - "tac": "TAC", - "taiko": "Taiko", - "telos": "Telos", - "tenet": "Tenet", - "ton": "TON", - "tron": "TRON", - "xai": "Xai", - "xdc": "XDC Network", - "xlayer": "X Layer", - "xphere": "Xphere", - "zksync-era": "zkSync Era" -} diff --git a/pages/rpc-service/getting-started/_meta.json b/pages/rpc-service/getting-started/_meta.json deleted file mode 100644 index a91c64395..000000000 --- a/pages/rpc-service/getting-started/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "intro": "Intro", - "basics-public": "Basics: Public Plan", - "basics-premium": "Basics: Premium Plan", - "team-accounts": "Team Accounts", - "projects": "Projects", - "platform-swagger": "Platform Swagger" -} diff --git a/pages/scaling-services-rollups/_meta.json b/pages/scaling-services-rollups/_meta.json deleted file mode 100755 index 15599bd53..000000000 --- a/pages/scaling-services-rollups/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "overview": "What are Rollups", - "stacks": "Rollup Stacks", - "data-availability": "Data Availability Layers" -} diff --git a/pages/scaling-services-rollups/data-availability/_meta.json b/pages/scaling-services-rollups/data-availability/_meta.json deleted file mode 100755 index b6b81a867..000000000 --- a/pages/scaling-services-rollups/data-availability/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "arbitrum-anytrust": "Arbitrum AnyTrust", - "avail-da": "Avail DA", - "celestia": "Celestia", - "eigenda": "EigenDA", - "nearda": "NEAR DA" -} diff --git a/pages/scaling-services-rollups/stacks/_meta.json b/pages/scaling-services-rollups/stacks/_meta.json deleted file mode 100755 index fcc8226d0..000000000 --- a/pages/scaling-services-rollups/stacks/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "arbitrum-orbit": "Arbitrum Orbit", - "polygon-cdk": "Polygon CDK", - "op-stack": "OP Stack", - "zk-stack": "ZK Stack" -} diff --git a/pages/scaling-services-sidechains/_meta.json b/pages/scaling-services-sidechains/_meta.json deleted file mode 100644 index 03285d831..000000000 --- a/pages/scaling-services-sidechains/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "overview": "What are Sidechains", - "bnb-sidechain": "BNB Sidechain", - "polygon-supernets": "Polygon Supernets" -} diff --git a/pages/scaling-services-sidechains/bnb-sidechain/_meta.json b/pages/scaling-services-sidechains/bnb-sidechain/_meta.json deleted file mode 100644 index da5807724..000000000 --- a/pages/scaling-services-sidechains/bnb-sidechain/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "overview": "Overview", - "architecture": "Architecture", - "security": "Security", - "how-to-launch": "How to", - "staking": "Staking", - "demo": "Demo", - "faq": "FAQ", - "glossary": "Glossary" -} diff --git a/pages/scaling-services-sidechains/bnb-sidechain/architecture/_meta.json b/pages/scaling-services-sidechains/bnb-sidechain/architecture/_meta.json deleted file mode 100644 index 464424d14..000000000 --- a/pages/scaling-services-sidechains/bnb-sidechain/architecture/_meta.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "overview": "Overview", - "circulation-model-native-bridge": "Circulation Model and Native Asset Bridge", - "native-bridge": "Native Asset Bridge", - "fast-finality": "Fast-Finality and BLS Cryptography\n", - "system-smart-contracts": "System Smart Contracts", - "governance": "Governance", - "runtime-upgrades": "Runtime Upgrades" -} diff --git a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.json b/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.json deleted file mode 100644 index 37245913c..000000000 --- a/pages/scaling-services-sidechains/bnb-sidechain/how-to-launch/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "configure-genesis-file": "Customize Genesis Config", - "launch-bnb-sidechain": "Launch BNB Sidechain", - "deploy-erc20-token": "Deploy an ERC-20 Token", - "deploy-erc721-token": "Deploy an ERC-721 Token" -} diff --git a/pages/scaling-services-sidechains/bnb-sidechain/security/_meta.json b/pages/scaling-services-sidechains/bnb-sidechain/security/_meta.json deleted file mode 100644 index a41c51f42..000000000 --- a/pages/scaling-services-sidechains/bnb-sidechain/security/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "blockchain-and-evm-security": "Blockchain and EVM Security", - "system-smart-contracts": "System Smart Contracts Security", - "on-chain-security": "On-chain Security", - "off-chain-security": "Off-chain Security" -} diff --git a/pages/scaling-services-sidechains/polygon-supernets/_meta.json b/pages/scaling-services-sidechains/polygon-supernets/_meta.json deleted file mode 100644 index 13044ba53..000000000 --- a/pages/scaling-services-sidechains/polygon-supernets/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "overview": "Overview" -} \ No newline at end of file diff --git a/pages/smart-contract-tutorials/_meta.json b/pages/smart-contract-tutorials/_meta.json deleted file mode 100644 index b2da8e4ca..000000000 --- a/pages/smart-contract-tutorials/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "erc-721-smart-contract-on-avalanche":"ERC-721 NFT Smart Contract on Avalanche and Mint an NFT with Ankr, Hardhat, and Ethers.js", - "erc-20-token-with-ankr-hardhat-on-goerli": "ERC-20 Token with Ankr & Hardhat on Ethereum Goerli", - "cryptokitties-like-nft-with-erc-721-smart-contract":"CryptoKitties-Like NFT with ERC-721 Smart Contract", - "erc-20-token-on-optimism": "ERC-20 Token on Optimism L2", - "non-rentable-soulbound-nft": "Non-Transferable Soulbound NFT Smart Contract", - "rentable-nft-on-optimism": "Rentable ERC-721 NFTs Smart Contract on Optimism L2" -} diff --git a/pages/staking-extra/_meta.json b/pages/staking-extra/_meta.json deleted file mode 100755 index e8704e732..000000000 --- a/pages/staking-extra/_meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "ankr-governance-mechanics": "ANKR Governance Mechanics", - "ankr-tokenomics": "ANKR Tokenomics", - "ankr-validators": "Ankr Validators", - "audit-reports": "Audit Reports", - "brand-assets": "Brand Assets", - "compatible-wallets": "Compatible Wallets", - "fix-broken-network-switch": "Fixing Network Switch in MetaMask", - "glossary": "Glossary", - "integrations": "Integrating with Ankr Staking", - "ls-sc-addresses-mn": "Liquid Staking Tokens Addresses (Mainnet)", - "ls-sc-addresses-tn": "Liquid Staking Tokens Addresses (Testnet)", - "micropool-staking": "Micropool Staking", - "liquid-crowdloan-market-makers": "Parachain Liquid Crowdloan Market Makers", - "principles": "Principles", - "staking-fees": "Staking Fees", - "staking-smart-contracts": "Staking Smart Contracts", - "switch-ankreth-binance": "Switching ankrETH on BNB Chain", - "get-goerli-eth": "Get goETH" -} diff --git a/pages/staking-for-developers/_meta.json b/pages/staking-for-developers/_meta.json deleted file mode 100755 index 1277df397..000000000 --- a/pages/staking-for-developers/_meta.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "overview": "Overview", - "dev-details": "Development Details", - "smart-contract-api": "Smart Contract API", - "restful-api": "RESTful API", - "sdk": "SDK", - "oracles": "Oracles", - "flash-loan": "Flash Loan", - "flash-unstake": "Flash Unstake", - "referral-program": "Referral Program" -} \ No newline at end of file diff --git a/pages/staking-for-developers/dev-details/_meta.json b/pages/staking-for-developers/dev-details/_meta.json deleted file mode 100755 index 0c87f2dc5..000000000 --- a/pages/staking-for-developers/dev-details/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "avax-liquid-staking-mechanics": "Avalanche Liquid Staking", - "bnb-liquid-staking-mechanics": "Binance Liquid Staking", - "eth-liquid-staking-mechanics": "Ethereum Liquid Staking", - "eth-validator-hub-mechanics": "Ethereum Delegated Staking and Validator Hub", - "ftm-liquid-staking-mechanics": "Fantom Liquid Staking", - "pol-liquid-staking-mechanics": "Polygon Liquid Staking", - "bridge-mechanics": "Ankr Bridge", - "switch-mechanics": "Ankr Switch" -} \ No newline at end of file diff --git a/pages/staking-for-developers/flash-loan/_meta.json b/pages/staking-for-developers/flash-loan/_meta.json deleted file mode 100755 index fb24fccf2..000000000 --- a/pages/staking-for-developers/flash-loan/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "overview": "Overview and Development Details" -} \ No newline at end of file diff --git a/pages/staking-for-developers/flash-unstake/_meta.json b/pages/staking-for-developers/flash-unstake/_meta.json deleted file mode 100755 index 63caade6d..000000000 --- a/pages/staking-for-developers/flash-unstake/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "bnb-flash-unstake": "BNB Flash Unstake" -} \ No newline at end of file diff --git a/pages/staking-for-developers/oracles/_meta.json b/pages/staking-for-developers/oracles/_meta.json deleted file mode 100755 index fe6a3b128..000000000 --- a/pages/staking-for-developers/oracles/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "overview": "Overview", - "redemption-price-oracle": "Redemption Price Oracle", - "pancakeswap-oracle": "PancakeSwap Price Oracle", - "apr-oracle": "APR Oracle" -} \ No newline at end of file diff --git a/pages/staking-for-developers/referral-program/_meta.json b/pages/staking-for-developers/referral-program/_meta.json deleted file mode 100755 index 13044ba53..000000000 --- a/pages/staking-for-developers/referral-program/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "overview": "Overview" -} \ No newline at end of file diff --git a/pages/staking-for-developers/restful-api/_meta.json b/pages/staking-for-developers/restful-api/_meta.json deleted file mode 100755 index 5b62f834f..000000000 --- a/pages/staking-for-developers/restful-api/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "staking-metrics": "Staking Metrics API", - "trustless-ratio": "Trustless Ratio", - "validator-api": "Validator API" -} \ No newline at end of file diff --git a/pages/staking-for-developers/sdk/_meta.json b/pages/staking-for-developers/sdk/_meta.json deleted file mode 100755 index 9b9b634eb..000000000 --- a/pages/staking-for-developers/sdk/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "overview": "Overview", - "liquid-staking-sdk": "Liquid Staking SDK", - "liquid-crowdloan-sdk": "Liquid Crowdloan SDK" -} \ No newline at end of file diff --git a/pages/staking-for-developers/smart-contract-api/_meta.json b/pages/staking-for-developers/smart-contract-api/_meta.json deleted file mode 100755 index 50ccf1b00..000000000 --- a/pages/staking-for-developers/smart-contract-api/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "overview": "Overview", - "avax-api": "Avalanche Liquid Staking API", - "bnb-api": "Binance Liquid Staking API", - "eth-api": "Ethereum Liquid Staking API", - "ftm-api": "Fantom Liquid Staking API", - "pol-api": "Polygon Liquid Staking API" -} \ No newline at end of file diff --git a/pages/switch/_meta.json b/pages/switch/_meta.json deleted file mode 100755 index 936638e1a..000000000 --- a/pages/switch/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "switch-tokens": "Switch Tokens" -} diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index a9035b681..000000000 --- a/postcss.config.js +++ /dev/null @@ -1,9 +0,0 @@ -// If you want to use other PostCSS plugins, see the following: -// https://tailwindcss.com/docs/using-with-preprocessors -/** @type {import('postcss').Postcss} */ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 000000000..ede935252 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +const config = { + plugins: { + autoprefixer: {}, + '@tailwindcss/postcss': {}, + }, +}; + +export default config; diff --git a/src/components/Button.jsx b/src/components/Button.jsx deleted file mode 100644 index 27da848de..000000000 --- a/src/components/Button.jsx +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = () => { - return ; -}; diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index f9e3082f1..099709c0f 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -1,37 +1,38 @@ -import React, { useMemo } from "react"; -import cn from "clsx"; -import { useState, useEffect } from "react"; -import { useTheme } from "next-themes"; -import { Default, Error, Info, Note, Success, Tip, Warning } from "icons"; +'use client'; + +import cn from 'clsx'; +import { Default, Error, Info, Note, Success, Tip, Warning } from 'icons'; +import { useEffect, useMemo, useState } from 'react'; +import { useTheme } from 'next-themes'; const themes = { default: { - light: "bg-gray-100 text-gray-900 border-gray-200 ", - dark: "bg-gray-800 text-gray-200 border-gray-200/30", + light: 'bg-gray-100 text-gray-900 border-gray-200 ', + dark: 'bg-gray-800 text-gray-200 border-gray-200/30', }, note: { - light: "bg-yellow-50 text-yellow-900 border-yellow-200", - dark: "bg-yellow-700/30 text-yellow-200 border-yellow-100/30", + light: 'bg-yellow-50 text-yellow-900 border-yellow-200', + dark: 'bg-yellow-700/30 text-yellow-200 border-yellow-100/30', }, info: { - light: "bg-sky-50 text-sky-900 border-sky-200", - dark: "bg-sky-800/30 text-sky-200 border-sky-200/30", + light: 'bg-sky-50 text-sky-900 border-sky-200', + dark: 'bg-sky-800/30 text-sky-200 border-sky-200/30', }, tip: { - light: "bg-emerald-50 text-emerald-800 border-emerald-200", - dark: "bg-emerald-400/20 text-emerald-300 border-emerald-400/30", + light: 'bg-emerald-50 text-emerald-800 border-emerald-200', + dark: 'bg-emerald-400/20 text-emerald-300 border-emerald-400/30', }, success: { - light: "bg-green-100 text-green-800 border-green-200", - dark: "bg-green-500/20 text-green-300 border-green-400/30", + light: 'bg-green-100 text-green-800 border-green-200', + dark: 'bg-green-500/20 text-green-300 border-green-400/30', }, warning: { - light: "bg-orange-50 text-orange-800 border-orange-200", - dark: "bg-orange-400/20 text-orange-300 border-orange-400/30", + light: 'bg-orange-50 text-orange-800 border-orange-200', + dark: 'bg-orange-400/20 text-orange-300 border-orange-400/30', }, error: { - light: "bg-rose-50 text-rose-900 border-rose-200 ", - dark: "bg-rose-900/30 text-rose-200 border-rose-200/30", + light: 'bg-rose-50 text-rose-900 border-rose-200 ', + dark: 'bg-rose-900/30 text-rose-200 border-rose-200/30', }, }; @@ -48,39 +49,41 @@ const icons = { interface CalloutProps { children: React.ReactNode; emoji?: string; - type?: "default" | "error" | "info" | "note" | "success" | "tip" | "warning"; + type?: 'default' | 'error' | 'info' | 'note' | 'success' | 'tip' | 'warning'; } export function Callout({ children, emoji /* string | undefined */, - type = "default", + type = 'default', }: CalloutProps) { - const { resolvedTheme } = useTheme(); - const [rootClasses, setRootClasses] = useState(""); + const { resolvedTheme = 'light' } = useTheme(); + const [themeClassName, setThemeClassName] = useState(''); const icon = useMemo(() => { - if (typeof emoji === "string") { + if (typeof emoji === 'string') { return emoji; } const TargetIcon = icons[type]; - return typeof TargetIcon === "undefined" ? null : ; + return typeof TargetIcon === 'undefined' ? null : ; }, [emoji, type]); useEffect(() => { - setRootClasses( - cn( - "nextra-callout border mt-6 flex rounded-lg py-2 ltr:pr-4 rtl:pl-4", - "contrast-more:border-current", - themes[type]?.[resolvedTheme === "light" ? "light" : "dark"] - ) + // eslint-disable-next-line react-hooks/set-state-in-effect + setThemeClassName( + themes[type]?.[resolvedTheme === 'light' ? 'light' : 'dark'], ); }, [resolvedTheme, type]); + const className = cn( + 'nextra-callout border mt-6 flex rounded-lg py-2 ltr:pr-4 rtl:pl-4', + 'contrast-more:border-current', + ); + return ( -
+
{icon &&
{icon}
}
{children}
diff --git a/src/components/Code.jsx b/src/components/Code.jsx deleted file mode 100644 index 4ac5bd84e..000000000 --- a/src/components/Code.jsx +++ /dev/null @@ -1,68 +0,0 @@ -import { useState } from "react"; -import copy from "copy-to-clipboard"; -import { CopyIcon } from "../icons/CopyIcon"; - -function classNames(...classes) { - return classes.filter(Boolean).join(" "); -} - -export const Code = ({ children, terminal = false }) => { - const [terminalCommand, setTerminalCommand] = useState("npm run"); - - const handleCopy = () => { - // console.log(children); - if (terminal) { - copy(terminalCommand + " " + children); - } else { - copy(children); - } - }; - - return ( -
- {terminal && ( -
- - -
- )} -
-
- {terminal ? ( - <> - {terminalCommand} {children} - - ) : ( - <>{children} - )} -
- -
-
- ); -}; diff --git a/src/components/DesktopGuard.tsx b/src/components/DesktopGuard.tsx index 797206e0c..056080bae 100644 --- a/src/components/DesktopGuard.tsx +++ b/src/components/DesktopGuard.tsx @@ -1,4 +1,4 @@ -import { useMediaQuery, useTheme } from "@mui/material"; +import { useMediaQuery, useTheme } from '@mui/material'; interface DesktopGuardProps { children: React.ReactNode; @@ -6,9 +6,9 @@ interface DesktopGuardProps { export const DesktopGuard = ({ children }: DesktopGuardProps) => { const theme = useTheme(); - - const isMobile = useMediaQuery(theme.breakpoints.down("sm")); - + + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + if (isMobile) { return null; } diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx new file mode 100644 index 000000000..a0d11f616 --- /dev/null +++ b/src/components/Footer/Footer.tsx @@ -0,0 +1,28 @@ +import { Footer as NextraFooter } from 'nextra-theme-docs'; + +import NextraLogo from 'public/logo/nextra-footer.svg'; + +import { FooterMenu } from './FooterMenu'; + +export function Footer() { + return ( + + + +

+ © {new Date().getFullYear()} Ankr All rights reserved | info@ankr.com +

+
+ ); +} diff --git a/src/components/Footer/FooterMenu.tsx b/src/components/Footer/FooterMenu.tsx new file mode 100644 index 000000000..ae5cff813 --- /dev/null +++ b/src/components/Footer/FooterMenu.tsx @@ -0,0 +1,249 @@ +import Discord from 'public/socials/discord.svg'; +import Instagram from 'public/socials/instagram.svg'; +import LinkedIn from 'public/socials/linkedin.svg'; +import Medium from 'public/socials/medium.svg'; +import Reddit from 'public/socials/reddit.svg'; +import Telegram from 'public/socials/telegram.svg'; +import Twitter from 'public/socials/twitter.svg'; +import Youtube from 'public/socials/youtube.svg'; + +interface ListItemProps { + children: React.ReactNode; +} + +interface Section { + title: string; + items: { + className?: string; + href: string; + icon?: React.ComponentType; + rel?: string; + text: string; + }[]; +} + +const ListItem = ({ children }: ListItemProps) =>
  • {children}
  • ; + +const List = ({ title, items }: Section) => ( +
  • +

    {title}

    + +
  • +); + +export const FooterMenu = () => { + const sections: Section[] = [ + { + title: 'Products', + items: [ + { + href: 'https://www.ankr.com/remote-procedure-call/', + text: 'Web3 API', + }, + { href: 'https://www.ankr.com/staking-crypto/', text: 'Staking' }, + { + href: 'https://www.ankr.com/rollup-as-a-service-raas/', + text: 'Scaling Services', + }, + { href: 'https://www.ankr.com/ankr-automate/', text: 'Automate' }, + { + href: 'https://www.ankr.com/enterprise/', + text: 'Enterprise Solutions', + }, + { + href: 'https://www.ankr.com/docs/chainscanner/block-explorer/', + text: 'Block Explorer', + }, + { href: 'https://www.ankr.com/about-network/', text: 'Ankr Network' }, + { + href: 'https://www.ankr.com/about-network/token/', + text: 'Ankr Token', + }, + ], + }, + { + title: 'RPCs', + items: [ + { + href: 'https://www.ankr.com/remote-procedure-call/polygon-matic/', + text: 'Polygon', + }, + { href: 'https://www.ankr.com/rpc/eth/', text: 'Ethereum' }, + { href: 'https://www.ankr.com/rpc/avalanche/', text: 'Avalanche' }, + { href: 'https://www.ankr.com/rpc/bsc/', text: 'BSC' }, + { href: 'https://www.ankr.com/rpc/optimism/', text: 'Optimism' }, + { href: 'https://www.ankr.com/rpc/arbitrumnova/', text: 'Arbitrum' }, + { + href: 'https://www.ankr.com/remote-procedure-call/', + text: 'See All', + }, + ], + }, + { + title: 'Staking', + items: [ + { + href: 'https://www.ankr.com/staking-crypto/ethereum-eth/', + text: 'Ethereum', + }, + { + href: 'https://www.ankr.com/staking-crypto/polygon-matic/', + text: 'Polygon', + }, + { + href: 'https://www.ankr.com/staking-crypto/avalanche-avax/', + text: 'Avalanche', + }, + { + href: 'https://www.ankr.com/staking-crypto/binance-bnb/', + text: 'BSC', + }, + { + href: 'https://www.ankr.com/staking-crypto/fantom-ftm/', + text: 'Fantom', + }, + { href: 'https://www.ankr.com/staking-crypto/', text: 'See All' }, + ], + }, + { + title: 'Case Studies', + items: [ + { href: 'https://www.ankr.com/case-studies/bnb/', text: 'BNB Chain' }, + { href: 'https://www.ankr.com/case-studies/chiliz/', text: 'Chiliz' }, + { href: 'https://www.ankr.com/case-studies/polygon/', text: 'Polygon' }, + { href: 'https://www.ankr.com/case-studies/sushi/', text: 'SushiSwap' }, + { + href: 'https://www.ankr.com/case-studies/meta-apes/', + text: 'Meta Apes', + }, + { + href: 'https://www.ankr.com/case-studies/mantle/', + text: 'Mantle Network', + }, + { + href: 'https://www.ankr.com/case-studies/', + text: 'See all case studies', + }, + ], + }, + { + title: 'Resources', + items: [ + { href: 'https://www.ankr.com/docs', text: 'Docs' }, + { + href: 'https://ankr.hashnode.dev/', + text: 'Tutorials', + rel: 'noreferrer', + }, + { + href: 'https://github.com/Ankr-network', + text: 'Github', + rel: 'noreferrer', + }, + { + href: 'https://www.ankr.com/ankr-whitepaper-2.0.pdf', + text: 'Ankr Whitepaper 2.0', + }, + { href: 'https://www.ankr.com/assets/', text: 'Brand Assets' }, + ], + }, + { + title: 'Company', + items: [ + { href: 'https://www.ankr.com/about/our-purpose/', text: 'About Us' }, + { href: 'https://www.ankr.com/blog/', text: 'Blog' }, + { href: 'https://www.ankr.com/press/', text: 'Press' }, + { + href: 'https://boards.greenhouse.io/ankrnetwork', + text: 'Careers', + rel: 'noreferrer', + }, + ], + }, + { + title: 'Socials', + items: [ + { + href: 'https://twitter.com/ankr', + text: 'Twitter', + icon: Twitter, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://t.me/ankrnetwork', + text: 'Telegram', + icon: Telegram, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://discord.ankr.com/', + text: 'Discord', + icon: Discord, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://medium.com/ankr-network', + text: 'Medium', + icon: Medium, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://www.reddit.com/r/Ankrofficial/', + text: 'Reddit', + icon: Reddit, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://www.instagram.com/ankr/', + text: 'Instagram', + icon: Instagram, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://www.youtube.com/c/AnkrOfficial', + text: 'YouTube', + icon: Youtube, + className: 'flex', + rel: 'noreferrer', + }, + { + href: 'https://www.linkedin.com/company/ankr/', + text: 'LinkedIn', + icon: LinkedIn, + className: 'flex', + rel: 'noreferrer', + }, + ], + }, + ]; + + return ( +
    +
      + {sections.map((section, index) => ( + + ))} +
    +
    + ); +}; diff --git a/src/components/Footer/index.ts b/src/components/Footer/index.ts new file mode 100644 index 000000000..ddcc5a9cd --- /dev/null +++ b/src/components/Footer/index.ts @@ -0,0 +1 @@ +export * from './Footer'; diff --git a/src/components/FooterMenu.jsx b/src/components/FooterMenu.jsx deleted file mode 100644 index e18b87cdd..000000000 --- a/src/components/FooterMenu.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from 'react'; -import Twitter from '../../public/socials/twitter.svg' -import Telegram from '../../public/socials/telegram.svg' -import Discord from '../../public/socials/discord.svg' -import Medium from '../../public/socials/medium.svg' -import Reddit from '../../public/socials/reddit.svg' -import Instagram from '../../public/socials/instagram.svg' -import Youtube from '../../public/socials/youtube.svg' -import LinkedIn from '../../public/socials/linkedin.svg' - -const ListItem = ({ children }) => ( -
  • {children}
  • -); - -const List = ({ title, items }) => ( -
  • -

    {title}

    - -
  • -); - -const FooterMenu = () => { - const sections = [ - { - title: 'Products', - items: [ - { href: 'https://www.ankr.com/remote-procedure-call/', text: 'Web3 API' }, - { href: 'https://www.ankr.com/staking-crypto/', text: 'Staking' }, - { href: 'https://www.ankr.com/rollup-as-a-service-raas/', text: 'Scaling Services' }, - { href: 'https://www.ankr.com/ankr-automate/', text: 'Automate' }, - { href: 'https://www.ankr.com/enterprise/', text: 'Enterprise Solutions' }, - { href: 'https://www.ankr.com/docs/chainscanner/block-explorer/', text: 'Block Explorer' }, - { href: 'https://www.ankr.com/about-network/', text: 'Ankr Network' }, - { href: 'https://www.ankr.com/about-network/token/', text: 'Ankr Token' }, - ] - }, - { - title: 'RPCs', - items: [ - { href: 'https://www.ankr.com/remote-procedure-call/polygon-matic/', text: 'Polygon' }, - { href: 'https://www.ankr.com/rpc/eth/', text: 'Ethereum' }, - { href: 'https://www.ankr.com/rpc/avalanche/', text: 'Avalanche' }, - { href: 'https://www.ankr.com/rpc/bsc/', text: 'BSC' }, - { href: 'https://www.ankr.com/rpc/optimism/', text: 'Optimism' }, - { href: 'https://www.ankr.com/rpc/arbitrumnova/', text: 'Arbitrum' }, - { href: 'https://www.ankr.com/remote-procedure-call/', text: 'See All' }, - ] - }, - { - title: 'Staking', - items: [ - { href: 'https://www.ankr.com/staking-crypto/ethereum-eth/', text: 'Ethereum' }, - { href: 'https://www.ankr.com/staking-crypto/polygon-matic/', text: 'Polygon' }, - { href: 'https://www.ankr.com/staking-crypto/avalanche-avax/', text: 'Avalanche' }, - { href: 'https://www.ankr.com/staking-crypto/binance-bnb/', text: 'BSC' }, - { href: 'https://www.ankr.com/staking-crypto/fantom-ftm/', text: 'Fantom' }, - { href: 'https://www.ankr.com/staking-crypto/', text: 'See All' }, - ] - }, - { - title: 'Case Studies', - items: [ - { href: 'https://www.ankr.com/case-studies/bnb/', text: 'BNB Chain' }, - { href: 'https://www.ankr.com/case-studies/chiliz/', text: 'Chiliz' }, - { href: 'https://www.ankr.com/case-studies/polygon/', text: 'Polygon' }, - { href: 'https://www.ankr.com/case-studies/sushi/', text: 'SushiSwap' }, - { href: 'https://www.ankr.com/case-studies/meta-apes/', text: 'Meta Apes' }, - { href: 'https://www.ankr.com/case-studies/mantle/', text: 'Mantle Network' }, - { href: 'https://www.ankr.com/case-studies/', text: 'See all case studies' }, - ] - }, - { - title: 'Resources', - items: [ - { href: 'https://www.ankr.com/docs', text: 'Docs' }, - { href: 'https://ankr.hashnode.dev/', text: 'Tutorials', rel: 'noreferrer' }, - { href: 'https://github.com/Ankr-network', text: 'Github', rel: 'noreferrer' }, - { href: 'https://www.ankr.com/ankr-whitepaper-2.0.pdf', text: 'Ankr Whitepaper 2.0' }, - { href: 'https://www.ankr.com/assets/', text: 'Brand Assets' }, - ] - }, - { - title: 'Company', - items: [ - { href: 'https://www.ankr.com/about/our-purpose/', text: 'About Us' }, - { href: 'https://www.ankr.com/blog/', text: 'Blog' }, - { href: 'https://www.ankr.com/press/', text: 'Press' }, - { href: 'https://boards.greenhouse.io/ankrnetwork', text: 'Careers', rel: 'noreferrer' }, - ] - }, - { - title: 'Socials', - items: [ - { href: 'https://twitter.com/ankr', text: 'Twitter', icon: Twitter, className: 'flex', rel: 'noreferrer' }, - { href: 'https://t.me/ankrnetwork', text: 'Telegram', icon: Telegram, className: 'flex', rel: 'noreferrer' }, - { href: 'https://discord.ankr.com/', text: 'Discord', icon: Discord, className: 'flex', rel: 'noreferrer' }, - { href: 'https://medium.com/ankr-network', text: 'Medium', icon: Medium, className: 'flex', rel: 'noreferrer' }, - { href: 'https://www.reddit.com/r/Ankrofficial/', text: 'Reddit', icon: Reddit, className: 'flex', rel: 'noreferrer' }, - { href: 'https://www.instagram.com/ankr/', text: 'Instagram', icon: Instagram, className: 'flex', rel: 'noreferrer' }, - { href: 'https://www.youtube.com/c/AnkrOfficial', text: 'YouTube', icon: Youtube, className: 'flex', rel: 'noreferrer' }, - { href: 'https://www.linkedin.com/company/ankr/', text: 'LinkedIn', icon: LinkedIn, className: 'flex', rel: 'noreferrer' }, - ] - }, - ]; - - return ( -
    -
      - {sections.map((section, index) => ( - - ))} -
    -
    - ); -} - -export default FooterMenu; \ No newline at end of file diff --git a/src/components/MUIProvider.tsx b/src/components/MUIProvider.tsx index bb2ff706f..44428614f 100644 --- a/src/components/MUIProvider.tsx +++ b/src/components/MUIProvider.tsx @@ -1,23 +1,20 @@ -import createCache from "@emotion/cache"; -import { CacheProvider } from "@emotion/react"; -import { CssBaseline, ThemeProvider } from "@mui/material"; -import { mainTheme } from "@ankr.com/ui"; +import createCache from '@emotion/cache'; +import { CacheProvider } from '@emotion/react'; +import { ThemeProvider } from '@mui/material'; +import { mainTheme } from '@ankr.com/ui'; interface MUIProviderProps { children: React.ReactNode; } const cache = createCache({ - key: "mui-css", + key: 'mui-css', }); -export const MUIProvider = ({ children }: MUIProviderProps) => { +export function MUIProvider({ children }: MUIProviderProps) { return ( - - - {children} - + {children} ); -}; +} diff --git a/src/components/MobileGuard.tsx b/src/components/MobileGuard.tsx index e35feb33a..d3d6247ed 100644 --- a/src/components/MobileGuard.tsx +++ b/src/components/MobileGuard.tsx @@ -1,4 +1,4 @@ -import { useMediaQuery, useTheme } from "@mui/material"; +import { useMediaQuery, useTheme } from '@mui/material'; interface MobileGuardProps { children: React.ReactNode; @@ -6,9 +6,9 @@ interface MobileGuardProps { export const MobileGuard = ({ children }: MobileGuardProps) => { const theme = useTheme(); - - const isDesktop = useMediaQuery(theme.breakpoints.up("sm")); - + + const isDesktop = useMediaQuery(theme.breakpoints.up('sm')); + if (isDesktop) { return null; } diff --git a/src/components/Navbar/Navbar.module.css b/src/components/Navbar/Navbar.module.css new file mode 100644 index 000000000..834c5fcaa --- /dev/null +++ b/src/components/Navbar/Navbar.module.css @@ -0,0 +1,14 @@ +/* Search container */ +.root :global(.nextra-scrollbar) + div { + order: 2; +} + +/* Github icon */ +.root a[href="https://github.com/Ankr-network/"] { + order: 3; +} + +/* Hamburger icon */ +.root :global(.nextra-hamburger) { + order: 3; +} diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx new file mode 100644 index 000000000..93131f233 --- /dev/null +++ b/src/components/Navbar/Navbar.tsx @@ -0,0 +1,18 @@ +import { Navbar as NextraNavbar } from 'nextra-theme-docs'; + +import AnkrLogo from "public/logo/ankr-docs-with-logo.svg"; +import { Web3APIButtonLazy } from 'components/Web3APIButton'; + +import classes from './Navbar.module.css'; + +export function Navbar() { + return ( + } + projectLink="https://github.com/Ankr-network/" + > + + + ); +} diff --git a/src/components/Navbar/index.ts b/src/components/Navbar/index.ts new file mode 100644 index 000000000..e8a656233 --- /dev/null +++ b/src/components/Navbar/index.ts @@ -0,0 +1 @@ +export * from './Navbar'; diff --git a/src/components/OpenUrl.jsx b/src/components/OpenUrl.jsx deleted file mode 100644 index 8bef67a66..000000000 --- a/src/components/OpenUrl.jsx +++ /dev/null @@ -1,7 +0,0 @@ -export const OpenUrl = ({ children, url = "" }) => { - return ( - - {children} - - ); -}; diff --git a/src/components/UnstakeETHTimer.tsx b/src/components/UnstakeETHTimer.tsx index 8065f77c5..e1a659438 100644 --- a/src/components/UnstakeETHTimer.tsx +++ b/src/components/UnstakeETHTimer.tsx @@ -1,9 +1,11 @@ -import React, { useEffect, useState } from "react"; -import axios from "axios"; +'use client'; + +import { useEffect, useState } from 'react'; +import axios from 'axios'; import { formatDistanceToNowStrict } from 'date-fns'; interface IUnstakeDays { - timestamp: number; + timestamp: number; } const baseUrl = 'https://api.dev.staking.ankr.com/'; @@ -11,17 +13,18 @@ const baseUrl = 'https://api.dev.staking.ankr.com/'; const WITHDRAW_ESTIMATION_URL = '/v1alpha/beaconmonitor/withdraw_estimation'; export const UnstakeETHTimer = () => { - const [days, setDays] = useState(''); - useEffect(() => { - const url = new URL(WITHDRAW_ESTIMATION_URL, baseUrl).toString(); - axios.get(url) - .then((res) => { - setDays(formatDistanceToNowStrict(res.data.timestamp * 1000, { - unit: 'day', - roundingMethod: 'ceil', - })) - }); - }, []); + const [days, setDays] = useState(''); + useEffect(() => { + const url = new URL(WITHDRAW_ESTIMATION_URL, baseUrl).toString(); + axios.get(url).then(res => { + setDays( + formatDistanceToNowStrict(res.data.timestamp * 1000, { + unit: 'day', + roundingMethod: 'ceil', + }), + ); + }); + }, []); - return days; -} + return days; +}; diff --git a/src/components/Web3APIButton/Web3APIButton.tsx b/src/components/Web3APIButton/Web3APIButton.tsx index feab4658f..179631176 100644 --- a/src/components/Web3APIButton/Web3APIButton.tsx +++ b/src/components/Web3APIButton/Web3APIButton.tsx @@ -1,38 +1,55 @@ -import { Button, Typography } from "@mui/material"; -import { useAuthState, useSubscribeToAuthStorage } from "@ankr.com/auth"; +'use client'; -import { getURL } from "./utils/getURL"; +import { Button, Typography } from '@mui/material'; +import { useAuthState, useSubscribeToAuthStorage } from '@ankr.com/auth'; -export const Web3APIButton = () => { +import { DesktopGuard } from 'components/DesktopGuard'; +import { MUIProvider } from 'components/MUIProvider'; +import { MobileGuard } from 'components/MobileGuard'; + +import { getURL } from './utils/getURL'; + +interface Web3APIButtonProps { + className?: string; + visibility: 'desktop' | 'mobile'; +} + +export function Web3APIButton({ className, visibility }: Web3APIButtonProps) { const { isSignedIn } = useAuthState(); useSubscribeToAuthStorage(); + const Guard = visibility === 'desktop' ? DesktopGuard : MobileGuard; + return ( - + + + + + ); -}; +} diff --git a/src/components/Web3APIButton/Web3APIButtonLazy.tsx b/src/components/Web3APIButton/Web3APIButtonLazy.tsx new file mode 100644 index 000000000..c6e7220d6 --- /dev/null +++ b/src/components/Web3APIButton/Web3APIButtonLazy.tsx @@ -0,0 +1,8 @@ +'use client'; + +import dynamic from 'next/dynamic'; + +export const Web3APIButtonLazy = dynamic( + () => import('./Web3APIButton').then(module => module.Web3APIButton), + { ssr: false, }, +); diff --git a/src/components/Web3APIButton/index.ts b/src/components/Web3APIButton/index.ts index 1566d6b5c..bcbd48fb1 100644 --- a/src/components/Web3APIButton/index.ts +++ b/src/components/Web3APIButton/index.ts @@ -1 +1,2 @@ export * from './Web3APIButton'; +export * from './Web3APIButtonLazy'; diff --git a/src/components/index.js b/src/components/index.ts similarity index 51% rename from src/components/index.js rename to src/components/index.ts index 756cb6203..91399d477 100644 --- a/src/components/index.js +++ b/src/components/index.ts @@ -1,6 +1,3 @@ -export * from './Button'; -export * from './Callout'; export * from './Callout'; export * from './gtm'; -export * from './OpenUrl'; export * from './UnstakeETHTimer'; diff --git a/src/hooks/index.js b/src/hooks/index.ts similarity index 100% rename from src/hooks/index.js rename to src/hooks/index.ts diff --git a/src/hooks/useGtm.ts b/src/hooks/useGtm.ts index 307cffbc2..ecd8f8696 100644 --- a/src/hooks/useGtm.ts +++ b/src/hooks/useGtm.ts @@ -1,5 +1,5 @@ import { useEffect, useRef } from 'react'; -import { useRouter } from 'next/router' +import { useRouter } from 'next/router'; import { initGoogleGtm } from 'components'; interface MainDataLayer { @@ -38,5 +38,7 @@ export function useGtm(pageProps: UseGTMProps) { }; gtmVirtualPageView(mainDataLayer); + + // eslint-disable-next-line react-hooks/exhaustive-deps }, [pageProps]); } diff --git a/src/scripts/update-strapi-faq-files.js b/src/scripts/update-strapi-faq-files.js index 60e278e5d..f5cf88a37 100644 --- a/src/scripts/update-strapi-faq-files.js +++ b/src/scripts/update-strapi-faq-files.js @@ -1,12 +1,12 @@ -const axios = require("axios"); -const fs = require("fs"); -const json2md = require("json2md"); -const { NodeHtmlMarkdown } = require("node-html-markdown"); -const { join } = require("path"); +const axios = require('axios'); +const fs = require('fs'); +const json2md = require('json2md'); +const { NodeHtmlMarkdown } = require('node-html-markdown'); +const { join } = require('path'); -const FILES_ROOT_PATH = join(process.cwd(), "pages"); +const FILES_ROOT_PATH = join(process.cwd(), 'content'); -const STRAPI_ROOT_URL = "https://strapi.ankr.com"; +const STRAPI_ROOT_URL = 'https://strapi.ankr.com'; /** * @name filesMap @@ -16,50 +16,50 @@ const STRAPI_ROOT_URL = "https://strapi.ankr.com"; const filesMap = [ // delegated-staking { - filePath: join(FILES_ROOT_PATH, "delegated-staking", "ankr", "faq.mdx"), - name: "ankr", + filePath: join(FILES_ROOT_PATH, 'delegated-staking', 'ankr', 'faq.mdx'), + name: 'ankr', urlPath: `${STRAPI_ROOT_URL}/faq-ankr-items`, }, { - filePath: join(FILES_ROOT_PATH, "delegated-staking", "gnosis", "faq.mdx"), - name: "gnosis", + filePath: join(FILES_ROOT_PATH, 'delegated-staking', 'gnosis', 'faq.mdx'), + name: 'gnosis', urlPath: `${STRAPI_ROOT_URL}/faq-m-gno-items`, }, // liquid-staking { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "avax", "faq.mdx"), - name: "avax", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'avax', 'faq.mdx'), + name: 'avax', urlPath: `${STRAPI_ROOT_URL}/faq-avalanche-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "bnb", "faq.mdx"), - name: "bnb", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'bnb', 'faq.mdx'), + name: 'bnb', urlPath: `${STRAPI_ROOT_URL}/faq-binance-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "dot", "faq.mdx"), - name: "dot", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'dot', 'faq.mdx'), + name: 'dot', urlPath: `${STRAPI_ROOT_URL}/faq-polkadot-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "eth", "faq.mdx"), - name: "eth", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'eth', 'faq.mdx'), + name: 'eth', urlPath: `${STRAPI_ROOT_URL}/faq-ethereum-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "ftm", "faq.mdx"), - name: "ftm", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'ftm', 'faq.mdx'), + name: 'ftm', urlPath: `${STRAPI_ROOT_URL}/faq-fantom-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "pol", "faq.mdx"), - name: "matic", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'pol', 'faq.mdx'), + name: 'matic', urlPath: `${STRAPI_ROOT_URL}/faq-polygon-items`, }, { - filePath: join(FILES_ROOT_PATH, "liquid-staking", "flow", "faq.mdx"), - name: "flow", + filePath: join(FILES_ROOT_PATH, 'liquid-staking', 'flow', 'faq.mdx'), + name: 'flow', urlPath: `${STRAPI_ROOT_URL}/faq-flow-items`, }, ]; @@ -78,15 +78,15 @@ const generateFAQFile = async (urlPath, filePath) => { if (!Array.isArray(rawData)) { console.log(`Error with URL: ${urlPath}`); - throw new Error("Invalid data"); + throw new Error('Invalid data'); } const data = rawData - .sort((item1, item2) => item1.id - item2.id) - .map(({ answer, question }) => ({ - h3: question, - p: NodeHtmlMarkdown.translate(answer), - })); + .sort((item1, item2) => item1.id - item2.id) + .map(({ answer, question }) => ({ + h3: question, + p: NodeHtmlMarkdown.translate(answer), + })); fs.writeFileSync(filePath, json2md(data)); diff --git a/src/styles/global.css b/src/styles/global.css index 8465d8cc9..21dcc478f 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,30 +1,11 @@ -@tailwind base; -@tailwind utilities; -@tailwind components; - -/* new */ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; body { font-feature-settings: 'rlig' 1, 'calt' 1; } -.nextra-search { - order: 2; -} - -.nextra-hamburger { - order: 3; -} - -.nextra-nav-container a[href="https://github.com/Ankr-network/"] { - order: 3; -} - /* Web3APIButton in the Sidebar */ -.nextra-sidebar-container ul li:last-of-type { +.nextra-mobile-nav ul li:last-of-type { margin: 0; margin-bottom: 44px; padding: 0; @@ -71,46 +52,6 @@ code.text-\[\.9em\] { } } -/* -.steps-container { - margin-left: 1rem; - padding-left: 1.5rem; - counter-reset: step; - border-left: 1px solid; - border-color: rgb(229 231 235/1); - margin-bottom: 3rem; -} -.steps-container h3 { - counter-increment: step; -} -.steps-container h3:before { - content: counter(step); - display: inline-block; - position: absolute; - margin-top: 3px; - margin-left: -41px; - width: 33px; - height: 33px; - text-align: center; - text-indent: -1px; - color: #999; - border-radius: 100%; - border: 4px solid #fff; - background: #f3f3f3; - line-height: 1.5rem; - font-size: 1rem; - font-weight: 400; -} - -.dark .steps-container { - border-color: #2e2e2e; -} -.dark .steps-container h3:before { - color: #999; - border: 4px solid rgba(17, 17, 17, var(--tw-bg-opacity)); - background: #2e2e2e; -} */ - /* Position custom callouts icons */ .nextra-callout-icon-area { @apply select-none text-xl ltr:pl-3 ltr:pr-2 rtl:pr-3 rtl:pl-2; @@ -127,60 +68,21 @@ code.text-\[\.9em\] { line-height: 1.5rem; } -/* Make space before a list and before a nested list of a diff kind shorter */ - /* Make embedded YouTube container responsive */ -.responsive-youtube -{overflow:hidden; padding-bottom:56.25%; position:relative; height:0;} - -.responsive-youtube iframe -{left:0; top:0; height:100%; width:100%; position:absolute;} - - - - - - - -/* old */ - -/* @layer base{ - body{ - @apply bg-green-100 text-green-900; - } -} */ - -/* -html { - font-feature-settings: "rlig" 1, "calt" 1, "ss01" 1, "ss06" 1 !important; -} - -[data-reach-skip-link] { - @apply sr-only; -} - -[data-reach-skip-link]:focus { - @apply not-sr-only fixed ml-6 top-0 bg-white text-lg px-6 py-2 mt-2 outline-none focus:ring z-50; -} - -.dark .invert-on-dark { - filter: invert(1) brightness(1.8); -} - -.callout a { - color: inherit; -} - -sup a { - @apply text-current; - text-decoration: none; -} - -.footnotes { - @apply text-sm; +.responsive-youtube { + overflow: hidden; + padding-bottom: 56.25%; + position: relative; + height: 0; +} + +.responsive-youtube iframe { + left: 0; + top: 0; + height: 100%; + width: 100%; + position: absolute; } - */ - /* Make space before a list and before a nested list of a diff kind shorter */ ul.nx-mt-6, @@ -188,84 +90,3 @@ ol.nx-mt-6 { margin-top: 0.6em; margin-bottom: 0.5em; } - - -/* Make Prev/Next links font for the desktop version as small as for mobile */ -/* @media (min-width: 768px) { - div.mb-8.flex.items-center.border-t.pt-8 > a.gap-1.flex.items-center.py-4.text-base.font-medium.text-gray-600.transition-colors { - font-size: 1.1rem; - } -} - */ - -/* Links in outlined rectangles */ - -/* -hr.my-8 { - margin-top: 1.5em; - margin-bottom: -0.1em; -} - -h3.mt-8 { - margin-bottom: -0.2em; -} - -h4.mt-8 { - margin-bottom: -0.3em; -} - -.nextra-callout.mt-6 { - margin-top: 1.9em; - padding-bottom: 0.6rem; -} - -.nextra-callout-icon-area { - @apply select-none text-xl ltr:pl-3 ltr:pr-2 rtl:pr-3 rtl:pl-2; - - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; -} - -.redoc-wrap { - background-color: white; -} - -.menu-content { - top: 64px !important; -} -*/ - -/* Some debatable styling refinements - -h2.mt-10 { - margin-bottom: 0.6em; -} - -h3.mt-8 { - margin-top: 1em; - margin-bottom: 0.5em; -} - -h4.mt-8 { - margin-top: 1.4em; - margin-bottom: 0.6em; -} - -pre.mt-6 { - margin-top: 1.1em; -} - -p.mt-6 { - margin-top: 0.7em; - margin-bottom: -0.2em; -} - -blockquote.mt-6 { - margin-top: 1.4em; -} - - */ - diff --git a/tailwind.config.js b/tailwind.config.js index a0d367630..fc0b16317 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -5,9 +5,8 @@ module.exports = { purgeLayersByDefault: true, }, content: [ - './pages/**/*.{js,ts,jsx,tsx,mdx}', - './src/**/*.{js,ts,jsx,tsx}', - './theme.config.tsx' + './content/**/*.{js,ts,jsx,tsx,mdx}', + './src/**/*.{js,ts,jsx,tsx}' ], theme: { extend: {} diff --git a/theme.config.tsx b/theme.config.tsx deleted file mode 100644 index 2fa6bed12..000000000 --- a/theme.config.tsx +++ /dev/null @@ -1,159 +0,0 @@ -import type { DocsThemeConfig } from "nextra-theme-docs"; -import { useConfig } from "nextra-theme-docs"; -import { useRouter } from "next/router"; -import dynamic from "next/dynamic"; - -import FooterMenu from "components/FooterMenu"; -import { DesktopGuard } from "components/DesktopGuard"; -import { MobileGuard } from "components/MobileGuard"; -import AnkrLogo from "./public/logo/ankr-docs-with-logo.svg"; -import NextraFooter from "./public/logo/nextra-footer.svg"; - -const Web3APIButton = dynamic( - () => - import("components/Web3APIButton").then((module) => module.Web3APIButton), - { ssr: false } -); - -const titleTemplate = "%s — Ankr"; -const host = "https://www.ankr.com/docs"; - -const config: DocsThemeConfig = { - project: { - link: "https://github.com/Ankr-network/", - }, - docsRepositoryBase: "https://github.com/Ankr-network/ankr-docs/blob/main", - useNextSeoProps() { - const { pathname } = useRouter(); - const config = useConfig(); - - const description = config.frontMatter.description - ? config.frontMatter.description - : "Ankr is the leading Web3 infrastructure company."; - - const image = config.frontMatter.image || `${host}/og/image.png`; - - return { - canonical: `${host}${pathname}${pathname.endsWith("/") ? "" : "/"}`, - description, - openGraph: { - type: "website", - images: [{ url: image }], - }, - themeColor: "#ffffff", - titleTemplate, - twitter: { - cardType: "summary_large_image", - site: "ankr.com", - }, - }; - }, - logo: , - head() { - const config = useConfig(); - const image = config.frontMatter.image || `${host}/og/image.png`; - - return ( - <> - {/* General */} - - - - {/* SEO */} - - - - - {/* Favicons */} - - - - - - - - ); - }, - editLink: { - text: "Edit this page on GitHub →", - }, - feedback: { - content: "Give us feedback →", - labels: "feedback", - }, - sidebar: { - titleComponent({ title, type }) { - if (type === "separator") { - if (title === "web3APIButton") { - return ( - - - - ); - } - - return {title}; - } - - return <>{title}; - }, - defaultMenuCollapseLevel: 1, - toggleButton: true, - }, - footer: { - text: ( -
    - - -

    - © {new Date().getFullYear()} Ankr All rights reserved | info@ankr.com -

    -
    - ), - }, - navbar: { - extraContent: ( - - - - ), - }, -}; - -export default config; diff --git a/tsconfig.json b/tsconfig.json index 7378e0f1c..328b84cc3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,11 @@ "compilerOptions": { "baseUrl": ".", "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,22 +15,55 @@ "incremental": true, "esModuleInterop": true, "isolatedModules": true, - "moduleResolution": "node", - "jsx": "preserve", + "moduleResolution": "bundler", + "jsx": "react-jsx", "module": "esnext", "resolveJsonModule": true, "paths": { - "components": ["src/components"], - "components/*": ["src/components/*"], - "hooks": ["src/hooks"], - "hooks/*": ["src/hooks/*"], - "icons": ["src/icons"], - "icons/*": ["src/icons/*"], - "styles": ["src/styles"], - "styles/*": ["src/styles/*"], - "types/*": ["src/types/*"] - } + "components": [ + "src/components" + ], + "components/*": [ + "src/components/*" + ], + "hooks": [ + "src/hooks" + ], + "hooks/*": [ + "src/hooks/*" + ], + "icons": [ + "src/icons" + ], + "icons/*": [ + "src/icons/*" + ], + "styles": [ + "src/styles" + ], + "styles/*": [ + "src/styles/*" + ], + "types/*": [ + "src/types/*" + ] + }, + "plugins": [ + { + "name": "next" + } + ] }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "app/layout.tsx" + ], + "exclude": [ + "node_modules", + "theme1.config.tsx" + ] } diff --git a/yarn.lock b/yarn.lock index 5158a25bb..6ea3ad5c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,6 +52,23 @@ __metadata: languageName: node linkType: hard +"@antfu/install-pkg@npm:^1.1.0": + version: 1.1.0 + resolution: "@antfu/install-pkg@npm:1.1.0" + dependencies: + package-manager-detector: "npm:^1.3.0" + tinyexec: "npm:^1.0.1" + checksum: 10c0/140d5994c76fd3d0e824c88f1ce91b3370e8066a8bc2f5729ae133bf768caa239f7915e29c78f239b7ead253113ace51293e95127fafe2b786b88eb615b3be47 + languageName: node + linkType: hard + +"@antfu/utils@npm:^9.2.0": + version: 9.3.0 + resolution: "@antfu/utils@npm:9.3.0" + checksum: 10c0/69135a94c8cc8f48b19d6e81ec53b6997f306fd8688d759e298fa9216779b76e86f5947d7917eccf10d6d000516d5efd3120bf23cbe0c770c9454a36e8a18a3f + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" @@ -93,6 +110,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.24.4": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 + languageName: node + linkType: hard + "@babel/generator@npm:^7.28.0": version: 7.28.0 resolution: "@babel/generator@npm:7.28.0" @@ -106,6 +146,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" + dependencies: + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -213,6 +266,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" @@ -279,6 +345,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-option@npm:7.27.1" @@ -307,6 +380,27 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" + dependencies: + "@babel/types": "npm:^7.28.5" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef + languageName: node + linkType: hard + "@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": version: 7.28.0 resolution: "@babel/parser@npm:7.28.0" @@ -1249,7 +1343,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.8": +"@babel/runtime@npm:^7.21.0": version: 7.27.6 resolution: "@babel/runtime@npm:7.27.6" checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 @@ -1282,6 +1376,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.5" + debug: "npm:^4.3.1" + checksum: 10c0/f6c4a595993ae2b73f2d4cd9c062f2e232174d293edd4abe1d715bd6281da8d99e47c65857e8d0917d9384c65972f4acdebc6749a7c40a8fcc38b3c7fb3e706f + languageName: node + linkType: hard + "@babel/types@npm:^7.20.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.27.6, @babel/types@npm:^7.28.0, @babel/types@npm:^7.4.4": version: 7.28.0 resolution: "@babel/types@npm:7.28.0" @@ -1292,6 +1401,65 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/a5a483d2100befbf125793640dec26b90b95fd233a94c19573325898a5ce1e52cdfa96e495c7dcc31b5eca5b66ce3e6d4a0f5a4a62daec271455959f208ab08a + languageName: node + linkType: hard + +"@braintree/sanitize-url@npm:^7.1.1": + version: 7.1.1 + resolution: "@braintree/sanitize-url@npm:7.1.1" + checksum: 10c0/fdfc1759c4244e287693ce1e9d42d649423e7c203fdccf27a571f8951ddfe34baa5273b7e6a8dd3007d7676859c7a0a9819be0ab42a3505f8505ad0eefecf7c1 + languageName: node + linkType: hard + +"@chevrotain/cst-dts-gen@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/cst-dts-gen@npm:11.0.3" + dependencies: + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/9e945a0611386e4e08af34c2d0b3af36c1af08f726b58145f11310f2aeafcb2d65264c06ec65a32df6b6a65771e6a55be70580c853afe3ceb51487e506967104 + languageName: node + linkType: hard + +"@chevrotain/gast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/gast@npm:11.0.3" + dependencies: + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/54fc44d7b4a7b0323f49d957dd88ad44504922d30cb226d93b430b0e09925efe44e0726068581d777f423fabfb878a2238ed2c87b690c0c0014ebd12b6968354 + languageName: node + linkType: hard + +"@chevrotain/regexp-to-ast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/regexp-to-ast@npm:11.0.3" + checksum: 10c0/6939c5c94fbfb8c559a4a37a283af5ded8e6147b184a7d7bcf5ad1404d9d663c78d81602bd8ea8458ec497358a9e1671541099c511835d0be2cad46f00c62b3f + languageName: node + linkType: hard + +"@chevrotain/types@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/types@npm:11.0.3" + checksum: 10c0/72fe8f0010ebef848e47faea14a88c6fdc3cdbafaef6b13df4a18c7d33249b1b675e37b05cb90a421700c7016dae7cd4187ab6b549e176a81cea434f69cd2503 + languageName: node + linkType: hard + +"@chevrotain/utils@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/utils@npm:11.0.3" + checksum: 10c0/b31972d1b2d444eef1499cf9b7576fc1793e8544910de33a3c18e07c270cfad88067f175d0ee63e7bc604713ebed647f8190db45cc8311852cd2d4fe2ef14068 + languageName: node + linkType: hard + "@corex/deepmerge@npm:^4.0.43": version: 4.0.43 resolution: "@corex/deepmerge@npm:4.0.43" @@ -1299,6 +1467,34 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.5.0, @emnapi/core@npm:^1.6.0": + version: 1.7.1 + resolution: "@emnapi/core@npm:1.7.1" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/f3740be23440b439333e3ae3832163f60c96c4e35337f3220ceba88f36ee89a57a871d27c94eb7a9ff98a09911ed9a2089e477ab549f4d30029f8b907f84a351 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.5.0, @emnapi/runtime@npm:^1.6.0, @emnapi/runtime@npm:^1.7.0": + version: 1.7.1 + resolution: "@emnapi/runtime@npm:1.7.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/26b851cd3e93877d8732a985a2ebf5152325bbacc6204ef5336a47359dedcc23faeb08cdfcb8bb389b5401b3e894b882bc1a1e55b4b7c1ed1e67c991a760ddd5 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.1.0, @emnapi/wasi-threads@npm:^1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 + languageName: node + linkType: hard + "@emotion/babel-plugin@npm:^11.13.5": version: 11.13.5 resolution: "@emotion/babel-plugin@npm:11.13.5" @@ -1461,1736 +1657,3560 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.7.0 - resolution: "@eslint-community/eslint-utils@npm:4.7.0" +"@eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0": + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/c0f4f2bd73b7b7a9de74b716a664873d08ab71ab439e51befe77d61915af41a81ecec93b408778b3a7856185244c34c2c8ee28912072ec14def84ba2dec70adf + checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.21.1": + version: 0.21.1 + resolution: "@eslint/config-array@npm:0.21.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.7" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/2f657d4edd6ddcb920579b72e7a5b127865d4c3fb4dda24f11d5c4f445a93ca481aebdbd6bf3291c536f5d034458dbcbb298ee3b698bc6c9dd02900fe87eec3c + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10c0/92efd7a527b2d17eb1a148409d71d80f9ac160b565ac73ee092252e8bf08ecd08670699f46b306b94f13d22e88ac88a612120e7847570dd7cdc72f234d50dcb4 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.6.1": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/9a580f2246633bc752298e7440dd942ec421860d1946d0801f0423830e67887e4aeba10ab9a23d281727a978eb93d053d1922a587d502942a713607f40ed704e languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.3 + resolution: "@eslint/eslintrc@npm:3.3.3" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" + js-yaml: "npm:^4.1.1" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/532c7acc7ddd042724c28b1f020bd7bf148fcd4653bb44c8314168b5f772508c842ce4ee070299cac51c5c5757d2124bdcfcef5551c8c58ff9986e3e17f2260d languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 +"@eslint/js@npm:9.39.1": + version: 9.39.1 + resolution: "@eslint/js@npm:9.39.1" + checksum: 10c0/6f7f26f8cdb7ad6327bbf9741973b6278eb946f18f70e35406e88194b0d5c522d0547a34a02f2a208eec95c5d1388cdf7ccb20039efd2e4cb6655615247a50f1 languageName: node linkType: hard -"@headlessui/react@npm:^1.7.10": - version: 1.7.19 - resolution: "@headlessui/react@npm:1.7.19" - dependencies: - "@tanstack/react-virtual": "npm:^3.0.0-beta.60" - client-only: "npm:^0.0.1" - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - checksum: 10c0/c0ece0db6ca15092439177a5322de50b60fa5fd90354ae0f999b3e56abab0065ed54fa7b4b69994ec1bdc23adc6ae9919d7dd57f97922d0b9bb6515d27e3a7e5 +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10c0/936b6e499853d1335803f556d526c86f5fe2259ed241bc665000e1d6353828edd913feed43120d150adb75570cae162cf000b5b0dfc9596726761c36b82f4e87 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + "@eslint/core": "npm:^0.17.0" + levn: "npm:^0.4.1" + checksum: 10c0/51600f78b798f172a9915dffb295e2ffb44840d583427bc732baf12ecb963eb841b253300e657da91d890f4b323d10a1bd12934bf293e3018d8bb66fdce5217b languageName: node linkType: hard -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 +"@floating-ui/core@npm:^1.7.3": + version: 1.7.3 + resolution: "@floating-ui/core@npm:1.7.3" + dependencies: + "@floating-ui/utils": "npm:^0.2.10" + checksum: 10c0/edfc23800122d81df0df0fb780b7328ae6c5f00efbb55bd48ea340f4af8c5b3b121ceb4bb81220966ab0f87b443204d37105abdd93d94846468be3243984144c languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@floating-ui/dom@npm:^1.7.4": + version: 1.7.4 + resolution: "@floating-ui/dom@npm:1.7.4" + dependencies: + "@floating-ui/core": "npm:^1.7.3" + "@floating-ui/utils": "npm:^0.2.10" + checksum: 10c0/da6166c25f9b0729caa9f498685a73a0e28251613b35d27db8de8014bc9d045158a23c092b405321a3d67c2064909b6e2a7e6c1c9cc0f62967dca5779f5aef30 languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" +"@floating-ui/react-dom@npm:^2.1.2": + version: 2.1.6 + resolution: "@floating-ui/react-dom@npm:2.1.6" dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + "@floating-ui/dom": "npm:^1.7.4" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 10c0/6654834a8e73ecbdbc6cad2ad8f7abc698ac7c1800ded4d61113525c591c03d2e3b59d3cf9205859221465ea38c87af4f9e6e204703c5b7a7e85332d1eef2e18 languageName: node linkType: hard -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" +"@floating-ui/react@npm:^0.26.16": + version: 0.26.28 + resolution: "@floating-ui/react@npm:0.26.28" dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + "@floating-ui/react-dom": "npm:^2.1.2" + "@floating-ui/utils": "npm:^0.2.8" + tabbable: "npm:^6.0.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 10c0/a42df129e1e976fe8ba3f4c8efdda265a0196c1b66b83f2b9b27423d08dcc765406f893aeff9d830e70e3f14a9d4c490867eb4c32983317cbaa33863b0fae6f6 languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.12 - resolution: "@jridgewell/gen-mapping@npm:0.3.12" +"@floating-ui/utils@npm:^0.2.10, @floating-ui/utils@npm:^0.2.8": + version: 0.2.10 + resolution: "@floating-ui/utils@npm:0.2.10" + checksum: 10c0/e9bc2a1730ede1ee25843937e911ab6e846a733a4488623cd353f94721b05ec2c9ec6437613a2ac9379a94c2fd40c797a2ba6fa1df2716f5ce4aa6ddb1cf9ea4 + languageName: node + linkType: hard + +"@formatjs/intl-localematcher@npm:^0.6.0": + version: 0.6.2 + resolution: "@formatjs/intl-localematcher@npm:0.6.2" dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.0" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/32f771ae2467e4d440be609581f7338d786d3d621bac3469e943b9d6d116c23c4becb36f84898a92bbf2f3c0511365c54a945a3b86a83141547a2a360a5ec0c7 + tslib: "npm:^2.8.0" + checksum: 10c0/22a17a4c67160b6c9f52667914acfb7b79cd6d80630d4ac6d4599ce447cb89d2a64f7d58fa35c3145ddb37fef893f0a45b9a55e663a4eb1f2ae8b10a89fac235 languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e +"@headlessui/react@npm:^2.1.2": + version: 2.2.9 + resolution: "@headlessui/react@npm:2.2.9" + dependencies: + "@floating-ui/react": "npm:^0.26.16" + "@react-aria/focus": "npm:^3.20.2" + "@react-aria/interactions": "npm:^3.25.0" + "@tanstack/react-virtual": "npm:^3.13.9" + use-sync-external-store: "npm:^1.5.0" + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/a1bc4c473d4f58757e2bbc3b4302704030d9d56427a101bbe698b33b6b379885dd0177e5c0862d801117afa3b0a0b858be7685f1cfda5fb3ed3ede53eb24e987 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.4 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.4" - checksum: 10c0/c5aab3e6362a8dd94ad80ab90845730c825fc4c8d9cf07ebca7a2eb8a832d155d62558800fc41d42785f989ddbb21db6df004d1786e8ecb65e428ab8dff71309 +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": - version: 0.3.29 - resolution: "@jridgewell/trace-mapping@npm:0.3.29" +"@humanfs/node@npm:^0.16.6": + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/fb547ba31658c4d74eb17e7389f4908bf7c44cef47acb4c5baa57289daf68e6fe53c639f41f751b3923aca67010501264f70e7b49978ad1f040294b22c37b333 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/9f83d3cf2cfa37383e01e3cdaead11cd426208e04c44adcdd291aa983aaf72d7d3598844d2fe9ce54896bb1bf8bd4b56883376611c8905a19c44684642823f30 languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.2.1, @mdx-js/mdx@npm:^2.3.0": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/mdx": "npm:^2.0.0" - estree-util-build-jsx: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - estree-util-to-js: "npm:^1.1.0" - estree-walker: "npm:^3.0.0" - hast-util-to-estree: "npm:^2.0.0" - markdown-extensions: "npm:^1.0.0" - periscopic: "npm:^3.0.0" - remark-mdx: "npm:^2.0.0" - remark-parse: "npm:^10.0.0" - remark-rehype: "npm:^10.0.0" - unified: "npm:^10.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/719384d8e72abd3e83aa2fd3010394636e32cc0e5e286b6414427ef03121397586ce97ec816afcc4d2b22ba65939c3801a8198e04cf921dd597c0aa9fd75dbb4 - languageName: node - linkType: hard - -"@mdx-js/react@npm:^2.2.1, @mdx-js/react@npm:^2.3.0": - version: 2.3.0 - resolution: "@mdx-js/react@npm:2.3.0" - dependencies: - "@types/mdx": "npm:^2.0.0" - "@types/react": "npm:>=16" - peerDependencies: - react: ">=16" - checksum: 10c0/6d647115703dbe258f7fe372499fa8c6fe17a053ff0f2a208111c9973a71ae738a0ed376770445d39194d217e00e1a015644b24f32c2f7cb4f57988de0649b15 +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.18.0": - version: 5.18.0 - resolution: "@mui/core-downloads-tracker@npm:5.18.0" - checksum: 10c0/d82962a1b69878cf6a6785b6600302a943d474af00bba50169e207ce0bb5d072f1ed65783c7d5ca940cbe4228ab86bc95bb57545cf2cd039d588f2571bbefe0c +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 languageName: node linkType: hard -"@mui/material@npm:^5.15.0": - version: 5.18.0 - resolution: "@mui/material@npm:5.18.0" +"@iconify/types@npm:^2.0.0": + version: 2.0.0 + resolution: "@iconify/types@npm:2.0.0" + checksum: 10c0/65a3be43500c7ccacf360e136d00e1717f050b7b91da644e94370256ac66f582d59212bdb30d00788aab4fc078262e91c95b805d1808d654b72f6d2072a7e4b2 + languageName: node + linkType: hard + +"@iconify/utils@npm:^3.0.1": + version: 3.0.2 + resolution: "@iconify/utils@npm:3.0.2" dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/core-downloads-tracker": "npm:^5.18.0" - "@mui/system": "npm:^5.18.0" - "@mui/types": "npm:~7.2.15" - "@mui/utils": "npm:^5.17.1" - "@popperjs/core": "npm:^2.11.8" - "@types/react-transition-group": "npm:^4.4.10" - clsx: "npm:^2.1.0" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - react-is: "npm:^19.0.0" - react-transition-group: "npm:^4.4.5" - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 10c0/a743c9105d08b636d4d9cf0aa276283b9095113771c188c7f5ac6953606dd77a5eb082dbbd889446a9a8573b8676d7249140c29eec55ae8320592e5f02d0f2cb + "@antfu/install-pkg": "npm:^1.1.0" + "@antfu/utils": "npm:^9.2.0" + "@iconify/types": "npm:^2.0.0" + debug: "npm:^4.4.1" + globals: "npm:^15.15.0" + kolorist: "npm:^1.8.0" + local-pkg: "npm:^1.1.1" + mlly: "npm:^1.7.4" + checksum: 10c0/ac9f9362b0d0143dd9861bcc64a0699f607f4f9df902aab3875b06832a89dd6a0e8ba2e1c43e927073a84661bf2882f1c79b5a3159a3cee53570d080b535c12c languageName: node linkType: hard -"@mui/private-theming@npm:^5.17.1": - version: 5.17.1 - resolution: "@mui/private-theming@npm:5.17.1" +"@img/colour@npm:^1.0.0": + version: 1.0.0 + resolution: "@img/colour@npm:1.0.0" + checksum: 10c0/02261719c1e0d7aa5a2d585981954f2ac126f0c432400aa1a01b925aa2c41417b7695da8544ee04fd29eba7ecea8eaf9b8bef06f19dc8faba78f94eeac40667d + languageName: node + linkType: hard + +"@img/sharp-darwin-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-darwin-arm64@npm:0.34.5" dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/utils": "npm:^5.17.1" - prop-types: "npm:^15.8.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": + "@img/sharp-libvips-darwin-arm64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": optional: true - checksum: 10c0/53015616e3497d5fe1b068c49a5f3ebc81160fe4a08a05f1cf61acfe64522a2e6bb3d13110797a5619ceb46dce291dc13b5031cd4bcf4dbf42800b73f98640dd + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.18.0": - version: 5.18.0 - resolution: "@mui/styled-engine@npm:5.18.0" +"@img/sharp-darwin-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-darwin-x64@npm:0.34.5" dependencies: - "@babel/runtime": "npm:^7.23.9" - "@emotion/cache": "npm:^11.13.5" - "@emotion/serialize": "npm:^1.3.3" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.4.1 - "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": + "@img/sharp-libvips-darwin-x64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-x64": optional: true - checksum: 10c0/68dad75142eea160fc51abf14915d07afd0e7e7791823f6ea6845b2037fde9de6c17b84247a1f283a1437d130857cb97c1a8474c25c161a934671bc48f205418 + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@mui/system@npm:^5.18.0": - version: 5.18.0 - resolution: "@mui/system@npm:5.18.0" - dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/private-theming": "npm:^5.17.1" - "@mui/styled-engine": "npm:^5.18.0" - "@mui/types": "npm:~7.2.15" - "@mui/utils": "npm:^5.17.1" - clsx: "npm:^2.1.0" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 10c0/9f5ad15f08c71560e9723b1f136214a0871079a976285f8b813041081850e1f9e2e9fb00766c15814217852694a521a9a91cde3bed95b8062defa8052f69eabf - languageName: node - linkType: hard - -"@mui/types@npm:~7.2.15": - version: 7.2.24 - resolution: "@mui/types@npm:7.2.24" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/7756339cae70e9b684c4311924e4e3882f908552b69c434b4d13faf2f5908ce72fe889a31890257c5ad42a085207be7c1661981dfc683293e90ac6dfac3759d0 - languageName: node - linkType: hard - -"@mui/utils@npm:^5.17.1": - version: 5.17.1 - resolution: "@mui/utils@npm:5.17.1" - dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/types": "npm:~7.2.15" - "@types/prop-types": "npm:^15.7.12" - clsx: "npm:^2.1.1" - prop-types: "npm:^15.8.1" - react-is: "npm:^19.0.0" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/0a2b033f85b67ad5cab86c5b9e2341cc1a1fa931eaad5489b21281e0bfe9054061817a8de50bcf3363f17f5a3f0c44400950099f36e5039e735c1b5f3b30cf2b - languageName: node - linkType: hard - -"@napi-rs/simple-git-android-arm-eabi@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-android-arm-eabi@npm:0.1.19" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@napi-rs/simple-git-android-arm64@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-android-arm64@npm:0.1.19" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@napi-rs/simple-git-darwin-arm64@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-darwin-arm64@npm:0.1.19" +"@img/sharp-libvips-darwin-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@napi-rs/simple-git-darwin-x64@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-darwin-x64@npm:0.1.19" +"@img/sharp-libvips-darwin-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@napi-rs/simple-git-freebsd-x64@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-freebsd-x64@npm:0.1.19" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@napi-rs/simple-git-linux-arm-gnueabihf@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-arm-gnueabihf@npm:0.1.19" - conditions: os=linux & cpu=arm +"@img/sharp-libvips-linux-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.4" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-arm64-gnu@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-arm64-gnu@npm:0.1.19" - conditions: os=linux & cpu=arm64 & libc=glibc +"@img/sharp-libvips-linux-arm@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-arm@npm:1.2.4" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-arm64-musl@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-arm64-musl@npm:0.1.19" - conditions: os=linux & cpu=arm64 & libc=musl +"@img/sharp-libvips-linux-ppc64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.4" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-powerpc64le-gnu@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-powerpc64le-gnu@npm:0.1.19" - conditions: os=linux & cpu=powerpc64le & libc=glibc +"@img/sharp-libvips-linux-riscv64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-riscv64@npm:1.2.4" + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-s390x-gnu@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-s390x-gnu@npm:0.1.19" +"@img/sharp-libvips-linux-s390x@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.4" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-x64-gnu@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-x64-gnu@npm:0.1.19" +"@img/sharp-libvips-linux-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-x64@npm:1.2.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git-linux-x64-musl@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-linux-x64-musl@npm:0.1.19" - conditions: os=linux & cpu=x64 & libc=musl +"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@napi-rs/simple-git-win32-arm64-msvc@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-win32-arm64-msvc@npm:0.1.19" - conditions: os=win32 & cpu=arm64 +"@img/sharp-libvips-linuxmusl-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.4" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@napi-rs/simple-git-win32-x64-msvc@npm:0.1.19": - version: 0.1.19 - resolution: "@napi-rs/simple-git-win32-x64-msvc@npm:0.1.19" - conditions: os=win32 & cpu=x64 +"@img/sharp-linux-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-arm64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-arm64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@napi-rs/simple-git@npm:^0.1.8": - version: 0.1.19 - resolution: "@napi-rs/simple-git@npm:0.1.19" - dependencies: - "@napi-rs/simple-git-android-arm-eabi": "npm:0.1.19" - "@napi-rs/simple-git-android-arm64": "npm:0.1.19" - "@napi-rs/simple-git-darwin-arm64": "npm:0.1.19" - "@napi-rs/simple-git-darwin-x64": "npm:0.1.19" - "@napi-rs/simple-git-freebsd-x64": "npm:0.1.19" - "@napi-rs/simple-git-linux-arm-gnueabihf": "npm:0.1.19" - "@napi-rs/simple-git-linux-arm64-gnu": "npm:0.1.19" - "@napi-rs/simple-git-linux-arm64-musl": "npm:0.1.19" - "@napi-rs/simple-git-linux-powerpc64le-gnu": "npm:0.1.19" - "@napi-rs/simple-git-linux-s390x-gnu": "npm:0.1.19" - "@napi-rs/simple-git-linux-x64-gnu": "npm:0.1.19" - "@napi-rs/simple-git-linux-x64-musl": "npm:0.1.19" - "@napi-rs/simple-git-win32-arm64-msvc": "npm:0.1.19" - "@napi-rs/simple-git-win32-x64-msvc": "npm:0.1.19" +"@img/sharp-linux-arm@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-arm@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-arm": "npm:1.2.4" dependenciesMeta: - "@napi-rs/simple-git-android-arm-eabi": - optional: true - "@napi-rs/simple-git-android-arm64": - optional: true - "@napi-rs/simple-git-darwin-arm64": - optional: true - "@napi-rs/simple-git-darwin-x64": - optional: true - "@napi-rs/simple-git-freebsd-x64": - optional: true - "@napi-rs/simple-git-linux-arm-gnueabihf": - optional: true - "@napi-rs/simple-git-linux-arm64-gnu": - optional: true - "@napi-rs/simple-git-linux-arm64-musl": - optional: true - "@napi-rs/simple-git-linux-powerpc64le-gnu": - optional: true - "@napi-rs/simple-git-linux-s390x-gnu": - optional: true - "@napi-rs/simple-git-linux-x64-gnu": - optional: true - "@napi-rs/simple-git-linux-x64-musl": + "@img/sharp-libvips-linux-arm": optional: true - "@napi-rs/simple-git-win32-arm64-msvc": - optional: true - "@napi-rs/simple-git-win32-x64-msvc": - optional: true - checksum: 10c0/b8088c2a21c4f8ce5bee69933c23efba16738eb07b58a44e6c1eac042770f1b6f6687bfc3cb98e8ef5f2dbd29754e37678743fdf5a0e0c3ffcfaef165a86a895 + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@next/env@npm:13.2.0": - version: 13.2.0 - resolution: "@next/env@npm:13.2.0" - checksum: 10c0/0b6ba9e9536fe68c5f13c4ad6daf095f74788330ba17786396ba573a0d34d2af465e3806491a2f3302c0114fdb3036f87dcab197730b0d336f6caf965b68bdec +"@img/sharp-linux-ppc64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-ppc64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-ppc64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-ppc64": + optional: true + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@next/env@npm:^13.4.3": - version: 13.5.11 - resolution: "@next/env@npm:13.5.11" - checksum: 10c0/5274248b8f53fe5ec330d55c771387645aaa85adf4de41b6e770e884d8bf1f5417509bbdc22edecd0e0882f5e6d5e6b8d1214a7471d5c1183ae3e6f0bfa359d3 +"@img/sharp-linux-riscv64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-riscv64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-riscv64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-riscv64": + optional: true + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@next/swc-android-arm-eabi@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-android-arm-eabi@npm:13.2.0" - conditions: os=android & cpu=arm +"@img/sharp-linux-s390x@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-s390x@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-s390x": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-s390x": + optional: true + conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@next/swc-android-arm64@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-android-arm64@npm:13.2.0" - conditions: os=android & cpu=arm64 +"@img/sharp-linux-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-x64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-darwin-arm64@npm:13.2.0" - conditions: os=darwin & cpu=arm64 +"@img/sharp-linuxmusl-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-darwin-x64@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-darwin-x64@npm:13.2.0" - conditions: os=darwin & cpu=x64 +"@img/sharp-linuxmusl-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linuxmusl-x64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-freebsd-x64@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-freebsd-x64@npm:13.2.0" - conditions: os=freebsd & cpu=x64 +"@img/sharp-wasm32@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-wasm32@npm:0.34.5" + dependencies: + "@emnapi/runtime": "npm:^1.7.0" + conditions: cpu=wasm32 languageName: node linkType: hard -"@next/swc-linux-arm-gnueabihf@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.0" - conditions: os=linux & cpu=arm +"@img/sharp-win32-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-arm64@npm:0.34.5" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-linux-arm64-gnu@npm:13.2.0" - conditions: os=linux & cpu=arm64 & libc=glibc +"@img/sharp-win32-ia32@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-ia32@npm:0.34.5" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-linux-arm64-musl@npm:13.2.0" - conditions: os=linux & cpu=arm64 & libc=musl +"@img/sharp-win32-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-x64@npm:0.34.5" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-linux-x64-gnu@npm:13.2.0" - conditions: os=linux & cpu=x64 & libc=glibc +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-linux-x64-musl@npm:13.2.0" - conditions: os=linux & cpu=x64 & libc=musl +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-win32-arm64-msvc@npm:13.2.0" - conditions: os=win32 & cpu=arm64 +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.12 + resolution: "@jridgewell/gen-mapping@npm:0.3.12" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/32f771ae2467e4d440be609581f7338d786d3d621bac3469e943b9d6d116c23c4becb36f84898a92bbf2f3c0511365c54a945a3b86a83141547a2a360a5ec0c7 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-win32-ia32-msvc@npm:13.2.0" - conditions: os=win32 & cpu=ia32 +"@jridgewell/remapping@npm:^2.3.4, @jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:13.2.0": - version: 13.2.0 - resolution: "@next/swc-win32-x64-msvc@npm:13.2.0" - conditions: os=win32 & cpu=x64 +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.4 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.4" + checksum: 10c0/c5aab3e6362a8dd94ad80ab90845730c825fc4c8d9cf07ebca7a2eb8a832d155d62558800fc41d42785f989ddbb21db6df004d1786e8ecb65e428ab8dff71309 languageName: node linkType: hard -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d +"@jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.29 + resolution: "@jridgewell/trace-mapping@npm:0.3.29" dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/fb547ba31658c4d74eb17e7389f4908bf7c44cef47acb4c5baa57289daf68e6fe53c639f41f751b3923aca67010501264f70e7b49978ad1f040294b22c37b333 languageName: node linkType: hard -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" +"@mdx-js/mdx@npm:^3.0.0": + version: 3.1.1 + resolution: "@mdx-js/mdx@npm:3.1.1" dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdx": "npm:^2.0.0" + acorn: "npm:^8.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-scope: "npm:^1.0.0" + estree-walker: "npm:^3.0.0" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/371ed95e2bee7731f30a7ce57db66383a0b7470e66c38139427174cb456d6a40bf7d259f3652716370c1de64acfba50a1ba27eb8c556e7a431dc7940b04cb1a1 languageName: node linkType: hard -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" +"@mermaid-js/parser@npm:^0.6.3": + version: 0.6.3 + resolution: "@mermaid-js/parser@npm:0.6.3" dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + langium: "npm:3.3.1" + checksum: 10c0/9711174ff31f32d93c8da03ed6b1a1380f5ccfb27ffcdfaf42236da4b381aa0602752b3afc7893582d5ccdfc79b0465c69afe963b825328049575831f4ddd28e languageName: node linkType: hard -"@popperjs/core@npm:^2.11.6, @popperjs/core@npm:^2.11.8": - version: 2.11.8 - resolution: "@popperjs/core@npm:2.11.8" - checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 +"@mui/core-downloads-tracker@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/core-downloads-tracker@npm:5.18.0" + checksum: 10c0/d82962a1b69878cf6a6785b6600302a943d474af00bba50169e207ce0bb5d072f1ed65783c7d5ca940cbe4228ab86bc95bb57545cf2cd039d588f2571bbefe0c languageName: node linkType: hard -"@svgr/babel-plugin-add-jsx-attribute@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:6.5.1" +"@mui/material@npm:^5.15.0": + version: 5.18.0 + resolution: "@mui/material@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/core-downloads-tracker": "npm:^5.18.0" + "@mui/system": "npm:^5.18.0" + "@mui/types": "npm:~7.2.15" + "@mui/utils": "npm:^5.17.1" + "@popperjs/core": "npm:^2.11.8" + "@types/react-transition-group": "npm:^4.4.10" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + react-is: "npm:^19.0.0" + react-transition-group: "npm:^4.4.5" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a13ed0797189d5497890530449029bec388310e260a96459e304e2729e7a2cf4d20d34f882d9a77ccce73dd3d36065afbb6987258fdff618d7d57955065a8ad4 + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 10c0/a743c9105d08b636d4d9cf0aa276283b9095113771c188c7f5ac6953606dd77a5eb082dbbd889446a9a8573b8676d7249140c29eec55ae8320592e5f02d0f2cb languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-attribute@npm:*": +"@mui/private-theming@npm:^5.17.1": + version: 5.17.1 + resolution: "@mui/private-theming@npm:5.17.1" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/utils": "npm:^5.17.1" + prop-types: "npm:^15.8.1" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/53015616e3497d5fe1b068c49a5f3ebc81160fe4a08a05f1cf61acfe64522a2e6bb3d13110797a5619ceb46dce291dc13b5031cd4bcf4dbf42800b73f98640dd + languageName: node + linkType: hard + +"@mui/styled-engine@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/styled-engine@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@emotion/cache": "npm:^11.13.5" + "@emotion/serialize": "npm:^1.3.3" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.4.1 + "@emotion/styled": ^11.3.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + checksum: 10c0/68dad75142eea160fc51abf14915d07afd0e7e7791823f6ea6845b2037fde9de6c17b84247a1f283a1437d130857cb97c1a8474c25c161a934671bc48f205418 + languageName: node + linkType: hard + +"@mui/system@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/system@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/private-theming": "npm:^5.17.1" + "@mui/styled-engine": "npm:^5.18.0" + "@mui/types": "npm:~7.2.15" + "@mui/utils": "npm:^5.17.1" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 10c0/9f5ad15f08c71560e9723b1f136214a0871079a976285f8b813041081850e1f9e2e9fb00766c15814217852694a521a9a91cde3bed95b8062defa8052f69eabf + languageName: node + linkType: hard + +"@mui/types@npm:~7.2.15": + version: 7.2.24 + resolution: "@mui/types@npm:7.2.24" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/7756339cae70e9b684c4311924e4e3882f908552b69c434b4d13faf2f5908ce72fe889a31890257c5ad42a085207be7c1661981dfc683293e90ac6dfac3759d0 + languageName: node + linkType: hard + +"@mui/utils@npm:^5.17.1": + version: 5.17.1 + resolution: "@mui/utils@npm:5.17.1" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/types": "npm:~7.2.15" + "@types/prop-types": "npm:^15.7.12" + clsx: "npm:^2.1.1" + prop-types: "npm:^15.8.1" + react-is: "npm:^19.0.0" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/0a2b033f85b67ad5cab86c5b9e2341cc1a1fa931eaad5489b21281e0bfe9054061817a8de50bcf3363f17f5a3f0c44400950099f36e5039e735c1b5f3b30cf2b + languageName: node + linkType: hard + +"@napi-rs/simple-git-android-arm-eabi@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-android-arm-eabi@npm:0.1.22" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@napi-rs/simple-git-android-arm64@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-android-arm64@npm:0.1.22" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@napi-rs/simple-git-darwin-arm64@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-darwin-arm64@npm:0.1.22" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@napi-rs/simple-git-darwin-x64@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-darwin-x64@npm:0.1.22" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@napi-rs/simple-git-freebsd-x64@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-freebsd-x64@npm:0.1.22" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-arm-gnueabihf@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-arm-gnueabihf@npm:0.1.22" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-arm64-gnu@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-arm64-gnu@npm:0.1.22" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-arm64-musl@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-arm64-musl@npm:0.1.22" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-ppc64-gnu@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-ppc64-gnu@npm:0.1.22" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-s390x-gnu@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-s390x-gnu@npm:0.1.22" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-x64-gnu@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-x64-gnu@npm:0.1.22" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@napi-rs/simple-git-linux-x64-musl@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-linux-x64-musl@npm:0.1.22" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@napi-rs/simple-git-win32-arm64-msvc@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-win32-arm64-msvc@npm:0.1.22" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@napi-rs/simple-git-win32-ia32-msvc@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-win32-ia32-msvc@npm:0.1.22" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@napi-rs/simple-git-win32-x64-msvc@npm:0.1.22": + version: 0.1.22 + resolution: "@napi-rs/simple-git-win32-x64-msvc@npm:0.1.22" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@napi-rs/simple-git@npm:^0.1.9": + version: 0.1.22 + resolution: "@napi-rs/simple-git@npm:0.1.22" + dependencies: + "@napi-rs/simple-git-android-arm-eabi": "npm:0.1.22" + "@napi-rs/simple-git-android-arm64": "npm:0.1.22" + "@napi-rs/simple-git-darwin-arm64": "npm:0.1.22" + "@napi-rs/simple-git-darwin-x64": "npm:0.1.22" + "@napi-rs/simple-git-freebsd-x64": "npm:0.1.22" + "@napi-rs/simple-git-linux-arm-gnueabihf": "npm:0.1.22" + "@napi-rs/simple-git-linux-arm64-gnu": "npm:0.1.22" + "@napi-rs/simple-git-linux-arm64-musl": "npm:0.1.22" + "@napi-rs/simple-git-linux-ppc64-gnu": "npm:0.1.22" + "@napi-rs/simple-git-linux-s390x-gnu": "npm:0.1.22" + "@napi-rs/simple-git-linux-x64-gnu": "npm:0.1.22" + "@napi-rs/simple-git-linux-x64-musl": "npm:0.1.22" + "@napi-rs/simple-git-win32-arm64-msvc": "npm:0.1.22" + "@napi-rs/simple-git-win32-ia32-msvc": "npm:0.1.22" + "@napi-rs/simple-git-win32-x64-msvc": "npm:0.1.22" + dependenciesMeta: + "@napi-rs/simple-git-android-arm-eabi": + optional: true + "@napi-rs/simple-git-android-arm64": + optional: true + "@napi-rs/simple-git-darwin-arm64": + optional: true + "@napi-rs/simple-git-darwin-x64": + optional: true + "@napi-rs/simple-git-freebsd-x64": + optional: true + "@napi-rs/simple-git-linux-arm-gnueabihf": + optional: true + "@napi-rs/simple-git-linux-arm64-gnu": + optional: true + "@napi-rs/simple-git-linux-arm64-musl": + optional: true + "@napi-rs/simple-git-linux-ppc64-gnu": + optional: true + "@napi-rs/simple-git-linux-s390x-gnu": + optional: true + "@napi-rs/simple-git-linux-x64-gnu": + optional: true + "@napi-rs/simple-git-linux-x64-musl": + optional: true + "@napi-rs/simple-git-win32-arm64-msvc": + optional: true + "@napi-rs/simple-git-win32-ia32-msvc": + optional: true + "@napi-rs/simple-git-win32-x64-msvc": + optional: true + checksum: 10c0/e9717ce30979d4251a624cbe97bc4846435f099eb95c114c585042da5768e05dbee05208e47d3a324a4d100e82ed04bc55aa3383b368ea56397670c6962f3ad5 + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^1.0.7": + version: 1.0.7 + resolution: "@napi-rs/wasm-runtime@npm:1.0.7" + dependencies: + "@emnapi/core": "npm:^1.5.0" + "@emnapi/runtime": "npm:^1.5.0" + "@tybys/wasm-util": "npm:^0.10.1" + checksum: 10c0/2d8635498136abb49d6dbf7395b78c63422292240963bf055f307b77aeafbde57ae2c0ceaaef215601531b36d6eb92a2cdd6f5ba90ed2aa8127c27aff9c4ae55 + languageName: node + linkType: hard + +"@next/env@npm:16.0.3": + version: 16.0.3 + resolution: "@next/env@npm:16.0.3" + checksum: 10c0/a0eb5b3cb1dda6a9deaec036aa530225dcb6d60f58d8dcfc11df84dff9c1e3e625094a7bf1ff4c3bb51b8efed31272468f306fd73ebdaabbc628fb1af0c23340 + languageName: node + linkType: hard + +"@next/env@npm:^13.4.3": + version: 13.5.11 + resolution: "@next/env@npm:13.5.11" + checksum: 10c0/5274248b8f53fe5ec330d55c771387645aaa85adf4de41b6e770e884d8bf1f5417509bbdc22edecd0e0882f5e6d5e6b8d1214a7471d5c1183ae3e6f0bfa359d3 + languageName: node + linkType: hard + +"@next/eslint-plugin-next@npm:16.0.7": + version: 16.0.7 + resolution: "@next/eslint-plugin-next@npm:16.0.7" + dependencies: + fast-glob: "npm:3.3.1" + checksum: 10c0/dce7be827de6686d11c68e1ae22f136e926bf63d9373a9f6c5fc8a2ce4a0ab92857c4becec9cd07c7293bb4ce6e0fa5c8407521e3632d61a42ad82769e190a8c + languageName: node + linkType: hard + +"@next/swc-darwin-arm64@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-darwin-arm64@npm:16.0.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@next/swc-darwin-x64@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-darwin-x64@npm:16.0.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@next/swc-linux-arm64-gnu@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-linux-arm64-gnu@npm:16.0.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@next/swc-linux-arm64-musl@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-linux-arm64-musl@npm:16.0.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@next/swc-linux-x64-gnu@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-linux-x64-gnu@npm:16.0.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@next/swc-linux-x64-musl@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-linux-x64-musl@npm:16.0.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@next/swc-win32-arm64-msvc@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-win32-arm64-msvc@npm:16.0.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@next/swc-win32-x64-msvc@npm:16.0.3": + version: 16.0.3 + resolution: "@next/swc-win32-x64-msvc@npm:16.0.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@nolyfill/is-core-module@npm:1.0.39": + version: 1.0.39 + resolution: "@nolyfill/is-core-module@npm:1.0.39" + checksum: 10c0/34ab85fdc2e0250879518841f74a30c276bca4f6c3e13526d2d1fe515e1adf6d46c25fcd5989d22ea056d76f7c39210945180b4859fc83b050e2da411aa86289 + languageName: node + linkType: hard + +"@popperjs/core@npm:^2.11.8": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 + languageName: node + linkType: hard + +"@react-aria/focus@npm:^3.20.2": + version: 3.21.2 + resolution: "@react-aria/focus@npm:3.21.2" + dependencies: + "@react-aria/interactions": "npm:^3.25.6" + "@react-aria/utils": "npm:^3.31.0" + "@react-types/shared": "npm:^3.32.1" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/bfcdbb8d47bf038c035b025df6b9c292eeea9a2af7c77ec2ac27c302cb64dc481cfe80bb6575b399301ad1516feba134dec01e3c112ca2cf912ca13b47965917 + languageName: node + linkType: hard + +"@react-aria/interactions@npm:^3.25.0, @react-aria/interactions@npm:^3.25.6": + version: 3.25.6 + resolution: "@react-aria/interactions@npm:3.25.6" + dependencies: + "@react-aria/ssr": "npm:^3.9.10" + "@react-aria/utils": "npm:^3.31.0" + "@react-stately/flags": "npm:^3.1.2" + "@react-types/shared": "npm:^3.32.1" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/000300ee3cfab724228c89f7261e94e1357f91f746256c352466a014ab6e1e907a3e6c6a2c0e73a6dd7efc97c1a608c96462de5b41a3eebda22cbc97550a797d + languageName: node + linkType: hard + +"@react-aria/ssr@npm:^3.9.10": + version: 3.9.10 + resolution: "@react-aria/ssr@npm:3.9.10" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/44acb4c441d9c5d65aab94aa81fd8368413cf2958ab458582296dd78f6ba4783583f2311fa986120060e5c26b54b1f01e8910ffd17e4f41ccc5fc8c357d84089 + languageName: node + linkType: hard + +"@react-aria/utils@npm:^3.31.0": + version: 3.31.0 + resolution: "@react-aria/utils@npm:3.31.0" + dependencies: + "@react-aria/ssr": "npm:^3.9.10" + "@react-stately/flags": "npm:^3.1.2" + "@react-stately/utils": "npm:^3.10.8" + "@react-types/shared": "npm:^3.32.1" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a6b5c6b85a51fa9ca204f045f70d36a55e16b56b85141d556eaacb7b74c4c0915189f6d2baea06df59bdd2926dcca08c2313c98478dbb50ed8e59f9b6754735c + languageName: node + linkType: hard + +"@react-stately/flags@npm:^3.1.2": + version: 3.1.2 + resolution: "@react-stately/flags@npm:3.1.2" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/d86890ce662f04c7d8984e9560527f46c9779b97757abded9e1bf7e230a6900a0ea7a3e7c22534de8d2ff278abae194e4e4ad962d710f3b04c52a4e1011c2e5b + languageName: node + linkType: hard + +"@react-stately/utils@npm:^3.10.8": + version: 3.10.8 + resolution: "@react-stately/utils@npm:3.10.8" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a97cc292986e3eeb2ceb1626671ce60e8342a3ff35ab92bcfcb94bd6b28729836cc592e3fe4df2fba603e5fdd26291be77b7f60441920298c282bb93f424feba + languageName: node + linkType: hard + +"@react-types/shared@npm:^3.32.1": + version: 3.32.1 + resolution: "@react-types/shared@npm:3.32.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0a67a34e791c598c5819beb9aa5c11e67db06c9fccc9c5304453147b877fdfc7e73d520e92fcdde8b743e2f155b4cb6a50a15792001a776151191af73d60e24c + languageName: node + linkType: hard + +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b + languageName: node + linkType: hard + +"@shikijs/core@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/core@npm:3.15.0" + dependencies: + "@shikijs/types": "npm:3.15.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + hast-util-to-html: "npm:^9.0.5" + checksum: 10c0/b76ee8518cb4bbb22fa5923f0d6aa351ca8775cd11cc5a71e509b7fce5935d6a2fc4fd5154ca15597cbb0192d2fa3341f2568a85a7c7939a1b2f7a330ab306fc + languageName: node + linkType: hard + +"@shikijs/engine-javascript@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/engine-javascript@npm:3.15.0" + dependencies: + "@shikijs/types": "npm:3.15.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + oniguruma-to-es: "npm:^4.3.3" + checksum: 10c0/a72c83eb2c495ed8f075314e47503e04eaca7b01017cdec7bb5d2017f6464c87cff3578fc8142239c8f060dfd4b92717f3d48c0e49127c2ca50be4456548d87c + languageName: node + linkType: hard + +"@shikijs/engine-oniguruma@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/engine-oniguruma@npm:3.15.0" + dependencies: + "@shikijs/types": "npm:3.15.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + checksum: 10c0/97cb43d1f3fbace9f5412e516ab87ad38b529550bb696891a518efcefa32680a0b625a17e1fe8db6cf2b1e6e252db7ac408e3294375ec0600a9b07e4e482ca7c + languageName: node + linkType: hard + +"@shikijs/langs@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/langs@npm:3.15.0" + dependencies: + "@shikijs/types": "npm:3.15.0" + checksum: 10c0/d5a328ec999572f50e4fec77213e7d0f106c90c04e078be29cdb2467f10012221d52435fd9711f963ce30adbf14805d2a31a2e602fa7a074fa450bbf83553eca + languageName: node + linkType: hard + +"@shikijs/themes@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/themes@npm:3.15.0" + dependencies: + "@shikijs/types": "npm:3.15.0" + checksum: 10c0/2b6a435d991d1fd924622e437c5546ecc5ab3d5c0843edbe2ca444e4e91a9c4d8d9c0a673a32afdb1c262dffcd7839518a9f9154121be8dfa7553f99458d9bab + languageName: node + linkType: hard + +"@shikijs/twoslash@npm:^3.2.1": + version: 3.15.0 + resolution: "@shikijs/twoslash@npm:3.15.0" + dependencies: + "@shikijs/core": "npm:3.15.0" + "@shikijs/types": "npm:3.15.0" + twoslash: "npm:^0.3.4" + peerDependencies: + typescript: ">=5.5.0" + checksum: 10c0/b51bc08385b4298a7c703cb47e2d0113a795912f7a8cb9816d2e673f96a847fbcb9b9b50527dbc2c71a6565d5a1587e8aea9abaecf5fb4b0705c125d570516c5 + languageName: node + linkType: hard + +"@shikijs/types@npm:3.15.0": + version: 3.15.0 + resolution: "@shikijs/types@npm:3.15.0" + dependencies: + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/bc18c7e8b83fbf73f88a26dcf06e777566f8d8568a26ace4dacf5373c51e95213af1181eb389c4d0d7dc57c21824396278d6cbebf57a905676923bfdab00bb23 + languageName: node + linkType: hard + +"@shikijs/vscode-textmate@npm:^10.0.2": + version: 10.0.2 + resolution: "@shikijs/vscode-textmate@npm:10.0.2" + checksum: 10c0/36b682d691088ec244de292dc8f91b808f95c89466af421cf84cbab92230f03c8348649c14b3251991b10ce632b0c715e416e992dd5f28ff3221dc2693fd9462 + languageName: node + linkType: hard + +"@svgr/babel-plugin-add-jsx-attribute@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a13ed0797189d5497890530449029bec388310e260a96459e304e2729e7a2cf4d20d34f882d9a77ccce73dd3d36065afbb6987258fdff618d7d57955065a8ad4 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:*": version: 8.0.0 resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:*": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/318786787c9a217c33a7340c8856436858e1fffa5a6df635fedc6b9a371f3afea080ea074b9e3cfbbd9dd962ead924fde8bc9855a394c38dd60e391883a58c81 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/16ef228c793b909fec47dd7dc05c1c3c2d77a824f42055df37e141e0534081b1bc4aec6dcc51be50c221df9f262f59270fc1c379923bfd4f5db302abafabfd8d + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dfdd5cbe6ae543505eaa0da69df0735b7407294c4b0504b3e74c0e7e371f1acb914eb99fd21ff39ef5bd626b3474f064a4cccc50f41b7c556ee834f9a6d6610a + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/332fbf3bbc19d938b744440dbab9c8acd8f7a2ed6bf9c4e23f40e3f2c25615a60b3bf00902a4f1f6c20b5f382a1547b3acc6f2b2d70d80e532b5d45945f1b979 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8d9e1c7c62abce23837e53cdacc6d09bc1f1f2b0ad7322105001c097995e9aa8dca4fa41acf39148af69f342e40081c438106949fb083e997ca497cb0448f27d + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/babel-preset@npm:6.5.1" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:*" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:*" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title": "npm:^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions": "npm:^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg": "npm:^6.5.1" + "@svgr/babel-plugin-transform-svg-component": "npm:^6.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8e8d7a0049279152f9ac308fbfd4ce74063d8a376154718cba6309bae4316318804a32201c75c5839c629f8e1e5d641a87822764000998161d0fc1de24b0374a + languageName: node + linkType: hard + +"@svgr/core@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/core@npm:6.5.1" + dependencies: + "@babel/core": "npm:^7.19.6" + "@svgr/babel-preset": "npm:^6.5.1" + "@svgr/plugin-jsx": "npm:^6.5.1" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^7.0.1" + checksum: 10c0/60cce11e13391171132115dcc8da592d23e51f155ebadf9b819bd1836b8c13d40aa5c30a03a7d429f65e70a71c50669b2e10c94e4922de4e58bc898275f46c05 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/hast-util-to-babel-ast@npm:6.5.1" + dependencies: + "@babel/types": "npm:^7.20.0" + entities: "npm:^4.4.0" + checksum: 10c0/18fa37b36581ba1678f5cc5a05ce0411e08df4db267f3cd900af7ffdf5bd90522f3a46465f315cd5d7345264949479133930aafdd27ce05c474e63756196256f + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/plugin-jsx@npm:6.5.1" + dependencies: + "@babel/core": "npm:^7.19.6" + "@svgr/babel-preset": "npm:^6.5.1" + "@svgr/hast-util-to-babel-ast": "npm:^6.5.1" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": ^6.0.0 + checksum: 10c0/365da6e43ceeff6b49258fa2fbb3c880210300e4a85ba74831e92d2dc9c53e6ab8dda422dc33fb6a339803227cf8d9a0024ce769401c46fd87209abe36d5ae43 + languageName: node + linkType: hard + +"@svgr/plugin-svgo@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/plugin-svgo@npm:6.5.1" + dependencies: + cosmiconfig: "npm:^7.0.1" + deepmerge: "npm:^4.2.2" + svgo: "npm:^2.8.0" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/da40e461145af1a92fd2ec50ea64626681fa73786f218497a4b4fb85393a58812999ca2744ee33bb7ab771aa5ce9ab1dbd08a189cb3d7a89fb58fd96913ddf91 + languageName: node + linkType: hard + +"@svgr/webpack@npm:^6.5.1": + version: 6.5.1 + resolution: "@svgr/webpack@npm:6.5.1" + dependencies: + "@babel/core": "npm:^7.19.6" + "@babel/plugin-transform-react-constant-elements": "npm:^7.18.12" + "@babel/preset-env": "npm:^7.19.4" + "@babel/preset-react": "npm:^7.18.6" + "@babel/preset-typescript": "npm:^7.18.6" + "@svgr/core": "npm:^6.5.1" + "@svgr/plugin-jsx": "npm:^6.5.1" + "@svgr/plugin-svgo": "npm:^6.5.1" + checksum: 10c0/3e9edfbc2ef3dc07b5f50c9c5ff5c951048511dff9dffb0407e6d15343849dfb36099fc7e1e3911429382cab81f7735a86ba1d6f77d21bb8f9ca33a5dec4824a + languageName: node + linkType: hard + +"@swc/helpers@npm:0.5.15": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + languageName: node + linkType: hard + +"@swc/helpers@npm:^0.5.0": + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/fe1f33ebb968558c5a0c595e54f2e479e4609bff844f9ca9a2d1ffd8dd8504c26f862a11b031f48f75c95b0381c2966c3dd156e25942f90089badd24341e7dbb + languageName: node + linkType: hard + +"@tailwindcss/node@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/node@npm:4.1.17" + dependencies: + "@jridgewell/remapping": "npm:^2.3.4" + enhanced-resolve: "npm:^5.18.3" + jiti: "npm:^2.6.1" + lightningcss: "npm:1.30.2" + magic-string: "npm:^0.30.21" + source-map-js: "npm:^1.2.1" + tailwindcss: "npm:4.1.17" + checksum: 10c0/80b542e9b7eb09499dd14d65fd7d9544321d6bcdc00d29914396001d00e009906392cf493d20cc655dfd42769c823060cb9bf2eacacb43838a47e897634a446b + languageName: node + linkType: hard + +"@tailwindcss/oxide-android-arm64@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-android-arm64@npm:4.1.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-arm64@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.1.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-x64@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-darwin-x64@npm:4.1.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-freebsd-x64@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.1.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.17" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-musl@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.1.17" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-gnu@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.1.17" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-musl@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.1.17" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@tailwindcss/oxide-wasm32-wasi@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.1.17" + dependencies: + "@emnapi/core": "npm:^1.6.0" + "@emnapi/runtime": "npm:^1.6.0" + "@emnapi/wasi-threads": "npm:^1.1.0" + "@napi-rs/wasm-runtime": "npm:^1.0.7" + "@tybys/wasm-util": "npm:^0.10.1" + tslib: "npm:^2.4.0" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-win32-x64-msvc@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.1.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide@npm:4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/oxide@npm:4.1.17" + dependencies: + "@tailwindcss/oxide-android-arm64": "npm:4.1.17" + "@tailwindcss/oxide-darwin-arm64": "npm:4.1.17" + "@tailwindcss/oxide-darwin-x64": "npm:4.1.17" + "@tailwindcss/oxide-freebsd-x64": "npm:4.1.17" + "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.1.17" + "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.1.17" + "@tailwindcss/oxide-linux-arm64-musl": "npm:4.1.17" + "@tailwindcss/oxide-linux-x64-gnu": "npm:4.1.17" + "@tailwindcss/oxide-linux-x64-musl": "npm:4.1.17" + "@tailwindcss/oxide-wasm32-wasi": "npm:4.1.17" + "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.1.17" + "@tailwindcss/oxide-win32-x64-msvc": "npm:4.1.17" + dependenciesMeta: + "@tailwindcss/oxide-android-arm64": + optional: true + "@tailwindcss/oxide-darwin-arm64": + optional: true + "@tailwindcss/oxide-darwin-x64": + optional: true + "@tailwindcss/oxide-freebsd-x64": + optional: true + "@tailwindcss/oxide-linux-arm-gnueabihf": + optional: true + "@tailwindcss/oxide-linux-arm64-gnu": + optional: true + "@tailwindcss/oxide-linux-arm64-musl": + optional: true + "@tailwindcss/oxide-linux-x64-gnu": + optional: true + "@tailwindcss/oxide-linux-x64-musl": + optional: true + "@tailwindcss/oxide-wasm32-wasi": + optional: true + "@tailwindcss/oxide-win32-arm64-msvc": + optional: true + "@tailwindcss/oxide-win32-x64-msvc": + optional: true + checksum: 10c0/cdd292760dde90976ac5cd486600687f9ac4043d9796001b356d43bfc4d0e1972d23844fe045970afdc4b4cda8451f262db15a9da4152c26e2b696a985e3686c + languageName: node + linkType: hard + +"@tailwindcss/postcss@npm:^4.1.17": + version: 4.1.17 + resolution: "@tailwindcss/postcss@npm:4.1.17" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + "@tailwindcss/node": "npm:4.1.17" + "@tailwindcss/oxide": "npm:4.1.17" + postcss: "npm:^8.4.41" + tailwindcss: "npm:4.1.17" + checksum: 10c0/76094f601aadd556aad59ad13613b22b9edfda5d8fdc0724a79b8331b27dbac121c0d33b5b65f94468c01290c58f261dd1d8553dde0d261cd4d18b6110aa2242 + languageName: node + linkType: hard + +"@tanstack/react-virtual@npm:^3.13.9": + version: 3.13.12 + resolution: "@tanstack/react-virtual@npm:3.13.12" + dependencies: + "@tanstack/virtual-core": "npm:3.13.12" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/0eda3d5691ec3bf93a1cdaa955f4972c7aa9a5026179622824bb52ff8c47e59ee4634208e52d77f43ffb3ce435ee39a0899d6a81f6316918ce89d68122490371 + languageName: node + linkType: hard + +"@tanstack/virtual-core@npm:3.13.12": + version: 3.13.12 + resolution: "@tanstack/virtual-core@npm:3.13.12" + checksum: 10c0/483f38761b73db05c181c10181f0781c1051be3350ae5c378e65057e5f1fdd6606e06e17dbaad8a5e36c04b208ea1a1344cacd4eca0dcde60f335cf398e4d698 + languageName: node + linkType: hard + +"@theguild/remark-mermaid@npm:^0.3.0": + version: 0.3.0 + resolution: "@theguild/remark-mermaid@npm:0.3.0" + dependencies: + mermaid: "npm:^11.0.0" + unist-util-visit: "npm:^5.0.0" + peerDependencies: + react: ^18.2.0 || ^19.0.0 + checksum: 10c0/c2f2953ca5cb17fe49382dcd50054ebae2f74c71201c1543559f44e6c648eefd2bae9fc147ae916dc2b440dc02ebe93472205f11636227e3a3e79e9e3bfc459d + languageName: node + linkType: hard + +"@theguild/remark-npm2yarn@npm:^0.3.2": + version: 0.3.3 + resolution: "@theguild/remark-npm2yarn@npm:0.3.3" + dependencies: + npm-to-yarn: "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/913cb9be9ba7288eef1dc781f3539921c87b1684ca35f197108cc0a485ed0a5cbbddce745859f7e29016b36bd005e5f7d981a6b022f1256de2f5f0d7ef27ba66 + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@ts-morph/common@npm:~0.28.1": + version: 0.28.1 + resolution: "@ts-morph/common@npm:0.28.1" + dependencies: + minimatch: "npm:^10.0.1" + path-browserify: "npm:^1.0.1" + tinyglobby: "npm:^0.2.14" + checksum: 10c0/d51276d840997e0f8f83e04f8b1689135bb12588a7ddbed575f87848d5737eeae31e242685d6449de27573e8ed30892157fea643393cb875e175f2711200bc50 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + languageName: node + linkType: hard + +"@types/d3-array@npm:*": + version: 3.2.2 + resolution: "@types/d3-array@npm:3.2.2" + checksum: 10c0/6137cb97302f8a4f18ca22c0560c585cfcb823f276b23d89f2c0c005d72697ec13bca671c08e68b4b0cabd622e3f0e91782ee221580d6774074050be96dd7028 + languageName: node + linkType: hard + +"@types/d3-axis@npm:*": + version: 3.0.6 + resolution: "@types/d3-axis@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/d756d42360261f44d8eefd0950c5bb0a4f67a46dd92069da3f723ac36a1e8cb2b9ce6347d836ef19d5b8aef725dbcf8fdbbd6cfbff676ca4b0642df2f78b599a + languageName: node + linkType: hard + +"@types/d3-brush@npm:*": + version: 3.0.6 + resolution: "@types/d3-brush@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/fd6e2ac7657a354f269f6b9c58451ffae9d01b89ccb1eb6367fd36d635d2f1990967215ab498e0c0679ff269429c57fad6a2958b68f4d45bc9f81d81672edc01 + languageName: node + linkType: hard + +"@types/d3-chord@npm:*": + version: 3.0.6 + resolution: "@types/d3-chord@npm:3.0.6" + checksum: 10c0/c5a25eb5389db01e63faec0c5c2ec7cc41c494e9b3201630b494c4e862a60f1aa83fabbc33a829e7e1403941e3c30d206c741559b14406ac2a4239cfdf4b4c17 + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae + languageName: node + linkType: hard + +"@types/d3-contour@npm:*": + version: 3.0.6 + resolution: "@types/d3-contour@npm:3.0.6" + dependencies: + "@types/d3-array": "npm:*" + "@types/geojson": "npm:*" + checksum: 10c0/e7d83e94719af4576ceb5ac7f277c5806f83ba6c3631744ae391cffc3641f09dfa279470b83053cd0b2acd6784e8749c71141d05bdffa63ca58ffb5b31a0f27c + languageName: node + linkType: hard + +"@types/d3-delaunay@npm:*": + version: 6.0.4 + resolution: "@types/d3-delaunay@npm:6.0.4" + checksum: 10c0/d154a8864f08c4ea23ecb9bdabcef1c406a25baa8895f0cb08a0ed2799de0d360e597552532ce7086ff0cdffa8f3563f9109d18f0191459d32bb620a36939123 + languageName: node + linkType: hard + +"@types/d3-dispatch@npm:*": + version: 3.0.7 + resolution: "@types/d3-dispatch@npm:3.0.7" + checksum: 10c0/38c6605ebf0bf0099dfb70eafe0dd4ae8213368b40b8f930b72a909ff2e7259d2bd8a54d100bb5a44eb4b36f4f2a62dcb37f8be59613ca6b507c7a2f910b3145 + languageName: node + linkType: hard + +"@types/d3-drag@npm:*": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/65e29fa32a87c72d26c44b5e2df3bf15af21cd128386bcc05bcacca255927c0397d0cd7e6062aed5f0abd623490544a9d061c195f5ed9f018fe0b698d99c079d + languageName: node + linkType: hard + +"@types/d3-dsv@npm:*": + version: 3.0.7 + resolution: "@types/d3-dsv@npm:3.0.7" + checksum: 10c0/c0f01da862465594c8a28278b51c850af3b4239cc22b14fd1a19d7a98f93d94efa477bf59d8071beb285dca45bf614630811451e18e7c52add3a0abfee0a1871 + languageName: node + linkType: hard + +"@types/d3-ease@npm:*": + version: 3.0.2 + resolution: "@types/d3-ease@npm:3.0.2" + checksum: 10c0/aff5a1e572a937ee9bff6465225d7ba27d5e0c976bd9eacdac2e6f10700a7cb0c9ea2597aff6b43a6ed850a3210030870238894a77ec73e309b4a9d0333f099c + languageName: node + linkType: hard + +"@types/d3-fetch@npm:*": + version: 3.0.7 + resolution: "@types/d3-fetch@npm:3.0.7" + dependencies: + "@types/d3-dsv": "npm:*" + checksum: 10c0/3d147efa52a26da1a5d40d4d73e6cebaaa964463c378068062999b93ea3731b27cc429104c21ecbba98c6090e58ef13429db6399238c5e3500162fb3015697a0 + languageName: node + linkType: hard + +"@types/d3-force@npm:*": + version: 3.0.10 + resolution: "@types/d3-force@npm:3.0.10" + checksum: 10c0/c82b459079a106b50e346c9b79b141f599f2fc4f598985a5211e72c7a2e20d35bd5dc6e91f306b323c8bfa325c02c629b1645f5243f1c6a55bd51bc85cccfa92 + languageName: node + linkType: hard + +"@types/d3-format@npm:*": + version: 3.0.4 + resolution: "@types/d3-format@npm:3.0.4" + checksum: 10c0/3ac1600bf9061a59a228998f7cd3f29e85cbf522997671ba18d4d84d10a2a1aff4f95aceb143fa9960501c3ec351e113fc75884e6a504ace44dc1744083035ee + languageName: node + linkType: hard + +"@types/d3-geo@npm:*": + version: 3.1.0 + resolution: "@types/d3-geo@npm:3.1.0" + dependencies: + "@types/geojson": "npm:*" + checksum: 10c0/3745a93439038bb5b0b38facf435f7079812921d46406f5d38deaee59e90084ff742443c7ea0a8446df81a0d81eaf622fe7068cf4117a544bd4aa3b2dc182f88 + languageName: node + linkType: hard + +"@types/d3-hierarchy@npm:*": + version: 3.1.7 + resolution: "@types/d3-hierarchy@npm:3.1.7" + checksum: 10c0/873711737d6b8e7b6f1dda0bcd21294a48f75024909ae510c5d2c21fad2e72032e0958def4d9f68319d3aaac298ad09c49807f8bfc87a145a82693b5208613c7 + languageName: node + linkType: hard + +"@types/d3-interpolate@npm:*": + version: 3.0.4 + resolution: "@types/d3-interpolate@npm:3.0.4" + dependencies: + "@types/d3-color": "npm:*" + checksum: 10c0/066ebb8da570b518dd332df6b12ae3b1eaa0a7f4f0c702e3c57f812cf529cc3500ec2aac8dc094f31897790346c6b1ebd8cd7a077176727f4860c2b181a65ca4 + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.1.1 + resolution: "@types/d3-path@npm:3.1.1" + checksum: 10c0/2c36eb31ebaf2ce4712e793fd88087117976f7c4ed69cc2431825f999c8c77cca5cea286f3326432b770739ac6ccd5d04d851eb65e7a4dbcc10c982b49ad2c02 + languageName: node + linkType: hard + +"@types/d3-polygon@npm:*": + version: 3.0.2 + resolution: "@types/d3-polygon@npm:3.0.2" + checksum: 10c0/f46307bb32b6c2aef8c7624500e0f9b518de8f227ccc10170b869dc43e4c542560f6c8d62e9f087fac45e198d6e4b623e579c0422e34c85baf56717456d3f439 + languageName: node + linkType: hard + +"@types/d3-quadtree@npm:*": + version: 3.0.6 + resolution: "@types/d3-quadtree@npm:3.0.6" + checksum: 10c0/7eaa0a4d404adc856971c9285e1c4ab17e9135ea669d847d6db7e0066126a28ac751864e7ce99c65d526e130f56754a2e437a1617877098b3bdcc3ef23a23616 + languageName: node + linkType: hard + +"@types/d3-random@npm:*": + version: 3.0.3 + resolution: "@types/d3-random@npm:3.0.3" + checksum: 10c0/5f4fea40080cd6d4adfee05183d00374e73a10c530276a6455348983dda341003a251def28565a27c25d9cf5296a33e870e397c9d91ff83fb7495a21c96b6882 + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:*": + version: 3.1.0 + resolution: "@types/d3-scale-chromatic@npm:3.1.0" + checksum: 10c0/93c564e02d2e97a048e18fe8054e4a935335da6ab75a56c3df197beaa87e69122eef0dfbeb7794d4a444a00e52e3123514ee27cec084bd21f6425b7037828cc2 + languageName: node + linkType: hard + +"@types/d3-scale@npm:*": + version: 4.0.9 + resolution: "@types/d3-scale@npm:4.0.9" + dependencies: + "@types/d3-time": "npm:*" + checksum: 10c0/4ac44233c05cd50b65b33ecb35d99fdf07566bcdbc55bc1306b2f27d1c5134d8c560d356f2c8e76b096e9125ffb8d26d95f78d56e210d1c542cb255bdf31d6c8 + languageName: node + linkType: hard + +"@types/d3-selection@npm:*": + version: 3.0.11 + resolution: "@types/d3-selection@npm:3.0.11" + checksum: 10c0/0c512956c7503ff5def4bb32e0c568cc757b9a2cc400a104fc0f4cfe5e56d83ebde2a97821b6f2cb26a7148079d3b86a2f28e11d68324ed311cf35c2ed980d1d + languageName: node + linkType: hard + +"@types/d3-shape@npm:*": + version: 3.1.7 + resolution: "@types/d3-shape@npm:3.1.7" + dependencies: + "@types/d3-path": "npm:*" + checksum: 10c0/38e59771c1c4c83b67aa1f941ce350410522a149d2175832fdc06396b2bb3b2c1a2dd549e0f8230f9f24296ee5641a515eaf10f55ee1ef6c4f83749e2dd7dcfd + languageName: node + linkType: hard + +"@types/d3-time-format@npm:*": + version: 4.0.3 + resolution: "@types/d3-time-format@npm:4.0.3" + checksum: 10c0/9ef5e8e2b96b94799b821eed5d61a3d432c7903247966d8ad951b8ce5797fe46554b425cb7888fa5bf604b4663c369d7628c0328ffe80892156671c58d1a7f90 + languageName: node + linkType: hard + +"@types/d3-time@npm:*": + version: 3.0.4 + resolution: "@types/d3-time@npm:3.0.4" + checksum: 10c0/6d9e2255d63f7a313a543113920c612e957d70da4fb0890931da6c2459010291b8b1f95e149a538500c1c99e7e6c89ffcce5554dd29a31ff134a38ea94b6d174 + languageName: node + linkType: hard + +"@types/d3-timer@npm:*": + version: 3.0.2 + resolution: "@types/d3-timer@npm:3.0.2" + checksum: 10c0/c644dd9571fcc62b1aa12c03bcad40571553020feeb5811f1d8a937ac1e65b8a04b759b4873aef610e28b8714ac71c9885a4d6c127a048d95118f7e5b506d9e1 + languageName: node + linkType: hard + +"@types/d3-transition@npm:*": + version: 3.0.9 + resolution: "@types/d3-transition@npm:3.0.9" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/4f68b9df7ac745b3491216c54203cbbfa0f117ae4c60e2609cdef2db963582152035407fdff995b10ee383bae2f05b7743493f48e1b8e46df54faa836a8fb7b5 + languageName: node + linkType: hard + +"@types/d3-zoom@npm:*": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" + dependencies: + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10c0/1dbdbcafddcae12efb5beb6948546963f29599e18bc7f2a91fb69cc617c2299a65354f2d47e282dfb86fec0968406cd4fb7f76ba2d2fb67baa8e8d146eb4a547 + languageName: node + linkType: hard + +"@types/d3@npm:^7.4.3": + version: 7.4.3 + resolution: "@types/d3@npm:7.4.3" + dependencies: + "@types/d3-array": "npm:*" + "@types/d3-axis": "npm:*" + "@types/d3-brush": "npm:*" + "@types/d3-chord": "npm:*" + "@types/d3-color": "npm:*" + "@types/d3-contour": "npm:*" + "@types/d3-delaunay": "npm:*" + "@types/d3-dispatch": "npm:*" + "@types/d3-drag": "npm:*" + "@types/d3-dsv": "npm:*" + "@types/d3-ease": "npm:*" + "@types/d3-fetch": "npm:*" + "@types/d3-force": "npm:*" + "@types/d3-format": "npm:*" + "@types/d3-geo": "npm:*" + "@types/d3-hierarchy": "npm:*" + "@types/d3-interpolate": "npm:*" + "@types/d3-path": "npm:*" + "@types/d3-polygon": "npm:*" + "@types/d3-quadtree": "npm:*" + "@types/d3-random": "npm:*" + "@types/d3-scale": "npm:*" + "@types/d3-scale-chromatic": "npm:*" + "@types/d3-selection": "npm:*" + "@types/d3-shape": "npm:*" + "@types/d3-time": "npm:*" + "@types/d3-time-format": "npm:*" + "@types/d3-timer": "npm:*" + "@types/d3-transition": "npm:*" + "@types/d3-zoom": "npm:*" + checksum: 10c0/a9c6d65b13ef3b42c87f2a89ea63a6d5640221869f97d0657b0cb2f1dac96a0f164bf5605643c0794e0de3aa2bf05df198519aaf15d24ca135eb0e8bd8a9d879 + languageName: node + linkType: hard + +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + languageName: node + linkType: hard + +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 + languageName: node + linkType: hard + +"@types/geojson@npm:*": + version: 7946.0.16 + resolution: "@types/geojson@npm:7946.0.16" + checksum: 10c0/1ff24a288bd5860b766b073ead337d31d73bdc715e5b50a2cee5cb0af57a1ed02cc04ef295f5fa68dc40fe3e4f104dd31282b2b818a5ba3231bc1001ba084e3c + languageName: node + linkType: hard + +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/katex@npm:^0.16.0": + version: 0.16.7 + resolution: "@types/katex@npm:0.16.7" + checksum: 10c0/68dcb9f68a90513ec78ca0196a142e15c2a2c270b1520d752bafd47a99207115085a64087b50140359017d7e9c870b3c68e7e4d36668c9e348a9ef0c48919b5a + languageName: node + linkType: hard + +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 + languageName: node + linkType: hard + +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 + languageName: node + linkType: hard + +"@types/ms@npm:*": + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 + languageName: node + linkType: hard + +"@types/nlcst@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/nlcst@npm:2.0.3" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/d83549aaee59681ae8fa2a78d8a1b968a41eb7c0422773dff12acbf3661e4b2b2859740c3effdad9d0cd12ea14a0ec33ca302da12106476b627e09d2a029d3c1 + languageName: node + linkType: hard + +"@types/node@npm:^18.11.18": + version: 18.19.115 + resolution: "@types/node@npm:18.19.115" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/98e4b041f51bc2f5fcc9c2d8734330853fd2aaf04382c6c4b56eebb2a89bbd255e96a1c3c499143a34e14c16b5ba48e90326ef8295e90c5fd0f94f1596422787 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.12": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2 + languageName: node + linkType: hard + +"@types/react-gtm-module@npm:^2.0.4": + version: 2.0.4 + resolution: "@types/react-gtm-module@npm:2.0.4" + checksum: 10c0/0bba7b841617fca4a23aacdd6e69299e0b9f193988d381db285e91de3b17bf4599bc58236d2f76a2eb2cf589b4e4d665d66feb2f90f87b549e957a79765ffec6 + languageName: node + linkType: hard + +"@types/react-transition-group@npm:^4.4.10": + version: 4.4.12 + resolution: "@types/react-transition-group@npm:4.4.12" + peerDependencies: + "@types/react": "*" + checksum: 10c0/0441b8b47c69312c89ec0760ba477ba1a0808a10ceef8dc1c64b1013ed78517332c30f18681b0ec0b53542731f1ed015169fed1d127cc91222638ed955478ec7 + languageName: node + linkType: hard + +"@types/react@npm:^18.0.26": + version: 18.3.23 + resolution: "@types/react@npm:18.3.23" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^3.0.2" + checksum: 10c0/49331800b76572eb2992a5c44801dbf8c612a5f99c8f4e4200f06c7de6f3a6e9455c661784a6c5469df96fa45622cb4a9d0982c44e6a0d5719be5f2ef1f545ed + languageName: node + linkType: hard + +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + +"@types/unist@npm:*, @types/unist@npm:^3.0.0": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 + languageName: node + linkType: hard + +"@types/unist@npm:^2.0.0": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.48.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/type-utils": "npm:8.48.1" + "@typescript-eslint/utils": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" + graphemer: "npm:^1.4.0" + ignore: "npm:^7.0.0" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + "@typescript-eslint/parser": ^8.48.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/aeb4692ac27ded73dce5ddba08d46f15d617651f629cdfc5e874dd4ac767eac0523807f1f4e51f6f80675efff78e5937690f1c58740b8cb92b44b87d757a6a1a + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/parser@npm:8.48.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/54ec22c82cc631f56131bfed9747f8cadf52ab123463a406c5221f258f9533431c4a33ebe21ef178840d50235e69bb370d36aa2fd6a066e7223b38bfa41a1788 + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/project-service@npm:8.48.1" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.48.1" + "@typescript-eslint/types": "npm:^8.48.1" + debug: "npm:^4.3.4" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/0aeeea5e65d0f837bd9a47265f144f14ca72969d259ee929e63e06526b21f4e990e70c7bafdb2ceb3783373df7d9f5bae32c328a4c6403606f01339bc984b3f5 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/scope-manager@npm:8.48.1" + dependencies: + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" + checksum: 10c0/16514823784cb598817b87d3d2b4fb618ab8b2378b3401a4c1160a5c914e51e7a925c3c1e7be73e0250e38390f0be70fecb3e0e0bdde7b243d74444933b95d3e + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.48.1, @typescript-eslint/tsconfig-utils@npm:^8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.48.1" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/0d540f7ab3018ed1bab8f008c0d30229e0ea12806fdbf1c756572b5cf536a1f2a6c59ca2544c09bcd5b89dcfcf79e5f6be3d765e725492b9c7e4cd64fcecffc6 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/type-utils@npm:8.48.1" + dependencies: + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" + "@typescript-eslint/utils": "npm:8.48.1" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/c98a71f7d374be249ecc7c9f20b0a867a73ad4f64e646a6bf9f2c1a5d74f0dc7bd59e9c94a0842068caa366af39ae0c550ede6d653b5c9418a0a587510bbb6d5 languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-empty-expression@npm:*": - version: 8.0.0 - resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde +"@typescript-eslint/types@npm:8.48.1, @typescript-eslint/types@npm:^8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/types@npm:8.48.1" + checksum: 10c0/366b8140f4c69319f1796b66b33c0c6e16eb6cbe543b9517003104e12ed143b620c1433ccf60d781a629d9433bd509a363c0c9d21fd438c17bb8840733af6caa languageName: node linkType: hard -"@svgr/babel-plugin-replace-jsx-attribute-value@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:6.5.1" +"@typescript-eslint/typescript-estree@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.48.1" + dependencies: + "@typescript-eslint/project-service": "npm:8.48.1" + "@typescript-eslint/tsconfig-utils": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" + debug: "npm:^4.3.4" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.1.0" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/318786787c9a217c33a7340c8856436858e1fffa5a6df635fedc6b9a371f3afea080ea074b9e3cfbbd9dd962ead924fde8bc9855a394c38dd60e391883a58c81 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/72c0802f74222160f6a13ebbd32b0d504142a2427678c87ea78fc32672c65fd522377d43b31a97c944cbd0aefc36b320bf02f04e47c44f2797d6ccd0a8aa30ec languageName: node linkType: hard -"@svgr/babel-plugin-svg-dynamic-title@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:6.5.1" +"@typescript-eslint/utils@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/utils@npm:8.48.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/16ef228c793b909fec47dd7dc05c1c3c2d77a824f42055df37e141e0534081b1bc4aec6dcc51be50c221df9f262f59270fc1c379923bfd4f5db302abafabfd8d + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/1775ac217b578f52d6c1e85258098f8ef764d04830c6ce11043b434860da80f1a5f7cc1b9f2e0a63de161e83b8d876f7ae8362d7644d5d8e636e60ad5eeff4e2 languageName: node linkType: hard -"@svgr/babel-plugin-svg-em-dimensions@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:6.5.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/dfdd5cbe6ae543505eaa0da69df0735b7407294c4b0504b3e74c0e7e371f1acb914eb99fd21ff39ef5bd626b3474f064a4cccc50f41b7c556ee834f9a6d6610a +"@typescript-eslint/visitor-keys@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.48.1" + dependencies: + "@typescript-eslint/types": "npm:8.48.1" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/ecf4078ce63c296dd340672b516f42bf452534c75af7e7d6c1a3f32b143ff184cb3a4071d7429a9f870371ff9091a790acce28b85ce3c450bfc60554c79d43ca languageName: node linkType: hard -"@svgr/babel-plugin-transform-react-native-svg@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:6.5.1" +"@typescript/vfs@npm:^1.6.1": + version: 1.6.2 + resolution: "@typescript/vfs@npm:1.6.2" + dependencies: + debug: "npm:^4.1.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/332fbf3bbc19d938b744440dbab9c8acd8f7a2ed6bf9c4e23f40e3f2c25615a60b3bf00902a4f1f6c20b5f382a1547b3acc6f2b2d70d80e532b5d45945f1b979 + typescript: "*" + checksum: 10c0/72e9a551337aa5478e39d6e0568bcf00d30fad68eae456a68b7436d2b5c7a35d78dd1d121242433fb6c8dc02ca618dfb5fe09916de88dabe746b3fb6b224793a languageName: node linkType: hard -"@svgr/babel-plugin-transform-svg-component@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-transform-svg-component@npm:6.5.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8d9e1c7c62abce23837e53cdacc6d09bc1f1f2b0ad7322105001c097995e9aa8dca4fa41acf39148af69f342e40081c438106949fb083e997ca497cb0448f27d +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a languageName: node linkType: hard -"@svgr/babel-preset@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-preset@npm:6.5.1" +"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" dependencies: - "@svgr/babel-plugin-add-jsx-attribute": "npm:^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute": "npm:*" - "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:*" - "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title": "npm:^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions": "npm:^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg": "npm:^6.5.1" - "@svgr/babel-plugin-transform-svg-component": "npm:^6.5.1" + "@napi-rs/wasm-runtime": "npm:^0.2.11" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@xmldom/xmldom@npm:0.9.8": + version: 0.9.8 + resolution: "@xmldom/xmldom@npm:0.9.8" + checksum: 10c0/2ea984270832de2843ab0bbb6df71bde9aa02126b69e5fd56b5512b98ace48e94aff7186e77d0b22fe4b6780483862be752bcf8577436638a9210109029a0503 + languageName: node + linkType: hard + +"@zod/core@npm:0.9.0": + version: 0.9.0 + resolution: "@zod/core@npm:0.9.0" + checksum: 10c0/a13c4ae7c6c1d724fcc515d245e4c10addd9447e09afa6de98157245562e7225470365731b5a14c899cb07db6b5911a2d7f88311530019d47e790d6a6b5940ce + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8e8d7a0049279152f9ac308fbfd4ce74063d8a376154718cba6309bae4316318804a32201c75c5839c629f8e1e5d641a87822764000998161d0fc1de24b0374a + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 languageName: node linkType: hard -"@svgr/core@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/core@npm:6.5.1" +"acorn@npm:^8.0.0, acorn@npm:^8.15.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" + bin: + acorn: bin/acorn + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" dependencies: - "@babel/core": "npm:^7.19.6" - "@svgr/babel-preset": "npm:^6.5.1" - "@svgr/plugin-jsx": "npm:^6.5.1" - camelcase: "npm:^6.2.0" - cosmiconfig: "npm:^7.0.1" - checksum: 10c0/60cce11e13391171132115dcc8da592d23e51f155ebadf9b819bd1836b8c13d40aa5c30a03a7d429f65e70a71c50669b2e10c94e4922de4e58bc898275f46c05 + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 languageName: node linkType: hard -"@svgr/hast-util-to-babel-ast@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/hast-util-to-babel-ast@npm:6.5.1" +"ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" dependencies: - "@babel/types": "npm:^7.20.0" - entities: "npm:^4.4.0" - checksum: 10c0/18fa37b36581ba1678f5cc5a05ce0411e08df4db267f3cd900af7ffdf5bd90522f3a46465f315cd5d7345264949479133930aafdd27ce05c474e63756196256f + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 languageName: node linkType: hard -"@svgr/plugin-jsx@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/plugin-jsx@npm:6.5.1" +"arg@npm:^5.0.0": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:^5.3.2": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - "@babel/core": "npm:^7.19.6" - "@svgr/babel-preset": "npm:^6.5.1" - "@svgr/hast-util-to-babel-ast": "npm:^6.5.1" - svg-parser: "npm:^2.0.4" - peerDependencies: - "@svgr/core": ^6.0.0 - checksum: 10c0/365da6e43ceeff6b49258fa2fbb3c880210300e4a85ba74831e92d2dc9c53e6ab8dda422dc33fb6a339803227cf8d9a0024ce769401c46fd87209abe36d5ae43 + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d + languageName: node + linkType: hard + +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8, array-includes@npm:^3.1.9": + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.24.0" + es-object-atoms: "npm:^1.1.1" + get-intrinsic: "npm:^1.3.0" + is-string: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 + languageName: node + linkType: hard + +"array-iterate@npm:^2.0.0": + version: 2.0.1 + resolution: "array-iterate@npm:2.0.1" + checksum: 10c0/756c08334f95e290f03ab2141b034514af1311ef7b62f15b0f5ea6f8f3033ee9cc6a8f1c3e9ff4803d4d723cf992aa61460acf5fce884936972db966b1da287d + languageName: node + linkType: hard + +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.6": + version: 1.2.6 + resolution: "array.prototype.findlastindex@npm:1.2.6" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-shim-unscopables: "npm:^1.1.0" + checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a languageName: node linkType: hard -"@svgr/plugin-svgo@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/plugin-svgo@npm:6.5.1" +"array.prototype.flatmap@npm:^1.3.2, array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - cosmiconfig: "npm:^7.0.1" - deepmerge: "npm:^4.2.2" - svgo: "npm:^2.8.0" - peerDependencies: - "@svgr/core": "*" - checksum: 10c0/da40e461145af1a92fd2ec50ea64626681fa73786f218497a4b4fb85393a58812999ca2744ee33bb7ab771aa5ce9ab1dbd08a189cb3d7a89fb58fd96913ddf91 + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 languageName: node linkType: hard -"@svgr/webpack@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/webpack@npm:6.5.1" +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" dependencies: - "@babel/core": "npm:^7.19.6" - "@babel/plugin-transform-react-constant-elements": "npm:^7.18.12" - "@babel/preset-env": "npm:^7.19.4" - "@babel/preset-react": "npm:^7.18.6" - "@babel/preset-typescript": "npm:^7.18.6" - "@svgr/core": "npm:^6.5.1" - "@svgr/plugin-jsx": "npm:^6.5.1" - "@svgr/plugin-svgo": "npm:^6.5.1" - checksum: 10c0/3e9edfbc2ef3dc07b5f50c9c5ff5c951048511dff9dffb0407e6d15343849dfb36099fc7e1e3911429382cab81f7735a86ba1d6f77d21bb8f9ca33a5dec4824a + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 languageName: node linkType: hard -"@swc/helpers@npm:0.4.14": - version: 0.4.14 - resolution: "@swc/helpers@npm:0.4.14" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/a8bd2e291fca73aa35ff316fb1aa9fb9554856518c8bf64ab5a355fb587d79d04d67f95033012fcdc94f507d22484871d95dc72efdd9ff13cc5d0ac68dfba999 + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 languageName: node linkType: hard -"@tanstack/react-virtual@npm:^3.0.0-beta.60": - version: 3.13.12 - resolution: "@tanstack/react-virtual@npm:3.13.12" - dependencies: - "@tanstack/virtual-core": "npm:3.13.12" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/0eda3d5691ec3bf93a1cdaa955f4972c7aa9a5026179622824bb52ff8c47e59ee4634208e52d77f43ffb3ce435ee39a0899d6a81f6316918ce89d68122490371 +"ast-types-flow@npm:^0.0.8": + version: 0.0.8 + resolution: "ast-types-flow@npm:0.0.8" + checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e languageName: node linkType: hard -"@tanstack/virtual-core@npm:3.13.12": - version: 3.13.12 - resolution: "@tanstack/virtual-core@npm:3.13.12" - checksum: 10c0/483f38761b73db05c181c10181f0781c1051be3350ae5c378e65057e5f1fdd6606e06e17dbaad8a5e36c04b208ea1a1344cacd4eca0dcde60f335cf398e4d698 +"astring@npm:^1.8.0": + version: 1.9.0 + resolution: "astring@npm:1.9.0" + bin: + astring: bin/astring + checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 languageName: node linkType: hard -"@trysound/sax@npm:0.2.0": - version: 0.2.0 - resolution: "@trysound/sax@npm:0.2.0" - checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 languageName: node linkType: hard -"@types/acorn@npm:^4.0.0": - version: 4.0.6 - resolution: "@types/acorn@npm:4.0.6" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/5a65a1d7e91fc95703f0a717897be60fa7ccd34b17f5462056274a246e6690259fe0a1baabc86fd3260354f87245cb3dc483346d7faad2b78fc199763978ede9 +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 languageName: node linkType: hard -"@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" - dependencies: - "@types/ms": "npm:*" - checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d languageName: node linkType: hard -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree-jsx@npm:1.0.5" +"autoprefixer@npm:^10.4.13": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" dependencies: - "@types/estree": "npm:*" - checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.8 - resolution: "@types/estree@npm:1.0.8" - checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 languageName: node linkType: hard -"@types/hast@npm:^2.0.0": - version: 2.3.10 - resolution: "@types/hast@npm:2.3.10" +"aws-sdk@npm:^2.1217.0": + version: 2.1692.0 + resolution: "aws-sdk@npm:2.1692.0" dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e + buffer: "npm:4.9.2" + events: "npm:1.1.1" + ieee754: "npm:1.1.13" + jmespath: "npm:0.16.0" + querystring: "npm:0.2.0" + sax: "npm:1.2.1" + url: "npm:0.10.3" + util: "npm:^0.12.4" + uuid: "npm:8.0.0" + xml2js: "npm:0.6.2" + checksum: 10c0/5123174cf9c7952f9f072789f2a95f1cb346a676652425a8c73dcda195181f8a8d947f4edea0056552a315bbd5126ed8bb71d0a38b16f337d168bf7bf63a5b0a languageName: node linkType: hard -"@types/js-yaml@npm:^4.0.0": - version: 4.0.9 - resolution: "@types/js-yaml@npm:4.0.9" - checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 +"axe-core@npm:^4.10.0": + version: 4.11.0 + resolution: "axe-core@npm:4.11.0" + checksum: 10c0/7d7020a568a824c303711858c2fcfe56d001d27e46c0c2ff75dc31b436cfddfd4857a301e70536cc9e64829d25338f7fb782102d23497ebdc66801e9900fc895 languageName: node linkType: hard -"@types/katex@npm:^0.14.0": - version: 0.14.0 - resolution: "@types/katex@npm:0.14.0" - checksum: 10c0/727239fc8a3d184df831e9b835d0ff6d545d26e83c837845cae85dbf25c6ee7893d9a0afcac0d55925b49ee37a6b72e6e0c0d586604782b9c6b357f06420c783 +"axios@npm:^1.3.4": + version: 1.10.0 + resolution: "axios@npm:1.10.0" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/2239cb269cc789eac22f5d1aabd58e1a83f8f364c92c2caa97b6f5cbb4ab2903d2e557d9dc670b5813e9bcdebfb149e783fb8ab3e45098635cd2f559b06bd5d8 languageName: node linkType: hard -"@types/katex@npm:^0.16.0": - version: 0.16.7 - resolution: "@types/katex@npm:0.16.7" - checksum: 10c0/68dcb9f68a90513ec78ca0196a142e15c2a2c270b1520d752bafd47a99207115085a64087b50140359017d7e9c870b3c68e7e4d36668c9e348a9ef0c48919b5a +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775 languageName: node linkType: hard -"@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d + "@babel/runtime": "npm:^7.12.5" + cosmiconfig: "npm:^7.0.0" + resolve: "npm:^1.19.0" + checksum: 10c0/c6dfb15de96f67871d95bd2e8c58b0c81edc08b9b087dc16755e7157f357dc1090a8dc60ebab955e92587a9101f02eba07e730adc253a1e4cf593ca3ebd3839c languageName: node linkType: hard -"@types/mdx@npm:^2.0.0": - version: 2.0.13 - resolution: "@types/mdx@npm:2.0.13" - checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" + dependencies: + "@babel/compat-data": "npm:^7.27.7" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe languageName: node linkType: hard -"@types/ms@npm:*": - version: 2.1.0 - resolution: "@types/ms@npm:2.1.0" - checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard -"@types/node@npm:^18.11.18": - version: 18.19.115 - resolution: "@types/node@npm:18.19.115" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/98e4b041f51bc2f5fcc9c2d8734330853fd2aaf04382c6c4b56eebb2a89bbd255e96a1c3c499143a34e14c16b5ba48e90326ef8295e90c5fd0f94f1596422787 + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d languageName: node linkType: hard -"@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 +"bail@npm:^2.0.0": + version: 2.0.2 + resolution: "bail@npm:2.0.2" + checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.12": - version: 15.7.15 - resolution: "@types/prop-types@npm:15.7.15" - checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2 +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee languageName: node linkType: hard -"@types/react-gtm-module@npm:^2.0.4": - version: 2.0.4 - resolution: "@types/react-gtm-module@npm:2.0.4" - checksum: 10c0/0bba7b841617fca4a23aacdd6e69299e0b9f193988d381db285e91de3b17bf4599bc58236d2f76a2eb2cf589b4e4d665d66feb2f90f87b549e957a79765ffec6 +"base64-js@npm:^1.0.2": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.10": - version: 4.4.12 - resolution: "@types/react-transition-group@npm:4.4.12" +"better-react-mathjax@npm:^2.3.0": + version: 2.3.0 + resolution: "better-react-mathjax@npm:2.3.0" + dependencies: + mathjax-full: "npm:^3.2.2" peerDependencies: - "@types/react": "*" - checksum: 10c0/0441b8b47c69312c89ec0760ba477ba1a0808a10ceef8dc1c64b1013ed78517332c30f18681b0ec0b53542731f1ed015169fed1d127cc91222638ed955478ec7 + react: ">=16.8" + checksum: 10c0/ed529432224879b6acfc301af03df2548dba0af4805da5d03b8d5ba9eca6b1fdb16e24b272d48a76cf4233b62d58e5a9d1241b51e7281d1153044a46b1f01dc2 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf languageName: node linkType: hard -"@types/react@npm:>=16": - version: 19.1.8 - resolution: "@types/react@npm:19.1.8" +"brace-expansion@npm:^1.1.7": + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: - csstype: "npm:^3.0.2" - checksum: 10c0/4908772be6dc941df276931efeb0e781777fa76e4d5d12ff9f75eb2dcc2db3065e0100efde16fde562c5bafa310cc8f50c1ee40a22640459e066e72cd342143e + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 languageName: node linkType: hard -"@types/react@npm:^18.0.26": - version: 18.3.23 - resolution: "@types/react@npm:18.3.23" +"brace-expansion@npm:^2.0.1": + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10c0/49331800b76572eb2992a5c44801dbf8c612a5f99c8f4e4200f06c7de6f3a6e9455c661784a6c5469df96fa45622cb4a9d0982c44e6a0d5719be5f2ef1f545ed + balanced-match: "npm:^1.0.0" + checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.0": - version: 2.0.11 - resolution: "@types/unist@npm:2.0.11" - checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4, browserslist@npm:^4.25.1": + version: 4.25.1 + resolution: "browserslist@npm:4.25.1" + dependencies: + caniuse-lite: "npm:^1.0.30001726" + electron-to-chromium: "npm:^1.5.173" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/acba5f0bdbd5e72dafae1e6ec79235b7bad305ed104e082ed07c34c38c7cb8ea1bc0f6be1496958c40482e40166084458fc3aee15111f15faa79212ad9081b2a + languageName: node + linkType: hard + +"buffer@npm:4.9.2": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + isarray: "npm:^1.0.0" + checksum: 10c0/dc443d7e7caab23816b58aacdde710b72f525ad6eecd7d738fcaa29f6d6c12e8d9c13fed7219fd502be51ecf0615f5c077d4bdc6f9308dde2e53f8e5393c5b21 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": - version: 1.3.0 - resolution: "@ungap/structured-clone@npm:1.3.0" - checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 languageName: node linkType: hard -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.9.0": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" - bin: - acorn: bin/acorn - checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 languageName: node linkType: hard -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.4 - resolution: "agent-base@npm:7.1.4" - checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 +"caniuse-lite@npm:^1.0.30001579": + version: 1.0.30001757 + resolution: "caniuse-lite@npm:1.0.30001757" + checksum: 10c0/3ccb71fa2bf1f8c96ff1bf9b918b08806fed33307e20a3ce3259155fda131eaf96cfcd88d3d309c8fd7f8285cc71d89a3b93648a1c04814da31c301f98508d42 languageName: node linkType: hard -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 +"caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001726": + version: 1.0.30001727 + resolution: "caniuse-lite@npm:1.0.30001727" + checksum: 10c0/f0a441c05d8925d728c2d02ce23b001935f52183a3bf669556f302568fe258d1657940c7ac0b998f92bc41383e185b390279a7d779e6d96a2b47881f56400221 languageName: node linkType: hard -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc +"ccount@npm:^2.0.0": + version: 2.0.1 + resolution: "ccount@npm:2.0.1" + checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 languageName: node linkType: hard -"ansi-sequence-parser@npm:^1.1.0": - version: 1.1.3 - resolution: "ansi-sequence-parser@npm:1.1.3" - checksum: 10c0/49649f14765b7864158f070747889d68048f1629024eae1ce82f548616fdd89c3717ba0fa7b39a766c58c7806307f78add99e41e3ccf5db8af4fb6f0f50b9f8a +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 languageName: node linkType: hard -"ansi-styles@npm:^3.1.0": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b +"chalk@npm:^5.0.0": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 +"character-entities@npm:^2.0.0": + version: 2.0.2 + resolution: "character-entities@npm:2.0.2" + checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 languageName: node linkType: hard -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac +"character-reference-invalid@npm:^2.0.0": + version: 2.0.1 + resolution: "character-reference-invalid@npm:2.0.1" + checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 languageName: node linkType: hard -"arch@npm:^2.1.0": - version: 2.2.0 - resolution: "arch@npm:2.2.0" - checksum: 10c0/4ceaf8d8207817c216ebc4469742052cb0a097bc45d9b7fcd60b7507220da545a28562ab5bdd4dfe87921bb56371a0805da4e10d704e01f93a15f83240f1284c +"chevrotain-allstar@npm:~0.3.0": + version: 0.3.1 + resolution: "chevrotain-allstar@npm:0.3.1" + dependencies: + lodash-es: "npm:^4.17.21" + peerDependencies: + chevrotain: ^11.0.0 + checksum: 10c0/5cadedffd3114eb06b15fd3939bb1aa6c75412dbd737fe302b52c5c24334f9cb01cee8edc1d1067d98ba80dddf971f1d0e94b387de51423fc6cf3c5d8b7ef27a languageName: node linkType: hard -"arg@npm:1.0.0": - version: 1.0.0 - resolution: "arg@npm:1.0.0" - checksum: 10c0/10bbbda299b1a5d5f1cc6492bdea9413f148c36b58e7abc49e8b8337047eec5db154c1d2f99e942c4b777ae28215fc28506d303d7e30bcd80ca1ad7baeb6ce28 +"chevrotain@npm:~11.0.3": + version: 11.0.3 + resolution: "chevrotain@npm:11.0.3" + dependencies: + "@chevrotain/cst-dts-gen": "npm:11.0.3" + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/regexp-to-ast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + "@chevrotain/utils": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/ffd425fa321e3f17e9833d7f44cd39f2743f066e92ca74b226176080ca5d455f853fe9091cdfd86354bd899d85c08b3bdc3f55b267e7d07124b048a88349765f languageName: node linkType: hard -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e +"client-only@npm:0.0.1": + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" +"clipboardy@npm:^4.0.0": + version: 4.0.0 + resolution: "clipboardy@npm:4.0.0" dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + execa: "npm:^8.0.1" + is-wsl: "npm:^3.1.0" + is64bit: "npm:^2.0.0" + checksum: 10c0/02bb5f3d0a772bd84ec26a3566c72c2319a9f3b4cb8338370c3bffcf0073c80b834abe1a6945bea4f2cbea28e1627a975aaac577e3f61a868d924ce79138b041 languageName: node linkType: hard -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e +"clsx@npm:^1.2.1": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 languageName: node linkType: hard -"astring@npm:^1.8.0": - version: 1.9.0 - resolution: "astring@npm:1.9.0" - bin: - astring: bin/astring - checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 +"clsx@npm:^2.0.0, clsx@npm:^2.1.0, clsx@npm:^2.1.1": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 languageName: node linkType: hard -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d +"code-block-writer@npm:^13.0.3": + version: 13.0.3 + resolution: "code-block-writer@npm:13.0.3" + checksum: 10c0/87db97b37583f71cfd7eced8bf3f0a0a0ca53af912751a734372b36c08cd27f3e8a4878ec05591c0cd9ae11bea8add1423e132d660edd86aab952656dd41fd66 languageName: node linkType: hard -"autoprefixer@npm:^10.4.13": - version: 10.4.21 - resolution: "autoprefixer@npm:10.4.21" - dependencies: - browserslist: "npm:^4.24.4" - caniuse-lite: "npm:^1.0.30001702" - fraction.js: "npm:^4.3.7" - normalize-range: "npm:^0.1.2" - picocolors: "npm:^1.1.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.1.0 - bin: - autoprefixer: bin/autoprefixer - checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.7": - version: 1.0.7 - resolution: "available-typed-arrays@npm:1.0.7" +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" dependencies: - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 languageName: node linkType: hard -"aws-sdk@npm:^2.1217.0": - version: 2.1692.0 - resolution: "aws-sdk@npm:2.1692.0" - dependencies: - buffer: "npm:4.9.2" - events: "npm:1.1.1" - ieee754: "npm:1.1.13" - jmespath: "npm:0.16.0" - querystring: "npm:0.2.0" - sax: "npm:1.2.1" - url: "npm:0.10.3" - util: "npm:^0.12.4" - uuid: "npm:8.0.0" - xml2js: "npm:0.6.2" - checksum: 10c0/5123174cf9c7952f9f072789f2a95f1cb346a676652425a8c73dcda195181f8a8d947f4edea0056552a315bbd5126ed8bb71d0a38b16f337d168bf7bf63a5b0a +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 languageName: node linkType: hard -"axios@npm:^1.3.4": - version: 1.10.0 - resolution: "axios@npm:1.10.0" +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/2239cb269cc789eac22f5d1aabd58e1a83f8f364c92c2caa97b6f5cbb4ab2903d2e557d9dc670b5813e9bcdebfb149e783fb8ab3e45098635cd2f559b06bd5d8 + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 languageName: node linkType: hard -"babel-plugin-macros@npm:^3.1.0": - version: 3.1.0 - resolution: "babel-plugin-macros@npm:3.1.0" - dependencies: - "@babel/runtime": "npm:^7.12.5" - cosmiconfig: "npm:^7.0.0" - resolve: "npm:^1.19.0" - checksum: 10c0/c6dfb15de96f67871d95bd2e8c58b0c81edc08b9b087dc16755e7157f357dc1090a8dc60ebab955e92587a9101f02eba07e730adc253a1e4cf593ca3ebd3839c +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.14": - version: 0.4.14 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" - dependencies: - "@babel/compat-data": "npm:^7.27.7" - "@babel/helper-define-polyfill-provider": "npm:^0.6.5" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe +"commander@npm:13.1.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 10c0/7b8c5544bba704fbe84b7cab2e043df8586d5c114a4c5b607f83ae5060708940ed0b5bd5838cf8ce27539cde265c1cbd59ce3c8c6b017ed3eec8943e3a415164 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.13.0": - version: 0.13.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.5" - core-js-compat: "npm:^3.43.0" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d +"commander@npm:7, commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.5": - version: 0.6.5 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.5" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d +"commander@npm:^8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 languageName: node linkType: hard -"bail@npm:^2.0.0": - version: 2.0.2 - resolution: "bail@npm:2.0.2" - checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b +"compute-scroll-into-view@npm:^3.0.2": + version: 3.1.1 + resolution: "compute-scroll-into-view@npm:3.1.1" + checksum: 10c0/59761ed62304a9599b52ad75d0d6fbf0669ee2ab7dd472fdb0ad9da36628414c014dea7b5810046560180ad30ffec52a953d19297f66a1d4f3aa0999b9d2521d languageName: node linkType: hard -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f languageName: node linkType: hard -"base64-js@npm:^1.0.2": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 +"confbox@npm:^0.2.2": + version: 0.2.2 + resolution: "confbox@npm:0.2.2" + checksum: 10c0/7c246588d533d31e8cdf66cb4701dff6de60f9be77ab54c0d0338e7988750ac56863cc0aca1b3f2046f45ff223a765d3e5d4977a7674485afcd37b6edf3fd129 languageName: node linkType: hard -"boolbase@npm:^1.0.0": - version: 1.0.0 - resolution: "boolbase@npm:1.0.0" - checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf +"convert-source-map@npm:^1.5.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b languageName: node linkType: hard -"brace-expansion@npm:^1.1.7": - version: 1.1.12 - resolution: "brace-expansion@npm:1.1.12" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b languageName: node linkType: hard -"brace-expansion@npm:^2.0.1": - version: 2.0.2 - resolution: "brace-expansion@npm:2.0.2" +"core-js-compat@npm:^3.43.0": + version: 3.44.0 + resolution: "core-js-compat@npm:3.44.0" dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf + browserslist: "npm:^4.25.1" + checksum: 10c0/5de4b042b8bb232b8390be3079030de5c7354610f136ed3eb91310a44455a78df02cfcf49b2fd05d5a5aa2695460620abf1b400784715f7482ed4770d40a68b2 languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" +"cose-base@npm:^1.0.0": + version: 1.0.3 + resolution: "cose-base@npm:1.0.3" dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + layout-base: "npm:^1.0.0" + checksum: 10c0/a6e400b1d101393d6af0967c1353355777c1106c40417c5acaef6ca8bdda41e2fc9398f466d6c85be30290943ad631f2590569f67b3fd5368a0d8318946bd24f languageName: node linkType: hard -"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4, browserslist@npm:^4.25.1": - version: 4.25.1 - resolution: "browserslist@npm:4.25.1" +"cose-base@npm:^2.2.0": + version: 2.2.0 + resolution: "cose-base@npm:2.2.0" dependencies: - caniuse-lite: "npm:^1.0.30001726" - electron-to-chromium: "npm:^1.5.173" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.3" - bin: - browserslist: cli.js - checksum: 10c0/acba5f0bdbd5e72dafae1e6ec79235b7bad305ed104e082ed07c34c38c7cb8ea1bc0f6be1496958c40482e40166084458fc3aee15111f15faa79212ad9081b2a + layout-base: "npm:^2.0.0" + checksum: 10c0/14b9f8100ac322a00777ffb1daeb3321af368bbc9cabe3103943361273baee2003202ffe38e4ab770960b600214224e9c196195a78d589521540aa694df7cdec languageName: node linkType: hard -"buffer@npm:4.9.2": - version: 4.9.2 - resolution: "buffer@npm:4.9.2" +"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": + version: 7.1.0 + resolution: "cosmiconfig@npm:7.1.0" dependencies: - base64-js: "npm:^1.0.2" - ieee754: "npm:^1.1.4" - isarray: "npm:^1.0.0" - checksum: 10c0/dc443d7e7caab23816b58aacdde710b72f525ad6eecd7d738fcaa29f6d6c12e8d9c13fed7219fd502be51ecf0615f5c077d4bdc6f9308dde2e53f8e5393c5b21 + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.2.1" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.10.0" + checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 languageName: node linkType: hard -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard -"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" +"css-select@npm:^4.1.3": + version: 4.3.0 + resolution: "css-select@npm:4.3.0" dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + boolbase: "npm:^1.0.0" + css-what: "npm:^6.0.1" + domhandler: "npm:^4.3.1" + domutils: "npm:^2.8.0" + nth-check: "npm:^2.0.1" + checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 languageName: node linkType: hard -"call-bind@npm:^1.0.8": - version: 1.0.8 - resolution: "call-bind@npm:1.0.8" +"css-select@npm:^5.1.0": + version: 5.2.2 + resolution: "css-select@npm:5.2.2" dependencies: - call-bind-apply-helpers: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10c0/d79fffa97106007f2802589f3ed17b8c903f1c961c0fc28aa8a051eee0cbad394d8446223862efd4c1b40445a6034f626bb639cf2035b0bfc468544177593c99 languageName: node linkType: hard -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" +"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": + version: 1.1.3 + resolution: "css-tree@npm:1.1.3" dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + mdn-data: "npm:2.0.14" + source-map: "npm:^0.6.1" + checksum: 10c0/499a507bfa39b8b2128f49736882c0dd636b0cd3370f2c69f4558ec86d269113286b7df469afc955de6a68b0dba00bc533e40022a73698081d600072d5d83c1c languageName: node linkType: hard -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 +"css-what@npm:^6.0.1, css-what@npm:^6.1.0": + version: 6.2.2 + resolution: "css-what@npm:6.2.2" + checksum: 10c0/91e24c26fb977b4ccef30d7007d2668c1c10ac0154cc3f42f7304410e9594fb772aea4f30c832d2993b132ca8d99338050866476210316345ec2e7d47b248a56 languageName: node linkType: hard -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 +"csso@npm:^4.2.0": + version: 4.2.0 + resolution: "csso@npm:4.2.0" + dependencies: + css-tree: "npm:^1.1.2" + checksum: 10c0/f8c6b1300efaa0f8855a7905ae3794a29c6496e7f16a71dec31eb6ca7cfb1f058a4b03fd39b66c4deac6cb06bf6b4ba86da7b67d7320389cb9994d52b924b903 languageName: node linkType: hard -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 +"csstype@npm:^3.0.2, csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001726": - version: 1.0.30001727 - resolution: "caniuse-lite@npm:1.0.30001727" - checksum: 10c0/f0a441c05d8925d728c2d02ce23b001935f52183a3bf669556f302568fe258d1657940c7ac0b998f92bc41383e185b390279a7d779e6d96a2b47881f56400221 +"cytoscape-cose-bilkent@npm:^4.1.0": + version: 4.1.0 + resolution: "cytoscape-cose-bilkent@npm:4.1.0" + dependencies: + cose-base: "npm:^1.0.0" + peerDependencies: + cytoscape: ^3.2.0 + checksum: 10c0/5e2480ddba9da1a68e700ed2c674cbfd51e9efdbd55788f1971a68de4eb30708e3b3a5e808bf5628f7a258680406bbe6586d87a9133e02a9bdc1ab1a92f512f2 languageName: node linkType: hard -"ccount@npm:^2.0.0": - version: 2.0.1 - resolution: "ccount@npm:2.0.1" - checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 +"cytoscape-fcose@npm:^2.2.0": + version: 2.2.0 + resolution: "cytoscape-fcose@npm:2.2.0" + dependencies: + cose-base: "npm:^2.2.0" + peerDependencies: + cytoscape: ^3.2.0 + checksum: 10c0/ce472c9f85b9057e75c5685396f8e1f2468895e71b184913e05ad56dcf3092618fe59a1054f29cb0995051ba8ebe566ad0dd49a58d62845145624bd60cd44917 languageName: node linkType: hard -"chalk@npm:2.3.0": - version: 2.3.0 - resolution: "chalk@npm:2.3.0" +"cytoscape@npm:^3.29.3": + version: 3.33.1 + resolution: "cytoscape@npm:3.33.1" + checksum: 10c0/dffcf5f74df4d91517c4faf394df880d8283ce76edef19edba0c762941cf4f18daf7c4c955ec50c794f476ace39ad4394f8c98483222bd2682e1fd206e976411 + languageName: node + linkType: hard + +"d3-array@npm:1 - 2": + version: 2.12.1 + resolution: "d3-array@npm:2.12.1" dependencies: - ansi-styles: "npm:^3.1.0" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^4.0.0" - checksum: 10c0/ff3d14e7b31b1acdcd06b0c3b8d00e08748d76a0f2a6cc86baa1fe2456ebd4dd45037315a58df7f3c1886153c5d0a35da8183d2757f7fad28eaef6dedd33b437 + internmap: "npm:^1.0.0" + checksum: 10c0/7eca10427a9f113a4ca6a0f7301127cab26043fd5e362631ef5a0edd1c4b2dd70c56ed317566700c31e4a6d88b55f3951aaba192291817f243b730cb2352882e languageName: node linkType: hard -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" +"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:2.5.0 - 3, d3-array@npm:3, d3-array@npm:^3.2.0": + version: 3.2.4 + resolution: "d3-array@npm:3.2.4" dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + internmap: "npm:1 - 2" + checksum: 10c0/08b95e91130f98c1375db0e0af718f4371ccacef7d5d257727fe74f79a24383e79aba280b9ffae655483ffbbad4fd1dec4ade0119d88c4749f388641c8bf8c50 languageName: node linkType: hard -"character-entities-html4@npm:^2.0.0": - version: 2.1.0 - resolution: "character-entities-html4@npm:2.1.0" - checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 +"d3-axis@npm:3": + version: 3.0.0 + resolution: "d3-axis@npm:3.0.0" + checksum: 10c0/a271e70ba1966daa5aaf6a7f959ceca3e12997b43297e757c7b945db2e1ead3c6ee226f2abcfa22abbd4e2e28bd2b71a0911794c4e5b911bbba271328a582c78 languageName: node linkType: hard -"character-entities-legacy@npm:^3.0.0": +"d3-brush@npm:3": version: 3.0.0 - resolution: "character-entities-legacy@npm:3.0.0" - checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + resolution: "d3-brush@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-drag: "npm:2 - 3" + d3-interpolate: "npm:1 - 3" + d3-selection: "npm:3" + d3-transition: "npm:3" + checksum: 10c0/07baf00334c576da2f68a91fc0da5732c3a5fa19bd3d7aed7fd24d1d674a773f71a93e9687c154176f7246946194d77c48c2d8fed757f5dcb1a4740067ec50a8 languageName: node linkType: hard -"character-entities@npm:^2.0.0": - version: 2.0.2 - resolution: "character-entities@npm:2.0.2" - checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 +"d3-chord@npm:3": + version: 3.0.1 + resolution: "d3-chord@npm:3.0.1" + dependencies: + d3-path: "npm:1 - 3" + checksum: 10c0/baa6013914af3f4fe1521f0d16de31a38eb8a71d08ff1dec4741f6f45a828661e5cd3935e39bd14e3032bdc78206c283ca37411da21d46ec3cfc520be6e7a7ce languageName: node linkType: hard -"character-reference-invalid@npm:^2.0.0": - version: 2.0.1 - resolution: "character-reference-invalid@npm:2.0.1" - checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 +"d3-color@npm:1 - 3, d3-color@npm:3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10c0/a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c languageName: node linkType: hard -"chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" +"d3-contour@npm:4": + version: 4.0.2 + resolution: "d3-contour@npm:4.0.2" dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + d3-array: "npm:^3.2.0" + checksum: 10c0/98bc5fbed6009e08707434a952076f39f1cd6ed8b9288253cc3e6a3286e4e80c63c62d84954b20e64bf6e4ededcc69add54d3db25e990784a59c04edd3449032 languageName: node linkType: hard -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 +"d3-delaunay@npm:6": + version: 6.0.4 + resolution: "d3-delaunay@npm:6.0.4" + dependencies: + delaunator: "npm:5" + checksum: 10c0/57c3aecd2525664b07c4c292aa11cf49b2752c0cf3f5257f752999399fe3c592de2d418644d79df1f255471eec8057a9cc0c3062ed7128cb3348c45f69597754 languageName: node linkType: hard -"client-only@npm:0.0.1, client-only@npm:^0.0.1": - version: 0.0.1 - resolution: "client-only@npm:0.0.1" - checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 +"d3-dispatch@npm:1 - 3, d3-dispatch@npm:3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: 10c0/6eca77008ce2dc33380e45d4410c67d150941df7ab45b91d116dbe6d0a3092c0f6ac184dd4602c796dc9e790222bad3ff7142025f5fd22694efe088d1d941753 languageName: node linkType: hard -"clipboardy@npm:1.2.2": - version: 1.2.2 - resolution: "clipboardy@npm:1.2.2" +"d3-drag@npm:2 - 3, d3-drag@npm:3": + version: 3.0.0 + resolution: "d3-drag@npm:3.0.0" dependencies: - arch: "npm:^2.1.0" - execa: "npm:^0.8.0" - checksum: 10c0/c343ee1ff74fd7202b8e549575e0e09d36d122cd06b078b171cf9ee37f03479d53547a5792ee879145841122c11ee4419078ffec07daf3eda4fa800758c8f1d9 + d3-dispatch: "npm:1 - 3" + d3-selection: "npm:3" + checksum: 10c0/d2556e8dc720741a443b595a30af403dd60642dfd938d44d6e9bfc4c71a962142f9a028c56b61f8b4790b65a34acad177d1263d66f103c3c527767b0926ef5aa languageName: node linkType: hard -"clsx@npm:^1.2.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 +"d3-dsv@npm:1 - 3, d3-dsv@npm:3": + version: 3.0.1 + resolution: "d3-dsv@npm:3.0.1" + dependencies: + commander: "npm:7" + iconv-lite: "npm:0.6" + rw: "npm:1" + bin: + csv2json: bin/dsv2json.js + csv2tsv: bin/dsv2dsv.js + dsv2dsv: bin/dsv2dsv.js + dsv2json: bin/dsv2json.js + json2csv: bin/json2dsv.js + json2dsv: bin/json2dsv.js + json2tsv: bin/json2dsv.js + tsv2csv: bin/dsv2dsv.js + tsv2json: bin/dsv2json.js + checksum: 10c0/10e6af9e331950ed258f34ab49ac1b7060128ef81dcf32afc790bd1f7e8c3cc2aac7f5f875250a83f21f39bb5925fbd0872bb209f8aca32b3b77d32bab8a65ab languageName: node linkType: hard -"clsx@npm:^2.1.0, clsx@npm:^2.1.1": - version: 2.1.1 - resolution: "clsx@npm:2.1.1" - checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 +"d3-ease@npm:1 - 3, d3-ease@npm:3": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: 10c0/fec8ef826c0cc35cda3092c6841e07672868b1839fcaf556e19266a3a37e6bc7977d8298c0fcb9885e7799bfdcef7db1baaba9cd4dcf4bc5e952cf78574a88b0 languageName: node linkType: hard -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" +"d3-fetch@npm:3": + version: 3.0.1 + resolution: "d3-fetch@npm:3.0.1" dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + d3-dsv: "npm:1 - 3" + checksum: 10c0/4f467a79bf290395ac0cbb5f7562483f6a18668adc4c8eb84c9d3eff048b6f6d3b6f55079ba1ebf1908dabe000c941d46be447f8d78453b2dad5fb59fb6aa93b languageName: node linkType: hard -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" +"d3-force@npm:3": + version: 3.0.0 + resolution: "d3-force@npm:3.0.0" dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + d3-dispatch: "npm:1 - 3" + d3-quadtree: "npm:1 - 3" + d3-timer: "npm:1 - 3" + checksum: 10c0/220a16a1a1ac62ba56df61028896e4b52be89c81040d20229c876efc8852191482c233f8a52bb5a4e0875c321b8e5cb6413ef3dfa4d8fe79eeb7d52c587f52cf languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 +"d3-format@npm:1 - 3, d3-format@npm:3": + version: 3.1.0 + resolution: "d3-format@npm:3.1.0" + checksum: 10c0/049f5c0871ebce9859fc5e2f07f336b3c5bfff52a2540e0bac7e703fce567cd9346f4ad1079dd18d6f1e0eaa0599941c1810898926f10ac21a31fd0a34b4aa75 languageName: node linkType: hard -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 +"d3-geo@npm:3": + version: 3.1.1 + resolution: "d3-geo@npm:3.1.1" + dependencies: + d3-array: "npm:2.5.0 - 3" + checksum: 10c0/d32270dd2dc8ac3ea63e8805d63239c4c8ec6c0d339d73b5e5a30a87f8f54db22a78fb434369799465eae169503b25f9a107c642c8a16c32a3285bc0e6d8e8c1 languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" +"d3-hierarchy@npm:3": + version: 3.1.2 + resolution: "d3-hierarchy@npm:3.1.2" + checksum: 10c0/6dcdb480539644aa7fc0d72dfc7b03f99dfbcdf02714044e8c708577e0d5981deb9d3e99bbbb2d26422b55bcc342ac89a0fa2ea6c9d7302e2fc0951dd96f89cf + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 3, d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:3": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + d3-color: "npm:1 - 3" + checksum: 10c0/19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a languageName: node linkType: hard -"comma-separated-tokens@npm:^2.0.0": - version: 2.0.3 - resolution: "comma-separated-tokens@npm:2.0.3" - checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 +"d3-path@npm:1": + version: 1.0.9 + resolution: "d3-path@npm:1.0.9" + checksum: 10c0/e35e84df5abc18091f585725b8235e1fa97efc287571585427d3a3597301e6c506dea56b11dfb3c06ca5858b3eb7f02c1bf4f6a716aa9eade01c41b92d497eb5 languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab +"d3-path@npm:1 - 3, d3-path@npm:3, d3-path@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-path@npm:3.1.0" + checksum: 10c0/dc1d58ec87fa8319bd240cf7689995111a124b141428354e9637aa83059eb12e681f77187e0ada5dedfce346f7e3d1f903467ceb41b379bfd01cd8e31721f5da languageName: node linkType: hard -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a +"d3-polygon@npm:3": + version: 3.0.1 + resolution: "d3-polygon@npm:3.0.1" + checksum: 10c0/e236aa7f33efa9a4072907af7dc119f85b150a0716759d4fe5f12f62573018264a6cbde8617fbfa6944a7ae48c1c0c8d3f39ae72e11f66dd471e9b5e668385df languageName: node linkType: hard -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 +"d3-quadtree@npm:1 - 3, d3-quadtree@npm:3": + version: 3.0.1 + resolution: "d3-quadtree@npm:3.0.1" + checksum: 10c0/18302d2548bfecaef788152397edec95a76400fd97d9d7f42a089ceb68d910f685c96579d74e3712d57477ed042b056881b47cd836a521de683c66f47ce89090 languageName: node linkType: hard -"compute-scroll-into-view@npm:^3.0.2": - version: 3.1.1 - resolution: "compute-scroll-into-view@npm:3.1.1" - checksum: 10c0/59761ed62304a9599b52ad75d0d6fbf0669ee2ab7dd472fdb0ad9da36628414c014dea7b5810046560180ad30ffec52a953d19297f66a1d4f3aa0999b9d2521d +"d3-random@npm:3": + version: 3.0.1 + resolution: "d3-random@npm:3.0.1" + checksum: 10c0/987a1a1bcbf26e6cf01fd89d5a265b463b2cea93560fc17d9b1c45e8ed6ff2db5924601bcceb808de24c94133f000039eb7fa1c469a7a844ccbf1170cbb25b41 languageName: node linkType: hard -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f +"d3-sankey@npm:^0.12.3": + version: 0.12.3 + resolution: "d3-sankey@npm:0.12.3" + dependencies: + d3-array: "npm:1 - 2" + d3-shape: "npm:^1.2.0" + checksum: 10c0/261debb01a13269f6fc53b9ebaef174a015d5ad646242c23995bf514498829ab8b8f920a7873724a7494288b46bea3ce7ebc5a920b745bc8ae4caa5885cf5204 languageName: node linkType: hard -"convert-source-map@npm:^1.5.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b +"d3-scale-chromatic@npm:3": + version: 3.1.0 + resolution: "d3-scale-chromatic@npm:3.1.0" + dependencies: + d3-color: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + checksum: 10c0/9a3f4671ab0b971f4a411b42180d7cf92bfe8e8584e637ce7e698d705e18d6d38efbd20ec64f60cc0dfe966c20d40fc172565bc28aaa2990c0a006360eed91af languageName: node linkType: hard -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b +"d3-scale@npm:4": + version: 4.0.2 + resolution: "d3-scale@npm:4.0.2" + dependencies: + d3-array: "npm:2.10.0 - 3" + d3-format: "npm:1 - 3" + d3-interpolate: "npm:1.2.0 - 3" + d3-time: "npm:2.1.1 - 3" + d3-time-format: "npm:2 - 4" + checksum: 10c0/65d9ad8c2641aec30ed5673a7410feb187a224d6ca8d1a520d68a7d6eac9d04caedbff4713d1e8545be33eb7fec5739983a7ab1d22d4e5ad35368c6729d362f1 languageName: node linkType: hard -"core-js-compat@npm:^3.43.0": - version: 3.44.0 - resolution: "core-js-compat@npm:3.44.0" - dependencies: - browserslist: "npm:^4.25.1" - checksum: 10c0/5de4b042b8bb232b8390be3079030de5c7354610f136ed3eb91310a44455a78df02cfcf49b2fd05d5a5aa2695460620abf1b400784715f7482ed4770d40a68b2 +"d3-selection@npm:2 - 3, d3-selection@npm:3": + version: 3.0.0 + resolution: "d3-selection@npm:3.0.0" + checksum: 10c0/e59096bbe8f0cb0daa1001d9bdd6dbc93a688019abc97d1d8b37f85cd3c286a6875b22adea0931b0c88410d025563e1643019161a883c516acf50c190a11b56b languageName: node linkType: hard -"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" +"d3-shape@npm:3": + version: 3.2.0 + resolution: "d3-shape@npm:3.2.0" dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.2.1" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - yaml: "npm:^1.10.0" - checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 + d3-path: "npm:^3.1.0" + checksum: 10c0/f1c9d1f09926daaf6f6193ae3b4c4b5521e81da7d8902d24b38694517c7f527ce3c9a77a9d3a5722ad1e3ff355860b014557b450023d66a944eabf8cfde37132 languageName: node linkType: hard -"cross-spawn@npm:^5.0.1": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" +"d3-shape@npm:^1.2.0": + version: 1.3.7 + resolution: "d3-shape@npm:1.3.7" dependencies: - lru-cache: "npm:^4.0.1" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 + d3-path: "npm:1" + checksum: 10c0/548057ce59959815decb449f15632b08e2a1bdce208f9a37b5f98ec7629dda986c2356bc7582308405ce68aedae7d47b324df41507404df42afaf352907577ae languageName: node linkType: hard -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" +"d3-time-format@npm:2 - 4, d3-time-format@npm:4": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + d3-time: "npm:1 - 3" + checksum: 10c0/735e00fb25a7fd5d418fac350018713ae394eefddb0d745fab12bbff0517f9cdb5f807c7bbe87bb6eeb06249662f8ea84fec075f7d0cd68609735b2ceb29d206 languageName: node linkType: hard -"css-select@npm:^4.1.3": - version: 4.3.0 - resolution: "css-select@npm:4.3.0" +"d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3, d3-time@npm:3": + version: 3.1.0 + resolution: "d3-time@npm:3.1.0" dependencies: - boolbase: "npm:^1.0.0" - css-what: "npm:^6.0.1" - domhandler: "npm:^4.3.1" - domutils: "npm:^2.8.0" - nth-check: "npm:^2.0.1" - checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 + d3-array: "npm:2 - 3" + checksum: 10c0/a984f77e1aaeaa182679b46fbf57eceb6ebdb5f67d7578d6f68ef933f8eeb63737c0949991618a8d29472dbf43736c7d7f17c452b2770f8c1271191cba724ca1 languageName: node linkType: hard -"css-select@npm:^5.1.0": - version: 5.2.2 - resolution: "css-select@npm:5.2.2" - dependencies: - boolbase: "npm:^1.0.0" - css-what: "npm:^6.1.0" - domhandler: "npm:^5.0.2" - domutils: "npm:^3.0.1" - nth-check: "npm:^2.0.1" - checksum: 10c0/d79fffa97106007f2802589f3ed17b8c903f1c961c0fc28aa8a051eee0cbad394d8446223862efd4c1b40445a6034f626bb639cf2035b0bfc468544177593c99 +"d3-timer@npm:1 - 3, d3-timer@npm:3": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: 10c0/d4c63cb4bb5461d7038aac561b097cd1c5673969b27cbdd0e87fa48d9300a538b9e6f39b4a7f0e3592ef4f963d858c8a9f0e92754db73116770856f2fc04561a languageName: node linkType: hard -"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": - version: 1.1.3 - resolution: "css-tree@npm:1.1.3" +"d3-transition@npm:2 - 3, d3-transition@npm:3": + version: 3.0.1 + resolution: "d3-transition@npm:3.0.1" dependencies: - mdn-data: "npm:2.0.14" - source-map: "npm:^0.6.1" - checksum: 10c0/499a507bfa39b8b2128f49736882c0dd636b0cd3370f2c69f4558ec86d269113286b7df469afc955de6a68b0dba00bc533e40022a73698081d600072d5d83c1c + d3-color: "npm:1 - 3" + d3-dispatch: "npm:1 - 3" + d3-ease: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + d3-timer: "npm:1 - 3" + peerDependencies: + d3-selection: 2 - 3 + checksum: 10c0/4e74535dda7024aa43e141635b7522bb70cf9d3dfefed975eb643b36b864762eca67f88fafc2ca798174f83ca7c8a65e892624f824b3f65b8145c6a1a88dbbad languageName: node linkType: hard -"css-what@npm:^6.0.1, css-what@npm:^6.1.0": - version: 6.2.2 - resolution: "css-what@npm:6.2.2" - checksum: 10c0/91e24c26fb977b4ccef30d7007d2668c1c10ac0154cc3f42f7304410e9594fb772aea4f30c832d2993b132ca8d99338050866476210316345ec2e7d47b248a56 +"d3-zoom@npm:3": + version: 3.0.0 + resolution: "d3-zoom@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-drag: "npm:2 - 3" + d3-interpolate: "npm:1 - 3" + d3-selection: "npm:2 - 3" + d3-transition: "npm:2 - 3" + checksum: 10c0/ee2036479049e70d8c783d594c444fe00e398246048e3f11a59755cd0e21de62ece3126181b0d7a31bf37bcf32fd726f83ae7dea4495ff86ec7736ce5ad36fd3 + languageName: node + linkType: hard + +"d3@npm:^7.9.0": + version: 7.9.0 + resolution: "d3@npm:7.9.0" + dependencies: + d3-array: "npm:3" + d3-axis: "npm:3" + d3-brush: "npm:3" + d3-chord: "npm:3" + d3-color: "npm:3" + d3-contour: "npm:4" + d3-delaunay: "npm:6" + d3-dispatch: "npm:3" + d3-drag: "npm:3" + d3-dsv: "npm:3" + d3-ease: "npm:3" + d3-fetch: "npm:3" + d3-force: "npm:3" + d3-format: "npm:3" + d3-geo: "npm:3" + d3-hierarchy: "npm:3" + d3-interpolate: "npm:3" + d3-path: "npm:3" + d3-polygon: "npm:3" + d3-quadtree: "npm:3" + d3-random: "npm:3" + d3-scale: "npm:4" + d3-scale-chromatic: "npm:3" + d3-selection: "npm:3" + d3-shape: "npm:3" + d3-time: "npm:3" + d3-time-format: "npm:4" + d3-timer: "npm:3" + d3-transition: "npm:3" + d3-zoom: "npm:3" + checksum: 10c0/3dd9c08c73cfaa69c70c49e603c85e049c3904664d9c79a1a52a0f52795828a1ff23592dc9a7b2257e711d68a615472a13103c212032f38e016d609796e087e8 + languageName: node + linkType: hard + +"dagre-d3-es@npm:7.0.13": + version: 7.0.13 + resolution: "dagre-d3-es@npm:7.0.13" + dependencies: + d3: "npm:^7.9.0" + lodash-es: "npm:^4.17.21" + checksum: 10c0/4eca80dbbad4075311e3853930f99486024785b54210541796d4216140d91744738ee51125e2692c3532af148fbc2e690171750583916ed2ad553150abb198c7 + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.8": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 languageName: node linkType: hard -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c languageName: node linkType: hard -"csso@npm:^4.2.0": - version: 4.2.0 - resolution: "csso@npm:4.2.0" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - css-tree: "npm:^1.1.2" - checksum: 10c0/f8c6b1300efaa0f8855a7905ae3794a29c6496e7f16a71dec31eb6ca7cfb1f058a4b03fd39b66c4deac6cb06bf6b4ba86da7b67d7320389cb9994d52b924b903 + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 languageName: node linkType: hard -"csstype@npm:^3.0.2, csstype@npm:^3.1.3": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 languageName: node linkType: hard @@ -3203,7 +5223,23 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.1": +"dayjs@npm:^1.11.18": + version: 1.11.19 + resolution: "dayjs@npm:1.11.19" + checksum: 10c0/7d8a6074a343f821f81ea284d700bd34ea6c7abbe8d93bce7aba818948957c1b7f56131702e5e890a5622cdfc05dcebe8aed0b8313bdc6838a594d7846b0b000 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.4.1": version: 4.4.1 resolution: "debug@npm:4.4.1" dependencies: @@ -3215,6 +5251,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.4.0": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + "decode-named-character-reference@npm:^1.0.0": version: 1.2.0 resolution: "decode-named-character-reference@npm:1.2.0" @@ -3238,7 +5286,7 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.1.4": +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" dependencies: @@ -3249,6 +5297,26 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"delaunator@npm:5": + version: 5.0.1 + resolution: "delaunator@npm:5.0.1" + dependencies: + robust-predicates: "npm:^3.0.2" + checksum: 10c0/3d7ea4d964731c5849af33fec0a271bc6753487b331fd7d43ccb17d77834706e1c383e6ab8fda0032da955e7576d1083b9603cdaf9cbdfd6b3ebd1fb8bb675a5 + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -3263,24 +5331,19 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b - languageName: node - linkType: hard - -"diff@npm:^5.0.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 +"detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 languageName: node linkType: hard -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 +"devlop@npm:^1.0.0, devlop@npm:^1.1.0": + version: 1.1.0 + resolution: "devlop@npm:1.1.0" + dependencies: + dequal: "npm:^2.0.0" + checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e languageName: node linkType: hard @@ -3294,6 +5357,7 @@ __metadata: "@emotion/styled": "npm:^11.10.4" "@mui/material": "npm:^5.15.0" "@svgr/webpack": "npm:^6.5.1" + "@tailwindcss/postcss": "npm:^4.1.17" "@types/node": "npm:^18.11.18" "@types/react": "npm:^18.0.26" "@types/react-gtm-module": "npm:^2.0.4" @@ -3302,31 +5366,32 @@ __metadata: axios: "npm:^1.3.4" clsx: "npm:^1.2.1" date-fns: "npm:^2.30.0" - eslint: "npm:^8.30.0" + eslint: "npm:^9.39.1" + eslint-config-next: "npm:^16.0.7" framer-motion: "npm:^10.0.0" json2md: "npm:^2.0.0" mobx: "npm:^6.8.0" - next: "npm:13.2.0" + next: "npm:16.0.3" next-sitemap: "npm:^4.2.3" - nextra: "npm:2.6.1" - nextra-theme-docs: "npm:2.6.1" + nextra: "npm:4.6.0" + nextra-theme-docs: "npm:4.6.0" node-html-markdown: "npm:^1.3.0" postcss: "npm:^8.4.21" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" react-gtm-module: "npm:^2.0.11" - tailwindcss: "npm:^3.2.4" + tailwindcss: "npm:^4.1.17" tss-react: "npm:^4.4.1" - typescript: "npm:^4.9.4" + typescript: "npm:^5.1.0" languageName: unknown linkType: soft -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" dependencies: esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac languageName: node linkType: hard @@ -3387,6 +5452,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.2.5": + version: 3.3.0 + resolution: "dompurify@npm:3.3.0" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/66b1787b0bc8250d8f58e13284cf7f5f6bb400a0a55515e7a2a030316a4bb0d8306fdb669c17ed86ed58ff7e53c62b5da4488c2f261d11c58870fe01b8fcc486 + languageName: node + linkType: hard + "domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -3409,7 +5486,7 @@ __metadata: languageName: node linkType: hard -"dunder-proto@npm:^1.0.1": +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" dependencies: @@ -3420,13 +5497,6 @@ __metadata: languageName: node linkType: hard -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.173": version: 1.5.180 resolution: "electron-to-chromium@npm:1.5.180" @@ -3434,13 +5504,6 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - "emoji-regex@npm:^9.2.2": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" @@ -3448,12 +5511,13 @@ __metadata: languageName: node linkType: hard -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" +"enhanced-resolve@npm:^5.18.3": + version: 5.18.3 + resolution: "enhanced-resolve@npm:5.18.3" dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/d413c23c2d494e4c1c9c9ac7d60b812083dc6d446699ed495e69c920988af0a3c66bf3f8d0e7a45cb1686c2d4c1df9f4e7352d973f5b56fe63d8d711dd0ccc54 languageName: node linkType: hard @@ -3478,20 +5542,6 @@ __metadata: languageName: node linkType: hard -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - "error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -3501,6 +5551,68 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.2.1" + is-set: "npm:^2.0.3" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.4" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.4" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + stop-iteration-iterator: "npm:^1.1.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.19" + checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 + languageName: node + linkType: hard + "es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": version: 1.0.1 resolution: "es-define-property@npm:1.0.1" @@ -3515,6 +5627,30 @@ __metadata: languageName: node linkType: hard +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.6" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.6" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + iterator.prototype: "npm:^1.1.4" + safe-array-concat: "npm:^1.1.3" + checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": version: 1.1.1 resolution: "es-object-atoms@npm:1.1.1" @@ -3524,7 +5660,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.1.0": +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" dependencies: @@ -3536,6 +5672,50 @@ __metadata: languageName: node linkType: hard +"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node + linkType: hard + +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff + languageName: node + linkType: hard + +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 + languageName: node + linkType: hard + "escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -3543,13 +5723,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -3564,93 +5737,265 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-config-next@npm:^16.0.7": + version: 16.0.7 + resolution: "eslint-config-next@npm:16.0.7" + dependencies: + "@next/eslint-plugin-next": "npm:16.0.7" + eslint-import-resolver-node: "npm:^0.3.6" + eslint-import-resolver-typescript: "npm:^3.5.2" + eslint-plugin-import: "npm:^2.32.0" + eslint-plugin-jsx-a11y: "npm:^6.10.0" + eslint-plugin-react: "npm:^7.37.0" + eslint-plugin-react-hooks: "npm:^7.0.0" + globals: "npm:16.4.0" + typescript-eslint: "npm:^8.46.0" + peerDependencies: + eslint: ">=9.0.0" + typescript: ">=3.3.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/ca3e974c6c1c0821d6ff9ec8590ff334417b2cb615b92b119dd7bd05303c9c987256668e90209d2a74c6b088df9fbcbdbe44e79cb24c52b2b00f3ef9d0f0a061 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^3.5.2": + version: 3.10.1 + resolution: "eslint-import-resolver-typescript@npm:3.10.1" + dependencies: + "@nolyfill/is-core-module": "npm:1.0.39" + debug: "npm:^4.4.0" + get-tsconfig: "npm:^4.10.0" + is-bun-module: "npm:^2.0.0" + stable-hash: "npm:^0.0.5" + tinyglobby: "npm:^0.2.13" + unrs-resolver: "npm:^1.6.2" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10c0/02ba72cf757753ab9250806c066d09082e00807b7b6525d7687e1c0710bc3f6947e39120227fe1f93dabea3510776d86fb3fd769466ba3c46ce67e9f874cb702 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.12.1": + version: 2.12.1 + resolution: "eslint-module-utils@npm:2.12.1" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.32.0": + version: 2.32.0 + resolution: "eslint-plugin-import@npm:2.32.0" + dependencies: + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.9" + array.prototype.findlastindex: "npm:^1.2.6" + array.prototype.flat: "npm:^1.3.3" + array.prototype.flatmap: "npm:^1.3.3" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.1" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.16.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.1" + semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.9" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b + languageName: node + linkType: hard + +"eslint-plugin-jsx-a11y@npm:^6.10.0": + version: 6.10.2 + resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" + dependencies: + aria-query: "npm:^5.3.2" + array-includes: "npm:^3.1.8" + array.prototype.flatmap: "npm:^1.3.2" + ast-types-flow: "npm:^0.0.8" + axe-core: "npm:^4.10.0" + axobject-query: "npm:^4.1.0" + damerau-levenshtein: "npm:^1.0.8" + emoji-regex: "npm:^9.2.2" + hasown: "npm:^2.0.2" + jsx-ast-utils: "npm:^3.3.5" + language-tags: "npm:^1.0.9" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + safe-regex-test: "npm:^1.0.3" + string.prototype.includes: "npm:^2.0.1" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + checksum: 10c0/d93354e03b0cf66f018d5c50964e074dffe4ddf1f9b535fa020d19c4ae45f89c1a16e9391ca61ac3b19f7042c751ac0d361a056a65cbd1de24718a53ff8daa6e + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^7.0.0": + version: 7.0.1 + resolution: "eslint-plugin-react-hooks@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10c0/1e711d1a9d1fa9cfc51fa1572500656577201199c70c795c6a27adfc1df39e5c598f69aab6aa91117753d23cc1f11388579a2bed14921cf9a4efe60ae8618496 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.37.0": + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" + dependencies: + array-includes: "npm:^3.1.8" + array.prototype.findlast: "npm:^1.2.5" + array.prototype.flatmap: "npm:^1.3.3" + array.prototype.tosorted: "npm:^1.1.4" + doctrine: "npm:^2.1.0" + es-iterator-helpers: "npm:^1.2.1" + estraverse: "npm:^5.3.0" + hasown: "npm:^2.0.2" + jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.9" + object.fromentries: "npm:^2.0.8" + object.values: "npm:^1.2.1" + prop-types: "npm:^15.8.1" + resolve: "npm:^2.0.0-next.5" + semver: "npm:^6.3.1" + string.prototype.matchall: "npm:^4.0.12" + string.prototype.repeat: "npm:^1.0.0" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:^8.30.0": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 + languageName: node + linkType: hard + +"eslint@npm:^9.39.1": + version: 9.39.1 + resolution: "eslint@npm:9.39.1" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-helpers": "npm:^0.4.2" + "@eslint/core": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.39.1" + "@eslint/plugin-kit": "npm:^0.4.1" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + checksum: 10c0/59b2480639404ba24578ca480f973683b87b7aac8aa7e349240474a39067804fd13cd8b9cb22fee074170b8c7c563b57bab703ec0f0d3f81ea017e5d2cad299d languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 +"esm@npm:^3.2.25": + version: 3.2.25 + resolution: "esm@npm:3.2.25" + checksum: 10c0/8e60e8075506a7ce28681c30c8f54623fe18a251c364cd481d86719fc77f58aa055b293d80632d9686d5408aaf865ffa434897dc9fd9153c8b3f469fad23f094 languageName: node linkType: hard -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 +"espree@npm:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" + dependencies: + acorn: "npm:^8.15.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.5.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -3668,30 +6013,31 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard -"estree-util-attach-comments@npm:^2.0.0": - version: 2.1.1 - resolution: "estree-util-attach-comments@npm:2.1.1" +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - checksum: 10c0/cdb5fdb5809b376ca4a96afbcd916c3570b4bbf5d0115b8a9e1e8a10885d8d9fb549df0a16c077abb42ee35fa33192b69714bac25d4f3c43a36092288c9a64fd + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 languageName: node linkType: hard -"estree-util-build-jsx@npm:^2.0.0": - version: 2.2.2 - resolution: "estree-util-build-jsx@npm:2.2.2" +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" estree-walker: "npm:^3.0.0" - checksum: 10c0/2cef6ad6747f51934eba0601c3477ba08c98331cfe616635e08dfc89d06b9bbd370c4d80e87fe7d42d82776fa7840868201f48491b0ef9c808039f15fe4667e1 + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 languageName: node linkType: hard @@ -3702,14 +6048,31 @@ __metadata: languageName: node linkType: hard -"estree-util-to-js@npm:^1.1.0": - version: 1.2.0 - resolution: "estree-util-to-js@npm:1.2.0" +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b + languageName: node + linkType: hard + +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 + languageName: node + linkType: hard + +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" astring: "npm:^1.8.0" source-map: "npm:^0.7.0" - checksum: 10c0/ad9c99dc34b0510ab813b485251acbf0abd06361c07b13c08da5d1611c279bee02ec09f2c269ae30b8d2da587115fc1fad4fa9f2f5ba69e094e758a3a4de7069 + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 languageName: node linkType: hard @@ -3722,13 +6085,13 @@ __metadata: languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": - version: 1.2.1 - resolution: "estree-util-visit@npm:1.2.1" +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - checksum: 10c0/3c47086ab25947a889fca9f58a842e0d27edadcad24dc393fdd7c9ad3419fe05b3c63b6fc9d6c9d8f50d32bca615cd0a3fe8d0e6b300fb94f74c91210b55ea5d + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 languageName: node linkType: hard @@ -3755,34 +6118,27 @@ __metadata: languageName: node linkType: hard -"execa@npm:^0.8.0": - version: 0.8.0 - resolution: "execa@npm:0.8.0" +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" dependencies: - cross-spawn: "npm:^5.0.1" - get-stream: "npm:^3.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/e6c085687024cd5d348cad98a12213f6ebad2e962c7f3298ea8608fd5ed2daad8d1e27e79bfe7104bf60d8d80b56dd60267a0667006c29019e4297c96ecfe99d - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af languageName: node linkType: hard -"extend-shallow@npm:^2.0.1": - version: 2.0.1 - resolution: "extend-shallow@npm:2.0.1" - dependencies: - is-extendable: "npm:^0.1.0" - checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 +"exsolve@npm:^1.0.7": + version: 1.0.8 + resolution: "exsolve@npm:1.0.8" + checksum: 10c0/65e44ae05bd4a4a5d87cfdbbd6b8f24389282cf9f85fa5feb17ca87ad3f354877e6af4cd99e02fc29044174891f82d1d68c77f69234410eb8f163530e6278c67 languageName: node linkType: hard @@ -3800,6 +6156,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:3.3.1": + version: 3.3.1 + resolution: "fast-glob@npm:3.3.1" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/b68431128fb6ce4b804c5f9622628426d990b66c75b21c0d16e3d80e2d1398bf33f7e1724e66a2e3f299285dcf5b8d745b122d0304e7dd66f5231081f33ec67c + languageName: node + linkType: hard + "fast-glob@npm:^3.2.12, fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -3836,24 +6205,33 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.4": - version: 6.4.6 - resolution: "fdir@npm:6.4.6" +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" + dependencies: + format: "npm:^0.2.0" + checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - checksum: 10c0/45b559cff889934ebb8bc498351e5acba40750ada7e7d6bde197768d2fa67c149be8ae7f8ff34d03f4e1eb20f2764116e56440aaa2f6689e9a4aa7ef06acafe9 + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -3883,14 +6261,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -3901,20 +6278,6 @@ __metadata: languageName: node linkType: hard -"flexsearch@npm:^0.7.21": - version: 0.7.43 - resolution: "flexsearch@npm:0.7.43" - checksum: 10c0/797dc474ed97750b8e85c118b1af63eb2709da5fc05defcb13e96515774f28743ccb2448b63f3b703cf1ca571928c006069503dacf7d177bc07b9ee15e1f85d0 - languageName: node - linkType: hard - -"focus-visible@npm:^5.2.0": - version: 5.2.1 - resolution: "focus-visible@npm:5.2.1" - checksum: 10c0/1c0e4e8b22be8684a664acc340efd6a41aafb560ce09979186a1c934de321ce8d6a3d7175c946aab1c87409b0e10f623274d7ce7d42ff16a0e4dc862fa151623 - languageName: node - linkType: hard - "follow-redirects@npm:^1.15.6": version: 1.15.9 resolution: "follow-redirects@npm:1.15.9" @@ -3925,7 +6288,7 @@ __metadata: languageName: node linkType: hard -"for-each@npm:^0.3.5": +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": version: 0.3.5 resolution: "for-each@npm:0.3.5" dependencies: @@ -3934,16 +6297,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - "form-data@npm:^4.0.0": version: 4.0.3 resolution: "form-data@npm:4.0.3" @@ -3957,6 +6310,13 @@ __metadata: languageName: node linkType: hard +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + "fraction.js@npm:^4.3.7": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" @@ -3985,45 +6345,38 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 languageName: node linkType: hard -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca languageName: node linkType: hard -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 languageName: node linkType: hard @@ -4052,6 +6405,27 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.7": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + "get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": version: 1.0.1 resolution: "get-proto@npm:1.0.1" @@ -4062,29 +6436,30 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "get-stream@npm:3.0.0" - checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 languageName: node linkType: hard -"git-up@npm:^7.0.0": - version: 7.0.0 - resolution: "git-up@npm:7.0.0" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - is-ssh: "npm:^1.4.0" - parse-url: "npm:^8.1.0" - checksum: 10c0/a3fa02e1a63c7c824b5ebbf23f4a9a6b34dd80031114c5dd8adb7ef53493642e39d3d80dfef4025a452128400c35c2c138d20a0f6ae5d7d7ef70d9ba13083d34 + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b languageName: node linkType: hard -"git-url-parse@npm:^13.1.0": - version: 13.1.1 - resolution: "git-url-parse@npm:13.1.1" +"get-tsconfig@npm:^4.10.0": + version: 4.13.0 + resolution: "get-tsconfig@npm:4.13.0" dependencies: - git-up: "npm:^7.0.0" - checksum: 10c0/9304e6fbc1a6acf5e351e84ad87574fa6b840ccbe531afbbce9ba38e01fcacf6adf386ef7593daa037da59d9fd43b5d7c5232d5648638f8301cc2f18d00ad386 + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/2c49ef8d3907047a107f229fd610386fe3b7fe9e42dfd6b42e7406499493cdda8c62e83e57e8d7a98125610774b9f604d3a0ff308d7f9de5c7ac6d1b07cb6036 languageName: node linkType: hard @@ -4095,7 +6470,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -4113,42 +6488,34 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e +"globals@npm:16.4.0": + version: 16.4.0 + resolution: "globals@npm:16.4.0" + checksum: 10c0/a14b447a78b664b42f6d324e8675fcae6fe5e57924fecc1f6328dce08af9b2ca3a3138501e1b1f244a49814a732dc60cfc1aa24e714e0b64ac8bd18910bfac90 languageName: node linkType: hard -"glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"globals@npm:^15.15.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 languageName: node linkType: hard @@ -4159,7 +6526,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.4": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -4173,22 +6540,17 @@ __metadata: languageName: node linkType: hard -"gray-matter@npm:^4.0.3": - version: 4.0.3 - resolution: "gray-matter@npm:4.0.3" - dependencies: - js-yaml: "npm:^3.13.1" - kind-of: "npm:^6.0.2" - section-matter: "npm:^1.0.0" - strip-bom-string: "npm:^1.0.0" - checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 +"hachure-fill@npm:^0.5.2": + version: 0.5.2 + resolution: "hachure-fill@npm:0.5.2" + checksum: 10c0/307e3b6f9f2d3c11a82099c3f71eecbb9c440c00c1f896ac1732c23e6dbff16a92bb893d222b8b721b89cf11e58649ca60b4c24e5663f705f877cefd40153429 languageName: node linkType: hard -"has-flag@npm:^2.0.0": - version: 2.0.0 - resolution: "has-flag@npm:2.0.0" - checksum: 10c0/5e1f136c7f801c2719048bedfabcf834a1ed46276cd4c98c6fcddb89a482f5d6a16df0771a38805cfc2d9010b4de157909e1a71b708e1d339b6e311041bde9b4 +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 languageName: node linkType: hard @@ -4199,7 +6561,7 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.2": +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" dependencies: @@ -4208,6 +6570,15 @@ __metadata: languageName: node linkType: hard +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -4224,17 +6595,6 @@ __metadata: languageName: node linkType: hard -"hash-obj@npm:^4.0.0": - version: 4.0.0 - resolution: "hash-obj@npm:4.0.0" - dependencies: - is-obj: "npm:^3.0.0" - sort-keys: "npm:^5.0.0" - type-fest: "npm:^1.0.2" - checksum: 10c0/af0a8bd3905afa2b9bd05ec75e37d904c66f6621ae185d53699fc7e5baf8157aeff6f4b9ae3c579da08aae6a5b2536c445c4dd1eecb94070c8717b63eeca97de - languageName: node - linkType: hard - "hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -4244,127 +6604,219 @@ __metadata: languageName: node linkType: hard -"hast-util-from-dom@npm:^4.0.0": - version: 4.2.0 - resolution: "hast-util-from-dom@npm:4.2.0" +"hast-util-from-dom@npm:^5.0.0": + version: 5.0.1 + resolution: "hast-util-from-dom@npm:5.0.1" dependencies: - hastscript: "npm:^7.0.0" + "@types/hast": "npm:^3.0.0" + hastscript: "npm:^9.0.0" web-namespaces: "npm:^2.0.0" - checksum: 10c0/bfb5d739ebd2177d37568c2cccb86a6df0edbc5565c4ec78987ca6492e5dd4a7f724f51b107c20f63612bc5c4561c98dafd09a685236d803ea476d65aaca566e + checksum: 10c0/9a90381e048107a093a3da758bb17b67aaf5322e222f02497f841c4990abf94aa177d38d5b9bf61ad07b3601d0409f34f5b556d89578cc189230c6b994d2af77 languageName: node linkType: hard -"hast-util-from-html-isomorphic@npm:^1.0.0": - version: 1.0.0 - resolution: "hast-util-from-html-isomorphic@npm:1.0.0" +"hast-util-from-html-isomorphic@npm:^2.0.0": + version: 2.0.0 + resolution: "hast-util-from-html-isomorphic@npm:2.0.0" dependencies: - "@types/hast": "npm:^2.0.0" - hast-util-from-dom: "npm:^4.0.0" - hast-util-from-html: "npm:^1.0.0" - unist-util-remove-position: "npm:^4.0.0" - checksum: 10c0/8185605a9f9d073db2a34a1218f3de2b8c21bc71de712dd991707d6b4a6d8d7cf291bc97057241eaafba4072af3d10f983b6836b37f23878c0ca8db466471ca8 + "@types/hast": "npm:^3.0.0" + hast-util-from-dom: "npm:^5.0.0" + hast-util-from-html: "npm:^2.0.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/fc68d9245e794483a802d5c85a9f6c25959e00db78cc796411efc965134f3206f9cc9fa38134572ea781ad74663e801f1f83202007b208e27a770855566a62b6 languageName: node linkType: hard -"hast-util-from-html@npm:^1.0.0": - version: 1.0.2 - resolution: "hast-util-from-html@npm:1.0.2" +"hast-util-from-html@npm:^2.0.0": + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" dependencies: - "@types/hast": "npm:^2.0.0" - hast-util-from-parse5: "npm:^7.0.0" + "@types/hast": "npm:^3.0.0" + devlop: "npm:^1.1.0" + hast-util-from-parse5: "npm:^8.0.0" parse5: "npm:^7.0.0" - vfile: "npm:^5.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/a07cf6e3d15214a0ce81f1ed83824adc36d342339a2902077d194779666f0701977ba4cfea388c41a2ab5973a9a36890b8b409932e83400a68e18e021adcc7d3 + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" +"hast-util-from-parse5@npm:^8.0.0": + version: 8.0.3 + resolution: "hast-util-from-parse5@npm:8.0.3" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - hastscript: "npm:^7.0.0" - property-information: "npm:^6.0.0" - vfile: "npm:^5.0.0" - vfile-location: "npm:^4.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + hastscript: "npm:^9.0.0" + property-information: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" web-namespaces: "npm:^2.0.0" - checksum: 10c0/c1002816d0235ff0a1e888d71c191d3ecfbaba510aaef86eec00edcba8803a3e0ad901bb0e5430a9d2aee2d52c31aabacae8282394dc519c333017a46c68d1c8 + checksum: 10c0/40ace6c0ad43c26f721c7499fe408e639cde917b2350c9299635e6326559855896dae3c3ebf7440df54766b96c4276a7823e8f376a2b6a28b37b591f03412545 languageName: node linkType: hard -"hast-util-is-element@npm:^2.0.0": - version: 2.1.3 - resolution: "hast-util-is-element@npm:2.1.3" +"hast-util-is-element@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-is-element@npm:3.0.0" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - checksum: 10c0/a1f22d96a24aba39e85fc52b4f7248d66fd2fd60c0fcf9cdb0644aad92a315b22eeffe434f63791077a69196e30af629d80a04ddcedc344ca88c021bc8af19c7 + "@types/hast": "npm:^3.0.0" + checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f + languageName: node + linkType: hard + +"hast-util-raw@npm:^9.0.0": + version: 9.1.0 + resolution: "hast-util-raw@npm:9.1.0" dependencies: - "@types/hast": "npm:^2.0.0" - checksum: 10c0/34ac1707a477fd9764e328087163f1f21857bdb0f8d425bf41f6def7baf840e50e4bca2eb03072e3da4e39856de28893c4b688dcba0cc305160d53afcece4df4 + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-from-parse5: "npm:^8.0.0" + hast-util-to-parse5: "npm:^8.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + parse5: "npm:^7.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/d0d909d2aedecef6a06f0005cfae410d6475e6e182d768bde30c3af9fcbbe4f9beb0522bdc21d0679cb3c243c0df40385797ed255148d68b3d3f12e82d12aacc languageName: node linkType: hard -"hast-util-to-estree@npm:^2.0.0": - version: 2.3.3 - resolution: "hast-util-to-estree@npm:2.3.3" +"hast-util-to-estree@npm:^3.0.0, hast-util-to-estree@npm:^3.1.0": + version: 3.1.3 + resolution: "hast-util-to-estree@npm:3.1.3" dependencies: "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - estree-util-attach-comments: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - hast-util-whitespace: "npm:^2.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - property-information: "npm:^6.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - style-to-object: "npm:^0.4.1" - unist-util-position: "npm:^4.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/5947b5030a6d20c193f5ea576cc751507e0b30d00f91e40a5208ca3a7add03a3862795a83600c0fdadf19c8b051917c7904715fa7dd358f04603d67a36341c38 + checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f languageName: node linkType: hard -"hast-util-to-text@npm:^3.1.0": - version: 3.1.2 - resolution: "hast-util-to-text@npm:3.1.2" +"hast-util-to-html@npm:^9.0.5": + version: 9.0.5 + resolution: "hast-util-to-html@npm:9.0.5" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - hast-util-is-element: "npm:^2.0.0" - unist-util-find-after: "npm:^4.0.0" - checksum: 10c0/0d93d04c42a066955f0425bb6056e472ea65eb5591412303acd865e59dd5962f40d15a3f70066c16013b541954ae52652ae1fd2bce99f537dca7f1a66928b916 + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 languageName: node linkType: hard -"hast-util-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-whitespace@npm:2.0.1" - checksum: 10c0/dcf6ebab091c802ffa7bb3112305c7631c15adb6c07a258f5528aefbddf82b4e162c8310ef426c48dc1dc623982cc33920e6dde5a50015d307f2778dcf6c2487 +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.6 + resolution: "hast-util-to-jsx-runtime@npm:2.3.6" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 languageName: node linkType: hard -"hastscript@npm:^7.0.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" +"hast-util-to-parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "hast-util-to-parse5@npm:8.0.0" dependencies: - "@types/hast": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - hast-util-parse-selector: "npm:^3.0.0" + devlop: "npm:^1.0.0" property-information: "npm:^6.0.0" space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/579912b03ff4a5b19eb609df7403c6dba2505ef1a1e2bc47cbf467cbd7cffcd51df40e74d882de1ccdda40aaf18487f82619eb9cb9f2077cba778017e95e868e + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd + languageName: node + linkType: hard + +"hast-util-to-string@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-to-string@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b5fa1912a6ba6131affae52a0f4394406c4c0d23c2b0307f1d69988f1030c7bb830289303e67c5ad8f674f5f23a454c1dcd492c39e45a22c1f46d3c9bce5bd0c + languageName: node + linkType: hard + +"hast-util-to-text@npm:^4.0.0": + version: 4.0.2 + resolution: "hast-util-to-text@npm:4.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + unist-util-find-after: "npm:^5.0.0" + checksum: 10c0/93ecc10e68fe5391c6e634140eb330942e71dea2724c8e0c647c73ed74a8ec930a4b77043b5081284808c96f73f2bee64ee416038ece75a63a467e8d14f09946 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + +"hastscript@npm:^9.0.0": + version: 9.0.1 + resolution: "hastscript@npm:9.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-parse-selector: "npm:^4.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + checksum: 10c0/18dc8064e5c3a7a2ae862978e626b97a254e1c8a67ee9d0c9f06d373bba155ed805fc5b5ce21b990fb7bc174624889e5e1ce1cade264f1b1d58b48f994bc85ce languageName: node linkType: hard @@ -4377,6 +6829,22 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10c0/48be3b2fa37a0cbc77a112a89096fa212f25d06de92781b163d67853d210a8a5c3784fac23d7d48335058f7ed283115c87b4332c2a2abaaccc76d0ead1a282ac + languageName: node + linkType: hard + +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10c0/3abaa4c6f1bcc25273f267297a89a4904963ea29af19b8e4f6eabe04f1c2c7e9abd7bfc4730ddb1d58f2ea04b6fee74053d8bddb5656ec6ebf6c79cc8d14202c + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -4386,34 +6854,21 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": - version: 4.2.0 - resolution: "http-cache-semantics@npm:4.2.0" - checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -4443,6 +6898,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^7.0.0": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -4467,44 +6929,42 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.3": +"inherits@npm:^2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 languageName: node linkType: hard -"inline-style-parser@npm:0.1.1": - version: 0.1.1 - resolution: "inline-style-parser@npm:0.1.1" - checksum: 10c0/08832a533f51a1e17619f2eabf2f5ec5e956d6dcba1896351285c65df022c9420de61d73256e1dca8015a52abf96cc84ddc3b73b898b22de6589d3962b5e501b +"inline-style-parser@npm:0.2.7": + version: 0.2.7 + resolution: "inline-style-parser@npm:0.2.7" + checksum: 10c0/d884d76f84959517430ae6c22f0bda59bb3f58f539f99aac75a8d786199ec594ed648c6ab4640531f9fc244b0ed5cd8c458078e592d016ef06de793beb1debff + languageName: node + linkType: hard + +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 languageName: node linkType: hard -"intersection-observer@npm:^0.12.2": - version: 0.12.2 - resolution: "intersection-observer@npm:0.12.2" - checksum: 10c0/9591f46b2b742f5801ed69dbc8860f487771b4af8361e7a5dcb28a377beff2ba56336a2b090af261825430d225dae9417121496d2e6925e000e4a469958843ff +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 10c0/8cedd57f07bbc22501516fbfc70447f0c6812871d471096fad9ea603516eacc2137b633633daf432c029712df0baefd793686388ddf5737e3ea15074b877f7ed languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc +"internmap@npm:^1.0.0": + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 10c0/60942be815ca19da643b6d4f23bd0bf4e8c97abbd080fb963fe67583b60bdfb3530448ad4486bae40810e92317bded9995cc31411218acc750d72cd4e8646eee languageName: node linkType: hard @@ -4535,6 +6995,17 @@ __metadata: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -4542,19 +7013,44 @@ __metadata: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" +"is-async-function@npm:^2.0.0": + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 languageName: node linkType: hard -"is-buffer@npm:^2.0.0": - version: 2.0.5 - resolution: "is-buffer@npm:2.0.5" - checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" + dependencies: + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e + languageName: node + linkType: hard + +"is-bun-module@npm:^2.0.0": + version: 2.0.0 + resolution: "is-bun-module@npm:2.0.0" + dependencies: + semver: "npm:^7.7.1" + checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240 languageName: node linkType: hard @@ -4565,7 +7061,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -4574,6 +7070,27 @@ __metadata: languageName: node linkType: hard +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f + languageName: node + linkType: hard + "is-decimal@npm:^2.0.0": version: 2.0.1 resolution: "is-decimal@npm:2.0.1" @@ -4581,10 +7098,12 @@ __metadata: languageName: node linkType: hard -"is-extendable@npm:^0.1.0": - version: 0.1.1 - resolution: "is-extendable@npm:0.1.1" - checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 languageName: node linkType: hard @@ -4595,10 +7114,25 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10": + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" + dependencies: + call-bound: "npm:^1.0.4" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372 languageName: node linkType: hard @@ -4614,7 +7148,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -4630,24 +7164,45 @@ __metadata: languageName: node linkType: hard -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd languageName: node linkType: hard -"is-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-obj@npm:3.0.0" - checksum: 10c0/48d678fa15c56fd38353634ae2106a538827af9050211b18df13540dba0b38aa25c5cb498648a01311bf493a99ac3ce416576649b8cace10bcce7344611fa56a +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 languageName: node linkType: hard @@ -4658,15 +7213,6 @@ __metadata: languageName: node linkType: hard -"is-reference@npm:^3.0.0": - version: 3.0.3 - resolution: "is-reference@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.6" - checksum: 10c0/35edd284cfb4cd9e9f08973f20e276ec517eaca31f5f049598e97dbb2d05544973dde212dac30fddee5b420930bff365e2e67dcd1293d0866c6720377382e3e5 - languageName: node - linkType: hard - "is-regex@npm:^1.2.1": version: 1.2.1 resolution: "is-regex@npm:1.2.1" @@ -4679,23 +7225,51 @@ __metadata: languageName: node linkType: hard -"is-ssh@npm:^1.4.0": - version: 1.4.1 - resolution: "is-ssh@npm:1.4.1" +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - protocols: "npm:^2.0.1" - checksum: 10c0/021a7355cb032625d58db3cc8266ad9aa698cbabf460b71376a0307405577fd7d3aa0826c0bf1951d7809f134c0ee80403306f6d7633db94a5a3600a0106b398 + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e languageName: node linkType: hard -"is-typed-array@npm:^1.1.3": +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" dependencies: @@ -4704,6 +7278,50 @@ __metadata: languageName: node linkType: hard +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" + dependencies: + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 + languageName: node + linkType: hard + +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"is64bit@npm:^2.0.0": + version: 2.0.0 + resolution: "is64bit@npm:2.0.0" + dependencies: + system-architecture: "npm:^0.1.0" + checksum: 10c0/9f3741d4b7560e2a30b9ce0c79bb30c7bdcc5df77c897bd59bb68f0fd882ae698015e8da81d48331def66c778d430c1ae3cb8c1fcc34e96c576b66198395faa7 + languageName: node + linkType: hard + "isarray@npm:^1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -4711,6 +7329,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -4718,32 +7343,26 @@ __metadata: languageName: node linkType: hard -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 languageName: node linkType: hard -"jiti@npm:^1.21.6": - version: 1.21.7 - resolution: "jiti@npm:1.21.7" +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" bin: - jiti: bin/jiti.js - checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b languageName: node linkType: hard @@ -4761,33 +7380,14 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" +"js-yaml@npm:^4.1.1": + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 languageName: node linkType: hard @@ -4846,6 +7446,17 @@ __metadata: languageName: node linkType: hard +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + "json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -4855,14 +7466,19 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:^3.2.0": - version: 3.3.1 - resolution: "jsonc-parser@npm:3.3.1" - checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 languageName: node linkType: hard -"katex@npm:^0.16.0, katex@npm:^0.16.7": +"katex@npm:^0.16.0": version: 0.16.22 resolution: "katex@npm:0.16.22" dependencies: @@ -4873,7 +7489,18 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"katex@npm:^0.16.21, katex@npm:^0.16.22": + version: 0.16.25 + resolution: "katex@npm:0.16.25" + dependencies: + commander: "npm:^8.3.0" + bin: + katex: cli.js + checksum: 10c0/5bb4b1cd914b76d5efb01ee054c1a221ac723be1e38fb260264c6e253036943d301c1741cbf64f840689c6b3942bce21a6da6637de846a428e4c661dc8ee46ab + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -4882,17 +7509,60 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 +"khroma@npm:^2.1.0": + version: 2.1.0 + resolution: "khroma@npm:2.1.0" + checksum: 10c0/634d98753ff5d2540491cafeb708fc98de0d43f4e6795256d5c8f6e3ad77de93049ea41433928fda3697adf7bbe6fe27351858f6d23b78f8b5775ef314c59891 + languageName: node + linkType: hard + +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + +"langium@npm:3.3.1": + version: 3.3.1 + resolution: "langium@npm:3.3.1" + dependencies: + chevrotain: "npm:~11.0.3" + chevrotain-allstar: "npm:~0.3.0" + vscode-languageserver: "npm:~9.0.1" + vscode-languageserver-textdocument: "npm:~1.0.11" + vscode-uri: "npm:~3.0.8" + checksum: 10c0/0c54803068addb0f7c16a57fdb2db2e5d4d9a21259d477c3c7d0587c2c2f65a313f9eeef3c95ac1c2e41cd11d4f2eaf620d2c03fe839a3350ffee59d2b4c7647 + languageName: node + linkType: hard + +"language-subtag-registry@npm:^0.3.20": + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c + languageName: node + linkType: hard + +"language-tags@npm:^1.0.9": + version: 1.0.9 + resolution: "language-tags@npm:1.0.9" + dependencies: + language-subtag-registry: "npm:^0.3.20" + checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff + languageName: node + linkType: hard + +"layout-base@npm:^1.0.0": + version: 1.0.2 + resolution: "layout-base@npm:1.0.2" + checksum: 10c0/2a55d0460fd9f6ed53d7e301b9eb3dea19bda03815d616a40665ce6dc75c1f4d62e1ca19a897da1cfaf6de1b91de59cd6f2f79ba1258f3d7fccc7d46ca7f3337 languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a +"layout-base@npm:^2.0.0": + version: 2.0.1 + resolution: "layout-base@npm:2.0.1" + checksum: 10c0/a44df9ef3cbff9916a10f616635e22b5787c89fa62b2fec6f99e8e6ee512c7cebd22668ce32dab5a83c934ba0a309c51a678aa0b40d70853de6c357893c0a88b languageName: node linkType: hard @@ -4906,10 +7576,123 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.3": - version: 3.1.3 - resolution: "lilconfig@npm:3.1.3" - checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc +"lightningcss-android-arm64@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-android-arm64@npm:1.30.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-darwin-arm64@npm:1.30.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-darwin-x64@npm:1.30.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-freebsd-x64@npm:1.30.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.30.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-linux-arm64-gnu@npm:1.30.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-linux-arm64-musl@npm:1.30.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-linux-x64-gnu@npm:1.30.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-linux-x64-musl@npm:1.30.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-win32-arm64-msvc@npm:1.30.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss-win32-x64-msvc@npm:1.30.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:1.30.2": + version: 1.30.2 + resolution: "lightningcss@npm:1.30.2" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.30.2" + lightningcss-darwin-arm64: "npm:1.30.2" + lightningcss-darwin-x64: "npm:1.30.2" + lightningcss-freebsd-x64: "npm:1.30.2" + lightningcss-linux-arm-gnueabihf: "npm:1.30.2" + lightningcss-linux-arm64-gnu: "npm:1.30.2" + lightningcss-linux-arm64-musl: "npm:1.30.2" + lightningcss-linux-x64-gnu: "npm:1.30.2" + lightningcss-linux-x64-musl: "npm:1.30.2" + lightningcss-win32-arm64-msvc: "npm:1.30.2" + lightningcss-win32-x64-msvc: "npm:1.30.2" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/5c0c73a33946dab65908d5cd1325df4efa290efb77f940b60f40448b5ab9a87d3ea665ef9bcf00df4209705050ecf2f7ecc649f44d6dfa5905bb50f15717e78d languageName: node linkType: hard @@ -4920,6 +7703,17 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^1.1.1": + version: 1.1.2 + resolution: "local-pkg@npm:1.1.2" + dependencies: + mlly: "npm:^1.7.4" + pkg-types: "npm:^2.3.0" + quansync: "npm:^0.2.11" + checksum: 10c0/1bcfcc5528dea95cba3caa478126a348d3985aad9f69ecf7802c13efef90897e1c5ff7851974332c5e6d4a4698efe610fef758a068c8bc3feb5322aeb35d5993 + languageName: node + linkType: hard + "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -4929,6 +7723,13 @@ __metadata: languageName: node linkType: hard +"lodash-es@npm:4.17.21, lodash-es@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash-es@npm:4.17.21" + checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2 + languageName: node + linkType: hard + "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -4936,13 +7737,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -4968,23 +7762,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"lru-cache@npm:^4.0.1": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: "npm:^1.0.2" - yallist: "npm:^2.1.2" - checksum: 10c0/1ca5306814e5add9ec63556d6fd9b24a4ecdeaef8e9cea52cbf30301e6b88c8d8ddc7cab45b59b56eb763e6c45af911585dc89925a074ab65e1502e3fe8103cf - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -4994,29 +7771,19 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" +"magic-string@npm:^0.30.21": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a languageName: node linkType: hard -"markdown-extensions@npm:^1.0.0": - version: 1.1.1 - resolution: "markdown-extensions@npm:1.1.1" - checksum: 10c0/eb9154016502ad1fb4477683ddb5cae8ba3ca06451b381b04dc4c34e91d8d168129d50d404b717d6bf7d458e13088c109303fc72d57cee7151a6082b0e7bba71 +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d languageName: node linkType: hard @@ -5027,13 +7794,12 @@ __metadata: languageName: node linkType: hard -"match-sorter@npm:^6.3.1": - version: 6.3.4 - resolution: "match-sorter@npm:6.3.4" - dependencies: - "@babel/runtime": "npm:^7.23.8" - remove-accents: "npm:0.5.0" - checksum: 10c0/35d2a6b6df003c677d9ec87ecd4683657638f5bce856f43f9cf90b03e357ed2f09813ebbac759defa7e7438706936dd34dc2bfe1a18771f7d2541f14d639b4ad +"marked@npm:^16.2.1": + version: 16.4.2 + resolution: "marked@npm:16.4.2" + bin: + marked: bin/marked.js + checksum: 10c0/fc6051142172454f2023f3d6b31cca92879ec8e1b96457086a54c70354c74b00e1b6543a76a1fad6d399366f52b90a848f6ffb8e1d65a5baff87f3ba9b8f1847 languageName: node linkType: hard @@ -5044,237 +7810,267 @@ __metadata: languageName: node linkType: hard -"mdast-util-definitions@npm:^5.0.0": - version: 5.1.2 - resolution: "mdast-util-definitions@npm:5.1.2" +"mathjax-full@npm:^3.2.2": + version: 3.2.2 + resolution: "mathjax-full@npm:3.2.2" dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/da9049c15562e44ee4ea4a36113d98c6c9eaa3d8a17d6da2aef6a0626376dcd01d9ec007d77a8dfcad6d0cbd5c32a4abbad72a3f48c3172a55934c7d9a916480 + esm: "npm:^3.2.25" + mhchemparser: "npm:^4.1.0" + mj-context-menu: "npm:^0.6.1" + speech-rule-engine: "npm:^4.0.6" + checksum: 10c0/48f55747bd91aa6bba905bab8654045e4d654a0a65869b1d446e25a89284ef37dc722c6c4a585e7fc14c5f87bb6954291f066e08e5a8245bb5ff0c4f4c54c8d4 languageName: node linkType: hard -"mdast-util-find-and-replace@npm:^2.0.0": - version: 2.2.2 - resolution: "mdast-util-find-and-replace@npm:2.2.2" +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" escape-string-regexp: "npm:^5.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.0.0" - checksum: 10c0/ce935f4bd4aeab47f91531a7f09dfab89aaeea62ad31029b43185c5b626921357703d8e5093c13073c097fdabfc57cb2f884d7dfad83dbe7239e351375d6797c + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 languageName: node linkType: hard -"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0": - version: 1.3.1 - resolution: "mdast-util-from-markdown@npm:1.3.1" +"mdast-util-from-markdown@npm:^2.0.0, mdast-util-from-markdown@npm:^2.0.1": + version: 2.0.2 + resolution: "mdast-util-from-markdown@npm:2.0.2" dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" decode-named-character-reference: "npm:^1.0.0" - mdast-util-to-string: "npm:^3.1.0" - micromark: "npm:^3.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-decode-string: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f4e901bf2a2e93fe35a339e0cff581efacce2f7117cd5652e9a270847bd7e2508b3e717b7b4156af54d4f896d63033e06ff9fafbf59a1d46fe17dd5e2a3f7846 + devlop: "npm:^1.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark: "npm:^4.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 languageName: node linkType: hard -"mdast-util-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" +"mdast-util-frontmatter@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-frontmatter@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + escape-string-regexp: "npm:^5.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + checksum: 10c0/d9b0b70dd9c574cc0220d4e05dd8e9d86ac972a6a5af9e0c49c839b31cb750d4313445cfbbdf9264a7fbe3f8c8d920b45358b8500f4286e6b9dc830095b25b9a + languageName: node + linkType: hard + +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" ccount: "npm:^2.0.0" - mdast-util-find-and-replace: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - checksum: 10c0/750e312eae73c3f2e8aa0e8c5232cb1b905357ff37ac236927f1af50cdbee7c2cfe2379b148ac32fa4137eeb3b24601e1bb6135084af926c7cd808867804193f + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 languageName: node linkType: hard -"mdast-util-gfm-footnote@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-footnote@npm:1.0.2" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-gfm-footnote@npm:2.1.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - checksum: 10c0/767973e46b9e2ae44e80e51a5e38ad0b032fc7f06a1a3095aa96c2886ba333941c764474a56b82e7db05efc56242a4789bc7fbbcc753d61512750e86a4192fe8 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 languageName: node linkType: hard -"mdast-util-gfm-strikethrough@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/29616b3dfdd33d3cd13f9b3181a8562fa2fbacfcb04a37dba3c690ba6829f0231b145444de984726d9277b2bc90dd7d96fb9df9f6292d5e77d65a8659ee2f52b + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 languageName: node linkType: hard -"mdast-util-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "mdast-util-gfm-table@npm:1.0.7" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" markdown-table: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/a37a05a936292c4f48394123332d3c034a6e1b15bb3e7f3b94e6bce3260c9184fd388abbc4100827edd5485a6563098306994d15a729bde3c96de7a62ed5720b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/91fa91f7d1a8797bf129008dab12d23917015ad12df00044e275b4459e8b383fbec6234338953a0089ef9c3a114d0a360c3e652eb0ebf6ece7e7a8fd3b5977c6 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 languageName: node linkType: hard -"mdast-util-gfm@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-gfm@npm:2.0.2" +"mdast-util-gfm@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-gfm@npm:3.1.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-gfm-autolink-literal: "npm:^1.0.0" - mdast-util-gfm-footnote: "npm:^1.0.0" - mdast-util-gfm-strikethrough: "npm:^1.0.0" - mdast-util-gfm-table: "npm:^1.0.0" - mdast-util-gfm-task-list-item: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/5b7f7f98a90a2962d7e0787e080c4e55b70119100c7685bbdb772d8d7865524aeffd1757edba5afba434250e0246b987c0617c2c635baaf51c26dbbb3b72dbec + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 languageName: node linkType: hard -"mdast-util-math@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-math@npm:2.0.2" +"mdast-util-math@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-math@npm:3.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" longest-streak: "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/2270b6f8d7f0eb7dd5c27bee8ad43f29a8e76a7092742945fd115480ddd8bf72ae53ba1f8f63697cec82016e0c169f0a201503862dfe6bc7ac2286662de3fe8e + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.1.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/d4e839e38719f26872ed78aac18339805a892f1b56585a9cb8668f34e221b4f0660b9dfe49ec96dbbe79fd1b63b648608a64046d8286bcd2f9d576e80b48a0a1 languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^1.0.0": - version: 1.3.2 - resolution: "mdast-util-mdx-expression@npm:1.3.2" +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/01f306ee809d28825cbec23b3c80376a0fbe69601b6b2843d23beb5662a31ec7560995f52b96b13093cc03de1130404a47f139d16f58c3f54e91e88f4bdd82d2 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 languageName: node linkType: hard -"mdast-util-mdx-jsx@npm:^2.0.0": - version: 2.1.4 - resolution: "mdast-util-mdx-jsx@npm:2.1.4" +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" ccount: "npm:^2.0.0" - mdast-util-from-markdown: "npm:^1.1.0" - mdast-util-to-markdown: "npm:^1.3.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" parse-entities: "npm:^4.0.0" stringify-entities: "npm:^4.0.0" - unist-util-remove-position: "npm:^4.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b0c16e56a99c5167e60c98dbdbe82645549630fb529688642c4664ca5557ff0b3029c75146f5657cadb7908d5fa99810eacc5dcc51676d0877c8b4dcebb11cbe + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 languageName: node linkType: hard -"mdast-util-mdx@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx@npm:2.0.1" +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdx-jsx: "npm:^2.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/3b5e55781a7b7b4b7e71728a84afbec63516f251b3556efec52dbb4824c0733f5ebaa907d21211d008e5cb1a8265e6704bc062ee605f4c09e90fbfa2c6fbba3b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^1.0.0": - version: 1.3.1 - resolution: "mdast-util-mdxjs-esm@npm:1.3.1" +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/2ff0af34ea62004d39f15bd45b79e3008e68cae7e2510c9281e24a17e2c3f55d004524796166ef5aa3378798ca7f6c5f88883238f413577619bbaf41026b7e62 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc languageName: node linkType: hard -"mdast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-phrasing@npm:3.0.1" +"mdast-util-phrasing@npm:^4.0.0": + version: 4.1.0 + resolution: "mdast-util-phrasing@npm:4.1.0" dependencies: - "@types/mdast": "npm:^3.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/5e00e303652a7581593549dbce20dfb69d687d79a972f7928f6ca1920ef5385bceb737a3d5292ab6d937ed8c67bb59771e80e88f530b78734fe7d155f833e32b + "@types/mdast": "npm:^4.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f languageName: node linkType: hard -"mdast-util-to-hast@npm:^12.1.0": - version: 12.3.0 - resolution: "mdast-util-to-hast@npm:12.3.0" +"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.2.0": + version: 13.2.1 + resolution: "mdast-util-to-hast@npm:13.2.1" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-definitions: "npm:^5.0.0" - micromark-util-sanitize-uri: "npm:^1.1.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" trim-lines: "npm:^3.0.0" - unist-util-generated: "npm:^2.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/0753e45bfcce423f7a13979ac720a23ed8d6bafed174c387f43bbe8baf3838f3a043cd8006975b71e5c4068b7948f83f1348acea79801101af31eaec4e7a499a + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/3eeaf28a5e84e1e08e6d54a1a8a06c0fca88cb5d36f4cf8086f0177248d1ce6e4e751f4ad0da19a3dea1c6ea61bd80784acc3ae021e44ceeb21aa5413a375e43 languageName: node linkType: hard -"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": - version: 1.5.0 - resolution: "mdast-util-to-markdown@npm:1.5.0" +"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": + version: 2.1.2 + resolution: "mdast-util-to-markdown@npm:2.1.2" dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" longest-streak: "npm:^3.0.0" - mdast-util-phrasing: "npm:^3.0.0" - mdast-util-to-string: "npm:^3.0.0" - micromark-util-decode-string: "npm:^1.0.0" - unist-util-visit: "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + unist-util-visit: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/9831d14aa6c097750a90c7b87b4e814b040731c30606a794c9b136dc746633dd9ec07154ca97d4fec4eaf732cf89d14643424e2581732d6ee18c9b0e51ff7664 + checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 languageName: node linkType: hard -"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" +"mdast-util-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-to-string@npm:4.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - checksum: 10c0/112f4bf0f6758dcb95deffdcf37afba7eaecdfe2ee13252de031723094d4d55220e147326690a8b91244758e2d678e7aeb1fdd0fa6ef3317c979bc42effd9a21 + "@types/mdast": "npm:^4.0.0" + checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7 languageName: node linkType: hard @@ -5285,6 +8081,13 @@ __metadata: languageName: node linkType: hard +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + "merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -5292,459 +8095,506 @@ __metadata: languageName: node linkType: hard -"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-core-commonmark@npm:1.1.0" +"mermaid@npm:^11.0.0": + version: 11.12.1 + resolution: "mermaid@npm:11.12.1" + dependencies: + "@braintree/sanitize-url": "npm:^7.1.1" + "@iconify/utils": "npm:^3.0.1" + "@mermaid-js/parser": "npm:^0.6.3" + "@types/d3": "npm:^7.4.3" + cytoscape: "npm:^3.29.3" + cytoscape-cose-bilkent: "npm:^4.1.0" + cytoscape-fcose: "npm:^2.2.0" + d3: "npm:^7.9.0" + d3-sankey: "npm:^0.12.3" + dagre-d3-es: "npm:7.0.13" + dayjs: "npm:^1.11.18" + dompurify: "npm:^3.2.5" + katex: "npm:^0.16.22" + khroma: "npm:^2.1.0" + lodash-es: "npm:^4.17.21" + marked: "npm:^16.2.1" + roughjs: "npm:^4.6.6" + stylis: "npm:^4.3.6" + ts-dedent: "npm:^2.2.0" + uuid: "npm:^11.1.0" + checksum: 10c0/0dd07a5986bb25ca038f68f7a187a0b6ccf5fa8c738603c3145bd4b6289d50312053818f52617cf575a6652e6c57809ae115c016725f7ce446496be5971a150a + languageName: node + linkType: hard + +"mhchemparser@npm:^4.1.0": + version: 4.2.1 + resolution: "mhchemparser@npm:4.2.1" + checksum: 10c0/5afe8b5ed918fda71a17875227050fd7e8e706305df28bd0beb5a7cd07886a393d041317e3c4b9105fc518ab75065b65886b2574cbd8dec49520de04d119e64a + languageName: node + linkType: hard + +"micromark-core-commonmark@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-core-commonmark@npm:2.0.3" dependencies: decode-named-character-reference: "npm:^1.0.0" - micromark-factory-destination: "npm:^1.0.0" - micromark-factory-label: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-factory-title: "npm:^1.0.0" - micromark-factory-whitespace: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-html-tag-name: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/b3bf7b7004ce7dbb3ae151dcca4db1d12546f1b943affb2418da4b90b9ce59357373c433ee2eea4c868aee0791dafa355aeed19f5ef2b0acaf271f32f1ecbe6a - languageName: node - linkType: hard - -"micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" + devlop: "npm:^1.0.0" + micromark-factory-destination: "npm:^2.0.0" + micromark-factory-label: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-title: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-html-tag-name: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee + languageName: node + linkType: hard + +"micromark-extension-frontmatter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-frontmatter@npm:2.0.0" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/4964a52605ac36d24501d427e2d173fa39b5e0402275cb45068eba4898f4cb9cc57f7007b21b7514f0ab5f7b371b1701a5156a10b6ac8e77a7f36e830cf481d4 + fault: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/7d0d876e598917a67146d29f536d6fbbf9d1b2401a77e2f64a3f80f934a63ff26fa94b01759c9185c24b2a91e4e6abf908fa7aa246f00a7778a6b37a17464300 languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.2 - resolution: "micromark-extension-gfm-footnote@npm:1.1.2" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" dependencies: - micromark-core-commonmark: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b8090876cc3da5436c6253b0b40e39ceaa470c2429f699c19ee4163cef3102c4cd16c4ac2ec8caf916037fad310cfb52a9ef182c75d50fca7419ba08faad9b39 + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b45fe93a7a412fc44bae7a183b92a988e17b49ed9d683bd80ee4dde96d462e1ca6b316dd64bda7759e4086d6d8686790a711e53c244f1f4d2b37e1cfe852884d + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-table@npm:1.0.7" +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/38b5af80ecab8206845a057338235bee6f47fb6cb904208be4b76e87906765821683e25bef85dfa485809f931eaf8cd55f16cd2f4d6e33b84f56edfaf1dfb129 + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-extension-gfm-table@npm:2.1.1" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7e1bf278255cf2a8d2dda9de84bc238b39c53100e25ba8d7168220d5b00dc74869a6cb038fbf2e76b8ae89efc66906762311797a906d7d9cdd71e07bfe1ed505 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/2179742fa2cbb243cc06bd9e43fbb94cd98e4814c9d368ddf8b4b5afa0348023f335626ae955e89d679e2c2662a7f82c315117a3b060c87bdb4420fee5a219d1 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d languageName: node linkType: hard -"micromark-extension-gfm@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-extension-gfm@npm:2.0.3" +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" dependencies: - micromark-extension-gfm-autolink-literal: "npm:^1.0.0" - micromark-extension-gfm-footnote: "npm:^1.0.0" - micromark-extension-gfm-strikethrough: "npm:^1.0.0" - micromark-extension-gfm-table: "npm:^1.0.0" - micromark-extension-gfm-tagfilter: "npm:^1.0.0" - micromark-extension-gfm-task-list-item: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/53056376d14caf3fab2cc44881c1ad49d975776cc2267bca74abda2cb31f2a77ec0fb2bdb2dd97565f0d9943ad915ff192b89c1cee5d9d727569a5e38505799b + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f languageName: node linkType: hard -"micromark-extension-math@npm:^2.0.0": - version: 2.1.2 - resolution: "micromark-extension-math@npm:2.1.2" +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 + languageName: node + linkType: hard + +"micromark-extension-math@npm:^3.0.0": + version: 3.1.0 + resolution: "micromark-extension-math@npm:3.1.0" dependencies: "@types/katex": "npm:^0.16.0" + devlop: "npm:^1.0.0" katex: "npm:^0.16.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5d40ffc93862498cbcbc9c96a40a05150b878c3d86ab25bc771dec005d286f4381578ccee3f421ecfd9db259298a89a37a5b6b48529842240d34f8acd8edffb5 + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/56e6f2185a4613f9d47e7e98cf8605851c990957d9229c942b005e286c8087b61dc9149448d38b2f8be6d42cc6a64aad7e1f2778ddd86fbbb1a2f48a3ca1872f languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.8 - resolution: "micromark-extension-mdx-expression@npm:1.0.8" +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-mdx-expression@npm:3.0.1" dependencies: "@types/estree": "npm:^1.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/99e2997a54caafc4258979c0591b3fe8e31018079df833d559768092fec41e57a71225d423f4179cea4e8bc1af2f52f5c9ae640673619d8fe142ded875240da3 + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 languageName: node linkType: hard -"micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdx-jsx@npm:1.0.5" +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-mdx-jsx@npm:3.0.2" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/1b4bfbe60b9cabfabfb870f70ded8da0caacbaa3be6bdf07f6db25cc5a14c6bc970c34c60e5c80da1e97766064a117feb8160b6d661d69e530a4cc7ec97305de + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 languageName: node linkType: hard -"micromark-extension-mdx-md@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdx-md@npm:1.0.1" +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/9ad70b3a5e842fd7ebd93c8c48a32fd3d05fe77be06a08ef32462ea53e97d8f297e2c1c4b30a6929dbd05125279fe98bb04e9cc0bb686c691bdcf7d36c6e51b0 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df languageName: node linkType: hard -"micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.5" +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.1.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/612028bced78e882641a43c78fc4813a573b383dc0a7b90db75ed88b37bf5b5997dc7ead4a1011315b34f17bc76b7f4419de6ad9532a088102ab1eea0245d380 + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d languageName: node linkType: hard -"micromark-extension-mdxjs@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdxjs@npm:1.0.1" +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" dependencies: acorn: "npm:^8.0.0" acorn-jsx: "npm:^5.0.0" - micromark-extension-mdx-expression: "npm:^1.0.0" - micromark-extension-mdx-jsx: "npm:^1.0.0" - micromark-extension-mdx-md: "npm:^1.0.0" - micromark-extension-mdxjs-esm: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3f123e4afea9674c96934c9ea6a057ec9e5584992c50c36c173a2e331d272b1f4e2a8552364a0e2cb50703d0218831fdae1a17b563f0009aac6a35350e6a7b77 + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea languageName: node linkType: hard -"micromark-factory-destination@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-destination@npm:1.1.0" +"micromark-factory-destination@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-destination@npm:2.0.1" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/71ebd9089bf0c9689b98ef42215c04032ae2701ae08c3546b663628553255dca18e5310dbdacddad3acd8de4f12a789835fff30dadc4da3c4e30387a75e6b488 + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c languageName: node linkType: hard -"micromark-factory-label@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-label@npm:1.1.0" +"micromark-factory-label@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-label@npm:2.0.1" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5e2cd2d8214bb92a34dfcedf9c7aecf565e3648650a3a6a0495ededf15f2318dd214dc069e3026402792cd5839d395313f8ef9c2e86ca34a8facaa0f75a77753 + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 languageName: node linkType: hard -"micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.9 - resolution: "micromark-factory-mdx-expression@npm:1.0.9" +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-factory-mdx-expression@npm:2.0.3" dependencies: "@types/estree": "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b28bd8e072f37ca91446fe8d113e4ae64baaef013b0cde4aa224add0ee40963ce3584b9709f7662d30491f875ae7104b897d37efa26cdaecf25082ed5bac7b8c + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 languageName: node linkType: hard -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" +"micromark-factory-space@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-space@npm:2.0.1" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 + micromark-util-character: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb languageName: node linkType: hard -"micromark-factory-title@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-title@npm:1.1.0" +"micromark-factory-title@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-title@npm:2.0.1" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/cf8c687d1d5c3928846a4791d4a7e2f1d7bdd2397051e20d60f06b7565a48bf85198ab6f85735e997ab3f0cbb80b8b6391f4f7ebc0aae2f2f8c3a08541257bf6 + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 languageName: node linkType: hard -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-whitespace@npm:1.1.0" +"micromark-factory-whitespace@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-whitespace@npm:2.0.1" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7248cc4534f9befb38c6f398b6e38efd3199f1428fc214c9cb7ed5b6e9fa7a82c0d8cdfa9bcacde62887c9a7c8c46baf5c318b2ae8f701afbccc8ad702e92dce + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 languageName: node linkType: hard -"micromark-util-character@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" +"micromark-util-character@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-util-character@npm:2.1.1" dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 languageName: node linkType: hard -"micromark-util-chunked@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-chunked@npm:1.1.0" +"micromark-util-chunked@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-chunked@npm:2.0.1" dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/59534cf4aaf481ed58d65478d00eae0080df9b5816673f79b5ddb0cea263e5a9ee9cbb6cc565daf1eb3c8c4ff86fc4e25d38a0577539655cda823a4249efd358 + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 languageName: node linkType: hard -"micromark-util-classify-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-classify-character@npm:1.1.0" +"micromark-util-classify-character@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-classify-character@npm:2.0.1" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3266453dc0fdaf584e24c9b3c91d1ed180f76b5856699c51fd2549305814fcab7ec52afb4d3e83d002a9115cd2d2b2ffdc9c0b38ed85120822bf515cc00636ec + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-combine-extensions@npm:1.1.0" +"micromark-util-combine-extensions@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-combine-extensions@npm:2.0.1" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/0bc572fab3fe77f533c29aa1b75cb847b9fc9455f67a98623ef9740b925c0b0426ad9f09bbb56f1e844ea9ebada7873d1f06d27f7c979a917692b273c4b69e31 + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 languageName: node linkType: hard -"micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" +"micromark-util-decode-numeric-character-reference@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/64ef2575e3fc2426976c19e16973348f20b59ddd5543f1467ac2e251f29e0a91f12089703d29ae985b0b9a408ee0d72f06d04ed3920811aa2402aabca3bdf9e4 + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df languageName: node linkType: hard -"micromark-util-decode-string@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-string@npm:1.1.0" +"micromark-util-decode-string@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-decode-string@npm:2.0.1" dependencies: decode-named-character-reference: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/757a0aaa5ad6c50c7480bd75371d407ac75f5022cd4404aba07adadf1448189502aea9bb7b2d09d25e18745e0abf72b95506b6beb184bcccabe919e48e3a5df7 + micromark-util-character: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb languageName: node linkType: hard -"micromark-util-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-encode@npm:1.1.0" - checksum: 10c0/9878c9bc96999d45626a7597fffac85348ea842dce75d2417345cbf070a9941c62477bd0963bef37d4f0fd29f2982be6ddf416d62806f00ccb334af9d6ee87e7 +"micromark-util-encode@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-encode@npm:2.0.1" + checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a languageName: node linkType: hard -"micromark-util-events-to-acorn@npm:^1.0.0": - version: 1.2.3 - resolution: "micromark-util-events-to-acorn@npm:1.2.3" +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-util-events-to-acorn@npm:2.0.3" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - estree-util-visit: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/cd3af7365806a0b22efb83cb7726cb835725c0bc22e04f7ea83f2f38a09e7132413eff6ab6d53652b969a7ec30e442731c3abbbe8a74dc2081c51fd10223c269 + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 languageName: node linkType: hard -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-html-tag-name@npm:1.2.0" - checksum: 10c0/15421869678d36b4fe51df453921e8186bff514a14e9f79f32b7e1cdd67874e22a66ad34a7f048dd132cbbbfc7c382ae2f777a2bfd1f245a47705dc1c6d4f199 +"micromark-util-html-tag-name@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-html-tag-name@npm:2.0.1" + checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-normalize-identifier@npm:1.1.0" +"micromark-util-normalize-identifier@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-normalize-identifier@npm:2.0.1" dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/a9657321a2392584e4d978061882117a84db7d2c2c1c052c0f5d25da089d463edb9f956d5beaf7f5768984b6f72d046d59b5972951ec7bf25397687a62b8278a + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd languageName: node linkType: hard -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-resolve-all@npm:1.1.0" +"micromark-util-resolve-all@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-resolve-all@npm:2.0.1" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b5c95484c06e87bbbb60d8430eb030a458733a5270409f4c67892d1274737087ca6a7ca888987430e57cf1dcd44bb16390d3b3936a2bf07f7534ec8f52ce43c9 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": - version: 1.2.0 - resolution: "micromark-util-sanitize-uri@npm:1.2.0" +"micromark-util-sanitize-uri@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-sanitize-uri@npm:2.0.1" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/dbdb98248e9f0408c7a00f1c1cd805775b41d213defd659533835f34b38da38e8f990bf7b3f782e96bffbc549aec9c3ecdab197d4ad5adbfe08f814a70327b6e + micromark-util-character: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c languageName: node linkType: hard -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-subtokenize@npm:1.1.0" +"micromark-util-subtokenize@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-util-subtokenize@npm:2.1.0" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f292b1b162845db50d36255c9d4c4c6d47931fbca3ac98a80c7e536d2163233fd662f8ca0479ee2b80f145c66a1394c7ed17dfce801439741211015e77e3901e + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067 languageName: node linkType: hard -"micromark-util-symbol@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 +"micromark-util-symbol@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-symbol@npm:2.0.1" + checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 languageName: node linkType: hard -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 +"micromark-util-types@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-types@npm:2.0.2" + checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298 languageName: node linkType: hard -"micromark@npm:^3.0.0": - version: 3.2.0 - resolution: "micromark@npm:3.2.0" +"micromark@npm:^4.0.0": + version: 4.0.2 + resolution: "micromark@npm:4.0.2" dependencies: "@types/debug": "npm:^4.0.0" debug: "npm:^4.0.0" decode-named-character-reference: "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.1" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/f243e805d1b3cc699fddae2de0b1492bc82462f1a709d7ae5c82039f88b1e009c959100184717e748be057b5f88603289d5681679a4e6fbabcd037beb34bc744 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.8": + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -5770,7 +8620,23 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"minimatch@npm:^10.0.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10c0/c85d44821c71973d636091fddbfbffe62370f5ee3caf0241c5b60c18cd289e916200acb2361b7e987558cd06896d153e25d505db9fc1e43e6b4b6752e2702902 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -5788,95 +8654,29 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.8": +"minimist@npm:^1.2.0, minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 languageName: node linkType: hard -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 +"mj-context-menu@npm:^0.6.1": + version: 0.6.1 + resolution: "mj-context-menu@npm:0.6.1" + checksum: 10c0/2bf3564bb5cbd3915e14417e8df4a4e3013f1e281d431ee1e88976ae6529cc88e6eea7d9b3e217d1d79666f89070c3e1a193383ba9c7bf82d63075e616664ce9 languageName: node linkType: hard -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" +"mlly@npm:^1.7.4": + version: 1.8.0 + resolution: "mlly@npm:1.8.0" dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + acorn: "npm:^8.15.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^1.3.1" + ufo: "npm:^1.6.1" + checksum: 10c0/f174b844ae066c71e9b128046677868e2e28694f0bbeeffbe760b2a9d8ff24de0748d0fde6fabe706700c1d2e11d3c0d7a53071b5ea99671592fac03364604ab languageName: node linkType: hard @@ -5887,32 +8687,14 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - -"ms@npm:^2.1.3": +"ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.11, nanoid@npm:^3.3.4": +"nanoid@npm:^3.3.11, nanoid@npm:^3.3.6": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -5921,6 +8703,15 @@ __metadata: languageName: node linkType: hard +"napi-postinstall@npm:^0.3.0": + version: 0.3.4 + resolution: "napi-postinstall@npm:0.3.4" + bin: + napi-postinstall: lib/cli.js + checksum: 10c0/b33d64150828bdade3a5d07368a8b30da22ee393f8dd8432f1b9e5486867be21c84ec443dd875dd3ef3c7401a079a7ab7e2aa9d3538a889abbcd96495d5104fe + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -5935,32 +8726,6 @@ __metadata: languageName: node linkType: hard -"next-mdx-remote@npm:^4.2.1": - version: 4.4.1 - resolution: "next-mdx-remote@npm:4.4.1" - dependencies: - "@mdx-js/mdx": "npm:^2.2.1" - "@mdx-js/react": "npm:^2.2.1" - vfile: "npm:^5.3.0" - vfile-matter: "npm:^3.0.1" - peerDependencies: - react: ">=16.x <=18.x" - react-dom: ">=16.x <=18.x" - checksum: 10c0/d48ad271f58312d11f392b0fbd7b2dbc5990cc82fcb6d28f687875a52b28b695c0700b93f197c72910a4c73da0a1fe4867db95315bc2ee7f0fc1743279f41b80 - languageName: node - linkType: hard - -"next-seo@npm:^6.0.0": - version: 6.8.0 - resolution: "next-seo@npm:6.8.0" - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: ">=16.0.0" - react-dom: ">=16.0.0" - checksum: 10c0/63fe63dfb7e5dc8438185f698bec1428925b667808bc6ba5fc4f39758545c50ce049bc48c937d43246ee51913796673b995bd39afd10a8742108db89f0d11e52 - languageName: node - linkType: hard - "next-sitemap@npm:^4.2.3": version: 4.2.3 resolution: "next-sitemap@npm:4.2.3" @@ -5978,59 +8743,46 @@ __metadata: languageName: node linkType: hard -"next-themes@npm:^0.2.1": - version: 0.2.1 - resolution: "next-themes@npm:0.2.1" +"next-themes@npm:^0.4.0": + version: 0.4.6 + resolution: "next-themes@npm:0.4.6" peerDependencies: - next: "*" - react: "*" - react-dom: "*" - checksum: 10c0/979dec0a2de049ce7d1b5da835e7f7dc3b7ec83ba9e464348f497a52a6a6e5b5c395c97f071f66a63f50f22cce89fb6d19061ec7e75643b0eab215b21794bde7 - languageName: node - linkType: hard - -"next@npm:13.2.0": - version: 13.2.0 - resolution: "next@npm:13.2.0" - dependencies: - "@next/env": "npm:13.2.0" - "@next/swc-android-arm-eabi": "npm:13.2.0" - "@next/swc-android-arm64": "npm:13.2.0" - "@next/swc-darwin-arm64": "npm:13.2.0" - "@next/swc-darwin-x64": "npm:13.2.0" - "@next/swc-freebsd-x64": "npm:13.2.0" - "@next/swc-linux-arm-gnueabihf": "npm:13.2.0" - "@next/swc-linux-arm64-gnu": "npm:13.2.0" - "@next/swc-linux-arm64-musl": "npm:13.2.0" - "@next/swc-linux-x64-gnu": "npm:13.2.0" - "@next/swc-linux-x64-musl": "npm:13.2.0" - "@next/swc-win32-arm64-msvc": "npm:13.2.0" - "@next/swc-win32-ia32-msvc": "npm:13.2.0" - "@next/swc-win32-x64-msvc": "npm:13.2.0" - "@swc/helpers": "npm:0.4.14" - caniuse-lite: "npm:^1.0.30001406" - postcss: "npm:8.4.14" - styled-jsx: "npm:5.1.1" - peerDependencies: - "@opentelemetry/api": ^1.4.0 - fibers: ">= 3.1.0" - node-sass: ^6.0.0 || ^7.0.0 - react: ^18.2.0 - react-dom: ^18.2.0 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/83590c11d359ce7e4ced14f6ea9dd7a691d5ce6843fe2dc520fc27e29ae1c535118478d03e7f172609c41b1ef1b8da6b8dd2d2acd6cd79cac1abbdbd5b99f2c4 + languageName: node + linkType: hard + +"next@npm:16.0.3": + version: 16.0.3 + resolution: "next@npm:16.0.3" + dependencies: + "@next/env": "npm:16.0.3" + "@next/swc-darwin-arm64": "npm:16.0.3" + "@next/swc-darwin-x64": "npm:16.0.3" + "@next/swc-linux-arm64-gnu": "npm:16.0.3" + "@next/swc-linux-arm64-musl": "npm:16.0.3" + "@next/swc-linux-x64-gnu": "npm:16.0.3" + "@next/swc-linux-x64-musl": "npm:16.0.3" + "@next/swc-win32-arm64-msvc": "npm:16.0.3" + "@next/swc-win32-x64-msvc": "npm:16.0.3" + "@swc/helpers": "npm:0.5.15" + caniuse-lite: "npm:^1.0.30001579" + postcss: "npm:8.4.31" + sharp: "npm:^0.34.4" + styled-jsx: "npm:5.1.6" + peerDependencies: + "@opentelemetry/api": ^1.1.0 + "@playwright/test": ^1.51.1 + babel-plugin-react-compiler: "*" + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 dependenciesMeta: - "@next/swc-android-arm-eabi": - optional: true - "@next/swc-android-arm64": - optional: true "@next/swc-darwin-arm64": optional: true "@next/swc-darwin-x64": optional: true - "@next/swc-freebsd-x64": - optional: true - "@next/swc-linux-arm-gnueabihf": - optional: true "@next/swc-linux-arm64-gnu": optional: true "@next/swc-linux-arm64-musl": @@ -6041,101 +8793,102 @@ __metadata: optional: true "@next/swc-win32-arm64-msvc": optional: true - "@next/swc-win32-ia32-msvc": - optional: true "@next/swc-win32-x64-msvc": optional: true + sharp: + optional: true peerDependenciesMeta: "@opentelemetry/api": optional: true - fibers: + "@playwright/test": optional: true - node-sass: + babel-plugin-react-compiler: optional: true sass: optional: true bin: next: dist/bin/next - checksum: 10c0/17c83e9002a8ac9a84359212a4615257bd45476ece92be36c8f3f1370f1981cf7abbe135ae862ccceb5b4830f635d3542f9d40f68e7eafff826de91831d7b746 + checksum: 10c0/0eb0fbe0b9a3287ab447638d04dd564db854ad100bab0f935290ab83e0c6267111ffea1fef2769765e60824c386c2c2e13ad935ac9149960e616af108546b89c languageName: node linkType: hard -"nextra-theme-docs@npm:2.6.1": - version: 2.6.1 - resolution: "nextra-theme-docs@npm:2.6.1" - dependencies: - "@headlessui/react": "npm:^1.7.10" - "@popperjs/core": "npm:^2.11.6" - clsx: "npm:^1.2.1" - flexsearch: "npm:^0.7.21" - focus-visible: "npm:^5.2.0" - git-url-parse: "npm:^13.1.0" - intersection-observer: "npm:^0.12.2" - match-sorter: "npm:^6.3.1" - next-seo: "npm:^6.0.0" - next-themes: "npm:^0.2.1" - scroll-into-view-if-needed: "npm:^3.0.0" - zod: "npm:^3.20.2" - peerDependencies: - next: ">=9.5.3" - nextra: 2.6.1 - react: ">=16.13.1" - react-dom: ">=16.13.1" - checksum: 10c0/abeb4b35830d5f72fcb901c4dab2d7645093b88fc1a298cc6697d8afd8882701a143533313e7ddacf330a70e0a8951fb97f26ddee9172919acce328877f72323 - languageName: node - linkType: hard - -"nextra@npm:2.6.1": - version: 2.6.1 - resolution: "nextra@npm:2.6.1" +"nextra-theme-docs@npm:4.6.0": + version: 4.6.0 + resolution: "nextra-theme-docs@npm:4.6.0" dependencies: - "@mdx-js/mdx": "npm:^2.3.0" - "@mdx-js/react": "npm:^2.3.0" - "@napi-rs/simple-git": "npm:^0.1.8" - clsx: "npm:^1.2.1" + "@headlessui/react": "npm:^2.1.2" + clsx: "npm:^2.1.0" + next-themes: "npm:^0.4.0" + react-compiler-runtime: "npm:^19.1.0-rc.2" + scroll-into-view-if-needed: "npm:^3.1.0" + zod: "npm:4.0.0-beta.20250424T163858" + zustand: "npm:^5.0.1" + peerDependencies: + next: ">=14" + nextra: 4.6.0 + react: ">=18" + react-dom: ">=18" + checksum: 10c0/9d248c9d285f4eca434abf7c5e50d9b3c6fc627dc774973d328386d78b566274621db4fdbd09b6777364ce0015ef10fb6d64bf63e52646f1cc69312709096c7c + languageName: node + linkType: hard + +"nextra@npm:4.6.0": + version: 4.6.0 + resolution: "nextra@npm:4.6.0" + dependencies: + "@formatjs/intl-localematcher": "npm:^0.6.0" + "@headlessui/react": "npm:^2.1.2" + "@mdx-js/mdx": "npm:^3.0.0" + "@napi-rs/simple-git": "npm:^0.1.9" + "@shikijs/twoslash": "npm:^3.2.1" + "@theguild/remark-mermaid": "npm:^0.3.0" + "@theguild/remark-npm2yarn": "npm:^0.3.2" + better-react-mathjax: "npm:^2.3.0" + clsx: "npm:^2.1.0" + estree-util-to-js: "npm:^2.0.0" + estree-util-value-to-estree: "npm:^3.3.3" + fast-glob: "npm:^3.3.2" github-slugger: "npm:^2.0.0" - graceful-fs: "npm:^4.2.11" - gray-matter: "npm:^4.0.3" - katex: "npm:^0.16.7" - lodash.get: "npm:^4.4.2" - next-mdx-remote: "npm:^4.2.1" - p-limit: "npm:^3.1.0" - rehype-katex: "npm:^6.0.3" - rehype-pretty-code: "npm:0.9.4" - remark-gfm: "npm:^3.0.1" - remark-math: "npm:^5.1.1" - remark-reading-time: "npm:^2.0.1" - shiki: "npm:^0.14.2" - slash: "npm:^3.0.0" - title: "npm:^3.5.3" - unist-util-remove: "npm:^3.1.1" - unist-util-visit: "npm:^4.1.1" - zod: "npm:^3.20.2" - peerDependencies: - next: ">=9.5.3" - react: ">=16.13.1" - react-dom: ">=16.13.1" - checksum: 10c0/f0bee3c3afd5669737a884f72b76c022119a5313fe22c983231cb3c326b567e512fed1ab23acdbfc6446a41d8d9b01c830ff3b640790f524841baf9a30937819 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + hast-util-to-estree: "npm:^3.1.0" + katex: "npm:^0.16.21" + mdast-util-from-markdown: "npm:^2.0.1" + mdast-util-gfm: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.2.0" + negotiator: "npm:^1.0.0" + react-compiler-runtime: "npm:^19.1.0-rc.2" + react-medium-image-zoom: "npm:^5.2.12" + rehype-katex: "npm:^7.0.0" + rehype-pretty-code: "npm:0.14.1" + rehype-raw: "npm:^7.0.0" + remark-frontmatter: "npm:^5.0.0" + remark-gfm: "npm:^4.0.0" + remark-math: "npm:^6.0.0" + remark-reading-time: "npm:^2.0.2" + remark-smartypants: "npm:^3.0.0" + server-only: "npm:^0.0.1" + shiki: "npm:^3.2.1" + slash: "npm:^5.1.0" + title: "npm:^4.0.1" + ts-morph: "npm:^27.0.0" + unist-util-remove: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + unist-util-visit-children: "npm:^3.0.0" + yaml: "npm:^2.3.2" + zod: "npm:4.0.0-beta.20250424T163858" + peerDependencies: + next: ">=14" + react: ">=18" + react-dom: ">=18" + checksum: 10c0/4c9394f09b2e453186490e7b8da4bf3d3ff6fd06a05c2992c3063629de3c295c22f50a5d6af3dcdacf8763142f04ecc95d182dba1ab8fd8980e91603fae62f26 + languageName: node + linkType: hard + +"nlcst-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "nlcst-to-string@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + checksum: 10c0/a192c8b3365a7c076812004e72ae5b4a1734e582be2a6f3c062f3beecf18868a9fe2d1bad870bfead320fb39830f2c4f3752e5ae6574c4e59157126fd1ddba70 languageName: node linkType: hard @@ -6165,24 +8918,6 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - "normalize-range@npm:^0.1.2": version: 0.1.2 resolution: "normalize-range@npm:0.1.2" @@ -6190,12 +8925,19 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" dependencies: - path-key: "npm:^2.0.0" - checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"npm-to-yarn@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-to-yarn@npm:3.0.1" + checksum: 10c0/f0a72bfc0ed2ad50c5995511ff6442520d259aee5a58e1b0914572a33d29c07090a684a1d8ce95d2399dfe9bc51e649e8d029b0118ecf941f40212053693caca languageName: node linkType: hard @@ -6208,26 +8950,112 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 languageName: node linkType: hard -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 languageName: node linkType: hard -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"object.entries@npm:^1.1.9": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.1.1" + checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.3": + version: 1.0.3 + resolution: "object.groupby@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c + languageName: node + linkType: hard + +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"oniguruma-parser@npm:^0.12.1": + version: 0.12.1 + resolution: "oniguruma-parser@npm:0.12.1" + checksum: 10c0/b843ea54cda833efb19f856314afcbd43e903ece3de489ab78c527ddec84859208052557daa9fad4bdba89ebdd15b0cc250de86b3daf8c7cbe37bac5a6a185d3 + languageName: node + linkType: hard + +"oniguruma-to-es@npm:^4.3.3": + version: 4.3.4 + resolution: "oniguruma-to-es@npm:4.3.4" + dependencies: + oniguruma-parser: "npm:^0.12.1" + regex: "npm:^6.0.1" + regex-recursion: "npm:^6.0.2" + checksum: 10c0/fb58459f50db71c2c4785205636186bfbb125b094c4275512a8f41f123ed3fbf61f37c455f4360ef14a56c693981aecd7da3ae2c05614a222e872c4643b463fc languageName: node linkType: hard @@ -6245,14 +9073,18 @@ __metadata: languageName: node linkType: hard -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": +"p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -6270,17 +9102,10 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b +"package-manager-detector@npm:^1.3.0": + version: 1.5.0 + resolution: "package-manager-detector@npm:1.5.0" + checksum: 10c0/ce369f21e6b4222ee2ba38ea8364f312c82644a583809a01fef2c9266fc8d890c0f3780be3d94d1d2eb8a69c76a0b90fa86c9fde86d381fed060fb36066c45a7 languageName: node linkType: hard @@ -6320,28 +9145,24 @@ __metadata: languageName: node linkType: hard -"parse-numeric-range@npm:^1.3.0": - version: 1.3.0 - resolution: "parse-numeric-range@npm:1.3.0" - checksum: 10c0/53465afaa92111e86697281b684aa4574427360889cc23a1c215488c06b72441febdbf09f47ab0bef9a0c701e059629f3eebd2fe6fb241a254ad7a7a642aebe8 - languageName: node - linkType: hard - -"parse-path@npm:^7.0.0": - version: 7.1.0 - resolution: "parse-path@npm:7.1.0" +"parse-latin@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-latin@npm:7.0.0" dependencies: - protocols: "npm:^2.0.0" - checksum: 10c0/8c8c8b3019323d686e7b1cd6fd9653bc233404403ad68827836fbfe59dfe26aaef64ed4e0396d0e20c4a7e1469312ec969a679618960e79d5e7c652dc0da5a0f + "@types/nlcst": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-modify-children: "npm:^4.0.0" + unist-util-visit-children: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/4232a464f98c41c6680575c54bc2c9b21ac4b82a1f796a871bfef5efa6eddaab9bccf734b08cde6b0a5504ef46a0a14041ddd0bc5d9cc70f73a507f93f610596 languageName: node linkType: hard -"parse-url@npm:^8.1.0": - version: 8.1.0 - resolution: "parse-url@npm:8.1.0" - dependencies: - parse-path: "npm:^7.0.0" - checksum: 10c0/68b95afdf4bbf72e57c7ab66f8757c935fff888f7e2b0f1e06098b4faa19e06b6b743bddaed5bc8df4f0c2de6fc475355d787373b2fdd40092be9e4e4b996648 +"parse-numeric-range@npm:^1.3.0": + version: 1.3.0 + resolution: "parse-numeric-range@npm:1.3.0" + checksum: 10c0/53465afaa92111e86697281b684aa4574427360889cc23a1c215488c06b72441febdbf09f47ab0bef9a0c701e059629f3eebd2fe6fb241a254ad7a7a642aebe8 languageName: node linkType: hard @@ -6354,24 +9175,24 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 +"path-data-parser@npm:0.1.0, path-data-parser@npm:^0.1.0": + version: 0.1.0 + resolution: "path-data-parser@npm:0.1.0" + checksum: 10c0/ba22d54669a8bc4a3df27431fe667900685585d1196085b803d0aa4066b83e709bbf2be7c1d2b56e706b49cc698231d55947c22abbfc4843ca424bbf8c985745 languageName: node linkType: hard -"path-key@npm:^2.0.0": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b languageName: node linkType: hard @@ -6382,6 +9203,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -6389,16 +9217,6 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -6406,14 +9224,10 @@ __metadata: languageName: node linkType: hard -"periscopic@npm:^3.0.0": - version: 3.1.0 - resolution: "periscopic@npm:3.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^3.0.0" - is-reference: "npm:^3.0.0" - checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 +"pathe@npm:^2.0.1, pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 languageName: node linkType: hard @@ -6424,123 +9238,85 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc - languageName: node - linkType: hard - -"pirates@npm:^4.0.1": - version: 4.0.7 - resolution: "pirates@npm:4.0.7" - checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a - languageName: node - linkType: hard - -"possible-typed-array-names@npm:^1.0.0": - version: 1.1.0 - resolution: "possible-typed-array-names@npm:1.1.0" - checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 languageName: node linkType: hard -"postcss-import@npm:^15.1.0": - version: 15.1.0 - resolution: "postcss-import@npm:15.1.0" +"pkg-types@npm:^1.3.1": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" dependencies: - postcss-value-parser: "npm:^4.0.0" - read-cache: "npm:^1.0.0" - resolve: "npm:^1.1.7" - peerDependencies: - postcss: ^8.0.0 - checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10c0/19e6cb8b66dcc66c89f2344aecfa47f2431c988cfa3366bdfdcfb1dd6695f87dcce37fbd90fe9d1605e2f4440b77f391e83c23255347c35cf84e7fd774d7fcea languageName: node linkType: hard -"postcss-js@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" +"pkg-types@npm:^2.3.0": + version: 2.3.0 + resolution: "pkg-types@npm:2.3.0" dependencies: - camelcase-css: "npm:^2.0.1" - peerDependencies: - postcss: ^8.4.21 - checksum: 10c0/af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + confbox: "npm:^0.2.2" + exsolve: "npm:^1.0.7" + pathe: "npm:^2.0.3" + checksum: 10c0/d2bbddc5b81bd4741e1529c08ef4c5f1542bbdcf63498b73b8e1d84cff71806d1b8b1577800549bb569cb7aa20056257677b979bff48c97967cba7e64f72ae12 languageName: node linkType: hard -"postcss-load-config@npm:^4.0.2": - version: 4.0.2 - resolution: "postcss-load-config@npm:4.0.2" - dependencies: - lilconfig: "npm:^3.0.0" - yaml: "npm:^2.3.4" - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 +"points-on-curve@npm:0.2.0, points-on-curve@npm:^0.2.0": + version: 0.2.0 + resolution: "points-on-curve@npm:0.2.0" + checksum: 10c0/f0d92343fcc2ad1f48334633e580574c1e0e28038a756133e171e537f270d6d64203feada5ee556e36f448a1b46e0306dee07b30f589f4e3ad720f6ee38ef48c languageName: node linkType: hard -"postcss-nested@npm:^6.2.0": - version: 6.2.0 - resolution: "postcss-nested@npm:6.2.0" +"points-on-path@npm:^0.2.1": + version: 0.2.1 + resolution: "points-on-path@npm:0.2.1" dependencies: - postcss-selector-parser: "npm:^6.1.1" - peerDependencies: - postcss: ^8.2.14 - checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e + path-data-parser: "npm:0.1.0" + points-on-curve: "npm:0.2.0" + checksum: 10c0/a7010340f9f196976f61838e767bb7b0b7f6273ab4fb9eb37c61001fe26fbfc3fcd63c96d5e85b9a4ab579213ab366f2ddaaf60e2a9253e2b91a62db33f395ba languageName: node linkType: hard -"postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": - version: 6.1.2 - resolution: "postcss-selector-parser@npm:6.1.2" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 languageName: node linkType: hard -"postcss@npm:8.4.14": - version: 8.4.14 - resolution: "postcss@npm:8.4.14" +"postcss@npm:8.4.31": + version: 8.4.31 + resolution: "postcss@npm:8.4.31" dependencies: - nanoid: "npm:^3.3.4" + nanoid: "npm:^3.3.6" picocolors: "npm:^1.0.0" source-map-js: "npm:^1.0.2" - checksum: 10c0/2a4cfa28e2f1bfd358313501f7771bd596e494487c7b735c492e2f8b1faf493d24fcb43e2e6ad825863fc65a77abb949ca8f228602ae46a022f02dc812c4ac8b + checksum: 10c0/748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf languageName: node linkType: hard -"postcss@npm:^8.4.21, postcss@npm:^8.4.47": +"postcss@npm:^8.4.21, postcss@npm:^8.4.41": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -6558,23 +9334,6 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - "prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" @@ -6593,10 +9352,10 @@ __metadata: languageName: node linkType: hard -"protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.2 - resolution: "protocols@npm:2.0.2" - checksum: 10c0/b87d78c1fcf038d33691da28447ce94011d5c7f0c7fd25bcb5fb4d975991c99117873200c84f4b6a9d7f8b9092713a064356236960d1473a7d6fcd4228897b60 +"property-information@npm:^7.0.0": + version: 7.1.0 + resolution: "property-information@npm:7.1.0" + checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e languageName: node linkType: hard @@ -6614,13 +9373,6 @@ __metadata: languageName: node linkType: hard -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 - languageName: node - linkType: hard - "punycode@npm:1.3.2": version: 1.3.2 resolution: "punycode@npm:1.3.2" @@ -6635,6 +9387,13 @@ __metadata: languageName: node linkType: hard +"quansync@npm:^0.2.11": + version: 0.2.11 + resolution: "quansync@npm:0.2.11" + checksum: 10c0/cb9a1f8ebce074069f2f6a78578873ffedd9de9f6aa212039b44c0870955c04a71c3b1311b5d97f8ac2f2ec476de202d0a5c01160cb12bc0a11b7ef36d22ef56 + languageName: node + linkType: hard + "querystring@npm:0.2.0": version: 0.2.0 resolution: "querystring@npm:0.2.0" @@ -6649,6 +9408,15 @@ __metadata: languageName: node linkType: hard +"react-compiler-runtime@npm:^19.1.0-rc.2": + version: 19.1.0-rc.3 + resolution: "react-compiler-runtime@npm:19.1.0-rc.3" + peerDependencies: + react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental + checksum: 10c0/a3f58880bbbda22ef47a4d0d45bd210f2e506bad5d30ca5aa0a8758b71c226d8abb89b3db9b0c1850d5d7c0891763551d2910d16a37da10a8477552b93f40019 + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -6682,6 +9450,16 @@ __metadata: languageName: node linkType: hard +"react-medium-image-zoom@npm:^5.2.12": + version: 5.4.0 + resolution: "react-medium-image-zoom@npm:5.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/41c20f02fd50d11703ee3bc57dd8ea3c7f132c5b68bfc79b6a6c5bbe6aa1fe265b771a83451b5f4f6e5f0f58842926649849709bead0966efd7a679eeee957cd + languageName: node + linkType: hard + "react-transition-group@npm:^4.4.5": version: 4.4.5 resolution: "react-transition-group@npm:4.4.5" @@ -6706,28 +9484,76 @@ __metadata: languageName: node linkType: hard -"read-cache@npm:^1.0.0": +"reading-time@npm:^1.3.0": + version: 1.5.0 + resolution: "reading-time@npm:1.5.0" + checksum: 10c0/0f730852fd4fb99e5f78c5b0cf36ab8c3fa15db96f87d9563843f6fd07a47864273ade539ebb184b785b728cde81a70283aa2d9b80cba5ca03b81868be03cabc + languageName: node + linkType: hard + +"recma-build-jsx@npm:^1.0.0": version: 1.0.0 - resolution: "read-cache@npm:1.0.0" + resolution: "recma-build-jsx@npm:1.0.0" dependencies: - pify: "npm:^2.3.0" - checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" +"recma-jsx@npm:^1.0.0": + version: 1.0.1 + resolution: "recma-jsx@npm:1.0.1" dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/9921b1270581ff133b94678868e665ba0fb6285ee60a6936106bac4899196c2ffb02dde894d9bc088fbf3deacb3e2426a3452e72066bf1203cbefebd7809d93f languageName: node linkType: hard -"reading-time@npm:^1.3.0": - version: 1.5.0 - resolution: "reading-time@npm:1.5.0" - checksum: 10c0/0f730852fd4fb99e5f78c5b0cf36ab8c3fa15db96f87d9563843f6fd07a47864273ade539ebb184b785b728cde81a70283aa2d9b80cba5ca03b81868be03cabc +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac languageName: node linkType: hard @@ -6747,6 +9573,45 @@ __metadata: languageName: node linkType: hard +"regex-recursion@npm:^6.0.2": + version: 6.0.2 + resolution: "regex-recursion@npm:6.0.2" + dependencies: + regex-utilities: "npm:^2.3.0" + checksum: 10c0/68e8b6889680e904b75d7f26edaf70a1a4dc1087406bff53face4c2929d918fd77c72223843fe816ac8ed9964f96b4160650e8d5909e26a998c6e9de324dadb1 + languageName: node + linkType: hard + +"regex-utilities@npm:^2.3.0": + version: 2.3.0 + resolution: "regex-utilities@npm:2.3.0" + checksum: 10c0/78c550a80a0af75223244fff006743922591bd8f61d91fef7c86b9b56cf9bbf8ee5d7adb6d8991b5e304c57c90103fc4818cf1e357b11c6c669b782839bd7893 + languageName: node + linkType: hard + +"regex@npm:^6.0.1": + version: 6.0.1 + resolution: "regex@npm:6.0.1" + dependencies: + regex-utilities: "npm:^2.3.0" + checksum: 10c0/687b3e063d4ca19b0de7c55c24353f868a0fb9ba21512692470d2fb412e3a410894dd5924c91ea49d8cb8fa865e36ec956e52436ae0a256bdc095ff136c30aba + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 + languageName: node + linkType: hard + "regexpu-core@npm:^6.2.0": version: 6.2.0 resolution: "regexpu-core@npm:6.2.0" @@ -6779,78 +9644,131 @@ __metadata: languageName: node linkType: hard -"rehype-katex@npm:^6.0.3": - version: 6.0.3 - resolution: "rehype-katex@npm:6.0.3" +"rehype-katex@npm:^7.0.0": + version: 7.0.1 + resolution: "rehype-katex@npm:7.0.1" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/katex": "npm:^0.14.0" - hast-util-from-html-isomorphic: "npm:^1.0.0" - hast-util-to-text: "npm:^3.1.0" + "@types/hast": "npm:^3.0.0" + "@types/katex": "npm:^0.16.0" + hast-util-from-html-isomorphic: "npm:^2.0.0" + hast-util-to-text: "npm:^4.0.0" katex: "npm:^0.16.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/eccf65237c4d52c070c82829df075dca26a0cbaa2c6e03696bf185a9e060778ef78428efc34e46fa9df83681c6ccfc0ac1e9418d567474225dae473f2e7d75a0 + unist-util-visit-parents: "npm:^6.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/73c770319536128b75055d904d06951789d00a0552c11724c0dac2e244dcb21041630552d118a11cc42233fdcd1bfee525e78a0020fde635bd916cceb281dfb1 languageName: node linkType: hard -"rehype-pretty-code@npm:0.9.4": - version: 0.9.4 - resolution: "rehype-pretty-code@npm:0.9.4" +"rehype-parse@npm:^9.0.0": + version: 9.0.1 + resolution: "rehype-parse@npm:9.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-from-html: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/efa9ca17673fe70e2d322a1d262796bbed5f6a89382f8f8393352bbd6f6bbf1d4d1d050984b86ff9cb6c0fa2535175ab0829e53c94b1e38fc3c158e6c0ad90bc + languageName: node + linkType: hard + +"rehype-pretty-code@npm:0.14.1": + version: 0.14.1 + resolution: "rehype-pretty-code@npm:0.14.1" dependencies: - hash-obj: "npm:^4.0.0" + "@types/hast": "npm:^3.0.4" + hast-util-to-string: "npm:^3.0.0" parse-numeric-range: "npm:^1.3.0" + rehype-parse: "npm:^9.0.0" + unified: "npm:^11.0.5" + unist-util-visit: "npm:^5.0.0" peerDependencies: - shiki: "*" - checksum: 10c0/4d06d3f2dc6014a61f7536ccf9fea4137716b4ace92cfd63ff6b18f739b5ab331ef1dab4c709b7651154f7818b7375f49e8af7b60e74be2c444aebad3cabcced + shiki: ^1.0.0 || ^2.0.0 || ^3.0.0 + checksum: 10c0/9f51a965edfd49d086f6421d13fa4725e59c891187fcb82aba0fe471425058af3b98210cedf2a9790e85575d1bd6d817ee88bf007628123e7878636c2c00bb1a + languageName: node + linkType: hard + +"rehype-raw@npm:^7.0.0": + version: 7.0.0 + resolution: "rehype-raw@npm:7.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-raw: "npm:^9.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 + languageName: node + linkType: hard + +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 + languageName: node + linkType: hard + +"remark-frontmatter@npm:^5.0.0": + version: 5.0.0 + resolution: "remark-frontmatter@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-frontmatter: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/102325d5edbcf30eaf74de8a0a6e03096cc2370dfef19080fd2dd208f368fbb2323388751ac9931a1aa38a4f2828fa4bad6c52dc5249dcadcd34861693b52bf9 languageName: node linkType: hard -"remark-gfm@npm:^3.0.1": - version: 3.0.1 - resolution: "remark-gfm@npm:3.0.1" +"remark-gfm@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-gfm@npm:4.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-gfm: "npm:^2.0.0" - micromark-extension-gfm: "npm:^2.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/53c4e82204f82f81949a170efdeb49d3c45137b7bca06a7ff857a483aac1a44b55ef0de8fb1bbe4f1292f2a378058e2e42e644f2c61f3e0cdc3e56afa4ec2a2c + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7 languageName: node linkType: hard -"remark-math@npm:^5.1.1": - version: 5.1.1 - resolution: "remark-math@npm:5.1.1" +"remark-math@npm:^6.0.0": + version: 6.0.0 + resolution: "remark-math@npm:6.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-math: "npm:^2.0.0" - micromark-extension-math: "npm:^2.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/e61e314398e65d1ef9343cce37bdb8e94697772d53f1b9e48f815cece35033b4d41db81766696135558c6de40f2ad86877b49891daec6c7b1453dba0e034a9dc + "@types/mdast": "npm:^4.0.0" + mdast-util-math: "npm:^3.0.0" + micromark-extension-math: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/859613c4db194bb6b3c9c063661dc52b8ceda9c5cf3256b42f73d93eb8f38a6d634eb5f976fe094425f6f1035aaf329eb49ada314feb3b2b1073326b6d3aaa02 languageName: node linkType: hard -"remark-mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "remark-mdx@npm:2.3.0" +"remark-mdx@npm:^3.0.0": + version: 3.1.1 + resolution: "remark-mdx@npm:3.1.1" dependencies: - mdast-util-mdx: "npm:^2.0.0" - micromark-extension-mdxjs: "npm:^1.0.0" - checksum: 10c0/2688bbf03094a9cd17cc86afb6cf0270e86ffc696a2fe25ccb1befb84eb0864d281388dc560b585e05e20f94a994c9fa88492430d2ba703a2fef6918bca4c36b + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/3e5585d4c2448d8ac7548b1d148f04b89251ff47fbfc80be1428cecec2fc2530abe30a5da53bb031283f8a78933259df6120c1cd4cc7cc1d43978d508798ba88 languageName: node linkType: hard -"remark-parse@npm:^10.0.0": - version: 10.0.2 - resolution: "remark-parse@npm:10.0.2" +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/30cb8f2790380b1c7370a1c66cda41f33a7dc196b9e440a00e2675037bca55aea868165a8204e0cdbacc27ef4a3bdb7d45879826bd6efa07d9fdf328cb67a332 + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38 languageName: node linkType: hard -"remark-reading-time@npm:^2.0.1": +"remark-reading-time@npm:^2.0.2": version: 2.0.2 resolution: "remark-reading-time@npm:2.0.2" dependencies: @@ -6862,22 +9780,39 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^10.0.0": - version: 10.1.0 - resolution: "remark-rehype@npm:10.1.0" +"remark-rehype@npm:^11.0.0": + version: 11.1.2 + resolution: "remark-rehype@npm:11.1.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb + languageName: node + linkType: hard + +"remark-smartypants@npm:^3.0.0": + version: 3.0.2 + resolution: "remark-smartypants@npm:3.0.2" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-to-hast: "npm:^12.1.0" - unified: "npm:^10.0.0" - checksum: 10c0/803e658c9b51a9b53ee2ada42ff82e8e570444bb97c873e0d602c2d8dcb69a774fd22bd6f26643dfd5ab4c181059ea6c9fb9a99a2d7f9665f3f11bef1a1489bd + retext: "npm:^9.0.0" + retext-smartypants: "npm:^6.0.0" + unified: "npm:^11.0.4" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/661129f6258feb4531c896d0d7013d0cd7835599f7d9c46947ff0cda19c717e2d5a7da28fc72a9d454dd5a5b6308403f0d7a7ec58338865a28c9242a77739b40 languageName: node linkType: hard -"remove-accents@npm:0.5.0": - version: 0.5.0 - resolution: "remove-accents@npm:0.5.0" - checksum: 10c0/a75321aa1b53d9abe82637115a492770bfe42bb38ed258be748bf6795871202bc8b4badff22013494a7029f5a241057ad8d3f72adf67884dbe15a9e37e87adc4 +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f languageName: node linkType: hard @@ -6888,7 +9823,14 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.19.0, resolve@npm:^1.22.10, resolve@npm:^1.22.8": +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"resolve@npm:^1.19.0, resolve@npm:^1.22.10": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -6901,7 +9843,33 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": +"resolve@npm:^1.22.4": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -6914,10 +9882,74 @@ __metadata: languageName: node linkType: hard -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe +"resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + languageName: node + linkType: hard + +"retext-latin@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-latin@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + parse-latin: "npm:^7.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/51530be66db9ef6ab8e9cda5dd0598377ff4321481d6a941bf70dac16fa6e9123ff7d8ff093a05c30a3e00e282e37094b845b6130a8005a3cb7186a961ab99cb + languageName: node + linkType: hard + +"retext-smartypants@npm:^6.0.0": + version: 6.2.0 + resolution: "retext-smartypants@npm:6.2.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/36f925353dd7f31df642bca2493524a8daee15f9b0e0dfe7fb8982462d23ccb12a99864989db22f0bacb6d7fea1f696ba96e031d3fbac4f013e1c95ef3fed881 + languageName: node + linkType: hard + +"retext-stringify@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-stringify@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eb2930356c85999a8978092a5d6ba3695fea859c71f221dcdc485704552922641bc17e50fea2ae0599d665192eaad002e98bb4236ecac94a570b73581b99004d + languageName: node + linkType: hard + +"retext@npm:^9.0.0": + version: 9.0.0 + resolution: "retext@npm:9.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + retext-latin: "npm:^4.0.0" + retext-stringify: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eee9f66ff6fae5670a5eeccc0b5e2639112f868475273ce307d3079cfe7deb9d1b0f2b8fa28b4ab30abaf8538345185a44908f461a27bbf43c4f94feda90ecac languageName: node linkType: hard @@ -6928,14 +9960,22 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": +"robust-predicates@npm:^3.0.2": version: 3.0.2 - resolution: "rimraf@npm:3.0.2" + resolution: "robust-predicates@npm:3.0.2" + checksum: 10c0/4ecd53649f1c2d49529c85518f2fa69ffb2f7a4453f7fd19c042421c7b4d76c3efb48bc1c740c8f7049346d7cb58cf08ee0c9adaae595cc23564d360adb1fde4 + languageName: node + linkType: hard + +"roughjs@npm:^4.6.6": + version: 4.6.6 + resolution: "roughjs@npm:4.6.6" dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + hachure-fill: "npm:^0.5.2" + path-data-parser: "npm:^0.1.0" + points-on-curve: "npm:^0.2.0" + points-on-path: "npm:^0.2.1" + checksum: 10c0/68c11bf4516aa014cef2fe52426a9bab237c2f500d13e1a4f13b523cb5723667bf2d92b9619325efdc5bc2a193588ff5af8d51683df17cfb8720e96fe2b92b0c languageName: node linkType: hard @@ -6948,16 +9988,37 @@ __metadata: languageName: node linkType: hard -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" +"rw@npm:1": + version: 1.3.3 + resolution: "rw@npm:1.3.3" + checksum: 10c0/b1e1ef37d1e79d9dc7050787866e30b6ddcb2625149276045c262c6b4d53075ddc35f387a856a8e76f0d0df59f4cd58fe24707e40797ebee66e542b840ed6a53 + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" + isarray: "npm:^2.0.5" + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d + languageName: node + linkType: hard + +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" dependencies: - mri: "npm:^1.1.0" - checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 languageName: node linkType: hard -"safe-regex-test@npm:^1.1.0": +"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex-test@npm:1.1.0" dependencies: @@ -6998,7 +10059,7 @@ __metadata: languageName: node linkType: hard -"scroll-into-view-if-needed@npm:^3.0.0": +"scroll-into-view-if-needed@npm:^3.1.0": version: 3.1.0 resolution: "scroll-into-view-if-needed@npm:3.1.0" dependencies: @@ -7007,16 +10068,6 @@ __metadata: languageName: node linkType: hard -"section-matter@npm:^1.0.0": - version: 1.0.0 - resolution: "section-matter@npm:1.0.0" - dependencies: - extend-shallow: "npm:^2.0.1" - kind-of: "npm:^6.0.0" - checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d - languageName: node - linkType: hard - "semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -7026,12 +10077,19 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5": - version: 7.7.2 - resolution: "semver@npm:7.7.2" +"semver@npm:^7.6.0, semver@npm:^7.7.1, semver@npm:^7.7.3": + version: 7.7.3 + resolution: "semver@npm:7.7.3" bin: semver: bin/semver.js - checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e + languageName: node + linkType: hard + +"server-only@npm:^0.0.1": + version: 0.0.1 + resolution: "server-only@npm:0.0.1" + checksum: 10c0/4704f0ef85da0be981af6d4ed8e739d39bcfd265b9c246a684060acda5642d0fdc6daffc2308e71e2682c5f508090978802eae0a77623c9b90a49f9ae68048d6 languageName: node linkType: hard @@ -7049,12 +10107,110 @@ __metadata: languageName: node linkType: hard -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" +"set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + +"sharp@npm:^0.34.4": + version: 0.34.5 + resolution: "sharp@npm:0.34.5" + dependencies: + "@img/colour": "npm:^1.0.0" + "@img/sharp-darwin-arm64": "npm:0.34.5" + "@img/sharp-darwin-x64": "npm:0.34.5" + "@img/sharp-libvips-darwin-arm64": "npm:1.2.4" + "@img/sharp-libvips-darwin-x64": "npm:1.2.4" + "@img/sharp-libvips-linux-arm": "npm:1.2.4" + "@img/sharp-libvips-linux-arm64": "npm:1.2.4" + "@img/sharp-libvips-linux-ppc64": "npm:1.2.4" + "@img/sharp-libvips-linux-riscv64": "npm:1.2.4" + "@img/sharp-libvips-linux-s390x": "npm:1.2.4" + "@img/sharp-libvips-linux-x64": "npm:1.2.4" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4" + "@img/sharp-linux-arm": "npm:0.34.5" + "@img/sharp-linux-arm64": "npm:0.34.5" + "@img/sharp-linux-ppc64": "npm:0.34.5" + "@img/sharp-linux-riscv64": "npm:0.34.5" + "@img/sharp-linux-s390x": "npm:0.34.5" + "@img/sharp-linux-x64": "npm:0.34.5" + "@img/sharp-linuxmusl-arm64": "npm:0.34.5" + "@img/sharp-linuxmusl-x64": "npm:0.34.5" + "@img/sharp-wasm32": "npm:0.34.5" + "@img/sharp-win32-arm64": "npm:0.34.5" + "@img/sharp-win32-ia32": "npm:0.34.5" + "@img/sharp-win32-x64": "npm:0.34.5" + detect-libc: "npm:^2.1.2" + semver: "npm:^7.7.3" + dependenciesMeta: + "@img/sharp-darwin-arm64": + optional: true + "@img/sharp-darwin-x64": + optional: true + "@img/sharp-libvips-darwin-arm64": + optional: true + "@img/sharp-libvips-darwin-x64": + optional: true + "@img/sharp-libvips-linux-arm": + optional: true + "@img/sharp-libvips-linux-arm64": + optional: true + "@img/sharp-libvips-linux-ppc64": + optional: true + "@img/sharp-libvips-linux-riscv64": + optional: true + "@img/sharp-libvips-linux-s390x": + optional: true + "@img/sharp-libvips-linux-x64": + optional: true + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + "@img/sharp-libvips-linuxmusl-x64": + optional: true + "@img/sharp-linux-arm": + optional: true + "@img/sharp-linux-arm64": + optional: true + "@img/sharp-linux-ppc64": + optional: true + "@img/sharp-linux-riscv64": + optional: true + "@img/sharp-linux-s390x": + optional: true + "@img/sharp-linux-x64": + optional: true + "@img/sharp-linuxmusl-arm64": + optional: true + "@img/sharp-linuxmusl-x64": + optional: true + "@img/sharp-wasm32": + optional: true + "@img/sharp-win32-arm64": + optional: true + "@img/sharp-win32-ia32": + optional: true + "@img/sharp-win32-x64": + optional: true + checksum: 10c0/fd79e29df0597a7d5704b8461c51f944ead91a5243691697be6e8243b966402beda53ddc6f0a53b96ea3cb8221f0b244aa588114d3ebf8734fb4aefd41ab802f languageName: node linkType: hard @@ -7067,13 +10223,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -7081,73 +10230,81 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^0.14.2": - version: 0.14.7 - resolution: "shiki@npm:0.14.7" +"shiki@npm:^3.2.1": + version: 3.15.0 + resolution: "shiki@npm:3.15.0" dependencies: - ansi-sequence-parser: "npm:^1.1.0" - jsonc-parser: "npm:^3.2.0" - vscode-oniguruma: "npm:^1.7.0" - vscode-textmate: "npm:^8.0.0" - checksum: 10c0/5c7fcbb870d0facccc7ae2f3410a28121f8e0b3f298e4e956de817ad6ab60a4c7e20a9184edfe50a93447addbb88b95b69e6ef88ac16ac6ca3e94c50771a6459 + "@shikijs/core": "npm:3.15.0" + "@shikijs/engine-javascript": "npm:3.15.0" + "@shikijs/engine-oniguruma": "npm:3.15.0" + "@shikijs/langs": "npm:3.15.0" + "@shikijs/themes": "npm:3.15.0" + "@shikijs/types": "npm:3.15.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/ffe6a29525dc07067535f4b1ddcde4baba7cc0e364c4e5b82b5106a88c45b1997fd9745dea8b26b52ebd0a92f30fc1b28643b2d1e696f20693dd373475708a86 languageName: node linkType: hard -"signal-exit@npm:^3.0.0": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 languageName: node linkType: hard -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard -"socks@npm:^2.8.3": - version: 2.8.5 - resolution: "socks@npm:2.8.5" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/e427d0eb0451cfd04e20b9156ea8c0e9b5e38a8d70f21e55c30fbe4214eda37cfc25d782c63f9adc5fbdad6d062a0f127ef2cefc9a44b6fee2b9ea5d1ed10827 +"signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 languageName: node linkType: hard -"sort-keys@npm:^5.0.0": +"slash@npm:^5.1.0": version: 5.1.0 - resolution: "sort-keys@npm:5.1.0" - dependencies: - is-plain-obj: "npm:^4.0.0" - checksum: 10c0/fdb7aeb02368ad91b2ea947b59f3c95d80f8c71bbcb5741ebd55852994f54a129af3b3663b280951566fe5897de056428810dbb58c61db831e588c0ac110f2b0 + resolution: "slash@npm:5.1.0" + checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 languageName: node linkType: hard @@ -7186,26 +10343,23 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb +"speech-rule-engine@npm:^4.0.6": + version: 4.1.2 + resolution: "speech-rule-engine@npm:4.1.2" + dependencies: + "@xmldom/xmldom": "npm:0.9.8" + commander: "npm:13.1.0" + wicked-good-xpath: "npm:1.3.0" + bin: + sre: bin/sre + checksum: 10c0/bf3de3a009751f72442bb6ba85a82ecf9f32b2764a46d9a83aa28a7da89a05ba173ee2b8018d6f556d7a8ff18358f04da8133f3aa7eaefcb66c43997ae75fa20 languageName: node linkType: hard -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d +"stable-hash@npm:^0.0.5": + version: 0.0.5 + resolution: "stable-hash@npm:0.0.5" + checksum: 10c0/ca670cb6d172f1c834950e4ec661e2055885df32fee3ebf3647c5df94993b7c2666a5dbc1c9a62ee11fc5c24928579ec5e81bb5ad31971d355d5a341aab493b3 languageName: node linkType: hard @@ -7216,67 +10370,117 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + es-errors: "npm:^1.3.0" + internal-slot: "npm:^1.1.0" + checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 languageName: node linkType: hard -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" +"string.prototype.includes@npm:^2.0.1": + version: 2.0.1 + resolution: "string.prototype.includes@npm:2.0.1" dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + checksum: 10c0/25ce9c9b49128352a2618fbe8758b46f945817a58a4420f4799419e40a8d28f116e176c7590d767d5327a61e75c8f32c86171063f48e389b9fdd325f1bd04ee5 languageName: node linkType: hard -"stringify-entities@npm:^4.0.0": - version: 4.0.4 - resolution: "stringify-entities@npm:4.0.4" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - character-entities-html4: "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.6" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + regexp.prototype.flags: "npm:^1.5.3" + set-function-name: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c languageName: node linkType: hard -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + define-properties: "npm:^1.1.3" + es-abstract: "npm:^1.17.5" + checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40 languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-object-atoms: "npm:^1.0.0" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 languageName: node linkType: hard -"strip-bom-string@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-bom-string@npm:1.0.0" - checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 languageName: node linkType: hard -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce languageName: node linkType: hard @@ -7287,28 +10491,37 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^0.4.1": - version: 0.4.4 - resolution: "style-to-object@npm:0.4.4" +"style-to-js@npm:^1.0.0": + version: 1.1.21 + resolution: "style-to-js@npm:1.1.21" dependencies: - inline-style-parser: "npm:0.1.1" - checksum: 10c0/3a733080da66952881175b17d65f92985cf94c1ca358a92cf21b114b1260d49b94a404ed79476047fb95698d64c7e366ca7443f0225939e2fb34c38bbc9c7639 + style-to-object: "npm:1.0.14" + checksum: 10c0/94231aa80f58f442c3a5ae01a21d10701e5d62f96b4b3e52eab3499077ee52df203cc0df4a1a870707f5e99470859136ea8657b782a5f4ca7934e0ffe662a588 languageName: node linkType: hard -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" +"style-to-object@npm:1.0.14": + version: 1.0.14 + resolution: "style-to-object@npm:1.0.14" + dependencies: + inline-style-parser: "npm:0.2.7" + checksum: 10c0/854d9e9b77afc336e6d7b09348e7939f2617b34eb0895824b066d8cd1790284cb6d8b2ba36be88025b2595d715dba14b299ae76e4628a366541106f639e13679 + languageName: node + linkType: hard + +"styled-jsx@npm:5.1.6": + version: 5.1.6 + resolution: "styled-jsx@npm:5.1.6" dependencies: client-only: "npm:0.0.1" peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" peerDependenciesMeta: "@babel/core": optional: true babel-plugin-macros: optional: true - checksum: 10c0/42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 + checksum: 10c0/ace50e7ea5ae5ae6a3b65a50994c51fca6ae7df9c7ecfd0104c36be0b4b3a9c5c1a2374d16e2a11e256d0b20be6d47256d768ecb4f91ab390f60752a075780f5 languageName: node linkType: hard @@ -7319,30 +10532,10 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.35.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - glob: "npm:^10.3.10" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef - languageName: node - linkType: hard - -"supports-color@npm:^4.0.0": - version: 4.5.0 - resolution: "supports-color@npm:4.5.0" - dependencies: - has-flag: "npm:^2.0.0" - checksum: 10c0/2dc369eeac73954e87037dea1ebae0238b2abc0a39d7e35aa60eb8a84cc8d1dcade8b62e010597f5859f94c937e992abe6a6195460855fcc5e51f8cfc7fcc72a +"stylis@npm:^4.3.6": + version: 4.3.6 + resolution: "stylis@npm:4.3.6" + checksum: 10c0/e736d484983a34f7c65d362c67dc79b7bce388054b261c2b7b23d02eaaf280617033f65d44b1ea341854f4331a5074b885668ac8741f98c13a6cfd6443ae85d0 languageName: node linkType: hard @@ -7379,113 +10572,68 @@ __metadata: css-tree: "npm:^1.1.3" csso: "npm:^4.2.0" picocolors: "npm:^1.0.0" - stable: "npm:^0.1.8" - bin: - svgo: bin/svgo - checksum: 10c0/0741f5d5cad63111a90a0ce7a1a5a9013f6d293e871b75efe39addb57f29a263e45294e485a4d2ff9cc260a5d142c8b5937b2234b4ef05efdd2706fb2d360ecc - languageName: node - linkType: hard - -"tailwindcss@npm:^3.2.4": - version: 3.4.17 - resolution: "tailwindcss@npm:3.4.17" - dependencies: - "@alloc/quick-lru": "npm:^5.2.0" - arg: "npm:^5.0.2" - chokidar: "npm:^3.6.0" - didyoumean: "npm:^1.2.2" - dlv: "npm:^1.1.3" - fast-glob: "npm:^3.3.2" - glob-parent: "npm:^6.0.2" - is-glob: "npm:^4.0.3" - jiti: "npm:^1.21.6" - lilconfig: "npm:^3.1.3" - micromatch: "npm:^4.0.8" - normalize-path: "npm:^3.0.0" - object-hash: "npm:^3.0.0" - picocolors: "npm:^1.1.1" - postcss: "npm:^8.4.47" - postcss-import: "npm:^15.1.0" - postcss-js: "npm:^4.0.1" - postcss-load-config: "npm:^4.0.2" - postcss-nested: "npm:^6.2.0" - postcss-selector-parser: "npm:^6.1.2" - resolve: "npm:^1.22.8" - sucrase: "npm:^3.35.0" + stable: "npm:^0.1.8" bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: 10c0/cc42c6e7fdf88a5507a0d7fea37f1b4122bec158977f8c017b2ae6828741f9e6f8cb90282c6bf2bd5951fd1220a53e0a50ca58f5c1c00eb7f5d9f8b80dc4523c + svgo: bin/svgo + checksum: 10c0/0741f5d5cad63111a90a0ce7a1a5a9013f6d293e871b75efe39addb57f29a263e45294e485a4d2ff9cc260a5d142c8b5937b2234b4ef05efdd2706fb2d360ecc languageName: node linkType: hard -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d +"system-architecture@npm:^0.1.0": + version: 0.1.0 + resolution: "system-architecture@npm:0.1.0" + checksum: 10c0/1969974ea5d31a9ac7c38f2657cfe8255b36f9e1d5ba3c58cb84c24fbeedf562778b8511f18a0abe6d70ae90148cfcaf145ecf26e37c0a53a3829076f3238cbb languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c +"tabbable@npm:^6.0.0": + version: 6.3.0 + resolution: "tabbable@npm:6.3.0" + checksum: 10c0/57ba019d29b5cfa0c862248883bcec0e6d29d8f156ba52a1f425e7cfeca4a0fc701ab8d035c4c86ddf74ecdbd0e9f454a88d9b55d924a51f444038e9cd14d7a0 languageName: node linkType: hard -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b +"tailwindcss@npm:4.1.17, tailwindcss@npm:^4.1.17": + version: 4.1.17 + resolution: "tailwindcss@npm:4.1.17" + checksum: 10c0/1fecf618ba9895e068e5a6d842b978f56a815bc849a28338cebbcb07b13df763715c2f8848def938403c73d59f08ffff33a4b83a977a9e38fa56adc60d1d56c8 languageName: node linkType: hard -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 +"tapable@npm:^2.2.0": + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: 10c0/cb9d67cc2c6a74dedc812ef3085d9d681edd2c1fa18e4aef57a3c0605fdbe44e6b8ea00bd9ef21bc74dd45314e39d31227aa031ebf2f5e38164df514136f2681 languageName: node linkType: hard -"tinyglobby@npm:^0.2.12": - version: 0.2.14 - resolution: "tinyglobby@npm:0.2.14" - dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 +"tinyexec@npm:^1.0.1": + version: 1.0.2 + resolution: "tinyexec@npm:1.0.2" + checksum: 10c0/1261a8e34c9b539a9aae3b7f0bb5372045ff28ee1eba035a2a059e532198fe1a182ec61ac60fa0b4a4129f0c4c4b1d2d57355b5cb9aa2d17ac9454ecace502ee languageName: node linkType: hard -"title@npm:^3.5.3": - version: 3.5.3 - resolution: "title@npm:3.5.3" +"tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" dependencies: - arg: "npm:1.0.0" - chalk: "npm:2.3.0" - clipboardy: "npm:1.2.2" - titleize: "npm:1.0.0" - bin: - title: bin/title.js - checksum: 10c0/9334ff46f49c215a108adbb3ab39bd946dfd1a669b999ad173ff61aa7598a17718f954462d8ebf8fb3ea643b5c37f2f7a163310d186acb18a101c028248d3b15 + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 languageName: node linkType: hard -"titleize@npm:1.0.0": - version: 1.0.0 - resolution: "titleize@npm:1.0.0" - checksum: 10c0/7c542bdc5754406839fc61e1a43803cb460cb0b5472f7cecf267bd9498e72d549d7f5cdfadd72ec20c3bb0783d52f4c72fe68e104cecd84195b29a5ffe836510 +"title@npm:^4.0.1": + version: 4.0.1 + resolution: "title@npm:4.0.1" + dependencies: + arg: "npm:^5.0.0" + chalk: "npm:^5.0.0" + clipboardy: "npm:^4.0.0" + bin: + title: dist/esm/bin.js + checksum: 10c0/992fbe55f2bbf6189e478dbca48a3d67eff1cf5cbe13228399c4ef9951f5ede752818efe1f841ab1f113d3b88106dd30a61ea616ce96b894daf048be6da24257 languageName: node linkType: hard @@ -7512,14 +10660,45 @@ __metadata: languageName: node linkType: hard -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 +"ts-api-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f + languageName: node + linkType: hard + +"ts-dedent@npm:^2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 + languageName: node + linkType: hard + +"ts-morph@npm:^27.0.0": + version: 27.0.2 + resolution: "ts-morph@npm:27.0.2" + dependencies: + "@ts-morph/common": "npm:~0.28.1" + code-block-writer: "npm:^13.0.3" + checksum: 10c0/224715cc6d97b8ff5afd3986f9629f912a0ebd83eaecbdca91c35cf10a98f607c663f666e7ea5e6afab00563d00dc80fa7a13552cc7f1cef735261c3217d0863 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 languageName: node linkType: hard -"tslib@npm:^2.4.0": +"tslib@npm:^2.4.0, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -7548,6 +10727,25 @@ __metadata: languageName: node linkType: hard +"twoslash-protocol@npm:0.3.4": + version: 0.3.4 + resolution: "twoslash-protocol@npm:0.3.4" + checksum: 10c0/4062a0dced5e8bca37db0b759cbb08f13b00d13572cd676686d139d436ec324d9b1ca959cf0929683b987b090c62ad52f02c8948919e89f8ab76e5502eb1e309 + languageName: node + linkType: hard + +"twoslash@npm:^0.3.4": + version: 0.3.4 + resolution: "twoslash@npm:0.3.4" + dependencies: + "@typescript/vfs": "npm:^1.6.1" + twoslash-protocol: "npm:0.3.4" + peerDependencies: + typescript: ^5.5.0 + checksum: 10c0/1220393b48dce0e0f20c7c9ce2801864ee99dc052b1f78d884a5eb737052164511d26c8ca7652170475a3bff28afdf96a136132d074f8e35dee5d79d6208162c + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -7557,37 +10755,110 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard -"type-fest@npm:^1.0.2": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.46.0": + version: 8.48.1 + resolution: "typescript-eslint@npm:8.48.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.48.1" + "@typescript-eslint/parser": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" + "@typescript-eslint/utils": "npm:8.48.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/10b501bf69b14edd09d652b33e4a5dfad0498f2943992a433006933e384cdc5815217b2990801796ddf946d2ef4971d9a16c98c7cfbba41f6aa31b245ad057ac languageName: node linkType: hard -"typescript@npm:^4.9.4": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" +"typescript@npm:^5.1.0": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/5f6cad2e728a8a063521328e612d7876e12f0d8a8390d3b3aaa452a6a65e24e9ac8ea22beb72a924fd96ea0a49ea63bb4e251fb922b12eedfb7f7a26475e5c56 + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^4.9.4#optional!builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=289587" +"typescript@patch:typescript@npm%3A^5.1.0#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/e3333f887c6829dfe0ab6c1dbe0dd1e3e2aeb56c66460cb85c5440c566f900c833d370ca34eb47558c0c69e78ced4bfe09b8f4f98b6de7afed9b84b8d1dd06a1 + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + languageName: node + linkType: hard + +"ufo@npm:^1.6.1": + version: 1.6.1 + resolution: "ufo@npm:1.6.1" + checksum: 10c0/5a9f041e5945fba7c189d5410508cbcbefef80b253ed29aa2e1f8a2b86f4bd51af44ee18d4485e6d3468c92be9bf4a42e3a2b72dcaf27ce39ce947ec994f1e6b + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 languageName: node linkType: hard @@ -7629,110 +10900,113 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0": - version: 10.1.2 - resolution: "unified@npm:10.1.2" +"unified@npm:^11.0.0, unified@npm:^11.0.4, unified@npm:^11.0.5": + version: 11.0.5 + resolution: "unified@npm:11.0.5" dependencies: - "@types/unist": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" extend: "npm:^3.0.0" - is-buffer: "npm:^2.0.0" is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/da9195e3375a74ab861a65e1d7b0454225d17a61646697911eb6b3e97de41091930ed3d167eb11881d4097c51deac407091d39ddd1ee8bf1fde3f946844a17a7 + vfile: "npm:^6.0.0" + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 languageName: node linkType: hard -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" +"unist-util-find-after@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-find-after@npm:5.0.0" dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/a7cea473c4384df8de867c456b797ff1221b20f822e1af673ff5812ed505358b36f47f3b084ac14c3622cb879ed833b71b288e8aa71025352a2aab4c2925a6eb languageName: node linkType: hard -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" +"unist-util-is@npm:^5.0.0": + version: 5.2.1 + resolution: "unist-util-is@npm:5.2.1" dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + "@types/unist": "npm:^2.0.0" + checksum: 10c0/a2376910b832bb10653d2167c3cd85b3610a5fd53f5169834c08b3c3a720fae9043d75ad32d727eedfc611491966c26a9501d428ec62467edc17f270feb5410b languageName: node linkType: hard -"unist-util-find-after@npm:^4.0.0": - version: 4.0.1 - resolution: "unist-util-find-after@npm:4.0.1" +"unist-util-is@npm:^6.0.0": + version: 6.0.1 + resolution: "unist-util-is@npm:6.0.1" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/3b53e6a74009ed4f5db45aae76b81630f0fcd721825f886e724d5262089955fce86d83e98083598820cb4fa48070b7b819390d66c410f705a4841d0ffc0614f1 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/5a487d390193811d37a68264e204dbc7c15c40b8fc29b5515a535d921d071134f571d7b5cbd59bcd58d5ce1c0ab08f20fc4a1f0df2287a249c979267fc32ce06 languageName: node linkType: hard -"unist-util-generated@npm:^2.0.0": - version: 2.0.1 - resolution: "unist-util-generated@npm:2.0.1" - checksum: 10c0/6f052dd47a7280785f3787f52cdfe8819e1de50317a1bcf7c9346c63268cf2cebc61a5980e7ca734a54735e27dbb73091aa0361a98504ab7f9409fb75f1b16bb +"unist-util-modify-children@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-modify-children@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + array-iterate: "npm:^2.0.0" + checksum: 10c0/63d44b09a2e4c674c72816d4328d668972e68cc965ea719fef1c642b66a3ebe3b102e284a3213b4920ebccff05e0f689b4eaae8a0e5c3dafcad117d1577496da languageName: node linkType: hard -"unist-util-is@npm:^5.0.0": - version: 5.2.1 - resolution: "unist-util-is@npm:5.2.1" +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/a2376910b832bb10653d2167c3cd85b3610a5fd53f5169834c08b3c3a720fae9043d75ad32d727eedfc611491966c26a9501d428ec62467edc17f270feb5410b + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 languageName: node linkType: hard -"unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": - version: 1.1.2 - resolution: "unist-util-position-from-estree@npm:1.1.2" +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/1d95d0b2b05efcec07a4e6745a6950cd498f6100fb900615b252937baed5140df1c6319b9a67364c8a6bd891c58b3c9a52a22e8e1d3422c50bb785d7e3ad7484 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 languageName: node linkType: hard -"unist-util-position@npm:^4.0.0": - version: 4.0.4 - resolution: "unist-util-position@npm:4.0.4" +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/e506d702e25a0fb47a64502054f709a6ff5db98993bf139eec868cd11eb7de34392b781c6c2002e2c24d97aa398c14b32a47076129f36e4b894a2c1351200888 + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/e8c76da4399446b3da2d1c84a97c607b37d03d1d92561e14838cbe4fdcb485bfc06c06cfadbb808ccb72105a80643976d0660d1fe222ca372203075be9d71105 languageName: node linkType: hard -"unist-util-remove-position@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-remove-position@npm:4.0.2" +"unist-util-remove@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-remove@npm:4.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/17371b1e53c52d1b00656c9c6fe1bb044846e7067022195823ed3d1a8d8b965d4f9a79b286b8a841e68731b4ec93afd563b81ae92151f80c28534ba51e9dc18f + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/30f3ed31095dd7f3109266d39c514fab5f2da3fb656d5f78a0e3e7700f219760f2f4d8286c810ae43c241fee3f0a8dd40f8d1e5ebeee3cb810581d5e7e8d4f7d languageName: node linkType: hard -"unist-util-remove@npm:^3.1.1": - version: 3.1.1 - resolution: "unist-util-remove@npm:3.1.1" +"unist-util-stringify-position@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-stringify-position@npm:4.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.0.0" - checksum: 10c0/c0dae9fd9f2b119d3fa56e4937499858b9d81a1bd91eb85e6e5a1b053f8ffc5e319c410baa4968f062557380c0d1d29ec0c7622c83f54303a54c668c18d68c53 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e languageName: node linkType: hard -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" +"unist-util-visit-children@npm:^3.0.0": + version: 3.0.0 + resolution: "unist-util-visit-children@npm:3.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/14550027825230528f6437dad7f2579a841780318569851291be6c8a970bae6f65a7feb24dabbcfce0e5e68cacae85bf12cbda3f360f7c873b4db602bdf7bb21 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/51e95f54fbf11d414952c011c761c3960864948ad3fd2abe3989eb18b18d96b8f48e7ea5ab6f23264d1a3f4f5a1ff76312dd8f2196c78b762098403505c3abb9 languageName: node linkType: hard @@ -7746,13 +11020,13 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": - version: 5.1.3 - resolution: "unist-util-visit-parents@npm:5.1.3" +"unist-util-visit-parents@npm:^6.0.0": + version: 6.0.2 + resolution: "unist-util-visit-parents@npm:6.0.2" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/f6829bfd8f2eddf63a32e2c302cd50978ef0c194b792c6fe60c2b71dfd7232415a3c5941903972543e9d34e6a8ea69dee9ccd95811f4a795495ed2ae855d28d0 + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/f1e4019dbd930301825895e3737b1ee0cd682f7622ddd915062135cbb39f8c090aaece3a3b5eae1f2ea52ec33f0931abb8f8a8b5c48a511a4203e3d360a8cd49 languageName: node linkType: hard @@ -7767,14 +11041,81 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.1": - version: 4.1.2 - resolution: "unist-util-visit@npm:4.1.2" +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.1.1" - checksum: 10c0/56a1f49a4d8e321e75b3c7821d540a45165a031dd06324bb0e8c75e7737bc8d73bdddbf0b0ca82000f9708a4c36861c6ebe88d01f7cf00e925f5d75f13a3a017 + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 + languageName: node + linkType: hard + +"unrs-resolver@npm:^1.6.2": + version: 1.11.1 + resolution: "unrs-resolver@npm:1.11.1" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" + "@unrs/resolver-binding-android-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" + "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" + napi-postinstall: "npm:^0.3.0" + dependenciesMeta: + "@unrs/resolver-binding-android-arm-eabi": + optional: true + "@unrs/resolver-binding-android-arm64": + optional: true + "@unrs/resolver-binding-darwin-arm64": + optional: true + "@unrs/resolver-binding-darwin-x64": + optional: true + "@unrs/resolver-binding-freebsd-x64": + optional: true + "@unrs/resolver-binding-linux-arm-gnueabihf": + optional: true + "@unrs/resolver-binding-linux-arm-musleabihf": + optional: true + "@unrs/resolver-binding-linux-arm64-gnu": + optional: true + "@unrs/resolver-binding-linux-arm64-musl": + optional: true + "@unrs/resolver-binding-linux-ppc64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-musl": + optional: true + "@unrs/resolver-binding-linux-s390x-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-musl": + optional: true + "@unrs/resolver-binding-wasm32-wasi": + optional: true + "@unrs/resolver-binding-win32-arm64-msvc": + optional: true + "@unrs/resolver-binding-win32-ia32-msvc": + optional: true + "@unrs/resolver-binding-win32-x64-msvc": + optional: true + checksum: 10c0/c91b112c71a33d6b24e5c708dab43ab80911f2df8ee65b87cd7a18fb5af446708e98c4b415ca262026ad8df326debcc7ca6a801b2935504d87fd6f0b9d70dce1 languageName: node linkType: hard @@ -7811,10 +11152,12 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.2": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 +"use-sync-external-store@npm:^1.5.0": + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b languageName: node linkType: hard @@ -7840,17 +11183,12 @@ __metadata: languageName: node linkType: hard -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: "npm:^2.0.0" - diff: "npm:^5.0.0" - kleur: "npm:^4.0.3" - sade: "npm:^1.7.3" +"uuid@npm:^11.1.0": + version: 11.1.0 + resolution: "uuid@npm:11.1.0" bin: - uvu: bin.js - checksum: 10c0/ad32eb5f7d94bdeb71f80d073003f0138e24f61ed68cecc8e15d2f30838f44c9670577bb1775c8fac894bf93d1bc1583d470a9195e49bfa6efa14cc6f4942bff + uuid: dist/esm/bin/uuid + checksum: 10c0/34aa51b9874ae398c2b799c88a127701408cd581ee89ec3baa53509dd8728cbb25826f2a038f9465f8b7be446f0fbf11558862965b18d21c993684297628d4d3 languageName: node linkType: hard @@ -7871,60 +11209,82 @@ __metadata: languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" +"vfile-location@npm:^5.0.0": + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" dependencies: - "@types/unist": "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/77097e819579214d3346aaa2b06e4d23e2413221ac4914679d312cf64973011b76f0e2424fa8f18987befcd6ed60f4f6c4c6ebd5d5326062173a95f6b4445a96 + "@types/unist": "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 languageName: node linkType: hard -"vfile-matter@npm:^3.0.1": - version: 3.0.1 - resolution: "vfile-matter@npm:3.0.1" +"vfile-message@npm:^4.0.0": + version: 4.0.3 + resolution: "vfile-message@npm:4.0.3" dependencies: - "@types/js-yaml": "npm:^4.0.0" - is-buffer: "npm:^2.0.0" - js-yaml: "npm:^4.0.0" - checksum: 10c0/45ff9b49e7a5817b646d76f14d2486e12a93a16951bd8cfa6c64f0c78c4e56e48d30a0542a980bc9c7aae1bb430d457f9dfc2677e514d66cc2976ab31f10403a + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/33d9f219610d27987689bb14fa5573d2daa146941d1a05416dd7702c4215b23f44ed81d059e70d0e4e24f9a57d5f4dc9f18d35a993f04cf9446a7abe6d72d0c0 languageName: node linkType: hard -"vfile-message@npm:^3.0.0": - version: 3.1.4 - resolution: "vfile-message@npm:3.1.4" +"vfile@npm:^6.0.0": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - checksum: 10c0/c4ccf9c0ced92d657846fd067fefcf91c5832cdbe2ecc431bb67886e8c959bf7fc05a9dbbca5551bc34c9c87a0a73854b4249f65c64ddfebc4d59ea24a18b996 + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.0": - version: 5.3.7 - resolution: "vfile@npm:5.3.7" +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: 10c0/0789c227057a844f5ead55c84679206227a639b9fb76e881185053abc4e9848aa487245966cc2393fcb342c4541241b015a1a2559fddd20ac1e68945c95344e6 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" dependencies: - "@types/unist": "npm:^2.0.0" - is-buffer: "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/c36bd4c3f16ec0c6cbad0711ca99200316bbf849d6b07aa4cb5d9062cc18ae89249fe62af9521926e9659c0e6bc5c2c1da0fe26b41fb71e757438297e1a41da4 + vscode-jsonrpc: "npm:8.2.0" + vscode-languageserver-types: "npm:3.17.5" + checksum: 10c0/5f38fd80da9868d706eaa4a025f4aff9c3faad34646bcde1426f915cbd8d7e8b6c3755ce3fef6eebd256ba3145426af1085305f8a76e34276d2e95aaf339a90b languageName: node linkType: hard -"vscode-oniguruma@npm:^1.7.0": - version: 1.7.0 - resolution: "vscode-oniguruma@npm:1.7.0" - checksum: 10c0/bef0073c665ddf8c86e51da94529c905856559e9aba97a9882f951acd572da560384775941ab6e7e8db94d9c578b25fefb951e4b73c37e8712e16b0231de2689 +"vscode-languageserver-textdocument@npm:~1.0.11": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb languageName: node linkType: hard -"vscode-textmate@npm:^8.0.0": - version: 8.0.0 - resolution: "vscode-textmate@npm:8.0.0" - checksum: 10c0/836f7fe73fc94998a38ca193df48173a2b6eab08b4943d83c8cac9a2a0c3546cfdab4cf1b10b890ec4a4374c5bee03a885ef0e83e7fd2bd618cf00781c017c04 +"vscode-languageserver-types@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-types@npm:3.17.5" + checksum: 10c0/1e1260de79a2cc8de3e46f2e0182cdc94a7eddab487db5a3bd4ee716f67728e685852707d72c059721ce500447be9a46764a04f0611e94e4321ffa088eef36f8 + languageName: node + linkType: hard + +"vscode-languageserver@npm:~9.0.1": + version: 9.0.1 + resolution: "vscode-languageserver@npm:9.0.1" + dependencies: + vscode-languageserver-protocol: "npm:3.17.5" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10c0/8a0838d77c98a211c76e54bd3a6249fc877e4e1a73322673fb0e921168d8e91de4f170f1d4ff7e8b6289d0698207afc6aba6662d4c1cd8e4bd7cae96afd6b0c2 + languageName: node + linkType: hard + +"vscode-uri@npm:~3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 10c0/f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9 languageName: node linkType: hard @@ -7935,7 +11295,53 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.2": +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" + dependencies: + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.2.1" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19, which-typed-array@npm:^1.1.2": version: 1.1.19 resolution: "which-typed-array@npm:1.1.19" dependencies: @@ -7950,17 +11356,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 - languageName: node - linkType: hard - "which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -7972,14 +11367,10 @@ __metadata: languageName: node linkType: hard -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b +"wicked-good-xpath@npm:1.3.0": + version: 1.3.0 + resolution: "wicked-good-xpath@npm:1.3.0" + checksum: 10c0/6837e1027e75e2ad7fe0620d11def4c42235cbe6c649727258973d7d77c2c5066a5376595e0283d3ba8e2fa22deb3cfe7358db5a02a938bde273b55b9ac57832 languageName: node linkType: hard @@ -7990,35 +11381,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - "xml2js@npm:0.6.2": version: 0.6.2 resolution: "xml2js@npm:0.6.2" @@ -8036,13 +11398,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -8050,20 +11405,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - "yaml@npm:^1.10.0": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -8071,12 +11412,12 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.3.4": - version: 2.8.0 - resolution: "yaml@npm:2.8.0" +"yaml@npm:^2.3.2": + version: 2.8.1 + resolution: "yaml@npm:2.8.1" bin: yaml: bin.mjs - checksum: 10c0/f6f7310cf7264a8107e72c1376f4de37389945d2fb4656f8060eca83f01d2d703f9d1b925dd8f39852a57034fafefde6225409ddd9f22aebfda16c6141b71858 + checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3 languageName: node linkType: hard @@ -8087,14 +11428,53 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.20.2": - version: 3.25.76 - resolution: "zod@npm:3.25.76" - checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10c0/0ccfec48c46de1be440b719cd02044d4abb89ed0e14c13e637cd55bf29102f67ccdba373f25def0fc7130e5f15025be4d557a7edcc95d5a3811599aade689e1b + languageName: node + linkType: hard + +"zod@npm:4.0.0-beta.20250424T163858": + version: 4.0.0-beta.20250424T163858 + resolution: "zod@npm:4.0.0-beta.20250424T163858" + dependencies: + "@zod/core": "npm:0.9.0" + checksum: 10c0/bc63eee829ff6906d13a832522cbcceeb1a0cd159eaa0a258fa3c6bbeb5c7d9866c3534f6f693fd610f38c5edb06802bb2f28f3d0f7875e014d513a76494b00c + languageName: node + linkType: hard + +"zod@npm:^3.25.0 || ^4.0.0": + version: 4.1.13 + resolution: "zod@npm:4.1.13" + checksum: 10c0/d7e74e82dba81a91ffc3239cd85bc034abe193a28f7087a94ab258a3e48e9a7ca4141920cac979a0d781495b48fc547777394149f26be04c3dc642f58bbc3941 + languageName: node + linkType: hard + +"zustand@npm:^5.0.1": + version: 5.0.8 + resolution: "zustand@npm:5.0.8" + peerDependencies: + "@types/react": ">=18.0.0" + immer: ">=9.0.6" + react: ">=18.0.0" + use-sync-external-store: ">=1.2.0" + peerDependenciesMeta: + "@types/react": + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + checksum: 10c0/e865a6f7f1c0e03571701db5904151aaa7acefd6f85541a117085e129bf16e8f60b11f8cc82f277472de5c7ad5dcb201e1b0a89035ea0b40c9d9aab3cd24c8ad languageName: node linkType: hard -"zwitch@npm:^2.0.0": +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e From 17b38ca7f76d1410b744afae0f7e219afb99a46f Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Thu, 4 Dec 2025 23:11:54 +0300 Subject: [PATCH 02/13] fix: MRPC-7111 Fix old styles --- content/advanced-api/overview.mdx | 2 +- content/advanced-api/quickstart/overview.mdx | 10 ++-- content/gaming-overview.mdx | 2 +- content/index.mdx | 16 +++---- src/components/Footer/FooterMenu.tsx | 2 +- src/components/Navbar/Navbar.tsx | 2 +- .../Web3APIButton/Web3APIButton.tsx | 10 ++-- src/components/Web3APIButton/utils/getURL.ts | 6 +-- src/icons/index.js | 16 +++---- src/styles/global.css | 47 ++----------------- 10 files changed, 36 insertions(+), 77 deletions(-) diff --git a/content/advanced-api/overview.mdx b/content/advanced-api/overview.mdx index fb2e5fb8d..c5103c211 100644 --- a/content/advanced-api/overview.mdx +++ b/content/advanced-api/overview.mdx @@ -124,7 +124,7 @@ The price of our API Credits is pegged to USD. It means that upon using ANKR tok ## Support and Developer Community -
    +
    [Start Building with Advanced API](/advanced-api/quickstart/overview/)↗
    diff --git a/content/advanced-api/quickstart/overview.mdx b/content/advanced-api/quickstart/overview.mdx index e50c18c6d..c424ffaf8 100644 --- a/content/advanced-api/quickstart/overview.mdx +++ b/content/advanced-api/quickstart/overview.mdx @@ -5,28 +5,28 @@ Kickstart your dApp with Advanced APIs to go from idea to building and shipping ## Code Snippets Learn how to query data from blockchain instantly: -
    +
    [How to fetch all NFTs owned by a particular wallet address using Ankr.js SDK](/advanced-api/quickstart/fetch-nfts-ankrjs/)↗
    -
    +
    [How to check your account balance across multiple blockchains using Ankr.js SDK](/advanced-api/quickstart/account-balance-ankrjs/)↗
    ## Quickstart Guides Learn how to query data from blockchain, build prototypes, dApps, projects and more: -
    +
    [Query Advanced APIs on NodeJS server using Ankr.js SDK](/advanced-api/quickstart/aapi-on-nodejs/)↗
    -
    +
    [Ankr.js quickstart guide with React](/advanced-api/quickstart/aapi-react-app/)↗
    ## Tutorials Learn how to build fullstack projects and dApps with Advanced APIs: -
    +
    [Build basic DeFi-dashboard dApp with Vite.js, Ankr.js, and Tailwind CSS](/advanced-api/quickstart/defi-dashboard-ankrjs/)↗
    \ No newline at end of file diff --git a/content/gaming-overview.mdx b/content/gaming-overview.mdx index ce8d66ba7..75da0c3ee 100644 --- a/content/gaming-overview.mdx +++ b/content/gaming-overview.mdx @@ -5,6 +5,6 @@ Use SDKs to integrate with the platform and enable your game with the Web3 capab -
    +
    [Learn more about Mirage](https://mirage.xyz/docs/) ↗
    diff --git a/content/index.mdx b/content/index.mdx index 2690a2056..86a3df3a8 100644 --- a/content/index.mdx +++ b/content/index.mdx @@ -18,7 +18,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Interact with 80+ [supported blockchains](/rpc-service/chains/chains-list/). * Test out and get important stats. * Suitable for Web3 developers and enthusiasts of all skill levels. -
    +
    [Empower your projects with blockchain interaction](/rpc-service/overview/) ↗
    @@ -31,7 +31,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Interact with 19 mainnet and 7 testnet chains supported. * Use Ankr JavaScript/Python SDKs and React Hooks. * Tailored to support most popular Web3 scenarios. -
    +
    [Query multiple chains for most popular Web3 scenarios](advanced-api/overview) ↗
    @@ -45,7 +45,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come [//]: # (
    ) -[//]: # (
    ) +[//]: # (
    ) [//]: # ( [Sync your node via the trusted blockchain snapshots](/node-snapshot)↗) @@ -60,7 +60,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Choose time-based or event based automation. * Rely on robust Ankr infrastructure for your automation tasks. * Easily manage automation tasks from a single dashboard. -
    +
    [Automate calls to contracts](automation/overview) ↗
    @@ -74,7 +74,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Deploy a fast and secure network. * Choose additional components from Developer Marketplace. -
    +
    [Bring your project to Web3](/scaling-services-overview/) ↗
    @@ -88,7 +88,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Connect staking rewards to DeFi to trade/farm for even higher APY. * Integrate Ankr Staking into your projects. -
    +
    [Stake, earn, and integrate](staking-overview) ↗
    @@ -102,7 +102,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Integrate Web3 wallets easily. * Compatible with Unity and Unreal Engine. -
    +
    [Take your game to Web3](https://mirage.xyz/docs/) ↗
    @@ -116,6 +116,6 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Explore code guides, tools, tutorials, and resources you need to write and deploy smart contracts. * Find end-to-end tutorials to build and ship full-fledged decentralized applications. -
    +
    [Learn and practice Web3](basic-tutorials/dapp-on-ethereum-using-nocode) ↗
    \ No newline at end of file diff --git a/src/components/Footer/FooterMenu.tsx b/src/components/Footer/FooterMenu.tsx index ae5cff813..d9fb84583 100644 --- a/src/components/Footer/FooterMenu.tsx +++ b/src/components/Footer/FooterMenu.tsx @@ -26,7 +26,7 @@ const ListItem = ({ children }: ListItemProps) =>
  • {children}
  • ; const List = ({ title, items }: Section) => (
  • -

    {title}

    +

    {title}

      {items.map((item, index) => ( diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index 93131f233..bcafa2bdf 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -1,6 +1,6 @@ import { Navbar as NextraNavbar } from 'nextra-theme-docs'; -import AnkrLogo from "public/logo/ankr-docs-with-logo.svg"; +import AnkrLogo from 'public/logo/ankr-docs-with-logo.svg'; import { Web3APIButtonLazy } from 'components/Web3APIButton'; import classes from './Navbar.module.css'; diff --git a/src/components/Web3APIButton/Web3APIButton.tsx b/src/components/Web3APIButton/Web3APIButton.tsx index 179631176..6e235f905 100644 --- a/src/components/Web3APIButton/Web3APIButton.tsx +++ b/src/components/Web3APIButton/Web3APIButton.tsx @@ -19,7 +19,7 @@ export function Web3APIButton({ className, visibility }: Web3APIButtonProps) { useSubscribeToAuthStorage(); - const Guard = visibility === 'desktop' ? DesktopGuard : MobileGuard; + const Guard = visibility === 'desktop' ? DesktopGuard : MobileGuard; return ( @@ -34,12 +34,12 @@ export function Web3APIButton({ className, visibility }: Web3APIButtonProps) { minHeight: 30, borderRadius: 0.5, - "&:active": { - boxShadow: "none", + '&:active': { + boxShadow: 'none', }, - "&:focus": { - boxShadow: "none", + '&:focus': { + boxShadow: 'none', }, }} target="_blank" diff --git a/src/components/Web3APIButton/utils/getURL.ts b/src/components/Web3APIButton/utils/getURL.ts index ab32aaac5..2e9df3a72 100644 --- a/src/components/Web3APIButton/utils/getURL.ts +++ b/src/components/Web3APIButton/utils/getURL.ts @@ -1,13 +1,13 @@ -import { getSignInUrl } from "@ankr.com/auth"; +import { getSignInUrl } from '@ankr.com/auth'; export const getURL = (isSignedIn: boolean) => { - if (isSignedIn) { + if (isSignedIn) { return `${window.location.origin}/rpc/home/`; } const host = window.location.host; const appPath = - host && !host.includes("localhost") + host && !host.includes('localhost') ? `${host}/rpc/auth/` : process.env.NEXT_PUBLIC_WEB3_API_AUTH_APP_PATH!; diff --git a/src/icons/index.js b/src/icons/index.js index ec4ca7650..bc76f5a26 100644 --- a/src/icons/index.js +++ b/src/icons/index.js @@ -1,8 +1,8 @@ -export * from "./CopyIcon"; -export * from "./Default"; -export * from "./Error"; -export * from "./Info"; -export * from "./Note"; -export * from "./Success"; -export * from "./Tip"; -export * from "./Warning"; +export * from './CopyIcon'; +export * from './Default'; +export * from './Error'; +export * from './Info'; +export * from './Note'; +export * from './Success'; +export * from './Tip'; +export * from './Warning'; diff --git a/src/styles/global.css b/src/styles/global.css index 21dcc478f..9c8da29fd 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -11,47 +11,6 @@ body { padding: 0; } -.home-content p { - margin-top: 1.5em; - line-height: 1.75em; -} - -.home-content a { - --tw-ring-color: hsl(var(--nextra-primary-hue) 100% 50%/0.3); - --tw-text-opacity: 1; - text-underline-position: under; - text-decoration-line: underline; - text-decoration-thickness: from-font; - color: hsl(var(--nextra-primary-hue) 100% 50% / var(--tw-text-opacity)); -} - -figcaption { - font-size: 0.85rem; - line-height: 1.5rem; - display: block; - text-align: center; - margin-top: 0.5rem; -} - -code.text-\[\.9em\] { - font-size: 14px; -} - -@media screen and (max-width: 1200px) { - .home-content .hide-medium { - display: none; - } -} - -@media screen and (max-width: 720px) { - .home-content p { - font-size: 0.9rem; - } - .home-content .hide-small { - display: none; - } -} - /* Position custom callouts icons */ .nextra-callout-icon-area { @apply select-none text-xl ltr:pl-3 ltr:pr-2 rtl:pr-3 rtl:pl-2; @@ -64,7 +23,7 @@ code.text-\[\.9em\] { } /* less space between lines of text in callouts */ -.nx-leading-7 { +.x\:leading-7 { line-height: 1.5rem; } @@ -85,8 +44,8 @@ code.text-\[\.9em\] { } /* Make space before a list and before a nested list of a diff kind shorter */ -ul.nx-mt-6, -ol.nx-mt-6 { +ul.mt-6, +ol.mt-6 { margin-top: 0.6em; margin-bottom: 0.5em; } From 99c648a1b71fab563f3b2aad35c66d5f7f4ed378 Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Thu, 4 Dec 2025 23:37:20 +0300 Subject: [PATCH 03/13] fix: MRPC-7111 Fix eslint errors --- .github/workflows/deploy.yml | 2 +- README.md | 2 +- package.json | 2 +- redirects.js => redirects.mjs | 9 +++++---- ...strapi-faq-files.js => update-strapi-faq-files.mjs} | 10 +++++----- 5 files changed, 13 insertions(+), 12 deletions(-) rename redirects.js => redirects.mjs (85%) rename src/scripts/{update-strapi-faq-files.js => update-strapi-faq-files.mjs} (93%) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e3bc3e7c6..a7af1b966 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -100,4 +100,4 @@ jobs: env: DOMAIN: ${{ vars[format('{0}{1}', github.event.inputs.environment, '_DOMAIN')] }} run: | - node redirects.js + node redirects.mjs diff --git a/README.md b/README.md index d4b3a5f83..ffb872932 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ git checkout stage && git checkout -b `/` ├ package.json — project dependencies and dev commands. ├ postcss.config.js — configuration file listing additional packages to import to Nextra. ├ README.md — readme of the project. -├ redirects.js — redirects solution. +├ redirects.mjs — redirects solution. ├ redirects.json — map of redirects for the redirects solution. ├ tailwind.config.js — additional CSS framework (imported in postcss.config.js). ├ theme.config.tsx — configuration file for Nextra with the essential project parameters. diff --git a/package.json b/package.json index 566d04f60..02077d6f3 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "dev": "npm run update-strapi-faq-files && next", "start": "npm run update-strapi-faq-files && next start", "start:css": "tailwindcss -o styles/global.css --watch", - "update-strapi-faq-files": "node ./src/scripts/update-strapi-faq-files.js", + "update-strapi-faq-files": "node ./src/scripts/update-strapi-faq-files.mjs", "types": "tsc --noEmit" }, "author": "ankr.com", diff --git a/redirects.js b/redirects.mjs similarity index 85% rename from redirects.js rename to redirects.mjs index 2ac10832e..857a955fb 100644 --- a/redirects.js +++ b/redirects.mjs @@ -1,5 +1,6 @@ -const fs = require('fs') -const AWS = require('aws-sdk') +import AWS from 'aws-sdk'; +import fs from 'fs'; + const s3 = new AWS.S3(); const redirects = JSON.parse(fs.readFileSync('./redirects.json')); @@ -13,11 +14,11 @@ redirects.forEach((item) => { Body: '', Bucket: process.env.DOMAIN, Key: item.from, - }, (err, data) => { + }, (err) => { if (err) { return console.log(err); } console.log('Done') }) -}) \ No newline at end of file +}); diff --git a/src/scripts/update-strapi-faq-files.js b/src/scripts/update-strapi-faq-files.mjs similarity index 93% rename from src/scripts/update-strapi-faq-files.js rename to src/scripts/update-strapi-faq-files.mjs index f5cf88a37..7824b118e 100644 --- a/src/scripts/update-strapi-faq-files.js +++ b/src/scripts/update-strapi-faq-files.mjs @@ -1,8 +1,8 @@ -const axios = require('axios'); -const fs = require('fs'); -const json2md = require('json2md'); -const { NodeHtmlMarkdown } = require('node-html-markdown'); -const { join } = require('path'); +import axios from 'axios'; +import fs from 'fs'; +import json2md from 'json2md'; +import { NodeHtmlMarkdown } from 'node-html-markdown'; +import { join } from 'path'; const FILES_ROOT_PATH = join(process.cwd(), 'content'); From 4baa4b6e986530a33e514c70154e8379de0dd621 Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Fri, 5 Dec 2025 00:18:51 +0300 Subject: [PATCH 04/13] feat: MRPC-7111 Transform icons from jsx to svg --- README.md | 2 +- src/components/Callout.tsx | 23 +++++++++++------ src/icons/CopyIcon.jsx | 52 -------------------------------------- src/icons/Default.jsx | 16 ------------ src/icons/Error.jsx | 16 ------------ src/icons/Info.jsx | 16 ------------ src/icons/Note.jsx | 17 ------------- src/icons/Success.jsx | 16 ------------ src/icons/Tip.jsx | 16 ------------ src/icons/Warning.jsx | 16 ------------ src/icons/default.svg | 5 ++++ src/icons/error.svg | 5 ++++ src/icons/index.js | 8 ------ src/icons/info.svg | 5 ++++ src/icons/note.svg | 5 ++++ src/icons/success.svg | 5 ++++ src/icons/tip.svg | 5 ++++ src/icons/warning.svg | 5 ++++ 18 files changed, 51 insertions(+), 182 deletions(-) delete mode 100644 src/icons/CopyIcon.jsx delete mode 100644 src/icons/Default.jsx delete mode 100644 src/icons/Error.jsx delete mode 100644 src/icons/Info.jsx delete mode 100644 src/icons/Note.jsx delete mode 100644 src/icons/Success.jsx delete mode 100644 src/icons/Tip.jsx delete mode 100644 src/icons/Warning.jsx create mode 100644 src/icons/default.svg create mode 100644 src/icons/error.svg delete mode 100644 src/icons/index.js create mode 100644 src/icons/info.svg create mode 100644 src/icons/note.svg create mode 100644 src/icons/success.svg create mode 100644 src/icons/tip.svg create mode 100644 src/icons/warning.svg diff --git a/README.md b/README.md index ffb872932..286241e1a 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ git checkout stage && git checkout -b `/` ┌ ○ .github ├ ○ workflows ├ deploy.yml — workflows for deploying the project via GitHub Actions. -├ ○ pages — source files with the content to generate static HTML files from. +├ ○ content — source files with the content to generate static HTML files from. ├ ○ public — images to use in the docs. ├ ○ src ├ ○ components — custom React components to import and use in the project. diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index 099709c0f..754b095cf 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -1,10 +1,17 @@ 'use client'; import cn from 'clsx'; -import { Default, Error, Info, Note, Success, Tip, Warning } from 'icons'; import { useEffect, useMemo, useState } from 'react'; import { useTheme } from 'next-themes'; +import DefaultIcon from 'icons/default.svg'; +import ErrorIcon from 'icons/error.svg'; +import InfoIcon from 'icons/info.svg'; +import NoteIcon from 'icons/note.svg'; +import SuccessIcon from 'icons/success.svg'; +import TipIcon from 'icons/tip.svg'; +import WarningIcon from 'icons/warning.svg'; + const themes = { default: { light: 'bg-gray-100 text-gray-900 border-gray-200 ', @@ -37,13 +44,13 @@ const themes = { }; const icons = { - default: Default, - error: Error, - info: Info, - note: Note, - success: Success, - tip: Tip, - warning: Warning, + default: DefaultIcon, + error: ErrorIcon, + info: InfoIcon, + note: NoteIcon, + success: SuccessIcon, + tip: TipIcon, + warning: WarningIcon, }; interface CalloutProps { diff --git a/src/icons/CopyIcon.jsx b/src/icons/CopyIcon.jsx deleted file mode 100644 index d8fbbf9f2..000000000 --- a/src/icons/CopyIcon.jsx +++ /dev/null @@ -1,52 +0,0 @@ -export const CopyIcon = () => { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; diff --git a/src/icons/Default.jsx b/src/icons/Default.jsx deleted file mode 100644 index 0b30916c0..000000000 --- a/src/icons/Default.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Default = () => ( - - - -); diff --git a/src/icons/Error.jsx b/src/icons/Error.jsx deleted file mode 100644 index 1496ce625..000000000 --- a/src/icons/Error.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Error = () => ( - - - -); diff --git a/src/icons/Info.jsx b/src/icons/Info.jsx deleted file mode 100644 index 3df6e0924..000000000 --- a/src/icons/Info.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Info = () => ( - - - -); diff --git a/src/icons/Note.jsx b/src/icons/Note.jsx deleted file mode 100644 index 43d838126..000000000 --- a/src/icons/Note.jsx +++ /dev/null @@ -1,17 +0,0 @@ -export const Note = () => ( - - - -); diff --git a/src/icons/Success.jsx b/src/icons/Success.jsx deleted file mode 100644 index 27e9cf3b7..000000000 --- a/src/icons/Success.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Success = () => ( - - - -); diff --git a/src/icons/Tip.jsx b/src/icons/Tip.jsx deleted file mode 100644 index 8fe6837ff..000000000 --- a/src/icons/Tip.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Tip = () => ( - - - -); diff --git a/src/icons/Warning.jsx b/src/icons/Warning.jsx deleted file mode 100644 index cc60b9ab3..000000000 --- a/src/icons/Warning.jsx +++ /dev/null @@ -1,16 +0,0 @@ -export const Warning = () => ( - - - -); diff --git a/src/icons/default.svg b/src/icons/default.svg new file mode 100644 index 000000000..36279eeeb --- /dev/null +++ b/src/icons/default.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/error.svg b/src/icons/error.svg new file mode 100644 index 000000000..12ec9a710 --- /dev/null +++ b/src/icons/error.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/index.js b/src/icons/index.js deleted file mode 100644 index bc76f5a26..000000000 --- a/src/icons/index.js +++ /dev/null @@ -1,8 +0,0 @@ -export * from './CopyIcon'; -export * from './Default'; -export * from './Error'; -export * from './Info'; -export * from './Note'; -export * from './Success'; -export * from './Tip'; -export * from './Warning'; diff --git a/src/icons/info.svg b/src/icons/info.svg new file mode 100644 index 000000000..9b48ad9d1 --- /dev/null +++ b/src/icons/info.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/note.svg b/src/icons/note.svg new file mode 100644 index 000000000..da471fbc0 --- /dev/null +++ b/src/icons/note.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/success.svg b/src/icons/success.svg new file mode 100644 index 000000000..b1d5adbe4 --- /dev/null +++ b/src/icons/success.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/tip.svg b/src/icons/tip.svg new file mode 100644 index 000000000..7cb2fc545 --- /dev/null +++ b/src/icons/tip.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/icons/warning.svg b/src/icons/warning.svg new file mode 100644 index 000000000..91327e5ce --- /dev/null +++ b/src/icons/warning.svg @@ -0,0 +1,5 @@ + + + From bfa488a9436dd9dedc4d97b762de1f2d6734ae64 Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Sun, 7 Dec 2025 15:57:48 +0300 Subject: [PATCH 05/13] fix: MRPC-7111 Move from vulnerable version of next --- package.json | 2 +- yarn.lock | 86 ++++++++++++++++++++++++++-------------------------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index 02077d6f3..a56816a47 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "framer-motion": "^10.0.0", "json2md": "^2.0.0", "mobx": "^6.8.0", - "next": "16.0.3", + "next": "^16.0.7", "nextra": "4.6.0", "nextra-theme-docs": "4.6.0", "node-html-markdown": "^1.3.0", diff --git a/yarn.lock b/yarn.lock index 6ea3ad5c7..02b7a8872 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2532,10 +2532,10 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:16.0.3": - version: 16.0.3 - resolution: "@next/env@npm:16.0.3" - checksum: 10c0/a0eb5b3cb1dda6a9deaec036aa530225dcb6d60f58d8dcfc11df84dff9c1e3e625094a7bf1ff4c3bb51b8efed31272468f306fd73ebdaabbc628fb1af0c23340 +"@next/env@npm:16.0.7": + version: 16.0.7 + resolution: "@next/env@npm:16.0.7" + checksum: 10c0/5bbb4360ae6b0753de83f70700295c09427f5414f6765c7371fee0894de2a614364a2e9b4ec7b7e3451d56334026bafec6d28a21222a2fa7ecaa27f0a9421cc7 languageName: node linkType: hard @@ -2555,58 +2555,58 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-darwin-arm64@npm:16.0.3" +"@next/swc-darwin-arm64@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-darwin-arm64@npm:16.0.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-darwin-x64@npm:16.0.3" +"@next/swc-darwin-x64@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-darwin-x64@npm:16.0.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-linux-arm64-gnu@npm:16.0.3" +"@next/swc-linux-arm64-gnu@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-linux-arm64-gnu@npm:16.0.7" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-linux-arm64-musl@npm:16.0.3" +"@next/swc-linux-arm64-musl@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-linux-arm64-musl@npm:16.0.7" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-linux-x64-gnu@npm:16.0.3" +"@next/swc-linux-x64-gnu@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-linux-x64-gnu@npm:16.0.7" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-linux-x64-musl@npm:16.0.3" +"@next/swc-linux-x64-musl@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-linux-x64-musl@npm:16.0.7" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-win32-arm64-msvc@npm:16.0.3" +"@next/swc-win32-arm64-msvc@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-win32-arm64-msvc@npm:16.0.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:16.0.3": - version: 16.0.3 - resolution: "@next/swc-win32-x64-msvc@npm:16.0.3" +"@next/swc-win32-x64-msvc@npm:16.0.7": + version: 16.0.7 + resolution: "@next/swc-win32-x64-msvc@npm:16.0.7" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5371,7 +5371,7 @@ __metadata: framer-motion: "npm:^10.0.0" json2md: "npm:^2.0.0" mobx: "npm:^6.8.0" - next: "npm:16.0.3" + next: "npm:^16.0.7" next-sitemap: "npm:^4.2.3" nextra: "npm:4.6.0" nextra-theme-docs: "npm:4.6.0" @@ -8753,19 +8753,19 @@ __metadata: languageName: node linkType: hard -"next@npm:16.0.3": - version: 16.0.3 - resolution: "next@npm:16.0.3" - dependencies: - "@next/env": "npm:16.0.3" - "@next/swc-darwin-arm64": "npm:16.0.3" - "@next/swc-darwin-x64": "npm:16.0.3" - "@next/swc-linux-arm64-gnu": "npm:16.0.3" - "@next/swc-linux-arm64-musl": "npm:16.0.3" - "@next/swc-linux-x64-gnu": "npm:16.0.3" - "@next/swc-linux-x64-musl": "npm:16.0.3" - "@next/swc-win32-arm64-msvc": "npm:16.0.3" - "@next/swc-win32-x64-msvc": "npm:16.0.3" +"next@npm:^16.0.7": + version: 16.0.7 + resolution: "next@npm:16.0.7" + dependencies: + "@next/env": "npm:16.0.7" + "@next/swc-darwin-arm64": "npm:16.0.7" + "@next/swc-darwin-x64": "npm:16.0.7" + "@next/swc-linux-arm64-gnu": "npm:16.0.7" + "@next/swc-linux-arm64-musl": "npm:16.0.7" + "@next/swc-linux-x64-gnu": "npm:16.0.7" + "@next/swc-linux-x64-musl": "npm:16.0.7" + "@next/swc-win32-arm64-msvc": "npm:16.0.7" + "@next/swc-win32-x64-msvc": "npm:16.0.7" "@swc/helpers": "npm:0.5.15" caniuse-lite: "npm:^1.0.30001579" postcss: "npm:8.4.31" @@ -8808,7 +8808,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 10c0/0eb0fbe0b9a3287ab447638d04dd564db854ad100bab0f935290ab83e0c6267111ffea1fef2769765e60824c386c2c2e13ad935ac9149960e616af108546b89c + checksum: 10c0/72003fed0f5b690c91ae1a0cc59317691ca1976b46809557a93e00a43e55d4158a256b1a46da6cd7506e699d74aa0cf4e973ec5a35ceabbdd9a1955b507ec85d languageName: node linkType: hard From 2ab109ac3772b0d3bb176e2bc9a5630ef5a47e4f Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Sun, 7 Dec 2025 16:04:51 +0300 Subject: [PATCH 06/13] chore: MRPC-7111 Update axios --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index a56816a47..21aac20fa 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@emotion/styled": "^11.10.4", "@mui/material": "^5.15.0", "aws-sdk": "^2.1217.0", - "axios": "^1.3.4", + "axios": "^1.13.2", "clsx": "^1.2.1", "date-fns": "^2.30.0", "framer-motion": "^10.0.0", diff --git a/yarn.lock b/yarn.lock index 02b7a8872..6539de01a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4237,14 +4237,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.3.4": - version: 1.10.0 - resolution: "axios@npm:1.10.0" +"axios@npm:^1.13.2": + version: 1.13.2 + resolution: "axios@npm:1.13.2" dependencies: follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" + form-data: "npm:^4.0.4" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/2239cb269cc789eac22f5d1aabd58e1a83f8f364c92c2caa97b6f5cbb4ab2903d2e557d9dc670b5813e9bcdebfb149e783fb8ab3e45098635cd2f559b06bd5d8 + checksum: 10c0/e8a42e37e5568ae9c7a28c348db0e8cf3e43d06fcbef73f0048669edfe4f71219664da7b6cc991b0c0f01c28a48f037c515263cb79be1f1ae8ff034cd813867b languageName: node linkType: hard @@ -5363,7 +5363,7 @@ __metadata: "@types/react-gtm-module": "npm:^2.0.4" autoprefixer: "npm:^10.4.13" aws-sdk: "npm:^2.1217.0" - axios: "npm:^1.3.4" + axios: "npm:^1.13.2" clsx: "npm:^1.2.1" date-fns: "npm:^2.30.0" eslint: "npm:^9.39.1" @@ -6297,16 +6297,16 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.3 - resolution: "form-data@npm:4.0.3" +"form-data@npm:^4.0.4": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" es-set-tostringtag: "npm:^2.1.0" hasown: "npm:^2.0.2" mime-types: "npm:^2.1.12" - checksum: 10c0/f0cf45873d600110b5fadf5804478377694f73a1ed97aaa370a74c90cebd7fe6e845a081171668a5476477d0d55a73a4e03d6682968fa8661eac2a81d651fcdb + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b languageName: node linkType: hard From d1103b2a211910af3a2bca3c911e7380f641b3e3 Mon Sep 17 00:00:00 2001 From: Dmitry Kovtunov Date: Wed, 10 Dec 2025 14:44:13 +0300 Subject: [PATCH 07/13] fix: MRPC-7111 Integrate pagefind --- .gitignore | 3 +++ next.config.mjs | 5 ++-- package.json | 7 +++-- yarn.lock | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 83 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 20d460123..59e7f8b75 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,6 @@ out/ sitemap.xml +# Generated index files +_pagefind/ + diff --git a/next.config.mjs b/next.config.mjs index b23e63600..000f1b187 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,8 +1,9 @@ import nextra from 'nextra' const withNextra = nextra({ + defaultShowCopyCode: true, + search: { codeblocks: false }, staticImage: true, - defaultShowCopyCode: true }); export default withNextra({ @@ -24,4 +25,4 @@ export default withNextra({ siteUrl: process.env.SITE_URL || 'https://www.ankr.com/docs', generateIndexSitemap: false, generateRobotsTxt: false, -}) +}); diff --git a/package.json b/package.json index 21aac20fa..388c3a369 100644 --- a/package.json +++ b/package.json @@ -2,14 +2,16 @@ "name": "docs", "private": true, "scripts": { - "build": "npm run update-strapi-faq-files && next build && next-sitemap --config next.config.mjs", + "build": "npm run update-strapi-faq-files && next build && next-sitemap --config next.config.mjs && yarn postbuild", "build:stage": "cp .env.development .env.local && yarn build", + "build:dev": "yarn build:stage && cp -r ./out/_pagefind ./public", "debug": "NODE_OPTIONS='--inspect' next", "dev": "npm run update-strapi-faq-files && next", "start": "npm run update-strapi-faq-files && next start", "start:css": "tailwindcss -o styles/global.css --watch", "update-strapi-faq-files": "node ./src/scripts/update-strapi-faq-files.mjs", - "types": "tsc --noEmit" + "types": "tsc --noEmit", + "postbuild": "pagefind --site .next/server/app --output-path out/_pagefind" }, "author": "ankr.com", "license": "MIT", @@ -45,6 +47,7 @@ "eslint": "^9.39.1", "eslint-config-next": "^16.0.7", "next-sitemap": "^4.2.3", + "pagefind": "^1.4.0", "postcss": "^8.4.21", "tailwindcss": "^4.1.17", "typescript": "^5.1.0" diff --git a/yarn.lock b/yarn.lock index 6539de01a..4d95449c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2645,6 +2645,48 @@ __metadata: languageName: node linkType: hard +"@pagefind/darwin-arm64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/darwin-arm64@npm:1.4.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@pagefind/darwin-x64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/darwin-x64@npm:1.4.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@pagefind/freebsd-x64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/freebsd-x64@npm:1.4.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@pagefind/linux-arm64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/linux-arm64@npm:1.4.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@pagefind/linux-x64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/linux-x64@npm:1.4.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@pagefind/windows-x64@npm:1.4.0": + version: 1.4.0 + resolution: "@pagefind/windows-x64@npm:1.4.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@popperjs/core@npm:^2.11.8": version: 2.11.8 resolution: "@popperjs/core@npm:2.11.8" @@ -5376,6 +5418,7 @@ __metadata: nextra: "npm:4.6.0" nextra-theme-docs: "npm:4.6.0" node-html-markdown: "npm:^1.3.0" + pagefind: "npm:^1.4.0" postcss: "npm:^8.4.21" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -9109,6 +9152,35 @@ __metadata: languageName: node linkType: hard +"pagefind@npm:^1.4.0": + version: 1.4.0 + resolution: "pagefind@npm:1.4.0" + dependencies: + "@pagefind/darwin-arm64": "npm:1.4.0" + "@pagefind/darwin-x64": "npm:1.4.0" + "@pagefind/freebsd-x64": "npm:1.4.0" + "@pagefind/linux-arm64": "npm:1.4.0" + "@pagefind/linux-x64": "npm:1.4.0" + "@pagefind/windows-x64": "npm:1.4.0" + dependenciesMeta: + "@pagefind/darwin-arm64": + optional: true + "@pagefind/darwin-x64": + optional: true + "@pagefind/freebsd-x64": + optional: true + "@pagefind/linux-arm64": + optional: true + "@pagefind/linux-x64": + optional: true + "@pagefind/windows-x64": + optional: true + bin: + pagefind: lib/runner/bin.cjs + checksum: 10c0/4a9ccb57e008f093b745670b2c8144dbe851c42e4fbd89797c1f46bd78560deb1634a14dfae0cbc4a36cd8eee9aeeafda67d861930520eb6413b63f445b6b8ca + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" From 6315fc7c1a147cf3d70c94e22dc13b6acf1268e3 Mon Sep 17 00:00:00 2001 From: Dmitriy Lisyanskiy Date: Tue, 16 Dec 2025 18:08:20 +0530 Subject: [PATCH 08/13] fix: MRPC-7111 remove extra arrows for links --- content/advanced-api/overview.mdx | 6 +- .../quickstart/aapi-on-nodejs.mdx | 2 +- .../quickstart/aapi-react-app.mdx | 2 +- .../quickstart/account-balance-ankrjs.mdx | 24 ++-- .../quickstart/defi-dashboard-ankrjs.mdx | 72 ++++++------ .../quickstart/fetch-nfts-ankrjs.mdx | 18 +-- content/advanced-api/quickstart/overview.mdx | 18 +-- ...crowdfunding-dapp-on-polygon-with-ankr.mdx | 106 +++++++++--------- content/basic-tutorials/dao-in-5min.mdx | 44 ++++---- .../dapp-on-ethereum-using-nocode.mdx | 12 +- content/gaming-overview.mdx | 4 +- content/index.mdx | 18 +-- ...s-like-nft-with-erc-721-smart-contract.mdx | 88 +++++++-------- ...c-20-token-with-ankr-hardhat-on-goerli.mdx | 78 ++++++------- .../erc-721-smart-contract-on-avalanche.mdx | 10 +- .../non-rentable-soulbound-nft.mdx | 38 +++---- 16 files changed, 270 insertions(+), 270 deletions(-) diff --git a/content/advanced-api/overview.mdx b/content/advanced-api/overview.mdx index c5103c211..4931cf1fa 100644 --- a/content/advanced-api/overview.mdx +++ b/content/advanced-api/overview.mdx @@ -99,8 +99,8 @@ Currently, Advanced API supports querying the following chains using their alias The price of our API Credits is pegged to USD. It means that upon using ANKR tokens for PAYG, `ANKR` calculates into `API Credits` at the latest _ANKR/USD_ exchange rate. -> Our PAYG pricing model: -> 0.10 USD = 1M API Credits +> Our PAYG pricing model: +> 0.10 USD = 1M API Credits | API Collection | Method | API Credits | USD/request | |----------------|---------------------------------------------|-------------|-------------| @@ -125,7 +125,7 @@ The price of our API Credits is pegged to USD. It means that upon using ANKR tok ## Support and Developer Community
      - [Start Building with Advanced API](/advanced-api/quickstart/overview/)↗ + [Start Building with Advanced API](/advanced-api/quickstart/overview/)
      Our goal is to provide developers with the best user experience possible and supercharge Web3 projects with our Advanced API. Also, we strongly believe that community feedback fills our sails. So, let's team up — join our [Discord community](https://discord.ankr.com/) to get support from our team, engage with like-minded developers, and propose new features that we can add in our Roadmap. diff --git a/content/advanced-api/quickstart/aapi-on-nodejs.mdx b/content/advanced-api/quickstart/aapi-on-nodejs.mdx index 2bc2cec33..bcf8639a3 100644 --- a/content/advanced-api/quickstart/aapi-on-nodejs.mdx +++ b/content/advanced-api/quickstart/aapi-on-nodejs.mdx @@ -6,7 +6,7 @@ - Ankr.js SDK to interact with Advanced APIs - Advanced APIs as the data source -**Prerequisites:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/)↗ and [Yarn](https://yarnpkg.com/)↗ installed on your machine. +**Prerequisites:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/) installed on your machine. ## Step 1: Setting Up Your Node.js Project Navigate into a directory of your choice and run the following commands in your terminal to set up a new Node.js project: diff --git a/content/advanced-api/quickstart/aapi-react-app.mdx b/content/advanced-api/quickstart/aapi-react-app.mdx index 5df9dfc71..533c914f0 100644 --- a/content/advanced-api/quickstart/aapi-react-app.mdx +++ b/content/advanced-api/quickstart/aapi-react-app.mdx @@ -10,7 +10,7 @@ API -**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/)↗ and [Yarn](https://yarnpkg.com/)↗ installed on your machine. +**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/) installed on your machine. ## Step 1: Setting Up Your Next.js Starter Project Navigate into a directory of your choice and run the following command in your terminal to set up a new Next.js project: diff --git a/content/advanced-api/quickstart/account-balance-ankrjs.mdx b/content/advanced-api/quickstart/account-balance-ankrjs.mdx index 4fa7025d6..327157931 100644 --- a/content/advanced-api/quickstart/account-balance-ankrjs.mdx +++ b/content/advanced-api/quickstart/account-balance-ankrjs.mdx @@ -7,15 +7,15 @@ Fetch account balance across multiple blockchains: - BNB Smart Chain - Fantom - Avalanche -- Arbitrum -- Syscoin +- Arbitrum +- Syscoin - Optimism. -In this tutorial, we’ll be fetching the account balances from multiple blockchains such as Ethereum, Polygon, and Fantom, to name a few, using [Advanced APIs](https://www.ankr.com/advanced-api/)↗. +In this tutorial, we’ll be fetching the account balances from multiple blockchains such as Ethereum, Polygon, and Fantom, to name a few, using [Advanced APIs](https://www.ankr.com/advanced-api/). ## Getting Started -**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/)↗ and [Yarn](https://yarnpkg.com/)↗ installed on your machine. +**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/) installed on your machine. ### Step 1: Setting Up Next.js Starter Application First up, navigate into the directory of your choice where you want to initiate this project and run the following command in your terminal to set up a new Next.js starter page: @@ -33,7 +33,7 @@ cd ankrjs-account-balance yarn dev ``` -Visit localhost:3000 to view the starter application and it will resemble the screen attached below: +Visit localhost:3000 to view the starter application and it will resemble the screen attached below:

      API @@ -64,7 +64,7 @@ To interact with Ankr's Advanced APIs, we have created a provider instance that ### Step 3: Creating Function to Fetch Total Balance -In this step, we will first create a `getAccountBalance` function in the `./apis.ts` file, which will accept a `walletAddress`, and return the coin and the respective token balance. Here we are going to utilize the [getAccountBalance](https://documenter.getpostman.com/view/19024547/UVsEVUGQ#74b5cc68-fba2-415c-a53b-28c08818f970)↗ method provided by Ankr.js. +In this step, we will first create a `getAccountBalance` function in the `./apis.ts` file, which will accept a `walletAddress`, and return the coin and the respective token balance. Here we are going to utilize the [getAccountBalance](https://documenter.getpostman.com/view/19024547/UVsEVUGQ#74b5cc68-fba2-415c-a53b-28c08818f970) method provided by Ankr.js. File: `./apis.ts` @@ -75,7 +75,7 @@ import type { Blockchain } from '@ankr.com/ankr.js/dist/types'; const provider = new AnkrProvider(''); //defining the list of supported blockchains -const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', +const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', 'bsc', 'fantom', 'polygon', ]; //key-value pair mapping of chains to their native symbols @@ -130,11 +130,11 @@ export default App; ``` -Now, let's see the Account Balances of an inputted wallet address in the developer console of a browser. +Now, let's see the Account Balances of an inputted wallet address in the developer console of a browser. -- Head over to your localhost and use `Option + ⌘ + J` (on macOS), or `Shift + CTRL + J` (on Windows/Linux). +- Head over to your localhost and use `Option + ⌘ + J` (on macOS), or `Shift + CTRL + J` (on Windows/Linux). -You should be able to see the list of chains with their respective tokens and account balances. +You should be able to see the list of chains with their respective tokens and account balances.

      API @@ -153,7 +153,7 @@ import type { Blockchain } from '@ankr.com/ankr.js/dist/types'; const provider = new AnkrProvider(''); //defining the list of supported blockchains -const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', +const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', 'bsc', 'fantom', 'polygon', ]; //key-value pair mapping of chains to their native symbols @@ -191,7 +191,7 @@ export const getTotalMultichainBalance = async (walletAddress: string) => { }; ``` -Let's call this function on our page to check the total account balance. +Let's call this function on our page to check the total account balance. **File:** `./pages/index.tsx` ```javascript diff --git a/content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx b/content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx index 2903f4564..ed15f57c6 100644 --- a/content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx +++ b/content/advanced-api/quickstart/defi-dashboard-ankrjs.mdx @@ -1,6 +1,6 @@ # DeFi-Dashboard dApp using Advanced APIs -In this tutorial, we’ll be building a "What's in Your Wallet?" dApp where users can check their net worth, credits in native balance by chain, and NFTs they hold on multiple blockchains such as Ethereum, Polygon and Fantom (to name a few) using [Advanced APIs](https://www.ankr.com/advanced-api/)↗. +In this tutorial, we’ll be building a "What's in Your Wallet?" dApp where users can check their net worth, credits in native balance by chain, and NFTs they hold on multiple blockchains such as Ethereum, Polygon and Fantom (to name a few) using [Advanced APIs](https://www.ankr.com/advanced-api/). ## Advanced APIs @@ -13,14 +13,14 @@ Currently, it supports eight EVM compatible chains: - BNB Smart Chain - Fantom - Avalanche -- Arbitrum -- Syscoin +- Arbitrum +- Syscoin - and Optimism, with more EVM and non-EVM chains coming soon. -To interact with Advanced APIs, we are going to use a JavaScript library named [Ankr.js](https://www.npmjs.com/package/@ankr.com/ankr.js)↗. Here's the tech stack for this guide: +To interact with Advanced APIs, we are going to use a JavaScript library named [Ankr.js](https://www.npmjs.com/package/@ankr.com/ankr.js). Here's the tech stack for this guide: -- Vite.js -- [TailwindCSS](https://tailwindcss.com/docs/guides/vite)↗ as CSS framework (follow their official guide to set it up) +- Vite.js +- [TailwindCSS](https://tailwindcss.com/docs/guides/vite) as CSS framework (follow their official guide to set it up) - Advanced APIs for querying blockchain data Here's what you'll be able to build by the end of this tutorial: @@ -36,7 +36,7 @@ _______________________ **Prerequisite**: To successfully finish this guide, you'll only need [Node.js](https://nodejs.org/) and [Yarn](https://yarnpkg.com/) installed on your machine. -We will begin the project by forking this Vite + Tailwind CSS + RainbowKit 🌈 [starter repository](https://github.com/kaymomin/StarterKit-DefiDashboard)↗. We can do so by clicking the 'fork' button at the top-right of the linked GitHub page. It has some basic configurations and setup to get us started with our dApp. +We will begin the project by forking this Vite + Tailwind CSS + RainbowKit 🌈 [starter repository](https://github.com/kaymomin/StarterKit-DefiDashboard). We can do so by clicking the 'fork' button at the top-right of the linked GitHub page. It has some basic configurations and setup to get us started with our dApp. > Note in the code block below, make sure you paste the repo URL of your own cloned repository. @@ -47,7 +47,7 @@ Once the repository has been forked, we will clone it locally to get building on ``` git clone https://github.com/kaymomin/StarterKit-DefiDashboard -``` +``` - Now, let's navigate into the cloned directory and install the dependencies in the following section ``` @@ -66,15 +66,15 @@ We will start by installing the `ankr.js` package from npm: ``` yarn add @ankr.com/ankr.js -``` +``` -Now that we have installed the Ankr.js library, let's head to the VSCode and open the `starterkit-defidashboard` folder in our code editor. +Now that we have installed the Ankr.js library, let's head to the VSCode and open the `starterkit-defidashboard` folder in our code editor. To launch the starter kit, run the following command in the VSCode terminal: ``` yarn dev ``` -and you will be able to see the start-kit webpage. Here's the [live demo](https://defidashboard-starterkit.vercel.app/)↗ of what the site will look like at this point. +and you will be able to see the start-kit webpage. Here's the [live demo](https://defidashboard-starterkit.vercel.app/) of what the site will look like at this point. API @@ -91,13 +91,13 @@ import type { Blockchain } from '@ankr.com/ankr.js/dist/types'; const provider = new AnkrProvider(''); -``` +``` To interact with Ankr's Advanced APIs, we have created a provider instance which will serve as an interface to the APIs required to fetch data. ## Creating Function to Fetch Total Balance -In this step, we will first create a `getAccountBalance` function in the `src/api.ts` file, which will accept a `walletAddress`, and return the coin and the respective token balances. Here we are going to utilize the [getAccountBalance](/advanced-api/javascript-sdk/#getaccountbalance)↗ method provided by Ankr.js to calculate the sum of balance (net worth) across the chains in the `getTotalMultichainBalance` function. +In this step, we will first create a `getAccountBalance` function in the `src/api.ts` file, which will accept a `walletAddress`, and return the coin and the respective token balances. Here we are going to utilize the [getAccountBalance](/advanced-api/javascript-sdk/#getaccountbalance) method provided by Ankr.js to calculate the sum of balance (net worth) across the chains in the `getTotalMultichainBalance` function. **File: **`src/api.ts` ```javascript @@ -107,7 +107,7 @@ import type { Blockchain } from '@ankr.com/ankr.js/dist/types'; const provider = new AnkrProvider(''); //defining the list of supported blockchains -const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', +const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', 'bsc', 'fantom', 'polygon', ]; //key-value pair mapping of chains to their native symbols @@ -143,7 +143,7 @@ export const getTotalMultichainBalance = async (walletAddress: string) => { } return total; }; -``` +``` Just to see if things are working, let's call this function on our app i.e. `./src/App.tsx` and log out the output. @@ -156,7 +156,7 @@ import { } from './api'; function App() { - + useEffect(() => { (async () => { const total = await getTotalMultichainBalance( @@ -169,7 +169,7 @@ function App() { return (
      -

      DefiDashboard 🪙 What's in your Wallet?

      @@ -183,7 +183,7 @@ lg:text-4xl pb-10">DefiDashboard 🪙 What's in your Wallet? export default App; -``` +``` You should be able to see the net-worth or total balance in your browser's console. @@ -216,8 +216,8 @@ export const getNativeCurrencyBalance = async ( ); return nativeCurrencyBalance ? +nativeCurrencyBalance.balance : 0; }; - - export const getAllNativeCurrencyBalances = async (walletAddress: string) => + + export const getAllNativeCurrencyBalances = async (walletAddress: string) => { const balances: { [key in Blockchain]?: number } = {}; for await (const chain of listOfChains) { @@ -229,7 +229,7 @@ export const getNativeCurrencyBalance = async ( } return balances; }; - + export const getNfts = async (walletAddress: string) => { const { assets } = await provider.getNFTsByOwner({ walletAddress, @@ -237,9 +237,9 @@ export const getNativeCurrencyBalance = async ( }); return assets; }; - -``` -And with that, we have our `api.ts` file all ready where we created methods for getting account balance, calculation net worth, fetching balances by native tokens and getting NFTs by owner. You can also find the complete code for this file below: + +``` +And with that, we have our `api.ts` file all ready where we created methods for getting account balance, calculation net worth, fetching balances by native tokens and getting NFTs by owner. You can also find the complete code for this file below: ```javascript @@ -249,7 +249,7 @@ import type { Blockchain } from '@ankr.com/ankr.js/dist/types'; const provider = new AnkrProvider(''); //defining the list of supported blockchains -const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', +const listOfChains: Blockchain[] = ['eth', 'arbitrum', 'avalanche', 'bsc', 'fantom', 'polygon', ]; //key-value pair mapping of chains to their native symbols @@ -297,7 +297,7 @@ export const getNativeCurrencyBalance = async ( ); return nativeCurrencyBalance ? +nativeCurrencyBalance.balance : 0; }; - + export const getAllNativeCurrencyBalances = async (walletAddress: string) => { const balances: { [key in Blockchain]?: number } = {}; for await (const chain of listOfChains) { @@ -309,7 +309,7 @@ export const getNativeCurrencyBalance = async ( } return balances; }; - + export const getNfts = async (walletAddress: string) => { const { assets } = await provider.getNFTsByOwner({ walletAddress, @@ -317,13 +317,13 @@ export const getNativeCurrencyBalance = async ( }); return assets; }; - -``` + +``` ## Creating Components and Frontend -In this section, we will work on `App.tsx` file where we will create some components that will interact with our functions in `api.ts` file and build frontend to display the results on our webpage. Here's the code for the `App.tsx` file: +In this section, we will work on `App.tsx` file where we will create some components that will interact with our functions in `api.ts` file and build frontend to display the results on our webpage. Here's the code for the `App.tsx` file: **File:** `src/App.tsx` ```javascript @@ -377,7 +377,7 @@ function App() {

      DefiDashboard 🪙 What's in your Wallet?

      - +
      @@ -432,7 +432,7 @@ function App() { })}
      - )} + )}
  • ); @@ -440,14 +440,14 @@ function App() { export default App; -``` -Woah, that's a lot of code that we wrote! Now comes the crunch as we run our dApp in the local dev environment. +``` +Woah, that's a lot of code that we wrote! Now comes the crunch as we run our dApp in the local dev environment. ``` yarn dev -``` +``` -You should now be able to view your net-worth, balances by chain and their native token and ofc the NFTs!! +You should now be able to view your net-worth, balances by chain and their native token and ofc the NFTs!!

    API diff --git a/content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx b/content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx index 1b3da1bc0..461a3f95d 100644 --- a/content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx +++ b/content/advanced-api/quickstart/fetch-nfts-ankrjs.mdx @@ -1,16 +1,16 @@ # Fetch Particular Owner's NFTs with Ankr.js -In this tutorial, we’ll be fetching all the NFTs owned by a particular wallet or owner across multiple blockchains such as Ethereum, Polygon, and Fantom, to name a few, using [Advanced APIs](https://www.ankr.com/advanced-api/)↗. +In this tutorial, we’ll be fetching all the NFTs owned by a particular wallet or owner across multiple blockchains such as Ethereum, Polygon, and Fantom, to name a few, using [Advanced APIs](https://www.ankr.com/advanced-api/). ### Advanced APIs -Ankr's Advanced Multichain APIs are the collection of RPC methods created to simplify querying blockchain data. These APIs do all the heavy lifting for us so that we can query on-chain data in a matter of seconds. +Ankr's Advanced Multichain APIs are the collection of RPC methods created to simplify querying blockchain data. These APIs do all the heavy lifting for us so that we can query on-chain data in a matter of seconds. -Currently, it supports eight EVM compatible chains: Ethereum, Fantom, Binance Smart Chain, Polygon, Avalanche, Arbitrum, Syscoin and Optimism with more EVM and non-EVM chains coming soon. To interact with Ankr's Advanced APIs, we are going to use a JavaScript library named [Ankr.js](https://www.npmjs.com/package/@ankr.com/ankr.js)↗. +Currently, it supports eight EVM compatible chains: Ethereum, Fantom, Binance Smart Chain, Polygon, Avalanche, Arbitrum, Syscoin and Optimism with more EVM and non-EVM chains coming soon. To interact with Ankr's Advanced APIs, we are going to use a JavaScript library named [Ankr.js](https://www.npmjs.com/package/@ankr.com/ankr.js). ## Getting Started -**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/)↗ and [Yarn](https://yarnpkg.com/)↗ installed on your machine. +**Prerequisite:** To successfully finish this guide, you'll need [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/) installed on your machine. ### Step 1: Set Up Next.js Starter Application First up, navigate into the directory of your choice where you want to initiate this project and run the following command in your terminal to set up a new Next.js starter page: @@ -28,7 +28,7 @@ cd ankrjs-fetch-nfts yarn dev ``` -Visit localhost:3000 to view the starter application and it will resemble the screen attached below: +Visit localhost:3000 to view the starter application and it will resemble the screen attached below:

    API @@ -82,7 +82,7 @@ export const getNfts = async (address: string) => { }; }; ``` -And that's it. +And that's it. Let's call this function on our page i.e. `./pages/index.tsx` to see the fetched NFTs by the owner's wallet address and log the output. To do so, clear the code from the **index.tsx** file and replace it with the one given below: @@ -113,11 +113,11 @@ const Home: NextPage = () => { export default Home; ``` -Now, let's see the NFT logs of an inputted wallet address in the developer console of a browser. +Now, let's see the NFT logs of an inputted wallet address in the developer console of a browser. -- Head over to your localhost and use `Option + ⌘ + J` (on macOS), or `Shift + CTRL + J` (on Windows/Linux). +- Head over to your localhost and use `Option + ⌘ + J` (on macOS), or `Shift + CTRL + J` (on Windows/Linux). -You should be able to see the list of NFTs owned by a particular address. +You should be able to see the list of NFTs owned by a particular address.

    API diff --git a/content/advanced-api/quickstart/overview.mdx b/content/advanced-api/quickstart/overview.mdx index c424ffaf8..585f7f6a6 100644 --- a/content/advanced-api/quickstart/overview.mdx +++ b/content/advanced-api/quickstart/overview.mdx @@ -1,32 +1,32 @@ # Build with Advanced APIs -Kickstart your dApp with Advanced APIs to go from idea to building and shipping cool stuff. +Kickstart your dApp with Advanced APIs to go from idea to building and shipping cool stuff. ## Code Snippets -Learn how to query data from blockchain instantly: +Learn how to query data from blockchain instantly:
    - [How to fetch all NFTs owned by a particular wallet address using Ankr.js SDK](/advanced-api/quickstart/fetch-nfts-ankrjs/)↗ + [How to fetch all NFTs owned by a particular wallet address using Ankr.js SDK](/advanced-api/quickstart/fetch-nfts-ankrjs/)
    - [How to check your account balance across multiple blockchains using Ankr.js SDK](/advanced-api/quickstart/account-balance-ankrjs/)↗ + [How to check your account balance across multiple blockchains using Ankr.js SDK](/advanced-api/quickstart/account-balance-ankrjs/)
    ## Quickstart Guides -Learn how to query data from blockchain, build prototypes, dApps, projects and more: +Learn how to query data from blockchain, build prototypes, dApps, projects and more:
    - [Query Advanced APIs on NodeJS server using Ankr.js SDK](/advanced-api/quickstart/aapi-on-nodejs/)↗ + [Query Advanced APIs on NodeJS server using Ankr.js SDK](/advanced-api/quickstart/aapi-on-nodejs/)
    - [Ankr.js quickstart guide with React](/advanced-api/quickstart/aapi-react-app/)↗ + [Ankr.js quickstart guide with React](/advanced-api/quickstart/aapi-react-app/)
    ## Tutorials Learn how to build fullstack projects and dApps with Advanced APIs:
    - [Build basic DeFi-dashboard dApp with Vite.js, Ankr.js, and Tailwind CSS](/advanced-api/quickstart/defi-dashboard-ankrjs/)↗ -
    \ No newline at end of file + [Build basic DeFi-dashboard dApp with Vite.js, Ankr.js, and Tailwind CSS](/advanced-api/quickstart/defi-dashboard-ankrjs/) +
    diff --git a/content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx b/content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx index e7e2b460b..63de8ab5f 100644 --- a/content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx +++ b/content/advanced-tutorials/donation-based-crowdfunding-dapp-on-polygon-with-ankr.mdx @@ -3,18 +3,18 @@ **By** [**Krinza Momin**](https://twitter.com/kayprasla) ____________________________________ -In this tutorial, we’ll be building a donation-based crowdfunding dApp on Polygon where users can start a fundraising project for anyone to contribute and support the campaign by pledging the amount of their wish. +In this tutorial, we’ll be building a donation-based crowdfunding dApp on Polygon where users can start a fundraising project for anyone to contribute and support the campaign by pledging the amount of their wish. By the end of this tutorial, you'll be able to: - deploy crowdfunding smart contract on polygon -- and create a full-fledged frontend for your dApp +- and create a full-fledged frontend for your dApp Hello ## The Functionalities 1. **Start New Campaign** — users will be able to start a new crowdfunding project by inputting some details about the campaign like title, story and goal amount to be raised. -2. **View Projects** — users can see all the existing projects and campaign details on the homepage +2. **View Projects** — users can see all the existing projects and campaign details on the homepage 3. **Make Donation** — anyone can fund to the project they want to support in POL tokens @@ -22,12 +22,12 @@ By the end of this tutorial, you'll be able to: - Smart Contract Language: Solidity - Smart Contract Deploy and Verify Scripts: Javascript -- Smart Contract Development Environment: [Hardhat](https://hardhat.org/)↗ +- Smart Contract Development Environment: [Hardhat](https://hardhat.org/) - Frontend Language: React - TypeScript -- Wallet Connect: [Rainbowkit](https://www.rainbowkit.com/)↗ -- Interacting with Contract through Frontend: [Wagmi](https://wagmi.sh/)↗ -- User Interface: [TailwindCSS](https://tailwindcss.com/)↗ -- RPC provider: [Ankr](https://www.ankr.com/protocol/)↗ +- Wallet Connect: [Rainbowkit](https://www.rainbowkit.com/) +- Interacting with Contract through Frontend: [Wagmi](https://wagmi.sh/) +- User Interface: [TailwindCSS](https://tailwindcss.com/) +- RPC provider: [Ankr](https://www.ankr.com/protocol/) __________________________________________ @@ -36,7 +36,7 @@ __________________________________________ **Prerequisite:** To successfully finish this guide, you'll need Node.js and Yarn installed on your machine. -We will begin the project by forking this [Crowdfunding-dApp🌈 Starter Repository](https://github.com/kaymomin/Starterkit-Crowdfunding-dApp)↗ that I have prepared which includes basic configurations, wallet connect with rainbowkit and complete structure of empty files and folders to get us started with our dApp. To clone the repo, click the **fork** button at the top-right of the linked GitHub page. +We will begin the project by forking this [Crowdfunding-dApp🌈 Starter Repository](https://github.com/kaymomin/Starterkit-Crowdfunding-dApp) that I have prepared which includes basic configurations, wallet connect with rainbowkit and complete structure of empty files and folders to get us started with our dApp. To clone the repo, click the **fork** button at the top-right of the linked GitHub page. > Note in the code block below, make sure you paste the repo URL of your own cloned repository. @@ -50,7 +50,7 @@ git clone https://github.com/kaymomin/Starterkit-Crowdfunding-dApp.git - Now, let's navigate into the cloned directory and set up the development environment ```bash cd starterkit-crowdfunding-dapp -``` +``` ``` bash yarn ``` @@ -59,13 +59,13 @@ yarn ``` bash yarn dev ``` -and you will be able to see the starter-kit webpage. Here's what the site will look like at this point: +and you will be able to see the starter-kit webpage. Here's what the site will look like at this point: Hello ## Step 1: Setup Hardhat Configs -Navigate back to the project and find the `hardhat.config.js` file in root directory and the following code: +Navigate back to the project and find the `hardhat.config.js` file in root directory and the following code: **File:** `hardhat.config.js` ```javascript @@ -75,7 +75,7 @@ Navigate back to the project and find the `hardhat.config.js` file in root direc require("dotenv").config(); require("@nomiclabs/hardhat-ethers"); require("@nomiclabs/hardhat-etherscan"); - + module.exports = { solidity: "0.8.15", defaultNetwork: "mumbai", @@ -94,12 +94,12 @@ Navigate back to the project and find the `hardhat.config.js` file in root direc }, }, }; -``` -In this file, we have configured the solidity version, network details and plugged [Ankr's free public RPC](https://www.ankr.com/protocol/public/polygon/)↗ for Polygon Mumbai Testnet. +``` +In this file, we have configured the solidity version, network details and plugged [Ankr's free public RPC](https://www.ankr.com/protocol/public/polygon/) for Polygon Mumbai Testnet. -Did you notice how we are sourcing the PRIVATE_KEY and POLYGONSCAN_API_KEY variable in this file? We are loading them up from `process.env` using the dotenv library. So before we move ahead to next steps, let's add these variables in our `.env` file. +Did you notice how we are sourcing the PRIVATE_KEY and POLYGONSCAN_API_KEY variable in this file? We are loading them up from `process.env` using the dotenv library. So before we move ahead to next steps, let's add these variables in our `.env` file. -- Head over to the `.env` file and create these two environment variables: +- Head over to the `.env` file and create these two environment variables: **File:** `.env` ```bash @@ -108,7 +108,7 @@ POLYGONSCAN_API_KEY=ADD_YOUR_POLYGONSCAN_API_KEY ``` -Here, you need to set your wallet's [private key](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key)↗ and API key from [Polygonscan](https://polygonscan.com/)↗. You can follow their [tutorial](https://docs.polygonscan.com/getting-started/viewing-api-usage-statistics)↗ if you aren't familiar with how to get one. +Here, you need to set your wallet's [private key](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key) and API key from [Polygonscan](https://polygonscan.com/). You can follow their [tutorial](https://docs.polygonscan.com/getting-started/viewing-api-usage-statistics) if you aren't familiar with how to get one. ___________________________ @@ -208,10 +208,10 @@ contract CrowdfundingProject { emit Funded(msg.sender, msg.value, block.timestamp); } } -``` +``` You'll see we have initiated two contracts: 1. **CrowdfundingProject** - deals with a single project or campaign being create. It includes the `makeDonation()` function which calculates the amount raised and checks if the `goalAmount` is achieved or not while recording the wallet address of the donor. -2. **CrowdFactory** - records for all the crowdfunding projects being created and launched. +2. **CrowdFactory** - records for all the crowdfunding projects being created and launched. Now, let's compile hardhat to see if everything's good to go! @@ -220,13 +220,13 @@ yarn hardhat compile # output # Compiled n Solidity file successfully -``` +``` __________________________________ ## Step 3: Write the Deploy Script(s) -Now that we've got our contract set up, let's create the deployment scripts. There will be two scripts, one for deploying the **CrowdFactory** contract and second for a dummy campaign creation with some dummy project info. +Now that we've got our contract set up, let's create the deployment scripts. There will be two scripts, one for deploying the **CrowdFactory** contract and second for a dummy campaign creation with some dummy project info. - For the first script, navigate to the `scripts` folder and add the following code in `deploy.js` file @@ -250,13 +250,13 @@ main() console.error(error); process.exit(1); }); -``` +``` - Save this file and run the following command to deploy the **CrowdFactory** contract - + ```bash yarn hardhat run scripts/deploy.js --network mumbai -``` -Running this command will prompt you with the address of the deployed contract. Here's the contract I [deployed](https://mumbai.polygonscan.com/address/0xA6A30bCc591107d932CA12a50FC616BAb5E58cdA).↗ +``` +Running this command will prompt you with the address of the deployed contract. Here's the contract I [deployed](https://mumbai.polygonscan.com/address/0xA6A30bCc591107d932CA12a50FC616BAb5E58cdA). ***Note your contract address as you will need it in your next deployment script.*** ____________________ @@ -269,7 +269,7 @@ export const FACTORY_CONTRACT_ADDRESS = "0xA6A30bCc591107d932CA12a50FC616BAb5E58 //just for testing purpose export const DEBUG = false; -``` +``` _______________ @@ -277,7 +277,7 @@ _______________ Now let's deploy another contract with a sudo campaign details for us to get started. For this, we are going to use **createCampaigns.js** file under `scripts` directory. Navigate to that file and save the following code. -> Note: In this file you need to edit two things. First the contract address we got in the above step. Replace your contract address with the address mentioned already in the script (check line 6). Second, on line 13, replace my wallet address with yours. +> Note: In this file you need to edit two things. First the contract address we got in the above step. Replace your contract address with the address mentioned already in the script (check line 6). Second, on line 13, replace my wallet address with yours. **File:** `scripts/createCampaigns.js` ``` @@ -289,9 +289,9 @@ const contract = await ethers.getContractAt("CrowdFactory", "0xA6A30bCc591107d932CA12a50FC616BAb5E58cdA") //line 6 await contract.createProject( -"first title", -ethers.utils.parseUnits("0.1", 18), -"description", +"first title", +ethers.utils.parseUnits("0.1", 18), +"description", //insert your wallet's public key "0x81AE60AC85F0b81Cc00e2B294d83A03f40d1deF5") //line 13 } @@ -302,24 +302,24 @@ main() console.error(error); process.exit(1); }); -``` +``` Once done, run the following command to deploy this script as well: ``` yarn hardhat run scripts/createCampaigns.js --network mumbai -``` +``` ## Step 4: Get Contract ABI for Verified Codes In this step, we are going to do two things: -1. we will verify our smart contracts on [Polygonscan](https://mumbai.polygonscan.com/)↗ +1. we will verify our smart contracts on [Polygonscan](https://mumbai.polygonscan.com/) 2. get contract ABIs for verified contract source codes **Verifying Smart Contracts** -- Go to `verify-factory.js` file under scripts folder and add the following verify script: +- Go to `verify-factory.js` file under scripts folder and add the following verify script: -> Note: In this file you need to edit one thing. The **contractAddress** you see on line number 5 needs to be replaced by your contract's address. +> Note: In this file you need to edit one thing. The **contractAddress** you see on line number 5 needs to be replaced by your contract's address. **File:** `scripts/verify-factory.js` @@ -351,7 +351,7 @@ main() console.error(error); process.exit(1); }); -``` +``` - Now in the terminal, run this command to verify the **CrowdFactory** smart contract on polygonscan: @@ -372,7 +372,7 @@ yarn hardhat run scripts/verify-factory.js --network mumbai - Copy the ABI and paste it in the `crowdfactory.json` file under `src/abis` directory -- Go back to the same polygonscan link, click on the **Read Contract **button and query "0" from the **publishedProjs**. +- Go back to the same polygonscan link, click on the **Read Contract **button and query "0" from the **publishedProjs**. > Copy and save the address it outputs, we will need it in *line 5* of the next file. @@ -418,7 +418,7 @@ main() console.error(error); process.exit(1); }); -``` +``` - Once you save the above file, run this command to verify it on polygonscan: @@ -437,7 +437,7 @@ Once this is done, run the following command in the terminal: ``` yarn typechain -``` +``` TypeChain is a typescript binding and code generator used to create smart contracts that features static typing and IDE support. _____________________________________ @@ -561,7 +561,7 @@ export function useCrowdfundingProjectFunctionReader({ return contractRead; } -``` +``` Now, let's move to the other file named "**utils.ts**". In this file we are creating helper functions to convert wei into POL. @@ -627,8 +627,8 @@ export function fromWei(value: BigNumberish, decimals: number = 18): string { export default function isZero(hexNumberString: string) { return /^0x0*$/.test(hexNumberString); } -``` -And last but not at all the least, "**read.ts**" under the **src** directory which will contain [view and pure functions](https://www.geeksforgeeks.org/solidity-view-and-pure-functions/).↗ +``` +And last but not at all the least, "**read.ts**" under the **src** directory which will contain [view and pure functions](https://www.geeksforgeeks.org/solidity-view-and-pure-functions/). **File:** `src/read.ts` ```javascript @@ -763,11 +763,11 @@ export function useRaisedAmount( return raisedAmount as unknown as BigNumber; } -``` +``` __________________________ ## Step 6: Create Components -In this step, we are going to head over to `components` folder under `src` directory. First up, navigate to "**CreateCampaign.tsx**" file and insert the following code. In this file, we will be using custom hook we made in hooks.ts for writing functions along with the coding the UI. +In this step, we are going to head over to `components` folder under `src` directory. First up, navigate to "**CreateCampaign.tsx**" file and insert the following code. In this file, we will be using custom hook we made in hooks.ts for writing functions along with the coding the UI. **File:** `src/components/CreateCampaign.tsx` ```javascript @@ -946,7 +946,7 @@ function CreateCampaign() { export default CreateCampaign; ``` -Now, navigate to "**Campaign.tsx**" file and the edit the following code. Again in this file, we will use custom hook we made in hooks.ts for writing functions along with the UI. This component deals with the details of a single campaign. +Now, navigate to "**Campaign.tsx**" file and the edit the following code. Again in this file, we will use custom hook we made in hooks.ts for writing functions along with the UI. This component deals with the details of a single campaign. **File:** `src/components/Campaign.tsx` ```javascript @@ -1086,7 +1086,7 @@ function Campaign({ projectNumber }: CampaignProps) { } export default Campaign; -``` +``` Last, let's edit the "**Campaigns.tsx**" file and for that, navigate to `Campaigns.tsx` and add the following code: **File:** `src/components/Campaigns.tsx` @@ -1131,12 +1131,12 @@ function Campaigns() { } export default Campaigns; -``` +``` _________________ ## Step 7: Displaying the UI -Now comes the moment of truth we have been waiting for. All the code, all these functions, contract, and frontend will come together in a form of a single-page application. +Now comes the moment of truth we have been waiting for. All the code, all these functions, contract, and frontend will come together in a form of a single-page application. In this section, we will edit our "App.tsx" file which will display everything we have been building so far. So let's go and edit the existing code in the file and replace it with this one: @@ -1190,13 +1190,13 @@ function App() { } export default App; -``` +``` Woah, that was a lot of code that we wrote! Now comes the crunch as we run our dApp in the local dev environment. ``` yarn dev -``` -And, here's what you should be able to see! +``` +And, here's what you should be able to see! Hello @@ -1206,4 +1206,4 @@ If you want to take a look at the full source code, find the [repo here](https:/ ______________________ ### Next Steps -If you are up for a fun challenge, extend this project into a full-fleshed platform with additional functionalities in the smart contract and improved UI. +If you are up for a fun challenge, extend this project into a full-fleshed platform with additional functionalities in the smart contract and improved UI. diff --git a/content/basic-tutorials/dao-in-5min.mdx b/content/basic-tutorials/dao-in-5min.mdx index 1915b0747..176d7d947 100644 --- a/content/basic-tutorials/dao-in-5min.mdx +++ b/content/basic-tutorials/dao-in-5min.mdx @@ -3,50 +3,50 @@ **By** [**Krinza Momin**](https://twitter.com/kayprasla) ____________________________________ -I'm writing this article thinking about two things. First, why is the web3 community obsessed with three-letter words - think ICOs, NFTs, and now DAO? Second, will the no-code revolution really dismantle the mentality that building cool stuff is only reserved for very serious developers?! +I'm writing this article thinking about two things. First, why is the web3 community obsessed with three-letter words - think ICOs, NFTs, and now DAO? Second, will the no-code revolution really dismantle the mentality that building cool stuff is only reserved for very serious developers?! I mean, I'm no Naval Ravikant, so I won’t say that the next big thing in code is no-code but I'll rather let Chris echo that on my behalf: > "The future of coding is no coding at all." - Chris Wanstrath, CEO at GitHub. -Anyway, getting back to the topic, the DAO; a new-ish type of organizational structure and another hot acronym on the block. For those of you who aren't familiar with what DAO is, [toggle the tweet](https://twitter.com/themetav3rse/status/1456337864342466561?s=20&t=wzXj7B8cqaclAlYDFi2MXw). For the rest of you, enter the playground! +Anyway, getting back to the topic, the DAO; a new-ish type of organizational structure and another hot acronym on the block. For those of you who aren't familiar with what DAO is, [toggle the tweet](https://twitter.com/themetav3rse/status/1456337864342466561?s=20&t=wzXj7B8cqaclAlYDFi2MXw). For the rest of you, enter the playground! __________________ ### So, what are we building today? -A DAO. +A DAO. *haha, I already read the title … tell me more!* -Um, without writing a single line of code. +Um, without writing a single line of code. *what do you think why I clicked on this article, huh?* -Let me just show you instead. Also, was that just me talking to myself or what? +Let me just show you instead. Also, was that just me talking to myself or what? Hello -TL;DR: We will build a DAO on [Aragon Client](https://client.aragon.org/#/)↗ and deploy it on the Ethereum Rinkeby Testnet. By the end of this tutorial, you’ll be able to: +TL;DR: We will build a DAO on [Aragon Client](https://client.aragon.org/#/) and deploy it on the Ethereum Rinkeby Testnet. By the end of this tutorial, you’ll be able to: - deploy a DAO - declare the name and symbol for your token - allocate tokens to the members of the DAO -- create the first proposal question +- create the first proposal question - begin the voting process - and enter your first vote in favor/against the proposal ## Wait, what’s Aragon though? -Aragon is a DAO maker tool for beginners and developers to create their first of many DAOs in a couple of clicks. This tool will help you with managing your DAO members, their votes, and proposals, and will let you admin your funds directly on the blockchain without writing a single line of code. +Aragon is a DAO maker tool for beginners and developers to create their first of many DAOs in a couple of clicks. This tool will help you with managing your DAO members, their votes, and proposals, and will let you admin your funds directly on the blockchain without writing a single line of code. Hello ______________________________ ## Getting Started -Before we get started deploying our very first DAO, make sure your Metamask wallet is connected with the Rinkeby Testnet. Next, we will need some test ethers to make transactions. So, head over to the [Rinkeby Faucet](https://faucets.chain.link/rinkeby)↗, follow through the instructions, and get yourself some test ETH. You'll at least need 0.2 test ETH. +Before we get started deploying our very first DAO, make sure your Metamask wallet is connected with the Rinkeby Testnet. Next, we will need some test ethers to make transactions. So, head over to the [Rinkeby Faucet](https://faucets.chain.link/rinkeby), follow through the instructions, and get yourself some test ETH. You'll at least need 0.2 test ETH. ### Setting up a DAO -Head over to [Aragon Client](https://client.aragon.org/#/)↗ and follow these steps: +Head over to [Aragon Client](https://client.aragon.org/#/) and follow these steps: - Click on the "Connect Account" button and select "Metamask", approve the request from MetaMask, and connect with the ‘Ethereum Rinkeby Testnet. @@ -54,11 +54,11 @@ Head over to [Aragon Client](https://client.aragon.org/#/)↗ and follow these s Hello -Once you select the "Create an Organization" button, you'll land to this page where you'll be given a few options as pre-configured templates for your DAO, with the details given already. +Once you select the "Create an Organization" button, you'll land to this page where you'll be given a few options as pre-configured templates for your DAO, with the details given already. Hello -For this project, we will opt for the "Company" template where the tokens are transferable and decisions are based on the weighted voting system. +For this project, we will opt for the "Company" template where the tokens are transferable and decisions are based on the weighted voting system. > In a weighted voting system, all votes are valid but not equally counted. Each voter's voting power is based on the size of their stake; their individual level of status or expertise; or according to pre-defined organizational rules. @@ -71,11 +71,11 @@ For this project, we will opt for the "Company" template where the tokens are tr - Once you set up the name from the DAO, click "Next: Configure template". -### Configure Voting +### Configure Voting Hello -Now, in the above screenshot, you see a couple of different options which we will be exploring below: +Now, in the above screenshot, you see a couple of different options which we will be exploring below: - **Support %** is the relative percentage of tokens that are required to vote “Yes” for a proposal to be approved. For example, if “Support” is set to 50%, then more than 50% of the tokens used to vote on a proposal must vote “Yes” for it to pass. @@ -83,16 +83,16 @@ Now, in the above screenshot, you see a couple of different options which we wil - **Vote Duration** is the length of time that the vote will be open for participation. For example, if the Vote Duration is set to 24 hours, then token holders have 24 hours to participate in the vote. -You can set the settings which might suit best for your DAO, for the sake of this project, let's go with the default configs. +You can set the settings which might suit best for your DAO, for the sake of this project, let's go with the default configs. ### Set Tokens! -Now that we have configured the voting mechanism for the DAO, you can now set a desired name and symbol for your token. +Now that we have configured the voting mechanism for the DAO, you can now set a desired name and symbol for your token. Hello -- Enter the token name and symbol -- Enter the addresses of the DAO members or holders and allocate tokens to them. +- Enter the token name and symbol +- Enter the addresses of the DAO members or holders and allocate tokens to them. - Review the information and hit ‘Launch your organization’. After you launch your organization, the Metamask window will pop up for transaction approval. Confirm the transaction and make sure you don't select the speed-up option in MetaMask. Also, do not refresh the window. @@ -109,15 +109,15 @@ Click on get started, and let us create our very first proposal to begin the vot Hello -- Click on ‘Vote’ from the options shown or find 'Voting' from the left menu and click on ‘Create a New Vote’. +- Click on ‘Vote’ from the options shown or find 'Voting' from the left menu and click on ‘Create a New Vote’. -- Add in the proposal question and open it for voting. +- Add in the proposal question and open it for voting. This action will require you to sign a transaction for the proposal to go live. Hello -Once the proposal is live, members can vote "yes" or "no" based on their decision in favor or against the question asked. The voting window will be open for the time duration set in the earlier steps. In our case, it is 24 hours only. +Once the proposal is live, members can vote "yes" or "no" based on their decision in favor or against the question asked. The voting window will be open for the time duration set in the earlier steps. In our case, it is 24 hours only. Hello @@ -126,4 +126,4 @@ Now that you have successfully published the first proposal, you can finally reg _______________________________ ## Next Steps -If you're leaving under a rock, here is some news for you - Ethereum Rinkeby Testnet will be deprecated soon. Don't fret, we're good for now and I'll update these tutorials as the testnet landscape changes. But for now, here's a task for you all: Create an exclusive club for your friends online (aka DAO) and deploy it on the Polygon network instead (here's me saving you from dollars worth of deployment cost). \ No newline at end of file +If you're leaving under a rock, here is some news for you - Ethereum Rinkeby Testnet will be deprecated soon. Don't fret, we're good for now and I'll update these tutorials as the testnet landscape changes. But for now, here's a task for you all: Create an exclusive club for your friends online (aka DAO) and deploy it on the Polygon network instead (here's me saving you from dollars worth of deployment cost). diff --git a/content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx b/content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx index 18f5308cb..9642523d4 100644 --- a/content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx +++ b/content/basic-tutorials/dapp-on-ethereum-using-nocode.mdx @@ -18,7 +18,7 @@ In this tutorial, we will be creating a pickup line directory app with Atra and all without writing a single line of code. -[Here](https://console.atra.io/app/191ed8b7-01b1-4044-8256-0b664c77ac2d)↗ is the sample dApp all set and ready to be used for the reference, and this is exactly what we will be building. +[Here](https://console.atra.io/app/191ed8b7-01b1-4044-8256-0b664c77ac2d) is the sample dApp all set and ready to be used for the reference, and this is exactly what we will be building. Hello ________________________ @@ -64,7 +64,7 @@ In the next section, we will add a column for each piece of information we want Hello -You can monitor the status of the dTable deployment on the dTables Dashboard. The green lightning bolt means the table is successfully deployed on the network. You can even view the deployed contract on etherscan by following the next section. +You can monitor the status of the dTable deployment on the dTables Dashboard. The green lightning bolt means the table is successfully deployed on the network. You can even view the deployed contract on etherscan by following the next section. ### Step 2: View The Deployed Smart Contract On Etherscan @@ -75,7 +75,7 @@ Once the lighting bolt icon go green, click on the newly created table and you'l Hello -You can also view the creation of the table on Etherscan by clicking on the Rinkeby Address. +You can also view the creation of the table on Etherscan by clicking on the Rinkeby Address. Hello @@ -103,12 +103,12 @@ In this section, we will add the base functionality for users to post their fav - From the nav bar, select `Triggers` from the `services` dropdown and you'll land on a triggers dashboard -- From the Triggers Dashboard, click the ‘Create Trigger’ button and you will land on the **Set Actions** tab on the **Create trigger** page. +- From the Triggers Dashboard, click the ‘Create Trigger’ button and you will land on the **Set Actions** tab on the **Create trigger** page. Hello -- Once you land on the trigger page, you'll see three options. In this tutorial, we will only be using the `Insert` action, as we want to allow users to create a new entry on the board. +- Once you land on the trigger page, you'll see three options. In this tutorial, we will only be using the `Insert` action, as we want to allow users to create a new entry on the board. - Select ‘Insert a Record’ as the method type, `Picks` as the table we want to modify and configure the value mapping to the values as shown below: @@ -125,7 +125,7 @@ At this point, we’re almost done. We just have to name and review the **Trigge Hello -- Once done, click on `Deploy` and wait for the trigger to go live. +- Once done, click on `Deploy` and wait for the trigger to go live. Hello diff --git a/content/gaming-overview.mdx b/content/gaming-overview.mdx index 75da0c3ee..0fc882946 100644 --- a/content/gaming-overview.mdx +++ b/content/gaming-overview.mdx @@ -1,10 +1,10 @@ # Ankr's Mirage gaming platform -Mirage gaming platform is an access point to a complete set of battle-tested solutions to build, power up, scale, support, and publish your Web3 games. +Mirage gaming platform is an access point to a complete set of battle-tested solutions to build, power up, scale, support, and publish your Web3 games. Use SDKs to integrate with the platform and enable your game with the Web3 capabilities.
    - [Learn more about Mirage](https://mirage.xyz/docs/) ↗ + [Learn more about Mirage](https://mirage.xyz/docs/)
    diff --git a/content/index.mdx b/content/index.mdx index 86a3df3a8..ecc42efeb 100644 --- a/content/index.mdx +++ b/content/index.mdx @@ -19,7 +19,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Test out and get important stats. * Suitable for Web3 developers and enthusiasts of all skill levels.
    - [Empower your projects with blockchain interaction](/rpc-service/overview/) ↗ + [Empower your projects with blockchain interaction](/rpc-service/overview/)
    ## Advanced API @@ -32,7 +32,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Use Ankr JavaScript/Python SDKs and React Hooks. * Tailored to support most popular Web3 scenarios.
    - [Query multiple chains for most popular Web3 scenarios](advanced-api/overview) ↗ + [Query multiple chains for most popular Web3 scenarios](advanced-api/overview)
    [//]: # (## Blockchain Node Snapshots) @@ -47,7 +47,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come [//]: # (
    ) -[//]: # ( [Sync your node via the trusted blockchain snapshots](/node-snapshot)↗) +[//]: # ( [Sync your node via the trusted blockchain snapshots](/node-snapshot)) [//]: # (
    ) @@ -61,7 +61,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Rely on robust Ankr infrastructure for your automation tasks. * Easily manage automation tasks from a single dashboard.
    - [Automate calls to contracts](automation/overview) ↗ + [Automate calls to contracts](automation/overview)
    ## Scaling Services @@ -75,7 +75,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Choose additional components from Developer Marketplace.
    - [Bring your project to Web3](/scaling-services-overview/) ↗ + [Bring your project to Web3](/scaling-services-overview/)
    ## Staking @@ -89,7 +89,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Integrate Ankr Staking into your projects.
    - [Stake, earn, and integrate](staking-overview) ↗ + [Stake, earn, and integrate](staking-overview)
    ## Gaming @@ -103,7 +103,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Compatible with Unity and Unreal Engine.
    - [Take your game to Web3](https://mirage.xyz/docs/) ↗ + [Take your game to Web3](https://mirage.xyz/docs/)
    ## Tutorials @@ -117,5 +117,5 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Find end-to-end tutorials to build and ship full-fledged decentralized applications.
    - [Learn and practice Web3](basic-tutorials/dapp-on-ethereum-using-nocode) ↗ -
    \ No newline at end of file + [Learn and practice Web3](basic-tutorials/dapp-on-ethereum-using-nocode) +
    diff --git a/content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx b/content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx index fe8ed3d94..3577c5c73 100644 --- a/content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx +++ b/content/smart-contract-tutorials/cryptokitties-like-nft-with-erc-721-smart-contract.mdx @@ -4,15 +4,15 @@ ____________________________________ ### Dawn of ERC-721 -Mention NFT revolution and you will most likely stumble upon this project over and over again: CryptoKitties. Originally built on the Ethereum blockchain, CryptoKitties was the first non-fungible token (NFT) that allowed the creation of unique digital collectibles as kitties, using the ERC-721 smart contract. Before the dawn of ERC-721, tokens on blockchain were only fungible, meaning they can be traded or exchanged with another identical one of the same value, much like a dollar bill. +Mention NFT revolution and you will most likely stumble upon this project over and over again: CryptoKitties. Originally built on the Ethereum blockchain, CryptoKitties was the first non-fungible token (NFT) that allowed the creation of unique digital collectibles as kitties, using the ERC-721 smart contract. Before the dawn of ERC-721, tokens on blockchain were only fungible, meaning they can be traded or exchanged with another identical one of the same value, much like a dollar bill. We've already discussed how you can make a fungible token using [ERC20](https://ankr.hashnode.dev/how-to-deploy-your-own-erc-20-token-with-ankr-and-hardhat-on-eth-goerli-testnet), but what if you want to create tokens that are not alike at all? ### What we are Building -CryptoKitties really braced the growth and use case of NFTs we see today and in this tutorial, we will walk through creating and deploying an ERC-721 smart contract and minting the token on Optimism Kovan-Testnet using [Solidity](https://docs.soliditylang.org/en/v0.8.0/)↗, [Hardhat](https://hardhat.org/getting-started)↗ and [Pinata](https://www.pinata.cloud/)↗. +CryptoKitties really braced the growth and use case of NFTs we see today and in this tutorial, we will walk through creating and deploying an ERC-721 smart contract and minting the token on Optimism Kovan-Testnet using [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org/getting-started) and [Pinata](https://www.pinata.cloud/). -By the end of this tutorial - you'll be able to mint an NFT and display it on [Quixotic](https://testnet.quixotic.io/)↗ (an NFT marketplace on Optimism) from your deployed ERC721 contract. +By the end of this tutorial - you'll be able to mint an NFT and display it on [Quixotic](https://testnet.quixotic.io/) (an NFT marketplace on Optimism) from your deployed ERC721 contract. Hello @@ -20,7 +20,7 @@ By the end of this tutorial - you'll be able to mint an NFT and display it on [Q ________________________ ## Getting Started -PS: I know I just threw a ton of new words at you in the previous section and if any of the above was confusing, don't worry as we'll discuss each one of them in detail. +PS: I know I just threw a ton of new words at you in the previous section and if any of the above was confusing, don't worry as we'll discuss each one of them in detail. But before we get our hands dirty, let's take a quick rundown on what Optimism is? @@ -33,11 +33,11 @@ Pretty handy, right? Ready to give optimism a try? ________________________ ### Step 1: Connect Metamask to Optimism Kovan Testnet -If you do not own a wallet, the first thing that needs to be done is to download and install the browser extension of [MetaMask](https://metamask.io/download/)↗. +If you do not own a wallet, the first thing that needs to be done is to download and install the browser extension of [MetaMask](https://metamask.io/download/). Once MetaMask is installed and running, follow these simple steps to connect with Optimism Kovan Testnet: -- Navigate to [chainlist.org](https://chainlist.org/)↗ +- Navigate to [chainlist.org](https://chainlist.org/) - Enable the `Testnet` option and search for Optimism Kovan and connect your wallet with the given RPC. If you want to launch your ERC721 contract directly to mainnet, replace the RPC URL with Ankr's Public RPC -> https://rpc.ankr.com/optimism @@ -46,7 +46,7 @@ ________________________ ### Step 2: Add Test Ether from a Faucet -To request funds, go to [Optimism Kovan Faucet](https://optimismfaucet.xyz/)↗ and sign in with GitHub to acquire some tokens. Wait a few moments and your wallet should be funded! +To request funds, go to [Optimism Kovan Faucet](https://optimismfaucet.xyz/) and sign in with GitHub to acquire some tokens. Wait a few moments and your wallet should be funded! Note: ETH on testnets has no real value. ________________________ @@ -60,10 +60,10 @@ To get started with the hardhat installation, we first need to set up our dev en ``` npm init -``` +``` ``` npm install dotenv -``` +``` - Once your project is ready, install Hardhat, an Ethereum development environment for testing and deploying smart contracts to the blockchain. It might take a minute or two to install everything! @@ -83,7 +83,7 @@ Your project should now contain the following files and folders: `hardhat.config ``` mkdir contracts -``` +``` ``` mkdir scripts ``` @@ -108,7 +108,7 @@ ________________________ ### Step 4: Setup Hardhat Configs Before setting up the `hardhat.config.js` file, we will need a gateway to communicate to the Ethereum blockchain. For that, we will be using the Kovan testnet RPC `https://kovan.optimism.io/` provided by Optimism. -If you want to deploy your ERC-721 directly on the mainnet, you can use [Ankr's Public RPC](https://www.ankr.com/protocol/public/optimism/)↗ for Optimism. Just copy the URL, no account or login is required! +If you want to deploy your ERC-721 directly on the mainnet, you can use [Ankr's Public RPC](https://www.ankr.com/protocol/public/optimism/) for Optimism. Just copy the URL, no account or login is required! ![screenshot-rocks (11).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1656513942082/THcPdzjEJ.png align="left") @@ -137,21 +137,21 @@ module.exports = { }, } -``` +``` Did you notice how we are sourcing the `PRIVATE_KEY` variable in this file? We are loading them up from `process.env` using the `dotenv` library we installed while setting up the dev environment. ________________________ ### Step 5: Write ERC-721 Smart Contract -We will use an ERC-721 standard based on OpenZepplin. [OpenZepplin](https://www.openzeppelin.com/)↗️ is an open-source standard for securing blockchain applications and provides security products to build, automate, and operate dApps. +We will use an ERC-721 standard based on OpenZepplin. [OpenZepplin](https://www.openzeppelin.com/)️ is an open-source standard for securing blockchain applications and provides security products to build, automate, and operate dApps. - For this, we will install the OpenZepplin's contracts library. ``` npm install @openzeppelin/contracts -``` +``` - Now navigate to the `contracts` folder and create a new file called `KittyMonster.sol` - Below is our NFT smart contract code based on the OpenZeppelin's ERC721 implementation. Copy and paste the contents below into your `KittyMonster.sol` file. @@ -159,7 +159,7 @@ npm install @openzeppelin/contracts ```java // SPDX-License-Identifier: MIT -//Declare the version of solidity to compile this contract. +//Declare the version of solidity to compile this contract. //This must match the version of solidity in your hardhat.config.js file pragma solidity ^0.8.1; @@ -174,11 +174,11 @@ import "@openzeppelin/contracts/utils/Counters.sol"; //implements ownership in the contracts import "@openzeppelin/contracts/access/Ownable.sol"; -//This function instantiates the contract and +//This function instantiates the contract and //classifies ERC721 for storage schema contract KittyMonster is ERC721URIStorage, Ownable { - //to keep track of the total number of NFTs minted + //to keep track of the total number of NFTs minted using Counters for Counters.Counter; Counters.Counter private _tokenIds; @@ -200,7 +200,7 @@ contract KittyMonster is ERC721URIStorage, Ownable { return newItemId; } } -``` +``` - Save the file and compile your contract to make sure everything is good to deploy using the command below: ``` @@ -209,7 +209,7 @@ npx hardhat compile # output # Compiled n Solidity file successfully -``` +``` ________________________ ### Step 6: Write the Deploy Script @@ -222,34 +222,34 @@ Now that we've got our ERC-721 contract set up, let's create the deployment scri ```java async function main() { - // Grab the contract factory + // Grab the contract factory //used to deploy new smart contracts const KittyMonster = await ethers.getContractFactory("KittyMonster"); - + // Start deployment, returning a promise that resolves to a contract object - const KMONS = await KittyMonster.deploy(); // Instance of the contract + const KMONS = await KittyMonster.deploy(); // Instance of the contract console.log("Contract deployed to address:", KMONS.address); } - + main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1); }); -``` +``` - Save and close the file - Run `npx hardhat run scripts/deploy.js --network kovan` ``` npx hardhat run scripts/deploy.js --network kovan -``` +``` `Output: Contract deployed to address: 0xA2a736b9af8B2D3bb95F92d1cC015Bc6D0A2C0cB` Running the above command will compile the contract and deploy it to the Optimism Kovan Testnet. -- If you go to the [Kovan Optimism Etherscan](https://kovan-optimistic.etherscan.io/)↗ and search for your contract address, you should be able to see that the contract has been successfully deployed. +- If you go to the [Kovan Optimism Etherscan](https://kovan-optimistic.etherscan.io/) and search for your contract address, you should be able to see that the contract has been successfully deployed. Hello @@ -258,7 +258,7 @@ ________________________ ### Step 7: Flattening the Solidity File -To update token information on Etherscan, the token contract address for the token must be verified. As contract owners, we can verify our contract by following the steps below. But before that, we will require to **flatten the solidity file** using Hardhat. +To update token information on Etherscan, the token contract address for the token must be verified. As contract owners, we can verify our contract by following the steps below. But before that, we will require to **flatten the solidity file** using Hardhat. - To do so, within your project directory, run the following command on your terminal: ``` @@ -269,7 +269,7 @@ This will generate a `flattened.sol` file which contains the contract(s) code an Hello -Make sure in your `flattened.sol` file, `// SPDX-License-Identifier: MIT` is only mentioned one time. Otherwise, it will throw you an error. +Make sure in your `flattened.sol` file, `// SPDX-License-Identifier: MIT` is only mentioned one time. Otherwise, it will throw you an error. ________________________ ### Step 8: Verifying the Contract on Optimism Kovan Etherscan @@ -278,34 +278,34 @@ To verify the contract on Optimism Kovan Etherscan, follow the steps below: - Under the contract address, next to the `Transaction` tab, you will be able to find the “Contract” tab. Then click on “Verify And Publish” and you'll land on `Verify and Publish Contract Source Code` page. -- From the drop-down for compiler type, version selection and license type, select the following configs: +- From the drop-down for compiler type, version selection and license type, select the following configs: Hello - -- Hit "continue" and under `Enter the Solidity Contract Code below` section, copy and paste the entire code from the `flattened.sol` file that we generated in step 7. + +- Hit "continue" and under `Enter the Solidity Contract Code below` section, copy and paste the entire code from the `flattened.sol` file that we generated in step 7. - Click `Verify and Publish` and you be able to see that your contract is successfully verified on Optimism Kovan Etherscan. When the contract has been verified, the “Code” page will be filled with the contract details. The source code of the contract is now publicly available on Etherscan. ________________________ ### Step 9: Adding NFT Asset to IPFS | Pinata -We’re going to use Pinata to store our NFT asset and JSON metadata to IPFS so that we can pass it through to our token contract (remember `tokenURI` parameter from our `mintNFT` function in the smart contract?). +We’re going to use Pinata to store our NFT asset and JSON metadata to IPFS so that we can pass it through to our token contract (remember `tokenURI` parameter from our `mintNFT` function in the smart contract?). -If you don’t have a Pinata account, [sign up](https://app.pinata.cloud/)↗ for a free account here and complete the steps to verify your email. +If you don’t have a Pinata account, [sign up](https://app.pinata.cloud/) for a free account here and complete the steps to verify your email. - Once you have verified your account on the Pinata, navigate to the "My Files" page and click the "Upload" button. -- Upload your NFT art and you'll see your image asset file under the `Files` page along with the CID column. +- Upload your NFT art and you'll see your image asset file under the `Files` page along with the CID column. Hello -- Copy the CID by clicking the copy button next to it and use it as a postfix to this URL "https://gateway.pinata.cloud/ipfs/CID" to view your NFT art. +- Copy the CID by clicking the copy button next to it and use it as a postfix to this URL "https://gateway.pinata.cloud/ipfs/CID" to view your NFT art. -Here's the [image](https://gateway.pinata.cloud/ipfs/QmY3AiXaCt9JFJ33GTR5U7YjXKrC5xbtjJDjEdUbN8QMVG)↗ that I used. +Here's the [image](https://gateway.pinata.cloud/ipfs/QmY3AiXaCt9JFJ33GTR5U7YjXKrC5xbtjJDjEdUbN8QMVG) that I used. -Now, we’re going to upload one more document to Pinata - JSON metadata. To do that, follow the steps below: +Now, we’re going to upload one more document to Pinata - JSON metadata. To do that, follow the steps below: - In your code's root directory, make a new file called `monstermeta.json` and add the code given below to the JSON file. @@ -322,9 +322,9 @@ Now, we’re going to upload one more document to Pinata - JSON metadata. To do "image" : "https://gateway.pinata.cloud/ipfs/QmY3AiXaCt9JFJ33GTR5U7YjXKrC5xbtjJDjEdUbN8QMVG", "name" : "Kabbey" } -``` +``` -Feel free to add or remove the attributes. Also, make sure you are providing your IPFS image URL - otherwise, you will mint Kabbey too!! +Feel free to add or remove the attributes. Also, make sure you are providing your IPFS image URL - otherwise, you will mint Kabbey too!! - Once you’re done editing the JSON file, save it and upload it to Pinata, following the same steps we followed for uploading the image and copy the CID for the JSON file (we will need that in the next step). @@ -332,12 +332,12 @@ ________________________ ### Step 10: Minting NFT -- To mint the NFT, navigate under the contract address page, next to the `Transaction` tab, you will find the “Contract” tab. +- To mint the NFT, navigate under the contract address page, next to the `Transaction` tab, you will find the “Contract” tab. - Click on “Write Contract” and "connect to Web3". -- Under `mintNFT`, input your wallet's public address in `recipient (address)` and C.D for the JSON file you uploaded to the Pinata. +- Under `mintNFT`, input your wallet's public address in `recipient (address)` and C.D for the JSON file you uploaded to the Pinata. - Hit "write", and you can view your transaction successfully executed in the Optimism Kovan Etherscan. -Now, we will head to [Quixotic.io](https://testnet.quixotic.io/)↗, an NFT marketplace for Optimism. +Now, we will head to [Quixotic.io](https://testnet.quixotic.io/), an NFT marketplace for Optimism. - Connect your wallet to Quicotic's testnet marketplace and you'll be able to view your minted NFT there! @@ -345,9 +345,9 @@ Now, we will head to [Quixotic.io](https://testnet.quixotic.io/)↗, an NFT mark ## Check the GitHub Repo -If you followed along with the tutorial, awesome! Here you can find the [GitHub repository](https://github.com/kaymomin/erc721-token-mint) with the full code. +If you followed along with the tutorial, awesome! Here you can find the [GitHub repository](https://github.com/kaymomin/erc721-token-mint) with the full code. ### Next Steps -If you are up for a challenge, build a full-stack dApp to mint, display and transfer NFTs to your friends. \ No newline at end of file +If you are up for a challenge, build a full-stack dApp to mint, display and transfer NFTs to your friends. diff --git a/content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx b/content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx index fd6260e47..81ac4cacf 100644 --- a/content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx +++ b/content/smart-contract-tutorials/erc-20-token-with-ankr-hardhat-on-goerli.mdx @@ -16,15 +16,15 @@ Now that we briefly understand what ERC20 means, let's get started creating our You will need MetaMask to access the testing networks on Ethereum. In this guide, we will use Goerli, an Ethereum test network that allows blockchain development testing before the deployment on Mainnet. -In your browser, go to [metamask.io](https://metamask.io/) and install the plugin. Once MetaMask is installed and running, select the Goerli network. +In your browser, go to [metamask.io](https://metamask.io/) and install the plugin. Once MetaMask is installed and running, select the Goerli network. ### Step 2: Acquire Goerli ETH To request funds, go to [Goerli Faucet](https://faucets.chain.link/goerli) and connect your metamask wallet with your newly-created test account into the UI. Wait a few moments and your wallet should be funded! -Note: ETH on testnets has no real value. +Note: ETH on testnets has no real value. -### Step 3: Set up the Dev Environment +### Step 3: Set up the Dev Environment To get started with the hardhat installation, we first need to set up our dev environment. To do so, create a new directory called erc20-token-ankr. @@ -33,15 +33,15 @@ To get started with the hardhat installation, we first need to set up our dev en ``` npm init -``` +``` ``` npm install dotenv -``` +``` - Once your project is ready, install Hardhat, an Ethereum development environment for testing and deploying smart contracts to the blockchain. ``` npm install --save-dev hardhat -``` +``` - Run npx hardhat, choose "create a sample project" and say y to everything. @@ -49,7 +49,7 @@ It might take a minute or two to install everything! ``` npx hardhat -``` +``` Your project should now contain the following files and folders: hardhat.config.js,node_modules, package.json, package-lock.json, README.md, scripts, and contracts. @@ -60,22 +60,22 @@ Your project should now contain the following files and folders: ``` npm install --save-dev @openzeppelin/hardhat-upgrades -``` +``` ``` npm install --save-dev @nomiclabs/hardhat-ethers ethers -``` +``` -- Create a .env file in your project’s root folder and set the environment variable as follows. This is the private key of the account you intend to use on the Ethereum Network from MetaMask. +- Create a .env file in your project’s root folder and set the environment variable as follows. This is the private key of the account you intend to use on the Ethereum Network from MetaMask. ``` PRIVATE_KEY=YOUR_PRIVATE_KEY -``` +``` -### Step 4: Setup Hardhat +### Step 4: Setup Hardhat -Before setting up the hardhat.config.js file, we will need a gateway to communicate to Ethereum blockchain. +Before setting up the hardhat.config.js file, we will need a gateway to communicate to Ethereum blockchain. Hello @@ -91,7 +91,7 @@ Now you are ready to edit your hardhat.config.js with the following: ```javascript require("@nomiclabs/hardhat-waffle"); require('@openzeppelin/hardhat-upgrades'); -// Any file that has require('dotenv').config() statement +// Any file that has require('dotenv').config() statement // will automatically load any variables in the root's .env file. require('dotenv').config(); @@ -107,26 +107,26 @@ module.exports = { } }; -``` -Did you notice how we are sourcing the PRIVATE_KEY variable in this file? We are loading them up from process.env using the dotenv library we installed while setting up the dev environment. +``` +Did you notice how we are sourcing the PRIVATE_KEY variable in this file? We are loading them up from process.env using the dotenv library we installed while setting up the dev environment. -### Step 5: Set Up ERC-20 Contract +### Step 5: Set Up ERC-20 Contract -We will use an ERC-20 standard based on OpenZepplin. [OpenZepplin](https://www.openzeppelin.com/)↗ is an open-source standard for securing blockchain applications and provides security products to build, automate, and operate dApps. +We will use an ERC-20 standard based on OpenZepplin. [OpenZepplin](https://www.openzeppelin.com/) is an open-source standard for securing blockchain applications and provides security products to build, automate, and operate dApps. -For this, we will need the @openzeppelin/contracts package! +For this, we will need the @openzeppelin/contracts package! ``` npm install @openzeppelin/contracts -``` +``` ``` npm install --save-dev @nomiclabs/hardhat-waffle -``` +``` -Now, it is time to name your token! +Now, it is time to name your token! In the next steps, we will create a smart contract file (**you must match the name of the file with the name of token**). So if you're thinking to name your token Buildoooor, make sure to name the contract file exactly the same Buildoooor.sol. @@ -137,21 +137,21 @@ In the next steps, we will create a smart contract file (**you must match the na ```javascript //SPDX-License-Identifier: Unlicense -//Declare the version of solidity to compile this contract. +//Declare the version of solidity to compile this contract. //This must match the version of solidity in your hardhat.config.js file pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -//This function instantiates the contract and +//This function instantiates the contract and //classifies ERC20 for storage schema contract Buildoooor is ERC20 { - //Feel free to change the initial supply of 50 token + //Feel free to change the initial supply of 50 token //Keep the (10**18) unchanged as it multiplies the number we want as our supply to have 18 decimal uint constant _initial_supply = 50 * (10**18); - // make sure to replace the "Buildoooor" reference + // make sure to replace the "Buildoooor" reference //with your own ERC-20 name //choose a token symbol, in our this case "FIRT" constructor() ERC20("Buildoooor", "BUDL") { @@ -159,7 +159,7 @@ contract Buildoooor is ERC20 { _mint(msg.sender, _initial_supply); } } -``` +``` - Save and close this file - Compile your contract to make sure everything is good to deploy @@ -168,13 +168,13 @@ npx hardhat compile # output # Compiled n Solidity file successfully -``` +``` > Note: If you are on windows and getting "nothing to compile error" thrown at you, run npm install glob@7.2.0 and rerun npx hardhat compile. This should solve the problem. Learn more [here](https://github.com/NomicFoundation/hardhat/issues/2712#issuecomment-1126722588)! ### Step 6: Deploy the ERC20 Token -Now that we've got our ERC20 contract set up, let's create the deployment script for it. +Now that we've got our ERC20 contract set up, let's create the deployment script for it. - cd .. back into your project root directory - cd into your scripts directory (which should be empty right now) @@ -184,22 +184,22 @@ Now that we've got our ERC20 contract set up, let's create the deployment script ```java async function main() { const [deployer] = await ethers.getSigners(); - + console.log("Deploying contracts with the account:", deployer.address); - + const weiAmount = (await deployer.getBalance()).toString(); - + console.log("Account balance:", (await ethers.utils.formatEther(weiAmount))); - - // make sure to replace the "Buildoooor" reference + + // make sure to replace the "Buildoooor" reference //with your own ERC-20 name const Token = await ethers.getContractFactory("Buildoooor"); const token = await Token.deploy(); - + // log the address of the Contract in our console console.log("Token address:", token.address); } - + // run main, catch error, if any, and log in console main() .then(() => process.exit(0)) @@ -207,7 +207,7 @@ async function main() { console.error(error); process.exit(1); }); -``` +``` - Save and close the file - cd .. back into your project root directory - Run npx hardhat run scripts/deploy.js --network goerli @@ -218,8 +218,8 @@ npx hardhat run scripts/deploy.js --network goerli #Deploying contracts with the account: 0x6d4779c3Dc002894C2E2108c75e6ef72C418E23f #Account balance: 0.2 #Token address: 0x74d8C71a4aF1eBD7DA5B8eAAabe35b0D29478DF6 -``` -Your contract will be compiled and deployed to the Goerli network! +``` +Your contract will be compiled and deployed to the Goerli network! - Now, go to [goerli.etherscan.io/](https://goerli.etherscan.io/tx/0xc7d30c40475bb3d16bb9cac24a59fd02faf03d308d324b19061e8abed6c11241) and input your token address to see your deployed ERC-20 contract on Goerli Network. Hello diff --git a/content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx b/content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx index e1f53f136..3fa15ec5d 100644 --- a/content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx +++ b/content/smart-contract-tutorials/erc-721-smart-contract-on-avalanche.mdx @@ -5,7 +5,7 @@ ____________________________________ ## Set up your Dev Environment -First, create a new directory called `avaxankr`. +First, create a new directory called `avaxankr`. Initialize your new npm project in the directory: @@ -76,7 +76,7 @@ contract AnkrAvalancheNFT is ERC721URIStorage, Ownable { constructor() ERC721("AnkrAvaxNFT", "ANKRAVAX") {} /* @dev This will set the mint function for the token with the URI and recipient specified -* @param tokenURI specifies the schema and +* @param tokenURI specifies the schema and * @return This will set the name, image, description, and properties */ function mint(address recipient, string memory tokenURI) public returns (uint256){ @@ -211,7 +211,7 @@ npx hardhat run scripts/deploy.js --network fuji # output # Contract deployed to: 0xc7f2061054FceF82397942F42a37d5fE7A758960 ``` -Copy the contract address and search for it in Snowtrace at [testnet.snowtrace.io](https://testnet.snowtrace.io/)↗ (example) +Copy the contract address and search for it in Snowtrace at [testnet.snowtrace.io](https://testnet.snowtrace.io/) (example) Hello @@ -227,7 +227,7 @@ npx hardhat run scripts/deploy.js --network avalanche # Contract deployed to: 0xc7f2061054FceF82397942F42a37d5fE7A758960 ``` -Copy the contract address and search for it in Snowtrace at snowtrace.io ([example contract](https://snowtrace.io/address/0xc7f2061054FceF82397942F42a37d5fE7A758960)↗) +Copy the contract address and search for it in Snowtrace at snowtrace.io ([example contract](https://snowtrace.io/address/0xc7f2061054FceF82397942F42a37d5fE7A758960)) Hello @@ -257,7 +257,7 @@ npx hardhat verify YOUR_CONTRACT_ADDRESS --network avalanche ## Mint an ERC-721 NFT on Avalanche -We will be using Hardhat to mint an NFT programmatically and [web3.storage](https://web3.storage/)↗ to store our image and data. We will need to set the Token URI to a [JSON](https://www.json.org/json-en.html)↗ file. I’ve gone ahead and made an image with the tools we’ve used on this tutorial. Web3.storage is a tool that allows users to store their files on the Interplanetary File System (IPFS) by Protocol Labs +We will be using Hardhat to mint an NFT programmatically and [web3.storage](https://web3.storage/) to store our image and data. We will need to set the Token URI to a [JSON](https://www.json.org/json-en.html) file. I’ve gone ahead and made an image with the tools we’ve used on this tutorial. Web3.storage is a tool that allows users to store their files on the Interplanetary File System (IPFS) by Protocol Labs Start by uploading your file to Web3.storage. diff --git a/content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx b/content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx index 6442bc2b1..6737dd284 100644 --- a/content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx +++ b/content/smart-contract-tutorials/non-rentable-soulbound-nft.mdx @@ -3,7 +3,7 @@ **By** [**Krinza Momin**](https://twitter.com/kayprasla) ____________________________________ -We laud NFTs for their transferability but Vitalik's extended idea in a blog post titled "Soulbound"↗, over the long haul is showing up in literally every conversation happening around identity, reputation, and individuation in web3. If you haven't checked it out yet, go give it a read. If you've already and need a refresher, here's a TLDR: +We laud NFTs for their transferability but Vitalik's extended idea in a blog post titled "Soulbound", over the long haul is showing up in literally every conversation happening around identity, reputation, and individuation in web3. If you haven't checked it out yet, go give it a read. If you've already and need a refresher, here's a TLDR: > Soulbound Tokens (SBT) are just non-fungible tokens (NFTs) that, "once picked up, cannot be transferred or sold to anyone else." @@ -26,17 +26,17 @@ In this tutorial, we will learn how to: Hello -If you followed along the tutorial I published about building an [ERC721 Smart Contract](https://www.youtube.com/watch?v=-kcrQKA-ZLk)↗, then you already know most of the code necessary to build them. If not, you can always refer to that video to explore more. So, let's get building! +If you followed along the tutorial I published about building an [ERC721 Smart Contract](https://www.youtube.com/watch?v=-kcrQKA-ZLk), then you already know most of the code necessary to build them. If not, you can always refer to that video to explore more. So, let's get building! ### Step 1: Writing NFT Smart Contract -Before we implement the non-transferring logic in our smart contract, we would need a base ERC-721 code for NFTs. To start, we’ll navigate to the [OpenZeppelin Wizard](https://docs.openzeppelin.com/contracts/5.x/wizard)↗, select “ERC721” as our contract type and opt for a few features like "Mintable", "Auto-increment IDs" and "Base URI" from the sidebar as shown. +Before we implement the non-transferring logic in our smart contract, we would need a base ERC-721 code for NFTs. To start, we’ll navigate to the [OpenZeppelin Wizard](https://docs.openzeppelin.com/contracts/5.x/wizard), select “ERC721” as our contract type and opt for a few features like "Mintable", "Auto-increment IDs" and "Base URI" from the sidebar as shown. Hello ### Step 2: Customizing Code to Make it Soulbound -Now that we have the base code ready, let's head over to [Remix Solidity Compiler](https://remix.ethereum.org/?#code=Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC40OwoKaW1wb3J0ICJAb3BlbnplcHBlbGluL2NvbnRyYWN0c0A0LjcuMC90b2tlbi9FUkM3MjEvRVJDNzIxLnNvbCI7CmltcG9ydCAiQG9wZW56ZXBwZWxpbi9jb250cmFjdHNANC43LjAvdG9rZW4vRVJDNzIxL2V4dGVuc2lvbnMvRVJDNzIxVVJJU3RvcmFnZS5zb2wiOwppbXBvcnQgIkBvcGVuemVwcGVsaW4vY29udHJhY3RzQDQuNy4wL2FjY2Vzcy9Pd25hYmxlLnNvbCI7CmltcG9ydCAiQG9wZW56ZXBwZWxpbi9jb250cmFjdHNANC43LjAvdXRpbHMvQ291bnRlcnMuc29sIjsKCmNvbnRyYWN0IFNvdWxCb3VuZFRlc3QgaXMgRVJDNzIxLCBFUkM3MjFVUklTdG9yYWdlLCBPd25hYmxlIHsKICAgIHVzaW5nIENvdW50ZXJzIGZvciBDb3VudGVycy5Db3VudGVyOwoKICAgIENvdW50ZXJzLkNvdW50ZXIgcHJpdmF0ZSBfdG9rZW5JZENvdW50ZXI7CgogICAgY29uc3RydWN0b3IoKSBFUkM3MjEoIlNvdWxCb3VuZFRlc3QiLCAiU0JUIikge30KCiAgICBmdW5jdGlvbiBzYWZlTWludChhZGRyZXNzIHRvLCBzdHJpbmcgbWVtb3J5IHVyaSkgcHVibGljIG9ubHlPd25lciB7CiAgICAgICAgdWludDI1NiB0b2tlbklkID0gX3Rva2VuSWRDb3VudGVyLmN1cnJlbnQoKTsKICAgICAgICBfdG9rZW5JZENvdW50ZXIuaW5jcmVtZW50KCk7CiAgICAgICAgX3NhZmVNaW50KHRvLCB0b2tlbklkKTsKICAgICAgICBfc2V0VG9rZW5VUkkodG9rZW5JZCwgdXJpKTsKICAgIH0KCiAgICAvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgb3ZlcnJpZGVzIHJlcXVpcmVkIGJ5IFNvbGlkaXR5LgoKICAgIGZ1bmN0aW9uIF9idXJuKHVpbnQyNTYgdG9rZW5JZCkgaW50ZXJuYWwgb3ZlcnJpZGUoRVJDNzIxLCBFUkM3MjFVUklTdG9yYWdlKSB7CiAgICAgICAgc3VwZXIuX2J1cm4odG9rZW5JZCk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9rZW5VUkkodWludDI1NiB0b2tlbklkKQogICAgICAgIHB1YmxpYwogICAgICAgIHZpZXcKICAgICAgICBvdmVycmlkZShFUkM3MjEsIEVSQzcyMVVSSVN0b3JhZ2UpCiAgICAgICAgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkKICAgIHsKICAgICAgICByZXR1cm4gc3VwZXIudG9rZW5VUkkodG9rZW5JZCk7CiAgICB9Cn0K&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.7+commit.e28d00a7.js)↗ by clicking, "Open in Remix". +Now that we have the base code ready, let's head over to [Remix Solidity Compiler](https://remix.ethereum.org/?#code=Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC40OwoKaW1wb3J0ICJAb3BlbnplcHBlbGluL2NvbnRyYWN0c0A0LjcuMC90b2tlbi9FUkM3MjEvRVJDNzIxLnNvbCI7CmltcG9ydCAiQG9wZW56ZXBwZWxpbi9jb250cmFjdHNANC43LjAvdG9rZW4vRVJDNzIxL2V4dGVuc2lvbnMvRVJDNzIxVVJJU3RvcmFnZS5zb2wiOwppbXBvcnQgIkBvcGVuemVwcGVsaW4vY29udHJhY3RzQDQuNy4wL2FjY2Vzcy9Pd25hYmxlLnNvbCI7CmltcG9ydCAiQG9wZW56ZXBwZWxpbi9jb250cmFjdHNANC43LjAvdXRpbHMvQ291bnRlcnMuc29sIjsKCmNvbnRyYWN0IFNvdWxCb3VuZFRlc3QgaXMgRVJDNzIxLCBFUkM3MjFVUklTdG9yYWdlLCBPd25hYmxlIHsKICAgIHVzaW5nIENvdW50ZXJzIGZvciBDb3VudGVycy5Db3VudGVyOwoKICAgIENvdW50ZXJzLkNvdW50ZXIgcHJpdmF0ZSBfdG9rZW5JZENvdW50ZXI7CgogICAgY29uc3RydWN0b3IoKSBFUkM3MjEoIlNvdWxCb3VuZFRlc3QiLCAiU0JUIikge30KCiAgICBmdW5jdGlvbiBzYWZlTWludChhZGRyZXNzIHRvLCBzdHJpbmcgbWVtb3J5IHVyaSkgcHVibGljIG9ubHlPd25lciB7CiAgICAgICAgdWludDI1NiB0b2tlbklkID0gX3Rva2VuSWRDb3VudGVyLmN1cnJlbnQoKTsKICAgICAgICBfdG9rZW5JZENvdW50ZXIuaW5jcmVtZW50KCk7CiAgICAgICAgX3NhZmVNaW50KHRvLCB0b2tlbklkKTsKICAgICAgICBfc2V0VG9rZW5VUkkodG9rZW5JZCwgdXJpKTsKICAgIH0KCiAgICAvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgb3ZlcnJpZGVzIHJlcXVpcmVkIGJ5IFNvbGlkaXR5LgoKICAgIGZ1bmN0aW9uIF9idXJuKHVpbnQyNTYgdG9rZW5JZCkgaW50ZXJuYWwgb3ZlcnJpZGUoRVJDNzIxLCBFUkM3MjFVUklTdG9yYWdlKSB7CiAgICAgICAgc3VwZXIuX2J1cm4odG9rZW5JZCk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9rZW5VUkkodWludDI1NiB0b2tlbklkKQogICAgICAgIHB1YmxpYwogICAgICAgIHZpZXcKICAgICAgICBvdmVycmlkZShFUkM3MjEsIEVSQzcyMVVSSVN0b3JhZ2UpCiAgICAgICAgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkKICAgIHsKICAgICAgICByZXR1cm4gc3VwZXIudG9rZW5VUkkodG9rZW5JZCk7CiAgICB9Cn0K&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.7+commit.e28d00a7.js) by clicking, "Open in Remix". Hello @@ -51,7 +51,7 @@ pragma solidity ^0.8.4; import "@openzeppelin/contracts@4.7.0/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts@4.7.0/token/ERC721/extensions/ERC721URIStorage.sol"; import "@openzeppelin/contracts@4.7.0/access/Ownable.sol"; -import "@openzeppelin/contracts@4.7.0/utils/Counters.sol"; +import "@openzeppelin/contracts@4.7.0/utils/Counters.sol"; contract SoulBoundTest is ERC721, ERC721URIStorage, Ownable { using Counters for Counters.Counter; @@ -84,9 +84,9 @@ contract SoulBoundTest is ERC721, ERC721URIStorage, Ownable { } ``` -Now let's go ahead and add a new code snippet to the existing smart contract in order for us to block the transfer of NFT and eventually making it "Soulbound." There already exist an API in the OpenZeppelin's ERC721 Contract, using which we can actually control the transferability of our tokens. +Now let's go ahead and add a new code snippet to the existing smart contract in order for us to block the transfer of NFT and eventually making it "Soulbound." There already exist an API in the OpenZeppelin's ERC721 Contract, using which we can actually control the transferability of our tokens. -If you navigate to the OpenZeppelin API Docs, you will find the following functions: +If you navigate to the OpenZeppelin API Docs, you will find the following functions: - **_beforeTokenTransfer**(**address** from, **address** to, **uint256** tokenId) @@ -95,18 +95,18 @@ To block token transfers, add the following to your code: **File:** [`openzeppelin-contracts/contracts/token/ERC721/ERC721.sol`](https://github.com/OpenZeppelin/openzeppelin-contracts) ```bash function _beforeTokenTransfer( -address from, -address to, +address from, +address to, uint256 tokenId ) internal override virtual { -require(from == address(0), "Err: token transfer is BLOCKED"); -super._beforeTokenTransfer(from, to, tokenId); +require(from == address(0), "Err: token transfer is BLOCKED"); +super._beforeTokenTransfer(from, to, tokenId); } ``` -Now let's understand the logic behind this [code](https://gist.github.com/kaymomin/7daf2175496bdaefcd3924c3d7657e14)↗. +Now let's understand the logic behind this [code](https://gist.github.com/kaymomin/7daf2175496bdaefcd3924c3d7657e14). -Every time this code will run, the require statement will check: if the `from address` parameter in the function is set to zero. If yes, it will allow the action to happen and block all the other transfers to make it a non-transferable token. +Every time this code will run, the require statement will check: if the `from address` parameter in the function is set to zero. If yes, it will allow the action to happen and block all the other transfers to make it a non-transferable token. > ℹ️ **Note:** When the `address from == 0`, it means the token is being issued or minted and not transferred. @@ -122,7 +122,7 @@ Make sure your MetaMask is connected to the Ethereum Rinkeby Testnet and you've ### Step 4: Adding NFT Asset To IPFS Via Pinata -Once the contract is successfully [deployed](https://rinkeby.etherscan.io/tx/0xd601de5af7afd11df07059edc19207cfd0b26df9832c272b312ea693aed8922c)↗, the next thing we will need to do is minting a Soulbound NFT. To do so, we are going to first set the NFT asset and metadata using Pinata. +Once the contract is successfully [deployed](https://rinkeby.etherscan.io/tx/0xd601de5af7afd11df07059edc19207cfd0b26df9832c272b312ea693aed8922c), the next thing we will need to do is minting a Soulbound NFT. To do so, we are going to first set the NFT asset and metadata using Pinata. If you don’t have a Pinata account, sign up for a free account here and complete the steps to verify your email. @@ -133,12 +133,12 @@ If you don’t have a Pinata account, sign up for a free account here and comple Copy the CID by clicking the copy button next to it and use it as a postfix to this URL "**gateway.pinata.cloud/ipfs**" to view your NFT art. -Here's the [image](https://gateway.pinata.cloud/ipfs/QmTY1jMAqabHUZFCj91ckwnCu3CPtJChpg345jdkxzj3ac)↗ that I used. +Here's the [image](https://gateway.pinata.cloud/ipfs/QmTY1jMAqabHUZFCj91ckwnCu3CPtJChpg345jdkxzj3ac) that I used. Hello -Now, we’re going to upload one more document to Pinata - JSON metadata. To do that, create a JSON file and add the following code. +Now, we’re going to upload one more document to Pinata - JSON metadata. To do that, create a JSON file and add the following code. ```json { @@ -159,7 +159,7 @@ Now, we’re going to upload one more document to Pinata - JSON metadata. To do "image" : "https://gateway.pinata.cloud/ipfs/QmTY1jMAqabHUZFCj91ckwnCu3CPtJChpg345jdkxzj3ac", "name" : "Soulbound Token" } -``` +``` Feel free to add or remove the attributes. Also, make sure you are providing your own IPFS image URL! @@ -174,13 +174,13 @@ In this step, we are finally going to mint the NFT and display it on Opensea. To Hello -Under SafeMint, input your wallet address in **to** and set the JSON file's URL in URI, following the format as "**gateway.pinata.cloud/ipfs/CID_of_JSON_file**". Here's the IPFS [link](https://gateway.pinata.cloud/ipfs/QmUcCgfVb1wc8ngLY6LJ9rT85hyWkFe4SABfxX18VyAYmF)↗ to the Metadata I uploaded to the Pinata. +Under SafeMint, input your wallet address in **to** and set the JSON file's URL in URI, following the format as "**gateway.pinata.cloud/ipfs/CID_of_JSON_file**". Here's the IPFS [link](https://gateway.pinata.cloud/ipfs/QmUcCgfVb1wc8ngLY6LJ9rT85hyWkFe4SABfxX18VyAYmF) to the Metadata I uploaded to the Pinata. Once the configurations is set, hit **transact**, confirm the transaction and wait a few seconds for the NFT to be minted. Hello -Now, we are going to head to [Opensea](https://testnets.opensea.io/)↗ (Testnet) to view the minted [Soulbound NFT](https://testnets.opensea.io/assets/rinkeby/0x9ebc13c372384356c9686c541364e04c54ccd32d/0)↗. +Now, we are going to head to [Opensea](https://testnets.opensea.io/) (Testnet) to view the minted [Soulbound NFT](https://testnets.opensea.io/assets/rinkeby/0x9ebc13c372384356c9686c541364e04c54ccd32d/0). Hello From cc8b50ef91e3b3d55f260b16e5e6ac2f30387917 Mon Sep 17 00:00:00 2001 From: Dmitriy Lisyanskiy Date: Tue, 16 Dec 2025 18:35:05 +0530 Subject: [PATCH 09/13] fix: MRPC-7111 merge updates from stage --- content/advanced-api/javascript-sdk.mdx | 2 - content/advanced-api/nft-methods.mdx | 14 +- content/advanced-api/overview.mdx | 2 - content/advanced-api/python-sdk.mdx | 2 - content/advanced-api/query-methods.mdx | 18 +- content/advanced-api/react-hooks.mdx | 2 - content/advanced-api/token-methods.mdx | 18 +- content/index.mdx | 20 +- content/rpc-service/chains/chains-api/0g.mdx | 3 + .../rpc-service/chains/chains-api/allora.mdx | 3 + .../rpc-service/chains/chains-api/atleta.mdx | 3 + .../rpc-service/chains/chains-api/avail.mdx | 3 + .../chains/chains-api/b2-network.mdx | 3 + .../rpc-service/chains/chains-api/bahamut.mdx | 3 + .../chains/chains-api/bitlayer.mdx | 3 + .../rpc-service/chains/chains-api/blast.mdx | 3 + .../rpc-service/chains/chains-api/botanix.mdx | 3 + content/rpc-service/chains/chains-api/btc.mdx | 3 + .../rpc-service/chains/chains-api/core.mdx | 3 + .../rpc-service/chains/chains-api/corn.mdx | 3 + .../chains/chains-api/electroneum.mdx | 3 + .../chains/chains-api/etherlink.mdx | 93 + .../rpc-service/chains/chains-api/flare.mdx | 3 + .../rpc-service/chains/chains-api/fuel.mdx | 3 + .../rpc-service/chains/chains-api/goat.mdx | 3 + .../rpc-service/chains/chains-api/gravity.mdx | 3 + .../chains/chains-api/iota-evm.mdx | 3 + .../rpc-service/chains/chains-api/iota.mdx | 3 + .../rpc-service/chains/chains-api/kaia.mdx | 3 + .../rpc-service/chains/chains-api/kava.mdx | 3 + .../rpc-service/chains/chains-api/kinto.mdx | 3 + .../rpc-service/chains/chains-api/linea.mdx | 3 + .../chains/chains-api/matchain.mdx | 3 + .../chains/chains-api/midnight.mdx | 3 + .../rpc-service/chains/chains-api/monad.mdx | 93 + .../chains/chains-api/movement.mdx | 3 + .../rpc-service/chains/chains-api/neura.mdx | 3 + .../chains/chains-api/polygon-zkevm.mdx | 1652 ----- .../rpc-service/chains/chains-api/scroll.mdx | 3 + content/rpc-service/chains/chains-api/sei.mdx | 3 + .../rpc-service/chains/chains-api/somnia.mdx | 3 + .../rpc-service/chains/chains-api/sonic.mdx | 3 + .../rpc-service/chains/chains-api/stellar.mdx | 3 + .../rpc-service/chains/chains-api/story.mdx | 3 + .../rpc-service/chains/chains-api/swell.mdx | 3 + content/rpc-service/chains/chains-api/tac.mdx | 3 + .../rpc-service/chains/chains-api/taiko.mdx | 3 + .../rpc-service/chains/chains-api/telos.mdx | 3 + content/rpc-service/chains/chains-api/ton.mdx | 3 + content/rpc-service/chains/chains-api/xai.mdx | 3 + content/rpc-service/chains/chains-api/xdc.mdx | 3 + .../rpc-service/chains/chains-api/xphere.mdx | 3 + content/rpc-service/chains/chains-api/xrp.mdx | 5332 +++++++++++++++++ content/rpc-service/chains/chains-list.mdx | 634 +- content/rpc-service/service-plans.mdx | 2 +- .../rpc-service/chains/chains-api/_meta.json | 0 public/build/chains-list/0g.png | Bin 0 -> 7074 bytes public/build/chains-list/allora.png | Bin 0 -> 10788 bytes public/build/chains-list/atleta.png | Bin 0 -> 4704 bytes public/build/chains-list/avail.png | Bin 0 -> 16908 bytes public/build/chains-list/avalanche.png | Bin 9562 -> 10544 bytes public/build/chains-list/b2.png | Bin 0 -> 14432 bytes public/build/chains-list/bahamut.png | Bin 0 -> 8744 bytes public/build/chains-list/base.png | Bin 8646 -> 7748 bytes public/build/chains-list/berachain.png | Bin 0 -> 8400 bytes public/build/chains-list/bitcoin.png | Bin 0 -> 11652 bytes public/build/chains-list/bitlayer.png | Bin 0 -> 9203 bytes public/build/chains-list/blast.png | Bin 0 -> 6978 bytes public/build/chains-list/botanix.png | Bin 0 -> 15074 bytes public/build/chains-list/core.png | Bin 0 -> 8707 bytes public/build/chains-list/corn.png | Bin 0 -> 16675 bytes public/build/chains-list/electroneum.png | Bin 0 -> 18486 bytes public/build/chains-list/ethereum-beacon.png | Bin 9059 -> 10080 bytes public/build/chains-list/etherlink.png | Bin 0 -> 10139 bytes public/build/chains-list/flare.png | Bin 0 -> 6913 bytes public/build/chains-list/fuel.png | Bin 0 -> 4991 bytes public/build/chains-list/gnosis-beacon.png | Bin 11047 -> 10972 bytes public/build/chains-list/gnosis.png | Bin 9018 -> 10026 bytes public/build/chains-list/goat.png | Bin 0 -> 9733 bytes public/build/chains-list/gravity.png | Bin 0 -> 15557 bytes public/build/chains-list/iota.png | Bin 0 -> 12271 bytes public/build/chains-list/kaia.png | Bin 0 -> 7955 bytes public/build/chains-list/kava.png | Bin 0 -> 7787 bytes public/build/chains-list/kinto.png | Bin 0 -> 21240 bytes public/build/chains-list/linea.png | Bin 0 -> 6960 bytes public/build/chains-list/matchain.png | Bin 0 -> 10206 bytes public/build/chains-list/midnight.png | Bin 0 -> 9265 bytes public/build/chains-list/monad.png | Bin 0 -> 10903 bytes public/build/chains-list/moonbeam.png | Bin 21163 -> 11934 bytes public/build/chains-list/movement.png | Bin 0 -> 10349 bytes public/build/chains-list/neura.png | Bin 0 -> 7609 bytes public/build/chains-list/scroll.png | Bin 22795 -> 9624 bytes public/build/chains-list/secret-network.png | Bin 12702 -> 11056 bytes public/build/chains-list/sei.png | Bin 0 -> 10399 bytes public/build/chains-list/somnia.png | Bin 0 -> 15031 bytes public/build/chains-list/sonic.png | Bin 0 -> 21928 bytes public/build/chains-list/stellar.png | Bin 0 -> 10348 bytes public/build/chains-list/story.png | Bin 0 -> 8522 bytes public/build/chains-list/swell.png | Bin 0 -> 13419 bytes public/build/chains-list/tac.png | Bin 0 -> 9878 bytes public/build/chains-list/taiko.png | Bin 0 -> 10213 bytes public/build/chains-list/telos.png | Bin 0 -> 10673 bytes public/build/chains-list/ton.png | Bin 0 -> 8339 bytes public/build/chains-list/tron.png | Bin 22111 -> 10281 bytes public/build/chains-list/xai.png | Bin 0 -> 11563 bytes public/build/chains-list/xdc.png | Bin 0 -> 7637 bytes public/build/chains-list/xphere.png | Bin 0 -> 17040 bytes public/build/chains-list/xrp.png | Bin 0 -> 9603 bytes public/build/chains-list/zk-sync.png | Bin 9304 -> 7759 bytes public/build/node-api.png | Bin 0 -> 552838 bytes public/build/scaling.png | Bin 0 -> 691747 bytes 111 files changed, 5950 insertions(+), 2057 deletions(-) create mode 100644 content/rpc-service/chains/chains-api/xrp.mdx create mode 100644 pages/rpc-service/chains/chains-api/_meta.json create mode 100644 public/build/chains-list/0g.png create mode 100644 public/build/chains-list/allora.png create mode 100644 public/build/chains-list/atleta.png create mode 100644 public/build/chains-list/avail.png create mode 100644 public/build/chains-list/b2.png create mode 100644 public/build/chains-list/bahamut.png create mode 100644 public/build/chains-list/berachain.png create mode 100644 public/build/chains-list/bitcoin.png create mode 100644 public/build/chains-list/bitlayer.png create mode 100644 public/build/chains-list/blast.png create mode 100644 public/build/chains-list/botanix.png create mode 100644 public/build/chains-list/core.png create mode 100644 public/build/chains-list/corn.png create mode 100644 public/build/chains-list/electroneum.png create mode 100644 public/build/chains-list/etherlink.png create mode 100644 public/build/chains-list/flare.png create mode 100644 public/build/chains-list/fuel.png create mode 100644 public/build/chains-list/goat.png create mode 100644 public/build/chains-list/gravity.png create mode 100644 public/build/chains-list/iota.png create mode 100644 public/build/chains-list/kaia.png create mode 100644 public/build/chains-list/kava.png create mode 100644 public/build/chains-list/kinto.png create mode 100644 public/build/chains-list/linea.png create mode 100644 public/build/chains-list/matchain.png create mode 100644 public/build/chains-list/midnight.png create mode 100644 public/build/chains-list/monad.png create mode 100644 public/build/chains-list/movement.png create mode 100644 public/build/chains-list/neura.png create mode 100644 public/build/chains-list/sei.png create mode 100644 public/build/chains-list/somnia.png create mode 100644 public/build/chains-list/sonic.png create mode 100644 public/build/chains-list/stellar.png create mode 100644 public/build/chains-list/story.png create mode 100644 public/build/chains-list/swell.png create mode 100644 public/build/chains-list/tac.png create mode 100644 public/build/chains-list/taiko.png create mode 100644 public/build/chains-list/telos.png create mode 100644 public/build/chains-list/ton.png create mode 100644 public/build/chains-list/xai.png create mode 100644 public/build/chains-list/xdc.png create mode 100644 public/build/chains-list/xphere.png create mode 100644 public/build/chains-list/xrp.png create mode 100644 public/build/node-api.png create mode 100644 public/build/scaling.png diff --git a/content/advanced-api/javascript-sdk.mdx b/content/advanced-api/javascript-sdk.mdx index ed6d2abf2..ce234c270 100644 --- a/content/advanced-api/javascript-sdk.mdx +++ b/content/advanced-api/javascript-sdk.mdx @@ -49,10 +49,8 @@ Currently, `ankr.js` supports interaction with the following chains using their * Fantom: `fantom`. * Flare: `flare`. * Gnosis: `gnosis` - * Linea: `linea`. * Optimism: `optimism`. * Polygon: `polygon`. - * Polygon zkEVM: `polygon_zkevm`. * Scroll: `scroll`. * Stellar: `stellar`. * Story: `story_mainnet`. diff --git a/content/advanced-api/nft-methods.mdx b/content/advanced-api/nft-methods.mdx index c721e42a6..0da920a17 100644 --- a/content/advanced-api/nft-methods.mdx +++ b/content/advanced-api/nft-methods.mdx @@ -43,8 +43,8 @@ Build your request using the parameters below. * `params` (object): the data object containing request body parameters: * `walletAddress` (string; required): an account address to query for NFTs; supports the Ethereum Name Service (ENS). * `blockchain` (string): a chain or a combination of chains to query: - * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. - * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, linea, optimism, polygon, polygon_zkevm, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holesky, eth_sepolia, optimism_testnet, polygon_amoy, story_aeneid_testnet]`. + * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. + * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, optimism, polygon, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holesky, eth_sepolia, optimism_testnet, polygon_amoy, story_aeneid_testnet]`. * All chains: leave the value empty to query all the chains available. * `pageSize` (int32): a number of page results you'd like to get (default=10, max=50). * `pageToken` (string): a token is provided at the end of the response body and can be referenced in the request to fetch the next page. @@ -108,7 +108,7 @@ A successful response contains the following parameters: * `id` (int64; required): * `jsonrpc` (string; required): * `result` (object): the data object containing a list of NFT assets and their metadata: - * `blockchain` (string; required): one of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): one of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `collectionName` (string): a collection name the NFT asset belongs to. * `contractAddress` (string): an NFT collection's EVM-compatible contract address. * `contractType` (int32): a type of the contract — either ERC721 or ERC1155. @@ -350,7 +350,7 @@ Build your request using the parameters below. * `method` (string; required): a method used for the request. * `params` (object): the data object containing request body parameters. - * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `contractAddress` (string): an address of the NFT contract the metadata belongs to; supports the Ethereum Name Service (ENS). * `forceFetch` (boolean): source of NFT metadata — `true` the contract, `false` the database. * `skipSyncCheck` (boolean): if set to `true`, the info will be returned regardless of indexer health. @@ -398,7 +398,7 @@ A successful request returns, along with the general parameters, the `result` ob * `result` (object): the data object containing the NFT metadata and NFT attributes: * `metadata` (object): the data object containing the NFT metadata: - * `blockchain` (string; required): one of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): one of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `contractAddress` (string): a contract address of the NFT Collection; supports the Ethereum Name Service (ENS). * `contractType` (string): a contract type of the NFT the metadata belongs to (example: ERC721, ERC1155). * `tokenId` (string): a token ID of the NFT the metadata belongs to (example: 7822). @@ -552,7 +552,7 @@ Build your request using the parameters below. * `method` (string; required): a method used for the request. * `params` (object): the data object containing request body parameters. - * `blockchain` (string; required): either of the supported blockchains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): either of the supported blockchains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `contractAddress` (string): a contract address of the NFT collection; supports the Ethereum Name Service (ENS). * `pageSize` (integer): a number of results you'd like to get (max: `10000`, default: `1000`). * `pageToken` (string): a current page token provided at the end of the response body; can be referenced in the request to fetch the next page. @@ -691,7 +691,7 @@ Build your request using the parameters below. * `params` (object): the data object containing request body parameters. * `address` (array of strings; required): an address (or list of addresses) to search for transactions. - * `blockchain` (array of strings): either of the supported blockchains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (array of strings): either of the supported blockchains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `descOrder` (boolean): choose data order, either descending (if `true`) or ascending (if `false`). * `fromBlock` (integer): narrow your search indicating the block number to start from (inclusive; `>= 0`). * `toBlock` (integer): narrow your search indicating the block number to end with (inclusive; `>= 0`). diff --git a/content/advanced-api/overview.mdx b/content/advanced-api/overview.mdx index 4931cf1fa..324eacb12 100644 --- a/content/advanced-api/overview.mdx +++ b/content/advanced-api/overview.mdx @@ -33,10 +33,8 @@ Currently, Advanced API supports querying the following chains using their alias * Fantom: `fantom`. * Flare: `flare`. * Gnosis: `gnosis` - * Linea: `linea`. * Optimism: `optimism`. * Polygon: `polygon`. - * Polygon zkEVM: `polygon_zkevm`. * Scroll: `scroll`. * Stellar: `stellar`. * Story: `story_mainnet`. diff --git a/content/advanced-api/python-sdk.mdx b/content/advanced-api/python-sdk.mdx index 001a4f4fe..ba82d111d 100644 --- a/content/advanced-api/python-sdk.mdx +++ b/content/advanced-api/python-sdk.mdx @@ -82,10 +82,8 @@ Currently, `ankr.py` supports interaction with the following chains using their * Fantom: `fantom`. * Flare: `flare`. * Gnosis: `gnosis` - * Linea: `linea`. * Optimism: `optimism`. * Polygon: `polygon`. - * Polygon zkEVM: `polygon_zkevm`. * Scroll: `scroll`. * Stellar: `stellar`. * Story: `story_mainnet`. diff --git a/content/advanced-api/query-methods.mdx b/content/advanced-api/query-methods.mdx index 192a3cf43..81235cbfb 100644 --- a/content/advanced-api/query-methods.mdx +++ b/content/advanced-api/query-methods.mdx @@ -43,8 +43,8 @@ Build your request using the parameters below. * `params` (object): the data object containing request body parameters: * `blockchain` (string): a chain or a combination of chains to query: - * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. - * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, linea, optimism, polygon, polygon_zkevm, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holelsky, eth_sepolia, polygon_amoy, story_aeneid_testnet]`. + * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. + * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, optimism, polygon, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holelsky, eth_sepolia, polygon_amoy, story_aeneid_testnet]`. * All chains: leave the value empty to query all the chains available. = 0`). Supported value formats: hex, decimal, "earliest", "latest". * `toBlock` (integer): narrow your search indicating the block number to end with (inclusive; `>= 0`). Supported value formats: hex, decimal, "earliest", "latest". diff --git a/content/advanced-api/react-hooks.mdx b/content/advanced-api/react-hooks.mdx index 664f54549..ccbcb5268 100644 --- a/content/advanced-api/react-hooks.mdx +++ b/content/advanced-api/react-hooks.mdx @@ -59,10 +59,8 @@ const Page = () => { * Fantom: `fantom`. * Flare: `flare`. * Gnosis: `gnosis` - * Linea: `linea`. * Optimism: `optimism`. * Polygon: `polygon`. - * Polygon zkEVM: `polygon_zkevm`. * Scroll: `scroll`. * Stellar: `stellar`. * Story: `story_mainnet`. diff --git a/content/advanced-api/token-methods.mdx b/content/advanced-api/token-methods.mdx index bf1d6b27f..0f14987f7 100644 --- a/content/advanced-api/token-methods.mdx +++ b/content/advanced-api/token-methods.mdx @@ -46,8 +46,8 @@ Build your request using the parameters below. * `params` (object): the data object containing request body parameters: * `blockchain` (string): a chain or a combination of chains to query: - * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. - * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, linea, optimism, polygon, polygon_zkevm, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holesky, eth_sepolia, optimism_testnet, polygon_amoy, story_aeneid_testnet]`. + * Single chain: `arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`. + * Chains combination: `[arbitrum, avalanche, base, bsc, eth, fantom, flare, gnosis, optimism, polygon, scroll, stellar, story_mainnet, syscoin, telos, xai, xlayer, avalanche_fuji, base_sepolia, eth_holesky, eth_sepolia, optimism_testnet, polygon_amoy, story_aeneid_testnet]`. * All chains: leave the value empty to query all the chains available. * `nativeFirst` (boolean): sorting order. Native network token first (true) or not (false). * `onlyWhitelisted` (boolean; default: `true`): only show tokens listed on CoinGekko (`true`) or all the tokens (`false`). Default — `true`. @@ -241,7 +241,7 @@ Build your request using the parameters below. * `method` (string; required): a method used for the request. * `params` (object): the data object containing request body parameters: - * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). = 0`). Supported value formats: hex, decimal, "earliest", "latest". @@ -1009,7 +1009,7 @@ Build your request using the parameters below. * `method` (string; required): a method used for the request. * `params` (object): the data object containing request body parameters: - * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `linea`, `optimism`, `polygon`, `polygon_zkevm`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). + * `blockchain` (string; required): either of the supported chains (`arbitrum`, `avalanche`, `base`, `bsc`, `eth`, `fantom`, `flare`, `gnosis`, `optimism`, `polygon`, `scroll`, `stellar`, `story_mainnet`, `syscoin`, `telos`, `xai`, `xlayer`, `avalanche_fuji`, `base_sepolia`, `eth_holesky`, `eth_sepolia`, `optimism_testnet`, `polygon_amoy`, `story_aeneid_testnet`). * `contractAddress` (string): an address of the token contract; supports the Ethereum Name Service (ENS). If not provided, returns the native coin price of the blockchain specified. * `fromTimestamp` (integer): narrow your search indicating the UNIX timestamp to start from (inclusive; `>= 0`). * `toTimestamp` (integer): narrow your search indicating the UNIX timestamp to end with (inclusive; `>=0`). diff --git a/content/index.mdx b/content/index.mdx index ecc42efeb..2e6932e5d 100644 --- a/content/index.mdx +++ b/content/index.mdx @@ -12,7 +12,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come ## Node API
    - + * Access RPC/REST Endpoints via HTTPS or WebSockets. * Interact with 80+ [supported blockchains](/rpc-service/chains/chains-list/). @@ -35,22 +35,6 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come [Query multiple chains for most popular Web3 scenarios](advanced-api/overview)
    -[//]: # (## Blockchain Node Snapshots) - -[//]: # (
    ) - -[//]: # (* Sync your nodes via the blockchain snapshots our Infrastructure engineering teams use. ) - -[//]: # (* Download the snapshots available for Ethereum, Polygon, and BNB Smart Chain.) - -[//]: # (
    ) - -[//]: # (
    ) - -[//]: # ( [Sync your node via the trusted blockchain snapshots](/node-snapshot)) - -[//]: # (
    ) - ## Contract Automation
    @@ -67,7 +51,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come ## Scaling Services
    - + * Transition from Web2 to Web3 seamlessly. * Choose between two major products-as-a-service: Sidechains or Rollups. diff --git a/content/rpc-service/chains/chains-api/0g.mdx b/content/rpc-service/chains/chains-api/0g.mdx index 62280891b..661f34e6b 100644 --- a/content/rpc-service/chains/chains-api/0g.mdx +++ b/content/rpc-service/chains/chains-api/0g.mdx @@ -3,6 +3,9 @@ import { Callout } from "components"; import { Tabs } from "nextra/components"; # 0G +
    + + > 0G API is available on [Web3 API platform](https://www.ankr.com/rpc/0g). diff --git a/content/rpc-service/chains/chains-api/allora.mdx b/content/rpc-service/chains/chains-api/allora.mdx index a36fdb198..7d5664dda 100644 --- a/content/rpc-service/chains/chains-api/allora.mdx +++ b/content/rpc-service/chains/chains-api/allora.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # Allora +
    + + > Allora API is available on [Web3 API platform](https://www.ankr.com/rpc/allora). diff --git a/content/rpc-service/chains/chains-api/atleta.mdx b/content/rpc-service/chains/chains-api/atleta.mdx index a3646edba..e8663ae95 100644 --- a/content/rpc-service/chains/chains-api/atleta.mdx +++ b/content/rpc-service/chains/chains-api/atleta.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Atleta +
    + + > Atleta API is available on [Web3 API platform](https://www.ankr.com/rpc/atleta). diff --git a/content/rpc-service/chains/chains-api/avail.mdx b/content/rpc-service/chains/chains-api/avail.mdx index 6c2f04180..97259b005 100644 --- a/content/rpc-service/chains/chains-api/avail.mdx +++ b/content/rpc-service/chains/chains-api/avail.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Avail +
    + + > Avail API is available on [Web3 API platform](https://www.ankr.com/rpc/avail). diff --git a/content/rpc-service/chains/chains-api/b2-network.mdx b/content/rpc-service/chains/chains-api/b2-network.mdx index 79898c7e2..7c6afa131 100644 --- a/content/rpc-service/chains/chains-api/b2-network.mdx +++ b/content/rpc-service/chains/chains-api/b2-network.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # B2 Network +
    + + > B² Network API is available on [Web3 API platform](https://www.ankr.com/rpc/b2). diff --git a/content/rpc-service/chains/chains-api/bahamut.mdx b/content/rpc-service/chains/chains-api/bahamut.mdx index b0999cd7b..df8554af5 100644 --- a/content/rpc-service/chains/chains-api/bahamut.mdx +++ b/content/rpc-service/chains/chains-api/bahamut.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Bahamut +
    + + > Bahamut API is available on [Web3 API platform](https://www.ankr.com/rpc/bahamut). diff --git a/content/rpc-service/chains/chains-api/bitlayer.mdx b/content/rpc-service/chains/chains-api/bitlayer.mdx index 06ba2a78b..88efac85e 100644 --- a/content/rpc-service/chains/chains-api/bitlayer.mdx +++ b/content/rpc-service/chains/chains-api/bitlayer.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Bitlayer +
    + + > Bitlayer API is available on [Web3 API platform](https://www.ankr.com/rpc/bitlayer). diff --git a/content/rpc-service/chains/chains-api/blast.mdx b/content/rpc-service/chains/chains-api/blast.mdx index e2d83f708..13fed38df 100644 --- a/content/rpc-service/chains/chains-api/blast.mdx +++ b/content/rpc-service/chains/chains-api/blast.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Blast +
    + + > Blast API is available on [Web3 API platform](https://www.ankr.com/rpc/blast/). diff --git a/content/rpc-service/chains/chains-api/botanix.mdx b/content/rpc-service/chains/chains-api/botanix.mdx index e0079d3d5..418c05aa4 100644 --- a/content/rpc-service/chains/chains-api/botanix.mdx +++ b/content/rpc-service/chains/chains-api/botanix.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Botanix +
    + + > Botanix API is available on [Web3 API platform](https://www.ankr.com/rpc/botanix). diff --git a/content/rpc-service/chains/chains-api/btc.mdx b/content/rpc-service/chains/chains-api/btc.mdx index 2c85043c0..9ed852f61 100644 --- a/content/rpc-service/chains/chains-api/btc.mdx +++ b/content/rpc-service/chains/chains-api/btc.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # Bitcoin +
    + + > Bitcoin API is available on [Web3 API platform](https://www.ankr.com/rpc/btc). diff --git a/content/rpc-service/chains/chains-api/core.mdx b/content/rpc-service/chains/chains-api/core.mdx index a55576c2e..62ff60a3f 100644 --- a/content/rpc-service/chains/chains-api/core.mdx +++ b/content/rpc-service/chains/chains-api/core.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Core +
    + + > Core API is available on [Web3 API platform](https://www.ankr.com/rpc/core). diff --git a/content/rpc-service/chains/chains-api/corn.mdx b/content/rpc-service/chains/chains-api/corn.mdx index 7f4135e64..596ac96b2 100644 --- a/content/rpc-service/chains/chains-api/corn.mdx +++ b/content/rpc-service/chains/chains-api/corn.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Corn +
    + + > Corn API is available on [Web3 API platform](https://www.ankr.com/rpc/corn). diff --git a/content/rpc-service/chains/chains-api/electroneum.mdx b/content/rpc-service/chains/chains-api/electroneum.mdx index e77c80375..2cc0722c5 100644 --- a/content/rpc-service/chains/chains-api/electroneum.mdx +++ b/content/rpc-service/chains/chains-api/electroneum.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Electroneum +
    + + > Electroneum API is available on [Web3 API platform](https://www.ankr.com/rpc/electroneum). diff --git a/content/rpc-service/chains/chains-api/etherlink.mdx b/content/rpc-service/chains/chains-api/etherlink.mdx index ac506bfa9..1975cff38 100644 --- a/content/rpc-service/chains/chains-api/etherlink.mdx +++ b/content/rpc-service/chains/chains-api/etherlink.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Etherlink +
    + + > Etherlink API is available on [Web3 API platform](https://www.ankr.com/rpc/etherlink). @@ -31,6 +34,7 @@ Responses come in [JSON format](https://www.json.org/json-en.html). * [`eth_getUncleCountByBlockNumber`](/rpc-service/chains/chains-api/etherlink/#eth_getunclecountbyblocknumber) — returns the number of uncles in a block specified by block number. * [`eth_getCode`](/rpc-service/chains/chains-api/etherlink/#eth_getcode) — returns code at an address specified. * [`eth_sendRawTransaction`](/rpc-service/chains/chains-api/etherlink/#eth_sendrawtransaction) — creates a new message call transaction or a contract creation for signed transactions. + * [`eth_sendRawTransactionSync`](/rpc-service/chains/chains-api/etherlink/#eth_sendrawtransactionsync) — submits a transaction and retrieves the transaction receipt. * [`eth_call`](/rpc-service/chains/chains-api/etherlink/#eth_call) — executes a new message call immediately without creating a transaction on the blockchain. * [`eth_estimateGas`](/rpc-service/chains/chains-api/etherlink/#eth_estimategas) — generates and returns an estimate of how much gas is necessary to allow the transaction to complete. * [`eth_getBlockByHash`](/rpc-service/chains/chains-api/etherlink/#eth_getblockbyhash) — returns information for the block specified by block hash. @@ -704,6 +708,95 @@ curl -X POST https://rpc.ankr.com/etherlink_mainnet \ --- +## `eth_sendRawTransactionSync` + +> Submits a transaction and retrieves the transaction receipt. + +Synchronous transaction submission; waits for transaction to be included in a block before returning. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + 1. `` (data; required): the valid hex-encoded, RLP-encoded signed transaction. + 2. `` (quantity; optional): maximum wait time in milliseconds. MUST be a positive integer not greater than the node-configured maximum timeout. + +### Returns + + * `object`: a transaction receipt object, or null when no receipt was found: + + * `transactionHash` (string; data, 32 bytes): a hash of the transaction. + * `transactionIndex` (string; quantity): the transactions index position in the block. + * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction. + * `blockNumber` (string; quantity): a number of the block containing the transaction. + * `from` (string; data, 20 bytes): an address of the sender. + * `to` (string; data, 20 bytes): an address of the receiver; null when it's a contract creation transaction. + * `cumulativeGasUsed` (string; quantity): the total amount of gas used when this transaction was executed in the block. + * `effectiveGasPrice` (string; quantity): the sum of the base fee and tip paid per unit of gas. + * `gasUsed` (string; quantity): the amount of gas used by this specific transaction alone. + * `contractAddress` (string; data, 20 bytes): the contract address created, if the transaction was a contract creation, otherwise null. + * `logs` (array): an array of log objects, which this transaction generated. + * `logsBloom` (string; data, 256 bytes): a bloom filter for light clients to quickly retrieve related logs. + * `type` (string; data): the transaction type, `0x00` for legacy transactions, `0x01` for access list types, `0x02` for dynamic fees. It also returns either of the following: + + * `root` (string; data, 32 bytes): a post-transaction stateroot (pre Byzantium). + * `status` (string; quantity): either 1 (success) or 0 (failure). + +### Request example (no timeout) + +```shell +curl -X POST https://rpc.ankr.com/etherlink_mainnet \ +-H 'Content-Type: application/json' \ +-d '{ + "jsonrpc": "2.0", + "method": "eth_sendRawTransactionSync", + "params": [ + "0xf86c808504a817c80082520894ab... (signed tx hex)" + ], + "id": 1 + }' +``` + +### Request example (with timeout) + +```shell +curl -X POST https://rpc.ankr.com/etherlink_mainnet \ +-H 'Content-Type: application/json' \ +-d '{ + "jsonrpc": "2.0", + "method": "eth_sendRawTransactionSync", + "params": [ + "0xf86c808504a817c80082520894ab... (signed tx hex)", + 5000 + ], + "id": 1 + }' +``` + +### Response example + +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "transactionHash": "0x1234abcd...", + "blockHash": "0xabcd1234...", + "blockNumber": "0x10d4f", + "cumulativeGasUsed": "0x5208", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1" + } +} +``` + +--- + ## `eth_call` > Executes a new message call immediately without creating a transaction on the blockchain. diff --git a/content/rpc-service/chains/chains-api/flare.mdx b/content/rpc-service/chains/chains-api/flare.mdx index 1ad151522..778b733c0 100644 --- a/content/rpc-service/chains/chains-api/flare.mdx +++ b/content/rpc-service/chains/chains-api/flare.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Flare +
    + + > Flare API is available on [Web3 API platform](https://www.ankr.com/rpc/flare). diff --git a/content/rpc-service/chains/chains-api/fuel.mdx b/content/rpc-service/chains/chains-api/fuel.mdx index a246957a7..ee1b2603b 100644 --- a/content/rpc-service/chains/chains-api/fuel.mdx +++ b/content/rpc-service/chains/chains-api/fuel.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Fuel +
    + + > Fuel API is available on [Web3 API platform](https://www.ankr.com/rpc/fuel). diff --git a/content/rpc-service/chains/chains-api/goat.mdx b/content/rpc-service/chains/chains-api/goat.mdx index 898a25b7e..5c150ed58 100644 --- a/content/rpc-service/chains/chains-api/goat.mdx +++ b/content/rpc-service/chains/chains-api/goat.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # GOAT +
    + + > GOAT API is available on [Web3 API platform](https://www.ankr.com/rpc/goat). diff --git a/content/rpc-service/chains/chains-api/gravity.mdx b/content/rpc-service/chains/chains-api/gravity.mdx index 6af1e2777..3c80d0e8e 100644 --- a/content/rpc-service/chains/chains-api/gravity.mdx +++ b/content/rpc-service/chains/chains-api/gravity.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Gravity +
    + + > Gravity API is available on [Web3 API platform](https://www.ankr.com/rpc/gravity). diff --git a/content/rpc-service/chains/chains-api/iota-evm.mdx b/content/rpc-service/chains/chains-api/iota-evm.mdx index 6bb78266b..becea84a3 100644 --- a/content/rpc-service/chains/chains-api/iota-evm.mdx +++ b/content/rpc-service/chains/chains-api/iota-evm.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Iota EVM +
    + + > Iota EVM API is available on [Web3 API platform](https://www.ankr.com/rpc/iota_evm). diff --git a/content/rpc-service/chains/chains-api/iota.mdx b/content/rpc-service/chains/chains-api/iota.mdx index 0e6b6c982..725523665 100644 --- a/content/rpc-service/chains/chains-api/iota.mdx +++ b/content/rpc-service/chains/chains-api/iota.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # IOTA +
    + + > IOTA API is available on [Web3 API platform](https://www.ankr.com/rpc/iota). diff --git a/content/rpc-service/chains/chains-api/kaia.mdx b/content/rpc-service/chains/chains-api/kaia.mdx index 2650f4a84..bbe08df4a 100644 --- a/content/rpc-service/chains/chains-api/kaia.mdx +++ b/content/rpc-service/chains/chains-api/kaia.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Kaia +
    + + > Kaia API is available on [Web3 API platform](https://www.ankr.com/rpc/kaia). diff --git a/content/rpc-service/chains/chains-api/kava.mdx b/content/rpc-service/chains/chains-api/kava.mdx index b6c68e17c..3e1194e69 100644 --- a/content/rpc-service/chains/chains-api/kava.mdx +++ b/content/rpc-service/chains/chains-api/kava.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # Kava +
    + + > Kava API is available on [Web3 API platform](https://www.ankr.com/rpc/kava). diff --git a/content/rpc-service/chains/chains-api/kinto.mdx b/content/rpc-service/chains/chains-api/kinto.mdx index 97c33a576..be26bff2f 100644 --- a/content/rpc-service/chains/chains-api/kinto.mdx +++ b/content/rpc-service/chains/chains-api/kinto.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Kinto +
    + + > Kinto API is available on [Web3 API platform](https://www.ankr.com/rpc/kinto). diff --git a/content/rpc-service/chains/chains-api/linea.mdx b/content/rpc-service/chains/chains-api/linea.mdx index abc9bc0b3..0bda59cb6 100644 --- a/content/rpc-service/chains/chains-api/linea.mdx +++ b/content/rpc-service/chains/chains-api/linea.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Linea +
    + + Available for [Premium](/rpc-service/service-plans/#service-plans-comparison) users only. diff --git a/content/rpc-service/chains/chains-api/matchain.mdx b/content/rpc-service/chains/chains-api/matchain.mdx index ccf903e11..94ff9e036 100644 --- a/content/rpc-service/chains/chains-api/matchain.mdx +++ b/content/rpc-service/chains/chains-api/matchain.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Matchain +
    + + > Matchain API is available on [Web3 API platform](https://www.ankr.com/rpc/matchain). diff --git a/content/rpc-service/chains/chains-api/midnight.mdx b/content/rpc-service/chains/chains-api/midnight.mdx index e8ffba870..55d210ee5 100644 --- a/content/rpc-service/chains/chains-api/midnight.mdx +++ b/content/rpc-service/chains/chains-api/midnight.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Midnight +
    + + > Midnight API is available on [Web3 API platform](https://www.ankr.com/rpc/midnight). diff --git a/content/rpc-service/chains/chains-api/monad.mdx b/content/rpc-service/chains/chains-api/monad.mdx index 9765792de..61b082fde 100644 --- a/content/rpc-service/chains/chains-api/monad.mdx +++ b/content/rpc-service/chains/chains-api/monad.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Monad +
    + + > Monad API is available on [Web3 API platform](https://www.ankr.com/rpc/monad). @@ -38,6 +41,7 @@ Responses come in [JSON format](https://www.json.org/json-en.html). * [`eth_getBlockTransactionCountByNumber`](/rpc-service/chains/chains-api/monad/#eth_getblocktransactioncountbynumber) — returns the number of transactions in the block specified by number. * [`eth_getCode`](/rpc-service/chains/chains-api/monad/#eth_getcode) — returns code at an address specified. * [`eth_sendRawTransaction`](/rpc-service/chains/chains-api/monad/#eth_sendrawtransaction) — creates a new message call transaction or a contract creation for signed transactions. + * [`eth_sendRawTransactionSync`](/rpc-service/chains/chains-api/monad/#eth_sendrawtransactionsync) — submits a transaction and retrieves the transaction receipt. * [`eth_call`](/rpc-service/chains/chains-api/monad/#eth_call) — executes a new message call immediately without creating a transaction on the blockchain. * [`eth_estimateGas`](/rpc-service/chains/chains-api/monad/#eth_estimategas) — generates and returns an estimate of how much gas is necessary to allow the transaction to complete. * [`eth_getBlockByHash`](/rpc-service/chains/chains-api/monad/#eth_getblockbyhash) — returns information for the block specified by block hash. @@ -583,6 +587,95 @@ curl -X POST https://rpc.ankr.com/monad_testnet \ --- +## `eth_sendRawTransactionSync` + +> Submits a transaction and retrieves the transaction receipt. + +Synchronous transaction submission; waits for transaction to be included in a block before returning. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + 1. `` (data; required): the valid hex-encoded, RLP-encoded signed transaction. + 2. `` (quantity; optional): maximum wait time in milliseconds. MUST be a positive integer not greater than the node-configured maximum timeout. + +### Returns + + * `object`: a transaction receipt object, or null when no receipt was found: + + * `transactionHash` (string; data, 32 bytes): a hash of the transaction. + * `transactionIndex` (string; quantity): the transactions index position in the block. + * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction. + * `blockNumber` (string; quantity): a number of the block containing the transaction. + * `from` (string; data, 20 bytes): an address of the sender. + * `to` (string; data, 20 bytes): an address of the receiver; null when it's a contract creation transaction. + * `cumulativeGasUsed` (string; quantity): the total amount of gas used when this transaction was executed in the block. + * `effectiveGasPrice` (string; quantity): the sum of the base fee and tip paid per unit of gas. + * `gasUsed` (string; quantity): the amount of gas used by this specific transaction alone. + * `contractAddress` (string; data, 20 bytes): the contract address created, if the transaction was a contract creation, otherwise null. + * `logs` (array): an array of log objects, which this transaction generated. + * `logsBloom` (string; data, 256 bytes): a bloom filter for light clients to quickly retrieve related logs. + * `type` (string; data): the transaction type, `0x00` for legacy transactions, `0x01` for access list types, `0x02` for dynamic fees. It also returns either of the following: + + * `root` (string; data, 32 bytes): a post-transaction stateroot (pre Byzantium). + * `status` (string; quantity): either 1 (success) or 0 (failure). + +### Request example (no timeout) + +```shell +curl -X POST https://rpc.ankr.com/monad_testnet \ +-H 'Content-Type: application/json' \ +-d '{ + "jsonrpc": "2.0", + "method": "eth_sendRawTransactionSync", + "params": [ + "0xf86c808504a817c80082520894ab... (signed tx hex)" + ], + "id": 1 + }' +``` + +### Request example (with timeout) + +```shell +curl -X POST https://rpc.ankr.com/monad_testnet \ +-H 'Content-Type: application/json' \ +-d '{ + "jsonrpc": "2.0", + "method": "eth_sendRawTransactionSync", + "params": [ + "0xf86c808504a817c80082520894ab... (signed tx hex)", + 5000 + ], + "id": 1 + }' +``` + +### Response example + +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "transactionHash": "0x1234abcd...", + "blockHash": "0xabcd1234...", + "blockNumber": "0x10d4f", + "cumulativeGasUsed": "0x5208", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1" + } +} +``` + +--- + ## `eth_call` > Executes a new message call immediately without creating a transaction on the blockchain. diff --git a/content/rpc-service/chains/chains-api/movement.mdx b/content/rpc-service/chains/chains-api/movement.mdx index ea19110ef..c4e8b5a59 100644 --- a/content/rpc-service/chains/chains-api/movement.mdx +++ b/content/rpc-service/chains/chains-api/movement.mdx @@ -1,4 +1,7 @@ # Movement +
    + + > Movement API is available on [Web3 API platform](https://www.ankr.com/rpc/movement). diff --git a/content/rpc-service/chains/chains-api/neura.mdx b/content/rpc-service/chains/chains-api/neura.mdx index 407fc3cb9..05767d539 100644 --- a/content/rpc-service/chains/chains-api/neura.mdx +++ b/content/rpc-service/chains/chains-api/neura.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Neura +
    + + > Neura API is available on [Web3 API platform](https://www.ankr.com/rpc/neura). diff --git a/content/rpc-service/chains/chains-api/polygon-zkevm.mdx b/content/rpc-service/chains/chains-api/polygon-zkevm.mdx index 03dc02a99..e69de29bb 100644 --- a/content/rpc-service/chains/chains-api/polygon-zkevm.mdx +++ b/content/rpc-service/chains/chains-api/polygon-zkevm.mdx @@ -1,1652 +0,0 @@ -import { Callout } from "components"; - -# Polygon zkEVM -
    - - - -> Polygon zkEVM API is available on [Web3 API platform](https://www.ankr.com/rpc/polygon_zkevm/{your_token}). - -*Polygon zkEVM* is the first zero-knowledge scaling solution that is fully equivalent to an EVM. All existing smart contracts, developer tooling, and wallets work seamlessly. Polygon zkEVM harnesses the power of zero-knowledge proofs in order to reduce transaction costs and massively increase throughput, all while inheriting the security of Ethereum. - -Building dApps on zkEVM is completely similar to Ethereum. Simply switch to the zkEVM RPC and start building on a network with much higher throughput and lower fees. Polygon zkEVM provides a complete EVM-like experience for Developers and Users alike. So you do not need special toolings or new wallets for building or interacting with zkEVM. - -In order for your Web3 application to interact with Polygon zkEVM — either by reading blockchain data or sending transactions to the network — it must connect to a Polygon zkEVM node. Developers interact with the blockchain using the methods provided by the API. - -The API interaction follows the [JSON-RPC](https://www.jsonrpc.org/specification) which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format. - ---- - -## Methods supported - - * [`web3_clientVersion`](/rpc-service/chains/chains-api/polygon-zkevm/#web3_clientversion) — returns the current client version. - * [`web3_sha3`](/rpc-service/chains/chains-api/polygon-zkevm/#web3_sha3) — returns Keccak-256 (not the standardized SHA3-256) of the given data. - * [`net_version`](/rpc-service/chains/chains-api/polygon-zkevm/#net_version) — returns the current network ID. - * [`eth_protocolversion`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_protocolversion) — returns the current Ethereum protocol version. - * [`eth_syncing`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_syncing) — returns data on the sync status or false. - * [`eth_gasPrice`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gasprice) — returns the current price per gas in wei. - * [`eth_blockNumber`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_blocknumber) — returns the number of most recent block. - * [`eth_getBalance`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getbalance) — returns the balance of the account specified by address. - * [`eth_getStorageAt`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getstorageat) — returns the value from a storage position at an address specified. - * [`eth_getTransactionCount`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactioncount) — returns the number of transactions sent from an address. - * [`eth_getBlockTransactionCountByHash`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getblocktransactioncountbyhash) — returns the number of transactions in a block specified by block hash. - * [`eth_getBlockTransactionCountByNumber`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getblocktransactioncountbynumber) — returns the number of transactions in the block specified by number. - * [`eth_getUncleCountByBlockHash`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getunclecountbyblockhash) — returns the number of uncles in a block specified by block hash. - * [`eth_getUncleCountByBlockNumber`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getunclecountbyblocknumber) — returns the number of uncles in a block specified by block number. - * [`eth_getCode`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getcode) — returns code at an address specified. - * [`eth_sendRawTransaction`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_sendrawtransaction) — creates a new message call transaction or a contract creation for signed transactions. - * [`eth_call`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_call) — executes a new message call immediately without creating a transaction on the blockchain. - * [`eth_estimateGas`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_estimategas) — generates and returns an estimate of how much gas is necessary to allow the transaction to complete. - * [`eth_getBlockByHash`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getblockbyhash) — returns information for the block specified by block hash. - * [`eth_getBlockByNumber`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getblockbynumber) — returns information for the block specified by block number. - * [`eth_getTransactionByHash`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactionbyhash) — returns information on a transaction specified by transaction hash. - * [`eth_getTransactionByBlockHashAndIndex`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactionbyblockhashandindex) — returns information on a transaction specified by block hash and transaction index position. - * [`eth_getTransactionByBlockNumberAndIndex`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactionbyblocknumberandindex) — returns information on a transaction by block number and transaction index position. - * [`eth_getTransactionReceipt`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactionreceipt) — returns the receipt of a transaction by transaction hash. - * [`eth_getUncleByBlockHashAndIndex`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getunclebyblockhashandindex) — returns information about an uncle of a block by hash and uncle index position. - * [`eth_getUncleByBlockNumberAndIndex`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getunclebyblocknumberandindex) — returns information about an uncle of a block by number and uncle index position. - * [`eth_getLogs`](/rpc-service/chains/chains-api/polygon-zkevm/#eth_getlogs) — returns logs matching the parameters specified. - ---- - -## `web3_clientVersion` - -> Returns the current client version. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * ``: the current client version. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "web3_clientVersion", - "params": [], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "result": "Polygon Hermez zkEVM/v2.0.0", - "id": 1 -} -``` - ---- - -## `web3_sha3` - -> Returns Keccak-256 (not the standardized SHA3-256) of the given data. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - -* `` (data): the data to convert into a SHA3 hash. - -### Returns - - * `` (data): the SHA3 result of the given string. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "web3_sha3", - "params": ["0x68656c6c6f20776f726c64"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad" -} -``` - ---- - -## `net_version` - -> Returns the current network ID. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * ``: the current network ID. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "net_version", - "params": [], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "1101" -} -``` - ---- - -## `eth_protocolVersion` - -> Returns the current Ethereum protocol version. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * ``: the current Ethereum protocol version. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_protocolVersion", - "params": [], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "result": "0x0", - "id": 1 -} -``` - ---- - -## `eth_syncing` - -> Returns an object with data about the sync status or false. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * ``|``: an object with sync status data or `false`, when not syncing: - * `startingBlock` (quantity): the block at which the import started (will only be reset, after the sync reached its head). - * `currentBlock` (quantity): the current block, same as `eth_blockNumber`. - * `highestBlock` (quantity): the estimated highest block. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_syncing", - "params": [], - "id": 1 - }' -``` - -### Response example (syncing) - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "startingBlock": "0x0", - "currentBlock": "0x3f26", - "highestBlock": "0x0" - } -} -``` - -### Response example (not syncing) - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": false -} -``` - ---- - -## `eth_gasPrice` - -> Returns the current price per gas in wei. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * `` (quantity): the current gas price in wei. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_gasPrice", - "params": [], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "3690000000" -} -``` - ---- - -## `eth_blockNumber` - -> Returns the number of most recent block. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): None. - -### Returns - - * `` (quantity): the current block number the client is on. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_blockNumber", - "params": [], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "16224" -} -``` - ---- - -## `eth_getBalance` - -> Returns the balance of the account specified by address. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 20 bytes; required): an address to check for balance. - 2. `` (quantity|tag; required): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (quantity): the current balance in wei. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getBalance", - "params": ["0x30F1Fd1914C8a1CFcb2FD254772C041F9063a6E9", "latest"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0xe8d4a4ed13" -} -``` - ---- - -## `eth_getStorageAt` - -> Returns the value from a storage position at an address specified. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 20 bytes; required): an address of the storage (hex encoded). - 2. `` (quantity; required): a slot position in the storage (hex encoded unsigned integer). - 3. `` (quantity|tag; required): either the hex value of a _block number_ or one of the following _block tags_: - - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (data): the value at this storage position. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getStorageAt", - "params": ["0x07e3763BACDCF13Acdf16059092279929803e1cf", "0x0", "latest"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x0000000000000000000000000000000000000000000000000000000000000000" -} -``` - ---- - -## `eth_getTransactionCount` - -> Returns the number of transactions sent from an address. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 20 bytes; required): an address. - 2. `` (quantity|tag; required): either the hex value of a _block number_ or one of the following _block tags_: - - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (quantity): the number of transactions send from this address. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getTransactionCount", - "params": ["0x07e3763BACDCF13Acdf16059092279929803e1cf", "latest"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x5" -} -``` - ---- - -## `eth_getBlockTransactionCountByHash` - -> Returns the number of transactions in a block specified by block hash. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a block hash. - -### Returns - - * `` (quantity): the number of transactions in this block. - -### Request example: - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getBlockTransactionCountByHash", - "params": ["0x8c5172c02de2d2d030f3b76db05a375c19fb34c4d250629f4765f9c711e498bf"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x0" -} -``` - ---- - -## `eth_getBlockTransactionCountByNumber` - -> Returns the number of transactions in the block specified by number. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (quantity): the number of transactions in this block. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getBlockTransactionCountByNumber", - "params": ["0x3FA6"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x1" -} -``` - ---- - -## `eth_getUncleCountByBlockHash` - -> Returns the number of uncles in a block specified by block hash. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a block hash. - -### Returns - - * `` (quantity): the number of uncles in this block. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getUncleCountByBlockHash", - "params": ["0x8c5172c02de2d2d030f3b76db05a375c19fb34c4d250629f4765f9c711e498bf"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x0" -} -``` - ---- - -## `eth_getUncleCountByBlockNumber` - -> Returns the number of uncles in a block specified by block number. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (quantity): the number of uncles in this block. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getUncleCountByBlockNumber", - "params": ["latest"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x0" -} -``` - ---- - -## `eth_getCode` - -> Returns code at a given address. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 20 bytes): an address to get the code from. - 2. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (data): the code from the given address. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getCode", - "params": ["0xd38384aeF98EfFc59b9c2057927a63D896c16d08", "latest"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x" -} -``` - ---- - -## `eth_sendRawTransaction` - -> Creates new message call transaction or a contract creation for signed transactions. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data): the signed transaction data. - -### Returns - - * `` (data, 32 bytes): the transaction hash, or the zero hash if the transaction is not yet available. - -Use [eth_getTransactionReceipt](/rpc-service/chains/chains-api/polygon-zkevm/#eth_gettransactionreceipt) to get the contract address, after the transaction was mined, when you created a contract. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_sendRawTransaction", - "params": ["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"], - "id": 1 -}' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" -} -``` - ---- - -## `eth_call` - -> Executes a new message call immediately without creating a transaction on the blockchain. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (hex encoded): the transaction object: - * `from` (string; data, 20 bytes; optional): the address the transaction is sent from. - * `to` (string; data, 20 bytes): the address the transaction is directed to. - * `gas` (string; quantity; optional): the gas provided for the transaction execution. `eth_call` consumes zero gas, but this parameter may be needed by some executions. - * `gasPrice` (string; quantity; optional): the gas price willing to be paid by the sender in wei. - * `value` (string; quantity; optional): the value sent with this transaction, in wei. - * `data` (string; data; optional): the hash of the method signature and encoded parameters. - - 2. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (hex encoded bytes): the return value of executed contract. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_call", - "params": [ - { - "from": "0xd38384aeF98EfFc59b9c2057927a63D896c16d08", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" - }, - "latest" - ], - "id": 1 -}' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x" -} -``` - ---- - -## `eth_estimateGas` - -> Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. - -The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (hex encoded): the transaction object: - * `from` (string; data, 20 bytes; optional): the address the transaction is sent from. - * `to` (string; data, 20 bytes; optional): the address the transaction is directed to. - * `gas` (string; quantity; optional): the gas provided for the transaction execution. `eth_call` consumes zero gas, but this parameter may be needed by some executions. - * `gasPrice` (string; quantity; optional): the gas price willing to be paid by the sender in wei. - * `value` (string; quantity; optional): the value sent with this transaction, in wei. - * `data` (string; data; optional): the hash of the method signature and encoded parameters. - - 2. `` (quantity|tag; optional): either a HEX value of a *block number* or one of the following *block tags*: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - -### Returns - - * `` (quantity): the amount of gas used. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_estimateGas", - "params": [{"from":"0xd38384aeF98EfFc59b9c2057927a63D896c16d08"}], - "id": 1 -}' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0xcf08" -} -``` - ---- - -## `eth_getBlockByHash` - -> Returns information for the block specified by block hash. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a block hash. - 2. ``: if `true` it returns the full transaction objects, if `false` — only the hashes of the transactions. - -### Returns - - * ``: a block object, or null when no block was found: - * `number` (string; quantity): the block number; null when it's a pending block. - * `hash` (string; data, 32 bytes): the hash of the block; null when it's a pending block. - * `parentHash` (string; data, 32 bytes): the hash of the parent block. - * `nonce` (string; data, 8 bytes): the hash of the generated proof-of-work; null when it's a pending block. - * `sha3Uncles` (string; data, 32 bytes): SHA3 of the uncles data in the block. - * `logsBloom` (string; data, 256 bytes): the bloom filter for the logs of the block. null when its pending block. - * `transactionsRoot` (string; data, 32 bytes): the root of the transaction trie of the block. - * `stateRoot` (string; data, 32 bytes): the root of the final state trie of the block. - * `receiptsRoot` (string; data, 32 bytes): the root of the receipts trie of the block. - * `miner` (string; data, 20 bytes): the address of the beneficiary to whom the mining rewards were given. - * `difficulty` (string; quantity): the difficulty for this block. - * `totalDifficulty` (string; quantity): the total difficulty of the chain until this block. - * `extraData` (string; data): the **extra data** field of this block. - * `size` (string; quantity): the size of this block in bytes. - * `gasLimit` (string; quantity): the maximum gas allowed in this block. - * `gasUsed` (string; quantity): the total used gas by all transactions in this block. - * `timestamp` (string; quantity): the unix timestamp for when the block was collated. - * `transactions` (array of strings): an array of transaction objects, or 32 bytes transaction hashes depending on the last given parameter. - * `uncles` (array of strings): an array of uncle hashes. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getBlockByHash", - "params": ["0x42f8a4e40acee87e7653a2b79e3740c898d31b36fd713b718933257af800cb08", false], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "baseFeePerGas": "0x2b269c837f", - "difficulty": "0x15", - "extraData": "0xd682030383626f7288676f312e31392e32856c696e7578000000000000000000d743d3f9e6e3d6582bdf81a8485c510874c0231f7dc157e782a363eb744b14bb20b466269d2ea90ec49f0ed5189e5eb4a8fff462d885ccf00c594e9d1dcfb5bc01", - "gasLimit": "0x1c54f80", - "gasUsed": "0xc4a7ea", - "hash": "0x2ecac89ca5fb469d40a264575a8e4787545a1624bc2e63106a5278f7562a0a06", - "logsBloom": "0x44a88cee582107c20c897153ec2188e012094f11cb21160cdd00176794861b0b40595404c644a418e231103c02d0e10160a5a5620a962041ae31635ea1a72051243c5074be96ea480267948d20e119fc5a22a4e84b57200259173ae5be2d13f4542c640283020d0121405945290f8a7912164c39cc0c0785eb09c818e6d8151d068706ce2caa4497508108441ac800a516f32481a3101ecc30011c66020f182deb4900b234b4151200088154888b6570dc6401422966e0943405232c2d607864f198d58785102d905ec18c1f4e1102087acd1642044aa472ea3de8bb08006a6e3238c2ec0900290906af2884bd2096b3c13a1ca702bade0d6c15d82cc2140e3f", - "miner": "0x1efecb61a2f80aa34d3b9218b564a64d05946290", - "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x0000000000000000", - "number": "0x2591605", - "parentHash": "0x55b416e4027b725889a605e2b10fa64529736f82ab27aa3fb3c34a052b2a0b67", - "receiptsRoot": "0x96a49aa0cea28bc29f294c2a8c3d23f2399308f9e00132e829f1573dfb5fe673", - "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "size": "0xc79d", - "stateRoot": "0x01602f08f81a8dcf887c90bc766d1c2b774acb4f859ccf662bb56c818104860c", - "timestamp": "0x63ef666d", - "totalDifficulty": "0x262bac54", - "transactions": [ - "0x3d88238b3d314dbe50c9402a91ef284044704ab68643d51253a6fa2e885268bd", - "0xc70418ba35358b0ac6a03a86972f2f802d684df5d493b480bb1e40db9b2e1858", - "0xbed1d31688226cb5018323bdfc616ae56b0e4e2599487781f4cab12402db8d9d", - "0xcafa76ed823b2fcb390cfb39709dee38b877069962b0c26790af1d4b02bd06d9", - "0xbaaf6e7fbcc7e7c7916b0c2be8eeae5d7d69a040931e2378ced71911498c6488", - "0x3bf1d3067da0a920eb4a3a2401d62fb21f9a4d957ec6117f02d83d7a3f069b6b", - "0x18e8411b139b4e2beb3d20892b262fe5f33589211d1b501dfb52badff6a5b750", - "0xd81cc2fac01c759aab1535c2d5cdec393111e2dff157b382b1a747f73dd97c58", - "0x2b5933e4c7f27b495e4a9558238528b395025670a15fe3d405cbff66267d5baa", - "0x63915c6ab03ea8d94f25ea36d6a27b7bf5b9506a32ca06b879f65d7c9627367d", - "0xcdd2c222ab4683b49d472d4c687c4f20372a708515ea20f3a73f73ad82700b64", - "0x6c6a1f58e587674322d15159527b69ae00105d297f71fc872d19c2426f45faf0", - "0x17624f68372ad9407b12c319907488c323968cc20285d74e68d4295ad148346d", - "0x6f0ffef0df4cd61c5a9d0ef2eea026714933d64f8b5e3992739bde2c47a8fba5", - "0x0ac25864c0bf55e41a1355e2291a5f66e1ea3959166f14e92490dd9123c71026", - "0x1d762d9a04bb5cc4169a133c56d8f816e3dc202c857d93d3ed1ed68f3495ba7e", - "0x214805e9125236cc5467147763fc2b526db023e900f4657b4dda04dfe3555f7a", - "0xc24bb4416cfb909b232ea36a13b9aa67462f0cf255b1e34cd31a4ffa6e24f186", - "0xcbeaedfbfd47786285a767457fefe95ca0b95d354d17d769bfaba1b6cb4050ad", - "0x4f2d18b4aa023901c44e355354dcaadaf28a948ae8aebd5747398985b45d8656" - ], - "transactionsRoot": "0x609fb2e2ec4fb7ea27ac99ca20b889bfb169ac499141a28ad2d0183fec8564e8", - "uncles": [] - } -} -``` - ---- - -## `eth_getBlockByNumber` - -> Returns information for the block specified by block number. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (quantity|tag): either the hex value of a *block number* or one of the following *block tags*: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - 2. ``: if `true` it returns the full transaction objects, if `false` — only the hashes of the transactions. - -### Returns - - * ``: a block object, or null when no block was found: - - * `number` (string; quantity): the block number; null when it's a pending block. - * `hash` (string; data, 32 bytes): the hash of the block; null when it's a pending block. - * `parentHash` (string; data, 32 bytes): the hash of the parent block. - * `nonce` (string; data, 8 bytes): the hash of the generated proof-of-work; null when it's a pending block. - * `sha3Uncles` (string; data, 32 bytes): SHA3 of the uncles data in the block. - * `logsBloom` (string; data, 256 bytes): the bloom filter for the logs of the block. null when its pending block. - * `transactionsRoot` (string; data, 32 bytes): the root of the transaction trie of the block. - * `stateRoot` (string; data, 32 bytes): the root of the final state trie of the block. - * `receiptsRoot` (string; data, 32 bytes): the root of the receipts trie of the block. - * `miner` (string; data, 20 bytes): the address of the beneficiary to whom the mining rewards were given. - * `difficulty` (string; quantity): the difficulty for this block. - * `totalDifficulty` (string; quantity): the total difficulty of the chain until this block. - * `extraData` (string; data): the **extra data** field of this block. - * `size` (string; quantity): the size of this block in bytes. - * `gasLimit` (string; quantity): the maximum gas allowed in this block. - * `gasUsed` (string; quantity): the total used gas by all transactions in this block. - * `timestamp` (string; quantity): the unix timestamp for when the block was collated. - * `transactions` (array of strings): an array of transaction objects, or 32 bytes transaction hashes depending on the last given parameter. - * `uncles` (array of strings): an array of uncle hashes. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getBlockByNumber", - "params": ["latest", false], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "parentHash": "0x06b58e91e2669095ff09c5442d7b6387ff0893159d41be4e40f41f8822108f5f", - "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "miner": "0x148ee7daf16574cd020afa34cc658f8f3fbd2800", - "stateRoot": "0x82cb257abd8c992864fc2a1c7b1a79bb935c0a92b43052fb3db7aeee7821fd0d", - "transactionsRoot": "0xebf082d06c452fcd814e6d6fcb1b68c0efc367afc474659bc6be19378db851a3", - "receiptsRoot": "0x7ff66013280a2d7808d16f789cf2aeea70d588d540c215cc71deeeb68992a0df", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "difficulty": "0x0", - "totalDifficulty": "0x0", - "size": "0x270", - "number": "0x404d", - "gasLimit": "0x1c9c380", - "gasUsed": "0x5208", - "timestamp": "0x642424dd", - "extraData": "0x", - "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x0000000000000000", - "hash": "0xc98bdc3680768168c5e27c727269fbdbe75b3da1b8a318b299b1eaa807ab4997", - "transactions": [ - "0xb42571551ecfaf8499e236d74c6219ed1691141c1ad159c669724ade51122eb6" - ], - "uncles": [] - } -} -``` - ---- - -## `eth_getTransactionByHash` - -> Returns information on a transaction specified by transaction hash. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a transaction hash. - -### Returns - - * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction; null when it's pending. - * `blockNumber` (string; quantity): a number of the block containing the transaction; null when it's pending. - * `from` (string; data, 20 bytes): an address of the sender. - * `gas` (string; quantity): the gas provided by the sender. - * `gasPrice` (string; quantity): the gas price provided by the sender in wei. - * `hash` (string; data, 32 bytes): the hash of the transaction. - * `input` (string; data): the data send along with the transaction. - * `nonce` (string; quantity): the number of transactions made by the sender prior to this one. - * `to` (string: data, 20 bytes): an address of the receiver: null when it's a contract creation transaction. - * `transactionIndex` (string; quantity): the transaction index position in the block; null when it's pending. - * `value` (string; quantity): the value transferred in wei. - * `v` (string; quantity): ECDSA recovery ID. - * `r` (string; quantity): ECDSA signature r. - * `s` (string; quantity): ECDSA signature s. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getTransactionByHash", - "params": ["0xe2ba7e8e14eba289bf374cf7432941061f89070c79928b6054eb1171bc20990b"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "nonce": "0xf", - "gasPrice": "0xde534880", - "gas": "0x5208", - "to": "0xe4edb277e41dc89ab076a1f049f4a3efa700bce8", - "value": "0x14d49f8c1fdca32a", - "input": "0x", - "v": "0x8bd", - "r": "0x9178f643312cc5d294caaf82338ed3ff4363c175708752440dd37e0f903357f", - "s": "0x4bd0a4057accf86ecfca36ef7d263623026753a98a0eabe1f48a85d0de88d992", - "hash": "0xe2ba7e8e14eba289bf374cf7432941061f89070c79928b6054eb1171bc20990b", - "from": "0xd38384aef98effc59b9c2057927a63d896c16d08", - "blockHash": "0x50c3d6b487af5384977531e43e920f08fe3f0fe276a565465f578bdd88a616f3", - "blockNumber": "0x3fc3", - "transactionIndex": "0x0", - "chainId": "0x44d", - "type": "0x0" - } -} -``` - ---- - -## `eth_getTransactionByBlockHashAndIndex` - -> Returns information on a transaction specified by block hash and transaction index position. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a block hash. - 2. `` (quantity): a transaction index position. - -### Returns - - * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction; null when it's pending. - * `blockNumber` (string; quantity): a number of the block containing the transaction; null when it's pending. - * `from` (string; data, 20 bytes): an address of the sender. - * `gas` (string; quantity): the gas provided by the sender. - * `gasPrice` (string; quantity): the gas price provided by the sender in wei. - * `hash` (string; data, 32 bytes): the hash of the transaction. - * `input` (string; data): the data send along with the transaction. - * `nonce` (string; quantity): the number of transactions made by the sender prior to this one. - * `to` (string: data, 20 bytes): an address of the receiver: null when it's a contract creation transaction. - * `transactionIndex` (string; quantity): the transaction index position in the block; null when it's pending. - * `value` (string; quantity): the value transferred in wei. - * `v` (string; quantity): ECDSA recovery ID. - * `r` (string; quantity): ECDSA signature r. - * `s` (string; quantity): ECDSA signature s. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getTransactionByBlockHashAndIndex", - "params": ["0x83be97b4ff592c982a998480ebd0baae3d0b2051d2fa5d950f6833fc694398b5", "0x0"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "blockHash": "0xc2696012418986efd674f775d95fbc1d6e0a80ce66aa222f66dc6dad04275de8", - "blockNumber": "0x2591606", - "from": "0x77bafc508a83110bdfab0e9788660ef6b802ce7d", - "gas": "0x61a80", - "gasPrice": "0x168e3330c00", - "maxPriorityFeePerGas": "0x168e3330c00", - "maxFeePerGas": "0x168e3330c00", - "hash": "0x0a9675514d58d1d7e08e9199b01dc8f63c5945a50e4453de29633a71d186eeee", - "input": "0x7e23d59600000000000000000000000000000000000000000000000000000000d09dc3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000143c68bde987136e4cc000000000000000000000000000000000000000000000143cab11525f36a74791", - "nonce": "0x212b", - "to": "0xf19d044ef87c272010566d5b5c3e94684b88f579", - "transactionIndex": "0x0", - "value": "0x0", - "type": "0x2", - "accessList": [], - "chainId": "0x89", - "v": "0x1", - "r": "0x14c08004aaf6397c4ad0b9ec6af0031a7c20b9c8d33bbd947922ce1c975d352d", - "s": "0x6a54d96e7d752b3983da5a5d6abe204c3394b4c1cfcbc7647752c9b125b9d5e5" - } -} -``` - ---- - -## `eth_getTransactionByBlockNumberAndIndex` - -> Returns information on a transaction by block number and transaction index position. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - 2. `` (quantity): the transaction index position. - -### Returns - - * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction; null when it's pending. - * `blockNumber` (string; quantity): a number of the block containing the transaction; null when it's pending. - * `from` (string; data, 20 bytes): an address of the sender. - * `gas` (string; quantity): the gas provided by the sender. - * `gasPrice` (string; quantity): the gas price provided by the sender in wei. - * `hash` (string; data, 32 bytes): the hash of the transaction. - * `input` (string; data): the data send along with the transaction. - * `nonce` (string; quantity): the number of transactions made by the sender prior to this one. - * `to` (string: data, 20 bytes): an address of the receiver: null when it's a contract creation transaction. - * `transactionIndex` (string; quantity): the transaction index position in the block; null when it's pending. - * `value` (string; quantity): the value transferred in wei. - * `v` (string; quantity): ECDSA recovery ID. - * `r` (string; quantity): ECDSA signature r. - * `s` (string; quantity): ECDSA signature s. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getTransactionByBlockNumberAndIndex", - "params": ["latest", "0x0"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "nonce": "0x2cf", - "gasPrice": "0x119cf8e00", - "gas": "0x186a0", - "to": "0x48afc3eb3728f4739e56a15898ac49b29fdb16a8", - "value": "0x2386f26fc1008a", - "input": "0x", - "v": "0x8bd", - "r": "0x6f5415e4b91fd55cf7051ec20e635f0fc5ac1090ea572699da4037182aa7d573", - "s": "0x8ab9dfb55e1988e41a96bc0ad61f057191e36a67b276f41acfb747b474d4b79", - "hash": "0x4f94b70403d1edf24dbde49ca38fbc9cf921a2f12d3e5d839ab98d8112bfdbcd", - "from": "0x80c67432656d59144ceff962e8faf8926599bcf8", - "blockHash": "0x1867f30f86151296fca6115e31e41f142f9a93ecc78b9373cd8ad478dc3cf100", - "blockNumber": "0x406d", - "transactionIndex": "0x0", - "chainId": "0x44d", - "type": "0x0" - } -} -``` - ---- - -## `eth_getTransactionReceipt` - -> Returns the receipt of a transaction by transaction hash. - -The receipt is not available for pending transactions. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): a hash of the transaction. - -### Returns - - * `object`: a transaction receipt object, or null when no receipt was found: - - * `transactionHash` (string; data, 32 bytes): a hash of the transaction. - * `transactionIndex` (string; quantity): the transactions index position in the block. - * `blockHash` (string; data, 32 bytes): a hash of the block containing the transaction. - * `blockNumber` (string; quantity): a number of the block containing the transaction. - * `from` (string; data, 20 bytes): an address of the sender. - * `to` (string; data, 20 bytes): an address of the receiver; null when it's a contract creation transaction. - * `cumulativeGasUsed` (string; quantity): the total amount of gas used when this transaction was executed in the block. - * `effectiveGasPrice` (string; quantity): the sum of the base fee and tip paid per unit of gas. - * `gasUsed` (string; quantity): the amount of gas used by this specific transaction alone. - * `contractAddress` (string; data, 20 bytes): the contract address created, if the transaction was a contract creation, otherwise null. - * `logs` (array): an array of log objects, which this transaction generated. - * `logsBloom` (string; data, 256 bytes): a bloom filter for light clients to quickly retrieve related logs. - * `type` (string; data): the transaction type, `0x00` for legacy transactions, `0x01` for access list types, `0x02` for dynamic fees. It also returns either of the following: - - * `root` (string; data, 32 bytes): a post-transaction stateroot (pre Byzantium). - * `status` (string; quantity): either 1 (success) or 0 (failure). - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getTransactionReceipt", - "params": ["0xe2ba7e8e14eba289bf374cf7432941061f89070c79928b6054eb1171bc20990b"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "root": "0x0142be28af18b4556116b32c459d5f8d9c99a735feb85c124bcff48b4d58081c", - "cumulativeGasUsed": "0x5208", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "logs": [], - "status": "0x1", - "transactionHash": "0xe2ba7e8e14eba289bf374cf7432941061f89070c79928b6054eb1171bc20990b", - "transactionIndex": "0x0", - "blockHash": "0x50c3d6b487af5384977531e43e920f08fe3f0fe276a565465f578bdd88a616f3", - "blockNumber": "0x3fc3", - "gasUsed": "0x5208", - "from": "0xd38384aef98effc59b9c2057927a63d896c16d08", - "to": "0xe4edb277e41dc89ab076a1f049f4a3efa700bce8", - "contractAddress": null, - "type": "0x0" - } -} -``` - ---- - -## `eth_getUncleByBlockHashAndIndex` - -> Returns information about an uncle of a block by hash and uncle index position. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (data, 32 bytes): the hash of a block. - 2. `` (quantity): the uncle's index position. - -### Returns - - * ``: a block object, or null when no block was found: - - * `number` (string; quantity): the block number; null when it's a pending block. - * `hash` (string; data, 32 bytes): the hash of the block; null when it's a pending block. - * `parentHash` (string; data, 32 bytes): the hash of the parent block. - * `nonce` (string; data, 8 bytes): the hash of the generated proof-of-work; null when it's a pending block. - * `sha3Uncles` (string; data, 32 bytes): SHA3 of the uncles data in the block. - * `logsBloom` (string; data, 256 bytes): the bloom filter for the logs of the block. null when its pending block. - * `transactionsRoot` (string; data, 32 bytes): the root of the transaction trie of the block. - * `stateRoot` (string; data, 32 bytes): the root of the final state trie of the block. - * `receiptsRoot` (string; data, 32 bytes): the root of the receipts trie of the block. - * `miner` (string; data, 20 bytes): the address of the beneficiary to whom the mining rewards were given. - * `difficulty` (string; quantity): the difficulty for this block. - * `totalDifficulty` (string; quantity): the total difficulty of the chain until this block. - * `extraData` (string; data): the **extra data** field of this block. - * `size` (string; quantity): the size of this block in bytes. - * `gasLimit` (string; quantity): the maximum gas allowed in this block. - * `gasUsed` (string; quantity): the total used gas by all transactions in this block. - * `timestamp` (string; quantity): the unix timestamp for when the block was collated. - * `transactions` (array of strings): an array of transaction objects, or 32 bytes transaction hashes depending on the last given parameter. - * `uncles` (array of strings): an array of uncle hashes. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getUncleByBlockHashAndIndex", - "params": ["0xabd38d0cb07757a95831836178f7cf329166e3a564d1f11ec0b0ef7118970ce7", "0x0"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "difficulty": "0x4ea3f27bc", - "extraData": "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32", - "gasLimit": "0x1388", - "gasUsed": "0x0", - "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "miner": "0xbb7b8287f3f0a933474a79eae42cbca977791171", - "mixHash": "0x4fffe9ae21f1c9e15207b1f472d5bbdd68c9595d461666602f2be20daf5e7843", - "nonce": "0x689056015818adbe", - "number": "0x1b4", - "parentHash": "0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "size": "0x220", - "stateRoot": "0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d", - "timestamp": "0x55ba467c", - "totalDifficulty": "0x78ed983323d", - "transactions": [], - "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "uncles": [] - } -} -``` - ---- - -## `eth_getUncleByBlockNumberAndIndex` - -> Returns information about an uncle of a block by number and uncle index position. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `` (quantity|tag): either the hex value of a _block number_ or one of the following _block tags_: - * `earliest`: the lowest numbered block available on the client. - * `finalized`: the most recent crypto-economically secure block; cannot be re-orged outside of manual intervention driven by community coordination. - * `safe`: the most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions. - * `latest`: the most recent block in the canonical chain observed by the client; this block can be re-orged out of the canonical chain even under healthy/normal conditions. - * `pending`: a sample next block built by the client on top of the `latest` and containing the set of transactions usually taken from local mempool. In other words, it is the block that has not been mined yet. - 2. `` (quantity): the uncle's index position. - -### Returns - - * ``: a block object, or null when no block was found: - - * `number` (string; quantity): the block number; null when it's a pending block. - * `hash` (string; data, 32 bytes): the hash of the block; null when it's a pending block. - * `parentHash` (string; data, 32 bytes): the hash of the parent block. - * `nonce` (string; data, 8 bytes): the hash of the generated proof-of-work; null when it's a pending block. - * `sha3Uncles` (string; data, 32 bytes): SHA3 of the uncles data in the block. - * `logsBloom` (string; data, 256 bytes): the bloom filter for the logs of the block. null when its pending block. - * `transactionsRoot` (string; data, 32 bytes): the root of the transaction trie of the block. - * `stateRoot` (string; data, 32 bytes): the root of the final state trie of the block. - * `receiptsRoot` (string; data, 32 bytes): the root of the receipts trie of the block. - * `miner` (string; data, 20 bytes): the address of the beneficiary to whom the mining rewards were given. - * `difficulty` (string; quantity): the difficulty for this block. - * `totalDifficulty` (string; quantity): the total difficulty of the chain until this block. - * `extraData` (string; data): the **extra data** field of this block. - * `size` (string; quantity): the size of this block in bytes. - * `gasLimit` (string; quantity): the maximum gas allowed in this block. - * `gasUsed` (string; quantity): the total used gas by all transactions in this block. - * `timestamp` (string; quantity): the unix timestamp for when the block was collated. - * `transactions` (array of strings): an array of transaction objects, or 32 bytes transaction hashes depending on the last given parameter. - * `uncles` (array of strings): an array of uncle hashes. - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getUncleByBlockNumberAndIndex", - "params": ["latest", "0x0"], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "difficulty": "0x57f117f5c", - "extraData": "0x476574682f76312e302e302f77696e646f77732f676f312e342e32", - "gasLimit": "0x1388", - "gasUsed": "0x0", - "hash": "0x932bdf904546a2287a2c9b2ede37925f698a7657484b172d4e5184f80bdd464d", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "miner": "0x5bf5e9cf9b456d6591073513de7fd69a9bef04bc", - "mixHash": "0x4500aa4ee2b3044a155252e35273770edeb2ab6f8cb19ca8e732771484462169", - "nonce": "0x24732773618192ac", - "number": "0x299", - "parentHash": "0xa779859b1ee558258b7008bbabff272280136c5dd3eb3ea3bfa8f6ae03bf91e5", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - "size": "0x21d", - "stateRoot": "0x2604fbf5183f5360da249b51f1b9f1e0f315d2ff3ffa1a4143ff221ad9ca1fec", - "timestamp": "0x55ba4827", - "totalDifficulty": "0xc46826a2c6a", - "transactions": [], - "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "uncles": [] - } -} -``` - ---- - -## `eth_getLogs` - -> Returns an array of all logs matching a given filter object. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - 1. `object`: the filter options: - - * `fromBlock` (string; quantity|tag; optional; default: "latest"): either a hex of the _block number_ or one of the following _block tags_: - - * `latest`: for the last mined block. - * `earliest`: for the lowest numbered block available on the client. - * `pending`: for not yet mined transactions. - - * `toBlock` (string; quantity|tag; optional; default: "latest"): either the _block number_ or one of the following _block tags_: - - * `latest`: for the last mined block. - * `earliest`: for the lowest numbered block available on the client. - * `pending`: for not yet mined transactions. - - * `address` (array of strings; data, 20 bytes; optional): a contract address or a list of addresses from which logs should originate. - * `topics` (array of strings; data; optional): an array of 32 bytes data topics. Topics are order-dependent. Each topic can also be an array of data with "or" options. - * `blockhash` (string; data, 32 bytes; optional; **future**): with the addition of EIP-234, `blockHash` will be a new filter option which restricts the logs returned to the single block with the 32-byte hash blockHash. Using blockHash is equivalent to `fromBlock = toBlock = the block` number with hash blockHash. If `blockHash` is present in the filter criteria, then neither `fromBlock` nor `toBlock` are allowed. - -### Returns - - * `removed` (string; tag): `true` when the log was removed, due to a chain reorganization; `false` if it's a valid log. - * `logIndex` (string; quantity): the log index position in the block; null when it's a pending log. - * `transactionIndex` (string; quantity): the transactions index position log was created from; null when it's a pending log. - * `transactionHash` (string; data, 32 bytes): a hash of the transactions this log was created from; null when it's a pending log. - * `blockHash` (string; data, 32 bytes): a hash of the block containing the log; null when it's pending; null when it's a pending log. - * `blockNumber` (string; quantity): the number of the block containing the log; null when it's pending; null when it's a pending log. - * `address` (string; data, 20 bytes): an address from which this log originated. - * `data` (string; data): contains one or more 32 bytes non-indexed arguments of the log. - * `topics` (array of strings; data): an array of 0 to 4 32 bytes data of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256)), except you declared the event with the anonymous specifier.) - -### Request example - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_getLogs", - "params": [{"address": "0xd38384aeF98EfFc59b9c2057927a63D896c16d08"}], - "id": 1 - }' -``` - -### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": [ - { - "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000009acbb72cf67103a30333a32cd203459c6a9c3311", - "0x000000000000000000000000994871e1103c5da4be270365fa62771ea4525520" - ], - "data": "0x000000000000000000000000000000000000000000000000000000001ec39aa0", - "blockNumber": "0xf6289d", - "transactionHash": "0xc7ed73c9b219d4243872e5993ad2950c8ea87d15af28562d33b0c05d46a90cee", - "transactionIndex": "0x1e", - "blockHash": "0x1e12377f0357320c0e5cfcadc2dfbc9c75fc339be668e118c34e4333f835ef31", - "logIndex": "0x13", - "removed": false - }, - { - "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000005879975799597392c031f10b6eff282cb7974ac8", - "0x0000000000000000000000006d52ab66340f3f78d0c1007bec484268876b5948" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockNumber": "0xf6289d", - "transactionHash": "0x0118499f7be4c3510bd60fe3a3aee5f5f316743b6cc13a8cb0528d784f962aec", - "transactionIndex": "0x20", - "blockHash": "0x1e12377f0357320c0e5cfcadc2dfbc9c75fc339be668e118c34e4333f835ef31", - "logIndex": "0x14", - "removed": false - } - ] -} -``` \ No newline at end of file diff --git a/content/rpc-service/chains/chains-api/scroll.mdx b/content/rpc-service/chains/chains-api/scroll.mdx index 6f7dd94bd..be56e32b4 100644 --- a/content/rpc-service/chains/chains-api/scroll.mdx +++ b/content/rpc-service/chains/chains-api/scroll.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Scroll +
    + + > Scroll API is available on [Web3 API platform](https://www.ankr.com/rpc/scroll). diff --git a/content/rpc-service/chains/chains-api/sei.mdx b/content/rpc-service/chains/chains-api/sei.mdx index d7b5f218c..7fcb576e0 100644 --- a/content/rpc-service/chains/chains-api/sei.mdx +++ b/content/rpc-service/chains/chains-api/sei.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # Sei +
    + + > Sei API is available on [Web3 API platform](https://www.ankr.com/rpc/sei). diff --git a/content/rpc-service/chains/chains-api/somnia.mdx b/content/rpc-service/chains/chains-api/somnia.mdx index d7aef800b..772564d0d 100644 --- a/content/rpc-service/chains/chains-api/somnia.mdx +++ b/content/rpc-service/chains/chains-api/somnia.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Somnia +
    + + > Somnia API is available on [Web3 API platform](https://www.ankr.com/rpc/somnia). diff --git a/content/rpc-service/chains/chains-api/sonic.mdx b/content/rpc-service/chains/chains-api/sonic.mdx index ac3007b71..ba4bcd6d0 100644 --- a/content/rpc-service/chains/chains-api/sonic.mdx +++ b/content/rpc-service/chains/chains-api/sonic.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Sonic +
    + + > Sonic API is available on [Web3 API platform](https://www.ankr.com/rpc/sonic). diff --git a/content/rpc-service/chains/chains-api/stellar.mdx b/content/rpc-service/chains/chains-api/stellar.mdx index 7f6158b69..1322dc4bf 100644 --- a/content/rpc-service/chains/chains-api/stellar.mdx +++ b/content/rpc-service/chains/chains-api/stellar.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # Stellar +
    + + > Stellar API is available on [Web3 API platform](https://www.ankr.com/rpc/stellar). diff --git a/content/rpc-service/chains/chains-api/story.mdx b/content/rpc-service/chains/chains-api/story.mdx index 24dab845e..822ed5ec5 100644 --- a/content/rpc-service/chains/chains-api/story.mdx +++ b/content/rpc-service/chains/chains-api/story.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Story +
    + + > Story API is available on [Web3 API platform](https://www.ankr.com/rpc/story). diff --git a/content/rpc-service/chains/chains-api/swell.mdx b/content/rpc-service/chains/chains-api/swell.mdx index 6ec4d0a4d..8ccc4ace4 100644 --- a/content/rpc-service/chains/chains-api/swell.mdx +++ b/content/rpc-service/chains/chains-api/swell.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Swell +
    + + > Swell API is available on [Web3 API platform](https://www.ankr.com/rpc/swell). diff --git a/content/rpc-service/chains/chains-api/tac.mdx b/content/rpc-service/chains/chains-api/tac.mdx index a4c1edd67..d352b8a59 100644 --- a/content/rpc-service/chains/chains-api/tac.mdx +++ b/content/rpc-service/chains/chains-api/tac.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # TAC +
    + + > TAC API is available on [Web3 API platform](https://www.ankr.com/rpc/tac). diff --git a/content/rpc-service/chains/chains-api/taiko.mdx b/content/rpc-service/chains/chains-api/taiko.mdx index f178b1025..19cc73de5 100644 --- a/content/rpc-service/chains/chains-api/taiko.mdx +++ b/content/rpc-service/chains/chains-api/taiko.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Taiko +
    + + > Taiko API is available on [Web3 API platform](https://www.ankr.com/rpc/taiko). diff --git a/content/rpc-service/chains/chains-api/telos.mdx b/content/rpc-service/chains/chains-api/telos.mdx index a18fcd2ba..6f44986bf 100644 --- a/content/rpc-service/chains/chains-api/telos.mdx +++ b/content/rpc-service/chains/chains-api/telos.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Telos +
    + + > Telos API is available on [Web3 API platform](https://www.ankr.com/rpc/telos). diff --git a/content/rpc-service/chains/chains-api/ton.mdx b/content/rpc-service/chains/chains-api/ton.mdx index 627edc56d..bc5ae2a1c 100644 --- a/content/rpc-service/chains/chains-api/ton.mdx +++ b/content/rpc-service/chains/chains-api/ton.mdx @@ -3,6 +3,9 @@ import { Tabs } from "nextra/components"; import { Callout } from "components"; # TON +
    + + > TON API is available on [Web3 API platform](https://www.ankr.com/rpc/ton). diff --git a/content/rpc-service/chains/chains-api/xai.mdx b/content/rpc-service/chains/chains-api/xai.mdx index 17f4ace90..dc5066dbe 100644 --- a/content/rpc-service/chains/chains-api/xai.mdx +++ b/content/rpc-service/chains/chains-api/xai.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # Xai +
    + + > Xai API is available on [Web3 API platform](https://www.ankr.com/rpc/xai). diff --git a/content/rpc-service/chains/chains-api/xdc.mdx b/content/rpc-service/chains/chains-api/xdc.mdx index ce02f656d..1e02ade78 100644 --- a/content/rpc-service/chains/chains-api/xdc.mdx +++ b/content/rpc-service/chains/chains-api/xdc.mdx @@ -1,6 +1,9 @@ import { Callout } from "components"; # XDC Network +
    + + > XDC Network API is available on [Web3 API platform](https://www.ankr.com/rpc/xdc). diff --git a/content/rpc-service/chains/chains-api/xphere.mdx b/content/rpc-service/chains/chains-api/xphere.mdx index b6e0b6c67..4c8488f3d 100644 --- a/content/rpc-service/chains/chains-api/xphere.mdx +++ b/content/rpc-service/chains/chains-api/xphere.mdx @@ -3,6 +3,9 @@ import { Tabs, Tab } from "nextra/components"; import { Callout } from "components"; # Xphere +
    + + > Xphere API is available on [Web3 API platform](https://www.ankr.com/rpc/xphere). diff --git a/content/rpc-service/chains/chains-api/xrp.mdx b/content/rpc-service/chains/chains-api/xrp.mdx new file mode 100644 index 000000000..246a17a18 --- /dev/null +++ b/content/rpc-service/chains/chains-api/xrp.mdx @@ -0,0 +1,5332 @@ +import { Callout } from "components"; +import { Tabs, Tab } from "nextra-theme-docs"; + +# XRP +
    + + + +> XRP API is available on [Web3 API platform](https://www.ankr.com/rpc/xrp). + +The XRP Ledger (XRPL) is a decentralized blockchain optimized for fast, low-cost payments and asset transfers. It uses a federated consensus algorithm in which a trusted set of validators propose and agree on transactions; once 80%+ reach consensus, a new ledger is finalized in 3–5 seconds with deterministic finality. XRPL supports native issued assets, a built-in DEX, escrows, payment channels, and multi-signing. + +In order for your Web3 application to interact with XRP — either by reading blockchain data or sending transactions to the network — it must connect to an XRP node. Developers interact with the blockchain using the methods provided by the API. + +The API interaction follows the [JSON-RPC](https://www.jsonrpc.org/specification) which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format. + +## Methods supported + +**Account Methods**: + +An account in the XRP Ledger represents a holder of XRP and a sender of transactions. Use these methods to work with account info. + + * [`account_channels`](/rpc-service/chains/chains-api/xrp/#account_channels) — retrieves a list of payment channels where the account is the source of the channel. + * [`account_currencies`](/rpc-service/chains/chains-api/xrp/#account_currencies) — retrieves a list of currencies an account can send or receive. + * [`account_info`](/rpc-service/chains/chains-api/xrp/#account_info) — retrieves basic data on the account. + * [`account_lines`](/rpc-service/chains/chains-api/xrp/#account_lines) — retrieves info on the account's trust lines. + * [`account_nfts`](/rpc-service/chains/chains-api/xrp/#account_nfts) — retrieves a list of all NFTs for an account. + * [`account_objects`](/rpc-service/chains/chains-api/xrp/#account_objects) — retrieves all ledger objects owned by an account. + * [`account_offers`](/rpc-service/chains/chains-api/xrp/#account_offers) — retrieves info on the account's currency exchange offers. + * [`account_tx`](/rpc-service/chains/chains-api/xrp/#account_tx) — retrieves a list of transactions affecting an account. + * [`gateway_balances`](/rpc-service/chains/chains-api/xrp/#gateway_balances) — calculates total amounts issued by an account. + * [`noripple_check`](/rpc-service/chains/chains-api/xrp/#noripple_check) — gets recommended changes to an account's Default Ripple and No Ripple settings. + +**Ledger Methods**: + +A ledger version contains a header, a transaction tree, and a state tree, which contain account settings, trustlines, balances, transactions, and other data. Use these methods to retrieve ledger info. + + * [`ledger`](/rpc-service/chains/chains-api/xrp/#ledger) — retrieves info on the ledger. + * [`ledger_closed`](/rpc-service/chains/chains-api/xrp/#ledger_closed) — retrieves the latest closed ledger version. + * [`ledger_current`](/rpc-service/chains/chains-api/xrp/#ledger_current) — retrieves the current working ledger version. + * [`ledger_data`](/rpc-service/chains/chains-api/xrp/#ledger_data) — retrieves the raw contents of a ledger version. + * [`ledger_entry`](/rpc-service/chains/chains-api/xrp/#ledger_entry) — retrieves a single item from a ledger version. + +**Transaction Methods**: + +Transactions are the only thing that can modify the shared state of the XRP Ledger. All business on the XRP Ledger takes the form of transactions. Use these methods to work with transactions. + + * [`simulate`](/rpc-service/chains/chains-api/xrp/#simulate) — executes a dry run of any transaction type to preview results and metadata. + * [`submit`](/rpc-service/chains/chains-api/xrp/#submit) — sends a transaction to the network. + * [`submit_multisigned`](/rpc-service/chains/chains-api/xrp/#submit_multisigned) — sends a multi-signed transaction to the network. + * [`transaction_entry`](/rpc-service/chains/chains-api/xrp/#transaction_entry) — retrieves info on the transaction from a particular ledger version. + * [`tx`](/rpc-service/chains/chains-api/xrp/#tx) — retrieves info on the transaction from all the ledgers at hand. + * [`tx_history`](/rpc-service/chains/chains-api/xrp/#tx_history) — retrieves info on all recent transactions. + +**Path and Order Book Methods**: + +Paths define a way for payments to flow through intermediary steps on their way from sender to receiver. Paths enable cross-currency payments by connecting sender and receiver through order books. Use these methods to work with paths and other books. + + * [`amm_info`](/rpc-service/chains/chains-api/xrp/#amm_info) — retrieves info on the Automated Market Maker (AMM) instance. + * [`book_changes`](/rpc-service/chains/chains-api/xrp/#book_changes) — retrieves information on order book changes. + * [`book_offers`](/rpc-service/chains/chains-api/xrp/#book_offers) — retrieves info on the currency exchange offers. + * [`deposit_authorized`](/rpc-service/chains/chains-api/xrp/#deposit_authorized) — checks whether an account is authorized to send money directly to another account. + * [`get_aggregate_price`](/rpc-service/chains/chains-api/xrp/#get_aggregate_price) — calculates the aggregate price of specified Oracle instances. + * [`nft_buy_offers`](/rpc-service/chains/chains-api/xrp/#nft_buy_offers) — retrieves a list of all buy offers for the NFT specified. + * [`nft_sell_offers`](/rpc-service/chains/chains-api/xrp/#nft_sell_offers) — retrieves a list of all sell offers for the NFT specified. + * [`ripple_path_find`](/rpc-service/chains/chains-api/xrp/#ripple_path_find) — finds a path for payment between two accounts, once. + +**Payment Channel Methods**: + +Payment channels are a tool for facilitating repeated, unidirectional payments, or temporary credit between two parties. Use these methods to work with payment channels. + + * [`channel_verify`](/rpc-service/chains/chains-api/xrp/#channel_verify) — checks a payment channel claim's signature. + +**Server Info Methods**: + +Use these methods to retrieve information about the current state of the rippled server. + + * [`fee`](/rpc-service/chains/chains-api/xrp/#fee) — retrieves information on the transaction cost. + * [`feature`](/rpc-service/chains/chains-api/xrp/#feature) — retrieves information on the protocol amendments. + * [`manifest`](/rpc-service/chains/chains-api/xrp/#manifest) — retrieves public information on a known validator. + * [`server_definitions`](/rpc-service/chains/chains-api/xrp/#server_definitions) — retrieves an SDK-compatible `definitions.json`, generated from the `rippled` instance currently running. + * [`server_info (rippled)`](/rpc-service/chains/chains-api/xrp/#server_info-rippled) — retrieves status of the server in human-readable format. + * [`server_state`](/rpc-service/chains/chains-api/xrp/#server_state) — retrieves status of the server in machine-readable format. + * [`version`](/rpc-service/chains/chains-api/xrp/#version) — retrieves API version information. + +**Clio Methods**: + +These API methods are provided only by the Clio server, not `rippled`. + + * [`server_info`](/rpc-service/chains/chains-api/xrp/#server_info) — retrieves status of the Clio server in human-readable format. + * [`ledger`](/rpc-service/chains/chains-api/xrp/#ledger-1) — retrieves info on the ledger version. + * [`mpt_holders`](/rpc-service/chains/chains-api/xrp/#mpt_holders) — retrieves the holders of a given MPT issuance for a given ledger. + * [`version`](/rpc-service/chains/chains-api/xrp/#version-1) — retrieves API version information. + +**Utility Methods**: + +Use these methods to perform convenient tasks, such as ping and random number generation. + + * [`ping`](/rpc-service/chains/chains-api/xrp/#ping) — confirms connectivity with the server. + * [`random`](/rpc-service/chains/chains-api/xrp/#random) — generates a random number. + +--- + +**Account Methods**: + +An account in the XRP Ledger represents a holder of XRP and a sender of transactions. Use these methods to work with account info. + +## `account_channels` + +> Retrieves a list of payment channels where the account is the source of the channel. + +The `account_channels` method returns information about an account's Payment Channels. This includes only channels where the specified account is the channel's source, not the destination. (A channel's "source" and "owner" are the same.) All information retrieved is relative to a particular version of the ledger. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up channels where this account is the channel’s owner/source. + * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): a second account; if provided, filters results to payment channels whose destination is this account. + * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `limit` (number; optional): limits the number of transactions to retrieve. Must be between 10 and 400; values outside this range are adjusted to the nearest valid value. Default: 200. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `account` (string): the address of the source/owner of the payment channels. Corresponds to the `account` field of the request. + * `channels` (array of objects): list of payment channels owned by this `account`. Each object contains the following fields: + * `account` (string): the owner of the channel, as an [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses). + * `channel_id` (string): a unique ID for this channel, represented as a 64-character hexadecimal string. This is also the [ID of the channel object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel#paychannel-id-format) in the ledger’s state data. + * `destination_account` (string): the destination account of the channel, as an address. Only this account can receive the `amount` in the channel while it is open. + * `settle_delay` (unsigned integer): the number of seconds the payment channel must remain open after the owner requests to close it. + * `public_key` (string; optional): the public key for the payment channel in the XRP Ledger’s [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings) format. Signed claims against this channel must be redeemed with the matching key pair. + * `public_key_hex` (string; optional): the public key for the payment channel in hexadecimal format, if one was specified at channel creation. Signed claims against this channel must be redeemed with the matching key pair. + * `expiration` (unsigned integer; optional): time in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time) when this channel is set to expire. This expiration date is mutable. If this value is before the close time of the most recent validated ledger, the channel is expired. + * `cancel_after` (unsigned integer; optional): time in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time) representing this channel’s immutable expiration, if one was specified at creation. If this is before the close time of the most recent validated ledger, the channel is expired. + * `source_tag` (unsigned integer; optional): a 32-bit unsigned integer used as a [source tag](https://xrpl.org/docs/concepts/transactions/source-and-destination-tags) for payments through this payment channel, if specified at creation. This indicates the channel’s originator or purpose. Conventionally, if you bounce payments from this channel, you should include this value in the `DestinationTag` of the return payment. + * `destination_tag` (unsigned integer; optional): a 32-bit unsigned integer used as a [destination tag](https://xrpl.org/docs/concepts/transactions/source-and-destination-tags) for payments through this payment channel, if specified at creation. This indicates the payment channel’s beneficiary or purpose at the destination account. + * `ledger_hash` (string; optional): the identifying [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of the ledger version used to generate this response. + * `ledger_index` (number): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to generate this response. + * `validated` (boolean; optional): if `true`, the information in this response comes from a validated ledger version; otherwise, the information is subject to change. + * `limit` (number; optional): the limit defining how many channel objects were actually returned by this request. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value for pagination; pass this value to the next call to resume fetching results from where this call left off. Omitted when there are no more pages of data. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_channels", + "params": [ + { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "ledger_index": "validated" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "channels": [ + { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "amount": "1000", + "balance": "0", + "channel_id": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", + "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "public_key": "aBR7mdD75Ycs8DRhMgQ4EMUEmBArF8SEh1hfjrT2V9DQTLNbJVqw", + "public_key_hex": "03CFD18E689434F032A4E84C63E2A3A6472D684EAF4FD52CA67742F3E24BAE81B2", + "settle_delay": 60 + } + ], + "ledger_hash": "42C4F4E81710B015B3BA2A81E357E30E261F58964A6AB6C012734FADB67AB40D", + "ledger_index": 99672209, + "status": "success", + "validated": true + } +} +``` + +--- + +## `account_currencies` + +> Retrieves a list of currencies an account can send or receive. + +The `account_currencies` command retrieves a list of currencies that an account can send or receive, based on its trust lines. This is not a thoroughly confirmed list, but it can be used to populate user interfaces. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up currencies this account can send or receive. + * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the identifying hash of the ledger version used to retrieve this data, represented as a hexadecimal string. + * `ledger_index` (integer): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to retrieve this data. + * `receive_currencies` (array of strings): list of [currency codes](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) that this account can receive. + * `send_currencies` (array of strings): list of [currency codes](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) that this account can send. + * `validated` (boolean): if `true`, the data in this response comes from a validated ledger. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_currencies", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "account_index": 0, + "ledger_index": "validated" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "26C97A5C542BB50D6C084EF158AC35AC4D3A94CEA57286F60552A2D55BC2DDCA", + "ledger_index": 99672360, + "receive_currencies": [ + "BTC", + "CNY", + "DYM", + "EUR", + "JOE", + "MXN", + "USD", + "015841551A748AD2C1F76FF6ECB0CCCD00000000" + ], + "send_currencies": [ + "ASP", + "BTC", + "CHF", + "CNY", + "DYM", + "EUR", + "JOE", + "JPY", + "MXN", + "USD", + "5553445400000000000000000000000000000000" + ], + "status": "success", + "validated": true + } +} +``` + +--- + +## `account_info` + +> Retrieves basic data on the account. + +The `account_info` command retrieves information about an account, its activity, and its XRP balance. All information retrieved is relative to a particular version of the ledger. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): the account to look up. + * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): the ledger index of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `queue` (boolean; optional): if `true`, returns stats about [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue) sent by this account. Can only be used when querying data from the current open ledger. + * `signer_lists` (boolean; optional): if `true`, returns any [`SignerList` objects](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/signerlist) associated with this account. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with the result containing the requested account, its data, and a ledger to which it applies, as the following fields: + + * `account_data` (object): the [AccountRoot ledger object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/accountroot) containing this account’s information as stored in the ledger. + * `account_flags` (object): the account’s flag statuses, derived from the `Flags` field of the account. Contains the following nested fields: + * `defaultRipple` (boolean): if `true`, the account allows [rippling](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) on its trust lines by default. + * `depositAuth` (boolean): if `true`, the account uses [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth) and does not accept payments from unknown parties. + * `disableMasterKey` (boolean): if `true`, the account’s [master key pair](https://xrpl.org/docs/concepts/accounts/cryptographic-keys) is disabled. + * `disallowIncomingCheck` (boolean): if `true`, the account does not allow others to send [Checks](https://xrpl.org/docs/concepts/payment-types/checks) to it. + * `disallowIncomingNFTokenOffer` (boolean): if `true`, the account does not allow others to make [NFT buy or sell offers](https://xrpl.org/docs/concepts/tokens/nfts/trading) to it. + * `disallowIncomingPayChan` (boolean): if `true`, the account does not allow others to create [Payment Channels](https://xrpl.org/docs/concepts/payment-types/payment-channels) to it. + * `disallowIncomingTrustline` (boolean): if `true`, the account does not allow others to create [trust lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens) to it. + * `disallowIncomingXRP` (boolean): if `true`, the account prefers not to receive XRP from others. This setting is advisory and not enforced at the protocol level. + * `globalFreeze` (boolean): if `true`, all tokens issued by the account are currently frozen. + * `noFreeze` (boolean): if `true`, the account has permanently renounced the ability to freeze individual trust lines or enforce a global freeze. See [No Freeze](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes#no-freeze) for details. + * `passwordSpent` (boolean): if `false`, the account can send a special [key-reset transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#key-reset-transaction) with zero transaction cost. The protocol automatically toggles this flag; it is not user-controlled. + * `requireAuthorization` (boolean): if `true`, the account uses [Authorized Trust Lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines) to restrict who can hold its issued tokens. + * `requireDestinationTag` (boolean): if `true`, the account [requires a destination tag](https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/require-destination-tags) on all incoming payments. + * `signer_lists` (array; optional): + * API v1: omitted unless the request specified signer_lists and at least one SignerList is associated with the account. Contains an array of SignerList ledger objects for multi-signing. Since an account can own at most one SignerList, this array contains exactly one member if present. The field is nested under account_data. + * API v2: identical to API v1, but the field is returned at the root level of the response. (Clio implements API v2 behavior in all cases.) + * `ledger_current_index` (integer; optional): the ledger index of the current in-progress ledger used when retrieving this information. Omitted if ledger_index is provided instead. + * `ledger_index` (integer; optional): the ledger index of the ledger version used to retrieve this information. This data does not include any changes from newer ledger versions. + * `queue_data` (object; optional): information about [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) sent by this account. Returned only if queue was set to `true` and the current open ledger was queried. Describes the local rippled server’s queue state, which may differ across the network. Some fields may be omitted because certain values are computed lazily by the queuing mechanism. Contains the following nested fields: + * `txn_count` (integer): number of queued transactions from this address. + * `auth_change_queued` (boolean; optional): whether a transaction in the queue changes this address’s [ways of authorizing transactions](https://xrpl.org/docs/concepts/transactions#authorizing-transactions). If `true`, no further transactions can be queued until that transaction executes or drops from the queue. + * `lowest_sequence` (integer; optional): the lowest [sequence number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) among transactions queued by this address. + * `highest_sequence` (integer; optional): the highest [sequence number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) among transactions queued by this address. + * `max_spend_drops_total` (string; optional): the total number of [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) that could be debited from this account if every queued transaction consumes the maximum possible amount. + * `transactions` (array; optional): information about each queued transaction from this account. + * `validated` (boolean): `true` if this data originates from a validated ledger version; if omitted or `false`, the data is not final. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_info", + "params": [ + { + "account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", + "ledger_index": "current", + "queue": true + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account_data": { + "Account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", + "Balance": "88986679", + "Flags": 1048576, + "LedgerEntryType": "AccountRoot", + "MessageKey": "0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D", + "OwnerCount": 0, + "PreviousTxnID": "083A5D87E0E10D8632A62B67CCE8C68C0E94615371E92AD591CD068DE600117A", + "PreviousTxnLgrSeq": 99424162, + "RegularKey": "rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET", + "Sequence": 192223, + "index": "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F" + }, + "account_flags": { + "allowTrustLineClawback": false, + "defaultRipple": false, + "depositAuth": false, + "disableMasterKey": true, + "disallowIncomingCheck": false, + "disallowIncomingNFTokenOffer": false, + "disallowIncomingPayChan": false, + "disallowIncomingTrustline": false, + "disallowIncomingXRP": false, + "globalFreeze": false, + "noFreeze": false, + "passwordSpent": false, + "requireAuthorization": false, + "requireDestinationTag": false + }, + "ledger_current_index": 99672810, + "queue_data": { + "txn_count": 0 + }, + "status": "success", + "validated": false + } +} +``` + +--- + +## `account_lines` + +> Retrieves info on the account's trust lines. + +The `account_lines` method returns information about an account's trust lines, which contain balances in all non-XRP currencies and assets. All information retrieved is relative to a particular version of the ledger. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up trust lines connected to this account, from this account’s perspective. + * `ignore_default` (boolean; optional): if `true`, omits trust lines where this account’s side is in the default state. Default: `false`. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `limit` (number; optional): limits the number of trust lines to retrieve. Must be between 10 and 400. Values outside this range are adjusted to the nearest valid option. Default: `200`. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. + * `peer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): a second account; if provided, filters results to trust lines connecting the two accounts. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the address of the account and an array of trust line objects. Specifically, the result object contains the following fields: + + * `account` (string): the unique [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the account this request corresponds to — the perspective account for the listed trust lines. + * `lines` (array of objects): array of trust line objects associated with the specified account. If the number of trust lines is large, only returns up to the limit at a time. Each object contains the following fields: + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the counterparty to this trust line. + * `balance` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the current balance held on this line. + * A positive balance indicates that the perspective account holds value. + * A negative balance indicates that the perspective account owes value. + * `currency` (string — [currency code]()): the currency code of the token that this trust line represents. + * `limit` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the maximum amount of the given currency that this account is willing to owe the peer account. + * `limit_peer` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the maximum amount of the given currency that the counterparty is willing to owe the perspective account. + * `quality_in` (number): rate at which the account values incoming balances on this trust line, as a ratio of this value per 1 billion units. For example, a value of 500 million represents a `0.5:1` ratio. As a special case, 0 is treated as a `1:1` ratio. + * `quality_out` (number): rate at which the account values outgoing balances on this trust line, as a ratio of this value per 1 billion units. For example, a value of 500 million represents a `0.5:1` ratio. As a special case, 0 is treated as a `1:1` ratio. + * `no_ripple` (boolean; optional): if `true`, this account has enabled the [No Ripple flag](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) for this trust line. If `false`, the flag is disabled, but this is not considered [default](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate#contributing-to-the-owner-reserve) when Default Ripple is also disabled. If omitted, No Ripple is disabled and Default Ripple is enabled. + * `no_ripple_peer` (boolean; optional): if `true`, the peer account has enabled the [No Ripple flag](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) for this trust line. If `false`, the flag is disabled, but this is not considered [default](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate#contributing-to-the-owner-reserve) when Default Ripple is also disabled. If omitted, No Ripple is disabled and Default Ripple is enabled. + * `authorized` (boolean; optional): if true, the perspective account [has authorized this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. + * `peer_authorized` (boolean; optional): if `true`, the counterparty [has authorized this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. + * `freeze` (boolean; optional): if `true`, the perspective account [has frozen this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. + * `freeze_peer` (boolean; optional): if `true`, the counterparty [has frozen this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. + + * `ledger_current_index` (integer; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) used when retrieving this data. Present only when using an open ledger version. + * `ledger_index` (integer; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) used when retrieving this data. Present only when using a closed ledger version. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the identifying hash of the ledger version used when retrieving this data. This field is only provided when using a closed ledger version. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination; pass this to the next call to resume retrieving results from where this response ended. Omitted when there are no additional pages. + * `limit` (number; optional): the maximum number of trust lines retrieved. The server may return fewer than the specified limit even if more results are available. Default: `200`. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_lines", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "api_version": 2 + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_current_index": 99673270, + "lines": [ + { + "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "balance": "0", + "currency": "ASP", + "limit": "0", + "limit_peer": "10", + "quality_in": 0, + "quality_out": 0 + }, + { + "account": "rE6R3DWF9fBD7CyiQciePF9SqK58Ubp8o2", + "balance": "0", + "currency": "JOE", + "limit": "0", + "limit_peer": "100", + "no_ripple_peer": true, + "quality_in": 0, + "quality_out": 0 + } + ], + "status": "success", + "validated": false + } +} +``` + +--- + +## `account_nfts` + +> Retrieves a list of all NFTs for an account. + +The `account_nfts` method returns a list of `NFToken` objects for the specified account. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string; required): the unique identifier of an account (typically, [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)). Returns a list of NFTs owned by this account. + * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (string or number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `limit` (integer; optional): limits the number of [token pages](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage) to retrieve. Each page can contain up to 32 NFTs. + * Must be between `20` and `400`; values outside this range are adjusted to the nearest valid option. + * Default: `100`. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `account` (string): the account that owns the list of NFTs. + * `account_nfts` (array of objects): list of NFTs owned by the account. Each object represents one NFToken and includes the following fields: + * `Flags` (number): a bitmap of boolean flags enabled for this NFToken. See [NFToken Flags](https://xrpl.org/docs/references/protocol/data-types/nftoken#nftoken-flags) for possible values. + * `Issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the account that issued this NFToken. + * `NFTokenID` (string): the unique identifier of this NFToken, represented as a hexadecimal string. + * `NFTokenTaxon` (number): the unscrambled version of this token’s [taxon](https://xrpl.org/docs/references/protocol/data-types/nftoken#nftokentaxon). Tokens sharing the same taxon may represent multiple instances of a limited series. + * `URI` (string): the URI data associated with this NFToken, represented in hexadecimal format. + * `nft_serial` (number): the token sequence number of this NFToken, unique per issuer. + * `ledger_hash` (string; optional): the identifying hash of the ledger version used to generate this response. + * `ledger_index` (number; optional): the ledger index of the ledger version used to generate this response. + * `ledger_current_index` (number; optional): the ledger index of the current in-progress ledger version used to generate this response. + * `validated` (boolean): if true, the information in this response comes from a validated ledger version; otherwise, the information is subject to change. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination. Pass this to the next call to resume fetching results from where this response ended. Omitted when there are no additional pages. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_nfts", + "params": [ + { + "account": "rpoYSH7mntUSWF41gD7RhJQzrNHxogAb6W" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rpoYSH7mntUSWF41gD7RhJQzrNHxogAb6W", + "account_nfts": [], + "ledger_current_index": 99893274, + "status": "success", + "validated": false + } +} +``` + +--- + +## `account_objects` + +> Retrieves all ledger objects owned by an account. + +The `account_objects` command returns all ledger entries owned by an account, in their raw [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). + +There are other API methods that are specialized for getting certain types of ledger entry, such as the `account_lines` method for trust lines, or `account_offers` method for offers. These methods provide a processed view of the data that is more suitable for typical use cases. Use `account_objects` if you want to get ledger entries of types that don't have a specialized method, or if you want to get the entries in their canonical format. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): retrieves ledger entries associated with this account. + * `deletion_blockers_only` (boolean; optional): if `true`, returns only ledger entries that would prevent this account from being deleted. Default: `false`. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `limit` (number; optional): the maximum number of ledger entries to include in the results. Must be between `10` and `400` for non-admin connections. Default: `200`. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. + * `type` (string; optional): filters results by a specific type of ledger entry. Accepts canonical or [short names](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ledger-entry-short-names) of [ledger entry types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) (case-insensitive). Ledger entry types that cannot appear in an owner directory are not allowed. If omitted, all types are returned. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the account this request corresponds to. + * `account_objects` (array of objects): array of ledger entries found in this account’s owner directory. Includes both: + * Entries owned directly by this account, and + * Entries linked to this account but owned by others (for example, escrows where this account is the destination). + * Each member is a ledger entry in its raw [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). The number of entries may be fewer than the value specified in `limit`. + * `ledger_hash` (string; optional): the identifying hash of the ledger used to generate this response. + * `ledger_index` (number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to generate this response. + * `ledger_current_index` (number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the open ledger version used to generate this response. + * `limit` (number; optional): the limit value that was applied in this request, if specified. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination. Pass this to the next call to resume retrieving data where this response ended. Omitted when there are no additional pages. + * `validated` (boolean; optional): if `true`, the data in this response originates from a validated ledger version; otherwise, it may be subject to change. + + +The `account_objects` array may be empty even if there are additional ledger entries to retrieve. This is especially likely when using `type` to filter ledger entry types. If the response includes a `marker` field, there are additional pages of data; if the response does not include a `marker`, then this is the end of the data. This behavior is a consequence of how the API method iterates through the account's owner directory, and a precaution against requests putting excessive load on the server. + + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_objects", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "validated", + "type": "state", + "deletion_blockers_only": false, + "limit": 10 + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "account_objects": [ + { + "Balance": { + "currency": "ASP", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 65536, + "HighLimit": { + "currency": "ASP", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "ASP", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "10" + }, + "LowNode": "0", + "PreviousTxnID": "BF7555B0F018E3C5E2A3FF9437A1A5092F32903BE246202F988181B9CED0D862", + "PreviousTxnLgrSeq": 1438879, + "index": "2243B0B630EA6F7330B654EFA53E27A7609D9484E535AB11B7F946DF3D247CE9" + } + ], + "ledger_hash": "3E5A1F0602C9699922CBE7BD3846D0C22A584867FFAF9787A1C676315F0797B0", + "ledger_index": 99893571, + "limit": 10, + "marker": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93,94A9F05FEF9A153229E2E997E64919FD75AAE2028C8153E8EBDB4440BD3ECBB5", + "status": "success", + "validated": true + } +} +``` + +--- + +## `account_offers` + +> Retrieves info on the account's currency exchange offers. + +The `account_offers` method retrieves a list of [offers]() made by a given [account]() that are outstanding as of a particular [ledger version](). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): Look up Offers placed by this account. + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` (ledger index; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `limit` (number; optional): Limit the number of Offers to retrieve. The server may return fewer than this number of results. Must be within the inclusive range `10` to `400`. Positive values outside this range are replaced with the closest valid option. The default is `200`. + * `marker` (marker; optional): Value from a previous paginated response. Resume retrieving data where that response left off. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the account that made the offers. + * `offers` (array): Array of objects, where each object represents an offer made by this account that is outstanding as of the requested ledger version. If the number of offers is large, only returns up to `limit` at a time. + * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_hash` or `ledger_index` is provided. The ledger index of the current in-progress ledger version, which was used when retrieving this data. + * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided instead. The ledger index of the ledger version that was used when retrieving this data, as requested. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used when retrieving this data. + * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. + +Each `offer` object contains the following fields: + + * `flags` (unsigned integer): Options set for this offer entry as bit-flags. + * `seq` (unsigned integer): Sequence number of the transaction that created this entry. (Transaction [sequence numbers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) are relative to accounts.) + * `taker_gets` (string or object): The amount the account accepting the offer receives, as a String representing an amount in XRP, or a currency specification object. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)). + * `taker_pays` (string or object): The amount the account accepting the offer provides, as a String representing an amount in XRP, or a currency specification object. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)). + * `quality` (string): The exchange rate of the offer, as the ratio of the original `taker_pays` divided by the original `taker_gets`. When executing offers, the offer with the most favorable (lowest) quality is consumed first; offers with the same quality are executed from oldest to newest. + * `expiration` (unsigned integer; optional): A time after which this offer is considered unfunded, as the number of [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). See also: [Offer Expiration](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#offer-expiration). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_offers", + "params": [ + { + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "ledger_current_index": 99895001, + "offers": [], + "status": "success", + "validated": false + } +} +``` + +--- + +## `account_tx` + +> Retrieves a list of transactions affecting an account. + +The `account_tx` method retrieves a list of validated transactions that involve a given account. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string; required): the unique identifier of the account, typically its address. + * `tx_type` (string; optional): (Clio only) filters results to a specific transaction type (for example "Clawback", "AccountSet", "AccountDelete"). Case-insensitive. See [Transaction Types](https://xrpl.org/docs/references/protocol/transactions/types#transaction-types). + * `ledger_index_min` (integer; optional): earliest ledger index to include transactions from. A value of `-1` uses the earliest validated ledger available. + * `ledger_index_max` (integer; optional): most recent ledger index to include transactions from. A value of `-1` uses the most recent validated ledger available. + * `ledger_hash` (string — hash; optional): specifies a single ledger by its unique hash (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (string or unsigned integer; optional): specifies a single ledger by its index or a shortcut keyword (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `binary` (boolean; optional): if `true`, returns transactions as hex strings instead of JSON. Default: `false`. + * `forward` (boolean; optional): if `true`, returns results indexed with the oldest ledger first; otherwise, the newest ledger first. Each page may not be internally ordered, but pages overall follow the chosen order. Default: `false`. + * `limit` (integer; optional): limits the number of transactions to retrieve. The default varies depending on server configuration. The server is not required to honor this value. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. Stable even if the server’s available ledger range changes. + +**Iterating over queried data**: + +As with other paginated methods, you can use the `marker` field to return multiple pages of data. + +In the time between requests, `"ledger_index_min": -1` and `"ledger_index_max": -1` may change to refer to different ledger versions than they did before. The `marker` field can safely paginate even if there are changes in the ledger range from the request, so long as the marker does not indicate a point outside the range of ledgers specified in the request. + +### Returns + +#### API v2 + + * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the related account. + * `ledger_index_min` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the earliest ledger actually searched for transactions. + * `ledger_index_max` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the most recent ledger actually searched for transactions. + * `limit` (integer): The `limit` value used in the request. (This may differ from the actual limit value enforced by the server.) + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. + * `transactions` (array): Array of transactions matching the request's criteria, as explained below. + * `validated` (boolean): If included and set to `true`, the information in this response comes from a validated ledger version. Otherwise, the information is subject to change. + + +The server may respond with different values of `ledger_index_min` and `ledger_index_max` than you provided in the request, for example if it did not have the versions you specified on hand. + + +Each `transaction` object includes the following fields, depending on whether it was requested in JSON or hex string (`"binary": true`) format: + + * `close_time_iso` (string): The ledger close time represented in ISO 8601 time format. + * `hash` (string): The unique hash identifier of the transaction. + * `ledger_hash` (string): A hex string of the ledger version that included this transaction. + * `ledger_index` (integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version that included this transaction. + * `tx_json` (object — JSON): (JSON mode) JSON object defining the transaction. + * `tx_blob` (string — binary): (Binary mode) A unique hex string defining the transaction. + * `meta` (object — JSON): (JSON mode) The transaction results metadata in JSON. + * `meta_blob` (string — binary): (Binary mode) The transaction results metadata as a hex string. + * `validated` (boolean): Whether the transaction is included in a validated ledger or not. Any transaction not yet in a validated ledger is subject to change. + +#### API v1 + + * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the related account. + * `ledger_index_min` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the earliest ledger actually searched for transactions. + * `ledger_index_max` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the most recent ledger actually searched for transactions. + * `limit` (integer): The `limit` value used in the request. (This may differ from the actual limit value enforced by the server.) + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. + * `transactions` (array): Array of transactions matching the request's criteria, as explained below. + * `validated` (boolean): If included and set to `true`, the information in this response comes from a validated ledger version. Otherwise, the information is subject to change. + + +The server may respond with different values of `ledger_index_min` and `ledger_index_max` than you provided in the request, for example if it did not have the versions you specified on hand. + + +Each `transaction` object includes the following fields, depending on whether it was requested in JSON or hex string (`"binary": true`) format. + + * `ledger_index` (integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version that included this transaction. + * `tx` (object — JSON): (JSON mode) JSON object defining the transaction. + * `tx_blob` (string — binary): (Binary mode) Hex string representing the transaction. + * `meta` (object — JSON or string — binary): If `binary` is `true`, then this is a hex string of the transaction results metadata. Otherwise, the transaction results metadata is included in JSON format. + * `validated` (boolean): Whether the transaction is included in a validated ledger or not. Any transaction not yet in a validated ledger is subject to change. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_tx", + "params": [ + { + "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", + "binary": false, + "forward": false, + "ledger_index_max": -1, + "ledger_index_min": -1, + "limit": 2, + "api_version": 2 + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", + "ledger_index_max": 100184671, + "ledger_index_min": 99766025, + "limit": 2, + "status": "success", + "transactions": [], + "validated": true + } +} +``` + +--- + +## `gateway_balances` + +> Calculates total amounts issued by an account. + +The `gateway_balances` method calculates the total balances issued by a given account, optionally excluding amounts held by [operational addresses](https://xrpl.org/docs/concepts/accounts/account-types). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) to check. This should be the [issuing address](https://xrpl.org/docs/concepts/accounts/account-types). + * `strict` (boolean; optional): If `true`, only accept an address or public key for the account parameter. Defaults to `false`. + * `hotwallet` (string or array; optional): An [operational address](https://xrpl.org/docs/concepts/accounts/account-types) to exclude from the balances issued, or an array of such addresses. + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `ledger_index` (string or unsigned integer; optional): The ledger index of the ledger version to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): The address of the account that issued the balances. + * `obligations` (object; omitted if empty): Total amounts issued to addresses not excluded, as a map of currencies to the total value issued. + * `balances` (object; omitted if empty): Amounts issued to the `hotwallet` addresses from the request. The keys are addresses and the values are arrays of currency amounts they hold. + * `assets` (object; omitted if empty): Total amounts held that are issued by others. In the recommended configuration, the [issuing address](https://xrpl.org/docs/concepts/accounts/account-types) should have none. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used to generate this response. + * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger version that was used to generate this response. + * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): (Omitted if `ledger_current_index` is provided). The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger version, which was used to retrieve this information. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "gateway_balances", + "params": [ + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "hotwallet": [ + "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ", + "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt" + ], + "ledger_index": "validated", + "strict": true + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "assets": { + "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH": [ + { + "currency": "BTC", + "value": "5444166510000000e-26" + } + ], + "rPU6VbckqCLW4kb51CWqZdxvYyQrQVsnSj": [ + { + "currency": "BTC", + "value": "1029900000000000e-26" + } + ], + "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ": [ + { + "currency": "BTC", + "value": "4000000000000000e-30" + } + ], + "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6": [ + { + "currency": "BTC", + "value": "8700000000000000e-30" + } + ] + }, + "balances": { + "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ": [ + { + "currency": "EUR", + "value": "144816.1965999999" + } + ], + "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt": [ + { + "currency": "USD", + "value": "6677.38614" + } + ] + }, + "frozen_balances": { + "r4keXr5myiU4iTLh68ZqZ2CgsJ8dM9FSW6": [ + { + "currency": "BTC", + "value": "0.091207822800868" + } + ] + }, + "ledger_hash": "9F04F45FC6A7B4BE8DA04580F7E4E23DCCE58A9FD73178296CA70319C5B799F1", + "ledger_index": 100185180, + "obligations": { + "BTC": "1761.964986208178", + "EUR": "813788.3511514511", + "GBP": "4973.797603049582", + "USD": "6734902.401181124" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +## `noripple_check` + +> Gets recommended changes to an account's Default Ripple and No Ripple settings. + +The `noripple_check` command provides a quick way to check the status of [the Default Ripple field for an account and the No Ripple flag of its trust lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling), compared with the recommended settings. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string): A unique identifier for the account, most commonly the account's address. + * `role` (string): Whether the address refers to a `gateway` or `user`. Recommendations depend on the role of the account. Issuers must have Default Ripple enabled and must disable No Ripple on all trust lines. Users should have Default Ripple disabled, and should enable No Ripple on all trust lines. + * `transactions` (boolean; optional): If `true`, include an array of suggested [transactions](https://xrpl.org/docs/references/protocol/transactions), as JSON objects, that you can sign and submit to fix the problems. The default is `false`. + * `limit` (unsigned integer; optional): The maximum number of trust line problems to include in the results. Defaults to 300. + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `ledger_index` (string or unsigned integer; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `ledger_current_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger used to calculate these results. + * `problems` (array): Array of strings with human-readable descriptions of the problems. This includes up to one entry if the account's Default Ripple setting is not as recommended, plus up to `limit` entries for trust lines whose No Ripple setting is not as recommended. + * `transactions` (array; optional): If the request specified `transactions` as `true`, this is an array of JSON objects, each of which is the JSON form of a [transaction](https://xrpl.org/docs/references/protocol/transactions) that should fix one of the described problems. The length of this array is the same as the `problems` array, and each entry is intended to fix the problem described at the same index into that array. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "noripple_check", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "current", + "limit": 2, + "role": "gateway", + "transactions": true + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "ledger_current_index": 100203014, + "problems": [ + "You should immediately set your default ripple flag", + "You should clear the no ripple flag on your USD line to rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "You should clear the no ripple flag on your EUR line to rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "You should clear the no ripple flag on your CNY line to rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "You should clear the no ripple flag on your XAU line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "You should clear the no ripple flag on your 015841551A748AD2C1F76FF6ECB0CCCD00000000 line to rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx", + "You should clear the no ripple flag on your AUX line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "You should clear the no ripple flag on your CNY line to razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA", + "You should clear the no ripple flag on your JPY line to rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "You should clear the no ripple flag on your USD line to rfF3PNkwkq1DygW2wum2HK3RGfgkJjdPVD", + "You should clear the no ripple flag on your USD line to r9vbV3EHvXWjSkeQ6CAcYVPGeq7TuiXY2X" + ], + "status": "success", + "transactions": [ + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10, + "Sequence": 1406, + "SetFlag": 8, + "TransactionType": "AccountSet" + }, + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10, + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "5" + }, + "Sequence": 1407, + "TransactionType": "TrustSet" + } + ], + "validated": false + } +} +``` + +--- + +**Ledger Methods**: + +A ledger version contains a header, a transaction tree, and a state tree, which contain account settings, trustlines, balances, transactions, and other data. Use these methods to retrieve ledger info. + +## `ledger` + +> Retrieves info on the ledger. + +Retrieves information about the public [ledger](https://xrpl.org/docs/concepts/ledgers). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` (number or string; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `transactions` (boolean; optional): If `true`, return information on transactions in the specified ledger version. The default is `false`. Ignored if you did not specify a ledger version. + * `expand` (boolean; optional): Provide full JSON-formatted information for transaction/account information instead of only hashes. The default is `false`. Ignored unless you request transactions, accounts, or both. + * `owner_funds` (boolean; optional): If `true`, include `owner_funds` field in the metadata of OfferCreate transactions in the response. The default is `false`. Ignored unless transactions are included and `expand` is `true`. + * `binary` (boolean; optional): If `true`, and `transactions` and `expand` are both also `true`, return transaction information in binary format (hexadecimal string) instead of JSON format. + * `queue` (boolean; optional): If `true`, and the command is requesting the `current` ledger, includes an array of [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) in the results. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing information about the ledger, including the following fields: + + * `ledger` (object): The complete [ledger header data](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header) of this ledger, with some additional fields added for convenience. + * `ledger.account_hash` (string): [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of all account state information in this ledger, as hexadecimal. + * `ledger.close_flags` (number): A bit-map of [flags relating to the closing of this ledger](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header#close-flags). + * `ledger.close_time` (number): The time this ledger was closed, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). + * `ledger.close_time_human` (string): The time this ledger was closed, in human-readable format. Always uses the UTC time zone. + * `ledger.close_time_resolution` (number): Ledger close times are rounded to within this many seconds. + * `ledger.closed` (boolean): Whether this ledger has been closed or not. + * `ledger.ledger_hash` (string): Unique identifying hash of the entire ledger. + * `ledger.ledger_index` (string — [API v1](https://xrpl.org/docs/references/http-websocket-apis#api-versioning); number — [API v2](https://xrpl.org/docs/references/http-websocket-apis#api-versioning)): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. + * `ledger.parent_close_time` (number): The time at which the previous ledger was closed. + * `ledger.parent_hash` (string): The unique identifying hash of the ledger that came immediately before this one, as hexadecimal. + * `ledger.total_coins` (string): Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.) + * `ledger.transaction_hash` (string): [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of the transaction information included in this ledger. + * `ledger.transactions` (array; optional): Transactions applied in this ledger version. By default, members are the transactions’ identifying [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) strings. If the request specified `expand` as `true`, members are full representations of the transactions instead, in either JSON or binary depending on whether the request specified `binary` as `true`. + * `ledger_hash` (string): The unique identifying hash of the entire ledger, as hexadecimal. + * `ledger_index` (number): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. + * `validated` (boolean; optional): If `true`, this is a validated ledger version. If omitted or set to `false`, this ledger’s data is not final. + * `queue_data` (array; optional): (Omitted unless requested with the `queue` parameter) Array of objects describing queued transactions, in the same order as the queue. If the request specified `expand` as `true`, members contain full representations of the transactions, in either JSON or binary depending on whether the request specified `binary` as `true`. + +Each member of the `queue_data` array represents one transaction in the queue. Some fields of this object may be omitted because they have not yet been calculated. The fields of this object are as follows: + + * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the sender for this queued transaction. + * `tx` (string or object): By default, this is a string containing the identifying hash of the transaction. If transactions are expanded in binary format, this is an object whose only field is `tx_blob`, containing the binary form of the transaction as a decimal string. If transactions are expanded in JSON format, this is an object containing the transaction object including the transaction's identifying hash in the `hash` field. + * `retries_remaining` (number): How many times this transaction can be retried before being dropped. + * `preflight_result` (string): The tentative result from preliminary transaction checking. This is always `tesSUCCESS`. + * `last_result` (string; optional): If this transaction was left in the queue after getting a [retriable (`ter`) result](https://xrpl.org/docs/references/protocol/transactions/transaction-results/ter-codes), this is the exact `ter` result code it got. + * `auth_change` (boolean; optional): Whether this transaction changes this address's [ways of authorizing transactions](https://xrpl.org/docs/concepts/transactions#authorizing-transactions). + * `fee` (string; optional): The [Transaction Cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) of this transaction, in [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). + * `fee_level` (string; optional): The transaction cost of this transaction, relative to the minimum cost for this type of transaction, in fee levels. + * `max_spend_drops` (string; optional): The maximum amount of [XRP, in drops](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts), this transaction could potentially send or destroy. + +If the request specified `"owner_funds": true` and expanded transactions, the response has a field `owner_funds` in the `metaData` object of each [OfferCreate transaction](https://xrpl.org/docs/references/protocol/transactions/types/offercreate). The purpose of this field is to make it easier to track the [funding status of offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) with each new validated ledger. This field is defined slightly differently than the version of this field in [Order Book subscription streams](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe#order-book-streams): + + * `owner_funds` (string): Numeric amount of the `TakerGets` currency that the `Account` sending this OfferCreate transaction has after the execution of all transactions in this ledger. This does not check whether the currency amount is [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger", + "params": [ + { + "ledger_index": "validated", + "transactions": false, + "expand": false, + "owner_funds": false + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger": { + "account_hash": "E8C6EF996B38EFC2E297B3165F6B687433B1DF137BDCF804C0B0F9E393E0D045", + "close_flags": 0, + "close_time": 816442750, + "close_time_human": "2025-Nov-14 13:39:10.000000000 UTC", + "close_time_iso": "2025-11-14T13:39:10Z", + "close_time_resolution": 10, + "closed": true, + "ledger_hash": "344AC8FCFC579E9EAC59CAFEBCC1E2EA36A261F4EB2A6CC649380C351F402397", + "ledger_index": "100204822", + "parent_close_time": 816442741, + "parent_hash": "ADA5D8A5A554881A9E45A8EC88FBDADD5D4D47213F0FFBCE23001AD7E37B5768", + "total_coins": "99985759346884737", + "transaction_hash": "03E26EC74BFBEEFEBD19FD512A16809C1A165B1A2F9CFF4BFD987994FCA60334" + }, + "ledger_hash": "344AC8FCFC579E9EAC59CAFEBCC1E2EA36A261F4EB2A6CC649380C351F402397", + "ledger_index": 100204822, + "status": "success", + "validated": true + } +} +``` + +--- + +## `ledger_closed` + +> Retrieves the latest closed ledger version. + +The `ledger_closed` method returns the unique identifiers of the most recently closed ledger. (This ledger is not necessarily validated and immutable yet.) + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `ledger_hash` (string): The unique [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of this ledger version, in hexadecimal. + * `ledger_index` (unsigned integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger version. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_closed", + "params": [ + {} + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "3E6CF37B032E232ED6D77900C937647A275C8FE1F9F784F361B1022BB4608172", + "ledger_index": 100204931, + "status": "success" + } +} +``` + +--- + +## `ledger_current` + +> Retrieves the current working ledger version. + +The `ledger_current` method returns the unique identifiers of the current in-progress [ledger](https://xrpl.org/docs/concepts/ledgers). This command is mostly useful for testing, because the ledger returned is still in flux. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following field: + + * `ledger_current_index` (unsigned integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of this ledger version. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_current", + "params": [ + {} + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_current_index": 100205074, + "status": "success" + } +} +``` + +--- + +## `ledger_data` + +> Retrieves the raw contents of a ledger version. + +The `ledger_data` method retrieves contents of the specified ledger. You can iterate through several calls to retrieve the entire contents of a single ledger version. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 20-byte hex string identifying the ledger version to use. + * `ledger_index` (number or string; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `binary` (boolean; optional): If `true`, return ledger entries as hexadecimal strings instead of JSON. The default is `false`. + * `limit` (number; optional): Limit the number of ledger entries to retrieve. The server may return fewer than this number of entries. Cannot be more than 2048 (when requesting binary) or 256 (when requesting JSON). Positive values outside this range are replaced with the closest valid option. The default is the maximum. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Value from a previous paginated response. Resume retrieving data where that response left off. + * `type` (string; optional): Filter results to a specific type of ledger entry. This field accepts canonical names of [ledger entry types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) (case-insensitive) or [short names](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ledger-entry-short-names). If omitted, return ledger entries of all types. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `ledger_index` (unsigned integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of this ledger version. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): Unique identifying hash of this ledger version. + * `state` (array): Array of JSON objects containing data from the ledger's state tree, as defined below. + * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. + +If a `type` field is mentioned in the request, the `state` array will be empty if the first set of array objects does not match the type requested. In such cases, you can use the `marker` from this response to paginate and retrieve further data. + +The format of each object in the `state` array depends on whether `binary` was set to true or not in the request. Each `state` object may include the following fields: + + * `data` (string): (Only included if `"binary": true`) Hex representation of the requested data. + * `LedgerEntryType` (string): (Only included if `"binary": false`) String indicating what type of ledger object this object represents. See [ledger object types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) for the full list. + * **(Additional fields)** (various): (Only included if `"binary": false`) Additional fields describing this object, depending on which [ledger object type](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) it is. + * `index` (string): Unique identifier for this ledger entry, as hex. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_data", + "params": [ + { + "binary": true, + "ledger_hash": "842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "limit": 5 + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "error": "lgrNotFound", + "error_code": 21, + "error_message": "ledgerNotFound", + "request": { + "binary": true, + "command": "ledger_data", + "ledger_hash": "842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "limit": 5 + }, + "status": "error" + } +} +``` + +--- + +## `ledger_entry` + +> Retrieves a single item from a ledger version. + +The `ledger_entry` method returns a single ledger entry from the XRP Ledger in its raw format. See [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) for information on the different types of entries you can retrieve. + +### Request format + +This method can retrieve several distinct types of data. You can select which type of item to retrieve by passing the appropriate parameters, comprised of the general and type-specific fields listed below, and following the standard [request formatting](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/request-formatting). (For example, a WebSocket request always has the `command` field and optionally an id field, and a JSON-RPC request uses the `method` and `params` fields.) + +#### General fields + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `binary` (boolean; optional): If `true`, return the requested ledger entry's contents as a hex string in the XRP Ledger's [binary format](https://xrpl.org/docs/references/protocol/binary-format). Otherwise, return data in JSON format. The default is `false`. + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `ledger_index` (string or unsigned integer; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string (e.g. "validated", "closed", or "current") to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `include_deleted` (boolean; optional, Clio servers only): If set to `true` and the queried object has been deleted, returns its complete data as it was prior to its deletion. If set to `false` or not provided, and the queried object has been deleted, returns `objectNotFound` (current behavior). + +#### Specific fields + +In addition to the general fields above, you must specify exactly 1 of the specific fields to indicate what type of entry to retrieve, along with its sub-fields as appropriate. The valid fields are: + + * [Get Ledger Entry by ID](/rpc-service/chains/chains-api/xrp/#get-ledger-entry-by-id) + * [Get AccountRoot Entry](/rpc-service/chains/chains-api/xrp/#get-accountroot-entry) + * [Get AMM Entry](/rpc-service/chains/chains-api/xrp/#get-amm-entry) + * [Get Bridge Entry](/rpc-service/chains/chains-api/xrp/#get-bridge-entry) + * [Get Credential Entry](/rpc-service/chains/chains-api/xrp/#get-credential-entry) + * [Get DirectoryNode Entry](/rpc-service/chains/chains-api/xrp/#get-directorynode-entry) + * [Get Offer Entry](/rpc-service/chains/chains-api/xrp/#get-offer-entry) + * [Get Oracle Entry](/rpc-service/chains/chains-api/xrp/#get-oracle-entry) + * [Get RippleState Entry](/rpc-service/chains/chains-api/xrp/#get-ripplestate-entry) + * [Get Check Entry](/rpc-service/chains/chains-api/xrp/#get-check-entry) + * [Get Escrow Entry](/rpc-service/chains/chains-api/xrp/#get-escrow-entry) + * [Get PayChannel Entry](/rpc-service/chains/chains-api/xrp/#get-paychannel-entry) + * [Get DepositPreauth Entry](/rpc-service/chains/chains-api/xrp/#get-depositpreauth-entry) + * [Get Ticket Entry](/rpc-service/chains/chains-api/xrp/#get-ticket-entry) + * [Get NFT Page](/rpc-service/chains/chains-api/xrp/#get-nft-page) + * [Get MPT Issuance Object](/rpc-service/chains/chains-api/xrp/#get-mpt-issuance-object) + * [Get MPToken Object](/rpc-service/chains/chains-api/xrp/#get-mptoken-object) + +#### Get Ledger Entry by ID + +Retrieve any type of ledger entry by its unique ID. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `index` (string): The [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of a single entry to retrieve from the ledger, as a 64-character (256-bit) hexadecimal string. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "result": { + "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4", + "ledger_hash": "0F7D2D0313C7A3D69433AEAB715D8034A7B5F9E07534FDEB211EBD25A99753DE", + "ledger_index": 100449979, + "node": { + "Amendments": [ + "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE", + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", + "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC", + "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11" + ], + "Flags": 0, + "LedgerEntryType": "Amendments", + "PreviousTxnID": "14853FF2D09D198B576A531C50883C59D71474BA9072C1F5C0ED1DD57882B922", + "PreviousTxnLgrSeq": 99226369, + "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get AccountRoot Entry + +Retrieve an [AccountRoot entry]() by its address. This is roughly equivalent to the `account_info` method. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account_root` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): The classic address of the [AccountRoot](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/accountroot) entry to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "account_root": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", + "ledger_hash": "F12172CAE7E0B4E9283323ACFEC6FA41212A7B10F2D530FD0D891D4044533E01", + "ledger_index": 100469352, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", + "Balance": "1138222650", + "Domain": "6D64756F31332E636F6D", + "EmailHash": "98B4375E1D753E5B91627516F6D70977", + "Flags": 9568256, + "LedgerEntryType": "AccountRoot", + "MessageKey": "0000000000000000000000070000000300", + "OwnerCount": 17, + "PreviousTxnID": "E5C3578BDBEBDCDE7E1697E3BA6A1CF04B17CCEBDE4939200680FEF530C7978E", + "PreviousTxnLgrSeq": 94448149, + "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", + "Sequence": 393, + "TicketCount": 5, + "TransferRate": 4294967295, + "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get AMM Entry + +Retrieve an Automated Market-Maker (AMM) object from the ledger. This is similar to `amm_info` method but the `ledger_entry` version returns only the ledger entry as stored. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `amm` (object or string): The AMM to retrieve. If you specify a string, it must be the object ID of the AMM, as hexadecimal. If you specify an object, it must contain `asset` and `asset2` sub-fields. + * `amm.asset` (object): One of the two assets in this AMM's pool, as a [currency object without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). + * `amm.asset2` (object): The other of the two assets in this AMM's pool, as a [currency object without an amount]https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "amm": { + "asset": { + "currency": "string" + }, + "asset2": { + "currency" : "string", + "issuer" : "string" + } + }, + "ledger_index": "string" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "AMM": { + "Asset": { + "currency": "string", + "issuer": "string" + }, + "Asset2": { + "currency": "string", + "issuer": "string" + }, + "LPTokenBalance": "string", + "TradingFee": integer, + "VoteSlots": [ + { + "Account": "string", + "TradingFee": integer, + "VoteWeight": "string" + } + ], + "AuctionSlot": { + "Account": "string", + "Price": { + "value": "string", + "currency": "string", + "issuer": "string" + }, + "Expiration": integer + } + }, + "Flags": integer + }, + "validated": boolean + } +} +``` + +--- + +#### Get Bridge Entry + +(Requires the [XChainBridge amendment](https://xrpl.org/resources/known-amendments#xchainbridge).) + +Retrieve a [Bridge entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/bridge) which represents a single cross-chain bridge that connects the XRP Ledger with another blockchain. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `bridge_account` (string): The account that submitted the `XChainCreateBridge` transaction on the blockchain. + * `bridge` (object): The [Bridge](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/bridge) to retrieve. Includes the door accounts and assets on the issuing and locking chain. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "bridge_account": "string", + "bridge": { + "locking_chain_door": "string", + "locking_chain_issue": { + "currency": "string", + "issuer": "string" + }, + "issuing_chain_door": "string", + "issuing_chain_issue": { + "currency": "string", + "issuer": "string" + } + } + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "Bridge": { + "LockingChainDoor": "string", + "LockingChainIssue": { + "currency": "string", + "issuer": "string" + }, + "IssuingChainDoor": "string", + "IssuingChainIssue": { + "currency": "string", + "issuer": "string" + } + }, + "Flags": integer, + "OwnerNode": "string" + }, + "validated": boolean + } +} +``` + +--- + +#### Get Credential Entry + +Retrieve a [Credential entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/credential), which represents an attestation by one account about another account. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `credential` (object or string; required): Specify the Credential to retrieve. If a string, must be the ledger entry ID of the entry, as hexadecimal. If an object, requires `subject`, `issuer`, and `credential_type` sub-fields. + * `credential.subject` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that is the subject of the credential. + * `credential.issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that issued the credential. + * `credential.credential_type` (string — hexadecimal; required): The type of the credential, as issued. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "credential": { + "subject": "string", + "issuer": "string", + "credential_type": "string" + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "Credential": { + "Subject": "string", + "Issuer": "string", + "CredentialType": "string" + }, + "Flags": integer + }, + "validated": boolean + } +} +``` + +--- + +#### Get DirectoryNode Entry + +Retrieve a [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode) which contains a list of other ledger objects. Can be provided as string (object ID of the Directory) or as an object. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `directory` (object or string): The [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode) to retrieve. If a string, must be the [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the directory, as hexadecimal. If an object, requires either `dir_root` or `owner` as a sub-field, plus optionally a `sub_index` sub-field. + * `directory.sub_index` (unsigned integer; optional): If provided, jumps to a later "page" of the [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode). + * `directory.dir_root` (string; optional): Unique index identifying the directory to retrieve, as a hex string. + * `directory.owner` (string; optional): Unique address of the account associated with this directory. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "directory": { + "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "sub_index": 0 + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "result": { + "index": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D", + "ledger_hash": "C36B922A1D7453928D8477DCE0F512DC914F3DBC8C099780895588A412CFB31D", + "ledger_index": 100471753, + "node": { + "Flags": 0, + "Indexes": [ + "0D9D9CDDB28263938B423CE74FF3B4F6D960BA0F16EB7CEB36AB7937439ED73A", + "28ADCBD6F9A4B18949EC5CDBB3411F1D5826ED0ECB149AE14AED6D8784EA39EE", + "556B13E58990CC22D3379BCC6D55F46237F11713AD809DF3E7860DAB55B7F3EF", + "6451BF1D41FCDA846C4B60E6F4E4914F1C4EC3015FF978642B7358A14DAE1C26", + "6C3556BE2D440A3BEE999CC77657BA8F5DC473DFE44D4E11A8EE45B49F15FD4A", + "731A16474E86C07C62B3042BD2C223ED85EBD54E3B540E7E2739187EF9B483BA" + ], + "LedgerEntryType": "DirectoryNode", + "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "PreviousTxnID": "DDA5BDDF8DA08065B36548BE127730CB160B106DCCF9476ABB2FABE61BA3135C", + "PreviousTxnLgrSeq": 94384123, + "RootIndex": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D", + "index": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get Offer Entry + +Retrieve an [Offer entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/offer) which defines an offer to exchange currency. Can be provided as string (unique index of the Offer) or as an object. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `offer` (object or string): If a string, interpret as [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Offer to retrieve. If an object, requires the sub-fields `account` and `seq` to uniquely identify the offer. + * `offer.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `offer` is an object): The account that placed the offer. + * `offer.seq` (unsigned integer; required if `offer` is an object): The [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) of the transaction that created the Offer entry. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "offer": { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "seq": 359 + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "D0A063DEE0B0EC9522CF35CD55771B5DCAFA19A133EE46A0295E4D089AF86438", + "ledger_hash": "9D360371ABE2F2FA4AFE1FB489988E752792185975CE1CEEFACE1B86CB327AAD", + "ledger_index": 100471866, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "BookDirectory": "5A70682882F317175860A1188FAFF2757537D1A66B8500894E038D7EA4C68000", + "BookNode": "0", + "Flags": 0, + "LedgerEntryType": "Offer", + "OwnerNode": "0", + "PreviousTxnID": "2B44EBE00728D04658E597A85EC4F71D20503B31ABBF556764AD8F7A80BA72F6", + "PreviousTxnLgrSeq": 18555460, + "Sequence": 359, + "TakerGets": "1000000000", + "TakerPays": { + "currency": "FOO", + "issuer": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "value": "100" + }, + "index": "D0A063DEE0B0EC9522CF35CD55771B5DCAFA19A133EE46A0295E4D089AF86438" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get Oracle Entry + +Retrieve an [Oracle entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/oracle) which represents a single price oracle that can store token prices. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `oracle` (object; required): The oracle identifier. + * `oracle.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that controls the `Oracle` object. + * `oracle.oracle_document_id` (number; required): A unique identifier of the price oracle for the `Account`. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "oracle" : { + "account": "string", + "oracle_document_id": number + }, + "ledger_index": "string" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "Oracle": { + "Account": "string", + "OracleDocumentID": number, + "URI": "string", + "LastUpdateTime": integer, + "PriceDataSeries": [ + { + "Price": "string", + "Scale": integer, + "Timestamp": integer + } + ] + }, + "Flags": integer + }, + "validated": boolean + } +} +``` + +--- + +#### Get RippleState Entry + +Retrieve a [RippleState entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate) which tracks a (non-XRP) currency balance between two accounts. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `state` (object; optional): Alias to `ripple_state`. + * `ripple_state` (object; optional): Object specifying the RippleState (trust line) object to retrieve. The `accounts` and `currency` sub-fields are required to uniquely specify the RippleState entry to retrieve. + * `ripple_state.accounts` (array; required if `ripple_state` is specified): 2-length array of account [Addresses](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses), defining the two accounts linked by this RippleState entry. + * `ripple_state.currency` (string; required if `ripple_state` is specified): [Currency Code](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) of the RippleState entry to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "ripple_state": { + "accounts": [ + "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW" + ], + "currency": "USD" + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "9CA88CDEDFF9252B3DE183CE35B038F57282BC9503CDFA1923EF9A95DF0D6F7B", + "ledger_hash": "03983977B9497B624E8A735205FFF3729A9F06B5C7384E59638B8147F648EDF8", + "ledger_index": 100472021, + "node": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 8847360, + "HighLimit": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "110" + }, + "HighNode": "0", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "value": "0" + }, + "LowNode": "0", + "PreviousTxnID": "5E089C0CD4C52D3ECD85E5E1F38FC255F43FAFAF4FD5C42DD48A8A1B6C36DF5E", + "PreviousTxnLgrSeq": 61168278, + "index": "9CA88CDEDFF9252B3DE183CE35B038F57282BC9503CDFA1923EF9A95DF0D6F7B" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get Check Entry + +Retrieve a [Check entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/check) which is a potential payment that can be cashed by its recipient. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `check` (string): The object ID of a Check entry to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB", + "ledger_hash": "FD563CE753BAC24A385EDC5875AD57BE9074F0B9C9C1397441BCFA2569960C9A", + "ledger_index": 100472064, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "DestinationNode": "0", + "DestinationTag": 13, + "Flags": 0, + "LedgerEntryType": "Check", + "OwnerNode": "0", + "PreviousTxnID": "4E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB", + "PreviousTxnLgrSeq": 61965653, + "SendMax": { + "currency": "USD", + "issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "value": "10" + }, + "Sequence": 384, + "index": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get Escrow Entry + +Retrieve an [Escrow entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/escrow) which holds XRP until a specific time or condition is met. Can be provided as string (object ID of the Escrow) or as an object. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `escrow` (object or string): The Escrow to retrieve. If a string, must be the [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Escrow, as hexadecimal. If an object, requires `owner` and `seq` sub-fields. + * `escrow.owner` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `escrow` is an object): The owner (sender) of the Escrow object. + * `escrow.seq` (unsigned integer; required if `escrow` is an object): The [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) of the transaction that created the Escrow object. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "escrow": { + "owner": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", + "seq": 126 + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "917ACF1324F06D19239A03E4A6A3FE24F9313BB23337ECB801BDAD013BE27F83", + "ledger_hash": "110D64E05F92F26624DAC3BC11294BD512306DEAE2F94717B7D6BA8ABB308361", + "ledger_index": 100472121, + "node": { + "Account": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", + "Amount": "99750000", + "Condition": "A0258020085D1EDF8045DC7F6E42B8DB09E05248502852FB3FF27815FC94433D1CB62198810120", + "Destination": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", + "FinishAfter": 3802143660, + "Flags": 0, + "LedgerEntryType": "Escrow", + "OwnerNode": "1", + "PreviousTxnID": "470DC630B0251FCCA740EA9CA7781A502608890FB123F14D0C4BE20C4D5D44DB", + "PreviousTxnLgrSeq": 37088514, + "index": "917ACF1324F06D19239A03E4A6A3FE24F9313BB23337ECB801BDAD013BE27F83" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get PayChannel Entry + +Retrieve a [PayChannel entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel) which holds XRP for asynchronous payments. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `payment_channel` (string): The [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the PayChannel to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "payment_channel": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", + "ledger_hash": "BEC950D37F3B609CDC1F76047871DB1C5AC6DBEFA19AEA84D14AF1BF83BECE4E", + "ledger_index": 100472165, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": "1000", + "Balance": "0", + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "DestinationNode": "0", + "Flags": 0, + "LedgerEntryType": "PayChannel", + "OwnerNode": "0", + "PreviousTxnID": "711C4F606C63076137FAE90ADC36379D7066CF551E96DA6FE2BDAB5ECBFACF2B", + "PreviousTxnLgrSeq": 61965340, + "PublicKey": "03CFD18E689434F032A4E84C63E2A3A6472D684EAF4FD52CA67742F3E24BAE81B2", + "SettleDelay": 60, + "index": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7" + }, + "status": "success", + "validated": true, + "warning": "load" + } +} +``` + +--- + +#### Get DepositPreauth Entry + +Retrieve a [DepositPreauth entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth) which tracks preauthorization for payments to accounts requiring [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth). + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `deposit_preauth` (object or string; required): Specify the DepositPreauth to retrieve. If a string, must be the ledger entry ID of the DepositPreauth entry, as hexadecimal. If an object, requires `owner` sub-field and either `authorized` or `authorize_credentials` sub-field. + * `deposit_preauth.owner` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that provided the preauthorization. + * `deposit_preauth.authorized` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): The account that received the preauthorization. + * `deposit_preauth.authorized_credentials` (array; optional): A set of credentials that received the preauthorization. + +Each member of the `deposit_preauth.authorized_credentials` array, if provided, must include the following nested fields: + + * `issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The address of the account that issued the credential. + * `credential_type` (string — hexadecimal; required): The type of the credential, as issued. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "deposit_preauth": { + "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "authorized": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX" + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "A43898B685C450DE8E194B24D9D54E62530536A770CCB311BFEE15A27381ABB2", + "ledger_hash": "C605C3E34DDBD8025844583B2EAEB75EE5CA933DB6B97646BDA736FED8D6A0A6", + "ledger_index": 100472247, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Authorize": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Flags": 0, + "LedgerEntryType": "DepositPreauth", + "OwnerNode": "0", + "PreviousTxnID": "CB1BF910C93D050254C049E9003DA1A265C107E0C8DE4A7CFF55FADFD39D5656", + "PreviousTxnLgrSeq": 61965405, + "index": "A43898B685C450DE8E194B24D9D54E62530536A770CCB311BFEE15A27381ABB2" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get Ticket Entry + +Retrieve a [Ticket entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ticket) which represents a sequence number set aside for future use. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ticket` (object or string): The Ticket to retrieve. If a string, must be the [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Ticket, as hexadecimal. If an object, the `account` and `ticket_seq` sub-fields are required to uniquely specify the Ticket entry. + * `ticket.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `ticket` is an object): The owner of the Ticket. + * `ticket.ticket_seq` (number; required if `ticket` is an object): The Ticket Sequence number of the Ticket to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "ticket": { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ticket_seq": 389 + }, + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "index": "B603682BC36F474F708E1A150B7C034C6C13D838C3F2F135CDB7BEA6E5B5ACEF", + "ledger_hash": "2594A8BF2A0C52022EE4BD187FBB9345297DDB20C82FFBDDE87CFEA443440B98", + "ledger_index": 100472816, + "node": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Flags": 0, + "LedgerEntryType": "Ticket", + "OwnerNode": "0", + "PreviousTxnID": "7458B6FD22827B3C141CDC88F1F0C72658C9B5D2E40961E45AF6CD31DECC0C29", + "PreviousTxnLgrSeq": 76567735, + "TicketSequence": 389, + "index": "B603682BC36F474F708E1A150B7C034C6C13D838C3F2F135CDB7BEA6E5B5ACEF" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get NFT Page + +Return an NFT Page in its raw ledger format. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `nft_page` (string): The [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of an [NFT Page](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage) to retrieve. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "result": { + "index": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF", + "ledger_hash": "1C560CABB9E9556BEA3DE17DDCC4CB0F5FF82A533698744F0C339D3AE41391B1", + "ledger_index": 100472871, + "node": { + "Flags": 0, + "LedgerEntryType": "NFTokenPage", + "NFTokens": [ + { + "NFToken": { + "NFTokenID": "000827100179C79A9CAACE945A5B77FCC291948F17A72A3F369B7C9400000A19", + "URI": "68747470733A2F2F78726F79616C74792E6D7970696E6174612E636C6F75642F697066732F516D534236344D5856614C7A46427757394847467969696243436D53554A4E7267753731735A38653742334D51452F323732392E6A736F6E" + } + }, + { + "NFToken": { + "NFTokenID": "000827100179C79A9CAACE945A5B77FCC291948F17A72A3FBCE1D3AC000008F1", + "URI": "68747470733A2F2F78726F79616C74792E6D7970696E6174612E636C6F75642F697066732F516D534236344D5856614C7A46427757394847467969696243436D53554A4E7267753731735A38653742334D51452F323433332E6A736F6E" + } + } + ], + "PreviousTxnID": "BB84C7F9FD90E7AC8A3178580F2F9BD2F00738F53060203025AF80CAF1C5D794", + "PreviousTxnLgrSeq": 77102208, + "index": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "status": "success", + "validated": true + } +} +``` + +--- + +#### Get MPT Issuance Object + +Return an `MPTokenIssuance` object. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `mpt_issuance` (string): The 192-bit `MPTokenIssuanceID` that's associated with the MPTokenIssuance, as hexadecimal. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "mpt_issuance": "string", + "ledger_index": "validated" + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "MPTIssuance": { + "MPTIssuanceID": "string", + "Owner": "string", + "TransferFee": integer, + "Flags": integer, + "Taxon": integer, + "URI": "string", + "MPTSupply": "string" + } + }, + "validated": boolean + } +} +``` + +--- + +#### Get MPToken Object + +Return an `MPToken` object. + +##### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `mptoken` (object or string): If a string, interpret as ledger entry ID of the MPToken to retrieve. If an object, requires the sub-fields `account` and `mpt_issuance_id` to uniquely identify the MPToken. + * `mptoken.mpt_issuance_id` (string; required if `mptoken` is an object): The 192-bit MPTokenIssuanceID that's associated with the MPTokenIssuance. + * `mptoken.account` (string; required if `mptoken` is an object): The account that owns the MPToken. + +##### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger_entry", + "params": [ + { + "mptoken":{ + "mpt_issuance_id": "string", + "account":"string" + } + } + ] + }' +``` + +##### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "ledger_hash": "string", + "ledger_index": integer, + "node": { + "LedgerEntryType": "string", + "index": "string", + "MPToken": { + "MPTIssuanceID": "string", + "Owner": "string", + "Flags": integer, + "TransferFee": integer, + "Taxon": integer, + "QualityIn": integer, + "QualityOut": integer, + "Balance": "string", + "PreviousTxnID": "string", + "PreviousTxnLgrSeq": integer + } + }, + "validated": boolean + } +} +``` + +--- + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `index` (string): The unique ID of this [ledger entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). + * `ledger_index` (unsigned integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that was used when retrieving this data. + * `node` (object; omitted if `"binary": true`): Object containing the data of this ledger entry, according to the [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). + * `node_binary` (string; omitted unless `"binary": true`): The [binary representation](https://xrpl.org/docs/references/protocol/binary-format) of the ledger object, as hexadecimal. + * `deleted_ledger_index` (string; Clio server only): Returned if include_deleted parameter is set. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) where the ledger entry object was deleted. + +--- + +**Transaction Methods**: + +Transactions are the only thing that can modify the shared state of the XRP Ledger. All business on the XRP Ledger takes the form of transactions. Use these methods to work with transactions. + +## `simulate` + +> Executes a dry run of any transaction type to preview results and metadata. + +The `simulate` method executes a dry run of any transaction type, enabling you to preview the results and metadata of a transaction without committing them to the XRP Ledger. Since this command never submits a transaction to the network, it doesn't incur any fees. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `tx_blob` (string; required): The transaction to simulate, in binary format. If you include this field, do not also include `tx_json`. + * `tx_json` (object; required): The transaction to simulate, in JSON format. If you include this field, do not also include `tx_blob`. + * `binary` (boolean; optional): The default value is `false`, which returns data and metadata in JSON format. If `true`, returns data and metadata in binary format, serialized to a hexadecimal string. + +Note: + + * The simulated transaction must be unsigned. + * If the `Fee`, `Sequence`, `SigningPubKey`, or `NetworkID` fields are provided, they will be used in the transaction. Otherwise, the server will autofill them. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `tx_json` (object): The transaction that was simulated, including auto-filled values. Included if `binary` was `false`. + * `tx_blob` (string): The serialized transaction that was simulated, including auto-filled values. Included if `binary` was `true`. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger that would have included this transaction. + * `meta` (object): Transaction metadata, which describes the results of the transaction. Not included if the transaction fails with a code that means it wouldn’t be included in the ledger (such as a non-TEC code). Included if `binary` was `false`. + * `meta_blob` (string): Transaction metadata, which describes the results of the transaction. Not included if the transaction fails with a code that means it wouldn’t be included in the ledger (such as a non-TEC code). Included if `binary` was `true`. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "simulate", + "params": [ + { + "tx_json": { + "TransactionType": "Payment", + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Amount": { + "currency": "USD", + "value": "1", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + } + } + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "applied": false, + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The simulated transaction would have been applied.", + "ledger_index": 100512217, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "AccountTxnID": "42BDE75B7309C46BBA7FFC867DDA29DFCB2C066AA3866CF9076280A2DE63FE3C", + "Balance": "1138222640", + "Domain": "6D64756F31332E636F6D", + "EmailHash": "98B4375E1D753E5B91627516F6D70977", + "Flags": 9568256, + "MessageKey": "0000000000000000000000070000000300", + "OwnerCount": 17, + "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", + "Sequence": 394, + "TicketCount": 5, + "TransferRate": 4294967295 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", + "PreviousFields": { + "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", + "Balance": "1138222650", + "Sequence": 393 + }, + "PreviousTxnID": "E5C3578BDBEBDCDE7E1697E3BA6A1CF04B17CCEBDE4939200680FEF530C7978E", + "PreviousTxnLgrSeq": 94448149 + } + } + ], + "TransactionIndex": 126, + "TransactionResult": "tesSUCCESS" + }, + "status": "success", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10", + "Sequence": 393, + "SigningPubKey": "", + "TransactionType": "Payment", + "TxnSignature": "", + "hash": "42BDE75B7309C46BBA7FFC867DDA29DFCB2C066AA3866CF9076280A2DE63FE3C" + } + } +} +``` + +--- + +## `submit` + +> Sends a transaction to the network. + +The `submit` method applies a [transaction](https://xrpl.org/docs/references/protocol/transactions) and sends it to the network to be confirmed and included in future ledgers. + +This command has two modes: + + * **Submit-only** mode takes a signed, serialized transaction as a binary blob, and submits it to the network as-is. Since signed transaction objects are immutable, no part of the transaction can be modified or automatically filled in after submission. + + * **Sign-and-submit** mode takes a JSON-formatted Transaction object, completes and signs the transaction in the same manner as the [sign method](https://xrpl.org/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign), and then submits the signed transaction. We recommend only using this mode for testing and development. + +To send a transaction as robustly as possible, you should construct and sign it in advance, persist it somewhere that you can access even after a power outage, then `submit` it as a `tx_blob`. After submission, monitor the network with the tx method command to see if the transaction was successfully applied; if a restart or other problem occurs, you can safely re-submit the `tx_blob` transaction: it won't be applied twice since it has the same sequence number as the old transaction. + +### Submit-only mode + +#### Parameters + +A submit-only request includes the following parameters: + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `tx_blob` (string; required): Hex representation of the signed transaction to submit. This can be a [multi-signed transaction](https://xrpl.org/docs/concepts/accounts/multi-signing). + * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. + +#### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `engine_result` (string): Text [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results) indicating the preliminary result of the transaction, for example `tesSUCCESS`. + * `engine_result_code` (integer): Numeric version of the [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results). Not recommended. + * `engine_result_message` (string): Human-readable explanation of the transaction's preliminary result. + * `tx_blob` (string): The complete transaction in hex string format. + * `tx_json` (object): The complete transaction in JSON format. + * `accepted` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was applied, queued, broadcast, or kept for later. The value `false` indicates that none of those happened, so the transaction cannot possibly succeed as long as you do not submit it again and have not already submitted it another time. + * `account_sequence_available` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) available for the sending account after all pending and [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `account_sequence_next` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) for the sending account after all transactions that have been provisionally applied, but not transactions in the [queue](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `applied` (boolean; omitted in sign-and-submit mode): The value `true` indicates that this transaction was applied to the open ledger. In this case, the transaction is likely, but not guaranteed, to be validated in the next ledger version. + * `broadcast` (boolean; omitted in sign-and-submit mode): The value `true` indicates this transaction was broadcast to peer servers in the peer-to-peer XRP Ledger network. The value `false` indicates the transaction was not broadcast to any other servers. + * `kept` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was kept to be retried later. + * `queued` (boolean; omitted in sign-and-submit mode): The value `true` indicates the transaction was put in the [Transaction Queue](https://xrpl.org/docs/concepts/transactions/transaction-queue), which means it is likely to be included in a future ledger version. + * `open_ledger_cost` (string; omitted in sign-and-submit mode): The current [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost) before processing this transaction. Transactions with a lower cost are likely to be [queued](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `validated_ledger_index` (integer; omitted in sign-and-submit mode): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the newest validated ledger at the time of submission. This provides a lower bound on the ledger versions that the transaction can appear in as a result of this request. + +#### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "submit", + "params": [ + { + "tx_blob": "1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" + } + ] + }' +``` + +#### Response example + +```json +{ + "result": { + "accepted": true, + "account_sequence_available": 393, + "account_sequence_next": 393, + "applied": false, + "broadcast": false, + "engine_result": "tefPAST_SEQ", + "engine_result_code": -190, + "engine_result_message": "This sequence number has already passed.", + "kept": true, + "open_ledger_cost": "10", + "queued": false, + "status": "success", + "tx_blob": "1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 3, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "3045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE", + "hash": "82230B9D489370504B39BC2CE46216176CAC9E752E5C1774A8CBEC9FBB819208" + }, + "validated_ledger_index": 100512474 + } +} +``` + +### Sign-and-Submit mode + +This mode signs a transaction and immediately submits it. This mode is intended to be used for testing. You cannot use this mode for [multi-signed transactions](https://xrpl.org/docs/concepts/accounts/multi-signing). + +By default, sign-and-submit mode is [admin-only](https://xrpl.org/docs/references/http-websocket-apis/admin-api-methods). It can be used as a public method if the server has [enabled public signing](https://xrpl.org/docs/infrastructure/configuration/enable-public-signing). + +You can provide the secret key used to sign the transaction in the following ways: + + * Provide a `secret` value and omit the `key_type` field. This value can be formatted as an XRP Ledger [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings) seed, RFC-1751, hexadecimal, or as a string passphrase. (secp256k1 keys only) + * Provide a `key_type` value and exactly one of `seed`, `seed_hex`, or `passphrase`. Omit the `secret` field. (Not supported by the commandline syntax.) + +#### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `tx_json` (object): [Transaction definition](https://xrpl.org/docs/references/protocol/transactions) in JSON format, optionally omitting any auto-fillable fields. + * `secret` (string; optional): Secret key of the account supplying the transaction, used to sign it. Do not send your secret to untrusted servers or through unsecured network connections. Cannot be used with `key_type`, `seed`, `seed_hex`, or `passphrase`. + * `seed` (string; optional): Secret key of the account supplying the transaction, used to sign it. Must be in the XRP Ledger's base58 format. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed_hex`, or `passphrase`. + * `seed_hex` (string; optional): Secret key of the account supplying the transaction, used to sign it. Must be in hexadecimal format. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed`, or `passphrase`. + * `passphrase` (string; optional): Secret key of the account supplying the transaction, used to sign it, as a string passphrase. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed`, or `seed_hex`. + * `key_type` (string; optional): Type of cryptographic key provided in this request. Valid types are `secp256k1` or `ed25519`. Defaults to `secp256k1`. Cannot be used with `secret`. Caution: `Ed25519` support is experimental. + * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. + * `offline` (boolean; optional): If `true`, when constructing the transaction, do not try to automatically fill in or validate values. The default is `false`. + * `build_path` (boolean; optional): If this field is provided, the server [auto-fills](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) the Paths field of a [Payment transaction](https://xrpl.org/docs/references/protocol/transactions/types/payment) before signing. You must omit this field if the transaction is a [direct XRP payment](https://xrpl.org/docs/concepts/payment-types/direct-xrp-payments) or if it is not a Payment-type transaction. Caution: The server looks for the presence or absence of this field, not its value. This behavior may change. + * `fee_mult_max` (integer; optional): Sign-and-submit fails with the error `rpcHIGH_FEE` if the [auto-filled `Fee` value](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) would be greater than the [reference transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#special-transaction-costs) × `fee_mult_max` ÷ `fee_div_max`. This field has no effect if you explicitly specify the Fee field of the transaction. The default is `10`. + * `fee_div_max` (integer; optional): Sign-and-submit fails with the error `rpcHIGH_FEE` if the [auto-filled `Fee` value](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) would be greater than the [reference transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#special-transaction-costs) × `fee_mult_max` ÷ `fee_div_max`. This field has no effect if you explicitly specify the Fee field of the transaction. The default is `1`. + +#### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `engine_result` (string): Text [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results) indicating the preliminary result of the transaction, for example `tesSUCCESS`. + * `engine_result_code` (integer): Numeric version of the [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results). Not recommended. + * `engine_result_message` (string): Human-readable explanation of the transaction's preliminary result. + * `tx_blob` (string): The complete transaction in hex string format. + * `tx_json` (object): The complete transaction in JSON format. + * `accepted` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was applied, queued, broadcast, or kept for later. The value `false` indicates that none of those happened, so the transaction cannot possibly succeed as long as you do not submit it again and have not already submitted it another time. + * `account_sequence_available` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) available for the sending account after all pending and [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `account_sequence_next` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) for the sending account after all transactions that have been provisionally applied, but not transactions in the [queue](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `applied` (boolean; omitted in sign-and-submit mode): The value `true` indicates that this transaction was applied to the open ledger. In this case, the transaction is likely, but not guaranteed, to be validated in the next ledger version. + * `broadcast` (boolean; omitted in sign-and-submit mode): The value `true` indicates this transaction was broadcast to peer servers in the peer-to-peer XRP Ledger network. The value `false` indicates the transaction was not broadcast to any other servers. + * `kept` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was kept to be retried later. + * `queued` (boolean; omitted in sign-and-submit mode): The value `true` indicates the transaction was put in the [Transaction Queue](https://xrpl.org/docs/concepts/transactions/transaction-queue), which means it is likely to be included in a future ledger version. + * `open_ledger_cost` (string; omitted in sign-and-submit mode): The current [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost) before processing this transaction. Transactions with a lower cost are likely to be [queued](https://xrpl.org/docs/concepts/transactions/transaction-queue). + * `validated_ledger_index` (integer; omitted in sign-and-submit mode): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the newest validated ledger at the time of submission. This provides a lower bound on the ledger versions that the transaction can appear in as a result of this request. + +#### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "submit", + "params": [ + { + "offline": false, + "api_version": 2, + "secret": "s████████████████████████████", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "DeliverMax": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "TransactionType": "Payment" + }, + "fee_mult_max": 1000 + } + ] + }' +``` + +--- + +## `submit_multisigned` + +> Sends a multi-signed transaction to the network. + +The `submit_multisigned` command applies a [multi-signed](https://xrpl.org/docs/concepts/accounts/multi-signing) transaction and sends it to the network to be included in future ledgers. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `tx_json` (object; required): [Transaction in JSON format](https://xrpl.org/docs/references/protocol/transactions) with an array of `Signers`. To be successful, the weights of the signatures must be equal or higher than the quorum of the [SignerList](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/signerlist). + * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `engine_result` (string): Code indicating the preliminary result of the transaction, for example `tesSUCCESS`. + * `engine_result_code` (integer): Numeric code indicating the preliminary result of the transaction, directly correlated to `engine_result`. + * `engine_result_message` (string): Human-readable explanation of the preliminary transaction result. + * `tx_blob` (string): The complete [transaction](https://xrpl.org/docs/references/protocol/transactions) in hex string format. + * `tx_json` (object): The complete [transaction](https://xrpl.org/docs/references/protocol/transactions) in JSON format. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "submit_multisigned", + "params": [ + { + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "0" + }, + "Sequence": 4, + "Signers": [ + { + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "3045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B7" + } + }, + { + "Signer": { + "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SigningPubKey": "03398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C1", + "TxnSignature": "3045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D08" + } + } + ], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "81A477E2A362D171BB16BE17B4120D9F809A327FA00242ABCA867283BEA2F4F8" + } + } + ] + }' +``` + +--- + +## `transaction_entry` + +> Retrieves info on the transaction from a particular ledger version. + +The `transaction_entry` method retrieves information on a single transaction from a specific ledger version. (The `tx` method by contrast, searches all ledgers for the specified transaction. We recommend using that method instead.) + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `ledger_index` (string or unsigned integer; optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) + * `tx_hash` (string; required): Unique hash of the transaction you are looking up. + +### Returns (API v2) + + * `close_time_iso` (string): The ledger close time represented in ISO 8601 time format. + * `hash` (string): The unique hash identifier of the transaction. + * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version the transaction was found in; this is the same as the one from the request. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version the transaction was found in; this is the same as the one from the request. + * `meta` (object): The transaction metadata, which shows the exact results of the transaction in detail. + * `tx_json` (object): JSON representation of the Transaction object. + +### Returns (API v1) + + * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version the transaction was found in; this is the same as the one from the request. + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version the transaction was found in; this is the same as the one from the request. + * `metadata` (object): The [transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata) which shows the exact results of the transaction in detail. + * `tx_json` (object): JSON representation of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "transaction_entry", + "params": [ + { + "tx_hash": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", + "ledger_index": 56865245 + } + ] + }' +``` + +--- + +## `tx` + +> Retrieves info on the transaction from all the ledgers at hand. + +The `tx` method retrieves information on a single [transaction](https://xrpl.org/docs/references/protocol/transactions), by its [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) or its [CTID](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ctid` (string; optional): The [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid) of the transaction to look up. Must use uppercase hexadecimal only. (Not supported in Clio v2.0 and earlier). + * `transaction` (string; optional): The 256-bit hash of the transaction to look up, as hexadecimal. + * `binary` (boolean; optional): If `true`, return transaction data and metadata as binary [serialized](https://xrpl.org/docs/references/protocol/binary-format) to hexadecimal strings. If `false`, return transaction data and metadata as JSON. The default is `false`. + * `min_ledger` (number; optional): Use this with `max_ledger` to specify a range of up to 1000 [ledger indexes](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index), starting with this ledger (inclusive). If the server cannot find the transaction, it confirms whether it was able to search all the ledgers in this range. + * `max_ledger` (number; optional): Use this with `min_ledger` to specify a range of up to 1000 [ledger indexes](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index), ending with this ledger (inclusive). If the server cannot find the transaction, it confirms whether it was able to search all the ledgers in the requested range. + +### Returns (API v2) + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the fields of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions) as well as the following additional fields: + + * `ctid` (string): The transaction's [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). (Not supported in Clio v2.0 and earlier.) + * `date` (number): The [close time](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) of the ledger in which the transaction was applied, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). + * `hash` (string): The unique [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) of the transaction. + * `inLedger` (number; deprecated): Alias for `ledger_index`. + * `ledger_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that includes this transaction. + * `meta` (object — JSON mode): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction. + * `meta_blob` (string — binary mode): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction, represented as a hex string. + * `tx_blob` (string — binary mode): The transaction data represented as a hex string. + * `tx_json` (object — JSON mode): The transaction data represented in JSON. + * `validated` (boolean): If `true`, this data comes from a validated ledger version; if omitted or set to `false`, this data is not final. + +### Returns (API v1) + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the fields of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions) as well as the following additional fields: + + * `ctid` (string): The transaction's [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). (Not supported in Clio v2.0 and earlier.) + * `date` (number): The [close time](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) of the ledger in which the transaction was applied, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). + * `hash` (string): The unique [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) of the transaction. + * `inLedger` (number; deprecated): Alias for `ledger_index`. + * `ledger_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that includes this transaction. + * `meta` (object (JSON) or string (binary)): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction. + * `tx` (string — binary mode): The transaction data represented as a hex string. + * `validated` (boolean): If true, this data comes from a validated ledger version; if omitted or set to false, this data is not final. + * (various) (various): Other fields from the [Transaction object](https://xrpl.org/docs/references/protocol/transactions). + +### Request example (CTID) + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "tx", + "params": [ + { + "ctid": "C005523E00000000", + "binary": false, + "api_version": 2 + } + ] + }' +``` + +### Request example (Hash) + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "tx", + "params": [ + { + "transaction": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", + "binary": false, + "api_version": 2 + } + ] + }' +``` + +--- + +## `tx_history` + +> Retrieves info on all recent transactions. + +The `tx_history` method retrieves some of the most recent transactions made. + +Caution: This method is removed in [API v2](https://xrpl.org/docs/references/http-websocket-apis#api-versioning). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `start` (unsigned integer; required): Number of transactions to skip over. + +### Returns + + * `txs` (array): Array of transaction objects. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "tx_history", + "params": [ + { + "start": 0 + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "index": 0, + "status": "success", + "txs": [ + { + "Account": "rUPWQfH9SoNnbYDMjq6cMoawQ4x2or6nGA", + "Amount": "100000000000000", + "DeliverMax": "100000000000000", + "Destination": "rUPWQfH9SoNnbYDMjq6cMoawQ4x2or6nGA", + "Fee": "10", + "Flags": 131072, + "LastLedgerSequence": 100581760, + "SendMax": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "1000000000000000" + }, + "Sequence": 0, + "SigningPubKey": "EDE91272F3124216316CC04C798E7AE3A7395924FAF50533B01BCC0CE5CE71B122", + "TicketSequence": 100371575, + "TransactionType": "Payment", + "TxnSignature": "A338BAEE8DCFA84DC5F6F8ABD81BC1F9D406F24C248A19465A83E7C9564894538A9F83C654DEFD748F7507FF8E134AC0F108A430BD2E21C1CF45F030C9678705", + "hash": "45A8E1470A18F55FF9559700ABA643FE25E7E957CDB2D35F84B6B746A22C96FF", + "inLedger": 100581753, + "ledger_index": 100581753 + } + ] + } +} +``` + +--- + +**Path and Order Book Methods**: + +Paths define a way for payments to flow through intermediary steps on their way from sender to receiver. Paths enable cross-currency payments by connecting sender and receiver through order books. Use these methods to work with paths and other books. + +## `amm_info` + +> Retrieves info on the Automated Market Maker (AMM) instance. + +The `amm_info` method gets information about an [Automated Market Maker (AMM)](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/automated-market-makers) instance. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): Show only LP Tokens held by this liquidity provider. + * `amm_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): The address of the AMM's special AccountRoot. (This is the `issuer` of the AMM's LP Tokens.) + * `asset` (object; optional): One of the assets of the AMM to look up, as an object with `currency` and `issuer` fields (omit issuer for XRP), like [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). + * `asset2` (object; optional): The other of the assets of the AMM, as an object with `currency` and `issuer` fields (omit `issuer` for XRP), like [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). + +Note: You must specify either `amm_account` or both `asset` and `asset2`. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `amm` (object): An AMM Description Object for the requested asset pair. + * `ledger_current_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_index` is provided instead. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger, which was used when retrieving this information. + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): Omitted if `ledger_current_index` is provided instead. The identifying hash of the ledger version that was used when retrieving this data. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided instead. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used when retrieving this information. + * `validated` (boolean): If `true`, the ledger used for this request is validated and these results are final; if omitted or set to `false`, the data is pending and may change. + +#### AMM Description Object + +The `amm` field is an object describing the current status of an Automated Market Maker (AMM) in the ledger, and contains the following fields: + + * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the AMM Account. + * `amount` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of one asset in the AMM's pool. (Note: This could be `asset` or `asset2` from the request.) + * `amount2` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of the other asset in the AMM's pool. (Note: This could be `asset` or `asset2` from the request.) + * `asset_frozen` (boolean; omitted for XRP): If `true`, the `amount` currency is currently [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). + * `asset2_frozen` (boolean; omitted for XRP): If `true`, the `amount2` currency is currently [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). + * `auction_slot` (object; optional): An Auction Slot Object describing the current auction slot holder, if there is one. + * `lp_token` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of this AMM's LP Tokens outstanding. If the request specified a liquidity provider in the `account` field, instead, this is the amount of this AMM's LP Tokens held by that liquidity provider. + * `trading_fee` (number): The AMM's current trading fee, in units of `1/100,000`; a value of `1` is equivalent to a `0.001%` fee. + * `vote_slots` (array; optional): The current votes for the AMM's trading fee, as Vote Slot Objects. + +#### Auction Slot Object + +The `auction_slot` field of the `amm` object describes the current auction slot holder of the AMM, and contains the following fields: + + * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the account that owns the auction slot. + * `auth_accounts` (array): A list of additional accounts that the auction slot holder has designated as being eligible of the discounted trading fee. Each member of this array is an object with one field, `account`, containing the address of the designated account. + * `discounted_fee` (number): The discounted trading fee that applies to the auction slot holder, and any eligible accounts, when trading against this AMM. This is `1/10` of the AMM's normal trading fee. + * `expiration` (string): The ISO 8601 UTC timestamp after which this auction slot expires. After expired, the auction slot does not apply (but the data can remain in the ledger until another transaction replaces it or cleans it up). + * `price` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The amount, in LP Tokens, that the auction slot holder paid to win the auction slot. This affects the price to outbid the current slot holder. + * `time_interval` (number): The current 72-minute time interval this auction slot is in, from 0 to 19. The auction slot expires after 24 hours (20 intervals of 72 minutes) and affects the cost to outbid the current holder and how much the current holder is refunded if someone outbids them. + +#### Vote Slot Objects + +Each entry in the `vote_slots` array represents one liquidity provider's vote to set the trading fee, and contains the following fields: + + * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of this liquidity provider. + * `trading_fee` (number): The trading fee this liquidity provider voted for, in units of `1/100,000`. + * `vote_weight` (number): How much this liquidity provider's vote counts towards the final trading fee. This is proportional to how much of the AMM's LP Tokens this liquidity provider holds. The value is equal to `100,000` times the number of this LP Tokens this liquidity provider holds, divided by the total number of LP Tokens outstanding. For example, a value of `1000` means that the liquidity provider holds `1%` of this AMM's LP Tokens. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "amm_info", + "params": [ + { + "asset": { + "currency": "XRP" + }, + "asset2": { + "currency": "TST", + "issuer": "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" + } + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "amm": { + "account": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", + "amount": "296890496", + "amount2": { + "currency": "TST", + "issuer": "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd", + "value": "25.81656470648473" + }, + "asset2_frozen": false, + "auction_slot": { + "account": "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", + "auth_accounts": [ + { + "account": "r3f2WpQMsAd8k4Zoijv2PZ78EYFJ2EdvgV" + }, + { + "account": "rnW8FAPgpQgA6VoESnVrUVJHBdq9QAtRZs" + } + ], + "discounted_fee": 0, + "expiration": "2023-Jan-26 00:28:40.000000000 UTC", + "price": { + "currency": "039C99CD9AB0B70B32ECDA51EAAE471625608EA2", + "issuer": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", + "value": "0" + }, + "time_interval": 0 + }, + "lp_token": { + "currency": "039C99CD9AB0B70B32ECDA51EAAE471625608EA2", + "issuer": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", + "value": "87533.41976112682" + }, + "trading_fee": 600, + "vote_slots": [ + { + "account": "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", + "trading_fee": 600, + "vote_weight": 9684 + } + ] + }, + "ledger_current_index": 316745, + "status": "success", + "validated": false + } +} +``` + +--- + +## `book_changes` + +> Retrieves information on order book changes. + +The `book_changes` method reports information about changes to the order books in the [decentralized exchange (DEX)](https://xrpl.org/docs/concepts/tokens/decentralized-exchange) compared with the previous ledger version. This may be useful for building "candlestick" charts. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `changes` (array): List of [Book Update Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes#book-update-objects), containing one entry for each order book that was updated in this ledger version. The array is empty if no order books were updated. + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): The identifying hash of the ledger version that was used when retrieving this data. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version that was used when retrieving this data. + * `ledger_time` (number): The official close time of the ledger that was used when retrieving this data, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). + * `type` (string): The string `bookChanges`, which indicates that this is an order book update message. + * `validated` (boolean; optional): If `true`, the information comes from a validated ledger version. + +#### Book Update Objects + +A Book Update Object represents the changes to a single order book in a single ledger version, and contains the following fields: + + * `currency_a` (string): An identifier for the first of the two currencies in the order book. For XRP, this is the string `XRP_drops`. For [tokens](https://xrpl.org/docs/concepts/tokens), this is formatted as the address of the issuer in base58, followed by a forward-slash (`/`), followed by the [Currency Code](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) for the token, which can be a 3-character standard code or a 20-character hexadecimal code. + * `currency_b` (string): An identifier for the second of two currencies in the order book. This is in the same format as `currency_a`, except `currency_b` can never be XRP. + * `volume_a` (string — number): The total amount, or volume, of the first currency (that is, `currency_a`) that moved as a result of trades through this order book in this ledger. + * `volume_b` (string — number): The volume of the second currency (that is, `currency_b`) that moved as a result of trades through this order book in this ledger. + * `high` (string — number): The highest exchange rate among all offers matched in this ledger, as a ratio of the first currency to the second currency. (In other words, `currency_a : currency_b`.) + * `low` (string — number): The lowest exchange rate among all offers matched in this ledger, as a ratio of the first currency to the second currency. + * `open` (string — number): The exchange rate at the top of this order book before processing the transactions in this ledger, as a ratio of the first currency to the second currency. + * `close` (string — number): The exchange rate at the top of this order book after processing the transactions in this ledger, as a ratio of the first currency to the second currency. + +For XRP-token order books, XRP is always `currency_a`. For token-token order books, the currencies are sorted alphabetically by the issuer and then currency code. + +Exchange rates involving XRP are always calculated using [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). For example, if the rate from XRP to FOO is 1.0 XRP to 1 FOO, the rate reported by the API is `1000000` (1 million drops of XRP per 1 FOO). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "book_changes", + "params": [ + { + "ledger_index": 88530953 + } + ] + }' +``` + +### Response example + +```json +{ + "result" : { + "changes" : [ + { + "close" : "277777.7777777778", + "currency_a" : "XRP_drops", + "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", + "high" : "277777.7777777778", + "low" : "277777.7777777778", + "open" : "277777.7777777778", + "volume_a" : "44082741", + "volume_b" : "158.6978676" + }, + { + "close" : "202999.9948135647", + "currency_a" : "XRP_drops", + "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", + "high" : "202999.9948135647", + "low" : "202999.9948135647", + "open" : "202999.9948135647", + "volume_a" : "44191586", + "volume_b" : "217.6925474337355" + }, + { + "close" : "80475.34586323083", + "currency_a" : "XRP_drops", + "currency_b" : "rf5YPb9y9P3fTjhxNaZqmrwaj5ar8PG1gM/47414C4100000000000000000000000000000000", + "high" : "80475.34586323083", + "low" : "80475.34586323083", + "open" : "80475.34586323083", + "volume_a" : "100000000", + "volume_b" : "1242.61659179386" + }, + { + "close" : "231974.7481608686", + "currency_a" : "XRP_drops", + "currency_b" : "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz/534F4C4F00000000000000000000000000000000", + "high" : "231974.7481608686", + "low" : "231974.7481608686", + "open" : "231974.7481608686", + "volume_a" : "33734", + "volume_b" : "0.1454210006367" + }, + { + "close" : "7.290000000001503", + "currency_a" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", + "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", + "high" : "7.290000000001503", + "low" : "7.290000000001503", + "open" : "7.290000000001503", + "volume_a" : "158.6978670792", + "volume_b" : "21.76925474337" + }, + { + "close" : "0.1", + "currency_a" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", + "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", + "high" : "0.1", + "low" : "0.1", + "open" : "0.1", + "volume_a" : "21.76925474337355", + "volume_b" : "217.6925474337355" + } + ], + "ledger_hash" : "7AB08A2415C10E07201521F3260F77ADFF4902A528EA66378E259A07767A24B9", + "ledger_index" : 88530953, + "ledger_time" : 771100891, + "status" : "success", + "type" : "bookChanges" + } +} +``` + +--- + +## `book_offers` + +> Retrieves info on the currency exchange offers. + +The `book_offers` method retrieves a list of [offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers) between two currencies, also known as an order book. The response omits [unfunded offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) and reports how much of each remaining offer's total is currently funded. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `taker_gets` (object; required): The asset the account taking the offer would receive, as a [currency without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). + * `taker_pays` (object; required): The asset the account taking the offer would pay, as a [currency without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). + * `domain` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The ledger entry ID of a permissioned domain. If provided, return offers from the corresponding [permissioned DEX](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/permissioned-dexes) instead of using the open DEX. (Requires the [PermissionedDEX amendment](https://xrpl.org/resources/known-amendments#permissioneddex). Open for Voting: 48.57%) + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `limit` (number; optional): The maximum number of offers to return. The response may include fewer results. + * `taker` (string; optional): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of an account to use as a perspective. The response includes this account's Offers even if they are unfunded. (You can use this to see what Offers are above or below yours in the order book.) + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `ledger_current_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_index` is provided. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger version, which was used to retrieve this information. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided. The ledger index of the ledger version that was used when retrieving this data, as requested. + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used when retrieving this data, as requested. + * `offers` (array): Array of offer objects, as described below. + +Each member of the `offers` array contains canonical fields of an [Offer entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/offer) and can also contain the following additional fields: + + * `owner_funds` (string): Amount of the `TakerGets` currency the side placing the offer has available to be traded. (XRP is represented as drops; any other currency is represented as a decimal value.) If a trader has multiple offers in the same book, only the highest-ranked offer includes this field. + * `taker_gets_funded` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): (Only included in partially-funded offers) The maximum amount of currency that the taker can get, given the funding status of the offer. + * `taker_pays_funded` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): (Only included in partially-funded offers) The maximum amount of currency that the taker would pay, given the funding status of the offer. + * `quality` (string): The exchange rate, as the ratio `taker_pays` divided by `taker_gets`. For fairness, offers that have the same quality are automatically taken first-in, first-out. (In other words, if multiple people offer to exchange currency at the same rate, the oldest offer is taken first.) + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "book_offers", + "params": [ + { + "taker": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "taker_gets": { + "currency": "XRP" + }, + "taker_pays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "limit": 10 + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "ledger_current_index": 100604206, + "offers": [ + { + "Account": "rdmZRvr9aBdGwzF2DwYBnHxTUDomJoiaQ", + "BookDirectory": "DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4F07346FDFE9BD33", + "BookNode": "0", + "Flags": 0, + "LedgerEntryType": "Offer", + "OwnerNode": "8", + "PreviousTxnID": "4F34894FC227EBC36B0469672C533DB245DB8CB9FAC59E49A7B058D3A0ED08F6", + "PreviousTxnLgrSeq": 100604145, + "Sequence": 99505926, + "TakerGets": "9117876", + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "18.49086962" + }, + "index": "8FA868A2EFF6B0CF195126639615DBE9251AE5E5559E428450D7F260E2D16CBA", + "owner_funds": "16902114", + "quality": "0.000002027979939626291" + } + ], + "status": "success", + "validated": false + } +} +``` + +--- + +## `deposit_authorized` + +> Checks whether an account is authorized to send money directly to another account. + +The `deposit_authorized` command indicates whether one account is authorized to send payments directly to another. See [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth) for information on how to require authorization to deliver money to your account. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The sender of a possible payment. + * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The recipient of a possible payment. + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `credentials` (array; optional): A set of credentials to take into account when checking if the sender can send funds to the destination. Each member of the array must be the unique ID of a [Credential entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/credential) in the ledger. Cannot be an empty array. + +Note: If you provide a set of credentials that does not exactly match a set of credentials preauthorized by the destination, the payment is not authorized, even if the destination has preauthorized a subset of those credentials. This matches the behavior of transaction processing. + +### Returns + + * `credentials` (array of [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The credentials specified in the request, if any. + * `deposit_authorized` (boolean; required): Whether the specified source account is authorized to send payments directly to the destination account. If `true`, either the destination account does not require [deposit authorization](https://xrpl.org/docs/concepts/accounts/depositauth) or the source account is preauthorized. + * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The destination account specified in the request. + * `ledger_hash` (string; optional): The identifying hash of the ledger that was used to generate this response. + * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger version that was used to generate this response. + * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the current in-progress ledger version, which was used to generate this response. + * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The source account specified in the request. + * `validated` (boolean; optional): If `true`, the information comes from a validated ledger version. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "deposit_authorized", + "params": [ + { + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "credentials": [ + "A182EFBD154C9E80195082F86C1C8952FC0760A654B886F61BB0A59803B4387B", + "383D269D6C7417D0A8716B09F5DB329FB17B45A5EFDBAFB82FF04BC420DCF7D5" + ], + "ledger_index": "validated" + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "credentials": [ + "A182EFBD154C9E80195082F86C1C8952FC0760A654B886F61BB0A59803B4387B", + "383D269D6C7417D0A8716B09F5DB329FB17B45A5EFDBAFB82FF04BC420DCF7D5" + ], + "deposit_authorized": true, + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_hash": "BD03A10653ED9D77DCA859B7A735BF0580088A8F287FA2C5403E0A19C58EF322", + "ledger_index": 8, + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "status": "success", + "validated": true + } +} +``` + +--- + +## `get_aggregate_price` + +> Calculates the aggregate price of specified Oracle instances. + +The `get_aggregate_price` method retrieves the aggregate price of specified `Oracle` objects, returning three price statistics: mean, median, and trimmed mean. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `base_asset` (string; required): The currency code of the asset to be priced. + * `quote_asset` (string; required): The currency code of the asset to quote the price of the base asset. + * `trim` (number; optional): The percentage of outliers to trim. Valid trim range is 1–25. If included, the API returns statistics for the `trimmed mean`. + * `trim_threshold` (number; optional): Defines a time range in seconds for filtering out older price data. Default value is 0, which doesn't filter any data. + * `oracles` (array; required): An array of oracle identifier objects. You must list between 1 and 200 oracle identifiers. + +Each member of the `oracles` array is an oracle identifier object with the following fields: + + * `account` (string; required): The XRPL account that controls the `Oracle` object. + * `oracle_document_id` (number; required): A unique identifier of the price oracle for the `Account`. + +### Returns + + * `entire_set` (object): The statistics from the collected oracle prices. + * `entire_set.mean` (string — number): The simple mean. + * `entire_set.size` (number): The size of the data set to calculate the mean. + * `entire_set.standard_deviation` (string — number): The standard deviation. + * `trimmed_set` (object; optional): The trimmed statistics from the collected oracle prices. Only appears if the `trim` field was specified in the request. + * `trimmed_set.mean` (string — number): The simple mean of the trimmed data. + * `trimmed_set.size` (number): The size of the data to calculate the trimmed mean. + * `trimmed_set.standard_deviation` (string — number): The standard deviation of the trimmed data. + * `time` (number): The most recent timestamp out of all `LastUpdateTime` values, represented in Unix time. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "get_aggregate_price", + "params": [ + { + "ledger_index": "current", + "base_asset": "XRP", + "quote_asset": "USD", + "trim": 20, + "oracles": [ + { + "account": "rNZ9m6AP9K7z3EVg6GhPMx36V4QmZKeWds", + "oracle_document_id": 34 + }, + { + "account": "rMVKq8zrVsJZQFEiTARyC6WfZznhhLMcNi", + "oracle_document_id": 100 + }, + { + "account": "r92kJTnUbUUq15t2BBZYGYxY79RnNc7rLQ", + "oracle_document_id": 2 + } + ] + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "entire_set": { + "mean": "0.78", + "size": 3, + "standard_deviation": "0.03464101615137754" + }, + "ledger_current_index": 3677185, + "median": "0.8", + "time": 1724877762, + "trimmed_set": { + "mean": "0.78", + "size": 3, + "standard_deviation": "0.03464101615137754" + }, + "validated": false + }, + "status": "success", + "type": "response" +} +``` + +--- + +## `nft_buy_offers` + +> Retrieves a list of all buy offers for the NFT specified. + +The `nft_buy_offers` method returns a list of buy offers for a given `NFToken` object. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `nft_id` (string; required): The unique identifier of a [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` (string or number; optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `limit` (integer; optional): Limit the number of NFT buy offers to retrieve. This value cannot be lower than 50 or more than 500. Positive values outside this range are replaced with the closest valid option. The default is 250. + * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Value from a previous paginated response. Resume retrieving data where that response left off. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `nft_id` (string): The NFToken these offers are for, as specified in the request. + * `offers` (array): A list of buy offers for the token. Each of these is formatted as a **Buy Offer** (see below). + * `limit` (number; optional): The `limit`, as specified in the request. + * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. + +#### Buy Offers + +Each member of the `offers` array represents one [NFTokenOffer object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer) to buy the NFT in question and has the following fields: + + * `amount` (string or object): The amount offered to buy the NFT for, as a String representing an amount in drops of XRP, or an object representing an amount of a fungible token. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)) + * `flags` (number): A set of bit-flags for this offer. See [NFTokenOffer flags](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer#nftokenoffer-flags) for possible values. + * `nft_offer_index` (string): The [ledger object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of this offer. + * `owner` (string): The account that placed this offer. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "nft_buy_offers", + "params": [ + { + "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", + "ledger_index": "validated" + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", + "offers": [ + { + "amount": "1500", + "flags": 0, + "nft_offer_index": "3212D26DB00031889D4EF7D9129BB0FA673B5B40B1759564486C0F0946BA203F", + "owner": "rsuHaTvJh1bDmDoxX9QcKP7HEBSBt4XsHx" + } + ], + "status": "success" + } +} +``` + +--- + +## `nft_sell_offers` + +> Retrieves a list of all sell offers for the NFT specified. + +The `nft_sell_offers` method returns a list of sell offers for a given [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `nft_id` (string; required): The unique identifier of a [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. + * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` (string or number; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `limit` (integer; optional): Limit the number of NFT sell offers to retrieve. This value cannot be lower than 50 or more than 500. Positive values outside this range are replaced with the closest valid option. The default is 250. + * `marker` (marker; optional): Value from a previous paginated response. Resume retrieving data where that response left off. + +### Returns + + * `nft_id` (string): The NFToken these offers are for, as specified in the request. + * `offers` (array): A list of buy offers for the token. Each of these is formatted as a **Sell Offer** (see below). + * `limit` (number; optional): The `limit`, as specified in the request. + * `marker` (marker; optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. + +#### Sell Offers + +Each member of the `offers` array represents one [NFTokenOffer object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer) to buy the NFT in question and has the following fields: + + * `amount` (string or object): The amount offered to sell the NFT for, as a String representing an amount in drops of XRP, or an object representing an amount of a fungible token. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)) + * `flags` (number): A set of bit-flags for this offer. See [NFTokenOffer flags](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer#nftokenoffer-flags) for possible values. + * `nft_offer_index` (string): The [ledger object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of this offer. + * `owner` (string): The account that placed this offer. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "nft_sell_offers", + "params": [ + { + "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007" + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", + "offers": [ + { + "amount": "1000", + "flags": 1, + "nft_offer_index": "9E28E366573187F8E5B85CE301F229E061A619EE5A589EF740088F8843BF10A1", + "owner": "rLpSRZ1E8JHyNDZeHYsQs1R5cwDCB3uuZt" + } + ], + "status": "success" + } +} +``` + +--- + +## `ripple_path_find` + +> Finds a path for payment between two accounts, once. + +Although the rippled server tries to find the cheapest path or combination of paths for making a payment, it is not guaranteed that the paths returned by this method are, in fact, the best paths. + +Caution: Be careful with the pathfinding results from untrusted servers. A server could be modified to return less-than-optimal paths to earn money for its operators. A server may also return poor results when under heavy load. If you do not have your own server that you can trust with pathfinding, you should compare the results of pathfinding from multiple servers run by different parties, to minimize the risk of a single server returning poor results. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that would send funds. + * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that would receive funds. + * `destination_amount` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); required): How much the destination account would receive. Special case: You can specify `-1` (for XRP) or provide `-1` as the `value` field (for tokens). This requests a path to deliver as much as possible, while spending no more than the amount specified in `send_max` (if provided). + * `domain` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/permissioned-dexes). (Requires the [PermissionedDEX amendment](https://xrpl.org/resources/known-amendments#permissioneddex)) + * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `send_max` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): Maximum amount that would be spent. Cannot be used with `source_currencies`. + * `source_currencies` (array; optional): Array of currencies that the source account might want to spend. Each entry in the array should be a JSON object with a mandatory `currency` field and optional `issuer` field, like how [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) are specified. Cannot contain more than 18 source currencies. By default, uses all source currencies available up to a maximum of 88 different currency/issuer pairs. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `alternatives` (array): Array of objects with possible paths to take, as described below. If empty, then there are no paths connecting the source and destination accounts. + * `destination_account` (string): Unique address of the account that would receive a payment transaction. + * `destination_currencies` (array): Array of strings representing the currencies that the destination accepts, as 3-letter codes like `USD` or as 40-character hex like `015841551A748AD2C1F76FF6ECB0CCCD00000000`. + +Each element in the `alternatives` array is an object that represents a path from one possible source currency (held by the initiating account) to the destination account and currency. This object has the following fields: + + * `paths_computed` (array): Array of arrays of objects defining [payment paths](https://xrpl.org/docs/concepts/tokens/fungible-tokens/paths). + * `source_amount` (string or object): [Currency Amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) that the source would have to send along this path for the destination to receive the desired amount. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ripple_path_find", + "params": [ + { + "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.001" + }, + "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "source_currencies": [ + { + "currency": "XRP" + }, + { + "currency": "USD" + } + ] + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "alternatives": [ + { + "paths_canonical": [], + "paths_computed": [ + [ + { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type": 48 + } + ] + ], + "source_amount": "461" + }, + { + "paths_canonical": [], + "paths_computed": [], + "source_amount": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0.0010015" + } + } + ], + "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.001" + }, + "destination_currencies": [ + "JOE", + "MXN", + "USD", + "DYM", + "CNY", + "015841551A748AD2C1F76FF6ECB0CCCD00000000", + "EUR", + "BTC", + "XRP" + ], + "full_reply": true, + "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "status": "success" + } +} +``` + +--- + +**Payment Channel Methods**: + +Payment channels are a tool for facilitating repeated, unidirectional payments, or temporary credit between two parties. Use these methods to work with payment channels. + +## `channel_verify` + +> Checks a payment channel claim's signature. + +The `channel_verify` method checks the validity of a signature that can be used to redeem a specific amount of XRP from a payment channel. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `amount` (string; required): The amount of [XRP, in drops](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts), that the provided `signature` authorizes. + * `channel_id` (string; required): The Channel ID of the channel that provides the amount. This is a 64-character hexadecimal string. + * `public_key` (string; required): The public key of the channel and the key pair that was used to create the signature, in hexadecimal or the XRP Ledger's `base58` format. + * `signature` (string; required): The signature to verify, in hexadecimal. + +### Returns + + * `signature_verified` (boolean): If `true`, the signature is valid for the stated amount, channel, and public key. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "channel_verify", + "params": [ + { + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "amount": "1000000" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "signature_verified": true, + "status": "success" + } +} +``` + +--- + +**Server Info Methods**: + +Use these methods to retrieve information about the current state of the rippled server. + +## `fee` + +> Retrieves information on the transaction cost. + +The `fee` command reports the current state of the open-ledger requirements for the [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost). This requires the [FeeEscalation amendment](https://xrpl.org/resources/known-amendments#feeescalation) to be enabled. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `current_ledger_size` (string — integer): Number of transactions provisionally included in the in-progress ledger. + * `current_queue_size` (string — integer): Number of transactions currently queued for the next ledger. + * `drops` (object): Various information about the transaction cost (the `Fee` field of a transaction), in [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). + * `drops.base_fee` (string — integer): The transaction cost required for a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) to be included in a ledger under minimum load, represented in drops of XRP. + * `drops.median_fee` (string — integer): An approximation of the median transaction cost among transactions included in the previous validated ledger, represented in drops of XRP. + * `drops.minimum_fee` (string — integer): The minimum transaction cost for a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) to be queued for a later ledger, represented in drops of XRP. If greater than `base_fee`, the transaction queue is full. + * `drops.open_ledger_fee` (string — integer): The minimum transaction cost that a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) must pay to be included in the current open ledger, represented in drops of XRP. + * `expected_ledger_size` (string — integer): The approximate number of transactions expected to be included in the current ledger. This is based on the number of transactions in the previous ledger. + * `ledger_current_index` (number): The Ledger Index of the current open ledger these stats describe. + * `levels` (object): Various information about the transaction cost, in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). The ratio in fee levels applies to any transaction relative to the minimum cost of that particular transaction. + * `levels.median_level` (string — integer): The median transaction cost among transactions in the previous validated ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). + * `levels.minimum_level` (string — integer): The minimum transaction cost required to be queued for a future ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). + * `levels.open_ledger_level` (string — integer): The minimum transaction cost required to be included in the current open ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). + * `levels.reference_level` (string — integer): The equivalent of the minimum transaction cost, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). + * `max_queue_size` (string — integer): The maximum number of transactions that the [transaction queue](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) can currently hold. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "fee", + "params": [{}] + }' +``` + +### Response example + +```json +{ + "result": { + "current_ledger_size": "89", + "current_queue_size": "0", + "drops": { + "base_fee": "10", + "median_fee": "5000", + "minimum_fee": "10", + "open_ledger_fee": "10" + }, + "expected_ledger_size": "396", + "ledger_current_index": 100647307, + "levels": { + "median_level": "128000", + "minimum_level": "256", + "open_ledger_level": "256", + "reference_level": "256" + }, + "max_queue_size": "7920", + "status": "success" + } +} +``` + +--- + +## `feature` + +> Retrieves information on the protocol amendments. + +The `feature` command returns information about [amendments](https://xrpl.org/docs/concepts/networks-and-servers/amendments) this server knows about, including whether they are enabled and if the server knows how to apply the amendments. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `feature` (string; optional): The unique ID of an amendment, as hexadecimal; or the short name of the amendment. If provided, limits the response to one amendment. Otherwise, the response lists all amendments. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a map of amendments as a JSON object. + +The keys of the object are amendment IDs. The values for each key are amendment objects that describe the status of the amendment with that ID. If the request specified a `feature`, the map contains only the requested amendment object, after applying any changes from the request. Each amendment object has the following fields: + + * `enabled` (boolean): Whether this amendment is currently enabled in the latest ledger. + * `name` (string; optional): The human-readable name for this amendment, if known. + * `supported` (boolean): Whether the server knows how to apply this amendment. If this field is set to `false` (the server does not know how to apply this amendment) and `enabled` is set to `true` (this amendment is enabled in the latest ledger), this amendment may cause your server to be [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "fee", + "params": [ + { + "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "current_ledger_size": "36", + "current_queue_size": "0", + "drops": { + "base_fee": "10", + "median_fee": "5000", + "minimum_fee": "10", + "open_ledger_fee": "10" + }, + "expected_ledger_size": "396", + "ledger_current_index": 100647615, + "levels": { + "median_level": "128000", + "minimum_level": "256", + "open_ledger_level": "256", + "reference_level": "256" + }, + "max_queue_size": "7920", + "status": "success" + } +} +``` + +--- + +## `manifest` + +> Retrieves public information on a known validator. + +The `manifest` method reports the current "manifest" information for a given validator public key. The "manifest" is a block of data that authorizes an ephemeral signing key with a signature from the validator's master key pair. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `public_key` (string; required): The [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings)-encoded public key of the validator to look up. This can be the master public key or ephemeral public key. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: + + * `details` (object; optional): The data contained in this manifest. Omitted if the server does not have a manifest for the `public_key` from the request. See Details Object below for a full description of its contents. + * `manifest` (string; optional): The full manifest data in base64 format. This data is serialized to binary before being base64-encoded. Omitted if the server does not have a manifest for the `public_key` from the request. + * `requested` (string): The `public_key` from the request. + +#### Details Object + +If provided, the `details` object contains the following fields: + + * `domain` (string): The domain name this validator claims to be associated with. If the manifest does not contain a domain, this is an empty string. + * `ephemeral_key` (string): The ephemeral public key for this validator, in [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings). + * `master_key` (string): The master public key for this validator, in [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings). + * `seq` (number): The sequence number of this manifest. This number increases whenever the validator operator updates the validator's token to rotate ephemeral keys or change settings. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "manifest", + "params": [ + { + "public_key":"nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p" + } + ] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "details": { + "domain": "alloy.ee", + "ephemeral_key": "n9LMfcjE6dMyshCqiftLFXpB9K3Mnd2r5bG7K8osmrkFpHUoR3c1", + "master_key": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p", + "seq": 4 + }, + "manifest": "JAAAAARxIe3AkJgOyqs3y+UuiAI27Ff3Mrfbt8e7mjdo06bnGEp5XnMhAu2LSAwZEQnm/mq9K6sSZJk5JkbcKCv6C7vQW2C8RnZVdkcwRQIhAI9uwQ1p58oyob1E+DaFLwjTdiRbVIKSMPqaaUwnJdN2AiB79DlPXHwztNULraVTkehbDsCAyDdf3VZB3FvkCZNOFHcIYWxsb3kuZWVwEkBf6A9ktcj2H4a61Av8ujQFL2KNcmr/FuEKbwlZEniJvhf0UqNiYc2bAsTJE5wMn00E0JBbw2m9OFwto50DcdkC", + "requested": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p", + "status": "success" + } +} +``` + +--- + +## `server_definitions` + +> Retrieves an SDK-compatible `definitions.json` generated from the currently running `rippled` instance. + +The `server_definitions` command returns an SDK-compatible `definitions.json`, generated from the `rippled` instance currently running. You can use this to query a node in a network, quickly receiving the definitions necessary to serialize/deserialize its binary data. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +To see a full `definitions.json` file and descriptions of the top-level fields, see the [Definitions File](https://xrpl.org/docs/references/protocol/binary-format#definitions-file). + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "server_definitions", + "params": [] + }' +``` + +### Response example + +```json +{ + "id": 1, + "result": { + "FIELDS": [ + [ + "Generic", + { + "isSerialized": false, + "isSigningField": false, + "isVLEncoded": false, + "nth": 0, + "type": "Unknown" + } + ], + [ + "Invalid", + { + "isSerialized": false, + "isSigningField": false, + "isVLEncoded": false, + "nth": -1, + "type": "Unknown" + } + ], + [ + "ObjectEndMarker", + { + "isSerialized": true, + "isSigningField": true, + "isVLEncoded": false, + "nth": 1, + "type": "STObject" + } + ], + [ + "ArrayEndMarker", + { + "isSerialized": true, + "isSigningField": true, + "isVLEncoded": false, + "nth": 1, + "type": "STArray" + } + ] + ... + ] + } +} +``` + +--- + +## `server_info (rippled)` + +> Retrieves status of the server in human-readable format. + +The `server_info` command asks the server for a human-readable version of various information about the [`rippled` server](https://xrpl.org/docs/concepts/networks-and-servers) being queried. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `counters` (boolean; optional): If `true`, return metrics about the job queue, ledger store, and API method activity. The default is `false`. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an `info` object as its only field. + +The `info` object may have some arrangement of the following fields: + + * `amendment_blocked` (boolean; may be omitted): If `true`, this server is amendment blocked. If the server is not [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers), the response omits this field. + * `build_version` (string): The version number of the running `rippled` server. + * `closed_ledger` (object; may be omitted): Information on the most recently closed ledger that has not been validated by consensus, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#server-ledger-object). If the most recently validated ledger is available, the response omits this field and includes `validated_ledger` instead. + * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. This may be a disjoint sequence such as `24900901-24900984,24901116-24901158`. If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. + * `git` (object; admin only): The Git details of your `rippled` build. + * `git.branch` (string; admin only): The Git branch used to build your version of `rippled`. + * `git.hash` (string; admin only): The Git hash of the commit used to build your version of `rippled`. + * `hostid` (string): On an admin request, returns the hostname of the server running the `rippled` instance; otherwise, returns a single [RFC-1751](https://tools.ietf.org/html/rfc1751) word based on the [node public key](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol#node-key-pair). + * `io_latency_ms` (number): Amount of time spent waiting for I/O operations, in milliseconds. If this number is not very, very low, then the `rippled` server is probably having serious load issues. + * `jq_trans_overflow` (string — number): The number of times (since starting up) that this server has had over 250 transactions waiting to be processed at once. A large number here may mean that your server is unable to handle the transaction load of the XRP Ledger network. For detailed recommendations of future-proof server specifications, see [Capacity Planning](https://xrpl.org/docs/infrastructure/installation/capacity-planning). + * `last_close` (object): Information about the last time the server closed a ledger, including the amount of time it took to reach a consensus and the number of trusted validators participating. + * `last_close.converge_time_s` (number): The amount of time it took to reach a consensus on the most recently validated ledger version, in seconds. + * `last_close.proposers` (number): How many trusted validators the server considered (including itself, if configured as a validator) in the consensus process for the most recently validated ledger version. + * `load` (object; admin only): Detailed information about the current load state of the server. + * `load.job_types` (array; admin only): Information about the rate of different types of jobs the server is doing and how much time it spends on each. + * `load.threads` (number; admin only): The number of threads in the server's main job pool. + * `load_factor` (number): The multiplier to the [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) the server is currently enforcing. For example, at `1000` load factor and a reference transaction cost of 10 drops of XRP, the load-scaled transaction cost is 10,000 drops (0.01 XRP). The load factor is determined by the highest of the individual server's load factor, the cluster's load factor, the open ledger cost, and the overall network's load factor. + * `load_factor_local` (number; may be omitted): The current multiplier to the transaction cost based on load to this server. + * `load_factor_net` (number; may be omitted): The current multiplier to the transaction cost being used by the rest of the network. + * `load_factor_cluster` (number; may be omitted): The current multiplier to the transaction cost based on load to servers in this [cluster](https://xrpl.org/docs/concepts/networks-and-servers/clustering). + * `load_factor_fee_escalation` (number; may be omitted): The current multiplier to the transaction cost that a transaction must pay to get into the open ledger. + * `load_factor_fee_queue` (number; may be omitted): The current multiplier to the transaction cost required to get into the queue, if the queue is full. + * `load_factor_server` (number; may be omitted): The current multiplier based on server, cluster, and network load (not including open ledger cost). + * `network_ledger` (string; may be omitted): When [starting the server with the `--net` parameter](https://xrpl.org/docs/infrastructure/commandline-usage), this field contains the string `waiting` while the server is syncing to the network. + * `peers` (number): How many other `rippled` servers this one is currently connected to. + * `ports` (array): A list of ports where the server is listening for API commands. Each entry is a [Port Descriptor object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#port-descriptor-object). + * `pubkey_node` (string): Public key used to verify this server for peer-to-peer communications. This [node key pair](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol#node-key-pair) is automatically generated by the server the first time it starts up. (If deleted, the server can create a new pair of keys.) You can set a persistent value in the config file using the `[node_seed]` config option, which is useful for [clustering](https://xrpl.org/docs/concepts/networks-and-servers/clustering). + * `pubkey_validator` (string; admin only): Public key used by this node to sign ledger validations. This validation key pair is derived from the `[validator_token]` or `[validation_seed]` config field. + * `server_state` (string): A string indicating to what extent the server is participating in the network. See [Possible Server States](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) for more details. + * `server_state_duration_us` (number): The number of consecutive microseconds the server has been in the current state. + * `state_accounting` (object): A map of [various server states](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) with information about the time the server spends in each. This can be useful for tracking the long-term health of your server's connectivity to the network. The contents of this field are formatted as [State Accounting Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#state-accounting-object). + * `uptime` (number): Number of consecutive seconds that the server has been operational. + * `validated_ledger` (object; may be omitted): Information about the most recent fully-validated ledger, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#server-ledger-object). If not available, omitted and `closed_ledger` is included instead. + * `validation_quorum` (number): Minimum number of trusted validations required to validate a ledger version. + * `validator_list_expires` (string; admin only): Either the human-readable time, in UTC, when the current validator list expires, or the string `unknown` if the server has yet to load a published validator list, or the string `never` if the server uses a static validator list. + * `counters` (object): Performance metrics regarding RPC calls, JobQueue, and nodestore details (`node_writes`, `node_reads_total`, `node_reads_hit`, etc.). + * `current_activity` (object): Lists items currently being run in the job queue and contains two arrays for `jobs` and `methods`. + +#### Port Descriptor Object + +Each member of the `ports` array is an object with the following fields: + + * `port` (string — number): A port number where the server is listening. + * `protocol` (array of string): A list of protocols being served on this port. Valid protocols include `http` or `https` for JSON-RPC, `ws`, `ws2`, `wss`, `wss2` for WebSocket, `grpc` for gRPC, and `peer` for the [XRP Ledger Peer Protocol](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol). + +#### State Accounting Object + +Each field in the `state_accounting` object has a key that refers to a specific [server state](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states), and a value that is an object with the following fields: + + * `duration_us` (string — number): The number of microseconds the server has spent in this state. (This is updated whenever the server transitions into another state.) + * `transitions` (string — number): The number of times the server has changed into this state. + +#### Server Ledger Object + +The response provides either a `validated_ledger` field or a `closed_ledger` field. Either field contains an object with the following fields: + + * `age` (number): The time since the ledger was closed, in seconds. + * `base_fee_xrp` (number): Base fee, in XRP (not drops). This may be represented in scientific notation such as `1e-05` for `0.00001`. + * `hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): Unique hash for the ledger, as hexadecimal. + * `reserve_base_xrp` (number): Minimum amount of XRP (not drops) necessary for every account to keep in reserve. + * `reserve_inc_xrp` (number): Amount of XRP (not drops) added to the account reserve for each object an account owns in the ledger. + * `seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the latest validated ledger. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "server_info", + "params": [{"counters" : false}] + }' +``` + +### Response example + +```json +{ + "result": { + "info": { + "build_version": "2.6.2", + "complete_ledgers": "100146025-100650763", + "hostid": "SAD", + "initial_sync_duration_us": "292599227", + "io_latency_ms": 1, + "jq_trans_overflow": "0", + "last_close": { + "converge_time_s": 3, + "proposers": 35 + }, + "load_factor": 1, + "peer_disconnects": "18440", + "peer_disconnects_resources": "3", + "peers": 49, + "ports": [ + { + "port": "51235", + "protocol": [ + "peer" + ] + }, + { + "port": "51234", + "protocol": [ + "http" + ] + }, + { + "port": "51233", + "protocol": [ + "ws" + ] + }, + { + "port": "50051", + "protocol": [ + "grpc" + ] + } + ], + "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", + "server_state": "full", + "server_state_duration_us": "99692864611", + "state_accounting": { + "connected": { + "duration_us": "283465932", + "transitions": "2" + }, + "disconnected": { + "duration_us": "1040136", + "transitions": "2" + }, + "full": { + "duration_us": "99692864611", + "transitions": "1" + }, + "syncing": { + "duration_us": "8093158", + "transitions": "1" + }, + "tracking": { + "duration_us": "0", + "transitions": "1" + } + }, + "time": "2025-Dec-04 15:01:28.199321 UTC", + "uptime": 99985, + "validated_ledger": { + "age": 4, + "base_fee_xrp": 1e-05, + "hash": "DC9E71BB38F18D5202594FA800230B0B080199704D7CA02BD2524ED49170DA2F", + "reserve_base_xrp": 1, + "reserve_inc_xrp": 0.2, + "seq": 100650763 + }, + "validation_quorum": 28 + }, + "status": "success" + } +} +``` + +--- + +## `server_state` + +> Retrieves status of the server in machine-readable format. + +The `server_state` command asks the server for various machine-readable information about the `rippled` server's current state. The response is almost the same as the `server_info` `rippled` method, but uses units that are easier to process instead of easier to read. (For example, XRP values are given in integer drops instead of scientific notation or decimal values, and time is given in milliseconds instead of seconds.) + +The Clio server does not support `server_state` directly, but you can ask for the `server_state` of the `rippled` server that Clio is connected to. Specify `"ledger_index": "current"` (WebSocket) or `"params": [{"ledger_index": "current"}]` (JSON-RPC). + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a `state` object as its only field. + +The `state` object may have some arrangement of the following fields: + + * `amendment_blocked` (boolean): (May be omitted) If `true`, this server is [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers). If the server is not amendment blocked, the response omits this field. + * `build_version` (string): The version number of the running `rippled` version. + * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. It is possible to be a disjoint sequence, e.g. "2500-5000,32570-7695432". If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. + * `closed_ledger` (object): (May be omitted) Information on the most recently closed ledger that has not been validated by consensus, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#server-ledger-object). If the most recently validated ledger is available, the response omits this field and includes `validated_ledger` instead. + * `io_latency_ms` (number): Amount of time spent waiting for I/O operations, in milliseconds. If this number is not very, very low, then the `rippled` server is probably having serious load issues. + * `jq_trans_overflow` (string — number): The number of times this server has had over 250 transactions waiting to be processed at once. A large number here may mean that your server is unable to handle the transaction load of the XRP Ledger network. For detailed recommendations of future-proof server specifications, see [Capacity Planning](https://xrpl.org/docs/infrastructure/installation/capacity-planning). + * `last_close` (object): Information about the last time the server closed a ledger, including the amount of time it took to reach a consensus and the number of trusted validators participating. + * `last_close.converge_time` (number): The amount of time it took to reach a consensus on the most recently validated ledger version, in milliseconds. + * `last_close.proposers` (number): How many trusted validators the server considered (including itself, if configured as a validator) in the consensus process for the most recently validated ledger version. + * `load` (object): (Admin only) Detailed information about the current load state of the server. + * `load.job_types` (array): (Admin only) Information about the rate of different types of jobs the server is doing and how much time it spends on each. + * `load.threads` (number): (Admin only) The number of threads in the server's main job pool. + * `load_base` (number): The baseline amount of server load used in [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) calculations. If the `load_factor` is equal to the `load_base`, then only the base transaction cost is enforced. If the `load_factor` is higher than the `load_base`, then transaction costs are multiplied by the ratio between them. For example, if the `load_factor` is double the `load_base`, then transaction costs are doubled. + * `load_factor` (number): The load factor the server is currently enforcing. The ratio between this value and the `load_base` determines the multiplier for transaction costs. The load factor is determined by the highest of the individual server's load factor, the cluster's load factor, the open ledger cost, and the overall network's load factor. + * `load_factor_fee_escalation` (number): (May be omitted) The current multiplier to the transaction cost to get into the open ledger, in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). + * `load_factor_fee_queue` (number): (May be omitted) The current multiplier to the transaction cost to get into the queue, if the queue is full, in fee levels. + * `load_factor_fee_reference` (number): (May be omitted) The transaction cost with no load scaling, in fee levels. + * `load_factor_server` (number): (May be omitted) The load factor the server is enforcing, based on load to the server, cluster, and network, but not factoring in the open ledger cost. + * `network_ledger` (string): (May be omitted) When [starting the server with the `--net` parameter](https://xrpl.org/docs/infrastructure/commandline-usage), this field contains the string `waiting` while the server is syncing to the network. The field is omitted otherwise. + * `peers` (number): How many other `rippled` servers this one is currently connected to. + * `ports` (array): A list of ports where the server is listening for API commands. Each entry in the array is a [Port Descriptor object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#port-descriptor-object). + * `pubkey_node` (string): Public key used to verify this server for peer-to-peer communications. This node key pair is automatically generated by the server the first time it starts up. (If deleted, the server can create a new pair of keys.) You can set a persistent value in the config file using the `[node_seed]` config option, which is useful for [clustering](https://xrpl.org/docs/concepts/networks-and-servers/clustering). + * `pubkey_validator` (string): (Admin only) Public key used by this node to sign ledger validations. This validation key pair is derived from the `[validator_token]` or `[validation_seed]` config field. + * `server_state` (string): A string indicating to what extent the server is participating in the network. See [Possible Server States](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) for more details. + * `server_state_duration_us` (number): The number of consecutive microseconds the server has been in the current state. + * `state_accounting` (object): A map of various [server states](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) with information about the time the server spends in each. This can be useful for tracking the long-term health of your server's connectivity to the network. The contents of this field are formatted as [State Accounting Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#state-accounting-object). + * `time` (string): The current time in UTC, according to the server's clock. + * `uptime` (number): Number of consecutive seconds that the server has been operational. + * `validated_ledger` (object): (May be omitted) Information about the most recent fully-validated ledger, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#server-ledger-object). If the most recent validated ledger is not available, the response omits this field and includes `closed_ledger` instead. + * `validation_quorum` (number): Minimum number of trusted validations required to validate a ledger version. Some circumstances may cause the server to require more validations. + * `validator_list_expires` (number): (Admin only) When the current validator list expires, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time), or 0 if the server has yet to load a published validator list. + +#### Port Descriptor Object + +Each member of the `ports` array is an object with the following fields: + + * `port` (string — number): A port number where the server is listening. + * `protocol` (array of string): A list of protocols being served on this port. Valid protocols include `http` or `https` for JSON-RPC, `ws`, `ws2`, `wss`, `wss2` for WebSocket, `grpc` for gRPC, and `peer` for the [XRP Ledger Peer Protocol](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol). + +#### State Accounting Object + +Each field in the `state_accounting` object has a key that refers to a specific [server state](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states), and a value that is an object with the following fields: + + * `duration_us` (string — number): The number of microseconds the server has spent in this state. (This is updated whenever the server transitions into another state.) + * `transitions` (string — number): The number of times the server has changed into this state. + +#### Server Ledger Object + +The response provides either a `validated_ledger` field or a `closed_ledger` field. Either field contains an object with the following fields: + + * `base_fee` (number): The base fee, in drops of XRP, for propagating a transaction to the network, as of this ledger version. + * `close_time` (number): The official close time of this ledger version, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). This value is rounded; see [Ledger Close Times](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) for details. + * `hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): The unique hash of this ledger version, as hexadecimal. + * `reserve_base` (number): The minimum [account reserve](https://xrpl.org/docs/concepts/accounts/reserves), as of the most recent validated ledger version. + * `reserve_inc` (number): The [owner reserve](https://xrpl.org/docs/concepts/accounts/reserves) for each item an account owns, as of the most recent validated ledger version. + * `seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger version. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "server_state", + "params": [] + }' +``` + +### Response example + +```json +{ + "result": { + "state": { + "build_version": "2.6.2", + "complete_ledgers": "100145467-100651296", + "initial_sync_duration_us": "397921122", + "io_latency_ms": 1, + "jq_trans_overflow": "0", + "last_close": { + "converge_time": 3001, + "proposers": 35 + }, + "load_base": 256, + "load_factor": 256, + "load_factor_fee_escalation": 256, + "load_factor_fee_queue": 256, + "load_factor_fee_reference": 256, + "load_factor_server": 256, + "peer_disconnects": "15089", + "peer_disconnects_resources": "7", + "peers": 24, + "ports": [ + { + "port": "51235", + "protocol": [ + "peer" + ] + }, + { + "port": "51234", + "protocol": [ + "http" + ] + }, + { + "port": "51233", + "protocol": [ + "ws" + ] + }, + { + "port": "50051", + "protocol": [ + "grpc" + ] + } + ], + "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", + "server_state": "full", + "server_state_duration_us": "101916702241", + "state_accounting": { + "connected": { + "duration_us": "391641811", + "transitions": "2" + }, + "disconnected": { + "duration_us": "2071962", + "transitions": "2" + }, + "full": { + "duration_us": "101916702241", + "transitions": "1" + }, + "syncing": { + "duration_us": "4207345", + "transitions": "1" + }, + "tracking": { + "duration_us": "1", + "transitions": "1" + } + }, + "time": "2025-Dec-04 15:35:55.844094 UTC", + "uptime": 102314, + "validated_ledger": { + "base_fee": 10, + "close_time": 818177751, + "hash": "883E90590C94615CA601D2B9C577FE9AD382ADD5065550EA8021B8088AFD4581", + "reserve_base": 1000000, + "reserve_inc": 200000, + "seq": 100651296 + }, + "validation_quorum": 28 + }, + "status": "success" + } +} +``` + +--- + +## `version` + +> Retrieves API version information. + +The `version` command retrieves the API version information for the rippled server. For `Clio` servers, see `version` (`clio`) instead. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a version object as its only field. + +The `version` object returns some arrangement of the following fields: + + * `first` (string): Lowest supported API release. + * `last` (string): Highest supported API release. + * `good` (string): Default API if none specified. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "version", + "params": [] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "status": "success", + "version": { + "first": "1.0.0", + "good": "1.0.0", + "last": "1.0.0" + } + } +} +``` + +--- + +**Clio Methods**: + +These API methods are provided only by the Clio server, not `rippled`. + +## `server_info` + +> Retrieves status of the Clio server in human-readable format. + +The `server_info` command asks the [Clio server](https://xrpl.org/docs/concepts/networks-and-servers/the-clio-server) for a human-readable version of various information about the Clio server being queried. For `rippled` servers, see `server_info` (`rippled`) instead. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an `info` object as its only field. + +The `info` object may have some arrangement of the following fields: + + * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. This may be a disjoint sequence such as `24900901-24900984,24901116-24901158`. If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. + * `counters` (object; optional): Stats on API calls handled since server startup. This is present only if the client connects to the Clio server over `localhost`. + * `rpc` (object; optional): Stats on each API call handled by the Clio server since startup. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. The rpc object is a map of API method names to API Stats Objects. + * `subscriptions` (object; optional): Number of current subscribers for each stream type. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. + * `subscriptions.ledger` + * `subscriptions.transactions` + * `subscriptions.transactions_proposed` + * `subscriptions.manifests` + * `subscriptions.validations` + * `subscriptions.account` + * `subscriptions.accounts_proposed` + * `subscriptions.books` + * `time` (string): The current time in UTC, according to the server's clock. + * `uptime` (number): Number of consecutive seconds that the server has been operational. + * `amendment_blocked` (boolean; optional): Whether the Clio server is Amendment Blocked. + * `load_factor` (number): The load-scaled open ledger transaction cost the server is currently enforcing, as a multiplier on the base transaction cost. For example, at `1000` load factor and a reference transaction cost of 10 drops of XRP, the load-scaled transaction cost is 10,000 drops (0.01 XRP). The load factor is determined by the highest of the [individual server's load factor](https://xrpl.org/docs/concepts/transactions/transaction-cost#local-load-cost), the cluster's load factor, the [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost), and the overall network's load factor. + * `clio_version` (string): The version number of the running Clio server. + * `libxrpl_version` (string): The version number of the `libxrpl` library this Clio server was built against. + * `validation_quorum` (number; optional): Minimum number of trusted validations required to validate a ledger version. Some circumstances may cause the server to require more validations. This value is obtained from `rippled`. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. + * `rippled_version` (string; optional): The version number of the running `rippled` server that the Clio server is connected to. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. + * `network_id` (string; optional): The network ID of the network that the `rippled` this Clio server is connected to is operating on. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. + * `validated_ledger` (object; optional): Information about the most recent fully-validated ledger. If the most recent validated ledger is not available, the response omits this field and includes `closed_ledger` instead. + * `validated_ledger.age` (number): The time since the ledger was closed, in seconds. + * `validated_ledger.base_fee_xrp` (number): Base fee, in XRP. This may be represented in scientific notation such as `1e-05` for `0.00001`. + * `validated_ledger.hash` (string): Unique hash for the ledger, as hexadecimal. + * `validated_ledger.reserve_base_xrp` (number): Minimum amount of XRP (not drops) necessary for every account to keep in reserve. This may be represented in scientific notation such as `1e-05` for `0.00001`. + * `validated_ledger.reserve_inc_xrp` (number): Amount of XRP (not drops) added to the account reserve for each object an account owns in the ledger. This may be represented in scientific notation such as `1e-05` for `0.00001`. + * `validated_ledger.seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the latest validated ledger. + * `validator_list_expires` (string): (Admin only) Either the human-readable time, in UTC, when the current validator list expires, the string `unknown` if the server has yet to load a published validator list or the string `never` if the server uses a static validator list. + * `cache` (object): Information on Clio's state data cache. + * `cache.size` (number): Number of state data objects currently in the cache. + * `cache.is_full` (boolean): True if cache contains all state data for a specific ledger, false otherwise. Some API calls, such as the book_offers method, process much faster when the cache is full. + * `cache.latest_ledger_seq` (number): The ledger index of the latest validated ledger stored in the cache. + * `etl` (object): The `rippled` sources (ETL sources) that the Clio server is connected to. This is present only if the client connects to the Clio server over `localhost`. + * `etl.etl_sources` (array): List the `rippled` sources (ETL sources) that the Clio server is connected to and extracts data from. + * `etl.etl_sources.validated_range` (string): The validated ledger range retrieved by the P2P `rippled` server. + * `etl.etl_sources.is_connected` (boolean): True if Clio is connected to this source via websocket, false otherwise. A value of false here could indicate a networking issue, or that `rippled` is not running, amongst other things. + * `etl.etl_sources.ip` (number): IP of the `rippled` server. + * `etl.etl_sources.ws_port` (number): Websocket port of the `rippled` server. + * `etl.etl_sources.grpc_port` (number): The gRPC connection port of the P2P `rippled` server that the Clio server is connected to. + * `etl.etl_sources.last_msg_age_seconds` (number): Total seconds that have elapsed since Clio last heard anything from `rippled`. This should not be higher than 8. + * `etl.is_writer` (boolean): `true` if this Clio server is currently writing data to the database, `false` otherwise. + * `etl.read_only` (boolean): `true` if this Clio server is configured in read-only mode, `false` otherwise. + * `etl.last_publish_age_seconds` (number): Time in seconds that have elapsed since this Clio server last published a ledger. This should not be more than 8. + * `validated` (boolean): When `true`, this indicates that the response uses a ledger version that has been validated by consensus. In Clio, this is always true as Clio stores and returns validated ledger data. If a request was forwarded to `rippled` and the server returns current data, a missing or `false` value indicates that this ledger's data is not final. + * `status` (string): Returns the status of the API request: `success` when the request completes successfully. + +#### API Stats Objects + +An API Stats object provides key metrics for every API call handled by the Clio server since startup. It includes the following fields: + + * `started` (number): Number of API calls of this type that the Clio server has started processing since startup. + * `finished` (number): Number of API calls of this type that the Clio server has finished processing since startup. + * `errored` (number): Number of API calls of this type that have resulted in some sort of error since startup. + * `forwarded` (number): Number of API calls of this type that the Clio server has forwarded to a `rippled` P2P server since startup. + * `duration_us` (number): The total number of microseconds spent processing API calls of this type since startup. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "server_info", + "params": [] + }' +``` + +### Response example + +```json +{ + "result": { + "info": { + "build_version": "2.6.2", + "complete_ledgers": "100146025-100669999", + "hostid": "SAD", + "initial_sync_duration_us": "292599227", + "io_latency_ms": 1, + "jq_trans_overflow": "0", + "last_close": { + "converge_time_s": 3, + "proposers": 35 + }, + "load_factor": 1, + "peer_disconnects": "25682", + "peer_disconnects_resources": "10", + "peers": 50, + "ports": [ + { + "port": "51235", + "protocol": [ + "peer" + ] + }, + { + "port": "51234", + "protocol": [ + "http" + ] + }, + { + "port": "51233", + "protocol": [ + "ws" + ] + }, + { + "port": "50051", + "protocol": [ + "grpc" + ] + } + ], + "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", + "server_state": "full", + "server_state_duration_us": "174432150738", + "state_accounting": { + "connected": { + "duration_us": "283465932", + "transitions": "2" + }, + "disconnected": { + "duration_us": "1040136", + "transitions": "2" + }, + "full": { + "duration_us": "174432150738", + "transitions": "1" + }, + "syncing": { + "duration_us": "8093158", + "transitions": "1" + }, + "tracking": { + "duration_us": "0", + "transitions": "1" + } + }, + "time": "2025-Dec-05 11:47:07.485428 UTC", + "uptime": 174724, + "validated_ledger": { + "age": 4, + "base_fee_xrp": 1e-05, + "hash": "88DD7DD8994E83A178D341FB9621610CD56B4576384FCA3A962A675E9C1A4003", + "reserve_base_xrp": 1, + "reserve_inc_xrp": 0.2, + "seq": 100669999 + }, + "validation_quorum": 28 + }, + "status": "success" + } +} +``` + +--- + +## `ledger` + +> Retrieves info on the ledger version. + +The `ledger` command retrieves information about the public [ledger](https://xrpl.org/docs/concepts/ledgers). + +Note that the Clio server returns validated ledger data by default. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) + * `transactions` (boolean; optional): If `true`, return information on transactions in the specified ledger version. Defaults to `false`. Ignored if you did not specify a ledger version. + * `expand` (boolean; optional): Provide full JSON-formatted information for transaction/account information instead of only hashes. Defaults to `false`. Ignored unless you request transactions. + * `owner_funds` (boolean; optional): If `true`, include `owner_funds` field in the metadata of OfferCreate transactions in the response. Defaults to `false`. Ignored unless transactions are included and expand is `true`. + * `binary` (boolean; optional): If `true`, and `transactions` and `expand` are both also `true`, return transaction information in binary format (hexadecimal string) instead of JSON format. + * `diff` (boolean; optional): If `true`, returns all objects that were added, modified, or deleted as part of applying transactions in the specified ledger. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing information about the ledger, including the following fields: + + * `ledger` (object): The complete header data of this ledger. + * `ledger.account_hash` (string): Hash of all account state information in this ledger, as hex. + * `ledger.accountState` (array; optional): All the [account-state information](https://xrpl.org/docs/references/protocol/ledger-data) in this ledger. + * `ledger.close_flags` (integer): A bit-map of [flags relating to the closing of this ledger](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header#close-flags). + * `ledger.close_time` (integer): The time this ledger was closed, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). + * `ledger.close_time_human` (string): The time this ledger was closed, in human-readable format. Always uses the UTC time zone. + * `ledger.close_time_resolution` (integer): Ledger close times are rounded to within this many seconds. + * `ledger.closed` (boolean): Whether this ledger has been closed or not. + * `ledger.ledger_hash` (string): Unique identifying hash of the entire ledger. + * `ledger.ledger_index` (string): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger, as a quoted integer. + * `ledger.parent_close_time` (integer): The time at which the previous ledger was closed. + * `ledger.parent_hash` (string): Unique identifying hash of the ledger that came immediately before this one. + * `ledger.total_coins` (string): Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.) + * `ledger.transaction_hash` (string): Hash of the transaction information included in this ledger, as hex. + * `ledger.transactions` (array; optional): Transactions applied in this ledger version. By default, members are the transactions' identifying [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) strings. If the request specified `expand` as `true`, members are full representations of the transactions instead, in either JSON or binary depending on whether the request specified `binary` as `true`. + * `ledger_hash` (string): Unique identifying hash of the entire ledger. + * `ledger_index` (number): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. + * `validated` (boolean; optional): If `true`, this is a validated ledger version. If omitted or set to `false`, this ledger's data is not final. + * `diff` (object; optional): Object containing an array of hashes that were added, modified, or deleted as part of applying transactions for the ledger. + +If the request specified `"owner_funds": true` and expanded transactions, the response has a field `owner_funds` in the `metaData` object of each [OfferCreate transaction](https://xrpl.org/docs/references/protocol/transactions/types/offercreate). The purpose of this field is to make it easier to track the [funding status of offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) with each new validated ledger. + + * `owner_funds` (string): Numeric amount of the `TakerGets` currency that the `Account` sending this OfferCreate transaction has after the execution of all transactions in this ledger. This does not check whether the currency amount is [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). + +If the request specified `"diff": true`, the response has an object `diff`. The fields of this object are as follows: + + * `object_id` (string): The object identifier. + * `Hashes` (object or string): Depending on whether the request set `binary` to `true` or `false`, this field returns the contents of the object that was created, the new value of an object that was modified, or an empty string if the object was deleted. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ledger", + "params": [ + { + "ledger_index": "validated", + "transactions": false, + "expand": false, + "owner_funds": false, + "diff": false + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "ledger": { + "account_hash": "F16BD4873733F45AA69A22E16669701FA6382BE5465EDA7B9B77AFCFBE9BB335", + "close_flags": 0, + "close_time": 818251651, + "close_time_human": "2025-Dec-05 12:07:31.000000000 UTC", + "close_time_iso": "2025-12-05T12:07:31Z", + "close_time_resolution": 10, + "closed": true, + "ledger_hash": "57FAE517644B0E528D331D105D5E06071742CD7E35BE77C4F775E6FA98B38A83", + "ledger_index": "100670317", + "parent_close_time": 818251650, + "parent_hash": "ECEB12B2CC088D735BA64F05DF424833B9CD1821FDFE72C8608FA0895BF8DA87", + "total_coins": "99985745812732275", + "transaction_hash": "B3440C9462D83D4CD22208538DA257974A99AC132EBE976CE7B581C36F8B8825" + }, + "ledger_hash": "57FAE517644B0E528D331D105D5E06071742CD7E35BE77C4F775E6FA98B38A83", + "ledger_index": 100670317, + "status": "success", + "validated": true + } +} +``` + +--- + +## `mpt_holders` + +> Retrieves the holders of a given MPT issuance for a given ledger. + +For a given `MPTokenIssuanceID` and ledger sequence, `mpt_holders` returns all holders of that [MPT](https://xrpl.org/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens) and their balance. This method likely returns very large data sets, so you should expect to implement paging via the `marker` field. This API is only available using Clio, not `rippled`. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): + + * `mpt_issuance_id` (string; required): The `MPTokenIssuance` to query. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the max ledger to use, or a shortcut string to choose a ledger automatically. You must specify either `ledger_index` or `ledger_hash`. See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers). + * `ledger_hash` (string; optional): A 32-byte hex string for the ledger version to use. You must specify either `ledger_index` or `ledger_hash`. See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers). + * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Used to continue your query where it left off in paginating. + * `limit` (number — positive integer; optional): Specify a limit to the number of MPTs returned. + +### Returns + + * `mpt_issuance_id` (string): The `MPTokenIssuance` queried. + * `mptokens` (array): An array of [MPTokens](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders#mptoken). Includes all relevant fields in the underlying `MPToken` object. + * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Used to continue querying where we left off when paginating. Omitted if there are no more entries after this result. + * `limit` (number): The limit, as specified in the request. + * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The index of the ledger used. + * `validated` (boolean): If `true`, the ledger has been validated by the consensus process and is immutable. Otherwise, the contents of the ledger are not final and may change. In Clio, this is always true as Clio stores and returns validated ledger data. + +#### MPToken + +An `MPToken` object has the following parameters: + + * `account` (string): The account address of the holder who owns the `MPToken`. + * `flags` (number): The flags assigned to the `MPToken` object. + * `mpt_amount` ([string — number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): Specifies a positive amount of tokens currently held by the owner. + * `mptoken_index` (string): Key of the `MPToken` object. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "mpt_holders", + "params": [ + { + "mpt_issuance_id": "0024D204E07DDDFBCD83B1649C07FE27FD536A3A32E6FDD8", + "ledger_index": "validated" + } + ] + }' +``` + +### Response example + +```json +{ + "result": { + "mpt_issuance_id": "0024D204E07DDDFBCD83B1649C07FE27FD536A3A32E6FDD8", + "limit": 50, + "ledger_index": 2415033, + "mptokens": [ + { + "account": "rfyWeQpYM3vCXRHA9cMLs2ZEdZv1F1jzm9", + "flags": 0, + "mpt_amount": "200", + "mptoken_index": "22F99DCD55BCCF3D68DC3E4D6CF12602006A7563A6BE93FC57FD63298BCCEB13" + } + ], + "validated": true, + "status": "success" + }, + "warnings": [ + { + "id": 2001, + "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request" + } + ] +} +``` + +--- + +## `version` + +> Retrieves API version information. + +The `version` command retrieves the API version information of the [Clio server](https://xrpl.org/docs/concepts/networks-and-servers/the-clio-server). For `rippled` servers, see `version` (`rippled`) instead. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an info object as its only field. + +The `version` object returns some arrangement of the following fields: + + * `first` (integer): Lowest supported API release. + * `last` (integer): Highest supported API release. + * `good` (integer): Default API if none specified. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "version", + "params": [] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "status": "success", + "version": { + "first": "1.0.0", + "good": "1.0.0", + "last": "1.0.0" + } + } +} +``` + +--- + +**Utility Methods**: + +Use these methods to perform convenient tasks, such as ping and random number generation. + +## `ping` + +> Confirms connectivity with the server. + +The `ping` command returns an acknowledgement, so that clients can test the connection status and latency. + + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing no fields. The client can measure the round-trip time from request to response as latency. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "ping", + "params": [] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "status": "success" + } +} +``` + +--- + +## `random` + +> Generates a random number. + +The `random` command provides a random number to be used as a source of entropy for random number generation by clients. + +### Parameters + + * `id` (integer; required): a request ID (example: 1). + * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). + * `method` (string; required): a method used for the request. + * `params` (array; required): none. + +### Returns + +The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following field: + + * `random` (string): Random 256-bit hex value. + +### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "random", + "params": [] + }' +``` + +### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "random": "3060417EAEBDB220E2CBED2B4BCBAEDD805D8A1A8D7C405A868F11ABB7249B2A", + "status": "success" + } +} +``` diff --git a/content/rpc-service/chains/chains-list.mdx b/content/rpc-service/chains/chains-list.mdx index a13fba763..24f2929f5 100644 --- a/content/rpc-service/chains/chains-list.mdx +++ b/content/rpc-service/chains/chains-list.mdx @@ -23,22 +23,25 @@ Find the chain you require and go to its docs section by clicking it. | | | | | | | |-----------------------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------------|-------------------------------------------------------|-------------------------------------------------------------------|---------------------------------------------------------| -| [0G](/rpc-service/chains/chains-list/#0g) | [BNB Smart Chain](/rpc-service/chains/chains-list/#bnb-smart-chain) | [Gnosis](/rpc-service/chains/chains-list/#gnosis) | [Linea](/rpc-service/chains/chains-list/#linea) | [Polygon zkEVM](/rpc-service/chains/chains-list/#polygon-zkevm) | [Taiko](/rpc-service/chains/chains-list/#taiko) | -| [Allora](/rpc-service/chains/chains-list/#allora) | [Botanix](/rpc-service/chains/chains-list/#botanix) | [Gnosis Beacon](/rpc-service/chains/chains-list/#gnosis-beacon) | [Mantle](/rpc-service/chains/chains-list/#mantle) | [Rollux](/rpc-service/chains/chains-list/#rollux) | [Telos](/rpc-service/chains/chains-list/#telos) | -| [Aptos](/rpc-service/chains/chains-list/#aptos) | [Celo](/rpc-service/chains/chains-list/#celo) | [GOAT](/rpc-service/chains/chains-list/#goat) | [Matchain](/rpc-service/chains/chains-list/#matchain) | [Scroll](/rpc-service/chains/chains-list/#scroll) | [Tenet](/rpc-service/chains/chains-list/#tenet) | -| [Arbitrum](/rpc-service/chains/chains-list/#arbitrum) | [Chiliz](/rpc-service/chains/chains-list/#chiliz) | [Gravity](/rpc-service/chains/chains-list/#gravity) | [Metis](/rpc-service/chains/chains-list/#metis) | [Secret Network](/rpc-service/chains/chains-list/#secret-network) | [TON](/rpc-service/chains/chains-list/#ton) | -| [Arbitrum Nova](/rpc-service/chains/chains-list/#arbitrum-nova) | [Core](/rpc-service/chains/chains-list/#core) | [Harmony](/rpc-service/chains/chains-list/#harmony) | [Midnight](/rpc-service/chains/chains-list/#midnight) | [Sei](/rpc-service/chains/chains-list/#sei) | [TRON](/rpc-service/chains/chains-list/#tron) | -| [Atleta](/rpc-service/chains/chains-list/#atleta) | [Corn](/rpc-service/chains/chains-list/#corn) | [HECO Chain](/rpc-service/chains/chains-list/#huobi-eco-chain) | [Monad](/rpc-service/chains/chains-list/#monad) | [Solana](/rpc-service/chains/chains-list/#solana) | [Xai](/rpc-service/chains/chains-list/#xai) | -| [Avail](/rpc-service/chains/chains-list/#avail) | [Electroneum](/rpc-service/chains/chains-list/#electroneum) | [Horizen EON](/rpc-service/chains/chains-list/#horizen-eon) | [Moonbeam](/rpc-service/chains/chains-list/#moonbeam) | [Somnia](/rpc-service/chains/chains-list/#somnia) | [XDC](/rpc-service/chains/chains-list/#xdc) | -| [Avalanche](/rpc-service/chains/chains-list/#avalanche) | [Ethereum](/rpc-service/chains/chains-list/#ethereum) | [Iota](/rpc-service/chains/chains-list/#iota) | [Movement](/rpc-service/chains/chains-list/#movement) | [Sonic](/rpc-service/chains/chains-list/#sonic) | [X Layer](/rpc-service/chains/chains-list/#x-layer) | -| [B2 Network](/rpc-service/chains/chains-list/#b2-network) | [Ethereum Beacon](/rpc-service/chains/chains-list/#eth-beacon) | [Iota EVM](/rpc-service/chains/chains-list/#iota-evm) | [NEAR](/rpc-service/chains/chains-list/#near) | [Stellar](/rpc-service/chains/chains-list/#stellar) | [Xphere](/rpc-service/chains/chains-list/#xphere) | -| [Bahamut](/rpc-service/chains/chains-list/#bahamut) | [Etherlink](/rpc-service/chains/chains-list/#etherlink) | [IoTeX](/rpc-service/chains/chains-list/#iotex) | [Nervos](/rpc-service/chains/chains-list/#nervos) | [Story](/rpc-service/chains/chains-list/#story) | [zkSync Era](/rpc-service/chains/chains-list/#zksync-era) | -| [Base](/rpc-service/chains/chains-list/#base) | [Fantom](/rpc-service/chains/chains-list/#fantom) | [Kaia](/rpc-service/chains/chains-list/#kaia) | [Neura](/rpc-service/chains/chains-list/#neura) | [Sui](/rpc-service/chains/chains-list/#sui) | | -| [Bitcoin](/rpc-service/chains/chains-list/#bitcoin) | [Filecoin](/rpc-service/chains/chains-list/#filecoin) | [Kava](/rpc-service/chains/chains-list/#kava) | [Optimism](/rpc-service/chains/chains-list/#optimism) | [Swell](/rpc-service/chains/chains-list/#swell) | | -| [Bitlayer](/rpc-service/chains/chains-list/#bitlayer) | [Flare](/rpc-service/chains/chains-list/#flare) | [Kinto](/rpc-service/chains/chains-list/#kinto) | [Polkadot](/rpc-service/chains/chains-list/#polkadot) | [Syscoin](/rpc-service/chains/chains-list/#syscoin) | | -| [Blast](/rpc-service/chains/chains-list/#blast) | [Fuel](/rpc-service/chains/chains-list/#fuel) | [Kusama](/rpc-service/chains/chains-list/#kusama) | [Polygon](/rpc-service/chains/chains-list/#polygon) | [TAC](/rpc-service/chains/chains-list/#tac) | | +| [0G](/rpc-service/chains/chains-list/#0g) | [BNB Smart Chain](/rpc-service/chains/chains-list/#bnb-smart-chain) | [Gnosis](/rpc-service/chains/chains-list/#gnosis) | [Linea](/rpc-service/chains/chains-list/#linea) | [Rollux](/rpc-service/chains/chains-list/#rollux) | [Telos](/rpc-service/chains/chains-list/#telos) | +| [Allora](/rpc-service/chains/chains-list/#allora) | [Botanix](/rpc-service/chains/chains-list/#botanix) | [Gnosis Beacon](/rpc-service/chains/chains-list/#gnosis-beacon) | [Mantle](/rpc-service/chains/chains-list/#mantle) | [Scroll](/rpc-service/chains/chains-list/#scroll) | [Tenet](/rpc-service/chains/chains-list/#tenet) | +| [Aptos](/rpc-service/chains/chains-list/#aptos) | [Celo](/rpc-service/chains/chains-list/#celo) | [GOAT](/rpc-service/chains/chains-list/#goat) | [Matchain](/rpc-service/chains/chains-list/#matchain) | [Secret Network](/rpc-service/chains/chains-list/#secret-network) | [TON](/rpc-service/chains/chains-list/#ton) | +| [Arbitrum](/rpc-service/chains/chains-list/#arbitrum) | [Chiliz](/rpc-service/chains/chains-list/#chiliz) | [Gravity](/rpc-service/chains/chains-list/#gravity) | [Metis](/rpc-service/chains/chains-list/#metis) | [Sei](/rpc-service/chains/chains-list/#sei) | [TRON](/rpc-service/chains/chains-list/#tron) | +| [Arbitrum Nova](/rpc-service/chains/chains-list/#arbitrum-nova) | [Core](/rpc-service/chains/chains-list/#core) | [Harmony](/rpc-service/chains/chains-list/#harmony) | [Midnight](/rpc-service/chains/chains-list/#midnight) | [Solana](/rpc-service/chains/chains-list/#solana) | [Xai](/rpc-service/chains/chains-list/#xai) | +| [Atleta](/rpc-service/chains/chains-list/#atleta) | [Corn](/rpc-service/chains/chains-list/#corn) | [HECO Chain](/rpc-service/chains/chains-list/#huobi-eco-chain) | [Monad](/rpc-service/chains/chains-list/#monad) | [Somnia](/rpc-service/chains/chains-list/#somnia) | [XDC](/rpc-service/chains/chains-list/#xdc) | +| [Avail](/rpc-service/chains/chains-list/#avail) | [Electroneum](/rpc-service/chains/chains-list/#electroneum) | [Horizen EON](/rpc-service/chains/chains-list/#horizen-eon) | [Moonbeam](/rpc-service/chains/chains-list/#moonbeam) | [Sonic](/rpc-service/chains/chains-list/#sonic) | [X Layer](/rpc-service/chains/chains-list/#x-layer) | +| [Avalanche](/rpc-service/chains/chains-list/#avalanche) | [Ethereum](/rpc-service/chains/chains-list/#ethereum) | [Iota](/rpc-service/chains/chains-list/#iota) | [Movement](/rpc-service/chains/chains-list/#movement) | [Stellar](/rpc-service/chains/chains-list/#stellar) | [Xphere](/rpc-service/chains/chains-list/#xphere) | +| [B2 Network](/rpc-service/chains/chains-list/#b2-network) | [Ethereum Beacon](/rpc-service/chains/chains-list/#eth-beacon) | [Iota EVM](/rpc-service/chains/chains-list/#iota-evm) | [NEAR](/rpc-service/chains/chains-list/#near) | [Story](/rpc-service/chains/chains-list/#story) | [XRP](/rpc-service/chains/chains-list/#xrp) | +| [Bahamut](/rpc-service/chains/chains-list/#bahamut) | [Etherlink](/rpc-service/chains/chains-list/#etherlink) | [IoTeX](/rpc-service/chains/chains-list/#iotex) | [Nervos](/rpc-service/chains/chains-list/#nervos) | [Sui](/rpc-service/chains/chains-list/#sui) | [zkSync Era](/rpc-service/chains/chains-list/#zksync-era) | +| [Base](/rpc-service/chains/chains-list/#base) | [Fantom](/rpc-service/chains/chains-list/#fantom) | [Kaia](/rpc-service/chains/chains-list/#kaia) | [Neura](/rpc-service/chains/chains-list/#neura) | [Swell](/rpc-service/chains/chains-list/#swell) | | +| [Bitcoin](/rpc-service/chains/chains-list/#bitcoin) | [Filecoin](/rpc-service/chains/chains-list/#filecoin) | [Kava](/rpc-service/chains/chains-list/#kava) | [Optimism](/rpc-service/chains/chains-list/#optimism) | [Syscoin](/rpc-service/chains/chains-list/#syscoin) | | +| [Bitlayer](/rpc-service/chains/chains-list/#bitlayer) | [Flare](/rpc-service/chains/chains-list/#flare) | [Kinto](/rpc-service/chains/chains-list/#kinto) | [Polkadot](/rpc-service/chains/chains-list/#polkadot) | [TAC](/rpc-service/chains/chains-list/#tac) | | +| [Blast](/rpc-service/chains/chains-list/#blast) | [Fuel](/rpc-service/chains/chains-list/#fuel) | [Kusama](/rpc-service/chains/chains-list/#kusama) | [Polygon](/rpc-service/chains/chains-list/#polygon) | [Taiko](/rpc-service/chains/chains-list/#taiko) | | ## 0G +
    + + > 0G API is available on [Web3 API platform](https://www.ankr.com/rpc/0g). @@ -349,6 +352,9 @@ curl https://rpc.ankr.com/http/0g_galileo_testnet_beaconkit/eth/v1/node/version --- ## Allora +
    + + > Allora API is available on [Web3 API platform](https://www.ankr.com/rpc/allora). @@ -938,6 +944,9 @@ def test_block_number(self): --- ## Atleta +
    + + > Atleta API is available on [Web3 API platform](https://www.ankr.com/rpc/atleta). @@ -1087,6 +1096,9 @@ def test_block_number(self): --- ## Avail +
    + + > Avail API is available on [Web3 API platform](https://www.ankr.com/rpc/avail). @@ -1511,6 +1523,9 @@ curl -X POST 'https://rpc.ankr.com/avalanche-x/{your_token}' \ --- ## B2 Network +
    + + > B² Network API is available on [Web3 API platform](https://www.ankr.com/rpc/b2). @@ -1661,6 +1676,9 @@ def test_block_number(self): --- ## Bahamut +
    + + > Bahamut API is available on [Web3 API platform](https://www.ankr.com/rpc/bahamut). @@ -1972,144 +1990,10 @@ def test_block_number(self): --- -## Berachain - -> Berachain API is available on [Web3 API platform](https://www.ankr.com/rpc/berachain). - -Berachain is a high-performance EVM-compatible blockchain built on Proof-of-Liquidity consensus. Proof-of-Liquidity is a novel consensus mechanism that aims to align network incentives, creating strong synergy between Berachain validators and the ecosystem of projects. Berachain's technology is built on Polaris, a high-performance blockchain framework for building EVM-compatible chains on-top of the CometBFT consensus engine. - -Official quick links: [Website](https://www.berachain.com/), [Docs](https://docs.berachain.com/), [GitHub](https://github.com/berachain) - -### Networks - - * Testnet (`HTTPS` and `WSS`) - -### API methods - -For Berachain, we support blockchain interaction via all the [applicable methods](/rpc-service/chains/chains-api/berachain/) except for those listed as unsupported. - -#### Unsupported - - - This section contains a list of methods we don't support for _Premium_ service plan. - - - - If you require any of the methods from the list, contact our Sales (`sales@ankr.com`) about moving to the _Enterprise_ service plan that can provide the services tailored to your specific needs. - - -**HTTPS**: - -`eth_newFilter`, `eth_getFilterChanges`, `eth_coinbase`, `eth_hashrate`, `eth_mining`, `eth_getWork`,`eth_submitWork`, `eth_submitHashrate`, `net_peerCount`, `eth_newBlockFilter`, `eth_newPendingTransactionFilter`, `eth_uninstallFilter`, `eth_getFilterLogs`, - -`debug_*` (exception: `debug_traceBlockByHash`, `debug_traceBlockByNumber`, `debug_traceTransaction`, `debug_traceCall`, `debug_traceBlock`), - -`personal_*`, `admin_*`, `clique_*`, `les_*`, `miner_*`, `engine_*`, `parity_*` - -**WSS**: - -`txpool_content`, `txpool_inspect`, `txpool_status`, `txpool_contentFrom` - -### API querying - -#### Request example - - - - -```shell -curl -X POST https://rpc.ankr.com/berachain_testnet \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc": "2.0", - "method": "eth_blockNumber", - "params": [], - "id": 1 - }' -``` - - - -```go -package main - -import ( - "context" - "fmt" - "github.com/ethereum/go-ethereum/ethclient" -) - -func main() { - const url = "https://rpc.ankr.com/berachain_testnet" // url string - - rpcClient,err := ethclient.Dial(url) - - if err != nil { - panic(err) - } - - blockNumber, err := rpcClient.BlockNumber(context.Background()) - - if err != nil { - panic(err) - } - - fmt.Println(blockNumber) -} -``` - - - -```js -const Web3 = require('web3'); - -const url = 'https://rpc.ankr.com/berachain_testnet' // url string - -const web3 = new Web3(new Web3.providers.HttpProvider(url)); - -web3.eth.getBlockNumber((error, blockNumber) => { - if(!error) { - console.log(blockNumber); - } else { - console.log(error); - } -}); -``` - - - -```python -from web3 import Web3 - -def test_block_number(self): - url = 'https://rpc.ankr.com/berachain_testnet' # url string - - web3 = Web3(HTTPProvider(url)) - print(web3.eth.block_number) -``` - - - -#### Response example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "result": "0x26a494" -} -``` - ---- - ## Bitcoin +
    + + Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. @@ -2244,6 +2128,9 @@ curl -X GET https://rpc.ankr.com/premium-http/btc_blockbook/{your_token}/api/v2/ --- ## Bitlayer +
    + + > Bitlayer API is available on [Web3 API platform](https://www.ankr.com/rpc/bitlayer). @@ -2382,6 +2269,9 @@ def test_block_number(self): --- ## Blast +
    + + > Blast API is available on [Web3 API platform](https://www.ankr.com/rpc/blast). @@ -2706,6 +2596,9 @@ def test_block_number(self): --- ## Botanix +
    + + > Botanix API is available on [Web3 API platform](https://www.ankr.com/rpc/botanix). @@ -3158,6 +3051,9 @@ def test_block_number(self): --- ## Core +
    + + > Core API is available on [Web3 API platform](https://www.ankr.com/rpc/core). @@ -3295,6 +3191,9 @@ def test_block_number(self): --- ## Corn +
    + + > Corn API is available on [Web3 API platform](https://www.ankr.com/rpc/corn). @@ -3442,6 +3341,9 @@ def test_block_number(self): --- ## Electroneum +
    + + > Electroneum API is available on [Web3 API platform](https://www.ankr.com/rpc/electroneum). @@ -3835,6 +3737,9 @@ curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/{your_token}/eth/v1/be --- ## Etherlink +
    + + Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. @@ -4329,6 +4234,9 @@ curl -X POST https://rpc.ankr.com/filecoin \ --- ## Flare +
    + + > Flare API is available on [Web3 API platform](https://www.ankr.com/rpc/flare). @@ -4487,6 +4395,9 @@ def test_block_number(self): --- ## Fuel +
    + + > Fuel API is available on [Web3 API platform](https://www.ankr.com/rpc/fuel). @@ -4791,6 +4702,9 @@ curl -X GET "https://rpc.ankr.com/premium-http/gnosis_beacon/{your_token}/eth/v1 --- ## GOAT +
    + + > GOAT API is available on [Web3 API platform](https://www.ankr.com/rpc/goat). @@ -4934,6 +4848,9 @@ def test_block_number(self): --- ## Gravity +
    + + > Gravity API is available on [Web3 API platform](https://www.ankr.com/rpc/gravity). @@ -5078,6 +4995,9 @@ def test_block_number(self): --- ## Linea +
    + + Available for [Premium](/rpc-service/service-plans/#service-plans-comparison) users only. @@ -5608,6 +5528,9 @@ curl -X POST https://rpc.ankr.com/horizen_eon \ --- ## IOTA +
    + + > IOTA API is available on [Web3 API platform](https://www.ankr.com/rpc/iota). @@ -5678,6 +5601,9 @@ curl -X POST https://rpc.ankr.com/iota_mainnet \ --- ## IOTA EVM +
    + + > IOTA EVM API is available on [Web3 API platform](https://www.ankr.com/rpc/iota_evm). @@ -5925,19 +5851,19 @@ import ( func main() { const url = "https://rpc.ankr.com/iotex/{your_token}" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -5964,10 +5890,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/iotex/{your_token}' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -5987,6 +5913,9 @@ def test_block_number(self): --- ## Kaia +
    + + > Kaia API is available on [Web3 API platform](https://www.ankr.com/rpc/kaia). @@ -6158,6 +6087,9 @@ def test_block_number(self): --- ## Kava +
    + + > Kava API is available on [Web3 API platform](https://www.ankr.com/rpc/kava). @@ -6483,6 +6415,9 @@ curl https://rpc.ankr.com/http/kava_api/cosmos/auth/v1beta1/params --- ## Kinto +
    + + > Kinto API is available on [Web3 API platform](https://www.ankr.com/rpc/kinto). @@ -6876,6 +6811,9 @@ def test_block_number(self): --- ## Matchain +
    + + > Matchain API is available on [Web3 API platform](https://www.ankr.com/rpc/matchain). @@ -7095,19 +7033,19 @@ import ( func main() { const url = "https://rpc.ankr.com/metis/{your_token}" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -7134,10 +7072,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/metis/{your_token}' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -7157,6 +7095,11 @@ def test_block_number(self): --- ## Midnight +
    + + + +> Midnight API is available on [Web3 API platform](https://www.ankr.com/rpc/midnight). Midnight is a data protection-focused sidechain of Cardano, designed to support confidential smart contracts and zero-knowledge (ZK) technology. Developed by IOG (Input Output Global)—the same team behind Cardano—Midnight aims to bring privacy-preserving decentralized applications (dApps) to Web3. @@ -7223,6 +7166,9 @@ curl -X POST https://rpc.ankr.com/midnight_testnet/ \ --- ## Monad +
    + + Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. @@ -7485,19 +7431,19 @@ import ( func main() { const url = "https://rpc.ankr.com/moonbeam/{your_token}" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -7524,10 +7470,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/moonbeam/{your_token}' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -7547,6 +7493,9 @@ def test_block_number(self): --- ## Movement +
    + + > Movement API is available on [Web3 API platform](https://www.ankr.com/rpc/movement). @@ -7788,7 +7737,7 @@ For Nervos, we support blockchain interaction via all the [applicable methods](/ `add_node`, `remove_node`, `ping_peers`, - `clear_tx_pool` + `clear_tx_pool` **WSS**: @@ -7834,19 +7783,19 @@ import ( func main() { const url = "https://rpc.ankr.com/nervos/{your_token}" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -7873,10 +7822,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/nervos/{your_token}' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -7896,6 +7845,9 @@ def test_block_number(self): --- ## Neura +
    + + > Neura API is available on [Web3 API platform](https://www.ankr.com/rpc/neura). @@ -8145,19 +8097,19 @@ import ( func main() { const url = "https://rpc.ankr.com/optimism/{your_token}" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -8184,10 +8136,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/optimism/{your_token}' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -8273,7 +8225,7 @@ For Polkadot, we support blockchain interaction via all the [applicable methods] `mmr_*`, `dev_*`, `offchain_*`, - `author_*` + `author_*` ### API querying @@ -8441,159 +8393,6 @@ import ( func main() { const url = "https://rpc.ankr.com/polygon" // url string - - rpcClient,err := ethclient.Dial(url) - - if err != nil { - panic(err) - } - - blockNumber, err := rpcClient.BlockNumber(context.Background()) - - if err != nil { - panic(err) - } - - fmt.Println(blockNumber) -} -``` - - - -```js -const Web3 = require('web3'); - -const url = 'https://rpc.ankr.com/polygon' // url string - -const web3 = new Web3(new Web3.providers.HttpProvider(url)); - -web3.eth.getBlockNumber((error, blockNumber) => { - if(!error) { - console.log(blockNumber); - } else { - console.log(error); - } -}); -``` - - - -```python -from web3 import Web3 - -def test_block_number(self): - url = 'https://rpc.ankr.com/polygon' # url string - - web3 = Web3(HTTPProvider(url)) - print(web3.eth.block_number) -``` - - - -#### Response example - -```json -{ - "jsonrpc":"2.0", - "id":1, - "result":"0x21fbd0f" -} -``` - ---- - -## Polygon zkEVM -
    - - - - -Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. - - -> Polygon zkEVM API is available on [Web3 API platform](https://www.ankr.com/rpc/polygon_zkevm). - -Polygon zkEVM is a decentralized Ethereum Layer 2 scalability solution that uses cryptographic zero-knowledge proofs to offer validity and quick finality to off-chain transaction computation, also known as a ZK-Rollup. - -The ZK-Rollup executes smart contracts transparently, by publishing zero-knowledge validity proofs, while maintaining opcode compatibility with the Ethereum Virtual Machine. - -Building dApps on zkEVM is completely similar to Ethereum. Simply switch to the zkEVM RPC and start building on a network with much higher throughput and lower fees. Polygon zkEVM provides a complete EVM-like experience for Developers and Users alike. - -Official quick links: [Website](https://polygon.technology/polygon-zkevm), [Docs](https://wiki.polygon.technology/docs/zkEVM/), [GitHub](https://github.com/maticnetwork/) - -### Networks - - * Mainnet (`HTTPS` and `WSS`) - * Testnet: - * Cardona (`HTTPS` and `WSS`) - * Goerli-anchored Testnet (`HTTPS` and `WSS`) - -### API methods - -For Polygon zkEVM, we support blockchain interaction via all the [applicable methods](/rpc-service/chains/chains-api/polygon-zkevm/) except for those listed as unsupported. - -#### Unsupported - - -This section contains a list of methods we don't support for _Premium_ service plan. - - - -If you require any of the methods from the list, contact our Sales (`sales@ankr.com`) about moving to the _Enterprise_ service plan that can provide the services tailored to your specific needs. - - -**HTTPS**: - -`eth_accounts`, `eth_compileSolidity`, `eth_compileLLL`, `eth_compileSerpent`, `eth_sendTransaction`, `eth_sign`, `eth_signTransaction`, `net_listening`, `zkevm_getBroadcastURI`, - -`eth_newFilter`, `eth_getFilterChanges`, `eth_coinbase`, `eth_hashrate`, `eth_mining`, `eth_getWork`,`eth_submitWork`, `eth_submitHashrate`, `net_peerCount`, `eth_newBlockFilter`, `eth_newPendingTransactionFilter`, `eth_uninstallFilter`, `eth_getFilterLogs`, - -`debug_*` (exception: `debug_traceBlockByHash`, `debug_traceBlockByNumber`, `debug_traceTransaction`, `debug_traceCall`, `debug_traceBlock`), - -`personal_*`, `admin_*`, `clique_*`, `les_*`, `miner_*`, `engine_*`, `parity_*` - -**WSS**: - -`txpool_content`, `txpool_inspect`, `txpool_status`, `txpool_contentFrom` - -### API querying - -#### Request example - - - - -```shell -curl -X POST https://rpc.ankr.com/polygon_zkevm/{your_token} \ --H 'Content-Type: application/json' \ --d '{ - "jsonrpc":"2.0", - "method":"eth_blockNumber", - "params": [], - "id":1 - }' -``` - - - -```go -package main - -import ( - "context" - "fmt" - "github.com/ethereum/go-ethereum/ethclient" -) - -func main() { - const url = "https://rpc.ankr.com/polygon_zkevm/{your_token}" // url string rpcClient,err := ethclient.Dial(url) @@ -8616,7 +8415,7 @@ func main() { ```js const Web3 = require('web3'); -const url = 'https://rpc.ankr.com/polygon_zkevm/{your_token}' // url string +const url = 'https://rpc.ankr.com/polygon' // url string const web3 = new Web3(new Web3.providers.HttpProvider(url)); @@ -8635,7 +8434,7 @@ web3.eth.getBlockNumber((error, blockNumber) => { from web3 import Web3 def test_block_number(self): - url = 'https://rpc.ankr.com/polygon_zkevm/{your_token}' # url string + url = 'https://rpc.ankr.com/polygon' # url string web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) @@ -8647,9 +8446,9 @@ def test_block_number(self): ```json { - "jsonrpc": "2.0", - "id": 1, - "result": "0x43e16" + "jsonrpc":"2.0", + "id":1, + "result":"0x21fbd0f" } ``` @@ -9188,6 +8987,9 @@ curl https://rpc.ankr.com/http/scrt_cosmos/cosmos/base/tendermint/v1beta1/blocks --- ## Sei +
    + + Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. @@ -9472,6 +9274,9 @@ curl -X POST https://rpc.ankr.com/solana_devnet/{your_token} \ --- ## Somnia +
    + + > Somnia API is available on [Web3 API platform](https://www.ankr.com/rpc/somnia). @@ -9616,6 +9421,9 @@ def test_block_number(self): --- ## Sonic +
    + + > Sonic API is available on [Web3 API platform](https://www.ankr.com/rpc/sonic). @@ -9761,6 +9569,9 @@ def test_block_number(self): --- ## Stellar +
    + + > Stellar API is available on [Web3 API platform](https://www.ankr.com/rpc/stellar). @@ -9965,6 +9776,9 @@ curl 'https://rpc.ankr.com/stellar_testnet_soroban' \ --- ## Story +
    + + > Story API is available on [Web3 API platform](https://www.ankr.com/rpc/story). @@ -10227,6 +10041,9 @@ grpcurl \ --- ## Swell +
    + + > Swell API is available on [Web3 API platform](https://www.ankr.com/rpc/swell). @@ -10472,19 +10289,19 @@ import ( func main() { const url = "https://rpc.ankr.com/syscoin" // url string - + rpcClient,err := ethclient.Dial(url) - + if err != nil { panic(err) } - + blockNumber, err := rpcClient.BlockNumber(context.Background()) - + if err != nil { panic(err) } - + fmt.Println(blockNumber) } ``` @@ -10511,10 +10328,10 @@ web3.eth.getBlockNumber((error, blockNumber) => { ```python from web3 import Web3 - + def test_block_number(self): url = 'https://rpc.ankr.com/syscoin' # url string - + web3 = Web3(HTTPProvider(url)) print(web3.eth.block_number) ``` @@ -10534,6 +10351,9 @@ def test_block_number(self): --- ## TAC +
    + + > TAC API is available on [Web3 API platform](https://www.ankr.com/rpc/tac). @@ -10921,6 +10741,9 @@ curl https://rpc.ankr.com/http/tac_turin_cosmos/cosmos/auth/v1beta1/params --- ## Taiko +
    + + > Taiko API is available on [Web3 API platform](https://www.ankr.com/rpc/taiko). @@ -11058,6 +10881,9 @@ def test_block_number(self): --- ## Telos +
    + + > Telos API is available on [Web3 API platform](https://www.ankr.com/rpc/telos). @@ -11331,6 +11157,9 @@ def test_block_number(self): --- ## TON +
    + + Available for [Freemium and Premium](/rpc-service/service-plans/#service-plans-comparison) users. @@ -11566,6 +11395,9 @@ curl -X GET 'https://rpc.ankr.com/premium-http/tron/{your_token}/walletsolidity/ --- ## Xai +
    + + > Xai API is available on [Web3 API platform](https://www.ankr.com/rpc/xai). @@ -11706,6 +11538,9 @@ def test_block_number(self): --- ## XDC Network +
    + + > XDC Network API is available on [Web3 API platform](https://www.ankr.com/rpc/xdc). @@ -11992,6 +11827,9 @@ def test_block_number(self): --- ## Xphere +
    + + > Xphere Era API is available on [Web3 API platform](https://www.ankr.com/rpc/xphere). @@ -12129,6 +11967,96 @@ def test_block_number(self): --- +## XRP +
    + + + + +Available for [Premium](/rpc-service/service-plans/#service-plans-comparison) users only. + + +> XRP API is available on [Web3 API platform](https://www.ankr.com/rpc/xrp). + +The XRP Ledger (XRPL) is a decentralized blockchain optimized for fast, low-cost payments and asset transfers. It uses a federated consensus algorithm in which a trusted set of validators propose and agree on transactions; once 80%+ reach consensus, a new ledger is finalized in 3–5 seconds with deterministic finality. XRPL supports native issued assets, a built-in DEX, escrows, payment channels, and multi-signing. + +**XRPL Ecosystem Overview** + + * **Core Servers**: The network is powered by rippled, the open-source server responsible for ledger synchronization, transaction processing, and consensus. Clio servers provide scalable, API-focused access without participating in the P2P consensus network. + * **Client Libraries**: SDKs streamline integration by wrapping XRPL APIs and performing secure local transaction signing. + * **Middleware**: Services built on XRPL APIs provide indexed data, higher-level abstractions, or custom interfaces, typically running continuously with their own storage layers. + * **Apps and Services**: Wallets, exchanges, token issuers, marketplaces, payment processors, and DEX interfaces form the user-facing layer, enabling transfers, trading, and broader financial use cases. + +### Networks + + * Mainnet (`HTTPS` and `WSS`) + +### API methods + +For XRP, we support blockchain interaction via all the [applicable methods](/rpc-service/chains/chains-api/xrp/) except for those listed as unsupported. + +#### Unsupported + + + This section contains a list of methods we don't support for _Premium_ service plan. + + + + If you require any of the methods from the list, contact our Sales (`sales@ankr.com`) about moving to the _Enterprise_ service plan that can provide the services tailored to your specific needs. + + +None. + +### API querying + +#### Request example + +```shell +curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ +-d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "account_channels", + "params": [ + { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "ledger_index": "validated" + } + ] + }' +``` + +#### Response example + +```json +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "channels": [ + { + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "amount": "1000", + "balance": "0", + "channel_id": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", + "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "public_key": "aBR7mdD75Ycs8DRhMgQ4EMUEmBArF8SEh1hfjrT2V9DQTLNbJVqw", + "public_key_hex": "03CFD18E689434F032A4E84C63E2A3A6472D684EAF4FD52CA67742F3E24BAE81B2", + "settle_delay": 60 + } + ], + "ledger_hash": "42C4F4E81710B015B3BA2A81E357E30E261F58964A6AB6C012734FADB67AB40D", + "ledger_index": 99672209, + "status": "success", + "validated": true + } +} +``` + +--- + ## zkSync Era
    diff --git a/content/rpc-service/service-plans.mdx b/content/rpc-service/service-plans.mdx index 1f7cf7701..78f9e6d98 100644 --- a/content/rpc-service/service-plans.mdx +++ b/content/rpc-service/service-plans.mdx @@ -68,7 +68,7 @@ The `Node API` and `Advanced API` solutions come with both *Public*, *Freemium*, |--------------------------------------------------|----------|------------|-----------| | Max. batch size | `10` | `100` | `1000` | | Max. block range | `1000` | `3000` | `10000` | -| Polygon max. block range (temporary) | `100` | `1000` | — | +| Polygon max. block range (temporary) | `100` | `1000` | `1000` | | BNB Smart Chain max. block range (temporary) | — | `1000` | — | | Monad max. block range ( for `eth_getLogs` only) | `100` | `100` | `1000` | diff --git a/pages/rpc-service/chains/chains-api/_meta.json b/pages/rpc-service/chains/chains-api/_meta.json new file mode 100644 index 000000000..e69de29bb diff --git a/public/build/chains-list/0g.png b/public/build/chains-list/0g.png new file mode 100644 index 0000000000000000000000000000000000000000..096729333cfacd8fa6d26f8cf8685e67b997b829 GIT binary patch literal 7074 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 V%I(N7(2hi_qM#{XB4_pf{{UY-sTlwO literal 0 HcmV?d00001 diff --git a/public/build/chains-list/atleta.png b/public/build/chains-list/atleta.png new file mode 100644 index 0000000000000000000000000000000000000000..59ede0c09737ed1b7dfd683f1946c78a1e71227a GIT binary patch literal 4704 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/avail.png b/public/build/chains-list/avail.png new file mode 100644 index 0000000000000000000000000000000000000000..659faa4db75c6cf7758d76c90e681c3c95d69cad GIT binary patch literal 16908 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 mvIq{J-YhS>RJl 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 XSnOZwHzi&5ATOb+1X3)Ow|wz`f*)V6 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/bahamut.png b/public/build/chains-list/bahamut.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b6ffcfa5585fa5dc42b6d21b98c1150b19257b GIT binary patch literal 8744 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/bitcoin.png b/public/build/chains-list/bitcoin.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5c63cd3d82fb462ac9a30d5f7f7d77d4d55daa GIT binary patch literal 11652 zcmb`tc{tSV7eB5-Ayh=!D_OEsvS%$q_9ZfmE!&KJ8C%909%P9JWmmQtW+wZ-CrNf= zEZGU8u@6Pe_dTA+^ZEV${9f1hTvy@V?{m)mIjr`6Krr^%z#H@|24Vf4GagWdDNv65p;7UxC)VW>kezx@Kg^3us z)@L`mBaaR13u?>~i)ouyTsLT`k_w(}(9%AuV+GagwIAz`@#@heF~jaM)lh1aLALn>e)bCNdw0AgV;LNjT^aJC zD{S7;&f9;Msx!=Tg&{1rI3amPl)P!Ov|8{)btZRYFQ>F)7)-+PLAtbVzX{kO(+c~h z+cG=6=dCZm``+X&1e*y|f8Og-jCg`G_!MC_UT_!iy%Q_GIU z2-gmoxf>|>C$R3{b`&6;YoL}Zk)yhH*Fi;GM!|v3-gQP{?C0KK#AN9IZDbgA_qd-f z$oj=ZC=99$W7a$Gd3SjD-^zPc1)R_Mxs13U`jko=ySx-goPBb-3N3aB)o3&|RxL`c z8I1Z0Hwyf>Q|s>1?`inXk4m?{U-4csQZpP;o=hJ3ulBV*bbk_~ZBswNswS%{4-#zD zP(NMFgQp&qvIjrZI!Hl9(w^zX$9{ghdG~UCrfE*c9$5lW*<3Y>n%k98ONf*2VwU)~ zM#(>W|LfRRbq0&@CWEF{SvZvNfeXc)&6wkl__qm#dlLV&nM=^5w#Uno7gSh%b+AYy zM-Yhlw7!q|uI|TkbL(kN?ndYX(id{qf&Qic5yG&o*Qm z77Xbh{D@SBRr=W!Y}(hRc%)r8Z2@DbIV9w`Ro2>c;1dR+b9RrQrz3}ZeGV(*XLq>= z(L*(j%tgIF?K7)%h*V@d-haq{c>D^>t-qvJwHbd}nfO{mNQp1Am<#o5|5T$C-Gj7= zQG5rVuQOq_4A1@BbZGwfbQNI276X!-gOYxC^KlZuAAO1)@g&qPY=b! zul%oi3jnVZ3E{YGbgF(&RlQS%f4QoB>f$^ml-Se8=Kt4?L#}tR%be&YWOR@Z7-#sk z@2>oof*-h1k*JyztI+N~armo=riSqcn8(xj*INn8Ft3-qzr6dS6As)Sw6?b1ka>Pb zmAhxjw_VMYx}$&N07KGdAqMJ@*TmyOUYpg|VH(KBtmZsv3-)GPvy8v+1I3~3UxbK$ zjLg;NzLxyh2wb<3q?|Z!lz5_OT02iYa}eC<;NW0!Y%}p<#0)#;#rk)_%LZ#3#EFu- zJ=0AMA7)T{4d3YZgROn_Q^8&?yA(tAo+5j@!l`}e9ZFzghwb=_ag=8%DDF}H=57={ z&R~pPS@ix2;|kR=iwcFgcgrHOgA25%I;<}ojgbO)X$xVGWaCw>bA9?FwTHg?xCSd% zyTEY*Z9_q4dm9R$nUM(Dqq8<#Z_ZBH~HuG*c>q+ zcsPYdK)?>uoOUv6Tr~8Hh?bm-? zbA=4U2RG|giTg)7&csT0JycsRL>;_gDXA#9bg%JzQaP-r;`0qylgr$W`E(92-0)?x z+c^4zw)FjiVC!dye#B5%rQ?g()s2Td)hs@iyeRcG1?RA~beu&jxBEG!K?S^vS@vZ! zHc!9_XPL;>%(YWB93k!b8jKw;rCtnk@}3bd9gW^FwqZANB1DN&;GmTbFP9k(6G2UT zca$ZP%6jiRj;{Lwvj>LdvQbb}<~zoKN+iDC?Ka9|nn8(yrObeVM+wANY-Kw}<%7r+SyZi>I%n;9D!qGM*0`TcUG>+ABy-*UCP zhIgTZ5zIYyhnr0n4mkfL=ByZbad&lwRL#LxE^ZrFhrq(Lg*D+cSf6jJj!iL~6cizi zmw@9Kl6r}#zs5|=Ikc@GxRWSQ+H4bUi)xt>Ew;E8S&ACdl~2@DZGY5r$<&f$wW@MW z{+=|?xhMuz&W?o=cJboRyOMI5T5v4~6BEs59I&_TN92R;DaH91&t@s46dz?xEI-dH z1Uj^4&nNB%>J(Pk`0gCLpkMyFyE}n7{ezxgsg@uPNfxbMVVF02gmaK9Z z;C_+ZV!!-Ps%Bzo;SR0l4(;PXZ=)ZfpY;bBSJy!3gDJQ4b2MtFY z0&kB4FrZbd!zKn8%j6i{@PHn1)NgTnx{>a-ldLH!R>j_WCVR@JB!xc=+)!bHZq9?u zf<;q48E+&NguSx{&Y`(*!;gtiuFb%Hv{=cG!Xw4@{a`7LSCdeZlQ?b(mk+26-pUiG z?Thg-RvX3&3YqB`IR$$OMLDpoj}L+3C7d#JKkgApI?ng?<-JP5z7=CJXw^alfbe}v zCkmP)1@%OCQdb1__I1wpW^=>QhS-P}^Sjf3hKow*Vn>T)J-~kOWIwf;*|)joKZ7#L&(I^t+A=OB7n<(Q#mn#A?Wwq(H2Z2De~(vm5J)`AhB)d z`Xqc0qjOk)aO|dgIKfRiYCCs@L)T&3l+~ovqFjdz?;6#yXP~#+jF9MJ?IH$x`tCN* zRimlsV}`7(^3Du%U)sc5Dk9%^Z$6yKl)2HUW$qw0gdO07mrfN28>YQ zh({w54%FBMKJ*MJE??si*=0<6lr(PuzW7|1@AGD z16jy7mEjRVqaZD#@jSZQNUKdH@#`WLeF_Wy3x|lVlE$2$i~D}l=P|L|3dm(kL5&qf zE6c;d23y28@9HYS-4oif{#@%a1%>U+UMl9JmRji0hJRMS$k!Kcs;(6HDWf7#X&2E6wIB9d|^_xXUJ~~&ZBGRycoWbx4As(4TE)O#@BgT z;QaM#<+FZHHJCYjt2BK=H6_{*%<)~JZD+1?$;!_8WX<^#Vz|JAui#wEW44xS`xV#( zcJHkXT8{Y9N$+tF%~>fXx{g*DT6q@PQW4j8Z*y&<0%NXUc(R_SP z%zY*C?+!0H$2wi)p2a!={AiOAK+Yx3>ufZDxp-7v9yVuAs1Q{u-2z6n&3H8+=SQ)f zHBXmf=xvqp!Mj69BTOH2Rjz5)nfhc;Ux*^<>vo0cV9{ zeIr(zr>wRk6oJmTCWGG{7+%QnMvXKTR&*}k=_8`QC3v_A5%H>exQ{MY^#jdl^WR}$ zCUorc!mGb@RKnfiD{;{;C7rLZLpIz*N-gW~2b-Wq(N%Tl!5=6gIG1mfefq9UNN&o+}O1=$9n5OL0yez zvHDZfkU!)m)g*^_b4!QFU2W}}B>sF@Poz6Uvnb2uTrXEg_slUzIDY!JX6I-h;qI4e zRDU6tUV;NV+NrZkm-{GZ6nni;d=Z=btbfg=X6DUU)r!I4Akzz4uv=!JTk?^13Gd3r zZ-Uztm$pgKOm5464c zf#o7tjtMlsIKQVN*P~|{jwtb`(X>d)1r#27UJzYiQsAPhI40 zfAMGc2fvrh27t_WJ>;8yN8bxoZrZAw_x*nI z6y-afLQny4r>pM9AgzSLg8bgtEs-4)c7WC%+&uBsEz;j`y{XcidQ%Fp;W)`}*rl>U z79z>Ca&&}ZH4>t~0Am|Y?Wyz{bPtp0PgK<5{PepJYPt#>g#1kyN(N`bS0bg^lmTA)$?o<(MM@US@zAzzk`0jfAq0 z@f~($ZNiSVc4lYh#R$%9XZf)OE*;*X^7IJbri1cDZ6`&oN{~8up?uSp6uOI1#X=<% zh(7CnZxCcsbmxQ`WhX2|pfw!FbVYtBS4quSfe!rsq{kOx*egT}M#3b{EVxu+sb-aQ#V zy>_?_oxW$-LSny<^;r#uG=_?Pm45rEn0e=|c7$r5_hs1(4XrdCtK=BkG(l4nzM~Pg z&1LYueud9e?~_TFAbfY~MTC=cQJ4#+vzE@j8XBkD+uS6K1g02zOlBrSd9i2Xc@;gr zt5*a;vyxm}4ip5<8*PS^%t%c~v5e8UacT9^#tK7&%U-line8ethiltDY(AGWKEC_( z?LE_&-P6%$713@-Q#CIBPlog!w$w9DO?4J7gTjN8X<+oD$rr_7E#9Qvyim6*yP($( zt4eY23HcT44G3PRz+J!FM+(MAA`^MQN(!SS0Vbm!n&zR7N+%kw%|}IOwp^Asy64A( zf6t&0By}L0{$*W!Et&J>LR3bQqAAfaVRq0;%@*_I5c6}K;cN{;{KQW()#=Rd6ers_Hxj675$lvWX&ZBm< zQY_F-dymUFVBs-lA2lb##&PWu>-mnHDuE|iz->N6@Whbu9AS9-qY(#ZOq=)a__MNX zsp`Wv!#SUM8xEGX&L@NBV4nf&00k6Pxp(2=emaY#To@)^qg&JPh~~7 zN>$I_rChOY(?L=Bc59;!R}lRJ8bA~wrEb{-u{~K^*uMAa$o^Lqb^FWx#v4wfD7OQ1 zLV-^nZegNIDk^l1IOIs$tzDCxp|k8?0=@pw(tivR{#<m$*<1d zWvA6sOg4+1pF^|Z#52TyRpljjYwQ}Vy&~)fZ{`j+T-pjsK4*6-YFbsa}`%}j|xyY9uh!tZeNVWPl<=ES+ z39#Jda%ruO;f&8Dr#62zzZX%Wr!#f6YHazVpH(JBUB5N7p~g4* zQ`N^Y5i*a8JmFEd7IN!N6=B4qne4r~QC|*HXN=?1`fZ<`Xg$*WRWYaDmM2$lA;jcd zO@$?;-*83UiJr^*@MO|%kjDAp?a8mhBThI}zj(f}=}VzWQpwJDTzr-kB@h@1nAZ`j+46uCtIyOv$51#5jv+Z zTZ{R*TZ;t#y{o{*Pm?Xb67%h+sh(sMG>y&X_cK1eGimkB`@ZTSWcmG|kEmg}{C$?L z*p7k&Wq^+)+q$GZ{@5&e5eq&yDva(t4ruTl(Nnx!SO#4ELH`7Z z@^qvq?Dk|zy-|@Hbkl3u2S8dSwv$N$6sB&O{xz&S z^*V9{TayE+&q^~efw{Zxyh!b|36IO?WS9^m^jBvkNo0-1Yw|5=DI6OH&WL^W34TULqAh;k)_7_?7yvnJ ze?rqfTX#hvtZhbPZa!u7Xe1dTsn7WiUY*~@Tij<;*7ihJnE%f5HMzS49ji3K@t&6i z)?=qn1$&Q+l35Fk)Q0}jti_kVUG{@m#2)V1GVwI*8cymAO&Z574n_l@ZO`yeoWd8q zymGXIYPUouJc4Y@U!9L)`~d&!zBYJ4>fJy*2T6VCQs9rTg_HSBV^$BsQ-|Mr(HB~} z6lK8-zVj-1y-N})G&-ES(zh>K_h{P+EYFl(#Ow4lGAgn&vb*Yeb))e-BPiJdLSO6vuk(MVA#o8AhgY_t zy(rsM@!a|2WqN8C%a*mq&%H~b} z###+#tE`C+>^i!;sP_N>AA5$Aogpi~wja*IJn~@N$Ere|pH-gSkfrD3@YfA{!$jnq zF0JUKdyIbq#u1UhV}g(iEEYKL3}F^_=TCMwy88Oiku$!ll#(TmW&aDZh)wGR+x zz_dSBK7zZ-hdzoio)<~@K%J!_`bo-aJO!O@5qq8T%K?t2dSltOr*&r4UYkMU0Wh!q zNy-~BglB};>O3ncc9RVRke&+;<~C;+33(erCdQjv4N2n3iJ&@R$+xd6!?uM1*nzSn zWm2N09DhF)N~St9e9v~AF3U(QKpV6?Y!})gea2JpL%^GWB@PQFGV|pm-@joX(wj(p z_dvj6U5f@P{zJBLD807B(cFh0h#*QxkHCjAzQ+uIA4jKF_ z<+W?evpa5z?9|`(LI)5z`^Rp!i=7zFJAL&^Na|RfdH{4L8&u2*z?E%;PIN=?-82&Y%%9EnX&{)62IB=BrxJGMb#;^;nG&eK=ArJP!xrhrtsfkT6is z*}H35uJh-dt~y&FAu~I84ni{acPKJy{|MrS?nxb>WKmVz4dsW**C$C2G&GlXeA!%< z%g3y)V6PtT{k&|})MO(5Cukz86)u``+k2;)BW-8g`RvT?Z*fdKllz9Oosnh*8v4L| zLr+f9T>9WZC#Z524rZTt?PB1Sv#Q|Hg-7@|1k1G9FAekkElRf2?VE=?3N#G~!Mxa8 z8*0g8`geWOz0)Uh_Z|bdZgmR-aBm_nDzZE7tXvvJulIzhlc94JR0`u_vg`fPrKiHC zWc+s}x+dD=@vYumxR_`PA2}xzB7BlU)uLqkQpjw~Dhl#AaDx9q8=Y6AvHOe*Q<;3F zT5M}z79MurXdyc+8y`M^=f}keV;6eZEY;38# zwco`D*9r!Id#5)hT>er2UAl}ApODpJ4SXSY<%Ry(e4z>1a|lM_GpGK0vHxUAA48 zQw1B=d4_LQySAmm^_sj6=>{oFMChqAVCn!?XZW10foeaATBzLPikkK`PkMV9|Ers-=jNP0g!_+ip5ixKFW7my-ZkPT67p^|3`|QFlNBo}Mt=S)S3dD3 z6VpAV_g8t?m4k5gfsRZ}b&m=*sO|pKa>^%BR|+IF7@;TnP;>XBZjzij@-2 zY8I(8O8<0$;9TTB%uxHVzam2iJ(xIi`%hIFK&`5s&l%F!ZOnLMhKXZ83!~S~Sk9Dd zIywVK)-$fw_&mUY-k$KjcXT$?Rb@eYTephfVEEzqFdy11FDKwqe-spb2-atVb$ce=mUEjRwBYGx%?dBW4-D~;RDc8KqT~eO(4rc_5n%j zkiifI=^Fk~uS^#9*JZ64)M2`AK{sg;U_KM<1WbyZ>Z52@t4EL&t65DgHb>m+chc?o z_Z-xvVgNL&0l>^G;xh0&;H^r+m*)=%1C++3dZb=v+n)FtP_&*>K< z=U!&wkW?+`Wu<<^p0txd$s8i`cQRqQHSh7Z59wW(C8ox{5^Zb!s{+iI2tx+oN-&ud zy7JWZ2?q}y6%U%5US6r=`#_tH?GOf>CY74})!Hy10TUu}Vrn4*l*{ZW zc9qjOXYv-dg!>Y^Xe>R{5!q&EEY95I(80IR2aw8Hn{N{deSJIaJVP#GCWOg`hXJ4R zlE<>>ymWgN0wrTa#fgb?T2PSmYnDOD{nU_Es?VHv= z&xk74#JI^1s^^R9@xXIjjNO!4Q#eBkrD+{u@1adpDPVa?W#aqJSg#BU$yK+ekqjkP=V&C=@H=3M>XUndCQ`Wh+2>JGjv&?yOlTHOzraX_ z;aMOqPk1No9V+_qq*1u!*@aX?iNrdsXN;fUj$#+COF3!}4Y)V5->PqMdZBfPV3Ap71xc_po__{EYBt9WCEQYXWa;3LB# z1^gE9z6UC~N`86DVgXegO^IKtqR)WY`1ei_lO&Qmnb%ggdWHUQR==IKWTO7$ABmM6 z$8fGX3Ge5Tlyb%ff}q3uA=9M-X#`ifaUIF!t#n{>q7wkFtx)FTqrvGj$i{K68Kya{O7D&@LpJ(VNdSw=?2o>7s0bz^Gk1rnO=*vFUE zZs!NT4Ul>n+8MsS!}n?(^L4xSP7@0(W@4`}dM|1+vd)7=+8e>T3NANtmVTB#pbLZ) z&y&Z#Ldq=kXeSNqP5bwAYk!}E7Mz(_YSLV)GOXRx(j;9L_dLV^U)SYZ(<46r z7L8Bu=?F0>@*yoD`0apOSJKriijB(WxAYU7)YPJ!Cl8$QQ+N$46%^P+&uJ*)O< zxYreAAXhRVTeJ0V1McT9g9E{Tn)yE+CQs$8cLfpp%>|#)7xlM@RfW_)ak}GeVAP?A z>K+Dp)$!W;e)sK6(VBIr296g>E1z$dcGf zi{!zm!^!(KkDXUP)l>hRtd`68s?9=QY=Wv+HZFZy=oUCLE%nJblVZHuLM7O861^gK z!hfmA=>9fI{3C;?DL-~|juWoixUD(Q9VkePVPc9LY%6-1U%y$uQZ>X-#Q$E|4kxj! z8d^4L=lC3z;JL~vn5LN|PLJ5F3g~c`MJbYik5I<{{6wSCD(Af9s}&EnUg+nhkHm!t zEUt+@>CzQqm*os-Tw9eH>;hhCmarxy-)kS&-|&uXY+&d5b?1NKJy27&gRLMpt&0zJ zp5xAv^3UQ8&-UX%Bi$au_e@B#k2-=gaAi&1bKB`?qAdBOG~RlAD-`%ei)s4H8|EuA`N{czGYsOBFz{9!w{6eeJ z$bIKWkH4b(&;stms{_2@ScJM8C5LcIK86%>k>h}*pH{`COMiq9ADy_L&K{YPW$iZ& zn+}d?pPume7M6Wj(_sbP$L=<+{T|ggT3=rmpuj45TG!41c$_?tLBaMM=lW5c7QKe) zQJo9olOF_<93i78&zbfYvl_Gi(s9sLiwo;{$Dyw4kesz6W34m=wcb!UoQOFjCk~y- zbnhSWT>9_pC7Ba;a#Fk)Lx!RgNfaWV<`Ypuliltgsr!G?m>#JKMBEcmQeb$X4;-cw z`7&%hv(uRL?_U&&=X#5epn4+zTj_-d_=J`JeZRCSGDBB!xB=SwN3L(5 z-S9uUMuo)=jw=E$J^zT9k=f(>v`ALqW4)Kz`!T1*iD!EAS--tA9O^%sP&6*N8t|Xm z-d#Yp8CLZx(jaw5f;s;C-patZ-Ec?a^Z?aSUTNc9nI;YUsffCDKghWuBT95bV zHwbh|yK*(EEB-1SwmoC6Xc@>R{UbERzfxlPXpu+JlB4wDA+!LUI1weWvow-A%mzZ3 zK_*2mF1XBvu%%P;g^1`r-Fava79X!UdeYCi^SPNNNLu*cjuc}u=394gk`uYsdfHT{ z^R%j7GU7-5DTZ7#DyisCC%WsUaQ~<7`;K>s;|_5Aoc*M~&0o!@9vC9nzhm(ZHyDKK zuGZ#9I(?3>nPM)S_@9~L2;3RNKFO<}KPwZ%sHW%cw|FL_`vguGqQ(0yQ7CBXGgY?l z*skDb<*K1}CveuA?$hyGDfgTrzdLVz+IsyExd#7b?XENVvut^#6rceoB0$I=txu3n z9+4>HLpoJbt7v`itjy+yK%;Od^QqD95mcXXPmkf|_w;o?LEhIt@wE-=Dvd2Z z`>*{%Aa~Q>$0HT4TtGa#$%G|(*H2)6?MFZkO#T}o&adC(Pgz3}ZL#i=kp@jD0Lmw# z#R%HDadlkU&EilfDQqMR&vw@7->SDs4Ch1Tmd;P_K&VC}5a+QHgJH2L?VkPn&1{ry zo~OQ3$&ruO$?pO_| zqr@(7%FBA1R^eI0A1#T^?A)a%t!DCEh&k9=JXMYrCZDt=hsjTPT4k_z7Bgbu7;M+a df#H=oWE@Vgnz*(r89-jFhN_MV`jJ)G{{g3^HNyY^ literal 0 HcmV?d00001 diff --git a/public/build/chains-list/bitlayer.png b/public/build/chains-list/bitlayer.png new file mode 100644 index 0000000000000000000000000000000000000000..8a382c5aac00a8e24363faed46dd28031b55c0be GIT binary patch literal 9203 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/botanix.png b/public/build/chains-list/botanix.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1f63036d103c4cb4da34beb17d50489665460e GIT binary patch literal 15074 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 X{6;=_H)QB5O~1PuI_hO=HqZVawl_x% literal 0 HcmV?d00001 diff --git a/public/build/chains-list/corn.png b/public/build/chains-list/corn.png new file mode 100644 index 0000000000000000000000000000000000000000..87d46eb89b5b05ff2d9a8505aa7c6b04bf41e0af GIT binary patch literal 16675 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�+^0ozH)2A0;`!l_Nzoh6`_SZbX>(=XrU{Q(9iE29Ih0C3~g>y}FnZ`{%Cm&bM;vt88yJ-ry`-^>+zO z--c@c)a+#So-fCg`Bu%I9hz=7$=Y%KIbaJD0(g#}n@~LQ&d0M}rF~!YfND%*E7pdm zr)&bZx`Ap8dX|^8?OA?QxVv}9VyiWvSPV^sCl@kF&?x-qS9nGv=-9d!iJ6JM-5~SaO)*bj5k6$G1fvxmNsjpDLud0UCx4 zD;=-bc=)aJRD0a-#W_W1#Ww-S9y?%3==y4l&QA5DmF-@l0o7h|A=PJ^x_7=X)LL|I zo6c(qm>;Le+S<-N|GaM6`t@;F*MuzhY2f5ub=Ya)S9joPC?ej^AiZ?pEQ(Qyo6^Mg zqMdJog(dykeZ2x=*X*wTaH7V}=ziC;zMd5)1i!6QJH6@I>*DX=o!~&vOYG+T#lQ3l tTkWZ*#p|`ab35E0_g}lVir47mKY7+Qw~D;)E{Xz$k*BMl%Q~loCIGSMwH^Qf literal 0 HcmV?d00001 diff --git a/public/build/chains-list/ethereum-beacon.png b/public/build/chains-list/ethereum-beacon.png index 87cfdf8fe0dbf0781700ad767e0ee13d5bbab9cf..2633c0493a79db6fbd4fe3cee1718c702cff0c91 100644 GIT binary patch literal 10080 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 literal 9059 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/flare.png b/public/build/chains-list/flare.png new file mode 100644 index 0000000000000000000000000000000000000000..89bca618822aa8c9f90f8d168d6b8a52e919a138 GIT binary patch literal 6913 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 D@}(W1 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/gnosis-beacon.png b/public/build/chains-list/gnosis-beacon.png index 991b4bb286afa2236b0a685b6f68263eebc0f21a..ca4cb854b9caec8f66c9587535863eb21a4bf5ec 100644 GIT binary patch literal 10972 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 Z-tif3!>hq0pT<*pAFJ!Bm8m=p|6dk0E71S| literal 11047 zcmdsdhd&g4{QngnDTHKX9Sw>^$=+o|A-ap~k&sPibIQn8$rd8(>~*%w>N2tq+52!d z=Wy=sd+7W7{SCk0Js!rr=j;7?yOsr zza_=$c*uV)IzM^k1^}?!I{7)Lu6uKf+<4ASSM3p?xQBCv{Dsn5NmB^`D2t&vHvbO* z5NJ?WRswmRTc0#8{03>{-y)5TzkFLzeoaW~i=tt}R`8N!_{Ezo&Ue)s6Z^8l{I&wmH!0XHNUpNK*x3S8Xk%_eXpc3y36^ zsznmf-+p@Kbl_la0@ZhHcacNLaMT5q8j({-j-_}xd&)g-@U&mBvuGE&gcy8hHmU!d z>l}8?o|F#Kra0*<^o*h!t|Cv0Zh+gmuXm?48Gac;~ zAe*G>-|SaEdVA6vP#yQD!p<7Ho2zGv;M26p3|~z!m22Y1;+cdgPX+)4huex2e_evb zaIU1w<9p^6Gzst2PiYD;Ich&P9riVMEXL`w_y1O^@*g^#lG@25L0oSsI~0x_tM>kp zA^m9eZfiT%s!d-s{ogF6!BOR}nIql`Vi(v;F8+{`B+^W2%oA z2Nd#h&bVRjln?WNp;GnsR7?Q&;goMlgc7Hth&c&Z{^=ez9iI;^?cm*iuqNRO4LUk< z^?b%(PU+9^%Iz&Y>|$;Q6331#-|P#XaXoni^QYTr{}*shVa)$@U|%`$xJ=Ai86RV= zQUwQ|wpA9{kjh4nvT)JsXVb<8F}MLJ85Qe{ z{vU4eRyz-n_Smb+TItVCWAl|uOOx4o_uf*C2&hJ^Q;YWWh$jj_qk_iMk0LFg`!Ja5Y#EikRjkYpZCEUB6LKn`$alOyT- z#g(&d;xUlvy2Vyo%msy^QSsl*Tu9p!M3SGt?i zF$WV5I4-0cBhhy~?%g#;jsjg|ucBL)noA(Q`!#7k+lTKC+G-6FMnAR_3m-FeC1!LpdCDIk6~3lbJdHt1_x@FHKg2D^lH$|2?~*!j*|8-t?X{yr`}gXJLy+}r zShvS7aC`vI`qf6?J$;39fN!C|4^H*y+&BeVVf2Sx`Oo*{NSU)GvECc)tOFxXqh)Kj z8<90$NNm-G^Wbz2$A;CqvGbp(Yd8EB^lV845Bk7N9hKWxx^~)oeVeL8?nK9YiH}W z#Z%`w0V%)7hCp;Wyf$a#<^(_V^HE^*mqwT7L#l)Iml{1Lc2p0TyJUs<=<*Vpdgpv5 z{~px#Aj0e`#$GuOIOe4$Hy0y2!(8!tv=Or3=b$d$3MPcRVO8yiMBVi=d zApT3|ai9Jkf>y%r3o#u3M7L|=B6Nr&rK zk3tJvCSj4@4iUQ*9d?elqtSeiRv+DeqJx9*QbmLybpr`qHxwP`jf~V!h#5Lz)Q5v} z(k;lGmVxZ+iD7*YxfPsN30VTZW6ZNUgS=qg^Oe#qiE!_WtmcsMW-Z?-vPN14TX136 z6%+Z4*Ae%ane3xs9q;P{d%4+7tj8qN9tSn~P>qC2w^ikIIQ!*`Qz2h=HeLkir)97M z*x{qrl}UXyt8OWmWFzDY2Vs9i-sP(Y_VeNX<|~&Dx__$o5eXew@(=TK?IHqmQ8s0r z`|C{IQDggAeM3^rBT2J|gDrpsT^$_-Tm8xQg=B{ylnM<4z|3kOi@f~RINy27I_sWB zVF!6kYNh{VeF#+kc#fv^xyul6>qg}0&ijfBrsyAaDtX?`UO=aXMt(6ZwmM>^2b~Ym zQ6954n{MetUwv5dQT0;h^~hS{F!Y+2MG1AIs?DVw|2`PnKacS&N~8`(JlBOmUkkkG_yjcHXZeR~W#R7;9zF4cLwx>zilRcy#P zScdqu(jmJMpl^hcNRwnmHp*X4KRBG7QuSF-^Z8nY_O}t()C4F>kzbF8H$Oz`9ECY@ z1`RUiI3SkYoGvX+9j6J?Qbdhsv0A@j;Q0R2qolFvb68=r@1~0iwWtOg`?&0*wsHnR zxEIK6DMV)e*&4*>&67sS`+r&EE@) z2{YFJU`F2_!534__9F^s zsu`Pq{^$7nVIZLI6E(M+zfBCoeCN8UhQerV?!y3DomcGdk+=&bjc*uy7mpcCK;7cJ zQ$EQC0m^1y>SY;!PWY~GG{Z@*Rsqb@h$SH6a}#tjZLL)B(T|DFQMRGq7jx$hLKlT( zRO7=f7efl%FAMHW9+@1=*C z7Vvx?!Ilu)ivSOjv-U9N`h=11o~$sfKpSR$dJ*37o9;8W-)dOrh`kIcvuw<*?SWdr zSEdE=JJyftM}-Z0*c-vhlvXnL5al}%sd2C5wx)5fcCk3TW0~=jsTY)js6Yfsa|Kt> z6E&&|c?Ofz80Db<p`&*#dzyTgVP{YwEmBAyONdyIniYHIblNq!_apjh&2h=??Kc z%I-K9Z(ApE4&ZfSRsvFavhujO#O@luWqa)hQG59b^}5~u*%}I>Vy)Hg7%K8^z`wh8 z^E1bFx%lnmgKn30mn%hboe!m&UrG8d91d)<7CHR_qh9hpY>d|Y{nul5E21|SCD5}D z!*s!Sg^MRh7q}0>$wS707@Hml+0406@g#%`ET)!9=DJGa@}ri0fax-CYlt~Gw$zCF z;)6Gfm@&^Umh2m3HIXN)$Y z#+{BhnG$;BbJFZYW4{ zANEYQ`BlwK7EpLH9^$LYy2{pPkRLL;wb>Q8>cDUCTDdD6cF{fy<~hM2Wq@2TwqCtP zOXJe5s^SM8HK;NH7rkgHE-`t5k-CD*9`&%&j%%wj|Kj)M#)hVpwh;g@$poTMj0y+V zbt!*xc}1b{)d|0#vNA*53Gb(-O}+$cO_Om{mw?V3DV6RMhjLCR&&OOo4u{i%d37m` zta#PI3r2s~C`)m|m@eohH~#*9&@L#ru--4`bWiYFa4@*86ux zqx6hNysNy8ds6WpD`x6!%t`}7c&L$K%miwo7!Nf$B2Yg`@zu=~l$v$!-_K&8aNiDk z{A%kOsv`@I_N>c9dWXJb)eOU|47(|O{q>otRN^no4JvwAJnzQ0arsx15q?r+f)66a z$xqDBWzdO~VFEx*;?)wnRu*=*MU3;foX7BRac1W%Yk{Gv(WvwEngbdN+Yz%8qIEs; zRvRT0ZBF)$xfdB~F|eR2wnK>;#z?+4xM!&az`hDDb1i#ajkn;)GcuRSH9g)|!{~;E zLW18n4Ne6xg_ou&&@!X6vpMp8fWV+T8GEYopYn`Q+UUg$l2c`Pr>TOnOA%7sIsao@ zfYHrC4tFE2u3iQQmI^m#VRq!+$N(55&wf!U)nHC&L-G zZ)7<0_RFA}d)F)LToliTC>Sy~f`v!3;F4r!UHQtz%Il%|sSIVAuwh(O~p)dZh6sV($tEg7m&#ZS{pQr2AzR$4cjHB%me=ue%oe z;GA7`H>5IViH{Wej>*RTw%`xdE`x*E4|@?cq7J45b1o7)zD& zpeu*iJ-hTu>F^;fY3dy4^zQYqy>axjIT{t>5S$q9?RQMinZ9=q=&DbH( zpu#i~=E=X5z)v-3T%`8x#0V!}v@k7!n(I>=5xjBoAO>AUB02 z+G&8nzTokgN0p@8FDgl9SXZa>0dXqN=>TFKE7(J$C?-|SSn4R4LBPX)3JFj!gA~Ck z7v)^9npp4FE8?7Au_{bfN1*$Nxpko>=#!cm7e*i5=BQKFXz)1Cf)q90>uZ1_8_G|E z#QC2$CaYU*2advr)e7V?)_0~T0g+l5dO!xtb|R#b?=}WMMt+USa@AvpH|%)JC}9QZ zF3jnebD63z+t{PqJD8C40yi?kN=1(>JSH`+pU)QU)i*+-O?=H=xS%A=-d@E=KK7X~ zMcncXTWFX-{S}AXb2Ys#o~0XQF>d>IYY4J`E;a!z$c89!IVfC`T348pmG=JIKcFa+ z8{=j;lB5F`!V3z~EpQbjKFv@!2mt)-G<&mS=$k#KF3hBZ6aqX{IS^&!k)KTGJp zHL199%_)v~+o%HEnt*Y%=h0mKhzSCQcc=JSd4e!B#oq++GlFu#MrF+3e-{fjNfizl zYf(P-p=!1WtMhuWR;uz)I;CAI2_l{)s*3+pC#-9h(wZ6O?$m2l{P=G_0c|T0p(!sP@kow!9 z{y{0#^zm~1wYE4PukgC??FS|L9&@x_*Fm;-~3BAU)ID&{%QXo6fg%uN(- zh!V5dz0h-KlITDe8YRFV5WO$0c>(n?<}0qHq(Xw=Y9Uhc=k#egLCrVG<{7rZ&3R0A zvi5~@bry+zMxb9gU##pOgWmk2Keigb{-K}jC~r4!dfQ$}5j{Uc{WgVmE3Jq6!#K5t z77K=x*V-Nf>u3p|8W9v)jugPqTsSvGMuz#c(piuvgMloXp}XRIsds&JdE43o1jX{A zo72d+DHE*1v@T#Ve&Wz}`9s;M+J2Qu&DSxZ{T%7BE^SRk?04<#c+Lo|BL`K7as+OM zi)3}EwG|xQuSNmusfRnSu3zG-!cN41n)q^c-L6P&B5DIO>KJC9^_Zy*j_2Qr5V9`L zmnE_A-znq5!(;Kj4+{GnlhJGqcf$xMS% zfsF95Rn;Uw@kPd$dJeg^>lG=2*5z%1(9|9lIw=^;B*MQ{u)mQmq(LftAJ`RUG6IIR zY^bjtb~No_CuQOZ;lmPRV0N0iIXnX^eY}#0WxX5X6r@gJl08p+`1L`gg$>CSTL7{{4b{8XXUK%U_{xu+@-Y9jgO`9%DAlcP9^MZbE0zL-u5oi|68<)`@1=fEozqnzAKT6 z1&%88+vU5w-uU7E_*=OTJf41xHP8~sMffq{OVy>2R-gyS*GaMAm|k)y^KrXfn!dPX zlmmxD3XH1Z`qrfP#>cl(!;a*jX&+AIwY|Y??%V?~=CqF0 zy3WQ6K?Nv&$KZ8sj>y1Z;l!*{WNHYaU6!sF%74X`8 zwo~y=^Anv8-x$9;Yw>WPXGh#O+3Xm^;tyBl>IeEq3iySh7FUj%u8y7PomV9h5D?Nf zKgcK!ssg-9wcm(0#~K~aaD$7i))iUsdGeq4r=cD%*%)%ZzZH5&NQ6*|>xd;Xd8*#B zzKh(Nrj0MSyTIX*f({bdPKI5SY%N9oZpGzt1&YW^B!=T611exukH{htDPCUZIQJ4& zD`GTkO;0DN>}ELE#?xC`?fA=o1;)A|X<^7*#OB(YkV-rlygA0a_zYlZU4De zeyWhp=s3yhEMrYA(&AjhpGG*+nx0>~yP+p?z*6ebzMwE(*DB%%11|f->Dx+#CBMEO zjY{M>m}>TxPxz}QM-{c2_T2Nz2}*j$K$h0y%tD!E4of&5ezt}3DOzJ#C=xL=G6zvNde2FfLeuirK;vLK1c^*yhqmK!HO5~J~DMVDVc+hJ332hGBZqV0TS z{|@Y9$q~jHc}FSC+QXvcCbGUPp5{*At*Zx0G9DJq#k4>}Cy^(PGKJB7Zzn!UUyYk_ z2*JcsV&+48Yqwz-17oBucWM4(Jqq*K&U}%Q`gOJMHY6QBZxwW9K)Edc`2XC+uh&^&q z7reHKt$s4*GaMxOM0 zCq>rD5{fJ{!d1yl3By`aWPz4HXX^toV;a=?k2y}WM0;d!f<;A=t$D=(HzB2qnBwfW z_8jBWDtz$PY00JC{jWQ*-S#Ad_R&9`Retd{H=)EWg_XC%D-hS@=bSp^6-hg-z{h;N zhL&*%)}iHj=)xT|D$F<&k7YB-w;-u(;zyxR`4|%+_oWMN^*4C#beC)KUDHjBpyT_ zNQ+RrZgK^w#cI7{?P8CM+D;q1;(Skzew7;c(oT^JIWbJ{FX=G3Gn+pKo$t&CIg*Jz z5#sRFjp(ie;_df`1H0l>?XCso+Qa(+%8ZpHbhDJ#2!)3=9bc-(U2=}6=M^*B+$jCm zR&yHDzxbG4j{C@V>CYkY?gIIb*NA*3~gm5N6fQh+zzrehTJ#I@=N=2z%Tk zp0qc{G=h>awVv{x`UP3)ZfOQHT#|YZxn2nTzXcHa#Aj#qFqg@aJ}H}6{z{I$kv{=i z{~t6A@#JkN#GV`nkij9GpLbR~^OWqDjQH@K)t|6>uOuZAACaE_W5eA&RwB8&WaWQL zN0x>5{3Ql4!m|IC@gq!){hj{PU80U7*TIoL%Ri5|gC92@{OMAQ;ktJ0>V3A*KBrgj zQI&P~U1F1m=~)wt(2ro#UnQ*>b<^o2tAE4xtlvy+4<7sx$up58_82mqu32d#&xKI% z=b}Qnxiu!}_WlSzYkvJny|>5^_w3j`=b)b0(n36|Z~24Co$4-X2ToDLv@1!T|0-)* z!{NZ$s0`^b=pNn=j5=N6;rcMyMkT&F`W8%VDf(CVGnk&9L_%jnw{tSQHzqL~qWRZP z2h(}K5Q8L29Ww9k?oO+pHa$mFgI;{BrbI=6QH1m}2IP$x!tx()f=Xm}#_Uqwu)cxH z9IUULtJsG@`rdz~dd=Glt#Y!>|12v736ipG=Mmbe5v=H2-K5sq@#M>4G2M z{z`>1cWkxw!PBTC&g!F7@2@>2Owr|nm%19it}N=s5G+3Vnf@z>(oi7G$#D$(OOwmQ zm{Gxph{8i(h3x6G!`;6B`wLVC;s1x#)ij+8)O%7+)xnIX8+VtfM!rfSJ z;YDJ~8aYXAs_SZg0!&~KtA)~3J@H#g)%jCm^e02WLxFb>8ZjgOnbDu5hjeushsg1L|E2Lp zlg+bIu>e%2!U3sw$(p6ONHF8x5I2aGa`^Om6g+}%A@EE1U6L$r1A@z@ddTvB`UJHQ z)7rvV?-lD^nqATuNYU6vHt(LY*|(*^TNSqZf`QtNH&00r(LCZO`j|rb2=?Za$YHOeFSZT}lO!%c1ZWDv^##LR@5=N;%_bb0q(y&uj zS^8%1nXq4>L@ZGp>ywM~A!u$FFmRkqds*b4$xIl6^7*f0eR^qiXRVKD2#;w9!PW!G gdtG(>s+>sD1)EEoU&J$I4^Jkjt7s_~KQjC9KR^X8-v9sr diff --git a/public/build/chains-list/gnosis.png b/public/build/chains-list/gnosis.png index 7785d31d2decccf4ea7234f80b0f0359d16087d3..c90dc535deb43a89b33a5bf880746da67d6429cb 100644 GIT binary patch literal 10026 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 PZ~g-{9o5qNb`k#z4}&9z literal 9018 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 B%-#S1 diff --git a/public/build/chains-list/goat.png b/public/build/chains-list/goat.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd49bf656a1d4ebbfe4bec9c1e2b21ce4f5ea15 GIT binary patch literal 9733 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 D1K7Md literal 0 HcmV?d00001 diff --git a/public/build/chains-list/gravity.png b/public/build/chains-list/gravity.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1865b78b4a394cf7800f58f737f29c7fe5ec58 GIT binary patch literal 15557 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 JmrK5Q{eM)vJ465g literal 0 HcmV?d00001 diff --git a/public/build/chains-list/iota.png b/public/build/chains-list/iota.png new file mode 100644 index 0000000000000000000000000000000000000000..6a266821df5cc51537d8e0c4116768a124dbb1e3 GIT binary patch literal 12271 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 X(*#jv4go}LAkYgrCE4O9#zFrFo(k$g literal 0 HcmV?d00001 diff --git a/public/build/chains-list/kaia.png b/public/build/chains-list/kaia.png new file mode 100644 index 0000000000000000000000000000000000000000..755c84002ec45a9ba88b110a82b7ef5bd2860de6 GIT binary patch literal 7955 zcmZ{J2UL?u*MDrwTG?GuUN)iT-Um?{xGVAZ~&?S)GQ|_Q*|x zA6tV@*`9(x>a%yQU)lzN9IQEi_LNKfraAh~k|zk*=)(Mxsjf*<7o(vo&GyjHU*0Fr zKJ3H1$Unr*+UD|)*S0VVoZDY+8tJE>KN;Vxexd&I_7@(?F?YPBye^!Ty7=Ue{av^2 zh25tH!iP$U^F1Z31b)euokIb8gIFa+@F1Qbh1gRD59;aeDN62{(OXK`SX+}Wg4~vD zqOoRHDYQp)p9g*0!f6rnzUD&C+$JC}#BX7^yXsw-qm)TYQll-++v_nuz=%F;=--F2 z59&_OJSAOWFlQ3Kyy~jQeOwh$)|b2wwOKT=-Eekl^U85r6)~ixxHXYle5%{Wjj|t; zO`2}Nl?~BbO+}+1HYFMted!i6O&Y<^eHI;v!f)%7Xj<@#t|eTFNVO0TBXXX*TVO27 zNn+;M&c4)>bY`EM{T9(DT$r^y&gvjWQo;NcalnSyYP*IL(IHV}4~(DLM~CFG_ahl7 z#X9YA@%XXNu6d-;{<@;p!$)-PJD7P`(Cvt%LP^n-8=pF}repY5D?MPapmPG(&r7kf zchBt>bGtZXKHBZu$a|ktPQI6R(UB;8zdl1aX|^maR#7`yZ&vA^#VxjmU8Hf;OI`%F zMogblO&@17KA?jm8Q$H@qovnsIK7o+by(gth1JI*#*lW_K4o(wS39${0G3<1OU=Qv z>?(c~0-hxPI#ywqm`mCgSv9D@)Al&8?j+vCw{Lh}F@wOHy=tJoyk)-}W=$7;ckRan z>#Lv46GEy&$vdAv1gacc$A*{uEMDj|7qxiv%u=22JO8$?nd~jMnLZ=WSMQ3awVw~k zU>-X#P@D2k=lb6jiO&))!(gAxLOL4H{$RT)sG2feZTgX!o^8nYZ$+D{{SZa#FIys> zmv5EW{w9sR;mziR{1DvlXF)<=lBE19`gW3VyA^VmWy*;@b+Jxve25?X_0Vx|M>F4o zy6s~2nRdvn?`G_mvu@*R@WsE2Xg8iX<&i##48^}0ne;9_1dA5W_RtCU5sVqgH$55- z2@y}uA5L|5Rro)@FFH5%CXNX-|Cd*wj#sa(@5=_=*4(qgK|Pl1@=g9I}f!KGOVF@^H948<5x5NdlkhX02&H~2lf_wL4(?9ofV z{t)D%qm3CFDQI?p?Y9@91O%d1T_vmbNMny&VN#6q*J3fPT?b2<-btxaZu-Hy^C5<% zsY%16#E3up?HUF_xZn1#AG_;(q=el`exza`js!^O!z;A8K$_skiZZDwl^TQ@+aG$> zR$h@W2^D(?#NX-P@#kv9FMhcH@VoH;5<*lU5IL4J@pzC-fy+GArru1g+=tU!u~Ix6 zX`X*%F1Cm=cQr;S95EAMTE%}6rq-&g3d>C$qOG4_IWbTD;ysY8u&4SRn{!*J+gSU3 z&8Ts`6{ntN(z6NTmj_n8Az?Jk$p3QU(lpn9Hf(8QWb~E#+AvmkhwV!66I3{(zzbDS zHNY|cvL^Xlp|_UVMDP&660UJ6MLnLIAUC4-Vm3iM9EZDEwS4!O$hCZpPR8EWsaocX z=EfBIp9cwqgkb5XLVJy;=J$%m*F~sP9=3+c%1zbEwzZA5sO?}Gx|u1fIwuVD}IOExT9Aq>8o2Yn8R z*rS)k*vVgRYT1295BC%x!oT!R0hOjRz}UY(!k86gyZYCz zP*|%X1fr#JS`Px*JJG`|c-=*Fx*nNUk1>QEAXfvA?X&<6m*Lvjx>D95>Myg=x^CHc5a-x!K)9S0@UmxmTJUQt{T9#dH`4oH82m(<( zCkvF(_-4*lwljY*3B)DNTP*FsSBJD{%LOioS~m@m(`gDG+D$)QN*X-3udbErmz>* zOx!T|KUA;l7HPmyS7vK`3-zr;f~Yxz$kImj;Jc-0@aOcLOUwS;jTOz9xK+)D+V51Op6-5pXa2I&V_IoDc=S10jUE+2edk==H0;Ei=f% zl#jpySAQ0*cM|&eu8vck3LcTe$Jj`F=_+U84IX!=ofwk#sPW-Yh}`+fjg@e^_O(z; zbldL)WOLhUWa@_#0>5Op)jvCST!TO?MF#cQ6jA4^U)W~41Dn1C_vA7(oXSz>pVbL` zQyt}R4~K5v*{6^SM+o?{AshaP!>n`p7m+D^d9LQ3jUG7GJ%yX9c@zF%WUNGSh~dEjL&Kww9y^)36bV~Nf$T~K5c3_{F`jK zDLXmh;c|{(Vm3kulD5ol5%4GumQvfOwM<*tTbRLn))<8C*~gr^J#EC*>CbbF_S1bs zx$<250DOXPXLv19y=gh+s02AX(2LtBMr*$X9N1o=1Hz!KjKKEoQj#LsNTWwfUy$4b zN{Z#WpK`4UgWpf*6z9e$4KP0u>&pK=CpgK|7a9%l%8Eg*0j6CL<&5pmu?c55HFfW< zxHQ+SYkIn059~xkoxi6snwYIj-sa=}h_$TiRlIJ1=fS^GUzosQ^NX{gLMu=$%87jQ zbvJ&V(!*!zsL-$m0nV%Hvems7>`0K-hTFRa>95R85~0ODgyXrmt{jajXtl|&OXVN{ zyF}SW@m=f6ndWBRtL3K518$BstabK4!;|%!na-s{BcIpG15xe$6g3>iky7joc$3KyCg`ofA^2+?_3-`zT6bs=oP+6lBgqNMmD)?Vjffk|mi( zR&98R-#hk6q1&zm3v`EQ*R?>sPy(<>YZEhuc8Gj8B()>FkMdJR;t2o1X~w{-V^KOx zxV`zOH4caSOjFfS81PA*yA%GHs0}7&iY5kG!L4g&1i9TW5CKv>Sf2*~<)|;YEXPqt z;pMRaI!t(hmpGX700&)U!i8tXuRtK*KZ?|?T}+v4uIJf*3Pl7;9dsq0VC4yobH|wc zRap`)+)lG`ZVhg~R34*ZIFh2$WH14}x)t*5H&IOZ>y*P_k5k;3!!(^8UKoXU&6B;4 z3vVbaaKafSAd%k8{qQv^t{+<9+$D+*zqLCM$hUV@n<4EDs9t%Ha!WLrj66pVUvoVg zWt0=KPqxV?j#bNaZ_FcKhPg>+Q!ypwDl?6PtmKCR6lb(u?#ualLV^`!As3@MTL8{po@}Zj`V_!sALBT-@D^(2Mq{A9Q_Ld$g zH|9LI*5>qM4xug~lu0A#gkUo$4bAaE`USnSWlMW?(piMY1dF)7)7*e7EqmqaC{Bir z>$PD@ZQ2JGmqF~?e=pp~{64fo9QxF%Dp4#fbu|9ScyI9?%5Ke?-vfah7eTpNrQ%wQ zwcvG!WoqTKmY0SFuJd#E=K|I}Kn{?`)O9OSuk|jxT4Xh%*H`W&lw~pmRE4r{Fu{o@ux#nO`w3AUWD6y+oolv*=Ff7NQzwJ1;5Hr)%F zNpdDIX5jP6jRlRAWUWdqXYV{~4AyDi0bS*lCI#w;I4jG*Q0~NP13G(`n`6f3YW!NU z@V;Y_3jXUjTXJcT&6AcwD};qFc=-$>VVPih;{iGS`7-I zx3ag;mqS5#=eUw8bqFXldkaqS zewQ^@f)3i$6W2x}58##+EK!w116dIqJxDwHpNCM$jb90stG76}anw{AairXg>IyV5 zKHJev?;{;6I@@?;FrJe+KGX2@`c=c^gLZsFs`050N_? zu3O~~4^3u&WiZKd;gRIa@@%VBj4kpv69~jNU|9mvz9Y(!YqD1!P1Ddjcr~J13!m3Z z#n>>;?alAc*@YNcHfwoxm{QTrE^*$V?DBv1=PLmUbj+q=+=RIhj~&Q}q#Q-{mcnpl zy;^*%tC0Y-0>zhb>Scz5XQP`-T+KC|N%^}bqSg=~zT!bu)4rAPkWUTMXw%KDg|=Rj z(IwqVm2EFcNo+p;#<20aUA}V;n)A;GgJ2nW^AXT**o)Hy4dc$lEv|ZQ&%!qa$zb7E z4b7-cykHqnWCb^eE0q^t>TW`8`&T`CuXu46OT1bSt6G!}?eb4v&3-+NhBhYDr@MH9 zx`z@zxL0*)uJ*qh2~$Tt&-e_@eek%eVwZo_OQn*s;gxgyvE-@_rL0N)2OF7el2Apj z98_lQKXOhZW-$Ljb(dDU&FxRlxs{%{29MlmrSzhTtRel||2qmmxCq=nok#g}R@lmS zVxg`6^_{UJ%S(xf2V& z< zM77&n=7c>rJHMx$e}+#Y?y7`V^Epg|MsLp5l;fbkG2tZQbCT%0yIl%bMpljPDPklqv_ZzO9NX9`> zhlxDU!zoashH>xiq(P8W7QUPcda~Ke+#Z|ayOT`;9*BOSImjoCd7KcRf>f&S?Jlj{ zojST-OV}Gzga9@SiBf^F>_JK#)fxwLBm5dv0l;>uA z%+9jO*QKz6q&Vo&5);%wP~Pxo7({4v1PWLdiiETw<0vHOc`|!^JoEL&N@a6%ijSi5 zs|bxY)ynt2&56nLwW)jrTEOc{B|wf+yl*)utLei|0PjzH_8 zNK?Jbt>_dxPzN(6*A;E54m%rRP2wyA-IqGAx9}thxkkt$FsOx7_izJAJRaz~#QIO! zPYH89SW3b00zphyMnxtE0z?0i`%q!rV1MP1VMATl7f!Pvrgp|G_SyFF>l}~wZ{-E1y}>$FN`yV!5O5}1%}m(R z;9LTva*97VB2go_l2)4o*s$hSo;qw7!Q@Q~cH@P{qHVC(DmjzZ+}9h7SnA1if*LbC z+wg>SryiwNMS%9**A{AQ_Idr(OPKp}njcpXwsx~4tqe#46=~ZhDCUyJQ%2DN zcBD0(Lw&~owTWB>Fi&mbMDCmsVLeB~a3jL9uIuJX-A~eXW~@AD5q-|2W#CO~=0!~c z;THj;gCr#bxzXh>$`~?Fm0MqB^ts30Oz^k-vclijT)k>9+XTAs9+!H(D4n46IT-HX z{GI)vG#mJfCh`4E*MkP;tp;a~scdc;9zL5yWZ zSI&sHFlq&l%wJFjOC7Mh5%tlW*S0Ig3=B3G4{ms|{-MN+s8jhNz-rzK{!kF#8E8z4 ziRMZuXY9V28y&aW3%BEri{$u4Bu6)Xao>=e;F@Jc0UZ?hXN*2F?ni^>!c_yu7^D~P zD9KzRm-jLkO#s@X#X0IEjqJ{x{WaXuupHK0!Fw)8eJWdEOG12ogdVlcnQlM5kKT26 zC)Oa?c{LL(6C&;(9CB1x?rp={S|WRumK%;6tdxDQm|4@&KxNE#2RbA5wRN!r`|aia za!~XVzW6rC4mYaiciE)r0Cxd}ix@R+p1pMw>Y*sXK~kW!UMynhIwL+LdiU=`YG&7& z=joD>_o9a#yvwYylGmCr&vZ;%)=AzD#ELa(S_x2>BbQkM6GVZwP8^z#9t`;i;`*h1 zQI4Vt-e6^8+E4D?OVH={2KGt7BS8D6($f>ej%3ICaErZ7xjioW@!rurDo7p8W-i{58|DA7jc`T*kp~oWDCnL4r@(Aj>7oiWgYWCa2`aNzzB=f zCwW0eIL%h`0vBW+a3}3W|7|nnQ!gJUA`qKdwnfSsWT%<(_fwG(iC1G?`=xw=hy6gl z%{DAY5N{Zqh6Yt>Hgv-(f+KK1V5x>wDH>tyyGiN;j2C&{-Z3+!k;I*JmQbzHEKT$U zQDB%PJ>iQs z75yM(o5}7|VRX+n48c8ED$Zb@Q#OwX8tIp^pZaqG*sCnn zqR6V?kx|wC&kFz>@Z6~X?f*x>rqnS0J&(@z6dfXn=2s6jD5cAb-*0G78L%6!qP+e+ zntrdxCI*4R06bcDV#B6^Vw$UpJ2k_K1^kF6rM;Oe4a$=&qZMs!7@fIp25$Nac}`Dm1) z#~o9bOt2|c72l6Rtj9XA=(U5tVW4f8;h%pI%VarQ0ch!a&93!+c|*fiwNw$B0Xl+5 zYjdopZ~P+%SlLvEKmz~t*F$1*rX^}6eXj+(bv(yBN?5Tf*%Y3XApYW4pFTVIEUxdC zB#*P0V~%%U_IVGZ{07w!(~!QVRg82`e-RQuK-WfVc3~k3f~izaXGF+p<&E{KA;c}zJ4Hs zb5-!zjSZ)q*>FM~Hy`{n*aiB&%xta-UBnl0ZZ1#h#=dXOP?EBi zeJnE}+gQdvwlVKLQ|062M9N5cdF zj$pw5t67hNzvXY%UjqNIJ<_rA1Aw!_^dF|XCYP7NK_)*FZ8e~{>--$};jrr+gF66F zmT-K};RpZ-0CzR+K%O!!jw!#fnW__Arab9>t#wKDz3(HB|_j-}QGSlvenN`Dy@*VgfT`kB|~>K-_45!BY0M4teLWL|Mw4)Q^=Z`JJC*JOs}O&p>R+po3V z$9Gp>?GVtpi55m(%R{ZD!_C$XG`VTmQSCx5bgHjU7LUF{N;ce;Qgf&8dWJ4{LN=_X zHfAf*j4-Gkjg2`!iAK_qzU1t~^m!nuz@1wMom0yTP7^Vn}4QO1WTbo3XvL zxrqNElk@xqY4!tjuF{SSn;GO{Y_xfcT%e{8bOf?2772)deln{ zbsHAo+}IMunDK->Xmjl<+H)78P&JXSvyeQu5W1<5hU zF`t@Bz{-vaGcz`OynE->xt}U=)#8)mMyqZOOhe}+eM0rfV9|5|Ef}e2Ba4cMk_esg z2Lib@>^6wq2>9${c%%1*w(<5aFIwZl)JCo6k?-|f{St_QZcc{uK2dSiuquLGs6+0s z%uU8n^FLMPiZ!5-YrRXyP5ZMm|GS{nUvWEd zAdEVvQRT)k9KiRuyh16YnU4R~L~j&m(-2q2p`ML56yI!I@1{!KK8dL?-=rR>ck&@} zb7_A@bK~{!0i+oNR#{^L8y8zNs{T7tLaQ~RCc?v-1rM~aPU#F)_Le%_U$iiPV7QFF z#k1;t`1Bj?HBTzmQ~#AcU+LoW(7&PRU+Ze+j9KCFZ6gTl10Z5mv!)d9TgkCu7|z2R zRoK7(+I+y)1bd3%m)%nlMuG~3*UPu_l2s-NNtYp=t%b^4XQD4Hou~3m+0px%EQG zTqdA4$>@DBwAI$6_Ua$&V9R$$+=9qd5WO66P?M&&>B@U986o3Hh-MhoqNfM<8jKg! z3v``KF9)M%vO`78xM3sWDquj=vx0!-X-FDK2BRge-BW5LkN08scRclRaU>t3N(L!&s zg60?d6atj0ROF%hktHY3ONpv&vKBVT(VR%5n{j=0+gePUB4=F%yR_dW-Rah)o zCG&^4P7O>HvX(Ld8OaERhIgU>AnQ3Y=zZ@+bdHP~QDi*?U0@#e4ju}>kEbrm9OJ0$ zK7T92m zIG~y$&!KUR!ra$C(wIo%G_7?O#gAYg;m|SXUPJ@9g>LQ=Kg=yue9Uz}te*)bBDQLn zykED)y3$bU`CbfYGNSvcY+_n)+@dFuA9X!}YE!QY#&5lu?7yjIY4T!6!0eu>DjXvkr)Q}!Le%WWRZqi!0 z{N+VLy#MmhAbUZ(A)1mZo?P= z&1~I7W#tLR-Hl9*TQ~6unn=&R?_{E3X^VVa+h)>&7y4j_;hib)w1+xJIW{H*bE=VW zwU#o5NnlZxq(fKZ`HlnB%wWSrJL0Q;#N4QH6j1JIY3+=j(1&=(%A*i)T&Rv6xLIlG zvi_Kzd%KfLHtNv@zizBo-O zM2f=Dj>!Tm<$7mc``;1j`cc}g`^nXh#m)c#-rfLhevvNEvV9 z?0x+yH9c(zMN`UjJ4+k~Z}n~YESH4y1~+`Lw%cWsyF#j0Zv+YGao420`yMYIC2op0 zi*=83wB?bRxK+4R{~>JwtOVNMCD%qi9xwca81^+6H`Hi79QMhzxz?T;D8DpNfojX8yTv(o#-; zmt&M;@}o~u%p_C=e%9k`w~S8#(wz`E0O&`u!gvJs zd@-0=B%$iY&G+swP5t~V*rE}#R5rZVPpZ-KWuo(j`lLyMih~}vc9n+j(r*cLVJ+_? zT;Pf@VW!+wn0X%c<<@R~b4$1JK*zX>2ml-v1qmbVv~}3(+Itb#_eRsD+@nB~3_Xlv>+m)413h{dK3juv2U}!sGf39T z!6|)=C$h%18xqXZx8gu#TTEK==my*+5)GUS33V0KcS(A%VLzza{7~6ppvj(|Hk>5I zIi~4}>*n|Hy85?8Dv>*p4o6AGEygYwg}ls3s+bUT*ZT*WC{7)E!Pmms@>Bd=yan0} zA6d@B+XnpzhK&n7Y_3;>$rQ4Lj28|!*fgOeBUA+jUV7RYxA=|}p<@@;(;?=`&hZA4 zX6O4kTPDi%-X%ZnaIg!VBZNBDVbWfOw16ynh|UFR!>fO8B!f)7ma<6|Gl&)pEv)l- zs*IooTZ>OYwt@16%YhFaLGKrimS~_|Nj3|}2(EfgQ@=zg`CE_Mnj7u|=G|ZVAbT!! zTnN6|DG(}bR<$)M#lMJzN;C#93x^j7iy~N(?O^`mLd@R{#b>^lv{?6cSiiWZ4RXY( z3Q}$xXG`)JQP=EkdMp%Muy>epsa}oHtg=sgsnM(YSq(g3|^t@x2)Gq zEDD2o&7?NIidlU&Hq$?qx@aaaZPEhnvLIs^1?C;P>u6OgU58=&dR<0S#Lc0(wH{!# z_zc6ap5uOmU4Htpq$1c1G|cw_wlB0UxdC_6T#vgz(%6QurUF(weGDN-he0Q;;~~u< z&zjgl_1Rms`_UWXf*+w{w%#1}aI~ZC1kuAHtp_@`LF{okQ_}A0I`skcl4YwrRzUiw ziyh4ggV6;P*aVd%nZL5D;H1q$cl1|gieldTsTg$_BDU9Y)VWFHqrLN1b!+jAN=6Hz z$L&<+glAh!CRp(g#t3RQjjFIv*Nor2-l{OoMj+T#_Sg3#dR^VKEm;72C&rQN=ir2F zm-tV%SB&DGd9~jQgF@i?<&JHX7n5lJg)iEn0wwJ($4>9+akoEFr?a|kTkU|&k5Z+= z(VIIlg1#ay!6llXMDVX^>EMy$#x%haOIC}H<55RG1?K6ZKr;HwcP)D!+d*Tdzwcgy z-2Y^yzojLweA2Y23{tkh*=&iiyop+}V-*uh5gXumo66DKZ4B?h@fsZhN^j9Q`kO|d znB-!Jycd`dF@p8Q7CsIB5AIA{a^#a`Ce7Z>s&0$0#K=?j^pIgopsSJ{HSow-hkeRa zK00-ikezYX)wwv3LreZ7D31ZJRxTwF`D%YW0y;FtH!1vRWwd(#_w&l-W|p1~ejh_; zsb#TL@o)3=q%pH;ZE7l*gWJgrwbJbl&~eu?s*|W+V66%HUmlHcZ%zzh%2Nkg)jcg72MB%_YihX%#O1wEA-$tB8lWs5-gE6ziKz-=36mOxzXTCerU}n!VK5YW869Hk_ zqu2GaU;^azn7K%En<|wPm&+~L*~7gyO`6W8ZRn_zP?*R|@{KOm zq|Mv+Mv9kUu+E5Ql;09=HebO!)GeAKevQ0Mc(uf@cZMO9^(Q^c@FhFuV&(a~pme%Ed7RCG_u(nu|jc8>Y;{pwXRyyFiBU%F~#Bg9uIi85KQ;mgY-6Mf_K%=kYs zXIjq9!311U7Y*&^3M&(+MHD+aN0u@&t?DleEO}gp_U8sV`f37I3DL0q?Y+UbVl&}0 zwgrA8a>3&}7u>2Sd{2DpuX~yMGQD5;<1J~nSDq7WlPYFjBs3=>4hf#Q+@%M3E93i( z2|y*#?W!h8t`n^y!b(uVVg*DC*k+ZwTN>tNF3i}qtYy@|VQ`#)uQKS!Tnmk}lAw)ll5ywEw6Mt@wubquXUg=}V;nw|>wpj=Y%d4TEXkoi9 zug`HJ^`t`#GCK8e0bR-i*RGF$n+LG_w1pI<2ew<}0f00wqgsxZ_5-Ur_ql>B#VvP? z9-ghQtFvE?5|;tT5$ti^D`CY8b)w0>bBs(9GZo+PDr6<6V;v@Gb#rUfzsIp^rX z&vw@A96d@f?n@D=?(+p*hN+qVc;#*ig?*cSED$KsK(fMEf|LW+(|sPX1>(t9Ktv7c zOge5JxLAlR37%&c;B~v`!n}?Ca zL-d|XC%sYN$!W~=PwI)NUD9kpSILz+)<=;s^MW7aqgL*k_@gHl-mj7;AFKEFIe%GB zLoMBlWmgC5(5U(xCZN=cP9CyRvrnO+p>VKVEGU*98?9TpXnKz0ANCIef9-chuv|pc zvf(j$+=BsT>^rs1(A=##Cs>t@)VAl3BZ+n*YNQCZhX0k7nD)hXnDPjd3x@n`D^h)O zsdGwPXkvwg60njGLDLzuPeFF{exid_@sKi9D+%P1ftU_~u!>DI2@fr8l%B{60G_$g zeSGLaZuR>V97#0muCvB>tIZWBOnq@_@Y2r$xB0OUk$R8XHV>--y8D`9^u48&)*oKQ zPIKt{1g)l5A}M4x@T#wMfbZ4YyO0eWNsb^nW-(S*6k5yIFJvvCXr!;sE*}0Ztvc>D zXcrlNGYv(pOoB>Ummj6QOOV?~)B${Mm$Uv4(G{7Ab!j%e;NjoQG>L zzgvb+KO4Me=zJMX+biPS^U?U!?Yh6N<$nMAIcn!v6*j?FYr=IdJ9#TGCgGKYy&;Vl z2$n|t`8$W`{S+K2O{Z9p8Fy7>JBSZ5mdsst`g)%I?!}c)c}UaRC}ecO$v_8+X3nP` z#eDxOBKd>wlD9(t326gM%?LWfBq`Dw1&T*4l>Pq9Ho^Lht;%{-n-orFSYn3$aJEP( z1(4rCls|x%7Fl`#i&(6iHSSF`^x8fKJ@_iH<1HOZ zr-Lhx!-zsHf84pta=d@yNKZQi3k7^n>d=B>%cpar9S%zOb}K>%&GKdc%6$-S_ zN(ER(RIQuU5VzM5b& z>}x; z%0nqSnfn-Pf+cAyGIQr~bd30l!2aB_(V=;H3E%5N*M94-epLpVE@y&mvlExy*^c&K z@ReH&j?SLU@GuE*FGbJlRo&h}L27x3T-|@&c42Q!r&pJf`%m>iNK{# zj`9efhI$)S!Yc6N{a-_VGB<=p49|9cpjdcj~E;)f!f&s-@)=@WG*5;&mmv? zUDN}VYH zt$)e8^C8hc z_>O=6*sY9z7b;knb6JHxCM~RrVl(Ft8pkridZNX6g+TQukbI>ndg~Q@WW>7H8oznX zPgsz_wj%gEG)i$TY4zfO1X@hP4|>!&cc>SlHI1;akbuA2%RhkE0r25FoxZ*q5y7<* zR6u(@=B<72CSy46d&4$)CmVhiVuzy1r!&UvzwcCC9PiChAgQb>QLi1evyH04MoOq+ zxSdfu+tE^1#=_rAaMN;VSVsL;lGJE^(y7agg}mW<`RHbz za8itEzql%62!-d#N2^y8Y*nmmMt?0;(|UH->knG=H)ksq-(R2OxcvVBS+YSu=_Un7mC!at(SS8pa>P$Lf11#V!T3o`zcoXUTb&gedfz zNnU!?l5_vaf!bz&f+*$57hx7BFwIpK-O8DPy?zHE9X*Zh8-!w~@KOzSDY80t2N>}u zJL7+OS-X-)zrz}zA-n&6TVb&|*dLKj_FnJeKZU9B={78`Rv^YL#vX_q z=xu+aSkx6*?TY^q7uNpj1?hCeU>V}qg9F*~TOJR-+f^&AnD8&5pz}%hR_9%&EoeCv z2i|oW(PvD#{{6B)QI)G7W_*ZKcqm9tl^d52tO-j&%mDkpOK-46BR9e(w$nXr-?ANZ|k$SOdT$10T z;cusu=uzD@mUE0@3Hx4&JX8!OflrNO)UL5{|GMoMsWNOpueULqv3p3Pd{D8d|6)J4 z5qzg4?=KEZhO2v?GG0qmm}{!`s?hE|ec~!=iR)lO|6@{6R@h)$#o%jhBg#pTAtcUT z3m8_UfAgc%9SF9gz~`Hx{=L8kMDtj|G`vB%-7xQ{%vnfDl}IH4k-wMnHva+x*JsA^ zc=swO`H4Ag_<=ljKqs7}hqzS{s#h~IoLHk+Q&~PR7y^G{3p&Zf=EOnNO(7y_53B+N tZ!3&-!5;(#I94l%JaPC-F;Q!QcIazJzO=e8|1Y`q1c!x!);wqq)y5m&oSMT*l~zba5}&O>!M(!pOanT*AUG z%q_W_k;~j>{Lbq0{r^24iJdt+@7wG3d_AAfSBwcrhw~`!(LHc}DBySz-T5bz&|kFK@-O#4rX?O2F&AE}5%dF1bt-Tr#ve!wQwv3*+B4m{ zJFm>ZH-B_3awHjip6%0X*->6`!{(OdI&FSku}eu#HZzQy=xaFuJQ@2d-dAtA?s@y7 zqod>D5?r`iMnGU_>crr=@Xdk!2@%Xe*_yVm6PL;~XT*&~cGeTZHYJJ!);b4V$#tKA z`S|z6)4W&w^T@jZS@+G!O^H#T7H*NwZi|6)W`kn^!NHCBWEN!Ke{cOXVU^7|BwiV= zqNGK;ak6OKc-PvX`-+UgnUK_W_y6A1rttOZHa=`@Q`-gp0QFD<&rz7%I``Qzsu@q@I0X+ z!iz<~?5^k9zCV^;7^}vZJ|OA~GsPOMCmj<#_Dkc&3V8{^v(}L3OpF9WZnZVampP z_@>DJ#uuCyn$&W~JHHSv=$e=w&->r&ryw7jx_9ua)uV}}hBU6;i)JuU8MxqoS0AtF zCFXXdu!cL5`>q*jz{7rLHTTP({_kqMMf!DMy8JaEWOQ|o;uuk|pz3tw4HD^*{%Uj9S3V)9dd3@2QUbVNQ;vSn7HDx0n^H?I>q>s|d^dck$Og z+fB<}2Y*wWQ&NRwdnheG^?!fnv$qnrrB<*rnv~tmw1`OUh^yFKJNCb;X_s9NzF54= z$a4D{{r_Lo5my)4K>aZ^lQ!b~@11R8j$@AaoYGHWTECppG0=R>|DN4iL@(-~+C+Mx zYx@6YDxUPTpvaDkWN7-or75QlNb7a&YYG%8O3P=TZT6Q-(kNluH)QGWYBl+Y6zwV} z;okkb1{@nk>G54=gy6>}pQm$Wf6AhPll}MWvBxQi&2;Lz5#uoa|IPk<;8ffXT<=!g zkJV$Q%+u_({B+=|h)CP|C{ondS7&k>$-J^Kb6SBn=x$`94klADxu^W!QgLMud8E|(5;N0WwkEty?)-!+Tc8>411m)zq)y2zFdFGVt3Ky zw;+UhpM92mdLGHMy5t<%Yva_CpFclf*;X>ou^L-rxSy98~Vovu|^!j*eCz z*s1;chI?|0W}xd!E40FtbEID`iKiNCYSzyWSF|3*##ZEx`@E=29$Zq~7rJ04dyDfEPr;S~_^uv0~%1 z10eh=epXdL@X2_^(@|=tgcQX(zdV~zI*iaA7wP(Y{K}0I1CBF|e@8?|>-FCPW=6eA zKKuqqq(SP78S=n72qrX~>+bK~TM`LZ(=7jbTD%gi;$K^0`>`{G{&~C<0?*xj`~+M% zBlCB8th=@(6HYsdj_=kPer?_eMFUSa@PO1Y=~`q>Q`je(zA{aad?WMTD;>TUUUoV9 zd#t~0dB<@&igNAtdk;&pcV^oe2;=sA+LJRpJkv)DkMYF56GhL%Y6}UX zw{P1wZp`}+G$LPl3|4gofMDh?MyFmO?rLl6wS)6Yaw>@>)&@lu#o;3qt6LFh!z@|r zGrz};bg`>dGcuI6PHTUTV)l-6dApz2Y}a+ThMhvebvGRC46%3uCfLF+xH+Pm|qeUL3iwyPO;^%;A2H2nKW)}jG=l@iiK6d;h^xDHqiK8=#^>d<&q<~) z9xb-PdxkJ3djx5B#nqhZ0{!3yYD+E-7}IsHQ3iyuG)n( zLVt7b@3H53`X0zvLR=nJ>mTcvmxC=O8J!9^W+~?h41Vr%m5woH^w&r{WwaJv(TS4& zVR)zbb5Z=~=I~BcTs9m_h36X8oyey)$3+c~w>DlYwkY+9B=y}Xsd_r2zO|(i8X&Vy z$3u2|mb1x!KkmXk6JTe@a{x1#{3%BVRc56HZL*&`=w0t63#xoJxox4V5;*h&{J}+U zlm=C2Q8NdoWaX1p9d!AFL0Xgj3o3aw>#dsMQ3=gaZAIqdnK+q#w5)$DN8SDgWyj3= z8kg*vh*F8%$MuYEznIq@+p3=I=?&S>-gTc3LU4UVu2zL?A5<+P&vLO54HraiJbBHx z^0dYqhmsvPAB|TO7Pg;iR5TcYl=pLM4(b4D=-aomx48wUZqvfH+mp@+Mt}q9+j=0# z`hG2FUNyxwhfkz&s?PBPufp~PYt%&x+Ex*%=m&AOVtDbUs=dIcrkEN$1&*jJ4hXA! z#eN!f?Z1m{``*h=Ai>$!*EP}l+1P;p=pRE`2@C_qQ$yr#4OK4LST}`ZJ*=w9t0sq|NK-1Usv>sIp~2_^8KGMD z4~&oh^@N0?q2JaFOa`E`L$3XfJ8p+84YK>eT@izUK8P! zzU9?7aM5EZm1i>N7|V zA&j2t-M;R-c!3I6!=#p1=Yq*qP?ANFd7a+8l}%ka9RwY0;N;VDaY^Q~@E)xq1;E&V zPaW|udjC8*>Md6tSQhrfvpSSKa|QlD63#lbt{-6d+HLq(0W(7ns zt&!3N+20D&FwQj5*P(iWqCw!ph)M%F%7L{EZ;7=M_e~SnwBp>eb@CDRkaBtc4GGC2 zrGWOJ)FPe}v6iD1uCq$sHTf8&4YTk^55J>T>QFc(Rq9m(O{h)IccVPxroE-@b1AKH zOC?Ix?#?oz&%Q;_1}=3KC=IGryuzdO1nU(PTvAXs>KqE%v*;jk3&|b zy2=qGeM0R!EL9$MCwHVGw3=3L5ixVr&ZmA5)E1>PjvWH&(R_=I>8*8(^|P6l`~pj9`RJtbz1gKU4baGos@tzPN)}~x%mrZSgmLcyhu^3=rIRI=5_dP18M4`x(sya;TDEb zZ@>FWQdK%S9NCJJDapylDE~blCSO4!I|=OE{^#fHthxBR_FA~0-cV0Y=}(1QxfVFX zG~uiI$pI=&$c%USK@js2Gwbihne&Pft8J&6H|WJ0=l}`3#)bGhawX4tJoMpO$t)&{IM+ZL*^28R6)DhG zH+7zgsW>^k)CJ-nP4Ua`-?1H^ZcFM%2cAsh6k$({(5b&W@9}K}zXt@=y9DH)8dPauQCgVo+RfBU#IR}B#4u&vocT;O6Q7&);zrSuMo zPf>;c{8QlJcrK_0#NVl1_fqiN;L$7Y%8=Ffpn#;phYY4Ft|=Kxn7n_iOwG%vuM5Ky z>x-*aG6|}zZ~iE;z5GPi=5N>$PA+@_H6Jc`8IAlhbSV0F>+j!&4_LZPvPk{kV(Xp` z8+w$Ri>Le;Qjk{RzIgid>E2Ilq+Jf;t2MPjipOhQcRJgs|RpK6MqlJ-p zA^9<)?Po%FXqp1DXtuZtxAH@B_gyF-@$G_&K#JF}paG+zGabMrU74;61%?XIX_T2E z88RsXNwLG1JVrdTP61%1PTWOV{N*ZtuD<(InVTM=aIF@mEslrFlo-O#IZJ?>Qf~Fl zcz0&N@(cHC!8kEWfsZbG4yxSn98|jjO!%H@}R<(1~Dh z`tzOF733`3A0u&byk=?yIPXGrE*LO+MJFzw_;lueQKeFw7f{WVSh1cQ=Ud8@cEm$YWFOTygLUbaMbO&3ocg*x~Q7GJWHt z{Oss7$L1Jw(Kh3<#ix%S41*sQRYLo^gPb6B>2x8*h}`x1HB(xip^05DpP4ssYPnyg zNZ5T}XUTZ=8oG9e7*Q)d7mtPnEmE)BDXKYnc><|0(aS;?OR1trLb%x5xvioy4kC)dM_sygXJPe`Wr!Ei0Q||Pa&hHMQeE-e5$F-V`62C>)1?LY z3tvtMs?OJ=Enxk8l3UjytGu&n58^x1S8C5TOaWklGdRwQ^7G9(xe|vUiQKA%LE#E? zT>01O5oA_k%6HJMbuGOYaVfVr{GU2=jy;>bTZObksh>P|;q+{#9L3P^5Ar6iLFr`kA}5@;omNXv-Lw{cX5U}zsdJvzuR9fy!V}?2 z3)q2I97hs>v#25)&U|yHz5sokPpZw(hB-SJ@t9a@N-@vMUWY$LP+t!;nhS2JvJ>P1 z;$W4R??K|)N>`}(9OtL~1%;Q9rP#ioYm9wb-YhhH{-^f2&Ir5hv$3)7?n}nXIO18# zoW;?{d4Jj5Wo)Y)#nRCHORwh#>nL0zSxN!siQIdbW{zjCJ1OSE z?ZWEi+Q^uR&oH16(jjA+{pMWdPA%Yp%8;DbVS&kJ#o)GGuZ28) zVU=9AwaL@k7XMfeib6#A5_Ln?HhU8JSKTUM)1XoRhaJgp3-=woBAvH}kYzo5X1DTT zHRW7%#L{j{B>AiD3~k`0z5koEAwr?aqV&c}KY*ay5fMv%*FVJ*N=L_y_~g73$S>7$z-KNZwQ7-+Ds0VDjyu^or?jf0Zhy z0dShCXZa!o8HcfM3d9~qy1vhij2fwMK#5++i-@wk;gCK>TU#JWlNRpz7A_z z<>j5BN$LW>)A$zHW4_9++=Yy-oDQOE$KLZFuZ9kTyc#EE35s+uS^@czOKQ-R*yq*> zun%f8CF1u#x@Im#iLB!T6jcf zm}hh+P#8!H!(ZN-rQVb!#cz=Yr0wEVHcZ4r9xexnzXqkH?`-!OqbL~Lnj*}8j!N%E z0Sfce$kzOq@C~mzE(xAkJ+~zvf92fCwp3q9gMim{mYcS$mKquAJ*;rB5FL4hb&HYL(Sgd&;ko zC^QVY)Z$heGoPqR5`4l%y885~2R&CnD&Tpg*Wd^v{G4Q_ceunCC!{)QEe2aNt)*Rd2~1^}O%-(9qqdO7 z<`4XeDxVXnrpjZJ?J0KwVzL2zFF`Z3P!RFnx(eF8 zrGn@0Y6EF}Fp%F+9qTwh)y4O4>}iO|PrSP*Uch}=-WT-q3chh9_xeK7$-zPIo3}?Z zKD*DQzTcUZr&TPBrj!f+<_{X0t?6Fhix1@#hASagpWpUa_7Nu5G>0w?Zvdv~TT#&b)`entl zdh~)+F4@OY3yQs0MxoIQvOI2ONFOQ!bb=bZXeEzCs^qX!=qGZe=X%*JjLdnA)H!RK z7f7$oZ$^+hxTT!>61yQ(4EAFWmf((k|)tZ{hp*4P#Wm9|>z-)F=>Ef8xmV8dP2Lt>NSL)VnTx4(on zd^rm82b*9uilT^^7P?Cwa@md##(L13U`1hsUh!VMFc{xcHV)jEZ)H%A_DaT z?Rj@k&+T57yTj3B7ehoy{grP89vzRoYYU(BzU#`cr4?Iiz)3}Kn zOoV6h>MoMe4=8U7<%nVCL%9U>jAUIrpjYk8D~%} z(4C%S@pGd3v`xl@095IYs^7$m*L+G;4qtPC1er{8B)rVBL@HtkJmAA#@2!B8H~UN4 zh_x{2ow4K2M3TIH;@rAg1(8BP9hoTuU-bHg7zI+2W9$P6Jv&2*x@c*HzSC1t8n(&T zWyYwXy~6B%BIaGqUDzdlHn@~qHNe&JWqB_DCGUwW@4mZO59{T%@?+`p6m`3Z`(;zl z@R%r?;*+jJ03|3?eVI+d)sO+IC}?36L8CYJ5dmhhk?Rh{+Xtucv_V$xYHpP%PR0eL zqg?j9ad8geGxM& zyjDGg$f#HVkc*s7S%z1m%%*+n>=ww-FxlX3R0gne@I+aq+N{3jRRx|up#9S%BW}~d zZE!(8{H3CFXp2lP`Da}q3L#9Hd0rieW+!5czlqp#3#bK4%4E7ZUeJhjgB98ZnElLR z76Mc4IedvtAz}N3K0Wlidhbo$f}a2-#(j9>mQ{6sYiEd3J-=)~nfF0m%ET<~bG)S} zHX7}gs5r@caN=!yU)~tbLUvkipSf^hRym@(Gf5gNKrCbM@EGCv$@Zl|MO1+?%FJ zld}lVQwpAE+Bc@I5**;P6tVCC)0Xn`)1qRYX#7F0%iQKWO@&#M z{y9YAg${64@_t_!XfSX!%mUc8xHlJ7zxC;%-swSA=0S5}?Wq1I^YIYTHWY_Dts*u< zzFjUie4J6UJRCHbxt^Uw4DTZzn`&C9wQoQ$Q2ufwR(b##YHVSQc=*(fw>F+pQ8W9_ z1_jS5ahSGF8a;}E7g2XgGUU9H4U8a~P)>R2a^DAmJzbKl{tU6HgS;jMvKk{1pVj*$ zQEvmlb%q0cVT4)9Pv>r=in0UI>A&^!+qK2f>E}PV#Vl4ccjtZ(>@qHGnTJ0bZcS*8 zM&SfK20GGmtL|yvYu5sJKnL%URjjua7WwTSZZmp?@!{YK>dhfw+i;$hQLe^Ahh<41 zC@1DE|DXK4BsQ^=ErMyx?DVcFLMkc;9rIaVK}jEMUq;kCvDI9#N2!(^GaeHn8!BY_s^MWb^k* zvOAR18Lsu^!6Me0UJ?@%b6bWx9D;XugG$WfrAvPH;;7DFzv-27j4zGbC#Ff~Lx7rF zG?(037f6$6V5&|sAy43fYxrKO9##h`%xFZ0y389$D#G3l*h*2A+`Xdb^$C=^y2j^Q zBS6&{SXzyk^do$$^m=C{zbRwLYONj-f@qmBc|}1NQ@C2=+Vg~}pA)N0xJEN%y*jzZ z9u>MnD`p*Ky~5L|v`Ny44}dqAf5{o!X}}L)3+D$2%s&9k@qBe9>%;}HpdPw}NDHXc zgrd-EIl=)cUMiWC?a7pgAFnZ{%CvxrZ{e)0K+k0P(5V3N+*rAF#*&0xT}H=owLo3| z^H*THsCOV}9^)b=lE`8zUys>qI?M}Znup)8y~U;yq|*gOm-n+AC$1I%vtW`Twm@Z=mX4U+Cc4$7@;!j6 z3ltS2SkySciXtQ@{O?#~au-5%vDr%uN+?WiZDGLK3vR?Ao?BIb^n4c^-?WEQ)VH)ruSHGGQ{W0E$R6diemyrqhUZ51u!k~8Gp$tTTx-vku;CB!6Sd# zdYVB;_%B=-Q)qHq_nHoS&g}%yklMXPyN@-%`SUgL#`{SCDc$kMQ7aKwXW&$q?~!@U zeLlAemp2B?)VgeEeQn%ly*UJf@A+{I&&^cP(J75kFAX~cZj_rWd! zEi>7X60{(wCNQnwQ1~D_84=$XlQ;|nCUMSl{&QF0@9V2Dze`a&*|;5Px80Snj{x07 zSYI+(ya3F3!M{+{-Sa7D%HrA7S5*!8gLwXN|L|(=Yl9l_S#aLf20(+jat~MYoda%( zwGtWs9xIzfoUZ*yh{W3wr1kjw0eOEh_j+I7S#Vau?XMSxt7^quV)CO72zHJsu4R!rdb!&!oM=Nfg{RnLdy#e+RN*w6dyT8)n_&&SjHHCAhGDYpCX%p_dy-kiB~4~z^q zO!$y!&wJxd)~$9!iWsLok7VYeAvikEF_BuzEEC0u8UY#$Qq#XFUXf87*H9V{A=TAA zS)JuUBqHvs>++vIef?SV@uaVjIaeD3oDCX4!NH#vU1JcQOgJbyHTA^Eb15a|)dwp9 zkp#sMR9`_XgW#1U(iKLS{BFdp#j2l=h?2}VajbFJRbd}N?Z34p>T~#P>LYKfj4Rit zk$xVO5Kd$14*_ZAY2i+L?Oaug9>2UE3L=VE(evzM7_ZGrw)FKI zpm=E{mOz00bUlGERi>yC&&O$DBq*>->33#?4ZKw z$B)#%bNE>@28T}X$N6JyZbjI~js}~^nG>6hLAxF`kq#>C;`x6uCU@mZ=XK$#4P&#x zg2Zk`RPQW&;*Vs0lH#pkx|1e!x0X%9NEn=x^dsj#C%R|kf{aD+`h+WZ7JBt(%pyx| zG3i(~rCsoJ0`=&qjxkE#&@>*!&#r6$cIcGfoRv|Q;?>smBhg!7H9+__2=Pm2TO{Kx z|D8J>(O2|aimG4u?&xT1%TJ#aRG3$A_;wUY7gE}ph`7>Vs5^`|H4%l+2{Y13;&xoE z&!UbSSq`^84+sFr0`OoGagAxgrrP}NaVx(I-6s1#%Io3ATjLbgFNZyaD!m}5ylE4h z_1{TeNt3iN!9K}9MEt0N&`-+mdI-QYEf7EKbD>&srlFd%eLoP}T$W2wN|R2n)Mj^o zlp8d>1Mu5F0aU#-DPYa^2y$)SS^+UpI9)$%Z0E;Wt{Auv)gPHSol3n19qy&KNeTQ|yb|2St$(CrI31{w_t#^m|Rj z@`RqWFv@~0WvkQ$WiWX^kxT7F0n(~Lrq~vKju$Lfk4td#+)~2y34$f<d*^=buu9+80LTh0(*)7LBaux)Oo!+biW)(Ihe^CH zP+hxxL+eq0Ru=F1Vr!BxGz8UeQ{ zAy}4tz@PUkc!yKS8Iz8XrWjgDB1G4-?>g<59!*^<`grF@R5!-6NFGUbY3E#Zy9gCi zy&O?|sbZ!ngN(DGg-Q?!?EUgzWCj5gF<2yjeSR(T$g5UHLL8UQuG<5w9qwflridtR)KfSzLL- z0_07$N3J!L;cN8RIPK2;-miwSqG|=Un@7QgCXSTNXNOP7uN%p>oj zfBvFoac|xaKm$&$m`Y;MlwnXx5zX*CtnHH{i)!XzTJS3FqQd<1PgqEG5;(6TnA`vu za5yli_D7tU0>kRBD?prjl0@uwGk_;j>wKL6--B+}odEFQ{4^F&eb^?eknWq+Ln3c@ z<^0L+4h$Qzn|@aTANdEa3GIV6T`8raWo%@<1MJl^KEm~_MKVOl5n6@S@|Q(>?4 z0`)u-72|iFYB7tndfNLBt~jJ*UL)qe6sz_qIuE^MPgAqVUGg?}shTxqiIRUL*F2eH zM$uhiBhhZL(76%ibDRAnvzPUiJTl(O+*69v< zQM4CaEbFNPTSe9bP9rWb%&Jrv{+d92zPiZPXl;oRyKm-HwqRI4*lgK@sD2=%jVUNVWWpjIsku}iPNmby0hojv4R zloLAD9s~2%&e3_bQ);`LaULU;J#hPHHL@Z;$Nlq*+(21#OayO$plX=JaS9$)_Z=ao z23RNa+~P`05pVA2wC3`%Lo53LrR9<@-$W7D@FXtdwIs49)c`lbvXv3aaR|1E6@2Bd z;-EDb8y5&i%HG^MP`EY=psx^;DDg(q`~#wt;YA#@Q!I(Dy`79H1E z`#__{%>AHlTDjZ?y3ZjnV4+`Fhx~9N(ujMoigEHWBWrhleq0vE ze?cw4?M*re-;UPj#-lza{yTyU(J5}e*aG#n~?b*>v=D+Z(sl)jW6 zBCg9oe_OB2Wu{sD2_tfN04A7wMP`^OYo2=F54}E$X1c7N=*5sZ)w$teAs1a0-|h3p zqVQkeW8iZmH{T?Qy3tQTMnlUWc$)s^Q8`75b%pC&w<31YnNAJoN9B7hsT&aRs?1fc zX@;2(J(`NAiB5+Vp4tFQ0lcqpfq#Y4YUhm*N7I%ny5I>rU#STDwl|#889Pcs#5?dL z*Def;y?|%_)y`02$>af2UEpH!#zrtD1eNO5Ux=yD7S(+AOxRA^Y2q4X>dAO(Y@m5$ z38dyL$6LDl+=JTe@eG4=3J$b@fP#sb3H2|+00>d>`kfn(B04)D?t@VJ0VE_q$>LZW zS`=rugszppcJwNJbc0jhtCn19--S+p@jJ93hC8O!x|(TZ>ti` z@Vr0`vAL4^wi7l_oec%;+D6Xx0wh=4?7zh{D>8F;bAs%zB&m|l;$alur%;tB&I=RP zrr0f`UcAjoiZdWfU9NBiNv~Vt^lM5%PFoDglNWzdhN#)}+;(YY*tX`}Ols;%Ao#HU z&0O@YovU2n!yqt?zJ(WLt{DW)&zD{g>2quT<~J#xdU?|cu))@BMX!@f5~sCKz#F<* zCo7X-IPs~P@4Z2zfeoOFsgrDix5cd+UKyC{M>0?=w4j=!AordfN>sq&6oDgnelW*v zj&u_x(4APs)ljvQrt3Mbjr3+a{2vd!{L4}5C)~f!Hob$6umGnJATVgsvZrMZ47(h} zW+3+!mVQ(*0-Iko~SYdo_#xL7JjE5_c1N;gzUrKAEmW% zE73$_ge>SdH<*xq+nkKtPN3aph5&SPdv46QGU2*?{qsA}p-$@puHJA{lH70@t%i^f z3*5d&hz--80(@;@BY*z*xcf#JxQ91YFFQ{gD^0v25J=%Oida~U;-hrH?$ETcZ90uK z>)zW(e4?$ouG#j0azeyEvAzuRK@m`k{R>W{L4rOsmHk{;CTc=iSAqAjE5Co7<-0?z zAbfPxPYphiqSJ)hVqg*ZJ)RamXx3I11=4~)86#6{S=-o1IGX+Jphb9LEUGq`JQMXS z5FlQVw7h2EfHcNCynA zsn^~7k+l9A=V-vxM5%9i*4RLVa7!tLh}ltQ356KK9mdPaMaXnB3SK?zTQG4&k)`P9 zG^1`R>dyn{?tbiHIi*QGG{t(|uN`n~J_MJXk*2L1?q7@+cqCB1pf#J7v$NliEXg)B z^uGGXJDV4q%SC%my~dzr0#nNPzY8e%S!o~V{~g+(%0eef4A*8bpNv)Y8lBzmV8D+r z#e34uxuHP8hmB2XXBmLx;=BH!0H|m6SH8y_!^R^3y4H5lR1QSMbWYo!ci!j9T)O&- zCs<540@=2xgR$1vuZ z!YYquc+=HelGk#{Ff@|*WbXn> zW^uVB1i5fA1|Usrr^j>@ALHVNCOWt zh3%Fj`8f-fl$Q&q6#+*a<2jLG%7LNl&3y*Z*=2z+9-F}3ZwXkWR<>xA5IKt*4m;Y{ z9mcfXy7IjnG;$C5Kf&dh5{0$q^1L&e?TbwZ_a8!t_QTU5a`!87p$yW&$*Mtr3%ZUF zOImj9?R8-S%qJ}k)oOhcZ^Z4-$5~8}v*w?%Mg34-S>&Y)Ri9*S&Jp2krKyes=wwp2 z*Zf=hs-Rw1J)27ctk}-!a<_=L3cYvtPBrp>=mrq?#qhQH0eTVbnt9P{S{TqlQ@oa= zZ|)u60Q3jI?DRK=#u7ki89-k!K+iFAGZo*?q~|Uq0n(2#cyKj@Mh?FsZW$~GWqU(u z{w3DYe5j`3&CZ69Q+|6!oyt{HnB`%1suU^DL=9MZ4zf;`f>d zTnd~5%#-KOF4sq8U_A4KuIsUxLEYxLtKO17s(xC*bdLNT$zP+7UjvlnEtN##HG}=B zQ5TKHn%qjYc>1W2|9pHmTEPwx5K6>smU#k%+R&UL>YIdlZ6z~IT^Fk}DQ2#MTLdnAV^0E z@E>oRdf;8p4gC-SW<~oEC^7JrkdTZ?sd5H$O;7+-H4Pj7X);&rl0SV*nSw9f1ZZ(OGDQH zlED1^SV5r4;t0O4q7>$FvQNts*XR6-TYr6qJaE+4Qjr$mL_J{#NF#X}dk#gFUp08U zT+$N*Z4$C!7BU&L51-mGk%dz?1>zf7-Gbo3fbqNZ>=Va}c_bl1AMF%7K05n$*8;2| zFcQet=kTCYb|qH6T&{z#69V$TLRd~MuL=$f?47Rm7`evUQgxI)251^K!f?|pd#GJO z(&&>f!RxIEJuj){8Xiru>r6fZ!j-_4TZM7*%1fHyy@cC*fW@e_-{3W&WgTnqvS*?J zN~HfUPC&ocFsWWpLG8Jts%pQr7Ook)VTcQyCEI;}9XfzNoxY~0Cg)c;G+L6tZR?$w zqjN%u^77^DWn1S(w8|9ugpI+wfan2U@Zs9=Sl;fl@b%KT4gzzn20dEZe0hq+TqpFies`^LMNH8pzp$ldv-J z<6>2$LZ&|kUW7IIg5oLpMV?Q-l#jf-?*A+|1!M^8$8r(V_`}#b*5NAgh4j|S98*B$%bEZAIO6QhZ;vo(UsH213X6&PnF@?;6lB8**)vcI~H-)&+G zG(eejwP|Oocx3?IQGZ{SA(V1G^clx-mdickvK?!pSj_69-jbTdN>7NaOiB1km$2Gs zj4>!hrCS>D<0q+cps(7E@P;2g^g)XaU zuP}pT$&-9o5PEsw-u`d%rM9|@H1})iJwLZK(HZHlmXH+>Np2n2m@I(OwFEFme7IQz zkaLyqJ;SF}OhcZ4?~59ec;os@QOba(AOLVKi#Kepu8&aq!}#Snu$Pce9|4+sTw7tA z*{JEC@6m6?%o6}Z=^b;yaA7#0PASXzr2^^_6X2fnFoS~9dt*}c)_T*4s}y9W4?0CHB7Amag+r6w zVJH;$SBeM$&q_UXLHNnx`4dI1TxqMg9Mu8DXiZhg?~vVZNyttlGbCn-BhkL+_PtCd zuS-*17`$jNersd=ep2J%L?Pfum(EhgWoIXnz-_PEUaDwrJfZaf;If+||* zsYo$QleIZ|PVAyj*O5_1;3>OnA)fC)E1t6Jd;g`Ok&9S`7erojcJK=V(`a*77-~Dd zSl|KowAuU%X+WBZBH_~Q2R^q?4OHYCymEb`Y4PL{N#_@W^V73|J}P2nHK6RpgyJcc ztVb$pW+(BAmWUzbdhh;u}YX*aD%e0h4^&TXp@`xw#w8%SI;2N=Jy zFS7vvunYecG46`@Rp8$}*j={bVX;bxy8@3!tk4mGpJvNWoI7tJdgVJ4UCsYyM1*ZF!k7Vi1`V)*dmA~{65#f`|c~X8G4+a`w1tFaypFaZ3 zd%)ig`H+i$i{%wVE6=Uux{&;+QJV^Vf%+!QYlPQx@v>MkABh*TTtHDN2qZZ_ks_9? z=#Bg3$;Ew}#ga`vsNId6lZNU*zmS>bkrKeY<5;A+Et19f=*uN)P)w$0t`|g;BMkv| zO@KBsz-1+zCKs*bu5hc^PwkZioUsg-VT$jrA4iV?x%m0X>Ww&X}C`8>9!NK86$&GJK_d zFP<`i;o!ItAjYt>4lEwGS(}L3J<MjyfJdW(eNW zos;`S!MlF1Y%lkiRq6)XSUg85>UHqJwcbkWW9>&!@7awK9E)QRdoXMDms<#kMLuv;T2wI7|X)-bA+az}$zcO*HhW6jgXNFJ41fB%DnF@qjNzNLYWs*2&@C}-7q`Z4K2wSX~hx9oUW z5squ#J_5-R;U{#f3v~es*#tUtF=_AqXsah4M$=2c;5#d-!danLrNlah zD5ru3>byhAW+hew7pqu6FA?{Tcls86UBdKu$f(ULrp*?}RMIG%uqF~?UOYUZ7%@k@ zE?zh?@tkO0Y>@(x32pQsqEPPNz6jU91HWKa<0n%ft0h_t?@){tdgC8W<=U8ugVogUhv5f*XN7WNTB6lt?ET>mG#PDWthc{2ucm^|C+e+ zcqq3%uH14Zyxp!;u4~*-LbBe-R;egkvJ68*b|YJcniwjQifkned28%u24k#Qa(N?L z*E06(+l;Nz(3oM~^NhOh`}<=)^Ld{0ob#M{=KP-D`Tf4%FKYe`Zx#o3W`UPRgDL_p z!Y((P@>DzCH#5(f(v7YTm@Lg+!4Uhv^6?riuceo0k=CcU>wp(M%YRmn{j_mnfN9#~XFPVr=U$=pez8|R|RRMX01uE-+UH!64>j}c< zVf8H1y9#&8?OSTbxP>`Mva+J?2c64fH5e_DYM;+YhO}G$(}=a~ZcTxK zRZ!5g5kRN3tTA(xx8ZDBjU_$mfe;M)a&6NDz1i9TPJ>PA1yOp6_~qCjxoqpXQze0y zV{07fbsUabDw}39SFL@E@EYWn0VAEqfF9qi1ehtQdg#(BziJ#p2UaqA4?|T#uEzml zSBIVL#_}e^b!EG*Unf}6Ec1wtL7ddt*);p|6%>r4pf{FM}#5E8U z6lB1CJk+cS>hCgiZoN!CajlyiJXxty8oU&3)_?$BZ=tUS*@9BGd)Ls5^?d9jv_G>e z1U05?OMFmvCo6lzg7|KQeny%}I^Mqbi94g(N&3iX|HrxMm>EWh+sqTUPSkw$`wN%T zI#JO4TONn<3+SskfUoh+K!|6oJ#x(!iCvDYsOPZ9EJ;}Yt|18p>qI4lX6s7*mV2FE zG1o&)BMgxI*f(mv;Z6W=p!ljGI(FuxFCBdd-Y_7_=Yh2``PX1`dB|-3e|;KAU2ErGAY}h)*gIPe z02{38{dFKdshi#(CUfN$22k!OzO{@x1x5I)MJ9yHL1oV{ zDnW1pDn;?e2?=W0;=V}c-61VUpyVJAGF!&aA+*|TN4jfUPAsFxTpy$9T;@mr)ANLB zdPO{kReQe@6mhMk!Z!6yXP~tjVZux6#P5k~Zf?!WW#4V2%^?pbc?&QfF;O$73dPje zUmo(iWfYyV;b7!#iYk9CB_@D90{Q+M?Ep?>m2QxKJ#%C#aQ@Rd7PBc}t{N-Nr1Xn{ z+Sc&Z!P1$~v8P}>lGdGhBi@dJFO?S!!=8G=b?-QZ+rkNseHk@PS3s`LGK{#Fin1Xk z1Nv()P0Qy!MG_+;D_cd4vL}^2g&gNh+|dwLU3suu{W{HLupIrAj#kH0jcMVWsU6~d zJN_IKOD~5cieNonMg(W(7ncw1{lV~&0@Jg1^Q?#0^tcW8w-}jX@Rflt4{>L(Bk0(* z(Y>GhBRE5JB6&AW0KX_abH46#Jr`}1W0H2FejC%MW^8H%o&z83DaVZWK$_Kyepj8B zH-{6_72^Q3`ubGDApycCdw%-sV23|LMa3%5e**9;cJ|AC3cZw^3X4kkKVvDe)f7 z>gGp&s@od!fHdpaAKjs`j%UMF9ecrIFsU*L{N`94WET^*D5wUZgMd8Dd!9TD*O;?{ zqJ}@xff%nXfl#sjPjThb@6k?hf`pZk={W1;)UqHCknbE8-7V&I5tp)kGwBjW0z)-O{ZLeJ*- zl{V7SfaFFMLu~r|(n!@`KlLK9+o`CxhHR#ZI7Q4v|K^_FYyz}>2IPf~RQ#-SeTJT+ z;@Ds)8(`=7#G4;6>C;KVs1CW9kIH3rM0kKa@Zk<2jwW-6Rj68b%gAZZV2!k($6bT%e7^hE`ZC!rUnKvT(iwr2q;gq1$b^ zctB2I-!vByu!dCh$pc~o{$3ynCcyfd#0;Eo*rj!6HDX03XndOO?KFO!R9D=mBs4QH?Y zqlgAe#|i3R=M*Rq&-{ysbU<4VKvHuO0F}YB2%oG}01UzCk6>392i4l3-ygCFpZFln z1vDFb#bRr23`zFIitn5NPi!DH)I)P%BO}Y6uAi7VjfVUjWU#AI_3r)HS0snr#1Qz8 z5nzQlLGEqC@qS{K_DLE;*r$M}&;Z)EXfJztuRZqYIC6ydl7sqiy+7{dJtJ6ND0&wy0iCLWLfM+nd0QdH~x-7Kz+PVd5MZzkJz04YgGANyzi&sbX~1F1v# zN=6!aIS^=_Xa3TOiJgy%IK|mVtqQp@oZ%)snNj-vBwxJ9(A6#d1g^&<3*5=kzioL- z7@RdKEG{k}PCyV|}CkWw+gr`>+5|YP8e>z?x^H-VEhv!0aDn0M)?Ao$CSIt_&}8*G_HfS!C}? zAfmSv{$^Wm1jAoTs5ycO_}<7MZvCER_uyylK~}}_ncc2=o5u$Ha?QotQj+~@WsFsR z%xD?|XsC;%xP_&+>$lGx?9&W8wuiwboUw*|?w~QZ1(h)1Chg9?te9_vAm%#e8A>A`;i|H9$F literal 0 HcmV?d00001 diff --git a/public/build/chains-list/linea.png b/public/build/chains-list/linea.png new file mode 100644 index 0000000000000000000000000000000000000000..6a531666685c2d530eca25f82a90b234792fb05d GIT binary patch literal 6960 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/matchain.png b/public/build/chains-list/matchain.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8313aa075adf56ef680a4382849ae4239b479f GIT binary patch literal 10206 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 Y3XM}4tmLCk&JhFDl(m#fA6dWsAEKtjc>n+a literal 0 HcmV?d00001 diff --git a/public/build/chains-list/midnight.png b/public/build/chains-list/midnight.png new file mode 100644 index 0000000000000000000000000000000000000000..a227861e6ba1a0886c0c066c39a378ba97a688b5 GIT binary patch literal 9265 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 D$CR*h literal 0 HcmV?d00001 diff --git a/public/build/chains-list/monad.png b/public/build/chains-list/monad.png new file mode 100644 index 0000000000000000000000000000000000000000..ea66d8a184691c27167274b12b47fcbf41de9b56 GIT binary patch literal 10903 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/moonbeam.png b/public/build/chains-list/moonbeam.png index 169bf0fbd5b01ccc456cde6995d08014970a32c1..2f8a1d82c03005fd9587b62d9f6fdd41ae2695ce 100644 GIT binary patch literal 11934 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 r$zYOqb@{avKJ5HtV diff --git a/public/build/chains-list/movement.png b/public/build/chains-list/movement.png new file mode 100644 index 0000000000000000000000000000000000000000..8b7a273f24ec9b4eabd8f2fdf3c3aecbf2b14c16 GIT binary patch literal 10349 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 e{OZpZ^cW*$xB% literal 0 HcmV?d00001 diff --git a/public/build/chains-list/scroll.png b/public/build/chains-list/scroll.png index 3012e3b51cbf703c4f667ddbf65aa3dd935f7c6e..f13edc05d5ba42b6bff7226bb554cd8d3c0a79fd 100644 GIT binary patch literal 9624 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 literal 22795 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 diff --git a/public/build/chains-list/secret-network.png b/public/build/chains-list/secret-network.png index 7093defaa405b7febdd75bd6ee7d4a5d885f2f04..a46fe6f42c82edbe5d786fe1137aacdfa679b9e8 100644 GIT binary patch literal 11056 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 diff --git a/public/build/chains-list/sei.png b/public/build/chains-list/sei.png new file mode 100644 index 0000000000000000000000000000000000000000..1926c22c4d9ac404ac794fb6bc45a55163e66c21 GIT binary patch literal 10399 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/somnia.png b/public/build/chains-list/somnia.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbbb2c552467667d49d0c0e9d6f7c08da8e1b8d GIT binary patch literal 15031 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/sonic.png b/public/build/chains-list/sonic.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf7bae78fb612777540f88721cb880402f9524d GIT binary patch literal 21928 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 Lm`S;@d-(qV5RUM) literal 0 HcmV?d00001 diff --git a/public/build/chains-list/stellar.png b/public/build/chains-list/stellar.png new file mode 100644 index 0000000000000000000000000000000000000000..a24f4b1c4db1512588c8e67a770c4a40ef860a66 GIT binary patch literal 10348 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 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/story.png b/public/build/chains-list/story.png new file mode 100644 index 0000000000000000000000000000000000000000..08304f0bee2a3524d6688941cbf928c82916112c GIT binary patch literal 8522 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 EKbSV|7XSbN literal 0 HcmV?d00001 diff --git a/public/build/chains-list/swell.png b/public/build/chains-list/swell.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb7e21b29ea36fb5397dded7c8d4e6e1b6b2499 GIT binary patch literal 13419 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 b4fD4&?HxQ^A2QAq^scXMc)R?j)3g5qaDoyG literal 0 HcmV?d00001 diff --git a/public/build/chains-list/ton.png b/public/build/chains-list/ton.png new file mode 100644 index 0000000000000000000000000000000000000000..99dfc287983ed28bfc52cc365750c243ba890d05 GIT binary patch literal 8339 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 MqoZ1+Z2j#208?IP{{R30 literal 0 HcmV?d00001 diff --git a/public/build/chains-list/tron.png b/public/build/chains-list/tron.png index de8c904d399150d462aa0e904c3dbeb8e172cb27..71fe0c59d088681b363a108d340c07a7caa4ccb2 100644 GIT binary patch literal 10281 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 V+yx04%yS~;Q$-Dhl1CPA{|AD41RnqZ literal 0 HcmV?d00001 diff --git a/public/build/chains-list/xphere.png b/public/build/chains-list/xphere.png new file mode 100644 index 0000000000000000000000000000000000000000..ed452aeee0b85a9aaeeed2ee345223e97834e6c2 GIT binary patch literal 17040 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 VSvS_hIB(IHYpCcdS3IzL{(oIf>|Fo= diff --git a/public/build/node-api.png b/public/build/node-api.png new file mode 100644 index 0000000000000000000000000000000000000000..41541696878b0526d7b3bf62886b794f4f89fdaf GIT binary patch literal 552838 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

    q#ISpoq=t-8B(B$qbO$+56*YYN;p zu1&gqANvb_V|}OtL5zcA0uQkkEZ8bRUeJ+X@a!``Pat>=T0c*zOb6b>0|+>u+>%m! zU_HiT-RVS@q(iS`{BvB~0!R82P_FN4j&dGrPK2^iif1Z&TQfo)#rio91vqJdl5;um zRbMq3GDCPQi{l|Z*_y1%t08wvvafuAj`?G9i7(V zxu6+%g6e>Bocy04yxv5|;^;x|%8(vBl)RwORoXmD-2mFNXg^d-%{31>Y=^G<{84-b zO(@*w|N zUA}yI%J&{G@~?b8<})F{vXGXr5kbMGac!OQVVXVaDm z1Ta1fVq=g8dJygjYsANJj-zVW9on;7wvtHk9uHM3ppX2&^uro}-L#O6kPrZP5j_F0 z%ev1@wS81=IB6z9w-~NGV2cF6=9ie&!E4FS7y}$zI}sFsL!iSxtoEvZ)a8)BC)Y%t znjOCZU}82j`?`m~j6gGL%#g03FHbn8kUtTh3u%OZmb=+j51I=Iiwxw(_33-trlTj)3uybBoUCSRc%=Cyx-2Yr9>> z9IjetYoYzK0ak1%FIX@CJOUmRj^xLOXa8=A)6q}i97&c`k#q=sE+1LIw-QDs9YSPpt4yW0 z7=w1X0tm&(Y`e(lwF%)GL&k0#JO<|#0O8Bh%3=yIC2BEcnKLQfi_%>$8vTtdd>9m; z4s9K#Y&+M8teo3paU1t4T_!p*t`~L$tYoSLF0w2M=UyGbq^wAsYZV#uaCETod~F^(F0{>y}STBiR1= z^&x-h;;XN&&)>WH_e9`(M4tcV8Uf-SVAJ*Zc3jM9GV|<~A;+jh)$R8@>X~CI&m4srM6L z#2QNtdYd6rA+4UMshrm*aOQvC9i*`g5WE9`+@8FJ(no6;!2yKfdycZP zDFh`Tqa!KFhK;8<_|}-5!C-aoF2w^85XtozfDv{?h_r2I!${7v4mz1h20sK10W8-} zUTARV{r7F<(}@AMQ2gBh_8k$7fT#1?S$44Vj)QmSdxP+txAj0>V@dzlko`}8p0;jf zXVds{rA>Xks5}4EgH|tPD(}5RU-@iP*#gk{*%DJf~_rWtOcP?>PhCjz^bz>?4a?*x6fJrfE#$BV2 z=xOMnGeOj}jTckbU_NWV$mS`e$GHi1o+-9yQVm5S#g z%U}B|KmPT9`v3afzx)4`f5z88Gr;SIs$D|mKfQYK`9QX!(wJ6)VLf?|E_Ni$z@_+E z*hUl!0EQtmc2$yj7y;)(g2m8V*kN@Om@0wD=~6AB;o#tLj0{T}%hFqq^KbSr99HQG zO$UJ|8%jA)B07v zf})y`391@CpUB>036iEsJI7ovoO^sZ=B{a|Lr7Jh&`tx-dDshinTKt~At}~V2vTG_ zWwc3W6=7YjF;?E|?IHOEg3ju2Hoq>mi;OAqUtU%M1&@*Kn_Wy`h}$U^K}%e-TX&a@ zST($)6N;E|%S6UU+As0`G`VHTQWhPn*M8YCi^f|!Z6tGLqkdq&TNwpj&ws-0rKEd0 z2%L`seP)~5&*vC#YftaeK&0!6)+Ko67Wr^x-aj)WsmKVh322sd0Qf(^=F>U@sBC4E zZ@nh%m=IFq8T~P9IV(jwZJrzBt^=|5_+BPYb%usgu9bXi+OW^mcQl&1G)P{v=8_wo zUNyhS_CQvY_W$xby~_rI_6v*9(4kh5T3LpaH6^KRf-y4Y0KiTRN{9UX2qzdtoxeb-;$?T0RH!ZLrd5$0|c3UiS;mK&U3T$1r81kIi+RK`0aTT zIm==Ia96F8DLfSKCVSB1;D7YtV-}MP`ccm4?R&H<>{otIaF_D#03W11s-+ZL-lpxI zwqnmaw_#JBZaClt$^f`lv_aou>5Pu)O~2>l^jISJWCUqND&T>IAEUGOQ&jl9!JdZ9 z1W28rc7lHAu;~fN#Ai%4>7#?OsV6;)?Xjortf<9q-`24T95FI~@c0QdW^uTg^GyRZKKA>aF)@4xfukk7tr1ApVN zw3RmOV`;sQfDQo<29@9g-eleIX*h?}4FS!?B(Iam-jH+_vKw+B*KPx3 zvn)|1X;{n13^=45eFCHkU_Itx1+bh!VgUOmc9N(-{sOdue^0v8hTxX{lv|l0n?NFK z1P>X!6g5d1|UV9ZW7W(jGPZE#;TX-S^XK%#ne*x@19?AOd}flSs?p z(1fZTXo38ojU%A@&78uZYHZA^R;@8OnEm8VNu9Qu-LR9iop#m;29Mf!?ydA4`5g1- z%|DGb{ZrqSZMT`_uhIt`=ijYUW{PkJ*;=%*d(LwXw4ToZCzA;Lhhu4h+b=H*XEaDB zL2yoxsIy==Fi^}jczyb7|NS5T`v3L!e)sSGGnH!iXD-q3cE0`21?>Ldgwd46lQW92 zk*%4Fa2N2#-?&}O3-YJUvavlf1z~KdI;mi@5PjA@5xJY7cY&KkJfuI_E#ob}O~OZ+ z0JDm^_{*=2=;^_&RC;gIXxwDmG^}(|}Ts#Vfp{)VH&bxffa2kvRN@5bSRz-6Xv(>ce?(hL!?8ufe*8jUw2#)_W1 z_yLAb%_~j*9K!=Om(Qv{g!^}w0GS{&d8dJX)NVq#5-O3Tm5S{=KBeoApW?0dwI?+0vb~^I@-V=%!4k~*-rJ{h$9;Cfm$^>#J z0OBE2U}rQKi?v3BA^X&oS}9KK73aGR##v#z)Tw?`0LYN_(ji2y!#uE2ZVuLgQX|~|Ng9yd=XjX@1@C{n&21 z-47m(t+dE4Dv$vV)>FE4fNeO-_xo-L`U4;ve6qdy4{ z|Nj|#mmJx)BsH+)7zOn;?OQEEoy{-vQX%4#>}k1NaK2Ij^B){nxB#f`+|Do~DSuHLsfvc>>ms zW^G13KQNJ-QYEr9#>^<|eywr{6Sb4aRt9e^Wi`a6%hDxh3BrsHIH`tXhB9tRPmH!x zXHfNbDMKD)-1@kq7Vgc^JZjadUZVd_yJJP2aiu8!ogcAzk?2+YF4s#o zpvk82T$fBuKWUwjzQw<#Q=rx@YNtY;KiBp?a?F%&X;VTUo|FNMAVt~%_~_A*yYqt* zkUX5cjRG0t<=KkOt}%j(U)hxCI2wFgdfK|raZ`Kh#9Jt@ zt5ir>mv>`o_`*Ms^>K2Xrzwyt>z0$5?RBbi9HVu_au%+?83Cx&a%|7@_xEouZ9k$rh)REh>vFYwfCM4$sKRsMvJU=!^}oY#cbzo@;PA%UG}( z?7-SWj{tw1bbk7vY;l$le6HEcYS6f_m&H%n2(D=R!6tpF(>Q86=lWed5Hns6f?ZwObhki4Vb(8#m@hlo2D)A%C zq4ZX3JV&^dje72il%Jz7V^vBi^5lMZE+!&{b>b)<6YeXA75 zNqdG4gLGhUJ>W2L)PScUqNrG8WTK|;%Wbrs=w=FpKrLnKeu?Xh9gv@E{Mj=!z`Mp4 zY;YXXl?_eiNu<;SD!Yw4m!F`Y!>BVOAXlLAS*4{Qm)A1iZjb@l|HS;~_c;Fb^UuF; z{{^rAq6pr<^N)V_Po9hTKWV{paL1RXi+)@2=fKm|fmwy0#m9(}tT9rZmK3IsIwdc6C5U7EO_9QNV!-arAn zCA3T)vyQlwQlbOd>u6RDOf<9Ye&s#jedLMw7!m82Nt&q~g^#Ut1n;rWvAj(C+Ilx` z)7yAAC|W8#N%!99U26`{Q5$!AI-%yWgTS>XZWqv+7xy_E9pNE@$dtmP z&$9MjjCe+aYzeT^2*Mh-P^!p-e5SxFGCyiJb!0a(GtM=gvxnqngM_0N44(-^r9OHA z!vyeP+6`AH`-rfOLzE$WisxKF0sF8PR&Ssdj@fmm?K0nU160kfVW_)58j6 zt7jCiaVkGhHZY!63bj^4d`NW9frZJ*;#D_zTiX8lVceQ~)!VBH+9n6Qvp?L(vo;#z z0|vii8%^cBtwBiVf)M4ny5AP0A8i-8TeRiPt4(quYHcK+#9QS+OJIsAa&pW$84cEDGe#T^ zgo}Q_b%djiK&C}SA9i^LCtW~CSYw01xA6`0jfdcG$-ZG$kshMWB!fxb_<<-u)2+)~ zWTfWX^PRg&}#I7k>Qh(SQeMh<#^K^VOWr7X&uHkA=?~!){!=~ z7e(T&qwn-9{?ewf*P_noi8%M)Es9UK5R0Y{MkR@-0I&j&HfzAd;zJY=7j0ihMJ4aN zYw*GmikNBsy4LQd^&{QEew&~VqrT)kBij2A{ZUUNuw8l}Kb2&VQ&N$hc^~hcmm?+9 zg}r55IqSkHbD|=X)*a=X6EDshp~DE$b8I$?MxYa8oLT;11Or)=4(uhf2G>0G?PUlb z3>+DQ4i`k@uSm*;ZS~@~!RvE#*6)jFETDIl z;87W#6%C!`7jAXqqze1wUiHF_&pH_CaMqU_n69W_ z0=$w}NjqIfp}_L>f0a9sbUf#@y|iOUo&|Ii)g!KeAq_+0C)mg@QWgelPoH$|l8;ii zr~neyc22y8&fv55LNXybL&k*VfLEvq8P=zDm7*d3p6hFkY1pP86o1xQnKRo!=UV&T zdQ;m?;7K~eB`I=U$V0`qsZgo3W$R+jZEC$p&OvX`WuxS%a2I`5Si`l)kw{iNs;||((|IB zw8McsvR;iIB!XYh$2I;Tq7@Ok!$%z${nT?c+aNLmPelWQPNhTjS?eplDZrec>JMXD zszHkfh!CseuL!$@TYE2)8EpWED=M_c|dnZs76c_YSVh{ARtYc9ISo>*Ge*5Ijg*DTF=5Ut>~TW9)~b zlP7Ao)b~aKxTOTmrW*nB5nG5??FS`U*hP__A^OC3me)#vvi71H3G8>}EwL9^gR1jJ zAsMxvo{VSJvAxtb6myj4)9v!yzRXMLE)Q`rL$jjI^F)M58SGVyx7Yik@C-&4QE0B^ zU*2io0NtpFLNKA*;ngt|(eP|?7MCR{fu)p$IvNyq0$ZhLu9xcQzA?Q7b%~MYsyap5 zGew%-)v3tpd!HUHk7I@Mrl!lAI5rTz3C_Tx{}e*5K-HN}2-0=i$GOk?rT zW$drWy}$Y0OB(i{ZU8sJ)mVt?xCI3$t zCcd3($(2K-;rbp9FAPB)uBac9hrzRxJ>5SN`XQ5%L+;djG$I9vXt7;S4b;Sz z5$=};zoN0ID71CoL0u-vcQ)9m#we?1@=2zZ*?(NS)SW1}1z?rFv*;~Y9>KjDS>|(s zKpTyBrNX$6JtPxFo3ZI&|*KoCyie)7-Q%L2lNnV--LCr&OaRy_ zT`&NcuSjE*o0B79UO_wu&kx#otNh)%!=jnNbG_E?yXTl!xrJ4JA?pu6-&?@#n(wCs zY;m?eeL7f*PynD;FaRRJ1+d#C%PRJR+(!f7V)^Wg?J9lh%0HrH zvms)7$;FjI&idPEEIuWAO3#+^C0%a)iBe`7KcgZEu4kt6vZz3{|oit|H`|~j`fnQD#RKlVjpE7>1ZxGfLU@PDY3vm!u9W{3c0{N@>;jBH<_s^~8QSSe!Y=}vG zN_%rEd&Gd<)VLPvqyB zeL?%is2|~6MAl4aJV!NNU8NP&qak?4U>iR%hSylqnK$DB)O9aILlb>5q@?Mo=eVbK71McGtzNYl%p0O|$A_f=2YyuC#`2yNDp z1GcYsdBO>rvJAq`w7bzkgU$uO7R^L47VV>Lzt>#ME^A!g5X7jt`F$ooJkTzP_uq+=sfx^&TIF z9;`PO-;gaMYR&xj&C^=wB=GQIEckvHyE_2*nyeRA&wwH48&N=vVy_hXp29VYI zturmh5*F9Dv$P-Aq^0Z7H$EIDEisiw$xh8TdccySnzw)mO;M@Jx!x{AF?x}L{_$Zy{rHa5taAaD!#>|UYm)!Ls=3H|iia9GoLd^YZ2&1Bs7O2=0Q~L6@1<^P z70T7&_TfF&Y34H$tn(

    Rhi8MLi~U)L8laMYm00}CynyxjLpsq}ZsH_0R)J=TEm zHAVR8;c6;oqxT9x9V09@-7GW?o+X%MJulnVYbRtimHK!-Rd#{B^{({dZhIZX1$OQF zlyA@7RNPB>9BPXdr8u?6R;;jeuS0uhR?(3;KjufO-d?W131=y$rQ_%=Rqt<&)^5#=qvX>RRSr(&2j%&d~!;EBBylGu^a!fk+BYJKE5JBEBF8$mifUKC&;91Tk6<9p*-r_|! z?k{oiEEC{p1CQrAQv7wEn&TT-Cg3s=Zqjh z0_6D}maKS8M%%0YA|}4*Wj@-Gs6~N%;&%^xco29u(#h#jnQa0dleeVeb~df8^;&&b zBC1|GzJzfL1P!iV@tu-$Td5WP?V~;0!Sj526D(|n%?qjf7*LBt5w?Lwddq~)Xx!%} ze7@i8^UIN?cV3?FKXKqE-#>_X!uZcd$oIi6>_%Ok4nz$!HaS?^NJ+6N4svSLIoDaj z;?#{q&(dA76@8X>hLtDGv4Ej#2~1r0YXX5hAJ+exxka5R*=%#WPytEe3*sH3OqCYE z_vIWxg!u!^Gq0@-U6ZpJH+d%ysZtu&uh`_;`tI%U3erlzU3S;9^VWNmyy5ggPkDNFX4C`cT64p^b?z|-1-zj)ttD57%}+g> zYp5Bdo+2KcWgw{IM9cf&zK&rZz(=cRPp;MJ(u1&QCmVvU|D0U+b2EN*P7lBCM2Nt3 zZ*I`xw(ajGcBA)1yaItpP9DuBbt&(ha!%hcYkaP4hukOUoPCrou}zO-1trO8nfDyI z@^xPU`sl+09pxa-5_4|ytjjXZZN8X0@9i7jSUSzDxw!N_AEiGiQ_V;N+DG)Gf?jf# ze%p=CBGQGyx{3wmeZaw(w73PJt&3Fd;Z!u0`@Qza znZYR928}mXy%}Ws-em0~l?2dzz-YyQ#p=C)zCBXaHa4BW&sLwcL)&{iias8UO4fBJ z>)Z5v{IUj`Gp?5yvJZ2@NHbc2sGf|Px@X0=1r?m@+I(|Q+Y}-557B&=t1tHwKM##>necU6RXMvAq zAAxo4<(&PjO2@Qj;;17SS-)0H>)g?#zz3n!>^qHI$L7E<@Hzz^N84*14lkp`5Hj`Ns3K38iRZQ)h*Yx$5`&4oc!V z_oIQs$7vP0DMjlTZ5X%km4bAoBwV)v>V7p?wHkRXfp6QcE1Iz8M@^ByImAP`*7dOsB{^Hs(0)uR-CyqCItOwORPT9!C&9ku_Ob4erJlH z)mZdk|FAdf^&ssZWBZUs;XZz)RiUXuM;o_;hmj*s&3M(*T@jVP`RNJh{`9aPpZ|XM z^~|W<_qWqNJ-@pe>HPfDEu$?zr7@4_{M+ahV#%xp`rMyyzDuvz_hpwYv>a;fLk2Of zc^MnsI}H3q`!`0XO@b}zQm?)TTCj`5*%S?6l^&Q8bvxeS7~fw1UA0Ox%HY_Vz!;m? z&{3;sTk%^z2pY#W_u&MErAs0GF4Je(sk)=XD6d36Cfz{OliaqJ|6G5JmvUt%ljq-W zVO{IZHeSZD=hy@+kR}0yl6p3x)Vb1{rCvuG+~+VU=bInHU|6@z5`(IB$vyabMi~zU zVlkAq(qbhWqQSp3@+or@Bv|!S2kVcAoInJ4S0wRcZZaWipXRn_eJHUB?W~Og#^I1- z6F>49ttHf-b{JLo9+|Rp6KACt^Z63wfx6Gm&$8(eg?sLAjc3!fNc-=J@EQSFWVvNM z?Tn_Mr6VNp>xf>>EvNpt0*vlPCt)>Zar-*Y(v#Qy?mUC}Ol!UTpq#o<&wV@|33?lK zo~-4!coQhAb^R@MJ>aQic?I&|6JyCv@XWS1Agk;V;=40*|Z=#zGJP=7rh1bOEWP^tG*qwDMB)a_t$vHL!#9UrmjzR zp+`NE#_UJ#v&O{ktM9A`JYg23{u@5-9Q z?ghM0&b!Lw<;{!Ixyjb`o^jMKji3~1D*#o_zcWx5)p&hu3R%ke;jC3_B@aR8h*Zpy zD(@%j=UUl*iegsAr4_HSa?%LALOS{^O-8|Bi-vBwy0aq06;YiTozpH+rm`cl-mwwD zS4M)PoW^?IW7QB3Wb8q&#AoIJ5)aDN%rb!H-Fh#1fc9`@1w2+$7wag`Fst7cGzi%{ zX=i%r6*!+0P8Zr4q6wiB0%n!PtFw`T4g(SYw%IUN{b=z1;~`!Ex}RBdonxSm+V~aa z)WG>L>a)40NsMF}&e9|VMaAC+y)$dia{dl}s(GdD@3z&uZ@wi*DbD?%U#fYK)<2AT ziMJE3btGnylNRUM^r|}gUN#Q&htyey7r?tl`$D^}(%&ZaPV)9_(0Q(WD*#j7l}6Fju!m896TIMexmseT-h5 ztkp78skwnzLx9$(*?AdVTSUW*Em9d^D8A=4_e%ReTYy}E3HMS)%&h)yVAVEH6$D*1 zQt4%`=jcAib1tXS@QmKR?XZd5gH}&IZ8R7mpmhoR9WdO1US|g*0gmG2I#3Pr+BOfY z!3w`uS%+R1jO&yEJld%224DhFS+su>PPQpb4ZgL9b1AWC!q)4qZkXl`$g3>H%gc+2 zA<4+PfT|_XyH0M?)~NaHDXxl)tqBG}-u+;iRTQPp)fJ=&AoxSMs zD`Ege<(ub#A4zxZv|`j=x`M+E&~Dr$iUUBY-_*i!*xUd8@n8D!vj@}#Q#KmqA-9V6}L%d^%i*X`W)hO<00kC3q=0nK&N3Gh~i zG(O`RovLwbw$;J)aukp&S7U(>L#wDzvkmCtz4Z5tHs&hbt#-=0?%gI>%5dQNJqWf9 zoh|GA88x=3Gt_3O*Ip^YK@&Lm9N!dXI9sULN``N&toW-@Y4!%}3LszC)3Y$F=~K0x z<+yXw|9a*ln{_zKFuYCs)sLvD``aJUG%Zdw#W4G?USI4FSLgG?v%X>)`SkXqZdyB8 zHQhnkow`U|_g8B@_%~!pJ3b-5`h1`%2!TMJMJPg%XUozM-{eh>q3I0k?zV|dtRJ5_ zHhDKnj#<%iDYD{~B^${e$u8 zP5Px#2XfXp^m6v3aei!T%d`Fd9P{T}RUj_l=1AHmcW~>)B~2WpgX2l7k0YoDke6uR z2AJsZD1!pDhW(O!U1@`h6b_9m7)iI}`g44D6G+!i9nf4@)hLIAK-4`iax#YuvTy)C zH?GHmEr(S%cGBL@26zMT7do7tSzzYr?GUuSfCdc!DUXc$7MgV%IKBF1Y^XGAY^38W!O{3O$UJlf1 z%#`Ti8$bscq9BW^S8B$HdV-cgkPl&R)%Qf;V(!(;4g7Bkob5AT@;5x~M8BaPD>5QB z@IZR=1K_l=`SOa)%_za=wSVx!GCQv~`}A_;b)Of%e?<-5k^kHMvP~PV?KxNsOCqG?0A0zbeK|jI?KHQEX5v9+JmEYg2@JEq#x*d4u^zeZ?Z}D#2VaE7a*@%d+v$= zJ&_p|M}nB|;;)BS35>DX8OE_@X~uNkz7wwj-8}|NQ&0w{J;}Q7yF(CmJI?i>kXcsfgsk26HpBQUunn z@vcliWQ>h$nD{Q1OMZvi^t3tUyr;1fRM6L2Jl?Q>w_^~@r{3dM&bSPgTk>HZ|Lpna zzq7yM^;ZJC|J^_S%^yFv^p6VAtCa)6nL$vLrWY`FqNFlKT*Rid?J;HTV-xZa~`M;k=@P^|uE2jgF zMUTmy4#0K8b0bIIt4bqmM$ek_SB|B?FWXPMk^gOfQ^`vkXj^E_YrRBA;$!;0fM$W| z_&jQy8l!*)-`1#jqSk)f2d(85FxHr($64eVosMmnqkCC{j}grRaL4HLCy>Fn8)+)Pwi~$~q$jcKUVe=&g{mC!PS3*^gfU?Edb@^QrjH zC$M|k*RSvP_I0LyvDP%Bx1LJ>AAEXw{=^t>BZ_w?-=ba>S%5kSz7u) zSb^u2MCwK`=Sl{#k)U{TItVHMIsYd76t4OCYx%|U0N6oF6}9laQr?**=cZaoH+QD9D zq*j961Cex^OFU55c-czntRa8;d_yhWe3M#Z=4%b77bB;8$iVswOe2m?JdZ@DES;b zH&e7URW}!4mUQQi8V)OdGvvUR4$=<#U2g#&#JeZ!{EGkOI4@u=7H002VjaDL$B@rNKQqd$F}kNXrS15Ho!svjvKSjvy4QY1KaG-)>{SqL4POD zB+LPs@1_1p=Sl!l=g^6t3|!BnhX9ZhnPCT%OgiV=ahq5d>9cqN<>nzpZz5XMxo=%w z&WjWqgRwfBId3O6=2jTQJfq}7Iz5NcrXxl*V_O{pzao9=#NyRjm7pO5e$VT#1bCkc%0Ej2pDIXyGo&m`My+i1wM0ZA#k~Qs-Q%N)b^|GfNzYltuV@$u zF}o0@4E#+Ex(LTT+SX0Nq74d!uVbU~?+wh8(5nOBZXYAf1k~`hPq#b1S>+ojxHvbhi5R#JUo$P9CGF8>mBHJ})QITjVfuRq9@VY5 zBXB94wnHDK4Cva92Hxu>>KVOvaamW)XO_34lox?H?jKe#wsBh-kD`x^P7X1RZ3O&7 zT{mr~jqnRttu>#FX816bjy#NRdKV=?VjF3(d+Za>#CkoHwmCQ2C-Ad-?<;a)z&nUk zO$tlWSvBn7P}fX==TgwSz%l>k%qj{xBcGr5_$d{Hrn4+yesm3O;>7v$E>PJ-saDsl zb)!w23`{_w;vn*Uk{}GQ55R>L5B$Ba_1S8wc4z7^1G*56OYp~|zn$RCunXuxnR|Iw zc-N>^1F~6+-YR-ed@DHiPI2or83_ffrIepuFYu@4P5WG>&`0!{rYN<&L522QdhTWu z_nah*wLxJQpfk4b`+(qd^A_g3Nb@yoUb>9BvJs=la=q?4FR$yP)~ME(%B_5SYb;Cf z#kNj#)_y}9+CSPbMU>hzDIj{bZPz&!fgSuhiCp=%#@g2u?)!sH#!3|6YDb?q~L>2cY6D+MvqNZe?hG@<2=kwoR{O0TP z=L4WxL`J0j&8K1iH(rlS^N$_x|*I6T!gV@jOdw&E#n}#{wRBc{oXRl3SdwEX;6M`;{gZtB%Q5XU)5ubrsHGh z4~#-mOmb2=|3-(V4(_|^QIcNQSdV=iv6Z*7 z=35rcvn`rWB1QotTB?Kib=9f1c51Eb-X72$1;#7`|Ewl3c+{zNvgR)sz^vz(wY*cU zUdiYMPaGy^bW4hL{e#cS=w5?iiS=U!oQ+;j<5-RROuA5HB0jh3rj0Tgq}8JiXHyYpCNOes=IwK_+sz z5AHFXH>EeTd9m@Fyu92k-cY0S^+43^&%V3c=hwU4pX;!kcN0_o=D@8IhgWooF~+juX%jkE4Ab&91IED?KBXBP09wvuR@`TN-9sft0E3g#JKLIPS3z3qy&Gku`Uhz*%1&U=&&uLjeL!wmCdiA|DJw7eGP}M-t*=Q} z`DgZ5MDhM!fcNkI0^aUh4+(zHn8po5L_z}ZOKpqo`#TugbJ|NeC{kAGYu{-U5=>Av>&UBx^6U-XbTl7L@&nQlNYrj;1xWSMjY8=yo|rT+5x%c(6{<&qkjV z!YzP(^LW?M%nQ>)7=C${efVAAZq=MNFz>p*H|_29wD7rWNZY;Q!f5t+>nx6=!2|M5 z6YvKwB%x#qC2nrAQuY|KtvZf=HXt7+rDnG-QyenYrP;jAG@yGFl!J0b{g!PGa^IU z8qh3W-Jk1wN<-3|wBO_Rt;_64*xHNB!pL)q3vT23x$YI)q=OTz=+r2dmr(_pW0h5* z%-Ly#+_veI8%SxGV^%$Atxc`9w?foB9Rn6CRJ4@)m5WQR^qwOErP7o?tW6s)Jx}>0 zC)Z(Y`*{!m%8y78c$SqBFzm{X+JVLhN9`le&@iv-1y1i{z0mtkqZ>W+8N$l148JdL zVPBp~(trBRyM29%%^z0Nv?s9p<@rZs^vg)&f0beQ*~?*{*Z$lPJ)|aGhz6%qlS&rG z4b)SRV(B*)eOCCL-RVm*2k=w6Qyb@s44%51H&KXJ=zfYADcQ(%lrgLk_1aqRijQrd zV{06-?_6BgTWj7WIB0B7-L9_*(fjt@*ms!(r#0`9L&jG` zm^J7rT9gvL%c}LtGs6eCqH3)H`qrgLt>jNI^qX1Xj8bpoy`i&4>4!5~-`Hi?`C;8l z=Nagl>>r-p24_1}v>=lG!d;FpkoujpnGT^JhiAC`mIIDVpcKWZsNBKd+kNbQq6O@lnjus?_r zye|g0K>|z+x;nXuj=DIevW1ds z?;D{>egO-{UxUg((%c5xCdc*7mf&nt_Yl9B?VQ!mQ#GCkfMAHmb?+19Q^I>8`K5>o z|GDU3O>@?PI+b08@@A6&W_26I|A_;%lj|fsUhI7GrgV&uKX*W&kyhZ)+RG@#K71qJ zlxz#%Ry#JmhCJ%mNrNt^#ZIk$Nf7JR+_WCa7u|^9?VP`;s}wh%ZOLQxb_Iv*yOdM z?baLbQ|arR6UU%tZ~JHGxkpDy>Dl+1a~M`pp<4F@=w@-7{CQ{nNg0_rKkHOd@gmWY zd)EryKfh79e*>&pucriwgdTt8wL#iw;L|n%8(fDJrp+qr^EK|4u?OhTd!5rx7mA8%Z?aJ-;@Zp}pFpHJ8+<&p0N##-QV5)&*VyP&=lUWO zu4`o0Wf;6!%Qq3euKO2Vb{)LIeOt=LeUF3;dDQz*QtZQylwPw)2IpB~SDXGWDQ8d?AT@X0K` z`*hD*jNdH}`O%$m&7*m+sa#Zd08V2`Y01_yz0iz=bzJDWj)&ka?#X2J`?CLOH0S`K~0{GCJ1170oFg z2I{x|jhl*co2&~S9ob`~0j!JFS{~7Jtmx)wzL0a#bAkX@Ib&_BeaZ7yW3pndkPTib zq_aNfxg5|>1m+{t<4Hqz*6AHc$9-&jz3P%KS#;3AP!xGy!fh?1fM-m9=NdB7BQx1* zPdZvQ6@Tjpk~SeWJ;s_3o!&LDQ%=h%6Hy?M*|+t|L!eH8#*)4)YR!?k=QW`$fkFrO zkYtk|SPYco}pYEP9#fz?vzqtnQZ4dD5!~ zwKQjac`o{j&I8S&RKWYdXW0ynv^cbRixzI9HUP3Ukh01XaT{{bz~Wt5nMvnEHK%o} z$!I$OBc4G62@jPn?sA%w5oG<;IlI2^*c^9qq>-oJ)~$nME5mlsK_<$;TvjtB=~OQV zN?hC)P;)z^Xg<+!2G10x#O`G0u=zghc{f(VU| zKp2_D4a=J6mJ)HduN>f6(#4F6u8aK~DK|FLj(dSMUs33}c9TH>)2mFvTJKOj*&tt| zmksm{2BRiCSqi{-zB0`WnnOqrV{G7x5Nk7Nq>!Gzfx<>vaf1#2I6+52WheW5(9RlM zgFDkhmdwsN=4-qYHNRI~?}PH};K9xN50%%TeTOu+ipDF3R*X}1!zpxpv%fN$(93oY z^8yZo9(gn$GX%fbmeE@rB)E2vhpQw@Z1zLywgl47&H0-Vv$X#v@q+{-8G%rE1vvw1 zu~Mc@$lKB#9Mf8nuy0?%u>|TVJ%2vtwFCwQwUb9ySrZ++=YPJwodmZ=DT~OAAP+nr zsi#faJZpY0&$E;@d8uzN`Z~!Ilg}7{>m~bculKz7x;BCD6E$uZn!VO>)y-YkY24tC zjp-~tm`#gSR?yJL38dkSqz^{?dSyRI@6kM`p+plRk_CW~mrn&o%#EzZCSzIqnFi`Q zF*)~xI*6m3#Hy>C&M5K%>AK3J_dWoSF8Y5M8{`^jM)JFar9;9@g7Atk zAJP~`>(-fJQ&hdI76M`dy@X4>r>V+W%n_O8-~HnG^D(V;9aCIMU#Qb!DodYGBY3y7iUJ${D)?8$hn+#57_j%Gpz@HGWu zutrA`)&ef?6rRo0y3vfhL|#Ct-YcV}lsvDfol3{q$`It@5zy5uyLa;MjsT5qzJ9qj z?^*A~H|w%pZr3OYfuVR7nyr$L*C zFXsLp{eCZcD?Ql&WC5Kwd=_D?=y@AA$>i(-R+Yf@_rY`c(kFMV2HONk~X3ZFKdCe1Qg-1oqw}xs5Um9Ao|_+zDKHWHt)PNZgVd> zDNp2uCaDx|7D#Zx^z3pN?duaAair5+dN+-ovDYsxo)HyQS~Q_ExetoFA#d+~q_l=H zdu-cuTh91q1K7tspu8#vp=f_QgYoUX@g4rX?bTUludmmBRZ@xfxy)3d`jZN8w8OIK z)kH7XG40pv6juAob1S;O$QIi^ce4vO4k|lCpoY@ONQ1-J9H8k~P1pwaS97mMIcAJD zBVfCs=`w0EB9lteKGNc)+x}$pk>{JMnadAfBggaq{QB*wAkM6*`_mKP{o%{IsrFg| zy3fP*hcCBmnz#UfWuV4V$i1BlTB1yKbr>19*vCSiyX^zrW(3lXl+AKr`B1aCC_O~$ zA@Cj@*>!e#Pwq?d>M{hZuF+oPM|9Y~dgq;w>cWd~=9wbzIGPRkyMWa(lx8V?M)X*L7}o2we>NHMi0IH@{YuKA3H@D7 z$vP!k5Ah~LKIJB!&@0`#%Cyqu2kAvNg&dL@HORX$q=KbSpLEAFsA|~auR4IDd1uqu zG%|f`d!oMDWEmceZ_$fN1q91=n0KAcxhY<;$telRD1JRk=TcBl>cwQHssXE@BmlVt zN=V@1muq6q?7MSUfRluyY=Q)pr}U01Adrok*X3*kw)RRzIF?@eJ~873BI0}yIHjG8 zDUY)EhM(3!M9@}lOaWBA?WEDCJY7zQk@87^H7J#m%t>s*?sM`DH8y!;{vI?Sz z26P8y6qVy{R0k;>vt>|7**7bvf0hL}2+ne@leVb%g!r(=)y_7KjC*jNT{19qj(PS^ zj*HbwQtw{T)5me~3}6k|%yYiu3=R^57rz1hpe|>aGFOt0qNI3^B}>16co_wWKsm`M z=h>W0xexNIW!m2M6t@NRy`T1$e1@5Fv{SK9zO4t=b%D2t^c>%x$YX8n^ zGRn#WCFjJ~<#bj5nq1EVWgx<$-#=#s>#0->eTugCiSSm~NF(?R`iaBQLIo-H`k=#$ zvRIi4C~M+Hrz4|*N7m^!v#NdXEH{czD!do=xo!tk-6&Dk>Le zk-Eoi(5A;8?Me2k_q?W(0UfJ!&(dk{XnYyGIM1AIHrmoL9#&Z289k43hz|xTnblh6 z-?QmB*T}tW`zgEK;1EXhxM2B~rYF^XKBz2b!#;`zG<4?LF&ft*%BF%Hg?sJ#suiw?m?qp_~@34LtX9$j0jPevi3WYOcu zO=b-bC?Uq^*eIg!#iFpNdr=Xk5Lbx@vuFU92c$gQ^&X_ms_g`@(6(_$fjH}$lLc=S z)v9J-V^=Z@jE$_3VpP~lh-e?lIpua0#uy6Gh>W;OJEn*r zaG+(ZSy)A1Y3vzO!0W3Vhy*x)FYEnG zDccP&rEw@>;Z_mN>*tCzU7vk@w~DILUb8W2tzC9;JZTW|gX>v0zK44*!L`7XG`ioR z*ss^iQTo0Z5TXmL%T?ri1VsdRrlXcj?Ixg$^HVUoqJR{wtLrW=uFb0VmY&o>kcD&p zuw5H4!N08|v5af$n=n8GmDk#vHLz7pQ1l2gWbdKXPs!ApyVzXx+|Bx2O0m_aQa(G{ z3Ii3mq*OQQ%3%#sS0{MVF&rhfy%#mmyq8}Aa(R(&LuYf6_Ml|zIjY^2O;^mVJI;5i za%^;*fBUvQkn5y%G}sXRZl|nids|m{Ik!1+EhddfjZ3^Zo7s%!B1)yve#}kIn6q^bR}N{Qdkp6E@<={E86>-(xx751Aa znEU6yd9xqCKI~UdfEOK@EtUS)r`P3Yw^dj7mSq?gA6hB90zU@jHwU5DJC^Ra<)KD{UX?gddAcHVvPQ_;6V7*X}?{+xB2nIb+iAP2o zd1tW0c`#cj7)fM!j}C^?hY>|QD&c%pGq^fOHSbM3ov{zm=L;aE;%*qUx`k{P7y zj4(AioJ_`*Rb-u_>E-Cmy&)}^4#3Tuc*dYn$TO84{K@#^m|RlyaR1N5n4V=crPMNkua@ zdq_@IPg#;pB@MPh?(Ky)?BUX~f1Cv=mw=~*&Rv=eAo!|~}!(}@QJ=8No&QKcCdACMec z8M;}LfVQCeCsa8U8h;1(Z>`P!)&e1U)};NSXc3mP6abH%fDX5siK%pmoPIO9=MMl> zFMT(&CmphL+@TKyaTAa%Ev=OyO}Y2>5TK4FN1%fxb~O;bTNusx0L~-l&{~7!rKz*b zaw0w6Q8#@i14Ahr$;6B%UHFV}Ir63%$TVtAf0X`oP&i75&&XkqwD;vOLbee2AA*iB znUwi?G|=!wI1M{$OUmGXU)v>;(a5(c9aja2Yw;e9F$H z#wsVA8Ew$UBXb`W(k#QmpwBHDep7@kal;CZ;MkL%9VLIx>Sx5#C&h0-C#z{Q&LFZ& zj9Ckcot$T90VqoZ=?cCVhNisMV}tNg*-JOeNm1m4Qf zmpUB?`is5`1yk!Fr9Q#F zEcZaR>Au|q^DARuE2{uzJ}OeGmpU%%Tb^2zrxa_bNS><8Yqrh3Np~Of4jzgI5pm6N zpYsZ?dV6POlp5F5Yk+ZCM-6{JCta4q`t@O`7~x-*yEZ;T8{Z)mq-*v&{7uEzOR?klLbV(?-4AvMV|J2hF|ZsZzJv4x=(tH zJuY*|W_MG@=XDJ;IlLp6CC_PpZ?@m<{PK^~(9O`5Z0vP!O0!~mc7An(Yi zC*MH+kd(#Go504fl4qLxx$#!_jReXGKt4g^V_mzPGs`LU7e72wf&BAdy=CLHFHd0i z{ijFr^3@=1DaSv1xu@a(`ZP{I-B^=xV01Six|QY>(NV`L6{M)rrQkj+N?t0f<+v!F z-|okx{7?j{Xma2G!#BlJXOhI4W1=1;I*%yqg-&HUk@ok@*hF)bUX@BU9Tmsuh*$pe!zPWGmVlaxk;D~yjoJUn^Lgy#|^rJ}@9g3nC zgTkH;u+8zeUN`cvbGBmya%F4EW32fY>@IFC+j8!5z?2@srZ^5~g^Z(lZqYVIUQtng z7=QHuu&ca-9AipuK-WSichdj5CO%||unbqGq@PyK#|4xKTxcm}wtM*w&5J;JIW{=TSIYG=HkUs9)W7csW!cH* zN!E>i5cO!;xGI}AaSzh@l!6ZX|0o&7G~2w_L3YhB;xBhzs;*Od(x)Tz&Ek~B6u zkqveZ@K71c`OHO=D@uvrRLYBWk5xC9z`$pgSy+biXV%C1{?n0QZn6Jb zhjvzKwBH&qR1+-$m|0%HaK^x%@&4m+n(ELK8XKZD-zB$k|j-SuNQOb^mK-d}rkBabc2%Du9}b3f^n z!MQoox1nIPbbOfXrKb1V^P&gHCOB3pla?NH9~G6K;NydMm@(*%P1Ut8gVE5v7Zcwj zy-3HL%!p6pvgc4fb;GwV|F zZDp8@ymmPX4%KI;4$Mm!ScXMO0Gc{(){IAxz^~rUuYc>`{ORBNmDc1E!8^|5ALx)J zBe)nJH#}j0D8xjhX)9t>ujr#+hk2ATG3xyi2V}N5=%WIAgQXh8^dp z`!skgfE(*jK%m)Xq(se60Coe>R-ggotCwJt%CB*Taw{%t5~UbbaH~rR7cl7Xnpxk! zRzghIG!E7NwauWz&tvo6Xcb!*qw+AL?ym@IJ;&u))ztL8UW9s;QB1-WNIjJ1S$~uE zLicJKyF5cPA{47p7s7I1{Cue zy#r&bPxgK;`uuHLKB#&^k9}8-Jl%;hGot-%n3D`oou*&C>q-*I%>K`fq>x zu-`pB{P94ox22r@jg^}FR35+2&bo#=jl-?VM@Z>4zwqGAmayJpFWKMDA+NFFEYTsS zsYSt?rZXdFB5Fr+eci}^w{tHd)B1`zm9Z10)N1I8*tKY04)TeM44g&SS3Wm3hLQ5x z1!zJ(E2X~)9ML((=%ti3q@P+l{xTSyjYzYNfQzo3XHF3yR>pru5?L(=n(^>EQHF_^ zAW;N~=8osnz-U&IFY&tk4iBDYr`qp*wlFrOiPtN7G9^=HRJ5lYst3a_oL`#JXIaiI zH!tBEc0F(PH+gex`-``wJ6JV9_2Lg+>F_B}xsPL?hgn5z7wu_%i|1|p6f0YN#3)}9 zz#CkxFh-*`6E1m6zF+fLYgWv4G+&#&25a6AC{cZnT7IuOmf~T?vxa3w)OfDJww5aj z_MPL-eJY9q;F}Iga>_ibGrn1ey!-GPtD2N0ZAlNFz3y(dIScUIL0&UFuGx5o_04_d z8PVV+BUg0lgX4$e2^8W~9MyPDG@Q=917}h4ZviE#Ll+1tJqzH4vTYQ>p5q^YBNEhO zPmR!eYcIr?iijmqycQ8r>4u^a86}B*M(La;_jdqXt7iI&XkK-dKV|q6qjnEu zB`m}D^#;9norCPlaPx|Ab-OkvOlL{0-9}Tpu=ODf4H7dxWMU<~LttezvbWQ(&)cqR zF#2yaxE8fQ)MxSx)wo-g{)*rJX7YFv*et$ZsZ$3z3>C9g>>}AuM(6! z0d9txX6S5N13fxZ*ds4HPZW=12S8EH%JW2=Ez68NvOqb`vA|uU<8jzGwtAI;;JX!7 zY#n&kIwU4M&(^;Zc2?-#jEnA1?Z9G_2o+Ef`2E2EvvVrTjB7(0HD0ISkDybk$_Iv( zlW5M?Av?&4`ubpVPwzde>&TDdb~&J=9#&&jYE?cPIcJ4=*+=69*ka4*0f5ptk;U>&HBML&X6iZAh-icbFPKu zwcMO`-K+JQ#8yS;J@;sxzu*1&ZQTF(`OCl1N?!op=Rp1;!k6IzneUJM9pUvE*8=at zT1=)wbnPXxZXD(n0^bU{cNFCmFxb&0DJ({N(%KlK;_lNfhAQ_(1bG`<2-W)UHkOWx zai$FD&;k6*xkZ-*$jwwZJw4hTz1oLN2T_qX`?ysaK>%nsYTH+wpYbH^wSV^r=Uqt` z0N&kQXU*ptEj(=pc9RKibxojn3+Ux@4P`5WYun`wbdas?ulb5-*Uy7q3_VXwUBoyU zX{)tfuk6mq&2){8Az-nMyF0%JJ#<#e<_avnGvujIBI^ zF}=>Lly4`KRWO9UQ)Cda2LcZ9d0JIgoN1OtDkfYkahU^tDNKc zbe`E=Uta%(Aq!gj%}>*QcsuRKA5Z(u5AXKn$w+?s;ZY%Y->s;w`^{cIuT;d)hUa_=h8=AN?h+nY>}$TQ;IJ%Xo{#X<2eEEIl{_GEyqbkLN0z2h$>_t7Sqz! zm{yv!`XGpwut<}9qiELz|1_LYGAed34=M2gV?FC~R+J0EHSp}xF-(*T-GI^1;-kSm z68}!eskLKV4tC%4C@T+O!?a zGX?GEO$H;3q&p~zcU^QFP;O2#P(&hoMI-ieI4?dL&5Ak*LC>nCGPB*#<0f}BHSay8 zXQe?0$Hfcp4mdu+Nm%G$hGQ04~ZmpC}mk+C2_*$v>hO5srUq!VuftW*|CMpyCtPY3-CzQ6YA z#y!nwZAV1Y9uTs;{?5Hv&DxMHgcqLphWbkSGtDoCzd$D#R)GzD7qpuBcVo1gDJq z7+G3o-6U-t*3ni2q>M;seURk@c*&+!N7Bseo!71ZExqIpew(s#*<+70_u@86p{liX z@?Y1PRf>Ji9oJ#plOQ4heaWm`9+p>9L>}y>!O|c{$;RXzCjnW?`UL=Gw6}om(+c<# z`<1RVo&0-tx<4FY+~aKwK|o!_mlVxNR+8_<**a^K9c8U|*=B#3RkWd19dM5+LGjX{pZC_YOb>0VWAB%fzFno#>S z9U9bwC(CQ7gk zm_2F{@cQ(6RD>@alwSPV>3H(Z{!uovGP=X8GBl?9c4wTEEQ@+tmF>uqNij-JsS<&3 zDy)65B&PI1-Or1)r(=6|ZwT~XKxxa&dQk}+>RCow)%{9VMSqsIUQUj(Mz#l=7Vep% z3ie8Rqb?-prTg(e*zW^)|NB4r>5rZd`K9WrN_b0|Itf@7?8eX3a17&V1xtnnny;zE z`nCnUtkMcYq32lKhe`mL7b@<)gMcjbU&16RA^OdkvDn9x8Kz@c<%Lk>vNO@Ksk;ZQ+ZSiZfzZECW3haFd!A3y-i{qYnTsfrgr!! zu$4U6c6>uZO|u?SYN?E*GDZbd%2??w)?ioyNTZ*D;{GHBG10;FD1P5--)KlY_xIBs zK+j|LeZBUF^yAyuqsOGPu+xN;xint6=F^lOv#SzK!x1p#D*Y&e=MqM5kna$yv`YOb zQHh(Suq;Fo&t7}|)@8hHx7WSa#A|&NC} z?-^`}dQ2KrSf^SU(_h2_%&y>&Tb*;!CFY4UzmzR!)L1(OedD`chOHbaSc|B6DC(n* zZ}j{W4XX$R)n40=r7(@?>2V&t9?p60f~}YRuJwv+VABl4 zScj8iwmzeZ5YSmbsSEBY$CE%2|8z}mH`?}rY&1w*uKwQVPMt7sEIE!QB$jotR%3xL zZ(;xMuixy~Kb`i&Z@<{%ZRX}M`_TU2(~JE)BfBiiFl5a|(w=B|bLlanI7*?%nU~W5 zI?bS`gF2*1FMdRW@1RRYFKxu1Yc#Lrc?7J9y^7yW@*tFXYG<3#xT*ai!*a@#++I3C zif0&Ubiz(x8oW?69f)aJ3mJeXckkozN2xqJwxWC zEKT~@JcCKDl#AFyfCt$e)Cm-l7o9w>5MlyIxUQ~q1Mtk8jzHcc=%A3ER7(5e`8;>( zA5kSIxDRf=@t#?Hc5Fg2qUA4)M4s*Fvy5hNxTk;+@QT?rCucV&x|#Uywl`#+IrHho z6SPNH1pq5@lGjRBVXV=IS!0T8@I+o>U^t4RR*g*5dFR|F92=*CG`t-qXnIAW&{?Cb z&AO%Q$SWwIMjR-8HUPGr?+-?=MU6>t0M0h_TzHwV+H!)Sw&MbPQ5SmbL?9s8g0(0C z@~+8fzTydk&q|xYqMUenwy1*{BVW@ouz;XIO~BlZMdN|7EHG*Tu&a4cmsy$$=rby-Icn(w)DF@?7eIdz9vZmo=z&Eq^In+TZcT#n`m%HR^wX0|Qa2{iM=)WBT| zPHbyArS#BQuW}dwfc;u3a01|Sc5IT}1V>e|)&h@nsB}20zHct0rJ}(ST7&#JiUv-C z+K9$hxt?y^gdR2L^Y|PlD*?9jOwb>Ztk-qHgQvBkY8N@6Gb*8=2uy)y8D%`ZGH9I7 zGnV^s0$h?ks#~9r8>$g+Xp9!*3r-$SJr(u%u_g=j2KK_byAGm}9$w0>7dd2$KEUZ;|y7Nw8R_^9VHXhpOecCj;EL}uW# zsdFEG3BJ(x5F`b<&mCO%jo!0y3Bhfh95j1ofZnpdZZ|;F>RW;mE6)1gSVNVhfvy;= zze{`C2<%fHiiZWq`=EWR;DWr>fIgEML8CKC&91iU`p^9?qQwVj%9ayM`J}8qNzL^y zb?Q*im6smr1jbD&1J^rtVka-inzs&~so)`Hn!Zp`Q_$KfD>2B6&VXI3nz}Q3PjP-F z`#^LQnK`Zuj4&%)rRw;Sm#XYX`moNZtdw-lPsmR>=yfLc@9IMC0=wWACLrOg`^_N=FvMXwcN4snf|E>XI8DV#{ZbZ;sd9t$XRJP>Xs_q0Q2Fkq5m=Rn zn4Tz&A-%m^hwP@x@1NY#caqm)REsY?)OC?Y>$;Obr#YJmS3@!?U+cSH9{rr-P%SDe z2A>Rg_TnU)Bal)xLiudTYB+B2{*3mJD|)v;Uc<8xO-zBVYea8kj%#A8=aPhMDj+vY zP)OS+z;;+is46n4Xowd-IR8l|EyYNgR_j{SSOXnrgF1=bfFYx?1Q$vveY3tNakY^c z308EAz1#T^{v56M)cO_(bYfm(`y6+naONhYFc&SHTf}tqGqeXqezC2S7nf)Q${PUK zaO&CobEr_I)!EKYSYhgKK}=Ba8^Z821wV1F{(rRB_!H z5+T4?FMg2G9y}LiI4;>uZ~=Q97v(YWZF|X9z;*M%;cq$%%aYE zL`N?N=8?~!?vkm=GD4WqbIy5LKY{WqUHrIEbdO~)f=l(J1stbQpz)jL)&PDvspn)A z4~(Bd$)Co`BkKGtUbAT8?o1Ed`Gaq~BYMvIcm*!3n50v(-wvC+l4qZ$)xpmTec$uPBOAh)vi z0>FW5)jQHC_l%RybLm%}#LAhO{g4gb9JE{Pdv+9N^IXnjAOb4+gYhi!9C65|DD;vI ztAvBNi@Y=|@^;GM-1LBYy`ZN%*JU1B*9Sl&+FxmhG0?-wS0?wv88xuhYn|i8mzT36 z>wB+gsX!#v=U3?di_d&o_0pf?TG<$@=KjiDdU-MX`~+*|Jh`#1_^M5q!3SfMt^->O zU}Hw}aX}}YE2<}%^E_c^s@oeM|+#sWNeS&u9LnzLm z%&`J@a~OjW;PilsAFV;0w2f8&Gbr>z+DHJ<6`x4^LT8q?tN>DM9p(led@|xv06qBS z9E^-CIWF)RO7sE`(MT_<#;bs(WiPG3k5k{{KIeVOJ5b_LwSTwuOrClccUa?8)MM(6 zH+0HgP8T?z7~vR{?*xYO+&;QYB5HZhvOjU(Rj-u|vDWX-TB8)~X^Jr}aW;}_IR4xYv^%YtCNz(ZlgPGJ~}v{ttH(Q}90 z?UkVi+QNP>U^i{UWjjQN*Fg4D@<+>j$qEFHY-fN7SK@vSI zjEc|^k)^l%P+{bac=Edb2# zR%5&0?xu8_3z2fs)*g7RHP#dWJebBB`x>`OTBvhiDW}#DqM zro?*fK}Q-}h3Qvn^#1Z@vKS1Fu|efFh2MD@hf{bTY?81pTeVouN~iK#Zt;czGw6-D;vKuf#y8^hWBp8`{b`rj!aQC2>d=PZVdSye#bnBC13J^k6JlUA% zPA`0R*L*%}DdDRTj+CVH-3aoAmF8s)WR2}P`ZxK0MsOZ|8cqU=bLR~q=Gi3@RFVNv z9QdAg@SL0Aum&F9A2<(>)57opVRByWQrD*67h~1825_4Pz|F? zc>(LFv8r?D6gZ;2Bool%?u`pqsVI1YmT}MMpOl$Jao$R%(7CilpR|MhGPSDc6!%b^tyTT z&$Z5pTbm-5T6x%CYy2-%+O_$4mZHx<5ynwNs?X$%sB$CDrcF$<$`O>Z)z9^P!^=;aZKfT+0LuApX zCn3MS+%jGFo{e6NA@f;pw zbFf-Fd0_xSDbD5wMW`(k@EB)(W62rMH4#8@$paRf{YGT1=6w1CERv?w^rj(MshYoyY+NBRLYl{=x%$J4ON3EpHiRz*Omz z3^#m1lqbTq(koB`Ud9&M(oGp5-t;)X=fYRn3mXSTBKB=+;gnBoM)o zy4(T!Pax9Za8Lu%G6FKaR%Zb+U~Grvot+V(>lx)Od6M))I`_Q{q_B6LpMacxd+G*h z;0!Q*vB5NE2^QRj7jTLOC`Jv>E4xIc)NUDp*)mzda*9+eS+t$?KJ!+3yL{GO(KHK~ zp4tW)G@GCZ?gyh3+ql8+9Z}zrXo{|?3@Hjd@M8dY2g_}&h%l{n8sQ<{X7;*iy8Igc|1)%SM@i#-)2a=*b8+iCM4&j6gUU&(t$vU>_>~U>#Yz z%8}fhvLIsP(-IzM(MkfQjPT7f8UUX%iu4T1M$pG2+JMPMV+?jdgf2l5gD!p>H%ySt zx(<~Gy8-yhMrMrITjTU6U7cf86PrB$=PVuedB@}xZv%9;Y=`BP{d~OS+P^*r@P|M9 zlpC^YrZ1lU{R{ZTist(6^-jkK)*#C<9Qb>1ZOKM+6HumxJatCdhYPr#kG9p)X63b6 z%Qp9sJcIkLW=J4K=m|CyeN4Wz-kPXQI_VseE~6;QwU?Qaz36NKTMi}jeS-Gi^1DY8 zV>Z(=IK(qc;KUv*$KVT*leO31zZ^No&rc&@H4$|>vVn)->>TNsqTah?(xQ=vv7ALR zu98U#N?L1n&Mxnlv~LQ2fy@A}7IEgyTc@--BBj6NT0RglKFMUNYzKKNB6G3688fox z&k_V{XENw%jd9tF0wfXLg9j#{!RR;LINyhSe_LHyjkf8DTKyS`dp}^0-UwE@_cXkn zuaiotqKz}!ea*}(rv(|w3%vjGp6in9^t|rmNk-`bWVME9>ll=SmQIq#iu_+Sw6iH7 z=5x}Cxa$Vp2n^#e%Af?Q2bH}!%jQN9(TNC2utfl0bCUn>m<9OCl0U2L)q_~XoQf8w zBZvHO&ExI;-JJW{nWfC04g#vArN!e;0>a1WCR@ofSqdp0;EM;FQc5@>DxD1lSMVOO zkPK8Jh?|+-j}Fpv>Up^&OyiU+{+eYY)S%K5EX2NBmnKtSz#4xnS@+0sj?6}x_U;M@ z11%mbF_Qdg$Ua6nAe2wI+5roEpU(+=UbOh2%{p+j9+XXocVk~_3>DO{c)l{gASPj} zX>Aw4zpnkdWZTm)9V&qWHV=$}{BRcdISDXZI=a@mI|vk1c`)tC^N;s2OaE3GAC;2m zsD1E8mAuLm5O8Lmm0QN36rRI{t;7R-R()nBhzopv$(C%)*%8g@$bUd)r{0;1!n*YC zUDnFQ_Zr-G>BpIgf-J(4#MCF>--EQy^{Fvqzi$Jzo8Wn=SP8DZ4p~BDX+zi%V)Yr&wCN{!)n{SflUxZYygVp*ySyHzPg{)p|0JK@mK3S z3ry`X&-(85Be$yek-{L`mjEE9azBpI;D7Mq{wAXo|`u0*|LUT;?Q^CaX^2eg$d zc}xUm>JXGsX*?YEVQ=wE9mLkxDIs~?pdj|S0j_*Lws;4yMFUn*Ck5iW6+j_cNMny3 zO%)Wb^h(=kOae5U1u!pH5y6*QqsL%+(mqaa+oMt6s=S9}g3eUXcppgdd634HoKUr_U3DZ$>-?!}GE&;M`CIQpDh$yc z)WQ8U-`1mUYIGu*=}4#XJ9n9&=lC{;zHd-@!g0rg6!8znw|Aw|zAeJaUcFb%2~BT5g917g39PJ*QLvu#p#$=VrxAP3vp$&gbo@ z*y!x!{zQY|BD^zDm+S34(!l-Q6WslaAKvrtzxef6`|{<1`hd@cUlF@MyWcZa>UDv; z%dw<&)S4De1=A&|W4K#4#zMVV#g5!AsI^rz!zr*SY@-L!M-(77yz6MIQD~+}C5=G# zDjL?9HhS{!R5nu>w7hKj4kKK~8L@Dt&T$@YOj$NM18^Qnj#*gMVi%L~-h!~^NtJ5L zrI1tGNf>osM$SLz1(Q=1fC?k3qUl|0URg>MN>uIBQ19rmXr4gXk(iq3jPno+!l;y4 z6{YXxO1js&pFDV#4d%^X9-+wo=*S2i1_Rif>qHt>1h9B#r6JOhr*)0dM@tkoSehV6 zv#O=GXf2~+oHYd%)I<;uwBTD!P~1;W?tGqGXC7J0*k#jKE*PV)Y&(Zel5YK0pV4s@ zy|zUs{5{VPW$vPN>FbgOu_>PZL2usmN7eG|b?5HR9;fswufMxz!XDA)n?iAHtm|Pd zpIx(YfOIGM?Tz!+8s@AIEUsio(({($3|fpDx@dC&hD&Cqlb7-%!Jdd*GvB_DPNt+a z2&g$IJ8Ms-sj*o#_f2OC98gb-ouv~hoFOL<)`Go*;V1_;&x|t)*HG6Oyc>IbL$@uQ zeV!3N;M`IA1TA z1X)1v+Q;M8HK(ZE`80&dT=LPDpXrr=<$R`(gedGCAu}SOvy?#d4$I@9>L%VkkJF$9nvfN$l0Y#oq3f$5T8%#nmR{T3cpGq>I3P# ziObF4c@lqWUe-21V1IbDvP8v<%Cv+dXe13QXhUZ{^nGRyg13qv!uf;w_w!Fhaoiy5 zmt$oxg(`H45}ah?!P1=#5vuF=RmXE$m2O$DN7`0gE!J192yU|~UxCslaml`QvjUiN z4OxOpI$naG4CGpC@Zf%m9hDwp1Vo8981MTCWx0yKBHFoY%`%XP(K6=-7=uSY*Z=F8 zjvjeNGpcf3cMxm_Yo@H0V@$E5`0OO+fB+3R-Uf=v(CI!H1yA7Z6gnae$%?lvN9a3w z={jzcboCIgGbYPj3PIlabh`#Z*z{gn7FUCU~0!Jk=5%cAfjol9(wbH1~lzrVl_h}jv+%LMiIMGt3Y#EjZ| z$#rF6-)@~@qlRaV6IqpqF>)dVj(PVo^3I|>d6w_HE;xg<1qVh3?osbcK;EtFTGKen zzQy_s>G{-^vjONKe#A36tum~nPb6lVa!utIyv7*Dh;u%#GO>n&$fyU>;rzVj?`e!V zyI=gH-~RID82>gGCXm8#WAr8%%?a?&y0~!~J!7vCOEoA26h$fGiiTMeMg+*<=k)Gx zK%DXKlhigg!}PkeIv8e3*H^PG-5X%fK{}xDI4RyYW3I~~G(id^!SA!KPowyGIv$Tl z5&ybhMJsUr8k3ajJ^C1W#=yF)^?kY_^qnNk)wI9}$k1E$c$_uwRQ zg3mViFA?O{K(EGAjtA|BS$RW>gYoe-MsLq^kEtWqc7;jCq}G0Kw5QZNDGo~O@=f4_ z#+jZT5}dsr;A8FV0Bv8#Jw_Yrni`@)@rMFZ4l=m9SIB_8z9*qwwCY_lLVm6p9mQI5 zCpPdctPNyuu|M<=L@%vp643hLHS1dmZx}dUP$?iN~wm9ujmLyWNqVI zH&G+9+S~2p+AD89JH%ryJkm?K$=h%2OncosWtTcx;@8C|atvL&HMTEE2^oxXj*Zs? zfMCN3?ty6faS8x(`{B#X%z{7r&BK0tg1Nu_;q3|Po`~=bjOl0hn|)rOz;nH`(c}2Yrnl{Vy$0xw5M`f=hZu6L=i4#*6DC{hBxx$a}>c_XY4|sdn6F~57%tiRd>?8 z(;0N01gb_cRmY(~1?`CXBl7N8OR(a{l@58#0n!ps& zKpLMbWj%VI*L(N-fvCqbE;8Clhn20eMV{o(0EnCCL4bz!x=fDnWHYg04UoOhmMQr? z8W5;sOT&oc127^P7nL=$$TCY5C@tO~b55RdC(y9VB$HkyexU_Ft)q+iocuhRSBVCo zOR1e-JO1OMW05`|IQt7YQ-t&&y+}{aG7jthgONFb=T}#4Z`xCB^Fdkx;1n78rReZX ztv(QCSO*|b=3`}CWF&LGJ!?&I)@YkVXA*#&1)V^%7ZL^d(y^BN8ep2I0O_Qwk@SA1 zL-8ygX_O@;XDRhZrgX!mv)z7MYx@*(s~L}?@c~RzE>G~(j9y|1xEBK-e0kFLeH;lE zyxi{gX+`Ho5X?3E{6tvpBPt^e20Q*KYJLqN@#ZPH=8YmoI~#rDpCpOmX{UlL26>-A z7V6D@XTz(>44jSkEO01yR;7KGPR@+HloJaaUbW)cLHNOXiB>!USqgFpg2u47gEf#B zzh4o|cLMq=?s?H+*3(7#&?ns>{rTAVEu!|L^cji2-FB)yT%VufX$sb2Go#U*@}whA z{3qA4)|=;wW5~T{iMXm`zu7q%4V?Uv;A8Z@nD!;fx*KL^G%fjH0m8=gX=8*vPY>Q< zv|q`ZDDs#jgmX4e&$1}NUOk5FjXV#dZQ_`{Zts+Z036AgR@CHbK*oA!S|`{tIHyjG zVMTX8wyeyY{|YX6N1vVX#8lqj9^6mN`)zhG*NR@wEDXvnInNFPq=|1#+LJyidiBW2 zPDEs@k@-z!72+&A?_3dyv=u?#17nlkoqExMC~62;-kX`BBns6Z-ECWvWqxltj@Ft< zciKVs+_Tw&b?udU1hl>2Ti*e%z3dEJIq$53wJKDWKz8iHn#RWZQkfgvJvIXP&rSE%+#}`ho6kPUA#Df+eZ|S zxxb7Ka5E?XiCDVq9Rl8mS60t@o#cBt-Cn+uyhe_QA^?98&{2Ct%J~VH^E#E)_Iau ztD?uMp(h62An?vC%sR5R4G^;({2b{4YS}xt>-rvG1ZoJj9TF4RnA#}Q!mrWJR%Brr zp^N=9L&BKW)wi|vdQK;dSy7SZ)DeJIb1LP~KZ1FF0ghC90?c?6T_{~=gT}6F$)T1~ zZxC9xDf?D>SOYK+E>K3t(e&^QsLPKg-Jtj5UiYxpcg$)<$sk*EGlAVI&Mpx4I0Syc z*a@yRlnc`PjIK{qk0g+_6kcV^&ELZST|kQyIBY>9#aAA3(L7}Ym!s)7yp8e?dRzgn z8%b;o8GrBOCop+j?uol)DHI=NMC<;JBV9m)z+r8zgr2$xA1r!qOmjS=$DlwB_m=H? z&Ws+nXj6L@+sxE_&iwZS-MU{3ReV*9b&W;M;aV9mdho8KH6&!C9TMM=AK%ct1eg^I z3V0HIuJ;9V+Jz`ijT6VT*7~CO)*$N+CLr6lD9$y=Ohen`j(dFsm521LbCd>A zz_|QbKrz#+>1{gasg;A!}0?L`8ZsU&m%;7s-nfS{bA>~lTetd(iAlK(j-?d!gd z+IOR~K=L90%G0fhI)W9&f#^;F*<)Kf~q!P;wPBFqYJw}7KNE0LQ?#9~V_|Cy|qx(%N0cEsV%L(zp za!!~s2ih4B($VTH*v1p+ASaJiWU!)#w7=+E&}F#P>%e(NCO1_^u!&A2r#V)?a`+nW z$u&dL49{-#9CJ^Zd2*4-{Bdwxr_y{G){`}N)2R<*3S*8w-(2a6_>L&&jOi>#lr{xW zS5C%IP$r_C;=}mJm;z)~Z|$XYq<4VMDe(AyaPMW{t*Ap8|J8=p%LFocReFWxAZ|Cd zWHgNK$uq-!%;=tIS-g0o2xc>cGEj3p_qo1z+YL~R8>$58=s5ZL%>X))E(RUIi14!n zuIB*AJft}|%|O?FdgbP=pIHJxPA>wrgU{AI&OxBqSS}!=ei$)W#x&s+M{q=@c%QRn z1?L4HM`V;d@t=$$&vQJEnoqJ3m26m`-$A~rJmNJ%3R7urX#_8Ud>a6Hc_w|8Sh%Au z`ZBbaHSzj-x6jK#xAfWd*#RARHNIW_KED5SbcW7J0Q2zrw_cMS&)aVk30e=9V^ddk zIjxlCDF7*E@9~Pi5l{mi)iY`uB?8=>dkuYa&w_B2=W@$>s0*n2`UbG%cAHsl;m5DD z#`nS)=lg*)`~_HNUEKBV^X9M5KUPD~Wq98yH`eEwmGKlP&S*-2yo2Q?f^#{`iKs?< zE+Ghl18oVssh%jU`-OB|3zmoL1DDjGHRJrJdFD8oQ>e_0=^F)}xi}r)YSxGo1X1$X{jAIrTQo-Ktbvf<&|vMtNkd z)_?uEqQ>tx;xnV2PsZ^e(l9sonzl<$Pw8UTfj{C~Hh00uCs<)I(lN^U z5sk&b?uW4?*4?paF{>KV`8R+l zIGNlwof}!sgHi3P2Ctm8L4HH|BxdnA<*4qgu;q|N=DO@}@ZWP{w~c&6 zXDsnb^9v4^QQ*Yl1Qg@`tTX(?be~rO;C*^yf7uL_U)~jjoPZusxzw-`Q)>;BbLrK&%43MOhmtm%js;+#4ShpqRwX z7UUge7q&-Lm(`)?h|$>g5$COF2aI#r?j^^1^a#$`ARGh|Y65jr7>q>`;8v?4CdupE zZFdx8IwQ+zY=i`%G24?5UN$zvxevHfF|{_kk%y*C1gnBHYF37#gh$SgOlxmQWcwPN zNa5HWB54?9?N`x35a9D>bV6mrv!>L(uHBWLa}6DO@-Ew%npdj!jD0V=X`6sZbb`cv zWZ0(yG*IVqU9%dqJ+=snb>Dk7iwM>-6GQJuRe1%2Vv)ji(BPxMRkWVBzHkw4^57-| zJfJfnn<`i~VFN2jL=Z?;HCn?iI@={8cP|~H+EZaAZ+l+6*SUG%bjI|V(mZsX_-+Ad zRwVn4GGp6kUP^B;HM8#_1AV_|)eT+Oo{Vys0BLOSXE@W-w==78NT6Al^vJcbO<~)_ z_Jwok`Yqy5>nb3+*Nfm1!P0zhmR?yjF}#%$f#e4b)k@K;c|`3G1empu);ttZW1HiE zgeFA;`|U}egS`Kc#%%;^`H-xYJ<02>jej`=<>1&i8^BAHqruEdj%FRI(JT$lA-g&V z5^QEFj$}f#lN3&x=*VBk(2t{?E_kMu5jwZIXNuXtS;Zb;uXKH`@pfb!i_F=#K>0w`feAusl{WT*^PDTl={r&k93|KYRR>_$g`OfYPQreby zZ-Z2l7slFS&c+K^Cn>Hfmm`A<2h|$U+VqN9yo6B;tT7wWk=DD2++ae=G47>X%Ye}U z7iy1<;#ZQ3#REyJ8I3`HyX#uud!)BvrQmm$@y*$+aYkIDYxQH}KLX+8RgqR}!Ej;B)YOIn=sA z2%2@gDN5oJO@RZ0eIc*(jsHMpns z8;bF6hj*HzBIpNiHaCJ0$?fUSr9)9KxX8z~Ju=L;?dK)+ivk1GP%)$DL!hZiJAU5( zY<BhIk9D>YC>zNqK(iP_Mt?u=kul^)c$7Eq(;_cN$yji!tR>b+ZV zcQBsSh%HpQ>%eLQsD^M^Wif6_8|Hp2fHif=tS73X`!hkstPjctTi~Byu37(eKFXd+ z{o*;FS93NQZJq3-_k0jR^woXs1_$DcLALzi%RTkN@9(IUyT<(8r(6D>VCQqaUb3De zGpuYy9U*9A+>VP5IMp3+01T`~l;jt3s6Y5-&T7)ZF-E1w?>$1wkwabWxT9usMqmvE zrX2PqWfKTynq5i*WRot|j>)EJbEHG(XHSbBWhufwk-xk?73d>N3PIO@bvT4qec4Y( z+d4^`s~H`cVZ}79r@hZ|NMroq@x=zEnf)Gqn`=n`eo`*#BtJIUEk#he0ZP4*eg_?@ zj8c$IrS#z3i`Bq*^qF0+>c!zbn3EZy!mw0xGG*ebA8)gQG!Ui8dd?(_;6qLh8qMii zW@k{-0%lmJHIE{NRp>n`4ofFVz~;FR_xr7)IH#73U``B1hY~Cag74L&%wXro0PwlW zSf?)bKqJN=KbaD$1bJPw#R!^ZZ>=$A1V00Z)*8rhh2Aymi%0T`1i91sfu1loHlwm3 zIXp`~u55xa**7H5$I-ysooVxOlo;&P{Cl7-^@?CU4y;GkAD-av%H~4!z5soeeO$N9 z=x)@N&Jqk31>gsVh?p&EYFos>uIt67qbx`0`z(k!^~m-65}kR5Pw3kDENdQryB~12 zp>|!CXA>Caq|X8sSDBUf)}IEm($)=!`VDyN!#YBf`h!^mrg=Nr+>`?emQ&`zE|SjA z?CVl8T?)Icde4Ybj{+Dqx9-8S-iM~Hz)189a`t@cmj4qlTR#qx+mbRBD7i_{5R z59a4B$%=WR!P!yshYV@JSW0_?u2|po{Ris@IhDbKz`05u=>7opq$adA$ikU2vg(zI$y-HBO`fp?rN&?bkQT%M znZTeP6maW4xDL^b4@%T2#<-NzDzOpeMKAqPicT2o8d-tO%fMKa@UxeLMh~t_(3s85 zvi^->9xHNrk#|M%@;gh}zaL(T{tis9oqVUVkoCz(YUGurh^=e0i4_^3(&!fxe`E8t zj4Wloy?n3QrvegruOSeb_rGtA;nt5k^rU3`YS8-|(+EZm0iRv>F+qzIyi{UYLoxxUVHFvnHKon*G%n3# zY^nAVjNJB|YaIo$Wp`E9`AyzT`hVdx1R$JpLbw&6BPr1QEUE#LjJey<0(l&)k4&Sy zL=@*>VZ|>utc=Py2py?lSO?dTO$jC3}^4-wP#OPQHIth!!Nn@LvPBO3%R)pCBlN;8r~JjbQHD->(EK)^cPs;XqTJ zML2f~&;`J~KIf}aXRnm?F9+uRhm1;IwETL9gJ7`BZN4vihGTOo&}%;TFr3l!w4!vt z;JJ`YUS?W0+8o||LO{wntL|xe&L)7>q4pQ!=1F~24%gJP9Q^eW)Gcy`Xlrc*;I}5W|d$BNt^y92%>3ROKK99*3w6p<`q7Het2C)EhL~M6P$%^2= zJ^%Oh>jOML!2eMGLAB_Srj8?f@GPk02JDEFPE9h%93$3+oWq&j?WB$53DdrQdE~r= zVpJ{UNvG}bvUklpTSQIK*GwKyz4b=VaoJ3iaceK2uY+Ffluih-a8O@R9|#XG+2Ev` zK_`cJpaT5PateUQ>=;Gl`gf_zMGrS(Vd$GQ;rJ_o%d^2nbn+G1xB`mRA3$f=sGDY0 zU>UH_|E#*|_a{BPy@760ccjcw>6YOBrHy{{;Y6)x_F`Hz@N@=d?<9VQt5DI~sh6z= zaG_uutEjTf%g3{L7=ja zeARG9Q?<7f*%pJn4ifmD&fp^IGW60dd4lZn!7@M47enWWJjKaR5*U6!Z@!6s$Tx=f z91lgBIh?7|g|dk`W$4T8_}gpjw_p6pU;g|_DSuQ#F)%0*hQiKOD^*5}?@epGjaj^B zwnsE-m-q1I+$irRT)IYG|Jrcv`_@Sp!InJ(piti*=C-Hj4@NoYei7IEg@mVR;~H4i z_*7eVF+dzZcD4-MM|0?CU$kiB(esH%7-2*xu&wF?vqkYTcTxaBgGmB3 z!O(DB-fwjD>#is++fxmNUKmF+b}dj!JsYl~T< zw$U|es_(bP^_bVWAG;#iTUBG!S_p)wqZ|!K$a@M8CCd?b@#>9cpkSp@W>|M94pAVd z%7Nq~W)y(0&Zbe#etNvUUM&D+JVdlHpK~_r6ybf&&hc@iQpjo!ym(OH0~F<52Zgu< z*6;#XwVHDS3-Y{-cHH^4=CuJ{T%6vdNovVoOD?<%yOnI^+av z<@AL9OJJPO6S$JUpIsZuX}G;VEsHN-Py5Xi(EZ`dnGw5x{;RL{_EhTUSJsAGXYJ)~ zpPmZ;&z=h1i%PCAf=!X$C@+CEO^-Tv`6L}JKq@xb-TUv=oFxotOfvZLa?;We6Vdl* z5D!LBKj@&yj|hSp^#;GlC*7iJF4wcfIO_cD^=0j%tE@5JDKoV#`dyBsdXnU#Z;zmC zUMap5bz9_@#w$P$f6KX(=Otuh5$v|ks7n3CnG#0*fP_T(#dUY9x~ZZ?=wA)6i`Shz zK#HPKg!u4wW(E1}u4k0obnz{nLY~8c42ynzT!IT_`QTL5ciMp5?$T8VP_JE-=a<^KW!!;meL}jim!UMuJG``0@s~Z&|Q*Mf;)5N1BPG zv5|;S(BLE8Slcs6qql@h@|)Q#D7@tV8uOQlasgR3B+uv5{&~!lMW3FVw4VR7&$k3` z*LAN8ym{X4`&S149IE>ls3B{HIWj72=Vc&(oxZ^kW_V})adW25qaz}I(Mr~@Ue_@Y z0}es2eNg1(NxKQUg=du7+YfIkPgX=(>Pp;$bS@pRdwAO{J@NUD8qGN;HK0U(=Q@5jl8s?p;IC>+I`v!1-eX`3LvGtw_wRs`p%G;ql(t;gUqGRl|U(luMe zHU)VUYu7KweMXp0I83bfQROdhw-*vE<#(Q!KuHTmz~=5f@Ka@r)?be|IFPli=@1#L zJvzGiq0Ry3*;&Q9kKe$2)*8AlKl;QpCq z!pt!6&ROFq{AYI7l}h`h%E5Dg+*I7jY7c!f+sd4FJ%cXJsQVtQp%dCDVk;^a5!SYo z8`&L4C*9g6B3u>5FUu?)@(cva2ymXkvZu`|&JcdPh|8ho!3G{n=JkncK z%IIvhSy7Nx#5@}4-4%}{u+c!W{uLwHB83I|6`)1lPz!8fS3q+8J1g?gIQBiFm^=q* ztrsQ+4$+aBXBpDzAv1XMd(1qbRL}*gj)7)!#`$XOB2xjssGoZ?MblV4x9j#+`3EEL z#`Tc#*Xu4ukKMZN{`tDHO9Sx{Y$7c(Ke0_Ok($g~;MZmQw=LRK2P(e^P;4UM=)YFMZDgyTg zBhpoWFAQMGVnlZ~7gOi$q$es^FT*;b&mpm$%GLE(mWOD5qtB^F)Lir!uW{~mDS37kNMTBG#pjC1JU1S+=J6gdE@k}Z z95=MyImnLor$W7f(>cb`bJ~vAWj;vn-_Kr;MQ5nMTq-i+!$^Ii zb5l6;JTjtD%B`MJ+sEM*8}R0B;9D@(_M;5tPkZC_eenj>MXvNQri96WNq~s=Dtt0} zey4T4U|yplk&_JJX2Fe*4q3FHaBt4^I&H&wl%EKm6{i{q*Bo@~im{0{!lOv+qBl z3go0pAT9nnQw-awh^*yp@AJV@-Jx1tTy z0yZUiN{7(uwG!2`S)TwDK6CNf`Bv#wSnB)~=}}AlI1%|8bRecYk0_ZFl(`wzf6mKUJL!P@d><))R}?uML>t)7J%c`kGxGM1 z+NOii9P0@O)#a&mJf(vnBgFiA{#DOUbyf%ELK*6(wGKKAhIJq%b{VXL`!AkUsfLo< zGN_z@d_+Ogs#kfQy*||xap|4PTBBuDk$GFW9i7N!G&-$hTpny!cy+MAEN1iU|CzG&}E8C|)1b$z{NZ@QT(3jLskrPCjk3<&1CVI&jUQl01f5lIdJv zNgt0Wr(8ul@?I;JF0Wy>LjotKz*a}JuS#`n%0W60=v@WK8W~BP*<=e8U3=^kfKKwZ z`2-Memk|Mqk`zMo8!4P+^< z^xez|xgDInB@JiEi6_Xv>Ig4ch4K<+pI5zHL;C!Ug7QEe0{}~O!d0#1WjiSX*`jqT zHmCC9Z(g!zvP@W$cO(tu8l3NQ@0A!wF~`K5=c_?ius zcpzUm7#%nXRu454b7odyQNhv}`Dww@Ctl?W*6ZZvWcJZIyVI(4gaj;l=)qyO)(thF zG2fG!EeYh1C#O6;t!#YhXD2a&Y>Kp^_zVt)1!k`1X73N#%bSk-{QLdUw&awJN<1W^ zYT5M9R05EZr;j|}w6Oy+U`X%Edg9{ynE#sB>yrn(osW7>%DT5;h6(v4fns4h>yP`> z+i^ak%0`s#9MHp6>O}ZLkSDH@zhzD4v+Cy>oi<}kE9Hgq;PGhvDy(JbyDQRu3vw{% zAQ@pB)&}f6O*YMPejcH7MOe|n-{k;Keil|40>jYPXi_&wDUWCnlZ2P9pE7b9!PA@^ z9W7>RdY0!iXm5~TYL===dn)pUimS>;!d*xHP<0Y<-d9G2Y^vMs8gN)=$-S}#CeI5e zkfT9u_5*f9J~yaifWBpuBVaEwQa&9WN$cpnB;7vwyP})%^y;l7;#gx2;XyO19y=Ns zE?G3NeTJ+hoUgFbJgF~Dsxzp*0GYDxo0(J0+D+c}g=<58R0X~b(X~#UP&$m9y$k%+ z9y}ga@&a`=YnQ9-Z8*hTf=T-v3#}%BA!C?)miV+w$$asG= z{D87MFEw|q?k|sLk@xnnG7P=ncPbMoNwBYTgSn`~vICXVRJLJX$2@3cK#H7JonwH8 zQW6MQns1;F6=Q-DJ+~ffMYibY1kF?}rwe^VKdaXIx*lTCvMP~cHa75zV-({BgN*WOYb_4eY(aXYn{Bmc^4=71gACAl zxZ&}`18W)-aOtJt`$`juV#+cGk;17pf^mp*rg~$lWh2Mo*cSXouMxUWBC5^mEa16& z^R=Kn*wew6hf&N(q@v$TPDzI+h^ok{b+@Wf$k!RRDZ;o`b#LEir_gHcO93{oR4(u^ z(zR(H5xueQ|FStzwOvIIkWHWgBlx?`jSP&&%hhWt0OlGUXV-{7>op8UEXn9i1<Hi8_5_=7iZM5!C_JMj^#^F>`m^zS-H)-uETT0PJyBerSw zoM{A)im(XkKt@{SUUI)d-#CjoMHerp0c9-$w8ld_ zUV)m1x$mYFN%CvygS@YPmmJQ|htsfSi2}(R8?3?3y_sxsVJe*fLtzI}-F6u(kY7fV z)!I)!M3IE+U8Ul}Aw;9dd{_VK-IVz!jgU2lWqhzMsX&xkqy9Q&8s42GDn$|R&S>Ye zitA|n%tBL1g{Y6b_~=O{;^gsYiZjz_hml7cB&!HGA>GP> zlJvbfA{F3}vsD%xOACxTJI&`hy}Z{z0xjk0R5_POfnK%NjZtXBOK1uNM4iXkLd4{B z13+q|kP&K>26|2>Umyajn-&HQS@P<BPa6ao4^i6$KvoBm1H)*lnzdLG_^Jceh1!(`=|kuN)@dr z>#0JmJoXw}M#+{8Codb|m$IFbH}HPoL!_4hzJ+xEcJj&Qou>00?4?4Wc+PSz1xr0h z=R8?Vq=u8>2cNmT60IWsB*@wkC*d`=d zV*|syGvUxIETj??CXu6J2|e-Px$Q&nyoozwyPJk#V`5IZuCpv9b9&nI9qFWlPRH3L zJrnSpeKw?@8trV;@aC+>x&r=8j$4zyNqfhcAwnJFq}`+FTsiHt#E7sC&5h57zE3?< z+4W|o9z{VqOdiI7K&yRj$3&J(;2g(jeNYr4Sz@Ip%+#~Qr?VVU@=lgF^QfRnt&K=3 z|D^8LI9-=^kaGaKf&hMemL(HZu9P%SmPIE%{$Bk5*ldi`tmwII&1ikPI#ZMPnll1d z4tA8g)DQm|)IZTI=V-Tv-y1x8!yJvK-jNS^nwkDu{DI(O% z16QCiuh+rUrk-}zx5W^4A)`iZQf`by*#O2Bh<0x#Ft#wgjt2JMKX#{AW3;uc?l)-;+j>vnz1XAjkef!|Wl@#R(1_9hs;i`M0B^ zhwcMPz`30voueB)qGQ_=oehBuNo#BE?ubBI*R0wzlZ@Ca{gqq5aVv84?P0Y)SVC|hK4pnEUf%Tw}4jL9_jj;sEh8XT&DLuJ~nv)f; zfsv8FAqsqUlfAIGtR==qWvciyX14b0>$?CCgMzWq9cT~N3v5T4P1ODNwLN4!Q*jgR z<~lH%C2K5kea~u!u-$|UDjIYMBM4Rrc<;{+9ww~wKuzG-)4SWTBgH_eG^pR^rBLPP z-g~<9ajtw$m=bd*~jKw=-mLt_Ygtw z7km2&wc_62QB-f$WBmE&PcV`XL<$}PcDete*^}s$cuKub%_dI{jnK(xfU)l}X#(ro z@^uGuecR7UMVu|?!QcE+e#Xs<$EM-@oZvl$(I~}fl#u&qbtoZ`J zZ=2H8I9VQ94b&YHW;(*uhxuGJlw%WYBR@blDKj6u`0-%XnL!Q(4G|3x4ei!5dK&|3cU1Jo?bn3ot#b?lb;Wd)vjIv` z=5dK0^_1p%MPmp$k?xHfLOW2hPXQ`t{vY{Ro?Hld%?iKr+L6dDCmI z;iG!c=I0d+g%MNz{<&`!l8wmb%ZjlNg3YUb2d&p|r`N}S`u?c?_dmbD+CTk_EZzh$ zvxU`1X0blL)x__znW~?4jIngIunU3leh7Axu2LqXb)YU8xB8;Gveii20noF87Ee_; zT@_qRp8g`xSAqVTB7URK??QFu=NGbzfBA-<;`zMasEaZyH-En>@Dl~()^N{SKN6cR zog+&H+JD@;9ru!NyPwb^4!f)Dh3Tv5bO;b+im~G(3T!vZ!8rDjmw@~+22Gx_4Jd6H zggFC9nz^ACN@rH824rm-eydq3nr{F)(LXiV@*4cpb|+;A2D8DZX=P4%3^B2Jb`Efq zH&DVwt?3SC(|Qg2tDdaeNyBVWkXfl;_sEDvoA7mSwbjuc2>id*o7e{c+0=uzttppt zO)dZ(IuNbhpbzfn3}&CCGswLSvw%T~o8VG(OB#U0%-VEiNwR=Gu(mvh+PZ7C4zD4! zcT`K1MPCLPdI?I2TB~tiA+Xzi6YkS95NtAN z#}67X&5w-QMcbro4`Rn9;yF;xv{LCR(KhuTd|TLWyRV5p=E@+RLFmRozw9%6T?F&- zTGERE(FUan7P|rg)zTs}EweGci&fQ2Tb<3Pb8hCVY| z<7iu8T!BDYqhhUV>``u7%R2~bcJ|z@E2;LrepVB%YybRc-{AgF*Qb>0_tY~O4cYww zv}QliXVGWfe1>V?5ccDb9JJmx0x_g)>^sW@uoQ5$NJ>h}sL0zEcb$Rt9_iVfcC^L& z?(2mgSJ}~Q?(;xuGS8w7bb*hhWS)LJsC7vLl%F-&pjHf0>dUQ#mvMh$>5OD_m}%PP zKkcV!KlIvwG7bFNoL?Cx-6jIhrINM*CwNVQu*$UXw|zQ*&t+}1KTc9K7@_LJ+uyN? zRv&Ej2BImducOOretU?UtbY+esNq3!u&UjKdq+<-sT4{W!uv_b(XZ&zWbLt(M-1y( zbEeNa4rzz;UVdbA9?vR+#04VoKK6DI+waK<2DvfKM;M&v`_2`I-9wvsyILP{SU_ zWSa9wpB0eOeWj$~P3OTKK9NL|g7ywT9J*D<+#eSp#~%N7E@gBjWl>Cfk4=47XYStR z*LLtkIRGw0`dBZWFRe*$HBQ2HZpxe$M}xc&AD z|Ni;!_Y35`?LYqhWxxLVeEs)j`?GRR(0<`%>}6KeFN_Y=+AsE}jYHS-`bfs`ekeD4 zI}7bDfV4Gx9g@#uEFJ|m4c-=s2~c+HiiJ4&lsgv3S@yE((4w;g#U$q*shqoY(ZVjO zP18E$=Z}))jCuMyY0mv4-slqYYv|hh?1rCvZQM_b33#0C7?c&9e?KR6)ebWSHrL4r zZp>18lZd@>;U|G&(a=WheavS9D-K{UyP)pFY%@8~tL-IZRaG`$5U8m0xu(A$uLE3W z+c~VXoiH0)!$NYyyDf`xy%!Hc{Ogjxp-))bX01of$7gJVhuJqU6h?14gF8Ep3LqHu z>#(s~CYsrM!oguvy{aD*dfb% zfM-acww{cZlkh*HWoqlCk}YAXCtEP1UljLDxh@y=upR^QCcHX(=61-ok7 zBf+HwJ7_OBy~r~1p{p?F&oUG6$S(ZG)+5G^Hsj*EA&Lecz9etZ~1K7e-iz9%`zoqNFxdq@?{(sG4aGY(nc0!rA z7qDBUs88J=hHcV9I?yd%y9Ey|wR#JdrHpK_aunKU`e?{XruDQ6k#uEPq zmrgOhd&`SQycIN`k-@|Q#rXutym$(9Z6d z>a9aQ7Z?_#8`E{6e8~xvdA#cKmiv1PfWI5aDG>dM3YWtTrZ0|4U&-RqhZ{qsLk@vt zgR`=+`;bRYS zJ>70p$|VyH7;y@og~t$}_DKmXej4PW9|6ri)oq$z;L&UpidIK<-3{E z3|X5h@4q;Vtoy2Rl>!SFQ#p~X!N$#pq7;}}3U?9Eb$>tXIlunm;$g^m5O@$2tR{l7 zA>vWe1bW2;b8&0!D{^$VH`}_D8!Wm#7CWD1?pBi#WvH)nGT~+>h&M4}%MNIV9EPX^ zd(&PQuZPmF$xsD|>@JYmn?Xe5#%$ku&lNG6=Q{_Q$(ZcP*-1dmEH?M!83iI%N+QIc|;oXpuY;BUv@zh`#N&3;QiX6nl5+V|;t&3U8jX+)e1 zu*#TP%y6VgS_e9b3~Mmp*&El~r}Y4%NSc=25iMy332%P>`4%Oo0O$1%zn}pO{Vall z&n+x+L-L(WSa07uw>2iD-9nwW1o8L;V?F(dK`W(^UfCaIbJ(a~H( zy8Wyl4aVTMa%ZJn}Q3AXREy~DRMaOnp|IW&<7BmxhE5-?gtBx#sF#jID6bY`q@w(jX%^1L2~)x zz9{QjS*7>~Pc}d&08|YfQaSLGB~HrNt?9xZoeczoWS(>3h)5&e;B!x{T}O13pY}mLU8<98r`SB=l_fHSB zJaY1t(a@M`uo!dH0iKmS^a*ZFzgPiAjDpK}a<9IT<KI5g09Z)$J_*e(nhzNWY-h z+c*kL@w&&6ydRif9qadJEYngWgqa#H?d0oaJPjrnGfX0yNO z;*)m|Z|;p8xVkp&4QCcc4LlMULjA8`%5$TQ2!@<6Yx4E`$BO2uBZ;o|?{a_BPj=Wz zWhjpnZv(wR;gB(AY1{3!CG z6YT(9#J>t6C^3m-`vx}NLsrzeK`_qH?nVf&tTvL=`f);J}0}UkD%m-U^cBmt_s8pUf*SJEbo>dY8zDKM$iCCOeOE}X0IUY7*U^K zx%@*~&!KCcbP7urZv@_I%{Q)F{At!eW>Q`bGAw_GrOh8zu?Fi3LEXC?PyEd!kt-Vb zu%;jmo|G>nJEb#Y)tekP1v0{4_xt!LkY|w|lV+c}%F=h5cLKd$gO>;%s6AV@%K7Ev z6^Q!QfrTKULu;FB812qGCQylrwNh+t zGZ!fHaAv?_51z*@vfNn}N@mmlUbbQftsOy{dQ6wyJHdLA4zgCs|H`h+l~f>rvOrZF zPS6sv1^d!iaRJ&K)@QI0v}ZT_uL1;+r)sqou ztTKM?HS9}oIai>oG3%DtNJ(M0{+*;t-+~#`%Uf1IF7CfWz9fEAEruxb$`*P6Lr}kY z4E}--ugVec;3J;xqBB}m#Ig+nt%c%vbnwTnjQe^f`rw&4%Y^G%*O!K|QAXwUp9Wl| z_;63(S|hfD;1)o>@^LwJTjs5C$E)g#emZPz41BBp^fq?PJ}`$x`>PdHo=?hz5BXxw zAW1W{sj^5mrFx$-{L}!T_h*$7RFM(n6`rxdhORBA6Ahc0YaxbGmm?V7)wIMd z6x``qO%mEgYpNWUt+JTCN;^f4gGKc#4$5%sxvIU+z;3X&xiulI<{N7aWOt=oBb7Y_ z&d5vY(>=`FzJ^MnZNEXg(0}&gN1N-DM+;kf$PY(LqX&J&o>k;+Mwm9Tctxc!lwUXd zr)Ljn4KxJ4(<7#1q|m~?pwP!Jh2ke@f{PH6dJnZ!LC zxpzm?v7g?cTpb`A8&`&8f&;k^8@-b9Z}kRI8wMwVYyENxCsI#9I){(Nw4-n;%_=z} zu&XE)N*4vp&OXD5WuId^z+Oe#c91zKbh4Z+TX3+s_n z$QUwmuFf*k6TQ6m1bxqJM6{N$x4~pi;heOpp=$b0Ug8k2Kmwn&MJWLBOaP6kWGUb;o`KP!%&ZNSQsliK zet-kq_6FBt9&nKt<(yYL47YaTX;)hhy5KV`0&uks(s=JBpYq~RINWNYcyoI5T??HL z9b|&{kM+Zz?VxbC$)G;=Ri(9(ZOS-rFxQVDjxrz&4)7O^o6fAace=f<=(CoMB*RCM zX$2Orf5UN?Wb?LKEFgZAQ{-8b4~{QmmyfBfak{`ULR{`R*o`}^O&%7}?CY-AcM-@je< z(@T-$#NGIX8Hhjce3Ro;UJBv=uK4o*vfCV|A!SlVjmmf63Rj$;T z9CiSp3k+WEKK2ZBTkCya7wruhVjT=x2hg=h7tDwek5=xUCGBm9kFm3zCGQqp8E`uB`<}K}XIt93&#+eqEzq;| z1&rAQuiF-(bL#65K1nkhrG*KEe`iS{CZW%B2a`jj7fk$#!)Up-7~BN-yz9EbUJuzgvuDuEz0M8;D_upGRW!6ATrZfDu9K2sCn-ACSW zkBWV-HGc1QZ(dvARYYmhm1v$bITPMY3)z+3$6Og;+hiljQ9wD+DyU?soD zdfkX_Ee7AzDhQ`m6tZ2n5jZx`Y9)0%qj~El@T^u2C6}L_>=tml!jOI}9SKic!$ z5O6PAJMCG0lXlz!xOr1QqJOG(&Ou9ChrB^lKr;7zLbjwU^81R904!Qaal~a zl^s;AuI{1XkiAPf3-+$A@2DkK?ZZ_Dl7hSLx8hwLyf?{f=@Zh+MLxxj{og*|Qfg9VNl68@&2Eoviw7p7~R0JkS@_GkgJm zQOPFwooz7bKsPSM=Terj5(u5uEwFd529;%J-68*AGRKKbfL|mV1M)cEDSdX)rmFY$ zfV9TsqsNiuzo0K59~f|!p7WWhwY{y1IPrQKI*C*Pg(i2Hm&NO;CskkB`@Sf zAp^*})SKl~(5{_l!Qf24?xC27GM|wbkJ13V>|y>PQW$ULDY3P~h_BdHkCIZ`gmq?|y)z0^qy>O9?L!06yn# z2QXj_&WR7Z2iXs=%V!lao!6S)Cf*Ea$7k#irst2^H}v0aRPlxuZ|jWXlOj|dlmzKG zG;X8)xrUDBc!Set7N(Z2uWG=V?r$Wjz9RSA6eE#>4e#d`Sae+3`eGQ*Ae_ut+ZTorj>{Q?ud8Vi;dqks z>?iR3fARI%uF&&x5@bx!paMA^0mN68xgZ+VzuMF2a|~t@;$|mJsRaJf)6?G<=319e z|4iCESi=D}+i^rvE*Bkxiwc>x(+_)OJnsSM3cDas{FFnjmHE&wkG<)j9c`Uwyl?e# z8O7N2-l4E*h2R7MW%KDiy#^{?pZyRxVN_Jtinse}eNP(Y7Y!wKJLyYE4q1zbxupo4 z21e~aH(OkB0tT=*qFbA6n{$J)sB7a3`^ZG*SKA5H|9VJf>HcF>#j#&{?&51d=p~N# z!a7@0d)~u9Bvbhubq%h06EqI3aUI*#dlnsS58W{SS^9LmH?$8n3yj&@gOzY!IXrIU zRq@mDoXXBL@Q>EAESlH)wS%6X+xmI z#y`t8K5GG(uS&Ijr()4!T#D?Su>PkXC@O9ierznK}k*?!?~|G2Bq?*H%K zf3x3y`?5cNdzQmv%q~sCE6aM(V;4Xc1}akT@ZND+2bFH-Bby3zG4N1C8|rhLz^}o%)S6mHvaI}Ad>oJB7V{p#qY5UQhO__}u610ipAo|ngEE4^ zcN}~GAx?QUXCB8HRPd8_K)js~fbh+8P!)h3c8W*01DK?i5%rBVfve8o;ZL;+5{;O3maFc&**9?pNAX#qTI#zW zvQ77K<>n_lYzy53XM1;6kafF~+8P&#jNhMM5+EZ7E8rCZkusWhMc%$uEj}yEH zP*2s@R1?gu4ff-x_gLEGd+~d+pYB7Z0?1Luvwmdbs8xbhDK+Fz0X7C_)*Ep2X0`m0 zZI(}$PI=jsSxL0PtEf&2wgy7K+`LTo)cyVqJvpnN@W--$O(6FLj%L>GqTYNw0GyU1 z>C!#U%;{#^u7HER!82IHN01rHAahg8skFUn5E?Tnvl{EyUlGvA4AbY$a#g0k*Ko5B zWQt{marO`YW(WrT@)HKi<$Axf#tQ-;{Qeqz;Cat}wT*6v z?WcV>9w4ZcQ)6>)Meej_cQj zNW+^Y->_9elc{*aO?p&)$gFX(Rq|&OExdGs8Ne zBJ9+e;ymxqsYSxMi$DI`HVAoBfw^@W5oX=GQLuw-yLvv#h2f;}CVDuR?i*u6Nk$>C zw%!)1R*>{2O)c*HIG0m~AaN180(L27K$vw=HUE?T)A`7siQ~T=@pit-Rz7yz^w;}d z&;Bd<1dqhi$+g^W-NsG{K(`$-E(QZ2jiZ{+PO=21;!~NXJwD72Q`;KZI{TR4Bk;cb z$##sb1MzV_pk!fK52e!wRFU7u7YL+Oi%6UIHqWp9cAit|Kn3K@IuRDZ${4-R1x5|Mrg)m+S?qCxtQs?EN_p0f%i>6KOSD-pr=Gi1sTJH?Q$v zlu!heAhIUuU3|Dot=}^Q3=hu1U}636rxI4fa1a+ns}`gui~?xwy=H#2<8 zvAQm1vZ~#I+X;#W1(qh9s%1bM5WRWUJ!WPqwzolgJs!QET7w9%%K6vY6(cKVM&)iWzHFW9+ADxy}B`@T=!u z14_uiQtG^-TXOL42@cx;>oAH#LW$3;b)nJueE;&;^TUE%)S`irCg9r z+0LAzb#Ft>E^A;x###16LzD@hEd%W(XulJ4LxS6n^)Z1PBfd}%00-Mn}19jYR|Gr3?? z4=w1XY7=N-lSL}UZ0~XzwC*+F=|_33^X&{Tdw*spAL{b$nD?HI(uARpgWJ?Ci@g?t zSMMNZOb|yy4wYPW(YYNb&<-$5ddzz*DytPus0;l*XiiR>%BM@O+CfJ)Kt|KU${3g)*4bd$Em8+8KbxkwsSbas~(j!%FI0D65ny(b?&>CS+4qh8YF# z?IX|e8E|KxuPNgITR^10Ml|ZABR-?_I)!GHtud|DnJHa{9J3>O?KYr(zV~r4%Z*v{ zPdZWs%snw+D*?)DP5-!aYjYok4c0KCl=B1@rOQ185{d_rm8O;$C`Y%0{|tRni>I7f z^)?QIt346|F`y;vgXGME&npo6dC-U2w#cEWEPtMb*0GQEEJIt7Cj;pPQg7H4585@7 z>Ee5>Rdl3%Q#NATFd-X5C&z1S8sce}1)PQIiT z{b*R8;S6$?Mg>H*4(XDG%)539O16Ps)8^TXuJu%QY#sPndV&`8#XZSCs)9?7%AWJo zFx@%}I(Km7kpbpN6J@b7^%uWevfWU6slKrNoK26ru?#o0Lcnz{Q^JIFVoOnGRWjqq zlq?YK|6HZN;%JqC0h9NIs=S+ervTW@Z2opNPi*NMgFOe^jeyu9Kx59~SgRaaRZJOy zs;pqlv(AHNEzVy=Qj>SOFi+^Pm4W)F#s)T=XyQR zclL?)^he0QNI4}KVof+b{H*;6mf-ss3aw8Rh*dkNu`{HUtrc?1Y9HGaWFO6I0#6l~ z5FpnT6o;Lmp1KNlcD8p!+cP~#T85V%LG};Je5;a#Xv}72L>zvO@th{m%QxD6kutXq zxSlr7KJ1WCkd(ArfxOLtK1;bP1NCFIu9g0g-LqqSMbJFKUYpRV6-9%3pH* zMh5S5vkjVs2?N@6S~hK-{H|Ja1?f2zDlnKA|9u6kaK<+8zxAzn&7}*enKi#S-4_^afz|H=n0S=&-+(l((8rxQEmklT=Jz zyRl~2-o{`FzC)7kOkw$GyAPKVaiKguXG zv`|P}=zgMw5$r@Q1=-SfFrk2cX3-I|bDGBw+ePQz0A^V00_cBhStN|6vQVEm_cz(R zX2_X>nxFgbBpGeHJ|h~=4B6eZz;)1|Yy6N0f3wYjY{1R^PhaZuiMC&DyYSpfj2&%7 zAs!)P)j|TYOtnJ*V`Y!#`tqhfeJrt8(RiMM?BvDIe@uo({Z!S8k1tt!O)v+bF74>o zL4L6Xlg>1&SWxxpo!Pr+tg1r%_5Pn9BI;!m5t~d`n@yBb<%X&Sf(#f%)A7A%ev(6T z6SPu!54YYXO`b*8Z9J3kLa|Kop2YpJQziiLaFA_;O#^*xa3~c@%xF!_Bgp*iU+X6_ zJJFvr3sn+GZ4$VPHob4>XQRHR9X)*)>-H8}SXVUI(MDNdk3i6?`tF>7QtNUt3x#U~ ziZm$B=YqZ*LrO~7`dqbL$XTMEJyQ0qg##MR+hH_WGf;O+8>^(B4+8uEbkER|&pqZS zq936FTle>KE5vYUQ!N}$1zUx#xO6pSXhod+@lJz_%1STqgPs-o1UfCB#rwVLT8)3^{0J%zYk>I zqupg^0J`2=ZDVw{=_&JYKksLjvg}d@J9M?5`v`hP*4)sle1nrbAxuY^mrL13-6-GV zvA~T#yawfu-xO7ath4UPH}|BHKgp0`Zf<~pZk73iIx$Q^<@kY*-_#x zxgRP$vNm#vf7m&d-Sym5=Ifw)-Mu7uOaM;&-+Jbq0hmFi18`f%`NK%UMYaExMQ5OK zWtvH#mi@Sg?)uF7@0b#{evj8(%rxLhC zlcmt<6TO_RpT9i{L@1zF8|>VRBije`Cy>Bf&=ns#i6P$U)o?^_yjOea-o>6abpjWMis;d1*#L$>*HOXhKy-JS>)-BS!9~B~T zXoV2Zt4`N__RnF@KIuG{&JWOv_Es%Wblxfpc5NKj*vh?sNPF{_IhnRv_3SBIUtG|| zD<@cA@4f9k?g5!#KeVqQ?^7?T4{eozhBu#?F}o(ex3LyK0>q2*Sh9Ml>cXaHJM3fd zY!CPJX_+#CG|D)S_A|^zFNBT#&;iuF`!ldZqJv*0@+I4y+50w?4A_2eISHpQ9bd?8 z1hin^KVCv5gTy~SKJ42!7zaO9_O98#{_?P&UdZV84=)fk6-c#0DLZgVK4k|jGPv3{ zMf6dDh6t+Rndv}h`?g@~mY0Cdwmz%M$#*%{e|#~(VsjqZ=eGh;to+EKZYfiK{^s=z z36K{6mG^xG1U_CTv}82b&WN*sp1{Np8!f$^Yr6 z?UI1~B4RsxZ{qx0!r(rXrQ;t`J~0?l*LIY;FRqn-JiygGI;i!fo%b-K>)3(l2;5sN zt<10nS13Pf-`3c~LEcri;AGqhY#uoVy&KgsAx@#;$oz~B+-d(9KsU-ZmQHKEH+8Sh zK{vub-h8t8*$xWvwp-87Abmamn!Pc~1GU$vjA0u+Tdf-x0;RCuu@CnSI}@lB_@BXS zvdhNmkgd`*;of_Mz@=JPc(=+x`wKk3f`gC%GoY>ehDx^Y(KTvEDc`$$4jbi=GF5o? zfhM%wGNV8zWwghXsN?*1<1xoEw~l;^hXmWwT!)Wj-u!0=e+kb(Kn_7;1rU}U{&Jk3 z$KMm+jJ8qor-Qel1`AHzK;CU-s_VMV|Hh%HPkAwCjCK>Nc@LL};VC=hW<<+ujV}^k z$&OK#1QH?1Ge$WleM5SzuiX5%Z4xuJ-BfmT=}kI1Xy0{_hSuz1?@e@euaXty+bD3t zQ?|jN%#@j(KWbMfUJO>GR%?k(9mp@LUB(9!MLIyVu$mL6K`?k)>^WP1rT%*E(|%)M z+yIQP`v_Lqflu<gH+O$Iz=_s*4SldNVCCrYbp0T;}^{a!p zCm%5ZiR-AjEo%}k%9gp5eBo&O=EBLSyQuJ1FWy@|UFiGuUmm(?9o&VUwIEh7c?&zU znE)rH(vgN}AVEEc6jj<39@^~7#|W;hN`en+r68fAK6?em-aSr&pmIq#Q`Q^KmTbu( z26e5?tkeyGI+3?Hv?bQn5mXs$%ZKn;11EwA69o=Yp4q`7)-$VBQwmQI@>CGjPli2! zltt|9tzjnC)b~emBRZfpU#84uWexQ6GvqALph3(%V!Y3Zj5NY4#=u=FBhe(&t21-M z%+6@!dHt5Lycxhgn$V|0J%o-*uTJS2hw$j==RVHjd_4sGL_2gCOcxXqGqLjtISJ+G z&VIX^3@X~f^^r~=HfqLt&ku3%)}loH#iV?Cl4qcVtsK96h6|2J*!j%XS*gl+tv#ZI zy_;9C*Zmoix3cNV@3`Ip*4xM6OXEAi;T(FQ-j4a0Ib-RAC?air8q)ap&y%e zxCC*REQj^rF!6;z2n8$JQL?bcmBc$d$JOL4P?|zJqCrm`y@F{is?6RDiX*_zvZbJq zCw-Gw@_6LfD!cHu$(Ad{L7BM4$1w{j5vOxqb5`Vvp$F1ypFIte27$PCo#&VlL#uKu z*7A0mVGmAbuAE|(7PWTf9-K;9`z5;5APE^Lnp}%ADewJ^23N5EGQoANH+e6eb{Lk)tA5DPq*J+hy1tSZu^hytNYv2 z{_^_wk3XLF^?Gf8!NE~5?B}08Dzj>tK!xb6j|Z~=3#?m<&ZtqRvNGcGUYndI8IaoZ zK9o>95lxs?k7NxX^QKAktu)#aynuAFQ=e@Eu*Y+d>^cFQb|Sg?k~8_l4~xmDJ{%pl zgJunY9yvQ z#eSo!WlP@Xi}V);8BiHii@o>#*$lN zUfNE&6Bb`I%<1=O3kjUcl{~bkT%-m9I@hS4d5E7ARN+ZHoUg|{GTNc^KDY)v$k0}4 zm*PA8d%M76>lQkfXul2;d4W*?yr)H(%HO{;|M`DVGIpr1+4RK{RHNuLE@CTlv!mz>;YnW zSQ*PQnyN{cvc;aX9Rz@H8nn}Im_Va^3|+SjrPa1xb}-olZ*>f^V{m*pznk}s>BU#~ z{rckbuJki-mC|t=!IqL=&&_rwJj2=;Tn7W!*e2!1b*gwEUv~keGaRg1*F`YfZy%?P zL+C2pY`T=6`$FqQS5MZ!y`_)%E!w}V`dIf=FtHb^o~gq|^h5X8lfL@vr57smWP2>h zr5b2w*8PqPym4fO8e5RdLQh9^R{87pOUj`H1&_5?mMn1{GZ{+-i~%LO3# z>dl8e$kTO7))}ZyBVG3C+20m3N1_9!-@Yx{EDRKo|90DFyY*@IkiHu;WC*#sOS>7G&|i^yuTk$`hR1 zealypO+!0~d;I389K+tO%iG`RmK@A(sljHc^B-sjRFAPHdtH8~T6sNK1pr>*oR;NW zqbjL_RYnL779R6BgOjwy!Wu7A#Yq3WK2v@A+Xt{t7C`TKe$LgV3p85%u7FYd10(;7 z?!-IfkD`};UeM_0QhQ2~GgidD)W;}77{8ST*xtvBB(@X>NX8x_X~ zH-+s0%x1&v)%1U3$k(iA&-*0e8Nvm&BQ;F_53^a6Ozb5`2d~w#8lm^&^;uJdwNp2* zufZi~2uKp=N3z5%nX-ZBkWky5IXxh9uIJI`B49Iz=zKgL$1_+tE*HV~HuU&>Y6Nc* zq-%_T1}mxA74`Jv+zQO4v(nd3gZRbp0}Z)F1tP=inrbZswP@@v=yN7}d z848q(?F~fs>SO*E%LpLX&+-8uPF507UGJ@t!RMep(VJwMfGG{5*~fcrGPKN{U!|C~ zjEt6<_9jyWVmF8!SpSv-8`0VFGAcT<8i;%wK~RV{eHJ{gc;Y(tVe|f=Ih~eDQk2c&?xc&j6v)sinh+D{>EF zbe$34Tx#2bXAoZqXquK7f@YA(f+2vJjkda+U)kT{qUP7I8GhvhzAr|zq61G5XowLr zC!~3L7*>Ityw&4ED~8~WI^&oBw^|1SqQ30_p$=;Bkn1+Ebw_c&B$h012!MLk5WeM?X)pcUqacsi{Q2&XRRN}(E(xwz@?s_OfEoX@x3RbaXsW^bARZ(Zk?<2mKg(C{c-O4VdwDt%E8%?=}!h; z^D~zn`{N=E_1Gh*L74$y$jjr4CtHUV?XRZKCL-}a?W!$(~+`0c^xNVVV_`xG}v?6-02ka`PJ9B^f76_KxamDTy&Eo zjrKU+)fU76Xh~0Lo4~UJ*aib#1)?xfqj;eOClmx^AzWX~InZSHeaKVpUY5j`4OEl3 z7_i0WPESg&bzG#E;brf8uOo<(GW4SCt-QS(8JYVDLA4lVQ1)x>ba<6qrYcWcym<4v zTHd8BPB8c9*MA>uS@oZCNZO0Qf4Y$U`pvVQ0Wx(ma~BT(VvuroRQqD!?QVTb2Raw@ zaMB<%3|~+E`)gqt&`;a!AFrUGxBkREzCM8nfByzYG|QH&r?2NAw+l%EuT9Pp(sGmw zfZPE311)2!2kM3{D!z+DM!)%^0%xK@8u6cWptAUl;MYI>w0wc0!ezyfyuR%6v-+#q z7T*i{c+w+g*4cfn^LW{Mk1w?SEHGk^K$o4L0Km#ozFX&)3a|G z6yN)%{ql}sROxyS&P;pd-XH3eEsqv670bm+mnD-`qbzr z9Ic~W3XHU)q$Opv8u!L-wiSqbj7;3PUeiFXE_IIyS~acnoFNmGx4M!x*!PVBk{@Q2mqJapt&J&Z_ph6p0~ok4|}da zbT|57cwa5nmRe8Ipu1wVkK0&Pihs)2p)ty~rc3aO5=J^Ay$3UseQlixl(zZqmI`)! z#*I}UO=4qds+}VO4ab^V<~Xa2=8Q#xy#^XUd$Hvj11JFT$6k0ak)`(Xg54WpbGqNOGi3#glj)7SNt5O5RR$=_4nWx~uShu1IqP?v^V zns?%1sc70g8MxJexWX{#<35(RKHPf#HTLhrsHEzFpW7z$5x|xJQVbE>4e*M#5q|mPOer7gg{zndN{HGZl=p$ZHRU|iOn9L z?3tse7<%qvaI&xcakt-HuOs8>5?9bZgEhMr3I1PDM8kzP%Y*-OEb`kB#)M zGaW0%R89v*i8iF;a5Sht#<1T5_5zS{wkn9uVlLqk(dVi@OrPwpmc}T6(ilmZ=fVDJ z+Lu;xqGRm=1vGlo4uIXwyr~d%=6bIL3_pMKL;ZXd$kEgn_J<;|x3@6AZ<%j1SPbi% z-(|3zG_q|J$iwIN1U_Z&2nhCTDCI$*F|VKf(+UuyFQwOHr{lS14Jn{&Kn9i2Enc#y z3=cWRism9?#}E48di;1kJ|l!4{`|TnXoLM?!6?dJ`hz`$>+7nnbtB!mR_s2P( zQ1iUbtoPW4VQm1M)iM(oUmItW{R+#-xmi*3G77V7_J98Ewtu{U+<*J?r~UnJzuT|B zexY29X&6~q^V84Y%OTIbPjCS3AV#iV=UEvYSyLZffG-#@h5c2Q=C;|7Zd(x6&jwje z1CD#&l@N;=+dNDU0mUFRWqV#nFX#Muu*{&Yej|ESPVK5tIO&vjiq&xdJn)C7IT=pNdVk*$nfWpsx=AN~fY3IZ?V^0lVw z0Y^SbqhC(1cs2X*KFpXEIkdlc17)aOYl1PVURb&=40UA6Bi z;M~a%F}6Vt;JOUiL^qw3ss>`9@WE?KW|6T?)1a%eXTym|r$Y7<);0maub5;HfXW*c zM`4tM(Xyk?RM%PfU4BCYsuU0a+RUu$&uJUB@?thG6&b1ocu#2764Djy3zmV}rkt*e zG2=eyfxT?qSO?uhS-(Ig@m=BRzx+%|c4c|YK4v;NdRRvFE($@aS z0ARmeWoM#7o6dC!o~tr+b3N&({_zRF;_old^Y=f%q&NGZX4{99CE4Hizy9ZM^;!-; zOMB}Z2fU>{@oiCVr@Tpj>c;uV=B_^8Mtvb>CAB1`FM*^}TU>Zv#VZ+1FayN6bdO`)U~Whd{$ z-Z$z=@oW1oJvk zSMJ#fq+C^~qq5O$k_oTc8_dJ;uBvreln%Tu1B9iw_O!&S>-tm&BGa5f7~1_evo4er zn8}o7CIxJen`;wRq@*t*i*J6IC}e@fPBeiGTYKYICOLVWVOjfQqg>s@@e_~ z^na>>#rDG%r_ZWjkO90co><T!+=+w;GEFx zih)?~Tn)=J^K^00TD*gATA+Z==kwV{xJvm|y1%=()%1?4%u{Oc1bTIU5lIna86}U3 z8VfKLIQP7FgTW%k26+!aL#5|tyB$)serQ12&b{LI?z@e-)frJRoIXB2_*)7FD0kId(+E62^$3qRHL6wf=ZLai6?+DF94$IVZ$S7(Dlp^7od&v zn4Z4Z1M$9?ET#k$91ID=K)Q z^qAHS_BJ448c1)MA6-q*=WqjX3;VyIrNg1h;d^$(9m8!}Q5T|m_)RRnC91H|_#A4*3yKl4~)2udcL zpsDVnlI!4JOWq3fco0yiIA*1~&G}Sm`@+5ND$iTBH-GuZ{rd0A{`!wk`}e>6Zu@iF z@Beu6837Pn-#*H)`JMyRawy8Z0ZQF8rdz$Z{%O5aOL01pTu&KK>s`B;_O1;C@3Lly zu~i4ARtG`)&GiA?+#MhQ2@KHE*Kd@SM&n}HHkn@Zda)j`_G?Xcn4I=1bMhFS>!6WU z4h4uAwvEG_b`Cfr(p56Rndy;Em_SsX6{}6{Y_}o$+bkWw*vNBHF9(h9s<$jg;1!0y&PhL%y0x1 zo*e3{L4uTs6GY&1pQck=SZO1d)D4w{-7Nzr)uM(np^-7-$ySOtq?%(XDhH|mxH;L?ZRi6zJ$Rb55U1EbyTnf z95q(Yu7uJcF-SlLdhN&xz93<4A6-}ak=b6zddFazmILL0Stl(lo^NK;ea4)5Wr*#C zYLwa^hUq9z6KwyNpB?~D7cz(v^8eG%j~96R0D$|tPY!O$wf&q!)h^J3m@j+lJ{BF- zKnU)+MQ6^g6i8y&0bP;yQPTDwe}MnLDmw{sp!zCOe*WM7(@*v62{8XluIV}kSr)zQ z%HA!z<7QihC;Y2rW1p0KCw)~p`JuC=XN`710T%4P4Dc`r<~l2-7$B77IhA%$uS==A zbz(qKt<+K5K{58kj@EZYEk1xUj60`&LO>$Uz$5S5#!u)*tm5)c)Sxp}e^7+96F;** zcu(pMKR}J1&%njrECG;=uiNI@UuW<I^*Ug^kRO&V0>1$N_w2vd0L_hB1TJs-o!gQ;nLS8&akxF!%iAz{U$1 zv3adOJ^_@L>~q?UdH>fR*;XNMTIj{o8py1D`(n77dx*9v8$PR{ygZiE{<{hT$>+JM zj6R{)yEFH2wv-Pfy#%*v*s}rxxi0GIw7VARr@;0bS&YbJhrsKWlg}sQ6%(@VYPka2 z@h6gF^iNHKnTL93IWen zb{^j^V3{;0S&u{jwtL8`tTmOgY2Rkh2vrL+EEM)4+WzI9R;4AKpGN@SDL#Hi2Or=s zF9ted#DXc?5m`s^1Y=&*f$EJsNgiffp#F`s$hHSJZ6fuyA489_fOOuKk+hX6utwy2 z(RK%+IC@zJThjyvw#jD=1}nd^n&V2`?e5;SXBz|fM?Tk2VBA+#@ByHP-KzkLDoYc5 zE*i{MUq#WYY^Kl8madeC@^u9?rpkIz5YCU?aH>zYya}oYT4hkxDQ@+VnF=vA73{z zd|e3)hK$}nP%^F7gs4)({$`a^;ReECXb-L$T&+QT4*f}8@c00h$2XZw?Y+GuhqDN@o#6q-4W-dupi}=KNs60Byd(unUI4o1FcTT*$~+c&Ke`b@st=z4*?0t=-eFOI%zaM!GX=LBl+?)PXgN8@fFK$*sU;N=9YAD)}h16fSR>vnu@ zgi^F~b*}T^&$sh+35xfle7mZ?NcX3obnJw9YnB2rObIo4q`vigEyZ-B3Bac(y4 zDXhU=fQZLK^snb0P>Js7d!7KZ5Cv}|k07=U9Hj5AHNZA1N}~;z`W}q{-9Lp?m9|~} z27W%7$s_P61=P0(6{Q%M&ijKTSi#h74K{i+KJG06Ch+yg!;;~<4t}`rx!%~Ta_Si^ zmhowGZDB4)GB%!%pSv0m#Rqk*Zfy|Jktto%shs1u9s}WTS*tp-IbC~;KI%U^9;pmD zM-)ttdIFm5kQ$8UyCdN9`sQ`I#KyRxW^7XtEDOP6GcajWV4-|X|(XAxj!L|vKnb)l4Zt(GxmEWZM_xYyl7`V^d4CtYdF{FvO#7nOZ9J=hVf z%(Cr^a?$+Y&x7CXI1>zpaQm^Bx^z&)xrY;^9Qy;WuQ=q9)_#v|qlvf$<{5*1W^b9J zXhUHvSJMvA`CBnG?IR=sAo)RW(BZAK$P5Y=tiIRq*{OnsBR(j|O5dbYyr#NAIvIV8 zy$CG>R+)jZ_)u{A$kVRu5Cw>F{qQVWN)ygQ;c?%oVa^u#Ao6o z?ioSTkZf^p8t?3SBe=#5Z&1*?3j~LY@sb0JJ1ADux@@j7f<0-gaGFF9JJh$wOCDl1e*sO)gP=`w)oK?lrO zTKl5s=O&J%HCt!Z`k@H-p&V~2@8KO~2S-;o6wMrK&ufThF*wU8pr>i-77CyNAV!uv_z!yup{wD-dX|f5wgTqC%-;$U)CO7E%qiOhf~&tcY3zH?kQa$ zn1*S@8CJmGVBme4jp#ivpL$U zO(0!?#pY9I>yjJyuX~ZU>ydw$BXB<{Mx6S7Px~1qD#^1aj-Wh2F@1*a0RxChwIkBPu(c z`>f#Rno6Lq9A$rry+`-#I0#e;Hw}}Zy^E^7?xNGF7J!a;?Ic0&Fzrj245W2b6_M^!kldl*e6)RtO(tndCm9ok3}^EpT!<^)%62!>K4ofF8x)X! z%N~IY-?v%_3XnAF0SXD~#GCCvDj{q2siTK)>qNYfLFTHr-tZ41#u0oLP``U$`#wdZ zn4>XQM^%aOvwF1>agHHfYQL4gf6-}gXp6WCT7MiB$%Ub@r5Rf? z?yP`4#gba=frpAJE^nV&v{ricj+UDto731s`)a9XZ4fwZFX0r+*pJ&eV{CIq!`N#O zOXPE70%TVHv2A32Q0<)BFLfmK$d0`jvAld}u95`8I|0DBw`#AE->bGt+^?H@qXNDQ z`sVH+lK1}l8b4TlcX!)Pw6o-Q{=fe}{|J@dSJo}j_0HDX%sSZn4M@>J`6)TvJHup3 ze7T7c4ZyBRX=$TZAgDeIfjEGz?sK!OzNbfSGQJe5Nkv;LLjlw1a}oWF%HfT z(=wa2_c0Ee=5XfhP|mtHO0kw%mjw}U?3NL8Ca2+|buS9FigJcgNJZ~4vNEFgwA(O5 zbl;&arRR@Y7@R<{&PeMTAw$6vlP!X4tiIlPopbP8XJfn0GI$bhyN-epDk^^7K})L_St za>UxmetXRiL*8JtH_&h>8GHex{$3WxH~1ZuSL=Sta4VSr8?yPYX<$?s&eNi4LI9ol zoP*DD=}Uk{V0;X{-F*Gyno~bP8q;2Ky_%G(^6vbUGMgA2ly0R_9bJkFHHt;;ANQJj zrahMvuc-UEN0Pv9&gi$9jLyq@i(s6`C@Ae!8xC%-Yd+)DL;&#(clE&p zH~@}$y_Q4M{`OnguP@L2fB*O2sx;{Lzx-ZVE}I5*X1e_H5;EVa58?z66?oL(u96!z z?GoxUI~oYxvzdJsa%5bosg53sMgQ(CgFl*{@XR&PiaYwfdq51oU2W6)vG0MwMJ<>( zTFMr zeO&L)qk!6jA7cWPwOt`%qEL7&?+T}TL`mBb;!*YeRc3pYBdY9gtv2YdYn)bcRmo*1 zZ*DqW0#KG|n8iN62RZdgiYa-WYc)A)%GAL6Hy`{QwyXWz)QLJ<$=T-7JhP1q^Sss< zvvs6z(@_7~yZNdBJtLsd6e0q!mJzuZ4>B-L1xj7{peDIR1nC0YtOZ*9W{1 z30Hyb-lVGmenj@NU(n|dEfG+5j*{NWu-(vwvY8~`jpvmAc8|wi``B-i)z_XNM;!94 z9$}B2ESViK^nvnvBi}$y$bMM7ZaThIN-P@|6Q;V#s?Ksp+wj+s^<9B#GW4Q7Xcnz^ zRB?j)C>sZhUPP>6C){0@>ZFMR-wEJd9!>YsozmIj?FW^*hDFyD>wvLP-=>U8#}8Er zwBf>ghQO0f**9O+i!;I5pK>tTYmdIYq9d85n{pxf<@-ya|EE9U@4R&Zxz*Q}b~2x* z9PMjp7{}$@R|J$Zu#^8Lpqq&VzkWW;{>=eZk{8t%H`nvi3($Rm%|8{m414tBf!}ja zopg&q!(f_V8OQCG(=oF3K^f0W=^0qGYX|U!hZkl5Bv7*JLffE7do3b*YNym8yDa= z>VX_Q@*WK7Hhy4$qR|YX?@5c0fe8LhC-XJ0>}cyqJH8|ElNsRze!r%jIo7 z!*aG-+MR_e3`L-tQ@2P*%WA5@R0|a@N*dTPX3~AglcEit4n3%r@7DiPCXjx=*!Doc zrnJOG$4}X^H*FVz=GtS~3dnNxHveuaWAuYv)OTTunydYZ9hk)?z^g>Sb04sugM*AF zuc|32xfqsD@dU`1bh;DfqaY!#=HjuWVz5EXRV|+0`^YPNnXHp~CsXmw2q;+j-1*Xcwk89C?UnNgI=(MW^Mqzr&qEES@ zHcQOPbpZ=z>~l;|-t?Lc|M7FeYV<7fGYY7l5`PkoGs|cXIOfgRaeyV>uLA^KRn8Dg zQFiNA3_JE)%Z2ktpAi5ou(ymF0(1?e9@=m|ZxqtgM_0hKS}=%-^qu;Cy|4RUC8YFR zJ%v5u01+e%S1Y|Y<$SD9C84vHJwn%3D~@-Iz^Z=--h46(gA?1(eWM78Dhno?THQD1j_DU|?X&I8^ikPE652688nr zy`2j0M>`yGYXNowv*+0>OGyH(2ewJt@tUABAy0gkzVW<|!5-_)8ROHAU~S=!A$I-a z?{wf)B*Tc_gD$ef=wg(ng*(5y_bhFUN&*kue)LTxQ1JTix2K-L-VA66qbc`26XTEV zc+Y|`d&@p5!FSE;Ofu>-YyJr9vV{EZ#~OiH*)N8ylzaPI^@m$ zGAPGvm2&oDeF7Ca`exQ8fjbVM*4pN=u(^?pi6vv=c;=Yp91h21I4E=Dp?yB~UgxaX zQC({bxQ%|c659D&JE*g^mQOw(bOfVYn4oCO<)G`iwEv8z!m;u>>oYabj(`0;gLk<+po8;F z$WLY+e8G@8fp}r()ZqM|JipJUy#dq5asfoF3Ahzdyo?4W)`X-oOhXsgtl@AnE6cFF zU|=Y?^T7zo@4qLgyX}Ae?P-7c{q^5}{9%9p^KV$d%d1Zw{`UR*3ru*_I!iVzWaE4= z`|p!Zo627?^ulOFaUFET1YoHL750l6eU3A(p8Z^}Uvq}Y9CaG(d&IHh%yY=VrZZ7| zm6;X3e$cnpy+CEW6n7{nvv_^>ppiBS*P<*)T>9uYX4G*ZkR4g5>5N?kkaEgQjAV0bTpa-w8-B`X z{eE$tGzVB}SktJfz4Uun-nzzyqLaQ! zuh0>&pFVQWbXNBP*qU{^M9VblF1z58z)qm6xxC9(kx&Oc5tY5pzm@5OC?92ukE{vw zsJvDSnwHM{&MK%lu6qj&|l#xI(AxvO92gU=+XUFy}t4 zsV2+IC78OI{vt3<0=@3(>#!Z1Evq08>r|gv{(jX=gs5H^RspgEbicjUm%ZZC;rr7! z(7>O5TJ~T5^`m(I8#BA|=^h(B)w^vA4UKFGqP~l{V;4)BzX+iH{t2D^+wa@{k>%|N zpnF$Y`7RJS*YT%+`ELLE9iZ~hKRbDtc138@}vK+ZN(+*>0tEzw9yci=W90(%aZK^wzwYWeEPCiUQ-1uz;>L?}1e% zyDprH28mJh^j^sCD)95`MrLvTo&k-oV0(z5&NnNglUel2vJCE(vBCz)JwpR!r*yDM z6d~X(S~iA{ND*o%AHBfadw|&@S4Z1}I&xwQRgp)V1eujgh}zLWwvwNWa_wT)-;?XE zTQC4y6@RYmVp==_pIxA^l$LWpyS-BaNbA5+3_N}l0Iu~u#g~&2nt>ho>PoDEozb$8 znRY&*{AmTfs?bK-zgEu=s zs-fQ7jwlvdI^^e5hdz&LHmZ~MAG%8Bz$U8O3GGwsbAxQDgi?nte6k8L+u-FseSBj= zU-f9_(6z1V=1E@23non_4Lqx$F@uW1|;t3_iR8Hs?##N0$Mfx)$Y_OJ4-QdY$m2!D!MDmJR=hn5L4g zYJF!0Z?8nVc^|YxIx2+fBF}o?EM3v%c%N7PZ_nK*g|paRA>`PQ#7W) zXB*HeOJ~pCx06+D1BP>dl=Z8u+F?ZPO&rhjzGuqxkx`#}l>KJ7z}7mtmN(7OGMnd zAD`1?+Z1pq^k*8f7q~u~*XC^tdaWCv!T@IXJwXEv77VjD$1IQa$jf6f@`ZL>OSwwc*@t8%{i^( zGujt(@7~R#WzfOdr@lbTUJlLZ-)IjJI~(7%FY`=#d>O3$JpnnvLzNkqQ_hlS0$Cpw2;liE(6oFFxD;|qho<1~5>(`{ zGm)2uCdNjVib?MJWKNom+}zZ$i;ji%TLCjg+gAu=rEHYL%jdXnW#Qu57wwe?0XMUe zIgbkfWrGyGrje@`LGuv~qXUr{LH+GC_Hgp1_8!;4yx=|3-64<=c#6tgy-4pjX;?DC z5B^Ac`YK0cSBZ6YAfm+k}e zs%LM@!sWfuJy?u9r@&bpG%E3xcJPDuyJO_bC$A;lU%CxmZ_7I~1=H|M7)BWFBpCx~ z^&B+d9|XuZ_iJV#%pQCN_fxzknW`w{YSL($Zf8C)AWuX4WPuo+jVjAydkoXw@$Pcy zABK$CeJ(1HN$t$O>wf2k>n1Nh_?*!o3eU_1022t`eMyrCduBzKJf*HIz??n)klhsQ zcS#WT#vXT@BQj^%>qelWcmr#8>HM_6LwcBj&Z1xJW3HzHr?T}M@ZIf%+w!i4DMvdt zuc5UAU@fOyeuqzBw)T{poM&GAa4$~bzUn?dy^Id@XxtcJnR57h4oE{^-2_zs<(Eg< zI62Vr8-t%8Y*X~0PF6+Nn`4*d%z>6&X(#3${`ULLtnOvM{{F1{CWxGJDGU6vy~DQ; zv|Pw_eEWu8;}->a@dGBVb>O7>s4^OhpdA$#jjxKK*#vecD^+;JSKHBdZ0}!flj1zS}oEG-ge@CFH>b~c$ch#SKDMv?svhDf zrrhL=Sky<>GOmEvIP8lUpr-5>_oGdo9+P_cFzC3-maFwLbx0?Ygya;1Bh>lzIt^l# zPzxwT33Rk=Akn32)F+*SV)HKo-W&j;;A~#9vUMNGuB)}*!C}7yb!m^cJaGgtzn<bc2&3OkIf6l2 z9Jm^{wjSV=Gi17>+txkz=x+HS@~!n#Z7DLFn=K60RwMBV%|;sE7c#NrA#F5eBnwBl zB)o#bzFMo7k63+aH|-sZuC7utPTA~we(|_$VsG&_Yd6|3WoKfa@29v%^5x7n_p(=W z-^CLJDi$dZCMWfb>SYL+c=Ml}GLbl3?$brNqkW>^hxrK5)xgtY@SY1v0TvoYh+E`) znmbUplHC&4SdBo+uY2$lC2uI%<}fpuXh|QK$q)5+SAGFM$reW6UIyXk*UZ8S3Kbq~a>bv7>_)MWbu{BJ9Vak7jMJuWnlh%nZG%p|f+HN(5*C z`r?o^o@MD9?$u3xtAxCkbJn_IQ}&2|!r(7zNHcUubmgS>;&B3FH$hGH!WE!fnYrA| zCk-kY*T$$!_Zc~v)`sTBfeGuVp*gd4qd`ZvX>*`bd`$<$rf*X(mm09e8|A<@wKagE zylFqM%-}xTZ`)98eMV7I0fo_m_#$)6>tTO$-vegWbKAS< zIqPrIN<$0WzsDLu`DDq^!v_RVw$Md^WPL_>&O1h<3K%QLaZNdaG8vyo>8Gy$!Qn28 z3PR^CMUz{jDhguvaNIBM7lpU{>HO^X1+Y+tu1aLo&7(6b15+qJ&g?V8=d(0IPPYWU zz(tj%h!((tG_Inzw!ld_SowUFJ;=A^Er;=fk zOCJ>K0G08X8Zu_q8A{y`)o0%Ye09dN&E6Unfas=;0)Bt8YR!IR5E*W6^PbMG6{kLH z)>&mRf+$0Gw6Q)umK1697k%55qRA1C;Qmek>CCXh^V3P#-p?B*<3bJ=odyvw9iTFl z9yBodJR_mJ_YvTZ_vfyIPK*A0_629X(UXe@R5GSATV}uYa{?<%Yv-QdE+++GVg6fD zX@;3Mv*>2ZJ!LHQB5n}P2SK`2Hkbfn-xJi(FvV|v0-8~VU1d)%l!N{HY4+P^*#G#; zANJp0|E1jeYqn$f{mV1}tek_NKMJ%-U^n|Ue$c}yP=E&Mz7JiqjmA!EKJ=%etj`xK z0E7+bl4LvRP*n&3GNZxk%G}9ayqWPs>#1nV1k74FiH--Sg(n$2HpGBxlUaRKn!BDK}d4?fLaAZ_j@}Nw521-Kfx&@r5stE%sN(Z{L9P{Pq(P7;* z&8wA=Bcrb~FoFZb`~XUVW$TXXDL_|!$(4e*M}OEthDZ}ZMB8db-{h~L+1ECVrOm+1 z63WHmsm+YBDjDX)d!A$cx4}o-qv=+%9p%RxLtl7bDL7vTZHAdjb@S(`tLwA*(d_44 z17y(l0sz#8b4B}ACBJZn#`ZO?!#8`|8T;TxbV)LFNOXnVwCW*$hqZ2#(!JUq&~3c= zEL71z+4og?53;NFrtYx-0;o)PC*31CBcJJ~wOB&^D3IX4{>!)W8L}P2$LqBWQ2fl^ zyJ=TlA6I>^f?TXd>B?_U_KllT7nZ(jxMn&>Cx%r7qh_vc5+oB#HoJ_^WP z)qdfF!GW8yB=-;P74Dahl$k{p9Hst;PM}^Ba(SC+i12EqEruOHwRm2Dyd8n@DH#C$ zF7Qz2?U3$c_tpc5aRpli!rBNp+Jy}k@hqe5lH|?XtbM?E)7PpNa@r;(lgcide(v}> zZUox_i&KCzlo@bjDnDQJa8Y8QbAZ=AmfghlClIr_c9{tp1dXMFxslmV;Iac)uzHHk zs1H)XS9TylvZtP(GGBwJ%B2ZaFH@NZfiNUzO9mt^-?lNCY3$!2C0HF8v!Et_rZ+0^6NAh`M@NU zjhlR4fiLQdfRR!<`-3=x5m%_;ngqXR&JAs~t$yB=6Xu=4SQ*3eNeO@#jco9oao;Zy z?$&jv3qR%bO#&4vt*%;cCPsyP#vC-JDuV=-8LU=I2U4X;C~u^=_YhBKWlBOAHysN+ zR`eP^YjWO8PUaxT3=Sq<5e$_@y!lYj|JL#z_q6VX|6ti&(K!Q%XeC1@iu+bo25S1M zeKzY>7#0VZ?9P@PUKLG9CYXdgfbkr>Ml7Mm$!%pf)7M|p5!9JHw|wc*AU%DE{7Cm{ zUTg^z%)mC2wJBzs~|i#=&PcYx<%L*5KjxC;Hi~e;yom z_M~H9)eD(~x!7`tHj0ePV1Up9c4J`z6%-D(1<-*<<30+6ZOVGv6TH|5_^lweE$g;_ z`P0>pp;jn!h8KsvWosfHfBT235_l~1h`$?$BHeIbs#OioS9p&q_=_Ltr&J(Edf#yG z0()=KiZRg3HS%u_QOmu4^8OmUnm$Hml3;^VA;4huLHbgL=jl+-H3n=nJAurrg)Erv z9o+0HfTj90{FM?|+=WvSb&gynb?zrYs)OGEB(EcNRzs zWy%D#?&JB-hlJsSzt61DDsQ54Q*Xtdh)Z7TOiHd_4$40Ek(4Yy0&?j1z$tUZG0Nni zDFsJF2N%|Iu=$Ap0uc6&Ql4}sdXa3CZ?6(q+Q!;yUGXhX6AeNLZ0V#6%AWvQ@vXPuYHECJgA0Id1J&!{bcgy6P0=Y=L`2&P&b zMy9t;_12}-=ORZ{OE~+BJ+21nL<>fmEAXHJ+o(*Ee3Fl%%h{JjU8#~a8FH0j6O+9_ z|FL9U55(ZkOB>Wmnc4g7p&{JwHL~?GsZ<)Eei)2P`yq3F_$Xw)C501uDhRelDdLdgpRCAHqv)n#`uXk-H( zDK%i)xcHkcs_SYmWAqBnCnf`3j}w%gJI0wXYkm;zskMh6b`}Cw_u@@h(M`JCbe8a(8GLeXP_=-%0nh~p`1nx`0V-{20Gs5(8gEs9UFc5@041-X?6(ES zb^}02S@Vs~V(}t*Dfy$?A0*Iv!D0LP8#012leZ?pyRpZvGxH3A!^)6*fyp;BbF4Q!zoN!qK z!IlZ6W6H&nyP^$(^dTAwog23M%>EbQ3xpTHt5sXuAtbH>aR{@?)lY|aP$}X_o zG6wTuqq9X_b>5OV0$pUVk&o0OWymG;hzQUwwKfRa5!N&h@?(1|$u#PM8Cup`Ri>GnA*ov`)6`q$ zsWm}m7e@X!QlL5z0YM`K@oU@Wnp*7%Nuqv298RYXborzemo+f_5q&|Ay5o-3U?? zEeoJiRTKf>mt5M2$8>U+k>TzO|k@^O#McY;JIt3v}rX^A2JOsuFLB$E{x% za0tFmsixUIvU^HW+|zQhlK@P<<0ygx_4ewFXV}eS(<~p`w^|@jrcJUUS4<;T05SMw zQ&gOFE^dPxS<94X?B4&owWxK1Q?4rk@B;YRqGygze&xuIvgrb}xF|;(SFuyJ$@aw% zud>H)^|rMM-um$Ht$>ol1{%A6{9fHFj`I%Ms~6u_l8zYwTUBKW(}_KJ+op{2w&fA% zz1Y$NS-#PgAnn7fgLi#wvUiM;y50y@@3AfF)nzRM)ono8*|MgUkd(6QdOVoCiQr0h zX(~RdKpJ$BhR5ZCst50)9$7;lMZ5GV>Q2Y&MwuiqS8r8CUm*D5)EV$sXD@QWkN1IJ z*2tujBAfokp8Ipl9SzTd%L4Fqkf0 z&J@7y?8~D)Ylo3T-kgn4-+EYgLZw@>~6 z=!Ef}8Mz(NX%IEous^Kfnm~qC_g6B33Q+i!RduZ&2z^LNQOx}P>)Dn{@5f?>49LXi z(Ub=7o(tS0-RqK^AT`eO*#?(oR6h7Ya+|+NX z6%jvYK0t+>rhM#<$oPZMna( z8}CUYEMHbu?T+yc4juB=`>}&Zrs?uDmLuM1uqzGH>01I1jLtsWKJdxnc*fRm{2QfM z_~c}uTbGqIpBTX*30V^#&ROQK+Gp>--`BC$98?FOY?O~3Ymu?2EVrP7S7~X{%7PM9 zy8va7d9UA*tw}BY4*odGfB1Q|(x`pX9&MDx!cgBs#5`+CC#;9^N9{9I-BxGV9#6Ex z0vYU0t1=1)E?+}cN*ygAF4Ib3kA%U3z-3| zjPi6|ux~N6#Ro!L1WqOHRnK{J;E1t1^UqVtQq!epsS{Cu2&8maJ1n|*S`VhRN!a>e->RT zoA1^8w2hPvAct}vN?3+gXKe0~wR&IcYcLx~9kbnVZK&|!_BqG2vIJtV8ddN8y*Hzq&GFi2p7jM_c_sCc?YiICVW;z%_LCSt*$8Opl z7dcrd>Ofe+TUQ}K{&up>He8<6)YDG~#CRrZhU+9pc| zZ9602w9Hiyb_RLZ>xB*(No@v!Dm$rhT7rk=xg$fMd% zw+44ny%Bxh?XYoe;uezY=qk|=iRh+7Tc!RCE)%c~B=T0mB^1<6|=z_i=^FHsOpR!4$!g`w0Sx zdvUOuS5{b3QPNpvg#Y|Pa6ex1Hv=&r7xdFl-*V{7WxxCc+bC^|1Y}cAJuZ&>3&|do zmVP~*HtQ~Z`?p`8?D>u}&Wye9*}1J>=WgHaKJ>jxoXfUZ))~^uCf#tLC^J;j zADtQ3XBX6$nL+95Md~yU=pP<{eP!%cY8_>P`(!>Y?;v0G<;_0`#8#i-I1(F37r}!P z*rVi_27zk7*=Kjd4+TyV97=}0FUyE60OM?7nR}XRpiOIsKd*q?^?}OZ>eEX;SF^(+ z1Emm>SL+^$rQGQG?dFFq02#grN`W(`_wP6ACHLWjFIIiE-%49jRTB>;Sg~fS?HuuQ zr5sQXPumFstJK}HW5g)Ww!>D*XZczk%w)^2{9@TUv;}7)9lN^jXg!b zVsE=)5-y_o%lx1Tqg>omJ>Y#Ns5)XZ)YiWmR%)98(+Ya=TSd}`oC;OP6VP)AJ+%)( zvJbWx$w81mU5!BfT>oC^BdayvJest5E@FAfLs@lpL)f(~S}h`$vE8Zyw1;g#dbl`n z0?7tEg?c{9tF3COXn9!v_k$O*MLo#RQ%>9zpjQCLs}^pLBk+{>ztq0b`x=X=@gmQo zRigC_0`319AaY(8U@-!-Tj$NssuHl;F*%d%0An_qEVaj_+Fo&}m)cj4*Jns9g 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φ<}~%j)#S=!)RGZcSy=7 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�nW~a@ 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 rVLxF3RdQcB1r9$r*v{#FNX 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 Pk4N{VA+v%0J#Fh|-R^&i=WbCEd=}Q>4(CV< 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

    mRNDtsd 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

    ySazfqPQ!wLX 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%0DXavcY0DREGpS>M^|C}tOwsdRv@8B@#2Ui~65 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

    +_>x0x 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 Z6IN&ui+j$*gd4;ye*^7_U2!g+8q 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%0A9~SIwG0}h9w)l>D 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 Date: Tue, 16 Dec 2025 18:53:38 +0530 Subject: [PATCH 10/13] fix: MRPC-7111 add margin for breadcrumbs --- src/styles/global.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/styles/global.css b/src/styles/global.css index 9c8da29fd..0d4d95050 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -49,3 +49,7 @@ ol.mt-6 { margin-top: 0.6em; margin-bottom: 0.5em; } + +.nextra-breadcrumb { + margin-bottom: 1rem; +} From 27d2f1b6a01c67b695ee4359d3894446bc9919e2 Mon Sep 17 00:00:00 2001 From: Dmitriy Lisyanskiy Date: Tue, 16 Dec 2025 20:40:23 +0530 Subject: [PATCH 11/13] fix: MRPC-7111 fix build --- next-env.d.ts | 2 +- pages/rpc-service/chains/chains-api/xrp.mdx | 5332 ------------------- 2 files changed, 1 insertion(+), 5333 deletions(-) delete mode 100644 pages/rpc-service/chains/chains-api/xrp.mdx diff --git a/next-env.d.ts b/next-env.d.ts index c4b7818fb..9edff1c7c 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/pages/rpc-service/chains/chains-api/xrp.mdx b/pages/rpc-service/chains/chains-api/xrp.mdx deleted file mode 100644 index 246a17a18..000000000 --- a/pages/rpc-service/chains/chains-api/xrp.mdx +++ /dev/null @@ -1,5332 +0,0 @@ -import { Callout } from "components"; -import { Tabs, Tab } from "nextra-theme-docs"; - -# XRP -
    - - - -> XRP API is available on [Web3 API platform](https://www.ankr.com/rpc/xrp). - -The XRP Ledger (XRPL) is a decentralized blockchain optimized for fast, low-cost payments and asset transfers. It uses a federated consensus algorithm in which a trusted set of validators propose and agree on transactions; once 80%+ reach consensus, a new ledger is finalized in 3–5 seconds with deterministic finality. XRPL supports native issued assets, a built-in DEX, escrows, payment channels, and multi-signing. - -In order for your Web3 application to interact with XRP — either by reading blockchain data or sending transactions to the network — it must connect to an XRP node. Developers interact with the blockchain using the methods provided by the API. - -The API interaction follows the [JSON-RPC](https://www.jsonrpc.org/specification) which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format. - -## Methods supported - -**Account Methods**: - -An account in the XRP Ledger represents a holder of XRP and a sender of transactions. Use these methods to work with account info. - - * [`account_channels`](/rpc-service/chains/chains-api/xrp/#account_channels) — retrieves a list of payment channels where the account is the source of the channel. - * [`account_currencies`](/rpc-service/chains/chains-api/xrp/#account_currencies) — retrieves a list of currencies an account can send or receive. - * [`account_info`](/rpc-service/chains/chains-api/xrp/#account_info) — retrieves basic data on the account. - * [`account_lines`](/rpc-service/chains/chains-api/xrp/#account_lines) — retrieves info on the account's trust lines. - * [`account_nfts`](/rpc-service/chains/chains-api/xrp/#account_nfts) — retrieves a list of all NFTs for an account. - * [`account_objects`](/rpc-service/chains/chains-api/xrp/#account_objects) — retrieves all ledger objects owned by an account. - * [`account_offers`](/rpc-service/chains/chains-api/xrp/#account_offers) — retrieves info on the account's currency exchange offers. - * [`account_tx`](/rpc-service/chains/chains-api/xrp/#account_tx) — retrieves a list of transactions affecting an account. - * [`gateway_balances`](/rpc-service/chains/chains-api/xrp/#gateway_balances) — calculates total amounts issued by an account. - * [`noripple_check`](/rpc-service/chains/chains-api/xrp/#noripple_check) — gets recommended changes to an account's Default Ripple and No Ripple settings. - -**Ledger Methods**: - -A ledger version contains a header, a transaction tree, and a state tree, which contain account settings, trustlines, balances, transactions, and other data. Use these methods to retrieve ledger info. - - * [`ledger`](/rpc-service/chains/chains-api/xrp/#ledger) — retrieves info on the ledger. - * [`ledger_closed`](/rpc-service/chains/chains-api/xrp/#ledger_closed) — retrieves the latest closed ledger version. - * [`ledger_current`](/rpc-service/chains/chains-api/xrp/#ledger_current) — retrieves the current working ledger version. - * [`ledger_data`](/rpc-service/chains/chains-api/xrp/#ledger_data) — retrieves the raw contents of a ledger version. - * [`ledger_entry`](/rpc-service/chains/chains-api/xrp/#ledger_entry) — retrieves a single item from a ledger version. - -**Transaction Methods**: - -Transactions are the only thing that can modify the shared state of the XRP Ledger. All business on the XRP Ledger takes the form of transactions. Use these methods to work with transactions. - - * [`simulate`](/rpc-service/chains/chains-api/xrp/#simulate) — executes a dry run of any transaction type to preview results and metadata. - * [`submit`](/rpc-service/chains/chains-api/xrp/#submit) — sends a transaction to the network. - * [`submit_multisigned`](/rpc-service/chains/chains-api/xrp/#submit_multisigned) — sends a multi-signed transaction to the network. - * [`transaction_entry`](/rpc-service/chains/chains-api/xrp/#transaction_entry) — retrieves info on the transaction from a particular ledger version. - * [`tx`](/rpc-service/chains/chains-api/xrp/#tx) — retrieves info on the transaction from all the ledgers at hand. - * [`tx_history`](/rpc-service/chains/chains-api/xrp/#tx_history) — retrieves info on all recent transactions. - -**Path and Order Book Methods**: - -Paths define a way for payments to flow through intermediary steps on their way from sender to receiver. Paths enable cross-currency payments by connecting sender and receiver through order books. Use these methods to work with paths and other books. - - * [`amm_info`](/rpc-service/chains/chains-api/xrp/#amm_info) — retrieves info on the Automated Market Maker (AMM) instance. - * [`book_changes`](/rpc-service/chains/chains-api/xrp/#book_changes) — retrieves information on order book changes. - * [`book_offers`](/rpc-service/chains/chains-api/xrp/#book_offers) — retrieves info on the currency exchange offers. - * [`deposit_authorized`](/rpc-service/chains/chains-api/xrp/#deposit_authorized) — checks whether an account is authorized to send money directly to another account. - * [`get_aggregate_price`](/rpc-service/chains/chains-api/xrp/#get_aggregate_price) — calculates the aggregate price of specified Oracle instances. - * [`nft_buy_offers`](/rpc-service/chains/chains-api/xrp/#nft_buy_offers) — retrieves a list of all buy offers for the NFT specified. - * [`nft_sell_offers`](/rpc-service/chains/chains-api/xrp/#nft_sell_offers) — retrieves a list of all sell offers for the NFT specified. - * [`ripple_path_find`](/rpc-service/chains/chains-api/xrp/#ripple_path_find) — finds a path for payment between two accounts, once. - -**Payment Channel Methods**: - -Payment channels are a tool for facilitating repeated, unidirectional payments, or temporary credit between two parties. Use these methods to work with payment channels. - - * [`channel_verify`](/rpc-service/chains/chains-api/xrp/#channel_verify) — checks a payment channel claim's signature. - -**Server Info Methods**: - -Use these methods to retrieve information about the current state of the rippled server. - - * [`fee`](/rpc-service/chains/chains-api/xrp/#fee) — retrieves information on the transaction cost. - * [`feature`](/rpc-service/chains/chains-api/xrp/#feature) — retrieves information on the protocol amendments. - * [`manifest`](/rpc-service/chains/chains-api/xrp/#manifest) — retrieves public information on a known validator. - * [`server_definitions`](/rpc-service/chains/chains-api/xrp/#server_definitions) — retrieves an SDK-compatible `definitions.json`, generated from the `rippled` instance currently running. - * [`server_info (rippled)`](/rpc-service/chains/chains-api/xrp/#server_info-rippled) — retrieves status of the server in human-readable format. - * [`server_state`](/rpc-service/chains/chains-api/xrp/#server_state) — retrieves status of the server in machine-readable format. - * [`version`](/rpc-service/chains/chains-api/xrp/#version) — retrieves API version information. - -**Clio Methods**: - -These API methods are provided only by the Clio server, not `rippled`. - - * [`server_info`](/rpc-service/chains/chains-api/xrp/#server_info) — retrieves status of the Clio server in human-readable format. - * [`ledger`](/rpc-service/chains/chains-api/xrp/#ledger-1) — retrieves info on the ledger version. - * [`mpt_holders`](/rpc-service/chains/chains-api/xrp/#mpt_holders) — retrieves the holders of a given MPT issuance for a given ledger. - * [`version`](/rpc-service/chains/chains-api/xrp/#version-1) — retrieves API version information. - -**Utility Methods**: - -Use these methods to perform convenient tasks, such as ping and random number generation. - - * [`ping`](/rpc-service/chains/chains-api/xrp/#ping) — confirms connectivity with the server. - * [`random`](/rpc-service/chains/chains-api/xrp/#random) — generates a random number. - ---- - -**Account Methods**: - -An account in the XRP Ledger represents a holder of XRP and a sender of transactions. Use these methods to work with account info. - -## `account_channels` - -> Retrieves a list of payment channels where the account is the source of the channel. - -The `account_channels` method returns information about an account's Payment Channels. This includes only channels where the specified account is the channel's source, not the destination. (A channel's "source" and "owner" are the same.) All information retrieved is relative to a particular version of the ledger. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up channels where this account is the channel’s owner/source. - * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): a second account; if provided, filters results to payment channels whose destination is this account. - * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `limit` (number; optional): limits the number of transactions to retrieve. Must be between 10 and 400; values outside this range are adjusted to the nearest valid value. Default: 200. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `account` (string): the address of the source/owner of the payment channels. Corresponds to the `account` field of the request. - * `channels` (array of objects): list of payment channels owned by this `account`. Each object contains the following fields: - * `account` (string): the owner of the channel, as an [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses). - * `channel_id` (string): a unique ID for this channel, represented as a 64-character hexadecimal string. This is also the [ID of the channel object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel#paychannel-id-format) in the ledger’s state data. - * `destination_account` (string): the destination account of the channel, as an address. Only this account can receive the `amount` in the channel while it is open. - * `settle_delay` (unsigned integer): the number of seconds the payment channel must remain open after the owner requests to close it. - * `public_key` (string; optional): the public key for the payment channel in the XRP Ledger’s [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings) format. Signed claims against this channel must be redeemed with the matching key pair. - * `public_key_hex` (string; optional): the public key for the payment channel in hexadecimal format, if one was specified at channel creation. Signed claims against this channel must be redeemed with the matching key pair. - * `expiration` (unsigned integer; optional): time in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time) when this channel is set to expire. This expiration date is mutable. If this value is before the close time of the most recent validated ledger, the channel is expired. - * `cancel_after` (unsigned integer; optional): time in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time) representing this channel’s immutable expiration, if one was specified at creation. If this is before the close time of the most recent validated ledger, the channel is expired. - * `source_tag` (unsigned integer; optional): a 32-bit unsigned integer used as a [source tag](https://xrpl.org/docs/concepts/transactions/source-and-destination-tags) for payments through this payment channel, if specified at creation. This indicates the channel’s originator or purpose. Conventionally, if you bounce payments from this channel, you should include this value in the `DestinationTag` of the return payment. - * `destination_tag` (unsigned integer; optional): a 32-bit unsigned integer used as a [destination tag](https://xrpl.org/docs/concepts/transactions/source-and-destination-tags) for payments through this payment channel, if specified at creation. This indicates the payment channel’s beneficiary or purpose at the destination account. - * `ledger_hash` (string; optional): the identifying [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of the ledger version used to generate this response. - * `ledger_index` (number): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to generate this response. - * `validated` (boolean; optional): if `true`, the information in this response comes from a validated ledger version; otherwise, the information is subject to change. - * `limit` (number; optional): the limit defining how many channel objects were actually returned by this request. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value for pagination; pass this value to the next call to resume fetching results from where this call left off. Omitted when there are no more pages of data. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_channels", - "params": [ - { - "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "ledger_index": "validated" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "channels": [ - { - "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "amount": "1000", - "balance": "0", - "channel_id": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", - "destination_account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "public_key": "aBR7mdD75Ycs8DRhMgQ4EMUEmBArF8SEh1hfjrT2V9DQTLNbJVqw", - "public_key_hex": "03CFD18E689434F032A4E84C63E2A3A6472D684EAF4FD52CA67742F3E24BAE81B2", - "settle_delay": 60 - } - ], - "ledger_hash": "42C4F4E81710B015B3BA2A81E357E30E261F58964A6AB6C012734FADB67AB40D", - "ledger_index": 99672209, - "status": "success", - "validated": true - } -} -``` - ---- - -## `account_currencies` - -> Retrieves a list of currencies an account can send or receive. - -The `account_currencies` command retrieves a list of currencies that an account can send or receive, based on its trust lines. This is not a thoroughly confirmed list, but it can be used to populate user interfaces. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up currencies this account can send or receive. - * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the identifying hash of the ledger version used to retrieve this data, represented as a hexadecimal string. - * `ledger_index` (integer): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to retrieve this data. - * `receive_currencies` (array of strings): list of [currency codes](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) that this account can receive. - * `send_currencies` (array of strings): list of [currency codes](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) that this account can send. - * `validated` (boolean): if `true`, the data in this response comes from a validated ledger. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_currencies", - "params": [ - { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "account_index": 0, - "ledger_index": "validated" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "26C97A5C542BB50D6C084EF158AC35AC4D3A94CEA57286F60552A2D55BC2DDCA", - "ledger_index": 99672360, - "receive_currencies": [ - "BTC", - "CNY", - "DYM", - "EUR", - "JOE", - "MXN", - "USD", - "015841551A748AD2C1F76FF6ECB0CCCD00000000" - ], - "send_currencies": [ - "ASP", - "BTC", - "CHF", - "CNY", - "DYM", - "EUR", - "JOE", - "JPY", - "MXN", - "USD", - "5553445400000000000000000000000000000000" - ], - "status": "success", - "validated": true - } -} -``` - ---- - -## `account_info` - -> Retrieves basic data on the account. - -The `account_info` command retrieves information about an account, its activity, and its XRP balance. All information retrieved is relative to a particular version of the ledger. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): the account to look up. - * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): the ledger index of the ledger to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `queue` (boolean; optional): if `true`, returns stats about [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue) sent by this account. Can only be used when querying data from the current open ledger. - * `signer_lists` (boolean; optional): if `true`, returns any [`SignerList` objects](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/signerlist) associated with this account. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with the result containing the requested account, its data, and a ledger to which it applies, as the following fields: - - * `account_data` (object): the [AccountRoot ledger object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/accountroot) containing this account’s information as stored in the ledger. - * `account_flags` (object): the account’s flag statuses, derived from the `Flags` field of the account. Contains the following nested fields: - * `defaultRipple` (boolean): if `true`, the account allows [rippling](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) on its trust lines by default. - * `depositAuth` (boolean): if `true`, the account uses [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth) and does not accept payments from unknown parties. - * `disableMasterKey` (boolean): if `true`, the account’s [master key pair](https://xrpl.org/docs/concepts/accounts/cryptographic-keys) is disabled. - * `disallowIncomingCheck` (boolean): if `true`, the account does not allow others to send [Checks](https://xrpl.org/docs/concepts/payment-types/checks) to it. - * `disallowIncomingNFTokenOffer` (boolean): if `true`, the account does not allow others to make [NFT buy or sell offers](https://xrpl.org/docs/concepts/tokens/nfts/trading) to it. - * `disallowIncomingPayChan` (boolean): if `true`, the account does not allow others to create [Payment Channels](https://xrpl.org/docs/concepts/payment-types/payment-channels) to it. - * `disallowIncomingTrustline` (boolean): if `true`, the account does not allow others to create [trust lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens) to it. - * `disallowIncomingXRP` (boolean): if `true`, the account prefers not to receive XRP from others. This setting is advisory and not enforced at the protocol level. - * `globalFreeze` (boolean): if `true`, all tokens issued by the account are currently frozen. - * `noFreeze` (boolean): if `true`, the account has permanently renounced the ability to freeze individual trust lines or enforce a global freeze. See [No Freeze](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes#no-freeze) for details. - * `passwordSpent` (boolean): if `false`, the account can send a special [key-reset transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#key-reset-transaction) with zero transaction cost. The protocol automatically toggles this flag; it is not user-controlled. - * `requireAuthorization` (boolean): if `true`, the account uses [Authorized Trust Lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines) to restrict who can hold its issued tokens. - * `requireDestinationTag` (boolean): if `true`, the account [requires a destination tag](https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/require-destination-tags) on all incoming payments. - * `signer_lists` (array; optional): - * API v1: omitted unless the request specified signer_lists and at least one SignerList is associated with the account. Contains an array of SignerList ledger objects for multi-signing. Since an account can own at most one SignerList, this array contains exactly one member if present. The field is nested under account_data. - * API v2: identical to API v1, but the field is returned at the root level of the response. (Clio implements API v2 behavior in all cases.) - * `ledger_current_index` (integer; optional): the ledger index of the current in-progress ledger used when retrieving this information. Omitted if ledger_index is provided instead. - * `ledger_index` (integer; optional): the ledger index of the ledger version used to retrieve this information. This data does not include any changes from newer ledger versions. - * `queue_data` (object; optional): information about [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) sent by this account. Returned only if queue was set to `true` and the current open ledger was queried. Describes the local rippled server’s queue state, which may differ across the network. Some fields may be omitted because certain values are computed lazily by the queuing mechanism. Contains the following nested fields: - * `txn_count` (integer): number of queued transactions from this address. - * `auth_change_queued` (boolean; optional): whether a transaction in the queue changes this address’s [ways of authorizing transactions](https://xrpl.org/docs/concepts/transactions#authorizing-transactions). If `true`, no further transactions can be queued until that transaction executes or drops from the queue. - * `lowest_sequence` (integer; optional): the lowest [sequence number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) among transactions queued by this address. - * `highest_sequence` (integer; optional): the highest [sequence number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) among transactions queued by this address. - * `max_spend_drops_total` (string; optional): the total number of [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) that could be debited from this account if every queued transaction consumes the maximum possible amount. - * `transactions` (array; optional): information about each queued transaction from this account. - * `validated` (boolean): `true` if this data originates from a validated ledger version; if omitted or `false`, the data is not final. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_info", - "params": [ - { - "account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", - "ledger_index": "current", - "queue": true - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account_data": { - "Account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", - "Balance": "88986679", - "Flags": 1048576, - "LedgerEntryType": "AccountRoot", - "MessageKey": "0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D", - "OwnerCount": 0, - "PreviousTxnID": "083A5D87E0E10D8632A62B67CCE8C68C0E94615371E92AD591CD068DE600117A", - "PreviousTxnLgrSeq": 99424162, - "RegularKey": "rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET", - "Sequence": 192223, - "index": "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F" - }, - "account_flags": { - "allowTrustLineClawback": false, - "defaultRipple": false, - "depositAuth": false, - "disableMasterKey": true, - "disallowIncomingCheck": false, - "disallowIncomingNFTokenOffer": false, - "disallowIncomingPayChan": false, - "disallowIncomingTrustline": false, - "disallowIncomingXRP": false, - "globalFreeze": false, - "noFreeze": false, - "passwordSpent": false, - "requireAuthorization": false, - "requireDestinationTag": false - }, - "ledger_current_index": 99672810, - "queue_data": { - "txn_count": 0 - }, - "status": "success", - "validated": false - } -} -``` - ---- - -## `account_lines` - -> Retrieves info on the account's trust lines. - -The `account_lines` method returns information about an account's trust lines, which contain balances in all non-XRP currencies and assets. All information retrieved is relative to a particular version of the ledger. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): look up trust lines connected to this account, from this account’s perspective. - * `ignore_default` (boolean; optional): if `true`, omits trust lines where this account’s side is in the default state. Default: `false`. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `limit` (number; optional): limits the number of trust lines to retrieve. Must be between 10 and 400. Values outside this range are adjusted to the nearest valid option. Default: `200`. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. - * `peer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): a second account; if provided, filters results to trust lines connecting the two accounts. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the address of the account and an array of trust line objects. Specifically, the result object contains the following fields: - - * `account` (string): the unique [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the account this request corresponds to — the perspective account for the listed trust lines. - * `lines` (array of objects): array of trust line objects associated with the specified account. If the number of trust lines is large, only returns up to the limit at a time. Each object contains the following fields: - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the counterparty to this trust line. - * `balance` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the current balance held on this line. - * A positive balance indicates that the perspective account holds value. - * A negative balance indicates that the perspective account owes value. - * `currency` (string — [currency code]()): the currency code of the token that this trust line represents. - * `limit` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the maximum amount of the given currency that this account is willing to owe the peer account. - * `limit_peer` (string — [number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): the maximum amount of the given currency that the counterparty is willing to owe the perspective account. - * `quality_in` (number): rate at which the account values incoming balances on this trust line, as a ratio of this value per 1 billion units. For example, a value of 500 million represents a `0.5:1` ratio. As a special case, 0 is treated as a `1:1` ratio. - * `quality_out` (number): rate at which the account values outgoing balances on this trust line, as a ratio of this value per 1 billion units. For example, a value of 500 million represents a `0.5:1` ratio. As a special case, 0 is treated as a `1:1` ratio. - * `no_ripple` (boolean; optional): if `true`, this account has enabled the [No Ripple flag](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) for this trust line. If `false`, the flag is disabled, but this is not considered [default](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate#contributing-to-the-owner-reserve) when Default Ripple is also disabled. If omitted, No Ripple is disabled and Default Ripple is enabled. - * `no_ripple_peer` (boolean; optional): if `true`, the peer account has enabled the [No Ripple flag](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling) for this trust line. If `false`, the flag is disabled, but this is not considered [default](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate#contributing-to-the-owner-reserve) when Default Ripple is also disabled. If omitted, No Ripple is disabled and Default Ripple is enabled. - * `authorized` (boolean; optional): if true, the perspective account [has authorized this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. - * `peer_authorized` (boolean; optional): if `true`, the counterparty [has authorized this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. - * `freeze` (boolean; optional): if `true`, the perspective account [has frozen this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. - * `freeze_peer` (boolean; optional): if `true`, the counterparty [has frozen this trust line](https://xrpl.org/docs/concepts/tokens/fungible-tokens/authorized-trust-lines). Default: `false`. - - * `ledger_current_index` (integer; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) used when retrieving this data. Present only when using an open ledger version. - * `ledger_index` (integer; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) used when retrieving this data. Present only when using a closed ledger version. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the identifying hash of the ledger version used when retrieving this data. This field is only provided when using a closed ledger version. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination; pass this to the next call to resume retrieving results from where this response ended. Omitted when there are no additional pages. - * `limit` (number; optional): the maximum number of trust lines retrieved. The server may return fewer than the specified limit even if more results are available. Default: `200`. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_lines", - "params": [ - { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "api_version": 2 - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "ledger_current_index": 99673270, - "lines": [ - { - "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", - "balance": "0", - "currency": "ASP", - "limit": "0", - "limit_peer": "10", - "quality_in": 0, - "quality_out": 0 - }, - { - "account": "rE6R3DWF9fBD7CyiQciePF9SqK58Ubp8o2", - "balance": "0", - "currency": "JOE", - "limit": "0", - "limit_peer": "100", - "no_ripple_peer": true, - "quality_in": 0, - "quality_out": 0 - } - ], - "status": "success", - "validated": false - } -} -``` - ---- - -## `account_nfts` - -> Retrieves a list of all NFTs for an account. - -The `account_nfts` method returns a list of `NFToken` objects for the specified account. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string; required): the unique identifier of an account (typically, [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)). Returns a list of NFTs owned by this account. - * `ledger_hash` (string; optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (string or number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `limit` (integer; optional): limits the number of [token pages](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage) to retrieve. Each page can contain up to 32 NFTs. - * Must be between `20` and `400`; values outside this range are adjusted to the nearest valid option. - * Default: `100`. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `account` (string): the account that owns the list of NFTs. - * `account_nfts` (array of objects): list of NFTs owned by the account. Each object represents one NFToken and includes the following fields: - * `Flags` (number): a bitmap of boolean flags enabled for this NFToken. See [NFToken Flags](https://xrpl.org/docs/references/protocol/data-types/nftoken#nftoken-flags) for possible values. - * `Issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the account that issued this NFToken. - * `NFTokenID` (string): the unique identifier of this NFToken, represented as a hexadecimal string. - * `NFTokenTaxon` (number): the unscrambled version of this token’s [taxon](https://xrpl.org/docs/references/protocol/data-types/nftoken#nftokentaxon). Tokens sharing the same taxon may represent multiple instances of a limited series. - * `URI` (string): the URI data associated with this NFToken, represented in hexadecimal format. - * `nft_serial` (number): the token sequence number of this NFToken, unique per issuer. - * `ledger_hash` (string; optional): the identifying hash of the ledger version used to generate this response. - * `ledger_index` (number; optional): the ledger index of the ledger version used to generate this response. - * `ledger_current_index` (number; optional): the ledger index of the current in-progress ledger version used to generate this response. - * `validated` (boolean): if true, the information in this response comes from a validated ledger version; otherwise, the information is subject to change. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination. Pass this to the next call to resume fetching results from where this response ended. Omitted when there are no additional pages. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_nfts", - "params": [ - { - "account": "rpoYSH7mntUSWF41gD7RhJQzrNHxogAb6W" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account": "rpoYSH7mntUSWF41gD7RhJQzrNHxogAb6W", - "account_nfts": [], - "ledger_current_index": 99893274, - "status": "success", - "validated": false - } -} -``` - ---- - -## `account_objects` - -> Retrieves all ledger objects owned by an account. - -The `account_objects` command returns all ledger entries owned by an account, in their raw [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). - -There are other API methods that are specialized for getting certain types of ledger entry, such as the `account_lines` method for trust lines, or `account_offers` method for offers. These methods provide a processed view of the data that is more suitable for typical use cases. Use `account_objects` if you want to get ledger entries of types that don't have a specialized method, or if you want to get the entries in their canonical format. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): retrieves ledger entries associated with this account. - * `deletion_blockers_only` (boolean; optional): if `true`, returns only ledger entries that would prevent this account from being deleted. Default: `false`. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): the unique hash of the ledger version to use (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version to use, or a shortcut string to choose a ledger automatically (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `limit` (number; optional): the maximum number of ledger entries to include in the results. Must be between `10` and `400` for non-admin connections. Default: `200`. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. - * `type` (string; optional): filters results by a specific type of ledger entry. Accepts canonical or [short names](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ledger-entry-short-names) of [ledger entry types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) (case-insensitive). Ledger entry types that cannot appear in an owner directory are not allowed. If omitted, all types are returned. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): the account this request corresponds to. - * `account_objects` (array of objects): array of ledger entries found in this account’s owner directory. Includes both: - * Entries owned directly by this account, and - * Entries linked to this account but owned by others (for example, escrows where this account is the destination). - * Each member is a ledger entry in its raw [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). The number of entries may be fewer than the value specified in `limit`. - * `ledger_hash` (string; optional): the identifying hash of the ledger used to generate this response. - * `ledger_index` (number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used to generate this response. - * `ledger_current_index` (number; optional): the [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the open ledger version used to generate this response. - * `limit` (number; optional): the limit value that was applied in this request, if specified. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): server-defined value indicating pagination. Pass this to the next call to resume retrieving data where this response ended. Omitted when there are no additional pages. - * `validated` (boolean; optional): if `true`, the data in this response originates from a validated ledger version; otherwise, it may be subject to change. - - -The `account_objects` array may be empty even if there are additional ledger entries to retrieve. This is especially likely when using `type` to filter ledger entry types. If the response includes a `marker` field, there are additional pages of data; if the response does not include a `marker`, then this is the end of the data. This behavior is a consequence of how the API method iterates through the account's owner directory, and a precaution against requests putting excessive load on the server. - - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_objects", - "params": [ - { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "ledger_index": "validated", - "type": "state", - "deletion_blockers_only": false, - "limit": 10 - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "account_objects": [ - { - "Balance": { - "currency": "ASP", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "0" - }, - "Flags": 65536, - "HighLimit": { - "currency": "ASP", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "0" - }, - "HighNode": "0", - "LedgerEntryType": "RippleState", - "LowLimit": { - "currency": "ASP", - "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", - "value": "10" - }, - "LowNode": "0", - "PreviousTxnID": "BF7555B0F018E3C5E2A3FF9437A1A5092F32903BE246202F988181B9CED0D862", - "PreviousTxnLgrSeq": 1438879, - "index": "2243B0B630EA6F7330B654EFA53E27A7609D9484E535AB11B7F946DF3D247CE9" - } - ], - "ledger_hash": "3E5A1F0602C9699922CBE7BD3846D0C22A584867FFAF9787A1C676315F0797B0", - "ledger_index": 99893571, - "limit": 10, - "marker": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93,94A9F05FEF9A153229E2E997E64919FD75AAE2028C8153E8EBDB4440BD3ECBB5", - "status": "success", - "validated": true - } -} -``` - ---- - -## `account_offers` - -> Retrieves info on the account's currency exchange offers. - -The `account_offers` method retrieves a list of [offers]() made by a given [account]() that are outstanding as of a particular [ledger version](). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): Look up Offers placed by this account. - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` (ledger index; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `limit` (number; optional): Limit the number of Offers to retrieve. The server may return fewer than this number of results. Must be within the inclusive range `10` to `400`. Positive values outside this range are replaced with the closest valid option. The default is `200`. - * `marker` (marker; optional): Value from a previous paginated response. Resume retrieving data where that response left off. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the account that made the offers. - * `offers` (array): Array of objects, where each object represents an offer made by this account that is outstanding as of the requested ledger version. If the number of offers is large, only returns up to `limit` at a time. - * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_hash` or `ledger_index` is provided. The ledger index of the current in-progress ledger version, which was used when retrieving this data. - * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided instead. The ledger index of the ledger version that was used when retrieving this data, as requested. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used when retrieving this data. - * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. - -Each `offer` object contains the following fields: - - * `flags` (unsigned integer): Options set for this offer entry as bit-flags. - * `seq` (unsigned integer): Sequence number of the transaction that created this entry. (Transaction [sequence numbers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) are relative to accounts.) - * `taker_gets` (string or object): The amount the account accepting the offer receives, as a String representing an amount in XRP, or a currency specification object. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)). - * `taker_pays` (string or object): The amount the account accepting the offer provides, as a String representing an amount in XRP, or a currency specification object. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)). - * `quality` (string): The exchange rate of the offer, as the ratio of the original `taker_pays` divided by the original `taker_gets`. When executing offers, the offer with the most favorable (lowest) quality is consumed first; offers with the same quality are executed from oldest to newest. - * `expiration` (unsigned integer; optional): A time after which this offer is considered unfunded, as the number of [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). See also: [Offer Expiration](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#offer-expiration). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_offers", - "params": [ - { - "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", - "ledger_current_index": 99895001, - "offers": [], - "status": "success", - "validated": false - } -} -``` - ---- - -## `account_tx` - -> Retrieves a list of transactions affecting an account. - -The `account_tx` method retrieves a list of validated transactions that involve a given account. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string; required): the unique identifier of the account, typically its address. - * `tx_type` (string; optional): (Clio only) filters results to a specific transaction type (for example "Clawback", "AccountSet", "AccountDelete"). Case-insensitive. See [Transaction Types](https://xrpl.org/docs/references/protocol/transactions/types#transaction-types). - * `ledger_index_min` (integer; optional): earliest ledger index to include transactions from. A value of `-1` uses the earliest validated ledger available. - * `ledger_index_max` (integer; optional): most recent ledger index to include transactions from. A value of `-1` uses the most recent validated ledger available. - * `ledger_hash` (string — hash; optional): specifies a single ledger by its unique hash (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (string or unsigned integer; optional): specifies a single ledger by its index or a shortcut keyword (see [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `binary` (boolean; optional): if `true`, returns transactions as hex strings instead of JSON. Default: `false`. - * `forward` (boolean; optional): if `true`, returns results indexed with the oldest ledger first; otherwise, the newest ledger first. Each page may not be internally ordered, but pages overall follow the chosen order. Default: `false`. - * `limit` (integer; optional): limits the number of transactions to retrieve. The default varies depending on server configuration. The server is not required to honor this value. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): value from a previous paginated response; resumes retrieving data where that response left off. Stable even if the server’s available ledger range changes. - -**Iterating over queried data**: - -As with other paginated methods, you can use the `marker` field to return multiple pages of data. - -In the time between requests, `"ledger_index_min": -1` and `"ledger_index_max": -1` may change to refer to different ledger versions than they did before. The `marker` field can safely paginate even if there are changes in the ledger range from the request, so long as the marker does not indicate a point outside the range of ledgers specified in the request. - -### Returns - -#### API v2 - - * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the related account. - * `ledger_index_min` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the earliest ledger actually searched for transactions. - * `ledger_index_max` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the most recent ledger actually searched for transactions. - * `limit` (integer): The `limit` value used in the request. (This may differ from the actual limit value enforced by the server.) - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. - * `transactions` (array): Array of transactions matching the request's criteria, as explained below. - * `validated` (boolean): If included and set to `true`, the information in this response comes from a validated ledger version. Otherwise, the information is subject to change. - - -The server may respond with different values of `ledger_index_min` and `ledger_index_max` than you provided in the request, for example if it did not have the versions you specified on hand. - - -Each `transaction` object includes the following fields, depending on whether it was requested in JSON or hex string (`"binary": true`) format: - - * `close_time_iso` (string): The ledger close time represented in ISO 8601 time format. - * `hash` (string): The unique hash identifier of the transaction. - * `ledger_hash` (string): A hex string of the ledger version that included this transaction. - * `ledger_index` (integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version that included this transaction. - * `tx_json` (object — JSON): (JSON mode) JSON object defining the transaction. - * `tx_blob` (string — binary): (Binary mode) A unique hex string defining the transaction. - * `meta` (object — JSON): (JSON mode) The transaction results metadata in JSON. - * `meta_blob` (string — binary): (Binary mode) The transaction results metadata as a hex string. - * `validated` (boolean): Whether the transaction is included in a validated ledger or not. Any transaction not yet in a validated ledger is subject to change. - -#### API v1 - - * `account` (string): Unique [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) identifying the related account. - * `ledger_index_min` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the earliest ledger actually searched for transactions. - * `ledger_index_max` (integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the most recent ledger actually searched for transactions. - * `limit` (integer): The `limit` value used in the request. (This may differ from the actual limit value enforced by the server.) - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. - * `transactions` (array): Array of transactions matching the request's criteria, as explained below. - * `validated` (boolean): If included and set to `true`, the information in this response comes from a validated ledger version. Otherwise, the information is subject to change. - - -The server may respond with different values of `ledger_index_min` and `ledger_index_max` than you provided in the request, for example if it did not have the versions you specified on hand. - - -Each `transaction` object includes the following fields, depending on whether it was requested in JSON or hex string (`"binary": true`) format. - - * `ledger_index` (integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version that included this transaction. - * `tx` (object — JSON): (JSON mode) JSON object defining the transaction. - * `tx_blob` (string — binary): (Binary mode) Hex string representing the transaction. - * `meta` (object — JSON or string — binary): If `binary` is `true`, then this is a hex string of the transaction results metadata. Otherwise, the transaction results metadata is included in JSON format. - * `validated` (boolean): Whether the transaction is included in a validated ledger or not. Any transaction not yet in a validated ledger is subject to change. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "account_tx", - "params": [ - { - "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "binary": false, - "forward": false, - "ledger_index_max": -1, - "ledger_index_min": -1, - "limit": 2, - "api_version": 2 - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "ledger_index_max": 100184671, - "ledger_index_min": 99766025, - "limit": 2, - "status": "success", - "transactions": [], - "validated": true - } -} -``` - ---- - -## `gateway_balances` - -> Calculates total amounts issued by an account. - -The `gateway_balances` method calculates the total balances issued by a given account, optionally excluding amounts held by [operational addresses](https://xrpl.org/docs/concepts/accounts/account-types). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) to check. This should be the [issuing address](https://xrpl.org/docs/concepts/accounts/account-types). - * `strict` (boolean; optional): If `true`, only accept an address or public key for the account parameter. Defaults to `false`. - * `hotwallet` (string or array; optional): An [operational address](https://xrpl.org/docs/concepts/accounts/account-types) to exclude from the balances issued, or an array of such addresses. - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `ledger_index` (string or unsigned integer; optional): The ledger index of the ledger version to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): The address of the account that issued the balances. - * `obligations` (object; omitted if empty): Total amounts issued to addresses not excluded, as a map of currencies to the total value issued. - * `balances` (object; omitted if empty): Amounts issued to the `hotwallet` addresses from the request. The keys are addresses and the values are arrays of currency amounts they hold. - * `assets` (object; omitted if empty): Total amounts held that are issued by others. In the recommended configuration, the [issuing address](https://xrpl.org/docs/concepts/accounts/account-types) should have none. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used to generate this response. - * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger version that was used to generate this response. - * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): (Omitted if `ledger_current_index` is provided). The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger version, which was used to retrieve this information. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "gateway_balances", - "params": [ - { - "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "hotwallet": [ - "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ", - "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt" - ], - "ledger_index": "validated", - "strict": true - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "assets": { - "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH": [ - { - "currency": "BTC", - "value": "5444166510000000e-26" - } - ], - "rPU6VbckqCLW4kb51CWqZdxvYyQrQVsnSj": [ - { - "currency": "BTC", - "value": "1029900000000000e-26" - } - ], - "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ": [ - { - "currency": "BTC", - "value": "4000000000000000e-30" - } - ], - "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6": [ - { - "currency": "BTC", - "value": "8700000000000000e-30" - } - ] - }, - "balances": { - "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ": [ - { - "currency": "EUR", - "value": "144816.1965999999" - } - ], - "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt": [ - { - "currency": "USD", - "value": "6677.38614" - } - ] - }, - "frozen_balances": { - "r4keXr5myiU4iTLh68ZqZ2CgsJ8dM9FSW6": [ - { - "currency": "BTC", - "value": "0.091207822800868" - } - ] - }, - "ledger_hash": "9F04F45FC6A7B4BE8DA04580F7E4E23DCCE58A9FD73178296CA70319C5B799F1", - "ledger_index": 100185180, - "obligations": { - "BTC": "1761.964986208178", - "EUR": "813788.3511514511", - "GBP": "4973.797603049582", - "USD": "6734902.401181124" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -## `noripple_check` - -> Gets recommended changes to an account's Default Ripple and No Ripple settings. - -The `noripple_check` command provides a quick way to check the status of [the Default Ripple field for an account and the No Ripple flag of its trust lines](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling), compared with the recommended settings. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string): A unique identifier for the account, most commonly the account's address. - * `role` (string): Whether the address refers to a `gateway` or `user`. Recommendations depend on the role of the account. Issuers must have Default Ripple enabled and must disable No Ripple on all trust lines. Users should have Default Ripple disabled, and should enable No Ripple on all trust lines. - * `transactions` (boolean; optional): If `true`, include an array of suggested [transactions](https://xrpl.org/docs/references/protocol/transactions), as JSON objects, that you can sign and submit to fix the problems. The default is `false`. - * `limit` (unsigned integer; optional): The maximum number of trust line problems to include in the results. Defaults to 300. - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `ledger_index` (string or unsigned integer; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `ledger_current_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger used to calculate these results. - * `problems` (array): Array of strings with human-readable descriptions of the problems. This includes up to one entry if the account's Default Ripple setting is not as recommended, plus up to `limit` entries for trust lines whose No Ripple setting is not as recommended. - * `transactions` (array; optional): If the request specified `transactions` as `true`, this is an array of JSON objects, each of which is the JSON form of a [transaction](https://xrpl.org/docs/references/protocol/transactions) that should fix one of the described problems. The length of this array is the same as the `problems` array, and each entry is intended to fix the problem described at the same index into that array. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "noripple_check", - "params": [ - { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "ledger_index": "current", - "limit": 2, - "role": "gateway", - "transactions": true - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "ledger_current_index": 100203014, - "problems": [ - "You should immediately set your default ripple flag", - "You should clear the no ripple flag on your USD line to rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "You should clear the no ripple flag on your EUR line to rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", - "You should clear the no ripple flag on your CNY line to rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", - "You should clear the no ripple flag on your XAU line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", - "You should clear the no ripple flag on your 015841551A748AD2C1F76FF6ECB0CCCD00000000 line to rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx", - "You should clear the no ripple flag on your AUX line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", - "You should clear the no ripple flag on your CNY line to razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA", - "You should clear the no ripple flag on your JPY line to rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "You should clear the no ripple flag on your USD line to rfF3PNkwkq1DygW2wum2HK3RGfgkJjdPVD", - "You should clear the no ripple flag on your USD line to r9vbV3EHvXWjSkeQ6CAcYVPGeq7TuiXY2X" - ], - "status": "success", - "transactions": [ - { - "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "Fee": 10, - "Sequence": 1406, - "SetFlag": 8, - "TransactionType": "AccountSet" - }, - { - "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "Fee": 10, - "Flags": 262144, - "LimitAmount": { - "currency": "USD", - "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "value": "5" - }, - "Sequence": 1407, - "TransactionType": "TrustSet" - } - ], - "validated": false - } -} -``` - ---- - -**Ledger Methods**: - -A ledger version contains a header, a transaction tree, and a state tree, which contain account settings, trustlines, balances, transactions, and other data. Use these methods to retrieve ledger info. - -## `ledger` - -> Retrieves info on the ledger. - -Retrieves information about the public [ledger](https://xrpl.org/docs/concepts/ledgers). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` (number or string; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `transactions` (boolean; optional): If `true`, return information on transactions in the specified ledger version. The default is `false`. Ignored if you did not specify a ledger version. - * `expand` (boolean; optional): Provide full JSON-formatted information for transaction/account information instead of only hashes. The default is `false`. Ignored unless you request transactions, accounts, or both. - * `owner_funds` (boolean; optional): If `true`, include `owner_funds` field in the metadata of OfferCreate transactions in the response. The default is `false`. Ignored unless transactions are included and `expand` is `true`. - * `binary` (boolean; optional): If `true`, and `transactions` and `expand` are both also `true`, return transaction information in binary format (hexadecimal string) instead of JSON format. - * `queue` (boolean; optional): If `true`, and the command is requesting the `current` ledger, includes an array of [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) in the results. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing information about the ledger, including the following fields: - - * `ledger` (object): The complete [ledger header data](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header) of this ledger, with some additional fields added for convenience. - * `ledger.account_hash` (string): [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of all account state information in this ledger, as hexadecimal. - * `ledger.close_flags` (number): A bit-map of [flags relating to the closing of this ledger](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header#close-flags). - * `ledger.close_time` (number): The time this ledger was closed, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). - * `ledger.close_time_human` (string): The time this ledger was closed, in human-readable format. Always uses the UTC time zone. - * `ledger.close_time_resolution` (number): Ledger close times are rounded to within this many seconds. - * `ledger.closed` (boolean): Whether this ledger has been closed or not. - * `ledger.ledger_hash` (string): Unique identifying hash of the entire ledger. - * `ledger.ledger_index` (string — [API v1](https://xrpl.org/docs/references/http-websocket-apis#api-versioning); number — [API v2](https://xrpl.org/docs/references/http-websocket-apis#api-versioning)): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. - * `ledger.parent_close_time` (number): The time at which the previous ledger was closed. - * `ledger.parent_hash` (string): The unique identifying hash of the ledger that came immediately before this one, as hexadecimal. - * `ledger.total_coins` (string): Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.) - * `ledger.transaction_hash` (string): [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of the transaction information included in this ledger. - * `ledger.transactions` (array; optional): Transactions applied in this ledger version. By default, members are the transactions’ identifying [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) strings. If the request specified `expand` as `true`, members are full representations of the transactions instead, in either JSON or binary depending on whether the request specified `binary` as `true`. - * `ledger_hash` (string): The unique identifying hash of the entire ledger, as hexadecimal. - * `ledger_index` (number): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. - * `validated` (boolean; optional): If `true`, this is a validated ledger version. If omitted or set to `false`, this ledger’s data is not final. - * `queue_data` (array; optional): (Omitted unless requested with the `queue` parameter) Array of objects describing queued transactions, in the same order as the queue. If the request specified `expand` as `true`, members contain full representations of the transactions, in either JSON or binary depending on whether the request specified `binary` as `true`. - -Each member of the `queue_data` array represents one transaction in the queue. Some fields of this object may be omitted because they have not yet been calculated. The fields of this object are as follows: - - * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the sender for this queued transaction. - * `tx` (string or object): By default, this is a string containing the identifying hash of the transaction. If transactions are expanded in binary format, this is an object whose only field is `tx_blob`, containing the binary form of the transaction as a decimal string. If transactions are expanded in JSON format, this is an object containing the transaction object including the transaction's identifying hash in the `hash` field. - * `retries_remaining` (number): How many times this transaction can be retried before being dropped. - * `preflight_result` (string): The tentative result from preliminary transaction checking. This is always `tesSUCCESS`. - * `last_result` (string; optional): If this transaction was left in the queue after getting a [retriable (`ter`) result](https://xrpl.org/docs/references/protocol/transactions/transaction-results/ter-codes), this is the exact `ter` result code it got. - * `auth_change` (boolean; optional): Whether this transaction changes this address's [ways of authorizing transactions](https://xrpl.org/docs/concepts/transactions#authorizing-transactions). - * `fee` (string; optional): The [Transaction Cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) of this transaction, in [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). - * `fee_level` (string; optional): The transaction cost of this transaction, relative to the minimum cost for this type of transaction, in fee levels. - * `max_spend_drops` (string; optional): The maximum amount of [XRP, in drops](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts), this transaction could potentially send or destroy. - -If the request specified `"owner_funds": true` and expanded transactions, the response has a field `owner_funds` in the `metaData` object of each [OfferCreate transaction](https://xrpl.org/docs/references/protocol/transactions/types/offercreate). The purpose of this field is to make it easier to track the [funding status of offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) with each new validated ledger. This field is defined slightly differently than the version of this field in [Order Book subscription streams](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe#order-book-streams): - - * `owner_funds` (string): Numeric amount of the `TakerGets` currency that the `Account` sending this OfferCreate transaction has after the execution of all transactions in this ledger. This does not check whether the currency amount is [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger", - "params": [ - { - "ledger_index": "validated", - "transactions": false, - "expand": false, - "owner_funds": false - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger": { - "account_hash": "E8C6EF996B38EFC2E297B3165F6B687433B1DF137BDCF804C0B0F9E393E0D045", - "close_flags": 0, - "close_time": 816442750, - "close_time_human": "2025-Nov-14 13:39:10.000000000 UTC", - "close_time_iso": "2025-11-14T13:39:10Z", - "close_time_resolution": 10, - "closed": true, - "ledger_hash": "344AC8FCFC579E9EAC59CAFEBCC1E2EA36A261F4EB2A6CC649380C351F402397", - "ledger_index": "100204822", - "parent_close_time": 816442741, - "parent_hash": "ADA5D8A5A554881A9E45A8EC88FBDADD5D4D47213F0FFBCE23001AD7E37B5768", - "total_coins": "99985759346884737", - "transaction_hash": "03E26EC74BFBEEFEBD19FD512A16809C1A165B1A2F9CFF4BFD987994FCA60334" - }, - "ledger_hash": "344AC8FCFC579E9EAC59CAFEBCC1E2EA36A261F4EB2A6CC649380C351F402397", - "ledger_index": 100204822, - "status": "success", - "validated": true - } -} -``` - ---- - -## `ledger_closed` - -> Retrieves the latest closed ledger version. - -The `ledger_closed` method returns the unique identifiers of the most recently closed ledger. (This ledger is not necessarily validated and immutable yet.) - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `ledger_hash` (string): The unique [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) of this ledger version, in hexadecimal. - * `ledger_index` (unsigned integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger version. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_closed", - "params": [ - {} - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "3E6CF37B032E232ED6D77900C937647A275C8FE1F9F784F361B1022BB4608172", - "ledger_index": 100204931, - "status": "success" - } -} -``` - ---- - -## `ledger_current` - -> Retrieves the current working ledger version. - -The `ledger_current` method returns the unique identifiers of the current in-progress [ledger](https://xrpl.org/docs/concepts/ledgers). This command is mostly useful for testing, because the ledger returned is still in flux. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following field: - - * `ledger_current_index` (unsigned integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of this ledger version. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_current", - "params": [ - {} - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_current_index": 100205074, - "status": "success" - } -} -``` - ---- - -## `ledger_data` - -> Retrieves the raw contents of a ledger version. - -The `ledger_data` method retrieves contents of the specified ledger. You can iterate through several calls to retrieve the entire contents of a single ledger version. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 20-byte hex string identifying the ledger version to use. - * `ledger_index` (number or string; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `binary` (boolean; optional): If `true`, return ledger entries as hexadecimal strings instead of JSON. The default is `false`. - * `limit` (number; optional): Limit the number of ledger entries to retrieve. The server may return fewer than this number of entries. Cannot be more than 2048 (when requesting binary) or 256 (when requesting JSON). Positive values outside this range are replaced with the closest valid option. The default is the maximum. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Value from a previous paginated response. Resume retrieving data where that response left off. - * `type` (string; optional): Filter results to a specific type of ledger entry. This field accepts canonical names of [ledger entry types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) (case-insensitive) or [short names](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ledger-entry-short-names). If omitted, return ledger entries of all types. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `ledger_index` (unsigned integer — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of this ledger version. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): Unique identifying hash of this ledger version. - * `state` (array): Array of JSON objects containing data from the ledger's state tree, as defined below. - * `marker` (string — [marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination)): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. - -If a `type` field is mentioned in the request, the `state` array will be empty if the first set of array objects does not match the type requested. In such cases, you can use the `marker` from this response to paginate and retrieve further data. - -The format of each object in the `state` array depends on whether `binary` was set to true or not in the request. Each `state` object may include the following fields: - - * `data` (string): (Only included if `"binary": true`) Hex representation of the requested data. - * `LedgerEntryType` (string): (Only included if `"binary": false`) String indicating what type of ledger object this object represents. See [ledger object types](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) for the full list. - * **(Additional fields)** (various): (Only included if `"binary": false`) Additional fields describing this object, depending on which [ledger object type](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) it is. - * `index` (string): Unique identifier for this ledger entry, as hex. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_data", - "params": [ - { - "binary": true, - "ledger_hash": "842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", - "limit": 5 - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "error": "lgrNotFound", - "error_code": 21, - "error_message": "ledgerNotFound", - "request": { - "binary": true, - "command": "ledger_data", - "ledger_hash": "842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", - "limit": 5 - }, - "status": "error" - } -} -``` - ---- - -## `ledger_entry` - -> Retrieves a single item from a ledger version. - -The `ledger_entry` method returns a single ledger entry from the XRP Ledger in its raw format. See [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types) for information on the different types of entries you can retrieve. - -### Request format - -This method can retrieve several distinct types of data. You can select which type of item to retrieve by passing the appropriate parameters, comprised of the general and type-specific fields listed below, and following the standard [request formatting](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/request-formatting). (For example, a WebSocket request always has the `command` field and optionally an id field, and a JSON-RPC request uses the `method` and `params` fields.) - -#### General fields - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `binary` (boolean; optional): If `true`, return the requested ledger entry's contents as a hex string in the XRP Ledger's [binary format](https://xrpl.org/docs/references/protocol/binary-format). Otherwise, return data in JSON format. The default is `false`. - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `ledger_index` (string or unsigned integer; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string (e.g. "validated", "closed", or "current") to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `include_deleted` (boolean; optional, Clio servers only): If set to `true` and the queried object has been deleted, returns its complete data as it was prior to its deletion. If set to `false` or not provided, and the queried object has been deleted, returns `objectNotFound` (current behavior). - -#### Specific fields - -In addition to the general fields above, you must specify exactly 1 of the specific fields to indicate what type of entry to retrieve, along with its sub-fields as appropriate. The valid fields are: - - * [Get Ledger Entry by ID](/rpc-service/chains/chains-api/xrp/#get-ledger-entry-by-id) - * [Get AccountRoot Entry](/rpc-service/chains/chains-api/xrp/#get-accountroot-entry) - * [Get AMM Entry](/rpc-service/chains/chains-api/xrp/#get-amm-entry) - * [Get Bridge Entry](/rpc-service/chains/chains-api/xrp/#get-bridge-entry) - * [Get Credential Entry](/rpc-service/chains/chains-api/xrp/#get-credential-entry) - * [Get DirectoryNode Entry](/rpc-service/chains/chains-api/xrp/#get-directorynode-entry) - * [Get Offer Entry](/rpc-service/chains/chains-api/xrp/#get-offer-entry) - * [Get Oracle Entry](/rpc-service/chains/chains-api/xrp/#get-oracle-entry) - * [Get RippleState Entry](/rpc-service/chains/chains-api/xrp/#get-ripplestate-entry) - * [Get Check Entry](/rpc-service/chains/chains-api/xrp/#get-check-entry) - * [Get Escrow Entry](/rpc-service/chains/chains-api/xrp/#get-escrow-entry) - * [Get PayChannel Entry](/rpc-service/chains/chains-api/xrp/#get-paychannel-entry) - * [Get DepositPreauth Entry](/rpc-service/chains/chains-api/xrp/#get-depositpreauth-entry) - * [Get Ticket Entry](/rpc-service/chains/chains-api/xrp/#get-ticket-entry) - * [Get NFT Page](/rpc-service/chains/chains-api/xrp/#get-nft-page) - * [Get MPT Issuance Object](/rpc-service/chains/chains-api/xrp/#get-mpt-issuance-object) - * [Get MPToken Object](/rpc-service/chains/chains-api/xrp/#get-mptoken-object) - -#### Get Ledger Entry by ID - -Retrieve any type of ledger entry by its unique ID. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `index` (string): The [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of a single entry to retrieve from the ledger, as a 64-character (256-bit) hexadecimal string. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "result": { - "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4", - "ledger_hash": "0F7D2D0313C7A3D69433AEAB715D8034A7B5F9E07534FDEB211EBD25A99753DE", - "ledger_index": 100449979, - "node": { - "Amendments": [ - "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE", - "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", - "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC", - "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11" - ], - "Flags": 0, - "LedgerEntryType": "Amendments", - "PreviousTxnID": "14853FF2D09D198B576A531C50883C59D71474BA9072C1F5C0ED1DD57882B922", - "PreviousTxnLgrSeq": 99226369, - "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get AccountRoot Entry - -Retrieve an [AccountRoot entry]() by its address. This is roughly equivalent to the `account_info` method. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account_root` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses)): The classic address of the [AccountRoot](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/accountroot) entry to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "account_root": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", - "ledger_hash": "F12172CAE7E0B4E9283323ACFEC6FA41212A7B10F2D530FD0D891D4044533E01", - "ledger_index": 100469352, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", - "Balance": "1138222650", - "Domain": "6D64756F31332E636F6D", - "EmailHash": "98B4375E1D753E5B91627516F6D70977", - "Flags": 9568256, - "LedgerEntryType": "AccountRoot", - "MessageKey": "0000000000000000000000070000000300", - "OwnerCount": 17, - "PreviousTxnID": "E5C3578BDBEBDCDE7E1697E3BA6A1CF04B17CCEBDE4939200680FEF530C7978E", - "PreviousTxnLgrSeq": 94448149, - "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", - "Sequence": 393, - "TicketCount": 5, - "TransferRate": 4294967295, - "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get AMM Entry - -Retrieve an Automated Market-Maker (AMM) object from the ledger. This is similar to `amm_info` method but the `ledger_entry` version returns only the ledger entry as stored. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `amm` (object or string): The AMM to retrieve. If you specify a string, it must be the object ID of the AMM, as hexadecimal. If you specify an object, it must contain `asset` and `asset2` sub-fields. - * `amm.asset` (object): One of the two assets in this AMM's pool, as a [currency object without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). - * `amm.asset2` (object): The other of the two assets in this AMM's pool, as a [currency object without an amount]https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "amm": { - "asset": { - "currency": "string" - }, - "asset2": { - "currency" : "string", - "issuer" : "string" - } - }, - "ledger_index": "string" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "AMM": { - "Asset": { - "currency": "string", - "issuer": "string" - }, - "Asset2": { - "currency": "string", - "issuer": "string" - }, - "LPTokenBalance": "string", - "TradingFee": integer, - "VoteSlots": [ - { - "Account": "string", - "TradingFee": integer, - "VoteWeight": "string" - } - ], - "AuctionSlot": { - "Account": "string", - "Price": { - "value": "string", - "currency": "string", - "issuer": "string" - }, - "Expiration": integer - } - }, - "Flags": integer - }, - "validated": boolean - } -} -``` - ---- - -#### Get Bridge Entry - -(Requires the [XChainBridge amendment](https://xrpl.org/resources/known-amendments#xchainbridge).) - -Retrieve a [Bridge entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/bridge) which represents a single cross-chain bridge that connects the XRP Ledger with another blockchain. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `bridge_account` (string): The account that submitted the `XChainCreateBridge` transaction on the blockchain. - * `bridge` (object): The [Bridge](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/bridge) to retrieve. Includes the door accounts and assets on the issuing and locking chain. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "bridge_account": "string", - "bridge": { - "locking_chain_door": "string", - "locking_chain_issue": { - "currency": "string", - "issuer": "string" - }, - "issuing_chain_door": "string", - "issuing_chain_issue": { - "currency": "string", - "issuer": "string" - } - } - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "Bridge": { - "LockingChainDoor": "string", - "LockingChainIssue": { - "currency": "string", - "issuer": "string" - }, - "IssuingChainDoor": "string", - "IssuingChainIssue": { - "currency": "string", - "issuer": "string" - } - }, - "Flags": integer, - "OwnerNode": "string" - }, - "validated": boolean - } -} -``` - ---- - -#### Get Credential Entry - -Retrieve a [Credential entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/credential), which represents an attestation by one account about another account. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `credential` (object or string; required): Specify the Credential to retrieve. If a string, must be the ledger entry ID of the entry, as hexadecimal. If an object, requires `subject`, `issuer`, and `credential_type` sub-fields. - * `credential.subject` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that is the subject of the credential. - * `credential.issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that issued the credential. - * `credential.credential_type` (string — hexadecimal; required): The type of the credential, as issued. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "credential": { - "subject": "string", - "issuer": "string", - "credential_type": "string" - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "Credential": { - "Subject": "string", - "Issuer": "string", - "CredentialType": "string" - }, - "Flags": integer - }, - "validated": boolean - } -} -``` - ---- - -#### Get DirectoryNode Entry - -Retrieve a [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode) which contains a list of other ledger objects. Can be provided as string (object ID of the Directory) or as an object. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `directory` (object or string): The [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode) to retrieve. If a string, must be the [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the directory, as hexadecimal. If an object, requires either `dir_root` or `owner` as a sub-field, plus optionally a `sub_index` sub-field. - * `directory.sub_index` (unsigned integer; optional): If provided, jumps to a later "page" of the [DirectoryNode](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/directorynode). - * `directory.dir_root` (string; optional): Unique index identifying the directory to retrieve, as a hex string. - * `directory.owner` (string; optional): Unique address of the account associated with this directory. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "directory": { - "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "sub_index": 0 - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "result": { - "index": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D", - "ledger_hash": "C36B922A1D7453928D8477DCE0F512DC914F3DBC8C099780895588A412CFB31D", - "ledger_index": 100471753, - "node": { - "Flags": 0, - "Indexes": [ - "0D9D9CDDB28263938B423CE74FF3B4F6D960BA0F16EB7CEB36AB7937439ED73A", - "28ADCBD6F9A4B18949EC5CDBB3411F1D5826ED0ECB149AE14AED6D8784EA39EE", - "556B13E58990CC22D3379BCC6D55F46237F11713AD809DF3E7860DAB55B7F3EF", - "6451BF1D41FCDA846C4B60E6F4E4914F1C4EC3015FF978642B7358A14DAE1C26", - "6C3556BE2D440A3BEE999CC77657BA8F5DC473DFE44D4E11A8EE45B49F15FD4A", - "731A16474E86C07C62B3042BD2C223ED85EBD54E3B540E7E2739187EF9B483BA" - ], - "LedgerEntryType": "DirectoryNode", - "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "PreviousTxnID": "DDA5BDDF8DA08065B36548BE127730CB160B106DCCF9476ABB2FABE61BA3135C", - "PreviousTxnLgrSeq": 94384123, - "RootIndex": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D", - "index": "3B9C0CE77FCE7BCEE1A68F1E26AC467AF326239D0D816CE705E4A0E2DAD03F6D" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get Offer Entry - -Retrieve an [Offer entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/offer) which defines an offer to exchange currency. Can be provided as string (unique index of the Offer) or as an object. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `offer` (object or string): If a string, interpret as [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Offer to retrieve. If an object, requires the sub-fields `account` and `seq` to uniquely identify the offer. - * `offer.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `offer` is an object): The account that placed the offer. - * `offer.seq` (unsigned integer; required if `offer` is an object): The [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) of the transaction that created the Offer entry. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "offer": { - "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "seq": 359 - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "D0A063DEE0B0EC9522CF35CD55771B5DCAFA19A133EE46A0295E4D089AF86438", - "ledger_hash": "9D360371ABE2F2FA4AFE1FB489988E752792185975CE1CEEFACE1B86CB327AAD", - "ledger_index": 100471866, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "BookDirectory": "5A70682882F317175860A1188FAFF2757537D1A66B8500894E038D7EA4C68000", - "BookNode": "0", - "Flags": 0, - "LedgerEntryType": "Offer", - "OwnerNode": "0", - "PreviousTxnID": "2B44EBE00728D04658E597A85EC4F71D20503B31ABBF556764AD8F7A80BA72F6", - "PreviousTxnLgrSeq": 18555460, - "Sequence": 359, - "TakerGets": "1000000000", - "TakerPays": { - "currency": "FOO", - "issuer": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", - "value": "100" - }, - "index": "D0A063DEE0B0EC9522CF35CD55771B5DCAFA19A133EE46A0295E4D089AF86438" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get Oracle Entry - -Retrieve an [Oracle entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/oracle) which represents a single price oracle that can store token prices. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `oracle` (object; required): The oracle identifier. - * `oracle.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that controls the `Oracle` object. - * `oracle.oracle_document_id` (number; required): A unique identifier of the price oracle for the `Account`. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "oracle" : { - "account": "string", - "oracle_document_id": number - }, - "ledger_index": "string" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "Oracle": { - "Account": "string", - "OracleDocumentID": number, - "URI": "string", - "LastUpdateTime": integer, - "PriceDataSeries": [ - { - "Price": "string", - "Scale": integer, - "Timestamp": integer - } - ] - }, - "Flags": integer - }, - "validated": boolean - } -} -``` - ---- - -#### Get RippleState Entry - -Retrieve a [RippleState entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate) which tracks a (non-XRP) currency balance between two accounts. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `state` (object; optional): Alias to `ripple_state`. - * `ripple_state` (object; optional): Object specifying the RippleState (trust line) object to retrieve. The `accounts` and `currency` sub-fields are required to uniquely specify the RippleState entry to retrieve. - * `ripple_state.accounts` (array; required if `ripple_state` is specified): 2-length array of account [Addresses](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses), defining the two accounts linked by this RippleState entry. - * `ripple_state.currency` (string; required if `ripple_state` is specified): [Currency Code](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) of the RippleState entry to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "ripple_state": { - "accounts": [ - "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW" - ], - "currency": "USD" - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "9CA88CDEDFF9252B3DE183CE35B038F57282BC9503CDFA1923EF9A95DF0D6F7B", - "ledger_hash": "03983977B9497B624E8A735205FFF3729A9F06B5C7384E59638B8147F648EDF8", - "ledger_index": 100472021, - "node": { - "Balance": { - "currency": "USD", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "0" - }, - "Flags": 8847360, - "HighLimit": { - "currency": "USD", - "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "value": "110" - }, - "HighNode": "0", - "LedgerEntryType": "RippleState", - "LowLimit": { - "currency": "USD", - "issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", - "value": "0" - }, - "LowNode": "0", - "PreviousTxnID": "5E089C0CD4C52D3ECD85E5E1F38FC255F43FAFAF4FD5C42DD48A8A1B6C36DF5E", - "PreviousTxnLgrSeq": 61168278, - "index": "9CA88CDEDFF9252B3DE183CE35B038F57282BC9503CDFA1923EF9A95DF0D6F7B" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get Check Entry - -Retrieve a [Check entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/check) which is a potential payment that can be cashed by its recipient. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `check` (string): The object ID of a Check entry to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB", - "ledger_hash": "FD563CE753BAC24A385EDC5875AD57BE9074F0B9C9C1397441BCFA2569960C9A", - "ledger_index": 100472064, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "DestinationNode": "0", - "DestinationTag": 13, - "Flags": 0, - "LedgerEntryType": "Check", - "OwnerNode": "0", - "PreviousTxnID": "4E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB", - "PreviousTxnLgrSeq": 61965653, - "SendMax": { - "currency": "USD", - "issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "value": "10" - }, - "Sequence": 384, - "index": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get Escrow Entry - -Retrieve an [Escrow entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/escrow) which holds XRP until a specific time or condition is met. Can be provided as string (object ID of the Escrow) or as an object. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `escrow` (object or string): The Escrow to retrieve. If a string, must be the [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Escrow, as hexadecimal. If an object, requires `owner` and `seq` sub-fields. - * `escrow.owner` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `escrow` is an object): The owner (sender) of the Escrow object. - * `escrow.seq` (unsigned integer; required if `escrow` is an object): The [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) of the transaction that created the Escrow object. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "escrow": { - "owner": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", - "seq": 126 - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "917ACF1324F06D19239A03E4A6A3FE24F9313BB23337ECB801BDAD013BE27F83", - "ledger_hash": "110D64E05F92F26624DAC3BC11294BD512306DEAE2F94717B7D6BA8ABB308361", - "ledger_index": 100472121, - "node": { - "Account": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", - "Amount": "99750000", - "Condition": "A0258020085D1EDF8045DC7F6E42B8DB09E05248502852FB3FF27815FC94433D1CB62198810120", - "Destination": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK", - "FinishAfter": 3802143660, - "Flags": 0, - "LedgerEntryType": "Escrow", - "OwnerNode": "1", - "PreviousTxnID": "470DC630B0251FCCA740EA9CA7781A502608890FB123F14D0C4BE20C4D5D44DB", - "PreviousTxnLgrSeq": 37088514, - "index": "917ACF1324F06D19239A03E4A6A3FE24F9313BB23337ECB801BDAD013BE27F83" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get PayChannel Entry - -Retrieve a [PayChannel entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel) which holds XRP for asynchronous payments. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `payment_channel` (string): The [object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the PayChannel to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "payment_channel": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7", - "ledger_hash": "BEC950D37F3B609CDC1F76047871DB1C5AC6DBEFA19AEA84D14AF1BF83BECE4E", - "ledger_index": 100472165, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": "1000", - "Balance": "0", - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "DestinationNode": "0", - "Flags": 0, - "LedgerEntryType": "PayChannel", - "OwnerNode": "0", - "PreviousTxnID": "711C4F606C63076137FAE90ADC36379D7066CF551E96DA6FE2BDAB5ECBFACF2B", - "PreviousTxnLgrSeq": 61965340, - "PublicKey": "03CFD18E689434F032A4E84C63E2A3A6472D684EAF4FD52CA67742F3E24BAE81B2", - "SettleDelay": 60, - "index": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7" - }, - "status": "success", - "validated": true, - "warning": "load" - } -} -``` - ---- - -#### Get DepositPreauth Entry - -Retrieve a [DepositPreauth entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth) which tracks preauthorization for payments to accounts requiring [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth). - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `deposit_preauth` (object or string; required): Specify the DepositPreauth to retrieve. If a string, must be the ledger entry ID of the DepositPreauth entry, as hexadecimal. If an object, requires `owner` sub-field and either `authorized` or `authorize_credentials` sub-field. - * `deposit_preauth.owner` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that provided the preauthorization. - * `deposit_preauth.authorized` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): The account that received the preauthorization. - * `deposit_preauth.authorized_credentials` (array; optional): A set of credentials that received the preauthorization. - -Each member of the `deposit_preauth.authorized_credentials` array, if provided, must include the following nested fields: - - * `issuer` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The address of the account that issued the credential. - * `credential_type` (string — hexadecimal; required): The type of the credential, as issued. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "deposit_preauth": { - "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "authorized": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX" - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "A43898B685C450DE8E194B24D9D54E62530536A770CCB311BFEE15A27381ABB2", - "ledger_hash": "C605C3E34DDBD8025844583B2EAEB75EE5CA933DB6B97646BDA736FED8D6A0A6", - "ledger_index": 100472247, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Authorize": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Flags": 0, - "LedgerEntryType": "DepositPreauth", - "OwnerNode": "0", - "PreviousTxnID": "CB1BF910C93D050254C049E9003DA1A265C107E0C8DE4A7CFF55FADFD39D5656", - "PreviousTxnLgrSeq": 61965405, - "index": "A43898B685C450DE8E194B24D9D54E62530536A770CCB311BFEE15A27381ABB2" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get Ticket Entry - -Retrieve a [Ticket entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/ticket) which represents a sequence number set aside for future use. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ticket` (object or string): The Ticket to retrieve. If a string, must be the [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of the Ticket, as hexadecimal. If an object, the `account` and `ticket_seq` sub-fields are required to uniquely specify the Ticket entry. - * `ticket.account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required if `ticket` is an object): The owner of the Ticket. - * `ticket.ticket_seq` (number; required if `ticket` is an object): The Ticket Sequence number of the Ticket to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "ticket": { - "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "ticket_seq": 389 - }, - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "index": "B603682BC36F474F708E1A150B7C034C6C13D838C3F2F135CDB7BEA6E5B5ACEF", - "ledger_hash": "2594A8BF2A0C52022EE4BD187FBB9345297DDB20C82FFBDDE87CFEA443440B98", - "ledger_index": 100472816, - "node": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Flags": 0, - "LedgerEntryType": "Ticket", - "OwnerNode": "0", - "PreviousTxnID": "7458B6FD22827B3C141CDC88F1F0C72658C9B5D2E40961E45AF6CD31DECC0C29", - "PreviousTxnLgrSeq": 76567735, - "TicketSequence": 389, - "index": "B603682BC36F474F708E1A150B7C034C6C13D838C3F2F135CDB7BEA6E5B5ACEF" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get NFT Page - -Return an NFT Page in its raw ledger format. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `nft_page` (string): The [ledger entry ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of an [NFT Page](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage) to retrieve. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "result": { - "index": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF", - "ledger_hash": "1C560CABB9E9556BEA3DE17DDCC4CB0F5FF82A533698744F0C339D3AE41391B1", - "ledger_index": 100472871, - "node": { - "Flags": 0, - "LedgerEntryType": "NFTokenPage", - "NFTokens": [ - { - "NFToken": { - "NFTokenID": "000827100179C79A9CAACE945A5B77FCC291948F17A72A3F369B7C9400000A19", - "URI": "68747470733A2F2F78726F79616C74792E6D7970696E6174612E636C6F75642F697066732F516D534236344D5856614C7A46427757394847467969696243436D53554A4E7267753731735A38653742334D51452F323732392E6A736F6E" - } - }, - { - "NFToken": { - "NFTokenID": "000827100179C79A9CAACE945A5B77FCC291948F17A72A3FBCE1D3AC000008F1", - "URI": "68747470733A2F2F78726F79616C74792E6D7970696E6174612E636C6F75642F697066732F516D534236344D5856614C7A46427757394847467969696243436D53554A4E7267753731735A38653742334D51452F323433332E6A736F6E" - } - } - ], - "PreviousTxnID": "BB84C7F9FD90E7AC8A3178580F2F9BD2F00738F53060203025AF80CAF1C5D794", - "PreviousTxnLgrSeq": 77102208, - "index": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF" - }, - "status": "success", - "validated": true - } -} -``` - ---- - -#### Get MPT Issuance Object - -Return an `MPTokenIssuance` object. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `mpt_issuance` (string): The 192-bit `MPTokenIssuanceID` that's associated with the MPTokenIssuance, as hexadecimal. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "mpt_issuance": "string", - "ledger_index": "validated" - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "MPTIssuance": { - "MPTIssuanceID": "string", - "Owner": "string", - "TransferFee": integer, - "Flags": integer, - "Taxon": integer, - "URI": "string", - "MPTSupply": "string" - } - }, - "validated": boolean - } -} -``` - ---- - -#### Get MPToken Object - -Return an `MPToken` object. - -##### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `mptoken` (object or string): If a string, interpret as ledger entry ID of the MPToken to retrieve. If an object, requires the sub-fields `account` and `mpt_issuance_id` to uniquely identify the MPToken. - * `mptoken.mpt_issuance_id` (string; required if `mptoken` is an object): The 192-bit MPTokenIssuanceID that's associated with the MPTokenIssuance. - * `mptoken.account` (string; required if `mptoken` is an object): The account that owns the MPToken. - -##### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger_entry", - "params": [ - { - "mptoken":{ - "mpt_issuance_id": "string", - "account":"string" - } - } - ] - }' -``` - -##### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "ledger_hash": "string", - "ledger_index": integer, - "node": { - "LedgerEntryType": "string", - "index": "string", - "MPToken": { - "MPTIssuanceID": "string", - "Owner": "string", - "Flags": integer, - "TransferFee": integer, - "Taxon": integer, - "QualityIn": integer, - "QualityOut": integer, - "Balance": "string", - "PreviousTxnID": "string", - "PreviousTxnLgrSeq": integer - } - }, - "validated": boolean - } -} -``` - ---- - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `index` (string): The unique ID of this [ledger entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). - * `ledger_index` (unsigned integer): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that was used when retrieving this data. - * `node` (object; omitted if `"binary": true`): Object containing the data of this ledger entry, according to the [ledger format](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types). - * `node_binary` (string; omitted unless `"binary": true`): The [binary representation](https://xrpl.org/docs/references/protocol/binary-format) of the ledger object, as hexadecimal. - * `deleted_ledger_index` (string; Clio server only): Returned if include_deleted parameter is set. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) where the ledger entry object was deleted. - ---- - -**Transaction Methods**: - -Transactions are the only thing that can modify the shared state of the XRP Ledger. All business on the XRP Ledger takes the form of transactions. Use these methods to work with transactions. - -## `simulate` - -> Executes a dry run of any transaction type to preview results and metadata. - -The `simulate` method executes a dry run of any transaction type, enabling you to preview the results and metadata of a transaction without committing them to the XRP Ledger. Since this command never submits a transaction to the network, it doesn't incur any fees. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `tx_blob` (string; required): The transaction to simulate, in binary format. If you include this field, do not also include `tx_json`. - * `tx_json` (object; required): The transaction to simulate, in JSON format. If you include this field, do not also include `tx_blob`. - * `binary` (boolean; optional): The default value is `false`, which returns data and metadata in JSON format. If `true`, returns data and metadata in binary format, serialized to a hexadecimal string. - -Note: - - * The simulated transaction must be unsigned. - * If the `Fee`, `Sequence`, `SigningPubKey`, or `NetworkID` fields are provided, they will be used in the transaction. Otherwise, the server will autofill them. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `tx_json` (object): The transaction that was simulated, including auto-filled values. Included if `binary` was `false`. - * `tx_blob` (string): The serialized transaction that was simulated, including auto-filled values. Included if `binary` was `true`. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger that would have included this transaction. - * `meta` (object): Transaction metadata, which describes the results of the transaction. Not included if the transaction fails with a code that means it wouldn’t be included in the ledger (such as a non-TEC code). Included if `binary` was `false`. - * `meta_blob` (string): Transaction metadata, which describes the results of the transaction. Not included if the transaction fails with a code that means it wouldn’t be included in the ledger (such as a non-TEC code). Included if `binary` was `true`. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "simulate", - "params": [ - { - "tx_json": { - "TransactionType": "Payment", - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Amount": { - "currency": "USD", - "value": "1", - "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" - } - } - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "applied": false, - "engine_result": "tesSUCCESS", - "engine_result_code": 0, - "engine_result_message": "The simulated transaction would have been applied.", - "ledger_index": 100512217, - "meta": { - "AffectedNodes": [ - { - "ModifiedNode": { - "FinalFields": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "AccountTxnID": "42BDE75B7309C46BBA7FFC867DDA29DFCB2C066AA3866CF9076280A2DE63FE3C", - "Balance": "1138222640", - "Domain": "6D64756F31332E636F6D", - "EmailHash": "98B4375E1D753E5B91627516F6D70977", - "Flags": 9568256, - "MessageKey": "0000000000000000000000070000000300", - "OwnerCount": 17, - "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", - "Sequence": 394, - "TicketCount": 5, - "TransferRate": 4294967295 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", - "PreviousFields": { - "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", - "Balance": "1138222650", - "Sequence": 393 - }, - "PreviousTxnID": "E5C3578BDBEBDCDE7E1697E3BA6A1CF04B17CCEBDE4939200680FEF530C7978E", - "PreviousTxnLgrSeq": 94448149 - } - } - ], - "TransactionIndex": 126, - "TransactionResult": "tesSUCCESS" - }, - "status": "success", - "tx_json": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { - "currency": "USD", - "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "value": "1" - }, - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Fee": "10", - "Sequence": 393, - "SigningPubKey": "", - "TransactionType": "Payment", - "TxnSignature": "", - "hash": "42BDE75B7309C46BBA7FFC867DDA29DFCB2C066AA3866CF9076280A2DE63FE3C" - } - } -} -``` - ---- - -## `submit` - -> Sends a transaction to the network. - -The `submit` method applies a [transaction](https://xrpl.org/docs/references/protocol/transactions) and sends it to the network to be confirmed and included in future ledgers. - -This command has two modes: - - * **Submit-only** mode takes a signed, serialized transaction as a binary blob, and submits it to the network as-is. Since signed transaction objects are immutable, no part of the transaction can be modified or automatically filled in after submission. - - * **Sign-and-submit** mode takes a JSON-formatted Transaction object, completes and signs the transaction in the same manner as the [sign method](https://xrpl.org/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign), and then submits the signed transaction. We recommend only using this mode for testing and development. - -To send a transaction as robustly as possible, you should construct and sign it in advance, persist it somewhere that you can access even after a power outage, then `submit` it as a `tx_blob`. After submission, monitor the network with the tx method command to see if the transaction was successfully applied; if a restart or other problem occurs, you can safely re-submit the `tx_blob` transaction: it won't be applied twice since it has the same sequence number as the old transaction. - -### Submit-only mode - -#### Parameters - -A submit-only request includes the following parameters: - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `tx_blob` (string; required): Hex representation of the signed transaction to submit. This can be a [multi-signed transaction](https://xrpl.org/docs/concepts/accounts/multi-signing). - * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. - -#### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `engine_result` (string): Text [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results) indicating the preliminary result of the transaction, for example `tesSUCCESS`. - * `engine_result_code` (integer): Numeric version of the [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results). Not recommended. - * `engine_result_message` (string): Human-readable explanation of the transaction's preliminary result. - * `tx_blob` (string): The complete transaction in hex string format. - * `tx_json` (object): The complete transaction in JSON format. - * `accepted` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was applied, queued, broadcast, or kept for later. The value `false` indicates that none of those happened, so the transaction cannot possibly succeed as long as you do not submit it again and have not already submitted it another time. - * `account_sequence_available` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) available for the sending account after all pending and [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `account_sequence_next` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) for the sending account after all transactions that have been provisionally applied, but not transactions in the [queue](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `applied` (boolean; omitted in sign-and-submit mode): The value `true` indicates that this transaction was applied to the open ledger. In this case, the transaction is likely, but not guaranteed, to be validated in the next ledger version. - * `broadcast` (boolean; omitted in sign-and-submit mode): The value `true` indicates this transaction was broadcast to peer servers in the peer-to-peer XRP Ledger network. The value `false` indicates the transaction was not broadcast to any other servers. - * `kept` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was kept to be retried later. - * `queued` (boolean; omitted in sign-and-submit mode): The value `true` indicates the transaction was put in the [Transaction Queue](https://xrpl.org/docs/concepts/transactions/transaction-queue), which means it is likely to be included in a future ledger version. - * `open_ledger_cost` (string; omitted in sign-and-submit mode): The current [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost) before processing this transaction. Transactions with a lower cost are likely to be [queued](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `validated_ledger_index` (integer; omitted in sign-and-submit mode): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the newest validated ledger at the time of submission. This provides a lower bound on the ledger versions that the transaction can appear in as a result of this request. - -#### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "submit", - "params": [ - { - "tx_blob": "1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" - } - ] - }' -``` - -#### Response example - -```json -{ - "result": { - "accepted": true, - "account_sequence_available": 393, - "account_sequence_next": 393, - "applied": false, - "broadcast": false, - "engine_result": "tefPAST_SEQ", - "engine_result_code": -190, - "engine_result_message": "This sequence number has already passed.", - "kept": true, - "open_ledger_cost": "10", - "queued": false, - "status": "success", - "tx_blob": "1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", - "tx_json": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { - "currency": "USD", - "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "value": "1" - }, - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Fee": "10", - "Flags": 2147483648, - "Sequence": 3, - "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", - "TransactionType": "Payment", - "TxnSignature": "3045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE", - "hash": "82230B9D489370504B39BC2CE46216176CAC9E752E5C1774A8CBEC9FBB819208" - }, - "validated_ledger_index": 100512474 - } -} -``` - -### Sign-and-Submit mode - -This mode signs a transaction and immediately submits it. This mode is intended to be used for testing. You cannot use this mode for [multi-signed transactions](https://xrpl.org/docs/concepts/accounts/multi-signing). - -By default, sign-and-submit mode is [admin-only](https://xrpl.org/docs/references/http-websocket-apis/admin-api-methods). It can be used as a public method if the server has [enabled public signing](https://xrpl.org/docs/infrastructure/configuration/enable-public-signing). - -You can provide the secret key used to sign the transaction in the following ways: - - * Provide a `secret` value and omit the `key_type` field. This value can be formatted as an XRP Ledger [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings) seed, RFC-1751, hexadecimal, or as a string passphrase. (secp256k1 keys only) - * Provide a `key_type` value and exactly one of `seed`, `seed_hex`, or `passphrase`. Omit the `secret` field. (Not supported by the commandline syntax.) - -#### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `tx_json` (object): [Transaction definition](https://xrpl.org/docs/references/protocol/transactions) in JSON format, optionally omitting any auto-fillable fields. - * `secret` (string; optional): Secret key of the account supplying the transaction, used to sign it. Do not send your secret to untrusted servers or through unsecured network connections. Cannot be used with `key_type`, `seed`, `seed_hex`, or `passphrase`. - * `seed` (string; optional): Secret key of the account supplying the transaction, used to sign it. Must be in the XRP Ledger's base58 format. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed_hex`, or `passphrase`. - * `seed_hex` (string; optional): Secret key of the account supplying the transaction, used to sign it. Must be in hexadecimal format. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed`, or `passphrase`. - * `passphrase` (string; optional): Secret key of the account supplying the transaction, used to sign it, as a string passphrase. If provided, you must also specify the `key_type`. Cannot be used with `secret`, `seed`, or `seed_hex`. - * `key_type` (string; optional): Type of cryptographic key provided in this request. Valid types are `secp256k1` or `ed25519`. Defaults to `secp256k1`. Cannot be used with `secret`. Caution: `Ed25519` support is experimental. - * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. - * `offline` (boolean; optional): If `true`, when constructing the transaction, do not try to automatically fill in or validate values. The default is `false`. - * `build_path` (boolean; optional): If this field is provided, the server [auto-fills](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) the Paths field of a [Payment transaction](https://xrpl.org/docs/references/protocol/transactions/types/payment) before signing. You must omit this field if the transaction is a [direct XRP payment](https://xrpl.org/docs/concepts/payment-types/direct-xrp-payments) or if it is not a Payment-type transaction. Caution: The server looks for the presence or absence of this field, not its value. This behavior may change. - * `fee_mult_max` (integer; optional): Sign-and-submit fails with the error `rpcHIGH_FEE` if the [auto-filled `Fee` value](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) would be greater than the [reference transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#special-transaction-costs) × `fee_mult_max` ÷ `fee_div_max`. This field has no effect if you explicitly specify the Fee field of the transaction. The default is `10`. - * `fee_div_max` (integer; optional): Sign-and-submit fails with the error `rpcHIGH_FEE` if the [auto-filled `Fee` value](https://xrpl.org/docs/references/protocol/transactions/common-fields#auto-fillable-fields) would be greater than the [reference transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#special-transaction-costs) × `fee_mult_max` ÷ `fee_div_max`. This field has no effect if you explicitly specify the Fee field of the transaction. The default is `1`. - -#### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `engine_result` (string): Text [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results) indicating the preliminary result of the transaction, for example `tesSUCCESS`. - * `engine_result_code` (integer): Numeric version of the [result code](https://xrpl.org/docs/references/protocol/transactions/transaction-results). Not recommended. - * `engine_result_message` (string): Human-readable explanation of the transaction's preliminary result. - * `tx_blob` (string): The complete transaction in hex string format. - * `tx_json` (object): The complete transaction in JSON format. - * `accepted` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was applied, queued, broadcast, or kept for later. The value `false` indicates that none of those happened, so the transaction cannot possibly succeed as long as you do not submit it again and have not already submitted it another time. - * `account_sequence_available` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) available for the sending account after all pending and [queued transactions](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `account_sequence_next` (number; omitted in sign-and-submit mode): The next [Sequence Number](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#account-sequence) for the sending account after all transactions that have been provisionally applied, but not transactions in the [queue](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `applied` (boolean; omitted in sign-and-submit mode): The value `true` indicates that this transaction was applied to the open ledger. In this case, the transaction is likely, but not guaranteed, to be validated in the next ledger version. - * `broadcast` (boolean; omitted in sign-and-submit mode): The value `true` indicates this transaction was broadcast to peer servers in the peer-to-peer XRP Ledger network. The value `false` indicates the transaction was not broadcast to any other servers. - * `kept` (boolean; omitted in sign-and-submit mode): The value `true` indicates that the transaction was kept to be retried later. - * `queued` (boolean; omitted in sign-and-submit mode): The value `true` indicates the transaction was put in the [Transaction Queue](https://xrpl.org/docs/concepts/transactions/transaction-queue), which means it is likely to be included in a future ledger version. - * `open_ledger_cost` (string; omitted in sign-and-submit mode): The current [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost) before processing this transaction. Transactions with a lower cost are likely to be [queued](https://xrpl.org/docs/concepts/transactions/transaction-queue). - * `validated_ledger_index` (integer; omitted in sign-and-submit mode): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the newest validated ledger at the time of submission. This provides a lower bound on the ledger versions that the transaction can appear in as a result of this request. - -#### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "submit", - "params": [ - { - "offline": false, - "api_version": 2, - "secret": "s████████████████████████████", - "tx_json": { - "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "DeliverMax": { - "currency": "USD", - "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "value": "1" - }, - "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "TransactionType": "Payment" - }, - "fee_mult_max": 1000 - } - ] - }' -``` - ---- - -## `submit_multisigned` - -> Sends a multi-signed transaction to the network. - -The `submit_multisigned` command applies a [multi-signed](https://xrpl.org/docs/concepts/accounts/multi-signing) transaction and sends it to the network to be included in future ledgers. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `tx_json` (object; required): [Transaction in JSON format](https://xrpl.org/docs/references/protocol/transactions) with an array of `Signers`. To be successful, the weights of the signatures must be equal or higher than the quorum of the [SignerList](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/signerlist). - * `fail_hard` (boolean; optional): If `true`, and the transaction fails locally, do not retry or relay the transaction to other servers. The default is `false`. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `engine_result` (string): Code indicating the preliminary result of the transaction, for example `tesSUCCESS`. - * `engine_result_code` (integer): Numeric code indicating the preliminary result of the transaction, directly correlated to `engine_result`. - * `engine_result_message` (string): Human-readable explanation of the preliminary transaction result. - * `tx_blob` (string): The complete [transaction](https://xrpl.org/docs/references/protocol/transactions) in hex string format. - * `tx_json` (object): The complete [transaction](https://xrpl.org/docs/references/protocol/transactions) in JSON format. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "submit_multisigned", - "params": [ - { - "tx_json": { - "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", - "Fee": "30000", - "Flags": 262144, - "LimitAmount": { - "currency": "USD", - "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", - "value": "0" - }, - "Sequence": 4, - "Signers": [ - { - "Signer": { - "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", - "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", - "TxnSignature": "3045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B7" - } - }, - { - "Signer": { - "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", - "SigningPubKey": "03398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C1", - "TxnSignature": "3045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D08" - } - } - ], - "SigningPubKey": "", - "TransactionType": "TrustSet", - "hash": "81A477E2A362D171BB16BE17B4120D9F809A327FA00242ABCA867283BEA2F4F8" - } - } - ] - }' -``` - ---- - -## `transaction_entry` - -> Retrieves info on the transaction from a particular ledger version. - -The `transaction_entry` method retrieves information on a single transaction from a specific ledger version. (The `tx` method by contrast, searches all ledgers for the specified transaction. We recommend using that method instead.) - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `ledger_index` (string or unsigned integer; optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers).) - * `tx_hash` (string; required): Unique hash of the transaction you are looking up. - -### Returns (API v2) - - * `close_time_iso` (string): The ledger close time represented in ISO 8601 time format. - * `hash` (string): The unique hash identifier of the transaction. - * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version the transaction was found in; this is the same as the one from the request. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version the transaction was found in; this is the same as the one from the request. - * `meta` (object): The transaction metadata, which shows the exact results of the transaction in detail. - * `tx_json` (object): JSON representation of the Transaction object. - -### Returns (API v1) - - * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version the transaction was found in; this is the same as the one from the request. - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version the transaction was found in; this is the same as the one from the request. - * `metadata` (object): The [transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata) which shows the exact results of the transaction in detail. - * `tx_json` (object): JSON representation of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "transaction_entry", - "params": [ - { - "tx_hash": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", - "ledger_index": 56865245 - } - ] - }' -``` - ---- - -## `tx` - -> Retrieves info on the transaction from all the ledgers at hand. - -The `tx` method retrieves information on a single [transaction](https://xrpl.org/docs/references/protocol/transactions), by its [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) or its [CTID](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ctid` (string; optional): The [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid) of the transaction to look up. Must use uppercase hexadecimal only. (Not supported in Clio v2.0 and earlier). - * `transaction` (string; optional): The 256-bit hash of the transaction to look up, as hexadecimal. - * `binary` (boolean; optional): If `true`, return transaction data and metadata as binary [serialized](https://xrpl.org/docs/references/protocol/binary-format) to hexadecimal strings. If `false`, return transaction data and metadata as JSON. The default is `false`. - * `min_ledger` (number; optional): Use this with `max_ledger` to specify a range of up to 1000 [ledger indexes](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index), starting with this ledger (inclusive). If the server cannot find the transaction, it confirms whether it was able to search all the ledgers in this range. - * `max_ledger` (number; optional): Use this with `min_ledger` to specify a range of up to 1000 [ledger indexes](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index), ending with this ledger (inclusive). If the server cannot find the transaction, it confirms whether it was able to search all the ledgers in the requested range. - -### Returns (API v2) - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the fields of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions) as well as the following additional fields: - - * `ctid` (string): The transaction's [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). (Not supported in Clio v2.0 and earlier.) - * `date` (number): The [close time](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) of the ledger in which the transaction was applied, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). - * `hash` (string): The unique [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) of the transaction. - * `inLedger` (number; deprecated): Alias for `ledger_index`. - * `ledger_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that includes this transaction. - * `meta` (object — JSON mode): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction. - * `meta_blob` (string — binary mode): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction, represented as a hex string. - * `tx_blob` (string — binary mode): The transaction data represented as a hex string. - * `tx_json` (object — JSON mode): The transaction data represented in JSON. - * `validated` (boolean): If `true`, this data comes from a validated ledger version; if omitted or set to `false`, this data is not final. - -### Returns (API v1) - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the fields of the [Transaction object](https://xrpl.org/docs/references/protocol/transactions) as well as the following additional fields: - - * `ctid` (string): The transaction's [compact transaction identifier](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/ctid). (Not supported in Clio v2.0 and earlier.) - * `date` (number): The [close time](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) of the ledger in which the transaction was applied, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). - * `hash` (string): The unique [identifying hash](https://xrpl.org/docs/concepts/transactions#identifying-transactions) of the transaction. - * `inLedger` (number; deprecated): Alias for `ledger_index`. - * `ledger_index` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger that includes this transaction. - * `meta` (object (JSON) or string (binary)): [Transaction metadata](https://xrpl.org/docs/references/protocol/transactions/metadata), which describes the results of the transaction. - * `tx` (string — binary mode): The transaction data represented as a hex string. - * `validated` (boolean): If true, this data comes from a validated ledger version; if omitted or set to false, this data is not final. - * (various) (various): Other fields from the [Transaction object](https://xrpl.org/docs/references/protocol/transactions). - -### Request example (CTID) - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "tx", - "params": [ - { - "ctid": "C005523E00000000", - "binary": false, - "api_version": 2 - } - ] - }' -``` - -### Request example (Hash) - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "tx", - "params": [ - { - "transaction": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", - "binary": false, - "api_version": 2 - } - ] - }' -``` - ---- - -## `tx_history` - -> Retrieves info on all recent transactions. - -The `tx_history` method retrieves some of the most recent transactions made. - -Caution: This method is removed in [API v2](https://xrpl.org/docs/references/http-websocket-apis#api-versioning). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `start` (unsigned integer; required): Number of transactions to skip over. - -### Returns - - * `txs` (array): Array of transaction objects. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "tx_history", - "params": [ - { - "start": 0 - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "index": 0, - "status": "success", - "txs": [ - { - "Account": "rUPWQfH9SoNnbYDMjq6cMoawQ4x2or6nGA", - "Amount": "100000000000000", - "DeliverMax": "100000000000000", - "Destination": "rUPWQfH9SoNnbYDMjq6cMoawQ4x2or6nGA", - "Fee": "10", - "Flags": 131072, - "LastLedgerSequence": 100581760, - "SendMax": { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "value": "1000000000000000" - }, - "Sequence": 0, - "SigningPubKey": "EDE91272F3124216316CC04C798E7AE3A7395924FAF50533B01BCC0CE5CE71B122", - "TicketSequence": 100371575, - "TransactionType": "Payment", - "TxnSignature": "A338BAEE8DCFA84DC5F6F8ABD81BC1F9D406F24C248A19465A83E7C9564894538A9F83C654DEFD748F7507FF8E134AC0F108A430BD2E21C1CF45F030C9678705", - "hash": "45A8E1470A18F55FF9559700ABA643FE25E7E957CDB2D35F84B6B746A22C96FF", - "inLedger": 100581753, - "ledger_index": 100581753 - } - ] - } -} -``` - ---- - -**Path and Order Book Methods**: - -Paths define a way for payments to flow through intermediary steps on their way from sender to receiver. Paths enable cross-currency payments by connecting sender and receiver through order books. Use these methods to work with paths and other books. - -## `amm_info` - -> Retrieves info on the Automated Market Maker (AMM) instance. - -The `amm_info` method gets information about an [Automated Market Maker (AMM)](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/automated-market-makers) instance. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): Show only LP Tokens held by this liquidity provider. - * `amm_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); optional): The address of the AMM's special AccountRoot. (This is the `issuer` of the AMM's LP Tokens.) - * `asset` (object; optional): One of the assets of the AMM to look up, as an object with `currency` and `issuer` fields (omit issuer for XRP), like [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). - * `asset2` (object; optional): The other of the assets of the AMM, as an object with `currency` and `issuer` fields (omit `issuer` for XRP), like [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). - -Note: You must specify either `amm_account` or both `asset` and `asset2`. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `amm` (object): An AMM Description Object for the requested asset pair. - * `ledger_current_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_index` is provided instead. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger, which was used when retrieving this information. - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): Omitted if `ledger_current_index` is provided instead. The identifying hash of the ledger version that was used when retrieving this data. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided instead. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger version used when retrieving this information. - * `validated` (boolean): If `true`, the ledger used for this request is validated and these results are final; if omitted or set to `false`, the data is pending and may change. - -#### AMM Description Object - -The `amm` field is an object describing the current status of an Automated Market Maker (AMM) in the ledger, and contains the following fields: - - * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the AMM Account. - * `amount` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of one asset in the AMM's pool. (Note: This could be `asset` or `asset2` from the request.) - * `amount2` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of the other asset in the AMM's pool. (Note: This could be `asset` or `asset2` from the request.) - * `asset_frozen` (boolean; omitted for XRP): If `true`, the `amount` currency is currently [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). - * `asset2_frozen` (boolean; omitted for XRP): If `true`, the `amount2` currency is currently [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). - * `auction_slot` (object; optional): An Auction Slot Object describing the current auction slot holder, if there is one. - * `lp_token` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The total amount of this AMM's LP Tokens outstanding. If the request specified a liquidity provider in the `account` field, instead, this is the amount of this AMM's LP Tokens held by that liquidity provider. - * `trading_fee` (number): The AMM's current trading fee, in units of `1/100,000`; a value of `1` is equivalent to a `0.001%` fee. - * `vote_slots` (array; optional): The current votes for the AMM's trading fee, as Vote Slot Objects. - -#### Auction Slot Object - -The `auction_slot` field of the `amm` object describes the current auction slot holder of the AMM, and contains the following fields: - - * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of the account that owns the auction slot. - * `auth_accounts` (array): A list of additional accounts that the auction slot holder has designated as being eligible of the discounted trading fee. Each member of this array is an object with one field, `account`, containing the address of the designated account. - * `discounted_fee` (number): The discounted trading fee that applies to the auction slot holder, and any eligible accounts, when trading against this AMM. This is `1/10` of the AMM's normal trading fee. - * `expiration` (string): The ISO 8601 UTC timestamp after which this auction slot expires. After expired, the auction slot does not apply (but the data can remain in the ledger until another transaction replaces it or cleans it up). - * `price` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)): The amount, in LP Tokens, that the auction slot holder paid to win the auction slot. This affects the price to outbid the current slot holder. - * `time_interval` (number): The current 72-minute time interval this auction slot is in, from 0 to 19. The auction slot expires after 24 hours (20 intervals of 72 minutes) and affects the cost to outbid the current holder and how much the current holder is refunded if someone outbids them. - -#### Vote Slot Objects - -Each entry in the `vote_slots` array represents one liquidity provider's vote to set the trading fee, and contains the following fields: - - * `account` (string): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of this liquidity provider. - * `trading_fee` (number): The trading fee this liquidity provider voted for, in units of `1/100,000`. - * `vote_weight` (number): How much this liquidity provider's vote counts towards the final trading fee. This is proportional to how much of the AMM's LP Tokens this liquidity provider holds. The value is equal to `100,000` times the number of this LP Tokens this liquidity provider holds, divided by the total number of LP Tokens outstanding. For example, a value of `1000` means that the liquidity provider holds `1%` of this AMM's LP Tokens. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "amm_info", - "params": [ - { - "asset": { - "currency": "XRP" - }, - "asset2": { - "currency": "TST", - "issuer": "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" - } - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "amm": { - "account": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", - "amount": "296890496", - "amount2": { - "currency": "TST", - "issuer": "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd", - "value": "25.81656470648473" - }, - "asset2_frozen": false, - "auction_slot": { - "account": "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", - "auth_accounts": [ - { - "account": "r3f2WpQMsAd8k4Zoijv2PZ78EYFJ2EdvgV" - }, - { - "account": "rnW8FAPgpQgA6VoESnVrUVJHBdq9QAtRZs" - } - ], - "discounted_fee": 0, - "expiration": "2023-Jan-26 00:28:40.000000000 UTC", - "price": { - "currency": "039C99CD9AB0B70B32ECDA51EAAE471625608EA2", - "issuer": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", - "value": "0" - }, - "time_interval": 0 - }, - "lp_token": { - "currency": "039C99CD9AB0B70B32ECDA51EAAE471625608EA2", - "issuer": "rp9E3FN3gNmvePGhYnf414T2TkUuoxu8vM", - "value": "87533.41976112682" - }, - "trading_fee": 600, - "vote_slots": [ - { - "account": "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", - "trading_fee": 600, - "vote_weight": 9684 - } - ] - }, - "ledger_current_index": 316745, - "status": "success", - "validated": false - } -} -``` - ---- - -## `book_changes` - -> Retrieves information on order book changes. - -The `book_changes` method reports information about changes to the order books in the [decentralized exchange (DEX)](https://xrpl.org/docs/concepts/tokens/decentralized-exchange) compared with the previous ledger version. This may be useful for building "candlestick" charts. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `changes` (array): List of [Book Update Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes#book-update-objects), containing one entry for each order book that was updated in this ledger version. The array is empty if no order books were updated. - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): The identifying hash of the ledger version that was used when retrieving this data. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The ledger index of the ledger version that was used when retrieving this data. - * `ledger_time` (number): The official close time of the ledger that was used when retrieving this data, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). - * `type` (string): The string `bookChanges`, which indicates that this is an order book update message. - * `validated` (boolean; optional): If `true`, the information comes from a validated ledger version. - -#### Book Update Objects - -A Book Update Object represents the changes to a single order book in a single ledger version, and contains the following fields: - - * `currency_a` (string): An identifier for the first of the two currencies in the order book. For XRP, this is the string `XRP_drops`. For [tokens](https://xrpl.org/docs/concepts/tokens), this is formatted as the address of the issuer in base58, followed by a forward-slash (`/`), followed by the [Currency Code](https://xrpl.org/docs/references/protocol/data-types/currency-formats#currency-codes) for the token, which can be a 3-character standard code or a 20-character hexadecimal code. - * `currency_b` (string): An identifier for the second of two currencies in the order book. This is in the same format as `currency_a`, except `currency_b` can never be XRP. - * `volume_a` (string — number): The total amount, or volume, of the first currency (that is, `currency_a`) that moved as a result of trades through this order book in this ledger. - * `volume_b` (string — number): The volume of the second currency (that is, `currency_b`) that moved as a result of trades through this order book in this ledger. - * `high` (string — number): The highest exchange rate among all offers matched in this ledger, as a ratio of the first currency to the second currency. (In other words, `currency_a : currency_b`.) - * `low` (string — number): The lowest exchange rate among all offers matched in this ledger, as a ratio of the first currency to the second currency. - * `open` (string — number): The exchange rate at the top of this order book before processing the transactions in this ledger, as a ratio of the first currency to the second currency. - * `close` (string — number): The exchange rate at the top of this order book after processing the transactions in this ledger, as a ratio of the first currency to the second currency. - -For XRP-token order books, XRP is always `currency_a`. For token-token order books, the currencies are sorted alphabetically by the issuer and then currency code. - -Exchange rates involving XRP are always calculated using [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). For example, if the rate from XRP to FOO is 1.0 XRP to 1 FOO, the rate reported by the API is `1000000` (1 million drops of XRP per 1 FOO). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "book_changes", - "params": [ - { - "ledger_index": 88530953 - } - ] - }' -``` - -### Response example - -```json -{ - "result" : { - "changes" : [ - { - "close" : "277777.7777777778", - "currency_a" : "XRP_drops", - "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", - "high" : "277777.7777777778", - "low" : "277777.7777777778", - "open" : "277777.7777777778", - "volume_a" : "44082741", - "volume_b" : "158.6978676" - }, - { - "close" : "202999.9948135647", - "currency_a" : "XRP_drops", - "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", - "high" : "202999.9948135647", - "low" : "202999.9948135647", - "open" : "202999.9948135647", - "volume_a" : "44191586", - "volume_b" : "217.6925474337355" - }, - { - "close" : "80475.34586323083", - "currency_a" : "XRP_drops", - "currency_b" : "rf5YPb9y9P3fTjhxNaZqmrwaj5ar8PG1gM/47414C4100000000000000000000000000000000", - "high" : "80475.34586323083", - "low" : "80475.34586323083", - "open" : "80475.34586323083", - "volume_a" : "100000000", - "volume_b" : "1242.61659179386" - }, - { - "close" : "231974.7481608686", - "currency_a" : "XRP_drops", - "currency_b" : "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz/534F4C4F00000000000000000000000000000000", - "high" : "231974.7481608686", - "low" : "231974.7481608686", - "open" : "231974.7481608686", - "volume_a" : "33734", - "volume_b" : "0.1454210006367" - }, - { - "close" : "7.290000000001503", - "currency_a" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", - "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", - "high" : "7.290000000001503", - "low" : "7.290000000001503", - "open" : "7.290000000001503", - "volume_a" : "158.6978670792", - "volume_b" : "21.76925474337" - }, - { - "close" : "0.1", - "currency_a" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", - "currency_b" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", - "high" : "0.1", - "low" : "0.1", - "open" : "0.1", - "volume_a" : "21.76925474337355", - "volume_b" : "217.6925474337355" - } - ], - "ledger_hash" : "7AB08A2415C10E07201521F3260F77ADFF4902A528EA66378E259A07767A24B9", - "ledger_index" : 88530953, - "ledger_time" : 771100891, - "status" : "success", - "type" : "bookChanges" - } -} -``` - ---- - -## `book_offers` - -> Retrieves info on the currency exchange offers. - -The `book_offers` method retrieves a list of [offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers) between two currencies, also known as an order book. The response omits [unfunded offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) and reports how much of each remaining offer's total is currently funded. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `taker_gets` (object; required): The asset the account taking the offer would receive, as a [currency without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). - * `taker_pays` (object; required): The asset the account taking the offer would pay, as a [currency without an amount](https://xrpl.org/docs/references/protocol/data-types/currency-formats#specifying-without-amounts). - * `domain` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The ledger entry ID of a permissioned domain. If provided, return offers from the corresponding [permissioned DEX](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/permissioned-dexes) instead of using the open DEX. (Requires the [PermissionedDEX amendment](https://xrpl.org/resources/known-amendments#permissioneddex). Open for Voting: 48.57%) - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `limit` (number; optional): The maximum number of offers to return. The response may include fewer results. - * `taker` (string; optional): The [Address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses) of an account to use as a perspective. The response includes this account's Offers even if they are unfunded. (You can use this to see what Offers are above or below yours in the order book.) - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `ledger_current_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_index` is provided. The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the current in-progress ledger version, which was used to retrieve this information. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): Omitted if `ledger_current_index` is provided. The ledger index of the ledger version that was used when retrieving this data, as requested. - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The identifying hash of the ledger version that was used when retrieving this data, as requested. - * `offers` (array): Array of offer objects, as described below. - -Each member of the `offers` array contains canonical fields of an [Offer entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/offer) and can also contain the following additional fields: - - * `owner_funds` (string): Amount of the `TakerGets` currency the side placing the offer has available to be traded. (XRP is represented as drops; any other currency is represented as a decimal value.) If a trader has multiple offers in the same book, only the highest-ranked offer includes this field. - * `taker_gets_funded` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): (Only included in partially-funded offers) The maximum amount of currency that the taker can get, given the funding status of the offer. - * `taker_pays_funded` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): (Only included in partially-funded offers) The maximum amount of currency that the taker would pay, given the funding status of the offer. - * `quality` (string): The exchange rate, as the ratio `taker_pays` divided by `taker_gets`. For fairness, offers that have the same quality are automatically taken first-in, first-out. (In other words, if multiple people offer to exchange currency at the same rate, the oldest offer is taken first.) - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "book_offers", - "params": [ - { - "taker": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "taker_gets": { - "currency": "XRP" - }, - "taker_pays": { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" - }, - "limit": 10 - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "ledger_current_index": 100604206, - "offers": [ - { - "Account": "rdmZRvr9aBdGwzF2DwYBnHxTUDomJoiaQ", - "BookDirectory": "DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4F07346FDFE9BD33", - "BookNode": "0", - "Flags": 0, - "LedgerEntryType": "Offer", - "OwnerNode": "8", - "PreviousTxnID": "4F34894FC227EBC36B0469672C533DB245DB8CB9FAC59E49A7B058D3A0ED08F6", - "PreviousTxnLgrSeq": 100604145, - "Sequence": 99505926, - "TakerGets": "9117876", - "TakerPays": { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "value": "18.49086962" - }, - "index": "8FA868A2EFF6B0CF195126639615DBE9251AE5E5559E428450D7F260E2D16CBA", - "owner_funds": "16902114", - "quality": "0.000002027979939626291" - } - ], - "status": "success", - "validated": false - } -} -``` - ---- - -## `deposit_authorized` - -> Checks whether an account is authorized to send money directly to another account. - -The `deposit_authorized` command indicates whether one account is authorized to send payments directly to another. See [Deposit Authorization](https://xrpl.org/docs/concepts/accounts/depositauth) for information on how to require authorization to deliver money to your account. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The sender of a possible payment. - * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The recipient of a possible payment. - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): A 32-byte hex string for the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `credentials` (array; optional): A set of credentials to take into account when checking if the sender can send funds to the destination. Each member of the array must be the unique ID of a [Credential entry](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/credential) in the ledger. Cannot be an empty array. - -Note: If you provide a set of credentials that does not exactly match a set of credentials preauthorized by the destination, the payment is not authorized, even if the destination has preauthorized a subset of those credentials. This matches the behavior of transaction processing. - -### Returns - - * `credentials` (array of [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The credentials specified in the request, if any. - * `deposit_authorized` (boolean; required): Whether the specified source account is authorized to send payments directly to the destination account. If `true`, either the destination account does not require [deposit authorization](https://xrpl.org/docs/concepts/accounts/depositauth) or the source account is preauthorized. - * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The destination account specified in the request. - * `ledger_hash` (string; optional): The identifying hash of the ledger that was used to generate this response. - * `ledger_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger version that was used to generate this response. - * `ledger_current_index` (number — [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the current in-progress ledger version, which was used to generate this response. - * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The source account specified in the request. - * `validated` (boolean; optional): If `true`, the information comes from a validated ledger version. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "deposit_authorized", - "params": [ - { - "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", - "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", - "credentials": [ - "A182EFBD154C9E80195082F86C1C8952FC0760A654B886F61BB0A59803B4387B", - "383D269D6C7417D0A8716B09F5DB329FB17B45A5EFDBAFB82FF04BC420DCF7D5" - ], - "ledger_index": "validated" - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "credentials": [ - "A182EFBD154C9E80195082F86C1C8952FC0760A654B886F61BB0A59803B4387B", - "383D269D6C7417D0A8716B09F5DB329FB17B45A5EFDBAFB82FF04BC420DCF7D5" - ], - "deposit_authorized": true, - "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", - "ledger_hash": "BD03A10653ED9D77DCA859B7A735BF0580088A8F287FA2C5403E0A19C58EF322", - "ledger_index": 8, - "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", - "status": "success", - "validated": true - } -} -``` - ---- - -## `get_aggregate_price` - -> Calculates the aggregate price of specified Oracle instances. - -The `get_aggregate_price` method retrieves the aggregate price of specified `Oracle` objects, returning three price statistics: mean, median, and trimmed mean. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `base_asset` (string; required): The currency code of the asset to be priced. - * `quote_asset` (string; required): The currency code of the asset to quote the price of the base asset. - * `trim` (number; optional): The percentage of outliers to trim. Valid trim range is 1–25. If included, the API returns statistics for the `trimmed mean`. - * `trim_threshold` (number; optional): Defines a time range in seconds for filtering out older price data. Default value is 0, which doesn't filter any data. - * `oracles` (array; required): An array of oracle identifier objects. You must list between 1 and 200 oracle identifiers. - -Each member of the `oracles` array is an oracle identifier object with the following fields: - - * `account` (string; required): The XRPL account that controls the `Oracle` object. - * `oracle_document_id` (number; required): A unique identifier of the price oracle for the `Account`. - -### Returns - - * `entire_set` (object): The statistics from the collected oracle prices. - * `entire_set.mean` (string — number): The simple mean. - * `entire_set.size` (number): The size of the data set to calculate the mean. - * `entire_set.standard_deviation` (string — number): The standard deviation. - * `trimmed_set` (object; optional): The trimmed statistics from the collected oracle prices. Only appears if the `trim` field was specified in the request. - * `trimmed_set.mean` (string — number): The simple mean of the trimmed data. - * `trimmed_set.size` (number): The size of the data to calculate the trimmed mean. - * `trimmed_set.standard_deviation` (string — number): The standard deviation of the trimmed data. - * `time` (number): The most recent timestamp out of all `LastUpdateTime` values, represented in Unix time. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "get_aggregate_price", - "params": [ - { - "ledger_index": "current", - "base_asset": "XRP", - "quote_asset": "USD", - "trim": 20, - "oracles": [ - { - "account": "rNZ9m6AP9K7z3EVg6GhPMx36V4QmZKeWds", - "oracle_document_id": 34 - }, - { - "account": "rMVKq8zrVsJZQFEiTARyC6WfZznhhLMcNi", - "oracle_document_id": 100 - }, - { - "account": "r92kJTnUbUUq15t2BBZYGYxY79RnNc7rLQ", - "oracle_document_id": 2 - } - ] - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "entire_set": { - "mean": "0.78", - "size": 3, - "standard_deviation": "0.03464101615137754" - }, - "ledger_current_index": 3677185, - "median": "0.8", - "time": 1724877762, - "trimmed_set": { - "mean": "0.78", - "size": 3, - "standard_deviation": "0.03464101615137754" - }, - "validated": false - }, - "status": "success", - "type": "response" -} -``` - ---- - -## `nft_buy_offers` - -> Retrieves a list of all buy offers for the NFT specified. - -The `nft_buy_offers` method returns a list of buy offers for a given `NFToken` object. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `nft_id` (string; required): The unique identifier of a [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` (string or number; optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `limit` (integer; optional): Limit the number of NFT buy offers to retrieve. This value cannot be lower than 50 or more than 500. Positive values outside this range are replaced with the closest valid option. The default is 250. - * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Value from a previous paginated response. Resume retrieving data where that response left off. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `nft_id` (string): The NFToken these offers are for, as specified in the request. - * `offers` (array): A list of buy offers for the token. Each of these is formatted as a **Buy Offer** (see below). - * `limit` (number; optional): The `limit`, as specified in the request. - * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. - -#### Buy Offers - -Each member of the `offers` array represents one [NFTokenOffer object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer) to buy the NFT in question and has the following fields: - - * `amount` (string or object): The amount offered to buy the NFT for, as a String representing an amount in drops of XRP, or an object representing an amount of a fungible token. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)) - * `flags` (number): A set of bit-flags for this offer. See [NFTokenOffer flags](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer#nftokenoffer-flags) for possible values. - * `nft_offer_index` (string): The [ledger object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of this offer. - * `owner` (string): The account that placed this offer. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "nft_buy_offers", - "params": [ - { - "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", - "ledger_index": "validated" - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", - "offers": [ - { - "amount": "1500", - "flags": 0, - "nft_offer_index": "3212D26DB00031889D4EF7D9129BB0FA673B5B40B1759564486C0F0946BA203F", - "owner": "rsuHaTvJh1bDmDoxX9QcKP7HEBSBt4XsHx" - } - ], - "status": "success" - } -} -``` - ---- - -## `nft_sell_offers` - -> Retrieves a list of all sell offers for the NFT specified. - -The `nft_sell_offers` method returns a list of sell offers for a given [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `nft_id` (string; required): The unique identifier of a [NFToken](https://xrpl.org/docs/references/protocol/data-types/nftoken) object. - * `ledger_hash` (string; optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` (string or number; optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `limit` (integer; optional): Limit the number of NFT sell offers to retrieve. This value cannot be lower than 50 or more than 500. Positive values outside this range are replaced with the closest valid option. The default is 250. - * `marker` (marker; optional): Value from a previous paginated response. Resume retrieving data where that response left off. - -### Returns - - * `nft_id` (string): The NFToken these offers are for, as specified in the request. - * `offers` (array): A list of buy offers for the token. Each of these is formatted as a **Sell Offer** (see below). - * `limit` (number; optional): The `limit`, as specified in the request. - * `marker` (marker; optional): Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no pages of information after this one. - -#### Sell Offers - -Each member of the `offers` array represents one [NFTokenOffer object](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer) to buy the NFT in question and has the following fields: - - * `amount` (string or object): The amount offered to sell the NFT for, as a String representing an amount in drops of XRP, or an object representing an amount of a fungible token. (See [Specifying Currency Amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts)) - * `flags` (number): A set of bit-flags for this offer. See [NFTokenOffer flags](https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer#nftokenoffer-flags) for possible values. - * `nft_offer_index` (string): The [ledger object ID](https://xrpl.org/docs/references/protocol/ledger-data/common-fields) of this offer. - * `owner` (string): The account that placed this offer. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "nft_sell_offers", - "params": [ - { - "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007" - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007", - "offers": [ - { - "amount": "1000", - "flags": 1, - "nft_offer_index": "9E28E366573187F8E5B85CE301F229E061A619EE5A589EF740088F8843BF10A1", - "owner": "rLpSRZ1E8JHyNDZeHYsQs1R5cwDCB3uuZt" - } - ], - "status": "success" - } -} -``` - ---- - -## `ripple_path_find` - -> Finds a path for payment between two accounts, once. - -Although the rippled server tries to find the cheapest path or combination of paths for making a payment, it is not guaranteed that the paths returned by this method are, in fact, the best paths. - -Caution: Be careful with the pathfinding results from untrusted servers. A server could be modified to return less-than-optimal paths to earn money for its operators. A server may also return poor results when under heavy load. If you do not have your own server that you can trust with pathfinding, you should compare the results of pathfinding from multiple servers run by different parties, to minimize the risk of a single server returning poor results. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `source_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that would send funds. - * `destination_account` (string — [address](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#addresses); required): The account that would receive funds. - * `destination_amount` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); required): How much the destination account would receive. Special case: You can specify `-1` (for XRP) or provide `-1` as the `value` field (for tokens). This requests a path to deliver as much as possible, while spending no more than the amount specified in `send_max` (if provided). - * `domain` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/permissioned-dexes). (Requires the [PermissionedDEX amendment](https://xrpl.org/resources/known-amendments#permissioneddex)) - * `ledger_hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `send_max` ([currency amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts); optional): Maximum amount that would be spent. Cannot be used with `source_currencies`. - * `source_currencies` (array; optional): Array of currencies that the source account might want to spend. Each entry in the array should be a JSON object with a mandatory `currency` field and optional `issuer` field, like how [currency amounts](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) are specified. Cannot contain more than 18 source currencies. By default, uses all source currencies available up to a maximum of 88 different currency/issuer pairs. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `alternatives` (array): Array of objects with possible paths to take, as described below. If empty, then there are no paths connecting the source and destination accounts. - * `destination_account` (string): Unique address of the account that would receive a payment transaction. - * `destination_currencies` (array): Array of strings representing the currencies that the destination accepts, as 3-letter codes like `USD` or as 40-character hex like `015841551A748AD2C1F76FF6ECB0CCCD00000000`. - -Each element in the `alternatives` array is an object that represents a path from one possible source currency (held by the initiating account) to the destination account and currency. This object has the following fields: - - * `paths_computed` (array): Array of arrays of objects defining [payment paths](https://xrpl.org/docs/concepts/tokens/fungible-tokens/paths). - * `source_amount` (string or object): [Currency Amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) that the source would have to send along this path for the destination to receive the desired amount. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ripple_path_find", - "params": [ - { - "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "destination_amount": { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "value": "0.001" - }, - "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "source_currencies": [ - { - "currency": "XRP" - }, - { - "currency": "USD" - } - ] - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "alternatives": [ - { - "paths_canonical": [], - "paths_computed": [ - [ - { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "type": 48 - } - ] - ], - "source_amount": "461" - }, - { - "paths_canonical": [], - "paths_computed": [], - "source_amount": { - "currency": "USD", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "0.0010015" - } - } - ], - "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "destination_amount": { - "currency": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "value": "0.001" - }, - "destination_currencies": [ - "JOE", - "MXN", - "USD", - "DYM", - "CNY", - "015841551A748AD2C1F76FF6ECB0CCCD00000000", - "EUR", - "BTC", - "XRP" - ], - "full_reply": true, - "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "status": "success" - } -} -``` - ---- - -**Payment Channel Methods**: - -Payment channels are a tool for facilitating repeated, unidirectional payments, or temporary credit between two parties. Use these methods to work with payment channels. - -## `channel_verify` - -> Checks a payment channel claim's signature. - -The `channel_verify` method checks the validity of a signature that can be used to redeem a specific amount of XRP from a payment channel. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `amount` (string; required): The amount of [XRP, in drops](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts), that the provided `signature` authorizes. - * `channel_id` (string; required): The Channel ID of the channel that provides the amount. This is a 64-character hexadecimal string. - * `public_key` (string; required): The public key of the channel and the key pair that was used to create the signature, in hexadecimal or the XRP Ledger's `base58` format. - * `signature` (string; required): The signature to verify, in hexadecimal. - -### Returns - - * `signature_verified` (boolean): If `true`, the signature is valid for the stated amount, channel, and public key. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "channel_verify", - "params": [ - { - "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", - "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", - "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", - "amount": "1000000" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "signature_verified": true, - "status": "success" - } -} -``` - ---- - -**Server Info Methods**: - -Use these methods to retrieve information about the current state of the rippled server. - -## `fee` - -> Retrieves information on the transaction cost. - -The `fee` command reports the current state of the open-ledger requirements for the [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost). This requires the [FeeEscalation amendment](https://xrpl.org/resources/known-amendments#feeescalation) to be enabled. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `current_ledger_size` (string — integer): Number of transactions provisionally included in the in-progress ledger. - * `current_queue_size` (string — integer): Number of transactions currently queued for the next ledger. - * `drops` (object): Various information about the transaction cost (the `Fee` field of a transaction), in [drops of XRP](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts). - * `drops.base_fee` (string — integer): The transaction cost required for a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) to be included in a ledger under minimum load, represented in drops of XRP. - * `drops.median_fee` (string — integer): An approximation of the median transaction cost among transactions included in the previous validated ledger, represented in drops of XRP. - * `drops.minimum_fee` (string — integer): The minimum transaction cost for a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) to be queued for a later ledger, represented in drops of XRP. If greater than `base_fee`, the transaction queue is full. - * `drops.open_ledger_fee` (string — integer): The minimum transaction cost that a [reference transaction](https://xrpl.org/docs/concepts/transactions/transaction-cost#reference-transaction-cost) must pay to be included in the current open ledger, represented in drops of XRP. - * `expected_ledger_size` (string — integer): The approximate number of transactions expected to be included in the current ledger. This is based on the number of transactions in the previous ledger. - * `ledger_current_index` (number): The Ledger Index of the current open ledger these stats describe. - * `levels` (object): Various information about the transaction cost, in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). The ratio in fee levels applies to any transaction relative to the minimum cost of that particular transaction. - * `levels.median_level` (string — integer): The median transaction cost among transactions in the previous validated ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). - * `levels.minimum_level` (string — integer): The minimum transaction cost required to be queued for a future ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). - * `levels.open_ledger_level` (string — integer): The minimum transaction cost required to be included in the current open ledger, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). - * `levels.reference_level` (string — integer): The equivalent of the minimum transaction cost, represented in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). - * `max_queue_size` (string — integer): The maximum number of transactions that the [transaction queue](https://xrpl.org/docs/concepts/transactions/transaction-cost#queued-transactions) can currently hold. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "fee", - "params": [{}] - }' -``` - -### Response example - -```json -{ - "result": { - "current_ledger_size": "89", - "current_queue_size": "0", - "drops": { - "base_fee": "10", - "median_fee": "5000", - "minimum_fee": "10", - "open_ledger_fee": "10" - }, - "expected_ledger_size": "396", - "ledger_current_index": 100647307, - "levels": { - "median_level": "128000", - "minimum_level": "256", - "open_ledger_level": "256", - "reference_level": "256" - }, - "max_queue_size": "7920", - "status": "success" - } -} -``` - ---- - -## `feature` - -> Retrieves information on the protocol amendments. - -The `feature` command returns information about [amendments](https://xrpl.org/docs/concepts/networks-and-servers/amendments) this server knows about, including whether they are enabled and if the server knows how to apply the amendments. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `feature` (string; optional): The unique ID of an amendment, as hexadecimal; or the short name of the amendment. If provided, limits the response to one amendment. Otherwise, the response lists all amendments. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a map of amendments as a JSON object. - -The keys of the object are amendment IDs. The values for each key are amendment objects that describe the status of the amendment with that ID. If the request specified a `feature`, the map contains only the requested amendment object, after applying any changes from the request. Each amendment object has the following fields: - - * `enabled` (boolean): Whether this amendment is currently enabled in the latest ledger. - * `name` (string; optional): The human-readable name for this amendment, if known. - * `supported` (boolean): Whether the server knows how to apply this amendment. If this field is set to `false` (the server does not know how to apply this amendment) and `enabled` is set to `true` (this amendment is enabled in the latest ledger), this amendment may cause your server to be [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "fee", - "params": [ - { - "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "current_ledger_size": "36", - "current_queue_size": "0", - "drops": { - "base_fee": "10", - "median_fee": "5000", - "minimum_fee": "10", - "open_ledger_fee": "10" - }, - "expected_ledger_size": "396", - "ledger_current_index": 100647615, - "levels": { - "median_level": "128000", - "minimum_level": "256", - "open_ledger_level": "256", - "reference_level": "256" - }, - "max_queue_size": "7920", - "status": "success" - } -} -``` - ---- - -## `manifest` - -> Retrieves public information on a known validator. - -The `manifest` method reports the current "manifest" information for a given validator public key. The "manifest" is a block of data that authorizes an ephemeral signing key with a signature from the validator's master key pair. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `public_key` (string; required): The [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings)-encoded public key of the validator to look up. This can be the master public key or ephemeral public key. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following fields: - - * `details` (object; optional): The data contained in this manifest. Omitted if the server does not have a manifest for the `public_key` from the request. See Details Object below for a full description of its contents. - * `manifest` (string; optional): The full manifest data in base64 format. This data is serialized to binary before being base64-encoded. Omitted if the server does not have a manifest for the `public_key` from the request. - * `requested` (string): The `public_key` from the request. - -#### Details Object - -If provided, the `details` object contains the following fields: - - * `domain` (string): The domain name this validator claims to be associated with. If the manifest does not contain a domain, this is an empty string. - * `ephemeral_key` (string): The ephemeral public key for this validator, in [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings). - * `master_key` (string): The master public key for this validator, in [base58](https://xrpl.org/docs/references/protocol/data-types/base58-encodings). - * `seq` (number): The sequence number of this manifest. This number increases whenever the validator operator updates the validator's token to rotate ephemeral keys or change settings. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "manifest", - "params": [ - { - "public_key":"nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p" - } - ] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "details": { - "domain": "alloy.ee", - "ephemeral_key": "n9LMfcjE6dMyshCqiftLFXpB9K3Mnd2r5bG7K8osmrkFpHUoR3c1", - "master_key": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p", - "seq": 4 - }, - "manifest": "JAAAAARxIe3AkJgOyqs3y+UuiAI27Ff3Mrfbt8e7mjdo06bnGEp5XnMhAu2LSAwZEQnm/mq9K6sSZJk5JkbcKCv6C7vQW2C8RnZVdkcwRQIhAI9uwQ1p58oyob1E+DaFLwjTdiRbVIKSMPqaaUwnJdN2AiB79DlPXHwztNULraVTkehbDsCAyDdf3VZB3FvkCZNOFHcIYWxsb3kuZWVwEkBf6A9ktcj2H4a61Av8ujQFL2KNcmr/FuEKbwlZEniJvhf0UqNiYc2bAsTJE5wMn00E0JBbw2m9OFwto50DcdkC", - "requested": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p", - "status": "success" - } -} -``` - ---- - -## `server_definitions` - -> Retrieves an SDK-compatible `definitions.json` generated from the currently running `rippled` instance. - -The `server_definitions` command returns an SDK-compatible `definitions.json`, generated from the `rippled` instance currently running. You can use this to query a node in a network, quickly receiving the definitions necessary to serialize/deserialize its binary data. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -To see a full `definitions.json` file and descriptions of the top-level fields, see the [Definitions File](https://xrpl.org/docs/references/protocol/binary-format#definitions-file). - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "server_definitions", - "params": [] - }' -``` - -### Response example - -```json -{ - "id": 1, - "result": { - "FIELDS": [ - [ - "Generic", - { - "isSerialized": false, - "isSigningField": false, - "isVLEncoded": false, - "nth": 0, - "type": "Unknown" - } - ], - [ - "Invalid", - { - "isSerialized": false, - "isSigningField": false, - "isVLEncoded": false, - "nth": -1, - "type": "Unknown" - } - ], - [ - "ObjectEndMarker", - { - "isSerialized": true, - "isSigningField": true, - "isVLEncoded": false, - "nth": 1, - "type": "STObject" - } - ], - [ - "ArrayEndMarker", - { - "isSerialized": true, - "isSigningField": true, - "isVLEncoded": false, - "nth": 1, - "type": "STArray" - } - ] - ... - ] - } -} -``` - ---- - -## `server_info (rippled)` - -> Retrieves status of the server in human-readable format. - -The `server_info` command asks the server for a human-readable version of various information about the [`rippled` server](https://xrpl.org/docs/concepts/networks-and-servers) being queried. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `counters` (boolean; optional): If `true`, return metrics about the job queue, ledger store, and API method activity. The default is `false`. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an `info` object as its only field. - -The `info` object may have some arrangement of the following fields: - - * `amendment_blocked` (boolean; may be omitted): If `true`, this server is amendment blocked. If the server is not [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers), the response omits this field. - * `build_version` (string): The version number of the running `rippled` server. - * `closed_ledger` (object; may be omitted): Information on the most recently closed ledger that has not been validated by consensus, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#server-ledger-object). If the most recently validated ledger is available, the response omits this field and includes `validated_ledger` instead. - * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. This may be a disjoint sequence such as `24900901-24900984,24901116-24901158`. If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. - * `git` (object; admin only): The Git details of your `rippled` build. - * `git.branch` (string; admin only): The Git branch used to build your version of `rippled`. - * `git.hash` (string; admin only): The Git hash of the commit used to build your version of `rippled`. - * `hostid` (string): On an admin request, returns the hostname of the server running the `rippled` instance; otherwise, returns a single [RFC-1751](https://tools.ietf.org/html/rfc1751) word based on the [node public key](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol#node-key-pair). - * `io_latency_ms` (number): Amount of time spent waiting for I/O operations, in milliseconds. If this number is not very, very low, then the `rippled` server is probably having serious load issues. - * `jq_trans_overflow` (string — number): The number of times (since starting up) that this server has had over 250 transactions waiting to be processed at once. A large number here may mean that your server is unable to handle the transaction load of the XRP Ledger network. For detailed recommendations of future-proof server specifications, see [Capacity Planning](https://xrpl.org/docs/infrastructure/installation/capacity-planning). - * `last_close` (object): Information about the last time the server closed a ledger, including the amount of time it took to reach a consensus and the number of trusted validators participating. - * `last_close.converge_time_s` (number): The amount of time it took to reach a consensus on the most recently validated ledger version, in seconds. - * `last_close.proposers` (number): How many trusted validators the server considered (including itself, if configured as a validator) in the consensus process for the most recently validated ledger version. - * `load` (object; admin only): Detailed information about the current load state of the server. - * `load.job_types` (array; admin only): Information about the rate of different types of jobs the server is doing and how much time it spends on each. - * `load.threads` (number; admin only): The number of threads in the server's main job pool. - * `load_factor` (number): The multiplier to the [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) the server is currently enforcing. For example, at `1000` load factor and a reference transaction cost of 10 drops of XRP, the load-scaled transaction cost is 10,000 drops (0.01 XRP). The load factor is determined by the highest of the individual server's load factor, the cluster's load factor, the open ledger cost, and the overall network's load factor. - * `load_factor_local` (number; may be omitted): The current multiplier to the transaction cost based on load to this server. - * `load_factor_net` (number; may be omitted): The current multiplier to the transaction cost being used by the rest of the network. - * `load_factor_cluster` (number; may be omitted): The current multiplier to the transaction cost based on load to servers in this [cluster](https://xrpl.org/docs/concepts/networks-and-servers/clustering). - * `load_factor_fee_escalation` (number; may be omitted): The current multiplier to the transaction cost that a transaction must pay to get into the open ledger. - * `load_factor_fee_queue` (number; may be omitted): The current multiplier to the transaction cost required to get into the queue, if the queue is full. - * `load_factor_server` (number; may be omitted): The current multiplier based on server, cluster, and network load (not including open ledger cost). - * `network_ledger` (string; may be omitted): When [starting the server with the `--net` parameter](https://xrpl.org/docs/infrastructure/commandline-usage), this field contains the string `waiting` while the server is syncing to the network. - * `peers` (number): How many other `rippled` servers this one is currently connected to. - * `ports` (array): A list of ports where the server is listening for API commands. Each entry is a [Port Descriptor object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#port-descriptor-object). - * `pubkey_node` (string): Public key used to verify this server for peer-to-peer communications. This [node key pair](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol#node-key-pair) is automatically generated by the server the first time it starts up. (If deleted, the server can create a new pair of keys.) You can set a persistent value in the config file using the `[node_seed]` config option, which is useful for [clustering](https://xrpl.org/docs/concepts/networks-and-servers/clustering). - * `pubkey_validator` (string; admin only): Public key used by this node to sign ledger validations. This validation key pair is derived from the `[validator_token]` or `[validation_seed]` config field. - * `server_state` (string): A string indicating to what extent the server is participating in the network. See [Possible Server States](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) for more details. - * `server_state_duration_us` (number): The number of consecutive microseconds the server has been in the current state. - * `state_accounting` (object): A map of [various server states](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) with information about the time the server spends in each. This can be useful for tracking the long-term health of your server's connectivity to the network. The contents of this field are formatted as [State Accounting Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#state-accounting-object). - * `uptime` (number): Number of consecutive seconds that the server has been operational. - * `validated_ledger` (object; may be omitted): Information about the most recent fully-validated ledger, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info#server-ledger-object). If not available, omitted and `closed_ledger` is included instead. - * `validation_quorum` (number): Minimum number of trusted validations required to validate a ledger version. - * `validator_list_expires` (string; admin only): Either the human-readable time, in UTC, when the current validator list expires, or the string `unknown` if the server has yet to load a published validator list, or the string `never` if the server uses a static validator list. - * `counters` (object): Performance metrics regarding RPC calls, JobQueue, and nodestore details (`node_writes`, `node_reads_total`, `node_reads_hit`, etc.). - * `current_activity` (object): Lists items currently being run in the job queue and contains two arrays for `jobs` and `methods`. - -#### Port Descriptor Object - -Each member of the `ports` array is an object with the following fields: - - * `port` (string — number): A port number where the server is listening. - * `protocol` (array of string): A list of protocols being served on this port. Valid protocols include `http` or `https` for JSON-RPC, `ws`, `ws2`, `wss`, `wss2` for WebSocket, `grpc` for gRPC, and `peer` for the [XRP Ledger Peer Protocol](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol). - -#### State Accounting Object - -Each field in the `state_accounting` object has a key that refers to a specific [server state](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states), and a value that is an object with the following fields: - - * `duration_us` (string — number): The number of microseconds the server has spent in this state. (This is updated whenever the server transitions into another state.) - * `transitions` (string — number): The number of times the server has changed into this state. - -#### Server Ledger Object - -The response provides either a `validated_ledger` field or a `closed_ledger` field. Either field contains an object with the following fields: - - * `age` (number): The time since the ledger was closed, in seconds. - * `base_fee_xrp` (number): Base fee, in XRP (not drops). This may be represented in scientific notation such as `1e-05` for `0.00001`. - * `hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): Unique hash for the ledger, as hexadecimal. - * `reserve_base_xrp` (number): Minimum amount of XRP (not drops) necessary for every account to keep in reserve. - * `reserve_inc_xrp` (number): Amount of XRP (not drops) added to the account reserve for each object an account owns in the ledger. - * `seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the latest validated ledger. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "server_info", - "params": [{"counters" : false}] - }' -``` - -### Response example - -```json -{ - "result": { - "info": { - "build_version": "2.6.2", - "complete_ledgers": "100146025-100650763", - "hostid": "SAD", - "initial_sync_duration_us": "292599227", - "io_latency_ms": 1, - "jq_trans_overflow": "0", - "last_close": { - "converge_time_s": 3, - "proposers": 35 - }, - "load_factor": 1, - "peer_disconnects": "18440", - "peer_disconnects_resources": "3", - "peers": 49, - "ports": [ - { - "port": "51235", - "protocol": [ - "peer" - ] - }, - { - "port": "51234", - "protocol": [ - "http" - ] - }, - { - "port": "51233", - "protocol": [ - "ws" - ] - }, - { - "port": "50051", - "protocol": [ - "grpc" - ] - } - ], - "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", - "server_state": "full", - "server_state_duration_us": "99692864611", - "state_accounting": { - "connected": { - "duration_us": "283465932", - "transitions": "2" - }, - "disconnected": { - "duration_us": "1040136", - "transitions": "2" - }, - "full": { - "duration_us": "99692864611", - "transitions": "1" - }, - "syncing": { - "duration_us": "8093158", - "transitions": "1" - }, - "tracking": { - "duration_us": "0", - "transitions": "1" - } - }, - "time": "2025-Dec-04 15:01:28.199321 UTC", - "uptime": 99985, - "validated_ledger": { - "age": 4, - "base_fee_xrp": 1e-05, - "hash": "DC9E71BB38F18D5202594FA800230B0B080199704D7CA02BD2524ED49170DA2F", - "reserve_base_xrp": 1, - "reserve_inc_xrp": 0.2, - "seq": 100650763 - }, - "validation_quorum": 28 - }, - "status": "success" - } -} -``` - ---- - -## `server_state` - -> Retrieves status of the server in machine-readable format. - -The `server_state` command asks the server for various machine-readable information about the `rippled` server's current state. The response is almost the same as the `server_info` `rippled` method, but uses units that are easier to process instead of easier to read. (For example, XRP values are given in integer drops instead of scientific notation or decimal values, and time is given in milliseconds instead of seconds.) - -The Clio server does not support `server_state` directly, but you can ask for the `server_state` of the `rippled` server that Clio is connected to. Specify `"ledger_index": "current"` (WebSocket) or `"params": [{"ledger_index": "current"}]` (JSON-RPC). - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a `state` object as its only field. - -The `state` object may have some arrangement of the following fields: - - * `amendment_blocked` (boolean): (May be omitted) If `true`, this server is [amendment blocked](https://xrpl.org/docs/concepts/networks-and-servers/amendments#amendment-blocked-servers). If the server is not amendment blocked, the response omits this field. - * `build_version` (string): The version number of the running `rippled` version. - * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. It is possible to be a disjoint sequence, e.g. "2500-5000,32570-7695432". If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. - * `closed_ledger` (object): (May be omitted) Information on the most recently closed ledger that has not been validated by consensus, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#server-ledger-object). If the most recently validated ledger is available, the response omits this field and includes `validated_ledger` instead. - * `io_latency_ms` (number): Amount of time spent waiting for I/O operations, in milliseconds. If this number is not very, very low, then the `rippled` server is probably having serious load issues. - * `jq_trans_overflow` (string — number): The number of times this server has had over 250 transactions waiting to be processed at once. A large number here may mean that your server is unable to handle the transaction load of the XRP Ledger network. For detailed recommendations of future-proof server specifications, see [Capacity Planning](https://xrpl.org/docs/infrastructure/installation/capacity-planning). - * `last_close` (object): Information about the last time the server closed a ledger, including the amount of time it took to reach a consensus and the number of trusted validators participating. - * `last_close.converge_time` (number): The amount of time it took to reach a consensus on the most recently validated ledger version, in milliseconds. - * `last_close.proposers` (number): How many trusted validators the server considered (including itself, if configured as a validator) in the consensus process for the most recently validated ledger version. - * `load` (object): (Admin only) Detailed information about the current load state of the server. - * `load.job_types` (array): (Admin only) Information about the rate of different types of jobs the server is doing and how much time it spends on each. - * `load.threads` (number): (Admin only) The number of threads in the server's main job pool. - * `load_base` (number): The baseline amount of server load used in [transaction cost](https://xrpl.org/docs/concepts/transactions/transaction-cost) calculations. If the `load_factor` is equal to the `load_base`, then only the base transaction cost is enforced. If the `load_factor` is higher than the `load_base`, then transaction costs are multiplied by the ratio between them. For example, if the `load_factor` is double the `load_base`, then transaction costs are doubled. - * `load_factor` (number): The load factor the server is currently enforcing. The ratio between this value and the `load_base` determines the multiplier for transaction costs. The load factor is determined by the highest of the individual server's load factor, the cluster's load factor, the open ledger cost, and the overall network's load factor. - * `load_factor_fee_escalation` (number): (May be omitted) The current multiplier to the transaction cost to get into the open ledger, in [fee levels](https://xrpl.org/docs/concepts/transactions/transaction-cost#fee-levels). - * `load_factor_fee_queue` (number): (May be omitted) The current multiplier to the transaction cost to get into the queue, if the queue is full, in fee levels. - * `load_factor_fee_reference` (number): (May be omitted) The transaction cost with no load scaling, in fee levels. - * `load_factor_server` (number): (May be omitted) The load factor the server is enforcing, based on load to the server, cluster, and network, but not factoring in the open ledger cost. - * `network_ledger` (string): (May be omitted) When [starting the server with the `--net` parameter](https://xrpl.org/docs/infrastructure/commandline-usage), this field contains the string `waiting` while the server is syncing to the network. The field is omitted otherwise. - * `peers` (number): How many other `rippled` servers this one is currently connected to. - * `ports` (array): A list of ports where the server is listening for API commands. Each entry in the array is a [Port Descriptor object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#port-descriptor-object). - * `pubkey_node` (string): Public key used to verify this server for peer-to-peer communications. This node key pair is automatically generated by the server the first time it starts up. (If deleted, the server can create a new pair of keys.) You can set a persistent value in the config file using the `[node_seed]` config option, which is useful for [clustering](https://xrpl.org/docs/concepts/networks-and-servers/clustering). - * `pubkey_validator` (string): (Admin only) Public key used by this node to sign ledger validations. This validation key pair is derived from the `[validator_token]` or `[validation_seed]` config field. - * `server_state` (string): A string indicating to what extent the server is participating in the network. See [Possible Server States](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) for more details. - * `server_state_duration_us` (number): The number of consecutive microseconds the server has been in the current state. - * `state_accounting` (object): A map of various [server states](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states) with information about the time the server spends in each. This can be useful for tracking the long-term health of your server's connectivity to the network. The contents of this field are formatted as [State Accounting Objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#state-accounting-object). - * `time` (string): The current time in UTC, according to the server's clock. - * `uptime` (number): Number of consecutive seconds that the server has been operational. - * `validated_ledger` (object): (May be omitted) Information about the most recent fully-validated ledger, as a [Server Ledger Object](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state#server-ledger-object). If the most recent validated ledger is not available, the response omits this field and includes `closed_ledger` instead. - * `validation_quorum` (number): Minimum number of trusted validations required to validate a ledger version. Some circumstances may cause the server to require more validations. - * `validator_list_expires` (number): (Admin only) When the current validator list expires, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time), or 0 if the server has yet to load a published validator list. - -#### Port Descriptor Object - -Each member of the `ports` array is an object with the following fields: - - * `port` (string — number): A port number where the server is listening. - * `protocol` (array of string): A list of protocols being served on this port. Valid protocols include `http` or `https` for JSON-RPC, `ws`, `ws2`, `wss`, `wss2` for WebSocket, `grpc` for gRPC, and `peer` for the [XRP Ledger Peer Protocol](https://xrpl.org/docs/concepts/networks-and-servers/peer-protocol). - -#### State Accounting Object - -Each field in the `state_accounting` object has a key that refers to a specific [server state](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/rippled-server-states), and a value that is an object with the following fields: - - * `duration_us` (string — number): The number of microseconds the server has spent in this state. (This is updated whenever the server transitions into another state.) - * `transitions` (string — number): The number of times the server has changed into this state. - -#### Server Ledger Object - -The response provides either a `validated_ledger` field or a `closed_ledger` field. Either field contains an object with the following fields: - - * `base_fee` (number): The base fee, in drops of XRP, for propagating a transaction to the network, as of this ledger version. - * `close_time` (number): The official close time of this ledger version, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). This value is rounded; see [Ledger Close Times](https://xrpl.org/docs/concepts/ledgers/ledger-close-times) for details. - * `hash` (string — [hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes)): The unique hash of this ledger version, as hexadecimal. - * `reserve_base` (number): The minimum [account reserve](https://xrpl.org/docs/concepts/accounts/reserves), as of the most recent validated ledger version. - * `reserve_inc` (number): The [owner reserve](https://xrpl.org/docs/concepts/accounts/reserves) for each item an account owns, as of the most recent validated ledger version. - * `seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger version. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "server_state", - "params": [] - }' -``` - -### Response example - -```json -{ - "result": { - "state": { - "build_version": "2.6.2", - "complete_ledgers": "100145467-100651296", - "initial_sync_duration_us": "397921122", - "io_latency_ms": 1, - "jq_trans_overflow": "0", - "last_close": { - "converge_time": 3001, - "proposers": 35 - }, - "load_base": 256, - "load_factor": 256, - "load_factor_fee_escalation": 256, - "load_factor_fee_queue": 256, - "load_factor_fee_reference": 256, - "load_factor_server": 256, - "peer_disconnects": "15089", - "peer_disconnects_resources": "7", - "peers": 24, - "ports": [ - { - "port": "51235", - "protocol": [ - "peer" - ] - }, - { - "port": "51234", - "protocol": [ - "http" - ] - }, - { - "port": "51233", - "protocol": [ - "ws" - ] - }, - { - "port": "50051", - "protocol": [ - "grpc" - ] - } - ], - "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", - "server_state": "full", - "server_state_duration_us": "101916702241", - "state_accounting": { - "connected": { - "duration_us": "391641811", - "transitions": "2" - }, - "disconnected": { - "duration_us": "2071962", - "transitions": "2" - }, - "full": { - "duration_us": "101916702241", - "transitions": "1" - }, - "syncing": { - "duration_us": "4207345", - "transitions": "1" - }, - "tracking": { - "duration_us": "1", - "transitions": "1" - } - }, - "time": "2025-Dec-04 15:35:55.844094 UTC", - "uptime": 102314, - "validated_ledger": { - "base_fee": 10, - "close_time": 818177751, - "hash": "883E90590C94615CA601D2B9C577FE9AD382ADD5065550EA8021B8088AFD4581", - "reserve_base": 1000000, - "reserve_inc": 200000, - "seq": 100651296 - }, - "validation_quorum": 28 - }, - "status": "success" - } -} -``` - ---- - -## `version` - -> Retrieves API version information. - -The `version` command retrieves the API version information for the rippled server. For `Clio` servers, see `version` (`clio`) instead. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing a version object as its only field. - -The `version` object returns some arrangement of the following fields: - - * `first` (string): Lowest supported API release. - * `last` (string): Highest supported API release. - * `good` (string): Default API if none specified. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "version", - "params": [] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "status": "success", - "version": { - "first": "1.0.0", - "good": "1.0.0", - "last": "1.0.0" - } - } -} -``` - ---- - -**Clio Methods**: - -These API methods are provided only by the Clio server, not `rippled`. - -## `server_info` - -> Retrieves status of the Clio server in human-readable format. - -The `server_info` command asks the [Clio server](https://xrpl.org/docs/concepts/networks-and-servers/the-clio-server) for a human-readable version of various information about the Clio server being queried. For `rippled` servers, see `server_info` (`rippled`) instead. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an `info` object as its only field. - -The `info` object may have some arrangement of the following fields: - - * `complete_ledgers` (string): Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. This may be a disjoint sequence such as `24900901-24900984,24901116-24901158`. If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. - * `counters` (object; optional): Stats on API calls handled since server startup. This is present only if the client connects to the Clio server over `localhost`. - * `rpc` (object; optional): Stats on each API call handled by the Clio server since startup. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. The rpc object is a map of API method names to API Stats Objects. - * `subscriptions` (object; optional): Number of current subscribers for each stream type. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. - * `subscriptions.ledger` - * `subscriptions.transactions` - * `subscriptions.transactions_proposed` - * `subscriptions.manifests` - * `subscriptions.validations` - * `subscriptions.account` - * `subscriptions.accounts_proposed` - * `subscriptions.books` - * `time` (string): The current time in UTC, according to the server's clock. - * `uptime` (number): Number of consecutive seconds that the server has been operational. - * `amendment_blocked` (boolean; optional): Whether the Clio server is Amendment Blocked. - * `load_factor` (number): The load-scaled open ledger transaction cost the server is currently enforcing, as a multiplier on the base transaction cost. For example, at `1000` load factor and a reference transaction cost of 10 drops of XRP, the load-scaled transaction cost is 10,000 drops (0.01 XRP). The load factor is determined by the highest of the [individual server's load factor](https://xrpl.org/docs/concepts/transactions/transaction-cost#local-load-cost), the cluster's load factor, the [open ledger cost](https://xrpl.org/docs/concepts/transactions/transaction-cost#open-ledger-cost), and the overall network's load factor. - * `clio_version` (string): The version number of the running Clio server. - * `libxrpl_version` (string): The version number of the `libxrpl` library this Clio server was built against. - * `validation_quorum` (number; optional): Minimum number of trusted validations required to validate a ledger version. Some circumstances may cause the server to require more validations. This value is obtained from `rippled`. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. - * `rippled_version` (string; optional): The version number of the running `rippled` server that the Clio server is connected to. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. - * `network_id` (string; optional): The network ID of the network that the `rippled` this Clio server is connected to is operating on. This field may be omitted from the response if the Clio server is unable to connect to `rippled` for some reason. - * `validated_ledger` (object; optional): Information about the most recent fully-validated ledger. If the most recent validated ledger is not available, the response omits this field and includes `closed_ledger` instead. - * `validated_ledger.age` (number): The time since the ledger was closed, in seconds. - * `validated_ledger.base_fee_xrp` (number): Base fee, in XRP. This may be represented in scientific notation such as `1e-05` for `0.00001`. - * `validated_ledger.hash` (string): Unique hash for the ledger, as hexadecimal. - * `validated_ledger.reserve_base_xrp` (number): Minimum amount of XRP (not drops) necessary for every account to keep in reserve. This may be represented in scientific notation such as `1e-05` for `0.00001`. - * `validated_ledger.reserve_inc_xrp` (number): Amount of XRP (not drops) added to the account reserve for each object an account owns in the ledger. This may be represented in scientific notation such as `1e-05` for `0.00001`. - * `validated_ledger.seq` (number): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the latest validated ledger. - * `validator_list_expires` (string): (Admin only) Either the human-readable time, in UTC, when the current validator list expires, the string `unknown` if the server has yet to load a published validator list or the string `never` if the server uses a static validator list. - * `cache` (object): Information on Clio's state data cache. - * `cache.size` (number): Number of state data objects currently in the cache. - * `cache.is_full` (boolean): True if cache contains all state data for a specific ledger, false otherwise. Some API calls, such as the book_offers method, process much faster when the cache is full. - * `cache.latest_ledger_seq` (number): The ledger index of the latest validated ledger stored in the cache. - * `etl` (object): The `rippled` sources (ETL sources) that the Clio server is connected to. This is present only if the client connects to the Clio server over `localhost`. - * `etl.etl_sources` (array): List the `rippled` sources (ETL sources) that the Clio server is connected to and extracts data from. - * `etl.etl_sources.validated_range` (string): The validated ledger range retrieved by the P2P `rippled` server. - * `etl.etl_sources.is_connected` (boolean): True if Clio is connected to this source via websocket, false otherwise. A value of false here could indicate a networking issue, or that `rippled` is not running, amongst other things. - * `etl.etl_sources.ip` (number): IP of the `rippled` server. - * `etl.etl_sources.ws_port` (number): Websocket port of the `rippled` server. - * `etl.etl_sources.grpc_port` (number): The gRPC connection port of the P2P `rippled` server that the Clio server is connected to. - * `etl.etl_sources.last_msg_age_seconds` (number): Total seconds that have elapsed since Clio last heard anything from `rippled`. This should not be higher than 8. - * `etl.is_writer` (boolean): `true` if this Clio server is currently writing data to the database, `false` otherwise. - * `etl.read_only` (boolean): `true` if this Clio server is configured in read-only mode, `false` otherwise. - * `etl.last_publish_age_seconds` (number): Time in seconds that have elapsed since this Clio server last published a ledger. This should not be more than 8. - * `validated` (boolean): When `true`, this indicates that the response uses a ledger version that has been validated by consensus. In Clio, this is always true as Clio stores and returns validated ledger data. If a request was forwarded to `rippled` and the server returns current data, a missing or `false` value indicates that this ledger's data is not final. - * `status` (string): Returns the status of the API request: `success` when the request completes successfully. - -#### API Stats Objects - -An API Stats object provides key metrics for every API call handled by the Clio server since startup. It includes the following fields: - - * `started` (number): Number of API calls of this type that the Clio server has started processing since startup. - * `finished` (number): Number of API calls of this type that the Clio server has finished processing since startup. - * `errored` (number): Number of API calls of this type that have resulted in some sort of error since startup. - * `forwarded` (number): Number of API calls of this type that the Clio server has forwarded to a `rippled` P2P server since startup. - * `duration_us` (number): The total number of microseconds spent processing API calls of this type since startup. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "server_info", - "params": [] - }' -``` - -### Response example - -```json -{ - "result": { - "info": { - "build_version": "2.6.2", - "complete_ledgers": "100146025-100669999", - "hostid": "SAD", - "initial_sync_duration_us": "292599227", - "io_latency_ms": 1, - "jq_trans_overflow": "0", - "last_close": { - "converge_time_s": 3, - "proposers": 35 - }, - "load_factor": 1, - "peer_disconnects": "25682", - "peer_disconnects_resources": "10", - "peers": 50, - "ports": [ - { - "port": "51235", - "protocol": [ - "peer" - ] - }, - { - "port": "51234", - "protocol": [ - "http" - ] - }, - { - "port": "51233", - "protocol": [ - "ws" - ] - }, - { - "port": "50051", - "protocol": [ - "grpc" - ] - } - ], - "pubkey_node": "n94B86FddoyYsndK6N8gZwcD5xoMonptkHxmWnNqc22naS5V1pF8", - "server_state": "full", - "server_state_duration_us": "174432150738", - "state_accounting": { - "connected": { - "duration_us": "283465932", - "transitions": "2" - }, - "disconnected": { - "duration_us": "1040136", - "transitions": "2" - }, - "full": { - "duration_us": "174432150738", - "transitions": "1" - }, - "syncing": { - "duration_us": "8093158", - "transitions": "1" - }, - "tracking": { - "duration_us": "0", - "transitions": "1" - } - }, - "time": "2025-Dec-05 11:47:07.485428 UTC", - "uptime": 174724, - "validated_ledger": { - "age": 4, - "base_fee_xrp": 1e-05, - "hash": "88DD7DD8994E83A178D341FB9621610CD56B4576384FCA3A962A675E9C1A4003", - "reserve_base_xrp": 1, - "reserve_inc_xrp": 0.2, - "seq": 100669999 - }, - "validation_quorum": 28 - }, - "status": "success" - } -} -``` - ---- - -## `ledger` - -> Retrieves info on the ledger version. - -The `ledger` command retrieves information about the public [ledger](https://xrpl.org/docs/concepts/ledgers). - -Note that the Clio server returns validated ledger data by default. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `ledger_hash` ([hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes); optional): The unique hash of the ledger version to use. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)). - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers)) - * `transactions` (boolean; optional): If `true`, return information on transactions in the specified ledger version. Defaults to `false`. Ignored if you did not specify a ledger version. - * `expand` (boolean; optional): Provide full JSON-formatted information for transaction/account information instead of only hashes. Defaults to `false`. Ignored unless you request transactions. - * `owner_funds` (boolean; optional): If `true`, include `owner_funds` field in the metadata of OfferCreate transactions in the response. Defaults to `false`. Ignored unless transactions are included and expand is `true`. - * `binary` (boolean; optional): If `true`, and `transactions` and `expand` are both also `true`, return transaction information in binary format (hexadecimal string) instead of JSON format. - * `diff` (boolean; optional): If `true`, returns all objects that were added, modified, or deleted as part of applying transactions in the specified ledger. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing information about the ledger, including the following fields: - - * `ledger` (object): The complete header data of this ledger. - * `ledger.account_hash` (string): Hash of all account state information in this ledger, as hex. - * `ledger.accountState` (array; optional): All the [account-state information](https://xrpl.org/docs/references/protocol/ledger-data) in this ledger. - * `ledger.close_flags` (integer): A bit-map of [flags relating to the closing of this ledger](https://xrpl.org/docs/references/protocol/ledger-data/ledger-header#close-flags). - * `ledger.close_time` (integer): The time this ledger was closed, in [seconds since the Ripple Epoch](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-time). - * `ledger.close_time_human` (string): The time this ledger was closed, in human-readable format. Always uses the UTC time zone. - * `ledger.close_time_resolution` (integer): Ledger close times are rounded to within this many seconds. - * `ledger.closed` (boolean): Whether this ledger has been closed or not. - * `ledger.ledger_hash` (string): Unique identifying hash of the entire ledger. - * `ledger.ledger_index` (string): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger, as a quoted integer. - * `ledger.parent_close_time` (integer): The time at which the previous ledger was closed. - * `ledger.parent_hash` (string): Unique identifying hash of the ledger that came immediately before this one. - * `ledger.total_coins` (string): Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.) - * `ledger.transaction_hash` (string): Hash of the transaction information included in this ledger, as hex. - * `ledger.transactions` (array; optional): Transactions applied in this ledger version. By default, members are the transactions' identifying [Hash](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#hashes) strings. If the request specified `expand` as `true`, members are full representations of the transactions instead, in either JSON or binary depending on whether the request specified `binary` as `true`. - * `ledger_hash` (string): Unique identifying hash of the entire ledger. - * `ledger_index` (number): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of this ledger. - * `validated` (boolean; optional): If `true`, this is a validated ledger version. If omitted or set to `false`, this ledger's data is not final. - * `diff` (object; optional): Object containing an array of hashes that were added, modified, or deleted as part of applying transactions for the ledger. - -If the request specified `"owner_funds": true` and expanded transactions, the response has a field `owner_funds` in the `metaData` object of each [OfferCreate transaction](https://xrpl.org/docs/references/protocol/transactions/types/offercreate). The purpose of this field is to make it easier to track the [funding status of offers](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/offers#lifecycle-of-an-offer) with each new validated ledger. - - * `owner_funds` (string): Numeric amount of the `TakerGets` currency that the `Account` sending this OfferCreate transaction has after the execution of all transactions in this ledger. This does not check whether the currency amount is [frozen](https://xrpl.org/docs/concepts/tokens/fungible-tokens/freezes). - -If the request specified `"diff": true`, the response has an object `diff`. The fields of this object are as follows: - - * `object_id` (string): The object identifier. - * `Hashes` (object or string): Depending on whether the request set `binary` to `true` or `false`, this field returns the contents of the object that was created, the new value of an object that was modified, or an empty string if the object was deleted. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ledger", - "params": [ - { - "ledger_index": "validated", - "transactions": false, - "expand": false, - "owner_funds": false, - "diff": false - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "ledger": { - "account_hash": "F16BD4873733F45AA69A22E16669701FA6382BE5465EDA7B9B77AFCFBE9BB335", - "close_flags": 0, - "close_time": 818251651, - "close_time_human": "2025-Dec-05 12:07:31.000000000 UTC", - "close_time_iso": "2025-12-05T12:07:31Z", - "close_time_resolution": 10, - "closed": true, - "ledger_hash": "57FAE517644B0E528D331D105D5E06071742CD7E35BE77C4F775E6FA98B38A83", - "ledger_index": "100670317", - "parent_close_time": 818251650, - "parent_hash": "ECEB12B2CC088D735BA64F05DF424833B9CD1821FDFE72C8608FA0895BF8DA87", - "total_coins": "99985745812732275", - "transaction_hash": "B3440C9462D83D4CD22208538DA257974A99AC132EBE976CE7B581C36F8B8825" - }, - "ledger_hash": "57FAE517644B0E528D331D105D5E06071742CD7E35BE77C4F775E6FA98B38A83", - "ledger_index": 100670317, - "status": "success", - "validated": true - } -} -``` - ---- - -## `mpt_holders` - -> Retrieves the holders of a given MPT issuance for a given ledger. - -For a given `MPTokenIssuanceID` and ledger sequence, `mpt_holders` returns all holders of that [MPT](https://xrpl.org/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens) and their balance. This method likely returns very large data sets, so you should expect to implement paging via the `marker` field. This API is only available using Clio, not `rippled`. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): - - * `mpt_issuance_id` (string; required): The `MPTokenIssuance` to query. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index); optional): The [Ledger Index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index) of the max ledger to use, or a shortcut string to choose a ledger automatically. You must specify either `ledger_index` or `ledger_hash`. See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers). - * `ledger_hash` (string; optional): A 32-byte hex string for the ledger version to use. You must specify either `ledger_index` or `ledger_hash`. See [Specifying Ledgers](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-ledgers). - * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Used to continue your query where it left off in paginating. - * `limit` (number — positive integer; optional): Specify a limit to the number of MPTs returned. - -### Returns - - * `mpt_issuance_id` (string): The `MPTokenIssuance` queried. - * `mptokens` (array): An array of [MPTokens](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders#mptoken). Includes all relevant fields in the underlying `MPToken` object. - * `marker` ([marker](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/markers-and-pagination); optional): Used to continue querying where we left off when paginating. Omitted if there are no more entries after this result. - * `limit` (number): The limit, as specified in the request. - * `ledger_index` ([ledger index](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#ledger-index)): The index of the ledger used. - * `validated` (boolean): If `true`, the ledger has been validated by the consensus process and is immutable. Otherwise, the contents of the ledger are not final and may change. In Clio, this is always true as Clio stores and returns validated ledger data. - -#### MPToken - -An `MPToken` object has the following parameters: - - * `account` (string): The account address of the holder who owns the `MPToken`. - * `flags` (number): The flags assigned to the `MPToken` object. - * `mpt_amount` ([string — number](https://xrpl.org/docs/references/protocol/data-types/currency-formats#string-numbers)): Specifies a positive amount of tokens currently held by the owner. - * `mptoken_index` (string): Key of the `MPToken` object. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "mpt_holders", - "params": [ - { - "mpt_issuance_id": "0024D204E07DDDFBCD83B1649C07FE27FD536A3A32E6FDD8", - "ledger_index": "validated" - } - ] - }' -``` - -### Response example - -```json -{ - "result": { - "mpt_issuance_id": "0024D204E07DDDFBCD83B1649C07FE27FD536A3A32E6FDD8", - "limit": 50, - "ledger_index": 2415033, - "mptokens": [ - { - "account": "rfyWeQpYM3vCXRHA9cMLs2ZEdZv1F1jzm9", - "flags": 0, - "mpt_amount": "200", - "mptoken_index": "22F99DCD55BCCF3D68DC3E4D6CF12602006A7563A6BE93FC57FD63298BCCEB13" - } - ], - "validated": true, - "status": "success" - }, - "warnings": [ - { - "id": 2001, - "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request" - } - ] -} -``` - ---- - -## `version` - -> Retrieves API version information. - -The `version` command retrieves the API version information of the [Clio server](https://xrpl.org/docs/concepts/networks-and-servers/the-clio-server). For `rippled` servers, see `version` (`rippled`) instead. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing an info object as its only field. - -The `version` object returns some arrangement of the following fields: - - * `first` (integer): Lowest supported API release. - * `last` (integer): Highest supported API release. - * `good` (integer): Default API if none specified. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "version", - "params": [] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "status": "success", - "version": { - "first": "1.0.0", - "good": "1.0.0", - "last": "1.0.0" - } - } -} -``` - ---- - -**Utility Methods**: - -Use these methods to perform convenient tasks, such as ping and random number generation. - -## `ping` - -> Confirms connectivity with the server. - -The `ping` command returns an acknowledgement, so that clients can test the connection status and latency. - - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing no fields. The client can measure the round-trip time from request to response as latency. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "ping", - "params": [] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "status": "success" - } -} -``` - ---- - -## `random` - -> Generates a random number. - -The `random` command provides a random number to be used as a source of entropy for random number generation by clients. - -### Parameters - - * `id` (integer; required): a request ID (example: 1). - * `jsonrpc` (string; required): a JSON-RPC spec used (example: 2.0). - * `method` (string; required): a method used for the request. - * `params` (array; required): none. - -### Returns - -The response follows the [standard format](https://xrpl.org/docs/references/http-websocket-apis/api-conventions/response-formatting), with a successful result containing the following field: - - * `random` (string): Random 256-bit hex value. - -### Request example - -```shell -curl 'https://rpc.ankr.com/xrp_mainnet/{your_token}' \ --d '{ - "jsonrpc": "2.0", - "id": 1, - "method": "random", - "params": [] - }' -``` - -### Response example - -```json -{ - "id": 1, - "jsonrpc": "2.0", - "result": { - "random": "3060417EAEBDB220E2CBED2B4BCBAEDD805D8A1A8D7C405A868F11ABB7249B2A", - "status": "success" - } -} -``` From 6f0a2afe4a565526ed19d1d8f769a9c41f8b3e86 Mon Sep 17 00:00:00 2001 From: Dmitriy Lisyanskiy Date: Wed, 17 Dec 2025 15:33:10 +0530 Subject: [PATCH 12/13] fix: MRPC-7111 revert next-env.d.ts --- next-env.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next-env.d.ts b/next-env.d.ts index 9edff1c7c..c4b7818fb 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/types/routes.d.ts"; +import "./.next/dev/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. From 425a0d29caf76af093cdfba71cc007394ab1c8c7 Mon Sep 17 00:00:00 2001 From: Dmitriy Lisyanskiy Date: Wed, 17 Dec 2025 20:38:06 +0530 Subject: [PATCH 13/13] fix: MRPC-7111 dark theme, default icon --- content/advanced-api/overview.mdx | 2 +- content/advanced-api/quickstart/overview.mdx | 10 +++++----- content/gaming-overview.mdx | 2 +- content/index.mdx | 14 +++++++------- src/icons/default.svg | 2 +- src/styles/global.css | 2 ++ 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/content/advanced-api/overview.mdx b/content/advanced-api/overview.mdx index 324eacb12..99c168419 100644 --- a/content/advanced-api/overview.mdx +++ b/content/advanced-api/overview.mdx @@ -122,7 +122,7 @@ The price of our API Credits is pegged to USD. It means that upon using ANKR tok ## Support and Developer Community -

    +
    [Start Building with Advanced API](/advanced-api/quickstart/overview/)
    diff --git a/content/advanced-api/quickstart/overview.mdx b/content/advanced-api/quickstart/overview.mdx index 585f7f6a6..4ba715b3a 100644 --- a/content/advanced-api/quickstart/overview.mdx +++ b/content/advanced-api/quickstart/overview.mdx @@ -5,28 +5,28 @@ Kickstart your dApp with Advanced APIs to go from idea to building and shipping ## Code Snippets Learn how to query data from blockchain instantly: -
    +
    [How to fetch all NFTs owned by a particular wallet address using Ankr.js SDK](/advanced-api/quickstart/fetch-nfts-ankrjs/)
    -
    +
    [How to check your account balance across multiple blockchains using Ankr.js SDK](/advanced-api/quickstart/account-balance-ankrjs/)
    ## Quickstart Guides Learn how to query data from blockchain, build prototypes, dApps, projects and more: -
    +
    [Query Advanced APIs on NodeJS server using Ankr.js SDK](/advanced-api/quickstart/aapi-on-nodejs/)
    -
    +
    [Ankr.js quickstart guide with React](/advanced-api/quickstart/aapi-react-app/)
    ## Tutorials Learn how to build fullstack projects and dApps with Advanced APIs: -
    +
    [Build basic DeFi-dashboard dApp with Vite.js, Ankr.js, and Tailwind CSS](/advanced-api/quickstart/defi-dashboard-ankrjs/)
    diff --git a/content/gaming-overview.mdx b/content/gaming-overview.mdx index 0fc882946..d8e8d289b 100644 --- a/content/gaming-overview.mdx +++ b/content/gaming-overview.mdx @@ -5,6 +5,6 @@ Use SDKs to integrate with the platform and enable your game with the Web3 capab -
    +
    [Learn more about Mirage](https://mirage.xyz/docs/)
    diff --git a/content/index.mdx b/content/index.mdx index 2e6932e5d..cea415e86 100644 --- a/content/index.mdx +++ b/content/index.mdx @@ -18,7 +18,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Interact with 80+ [supported blockchains](/rpc-service/chains/chains-list/). * Test out and get important stats. * Suitable for Web3 developers and enthusiasts of all skill levels. -
    +
    [Empower your projects with blockchain interaction](/rpc-service/overview/)
    @@ -31,7 +31,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Interact with 19 mainnet and 7 testnet chains supported. * Use Ankr JavaScript/Python SDKs and React Hooks. * Tailored to support most popular Web3 scenarios. -
    +
    [Query multiple chains for most popular Web3 scenarios](advanced-api/overview)
    @@ -44,7 +44,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Choose time-based or event based automation. * Rely on robust Ankr infrastructure for your automation tasks. * Easily manage automation tasks from a single dashboard. -
    +
    [Automate calls to contracts](automation/overview)
    @@ -58,7 +58,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Deploy a fast and secure network. * Choose additional components from Developer Marketplace. -
    +
    [Bring your project to Web3](/scaling-services-overview/)
    @@ -72,7 +72,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Connect staking rewards to DeFi to trade/farm for even higher APY. * Integrate Ankr Staking into your projects. -
    +
    [Stake, earn, and integrate](staking-overview)
    @@ -86,7 +86,7 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Integrate Web3 wallets easily. * Compatible with Unity and Unreal Engine. -
    +
    [Take your game to Web3](https://mirage.xyz/docs/)
    @@ -100,6 +100,6 @@ From [public RPC endpoints](https://www.ankr.com/rpc/) that developers have come * Explore code guides, tools, tutorials, and resources you need to write and deploy smart contracts. * Find end-to-end tutorials to build and ship full-fledged decentralized applications. -
    +
    [Learn and practice Web3](basic-tutorials/dapp-on-ethereum-using-nocode)
    diff --git a/src/icons/default.svg b/src/icons/default.svg index 36279eeeb..b47e26aa4 100644 --- a/src/icons/default.svg +++ b/src/icons/default.svg @@ -1,5 +1,5 @@ - diff --git a/src/styles/global.css b/src/styles/global.css index 0d4d95050..51acf7dc8 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,5 +1,7 @@ @import 'tailwindcss'; +@variant dark (&:where(.dark *)); + body { font-feature-settings: 'rlig' 1, 'calt' 1; }