@oobe-protocol-labs/synapse-client-sdk 1.0.0-beta → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -0
- package/README.md +428 -1242
- package/dist/cjs/ai/gateway/index.d.ts +380 -0
- package/dist/cjs/ai/gateway/index.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/index.js +800 -0
- package/dist/cjs/ai/gateway/index.js.map +1 -0
- package/dist/cjs/ai/gateway/marketplace.d.ts +202 -0
- package/dist/cjs/ai/gateway/marketplace.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/marketplace.js +352 -0
- package/dist/cjs/ai/gateway/marketplace.js.map +1 -0
- package/dist/cjs/ai/gateway/pricing.d.ts +149 -0
- package/dist/cjs/ai/gateway/pricing.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/pricing.js +256 -0
- package/dist/cjs/ai/gateway/pricing.js.map +1 -0
- package/dist/cjs/ai/gateway/session.d.ts +191 -0
- package/dist/cjs/ai/gateway/session.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/session.js +352 -0
- package/dist/cjs/ai/gateway/session.js.map +1 -0
- package/dist/cjs/ai/gateway/types.d.ts +324 -0
- package/dist/cjs/ai/gateway/types.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/types.js +22 -0
- package/dist/cjs/ai/gateway/types.js.map +1 -0
- package/dist/cjs/ai/gateway/validator.d.ts +128 -0
- package/dist/cjs/ai/gateway/validator.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/validator.js +208 -0
- package/dist/cjs/ai/gateway/validator.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/client.d.ts +274 -0
- package/dist/cjs/ai/gateway/x402/client.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/client.js +470 -0
- package/dist/cjs/ai/gateway/x402/client.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/facilitator.d.ts +169 -0
- package/dist/cjs/ai/gateway/x402/facilitator.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/facilitator.js +292 -0
- package/dist/cjs/ai/gateway/x402/facilitator.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/index.d.ts +81 -0
- package/dist/cjs/ai/gateway/x402/index.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/index.js +137 -0
- package/dist/cjs/ai/gateway/x402/index.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/paywall.d.ts +148 -0
- package/dist/cjs/ai/gateway/x402/paywall.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/paywall.js +269 -0
- package/dist/cjs/ai/gateway/x402/paywall.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/registry.d.ts +86 -0
- package/dist/cjs/ai/gateway/x402/registry.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/registry.js +294 -0
- package/dist/cjs/ai/gateway/x402/registry.js.map +1 -0
- package/dist/cjs/ai/gateway/x402/types.d.ts +407 -0
- package/dist/cjs/ai/gateway/x402/types.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/x402/types.js +143 -0
- package/dist/cjs/ai/gateway/x402/types.js.map +1 -0
- package/dist/cjs/ai/index.d.ts +15 -11
- package/dist/cjs/ai/index.d.ts.map +1 -1
- package/dist/cjs/ai/index.js +70 -14
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/tools/index.d.ts +83 -0
- package/dist/cjs/ai/tools/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/index.js +378 -0
- package/dist/cjs/ai/tools/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/index.d.ts +87 -0
- package/dist/cjs/ai/tools/protocols/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/index.js +108 -0
- package/dist/cjs/ai/tools/protocols/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/index.d.ts +8 -0
- package/dist/cjs/ai/tools/protocols/jupiter/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/index.js +15 -0
- package/dist/cjs/ai/tools/protocols/jupiter/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts +11 -0
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.js +386 -0
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts +55 -0
- package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/jupiter/tools.js +86 -0
- package/dist/cjs/ai/tools/protocols/jupiter/tools.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/index.d.ts +8 -0
- package/dist/cjs/ai/tools/protocols/metaplex/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/index.js +14 -0
- package/dist/cjs/ai/tools/protocols/metaplex/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/schemas.d.ts +11 -0
- package/dist/cjs/ai/tools/protocols/metaplex/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/schemas.js +247 -0
- package/dist/cjs/ai/tools/protocols/metaplex/schemas.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts +45 -0
- package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/metaplex/tools.js +163 -0
- package/dist/cjs/ai/tools/protocols/metaplex/tools.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/index.d.ts +8 -0
- package/dist/cjs/ai/tools/protocols/raydium/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/index.js +15 -0
- package/dist/cjs/ai/tools/protocols/raydium/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/schemas.d.ts +11 -0
- package/dist/cjs/ai/tools/protocols/raydium/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/schemas.js +202 -0
- package/dist/cjs/ai/tools/protocols/raydium/schemas.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/tools.d.ts +50 -0
- package/dist/cjs/ai/tools/protocols/raydium/tools.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/raydium/tools.js +84 -0
- package/dist/cjs/ai/tools/protocols/raydium/tools.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/shared.d.ts +143 -0
- package/dist/cjs/ai/tools/protocols/shared.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/shared.js +183 -0
- package/dist/cjs/ai/tools/protocols/shared.js.map +1 -0
- package/dist/cjs/ai/tools/zod/index.d.ts +35 -0
- package/dist/cjs/ai/tools/zod/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/zod/index.js +57 -0
- package/dist/cjs/ai/tools/zod/index.js.map +1 -0
- package/dist/cjs/ai/tools/zod/types.d.ts +25 -0
- package/dist/cjs/ai/tools/zod/types.d.ts.map +1 -0
- package/dist/cjs/ai/tools/zod/types.js +260 -0
- package/dist/cjs/ai/tools/zod/types.js.map +1 -0
- package/dist/cjs/core/client.d.ts +186 -0
- package/dist/cjs/core/client.d.ts.map +1 -0
- package/dist/cjs/core/client.js +250 -0
- package/dist/cjs/core/client.js.map +1 -0
- package/dist/cjs/core/errors.d.ts +81 -0
- package/dist/cjs/core/errors.d.ts.map +1 -0
- package/dist/cjs/core/errors.js +109 -0
- package/dist/cjs/core/errors.js.map +1 -0
- package/dist/cjs/core/transport.d.ts +106 -0
- package/dist/cjs/core/transport.d.ts.map +1 -0
- package/dist/cjs/core/transport.js +181 -0
- package/dist/cjs/core/transport.js.map +1 -0
- package/dist/cjs/core/types.d.ts +490 -0
- package/dist/cjs/core/types.d.ts.map +1 -0
- package/dist/cjs/core/types.js +77 -0
- package/dist/cjs/core/types.js.map +1 -0
- package/dist/cjs/das/client.d.ts +122 -0
- package/dist/cjs/das/client.d.ts.map +1 -0
- package/dist/cjs/das/client.js +173 -0
- package/dist/cjs/das/client.js.map +1 -0
- package/dist/cjs/das/index.d.ts +10 -0
- package/dist/cjs/das/index.d.ts.map +1 -0
- package/dist/cjs/das/index.js +26 -0
- package/dist/cjs/das/index.js.map +1 -0
- package/dist/cjs/das/methods/get-asset-batch.d.ts +26 -0
- package/dist/cjs/das/methods/get-asset-batch.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-asset-batch.js +24 -0
- package/dist/cjs/das/methods/get-asset-batch.js.map +1 -0
- package/dist/cjs/das/methods/get-asset-proof-batch.d.ts +26 -0
- package/dist/cjs/das/methods/get-asset-proof-batch.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-asset-proof-batch.js +24 -0
- package/dist/cjs/das/methods/get-asset-proof-batch.js.map +1 -0
- package/dist/cjs/das/methods/get-asset-proof.d.ts +26 -0
- package/dist/cjs/das/methods/get-asset-proof.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-asset-proof.js +24 -0
- package/dist/cjs/das/methods/get-asset-proof.js.map +1 -0
- package/dist/cjs/das/methods/get-asset.d.ts +26 -0
- package/dist/cjs/das/methods/get-asset.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-asset.js +24 -0
- package/dist/cjs/das/methods/get-asset.js.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-authority.d.ts +45 -0
- package/dist/cjs/das/methods/get-assets-by-authority.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-authority.js +27 -0
- package/dist/cjs/das/methods/get-assets-by-authority.js.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-creator.d.ts +48 -0
- package/dist/cjs/das/methods/get-assets-by-creator.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-creator.js +27 -0
- package/dist/cjs/das/methods/get-assets-by-creator.js.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-group.d.ts +48 -0
- package/dist/cjs/das/methods/get-assets-by-group.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-group.js +27 -0
- package/dist/cjs/das/methods/get-assets-by-group.js.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-owner.d.ts +52 -0
- package/dist/cjs/das/methods/get-assets-by-owner.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-assets-by-owner.js +28 -0
- package/dist/cjs/das/methods/get-assets-by-owner.js.map +1 -0
- package/dist/cjs/das/methods/get-signatures-for-asset.d.ts +61 -0
- package/dist/cjs/das/methods/get-signatures-for-asset.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-signatures-for-asset.js +27 -0
- package/dist/cjs/das/methods/get-signatures-for-asset.js.map +1 -0
- package/dist/cjs/das/methods/get-token-accounts.d.ts +58 -0
- package/dist/cjs/das/methods/get-token-accounts.d.ts.map +1 -0
- package/dist/cjs/das/methods/get-token-accounts.js +27 -0
- package/dist/cjs/das/methods/get-token-accounts.js.map +1 -0
- package/dist/cjs/das/methods/index.d.ts +17 -0
- package/dist/cjs/das/methods/index.d.ts.map +1 -0
- package/dist/cjs/das/methods/index.js +33 -0
- package/dist/cjs/das/methods/index.js.map +1 -0
- package/dist/cjs/das/methods/search-assets.d.ts +29 -0
- package/dist/cjs/das/methods/search-assets.d.ts.map +1 -0
- package/dist/cjs/das/methods/search-assets.js +28 -0
- package/dist/cjs/das/methods/search-assets.js.map +1 -0
- package/dist/cjs/das/types.d.ts +257 -0
- package/dist/cjs/das/types.d.ts.map +1 -0
- package/dist/cjs/das/types.js +3 -0
- package/dist/cjs/das/types.js.map +1 -0
- package/dist/cjs/grpc/index.d.ts +10 -0
- package/dist/cjs/grpc/index.d.ts.map +1 -0
- package/dist/cjs/grpc/index.js +26 -0
- package/dist/cjs/grpc/index.js.map +1 -0
- package/dist/cjs/grpc/parser/decoder.d.ts +117 -0
- package/dist/cjs/grpc/parser/decoder.d.ts.map +1 -0
- package/dist/cjs/grpc/parser/decoder.js +605 -0
- package/dist/cjs/grpc/parser/decoder.js.map +1 -0
- package/dist/cjs/grpc/parser/geyser-parser.d.ts +184 -0
- package/dist/cjs/grpc/parser/geyser-parser.d.ts.map +1 -0
- package/dist/cjs/grpc/parser/geyser-parser.js +279 -0
- package/dist/cjs/grpc/parser/geyser-parser.js.map +1 -0
- package/dist/cjs/grpc/parser/index.d.ts +12 -0
- package/dist/cjs/grpc/parser/index.d.ts.map +1 -0
- package/dist/cjs/grpc/parser/index.js +46 -0
- package/dist/cjs/grpc/parser/index.js.map +1 -0
- package/dist/cjs/grpc/parser/programs.d.ts +69 -0
- package/dist/cjs/grpc/parser/programs.d.ts.map +1 -0
- package/dist/cjs/grpc/parser/programs.js +273 -0
- package/dist/cjs/grpc/parser/programs.js.map +1 -0
- package/dist/cjs/grpc/parser/types.d.ts +344 -0
- package/dist/cjs/grpc/parser/types.d.ts.map +1 -0
- package/dist/cjs/grpc/parser/types.js +13 -0
- package/dist/cjs/grpc/parser/types.js.map +1 -0
- package/dist/cjs/grpc/transport.d.ts +96 -0
- package/dist/cjs/grpc/transport.d.ts.map +1 -0
- package/dist/cjs/grpc/transport.js +164 -0
- package/dist/cjs/grpc/transport.js.map +1 -0
- package/dist/cjs/grpc/types.d.ts +51 -0
- package/dist/cjs/grpc/types.d.ts.map +1 -0
- package/dist/cjs/grpc/types.js +9 -0
- package/dist/cjs/grpc/types.js.map +1 -0
- package/dist/cjs/index.d.ts +42 -27
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +54 -51
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/kit/index.d.ts +94 -0
- package/dist/cjs/kit/index.d.ts.map +1 -0
- package/dist/cjs/kit/index.js +196 -0
- package/dist/cjs/kit/index.js.map +1 -0
- package/dist/cjs/rpc/index.d.ts +9 -0
- package/dist/cjs/rpc/index.d.ts.map +1 -0
- package/dist/cjs/rpc/index.js +25 -0
- package/dist/cjs/rpc/index.js.map +1 -0
- package/dist/cjs/rpc/methods/get-account-info.d.ts +37 -0
- package/dist/cjs/rpc/methods/get-account-info.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-account-info.js +34 -0
- package/dist/cjs/rpc/methods/get-account-info.js.map +1 -0
- package/dist/cjs/rpc/methods/get-balance.d.ts +28 -0
- package/dist/cjs/rpc/methods/get-balance.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-balance.js +28 -0
- package/dist/cjs/rpc/methods/get-balance.js.map +1 -0
- package/dist/cjs/rpc/methods/get-block-commitment.d.ts +28 -0
- package/dist/cjs/rpc/methods/get-block-commitment.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-block-commitment.js +23 -0
- package/dist/cjs/rpc/methods/get-block-commitment.js.map +1 -0
- package/dist/cjs/rpc/methods/get-block-height.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-block-height.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-block-height.js +27 -0
- package/dist/cjs/rpc/methods/get-block-height.js.map +1 -0
- package/dist/cjs/rpc/methods/get-block-production.d.ts +37 -0
- package/dist/cjs/rpc/methods/get-block-production.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-block-production.js +30 -0
- package/dist/cjs/rpc/methods/get-block-production.js.map +1 -0
- package/dist/cjs/rpc/methods/get-block-time.d.ts +25 -0
- package/dist/cjs/rpc/methods/get-block-time.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-block-time.js +23 -0
- package/dist/cjs/rpc/methods/get-block-time.js.map +1 -0
- package/dist/cjs/rpc/methods/get-block.d.ts +68 -0
- package/dist/cjs/rpc/methods/get-block.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-block.js +35 -0
- package/dist/cjs/rpc/methods/get-block.js.map +1 -0
- package/dist/cjs/rpc/methods/get-blocks-with-limit.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-blocks-with-limit.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-blocks-with-limit.js +25 -0
- package/dist/cjs/rpc/methods/get-blocks-with-limit.js.map +1 -0
- package/dist/cjs/rpc/methods/get-blocks.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-blocks.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-blocks.js +28 -0
- package/dist/cjs/rpc/methods/get-blocks.js.map +1 -0
- package/dist/cjs/rpc/methods/get-cluster-nodes.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-cluster-nodes.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-cluster-nodes.js +22 -0
- package/dist/cjs/rpc/methods/get-cluster-nodes.js.map +1 -0
- package/dist/cjs/rpc/methods/get-epoch-info.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-epoch-info.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-epoch-info.js +27 -0
- package/dist/cjs/rpc/methods/get-epoch-info.js.map +1 -0
- package/dist/cjs/rpc/methods/get-epoch-schedule.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-epoch-schedule.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-epoch-schedule.js +22 -0
- package/dist/cjs/rpc/methods/get-epoch-schedule.js.map +1 -0
- package/dist/cjs/rpc/methods/get-fee-for-message.d.ts +28 -0
- package/dist/cjs/rpc/methods/get-fee-for-message.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-fee-for-message.js +28 -0
- package/dist/cjs/rpc/methods/get-fee-for-message.js.map +1 -0
- package/dist/cjs/rpc/methods/get-first-available-block.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-first-available-block.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-first-available-block.js +22 -0
- package/dist/cjs/rpc/methods/get-first-available-block.js.map +1 -0
- package/dist/cjs/rpc/methods/get-genesis-hash.d.ts +23 -0
- package/dist/cjs/rpc/methods/get-genesis-hash.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-genesis-hash.js +22 -0
- package/dist/cjs/rpc/methods/get-genesis-hash.js.map +1 -0
- package/dist/cjs/rpc/methods/get-health.d.ts +23 -0
- package/dist/cjs/rpc/methods/get-health.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-health.js +22 -0
- package/dist/cjs/rpc/methods/get-health.js.map +1 -0
- package/dist/cjs/rpc/methods/get-highest-snapshot-slot.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-highest-snapshot-slot.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-highest-snapshot-slot.js +22 -0
- package/dist/cjs/rpc/methods/get-highest-snapshot-slot.js.map +1 -0
- package/dist/cjs/rpc/methods/get-identity.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-identity.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-identity.js +22 -0
- package/dist/cjs/rpc/methods/get-identity.js.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-governor.d.ts +25 -0
- package/dist/cjs/rpc/methods/get-inflation-governor.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-governor.js +24 -0
- package/dist/cjs/rpc/methods/get-inflation-governor.js.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-rate.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-inflation-rate.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-rate.js +22 -0
- package/dist/cjs/rpc/methods/get-inflation-rate.js.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-reward.d.ts +29 -0
- package/dist/cjs/rpc/methods/get-inflation-reward.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-inflation-reward.js +31 -0
- package/dist/cjs/rpc/methods/get-inflation-reward.js.map +1 -0
- package/dist/cjs/rpc/methods/get-largest-accounts.d.ts +30 -0
- package/dist/cjs/rpc/methods/get-largest-accounts.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-largest-accounts.js +28 -0
- package/dist/cjs/rpc/methods/get-largest-accounts.js.map +1 -0
- package/dist/cjs/rpc/methods/get-latest-blockhash.d.ts +36 -0
- package/dist/cjs/rpc/methods/get-latest-blockhash.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-latest-blockhash.js +27 -0
- package/dist/cjs/rpc/methods/get-latest-blockhash.js.map +1 -0
- package/dist/cjs/rpc/methods/get-leader-schedule.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-leader-schedule.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-leader-schedule.js +28 -0
- package/dist/cjs/rpc/methods/get-leader-schedule.js.map +1 -0
- package/dist/cjs/rpc/methods/get-max-retransmit-slot.d.ts +23 -0
- package/dist/cjs/rpc/methods/get-max-retransmit-slot.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-max-retransmit-slot.js +21 -0
- package/dist/cjs/rpc/methods/get-max-retransmit-slot.js.map +1 -0
- package/dist/cjs/rpc/methods/get-max-shred-insert-slot.d.ts +23 -0
- package/dist/cjs/rpc/methods/get-max-shred-insert-slot.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-max-shred-insert-slot.js +21 -0
- package/dist/cjs/rpc/methods/get-max-shred-insert-slot.js.map +1 -0
- package/dist/cjs/rpc/methods/get-minimum-balance-for-rent-exemption.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-minimum-balance-for-rent-exemption.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-minimum-balance-for-rent-exemption.js +24 -0
- package/dist/cjs/rpc/methods/get-minimum-balance-for-rent-exemption.js.map +1 -0
- package/dist/cjs/rpc/methods/get-multiple-accounts.d.ts +35 -0
- package/dist/cjs/rpc/methods/get-multiple-accounts.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-multiple-accounts.js +32 -0
- package/dist/cjs/rpc/methods/get-multiple-accounts.js.map +1 -0
- package/dist/cjs/rpc/methods/get-program-accounts.d.ts +51 -0
- package/dist/cjs/rpc/methods/get-program-accounts.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-program-accounts.js +41 -0
- package/dist/cjs/rpc/methods/get-program-accounts.js.map +1 -0
- package/dist/cjs/rpc/methods/get-recent-performance-samples.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-recent-performance-samples.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-recent-performance-samples.js +22 -0
- package/dist/cjs/rpc/methods/get-recent-performance-samples.js.map +1 -0
- package/dist/cjs/rpc/methods/get-recent-prioritization-fees.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-recent-prioritization-fees.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-recent-prioritization-fees.js +22 -0
- package/dist/cjs/rpc/methods/get-recent-prioritization-fees.js.map +1 -0
- package/dist/cjs/rpc/methods/get-signature-statuses.d.ts +32 -0
- package/dist/cjs/rpc/methods/get-signature-statuses.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-signature-statuses.js +26 -0
- package/dist/cjs/rpc/methods/get-signature-statuses.js.map +1 -0
- package/dist/cjs/rpc/methods/get-signatures-for-address.d.ts +40 -0
- package/dist/cjs/rpc/methods/get-signatures-for-address.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-signatures-for-address.js +52 -0
- package/dist/cjs/rpc/methods/get-signatures-for-address.js.map +1 -0
- package/dist/cjs/rpc/methods/get-slot-leader.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-slot-leader.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-slot-leader.js +26 -0
- package/dist/cjs/rpc/methods/get-slot-leader.js.map +1 -0
- package/dist/cjs/rpc/methods/get-slot-leaders.d.ts +25 -0
- package/dist/cjs/rpc/methods/get-slot-leaders.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-slot-leaders.js +23 -0
- package/dist/cjs/rpc/methods/get-slot-leaders.js.map +1 -0
- package/dist/cjs/rpc/methods/get-slot.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-slot.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-slot.js +26 -0
- package/dist/cjs/rpc/methods/get-slot.js.map +1 -0
- package/dist/cjs/rpc/methods/get-stake-activation.d.ts +37 -0
- package/dist/cjs/rpc/methods/get-stake-activation.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-stake-activation.js +33 -0
- package/dist/cjs/rpc/methods/get-stake-activation.js.map +1 -0
- package/dist/cjs/rpc/methods/get-stake-minimum-delegation.d.ts +24 -0
- package/dist/cjs/rpc/methods/get-stake-minimum-delegation.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-stake-minimum-delegation.js +22 -0
- package/dist/cjs/rpc/methods/get-stake-minimum-delegation.js.map +1 -0
- package/dist/cjs/rpc/methods/get-supply.d.ts +27 -0
- package/dist/cjs/rpc/methods/get-supply.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-supply.js +28 -0
- package/dist/cjs/rpc/methods/get-supply.js.map +1 -0
- package/dist/cjs/rpc/methods/get-token-account-balance.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-token-account-balance.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-token-account-balance.js +24 -0
- package/dist/cjs/rpc/methods/get-token-account-balance.js.map +1 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-delegate.d.ts +33 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-delegate.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-delegate.js +29 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-delegate.js.map +1 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-owner.d.ts +33 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-owner.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-owner.js +29 -0
- package/dist/cjs/rpc/methods/get-token-accounts-by-owner.js.map +1 -0
- package/dist/cjs/rpc/methods/get-token-largest-accounts.d.ts +31 -0
- package/dist/cjs/rpc/methods/get-token-largest-accounts.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-token-largest-accounts.js +23 -0
- package/dist/cjs/rpc/methods/get-token-largest-accounts.js.map +1 -0
- package/dist/cjs/rpc/methods/get-token-supply.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-token-supply.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-token-supply.js +24 -0
- package/dist/cjs/rpc/methods/get-token-supply.js.map +1 -0
- package/dist/cjs/rpc/methods/get-transaction-count.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-transaction-count.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-transaction-count.js +26 -0
- package/dist/cjs/rpc/methods/get-transaction-count.js.map +1 -0
- package/dist/cjs/rpc/methods/get-transaction.d.ts +36 -0
- package/dist/cjs/rpc/methods/get-transaction.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-transaction.js +32 -0
- package/dist/cjs/rpc/methods/get-transaction.js.map +1 -0
- package/dist/cjs/rpc/methods/get-version.d.ts +26 -0
- package/dist/cjs/rpc/methods/get-version.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-version.js +22 -0
- package/dist/cjs/rpc/methods/get-version.js.map +1 -0
- package/dist/cjs/rpc/methods/get-vote-accounts.d.ts +29 -0
- package/dist/cjs/rpc/methods/get-vote-accounts.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/get-vote-accounts.js +32 -0
- package/dist/cjs/rpc/methods/get-vote-accounts.js.map +1 -0
- package/dist/cjs/rpc/methods/index.d.ts +57 -0
- package/dist/cjs/rpc/methods/index.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/index.js +84 -0
- package/dist/cjs/rpc/methods/index.js.map +1 -0
- package/dist/cjs/rpc/methods/is-blockhash-valid.d.ts +27 -0
- package/dist/cjs/rpc/methods/is-blockhash-valid.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/is-blockhash-valid.js +27 -0
- package/dist/cjs/rpc/methods/is-blockhash-valid.js.map +1 -0
- package/dist/cjs/rpc/methods/minimum-ledger-slot.d.ts +23 -0
- package/dist/cjs/rpc/methods/minimum-ledger-slot.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/minimum-ledger-slot.js +21 -0
- package/dist/cjs/rpc/methods/minimum-ledger-slot.js.map +1 -0
- package/dist/cjs/rpc/methods/request-airdrop.d.ts +29 -0
- package/dist/cjs/rpc/methods/request-airdrop.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/request-airdrop.js +30 -0
- package/dist/cjs/rpc/methods/request-airdrop.js.map +1 -0
- package/dist/cjs/rpc/methods/send-transaction.d.ts +38 -0
- package/dist/cjs/rpc/methods/send-transaction.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/send-transaction.js +34 -0
- package/dist/cjs/rpc/methods/send-transaction.js.map +1 -0
- package/dist/cjs/rpc/methods/simulate-transaction.d.ts +63 -0
- package/dist/cjs/rpc/methods/simulate-transaction.d.ts.map +1 -0
- package/dist/cjs/rpc/methods/simulate-transaction.js +37 -0
- package/dist/cjs/rpc/methods/simulate-transaction.js.map +1 -0
- package/dist/cjs/rpc/solana-rpc.d.ts +190 -0
- package/dist/cjs/rpc/solana-rpc.d.ts.map +1 -0
- package/dist/cjs/rpc/solana-rpc.js +173 -0
- package/dist/cjs/rpc/solana-rpc.js.map +1 -0
- package/dist/cjs/utils/env.d.ts +49 -0
- package/dist/cjs/utils/env.d.ts.map +1 -0
- package/dist/cjs/utils/env.js +53 -0
- package/dist/cjs/utils/env.js.map +1 -0
- package/dist/cjs/utils/helpers.d.ts +92 -87
- package/dist/cjs/utils/helpers.d.ts.map +1 -1
- package/dist/cjs/utils/helpers.js +104 -235
- package/dist/cjs/utils/helpers.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +10 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +26 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/synapse.d.ts +132 -0
- package/dist/cjs/utils/synapse.d.ts.map +1 -0
- package/dist/cjs/utils/synapse.js +173 -0
- package/dist/cjs/utils/synapse.js.map +1 -0
- package/dist/cjs/websocket/client.d.ts +97 -177
- package/dist/cjs/websocket/client.d.ts.map +1 -1
- package/dist/cjs/websocket/client.js +256 -407
- package/dist/cjs/websocket/client.js.map +1 -1
- package/dist/cjs/websocket/index.d.ts +6 -3
- package/dist/cjs/websocket/index.d.ts.map +1 -1
- package/dist/cjs/websocket/index.js +21 -5
- package/dist/cjs/websocket/index.js.map +1 -1
- package/dist/cjs/websocket/types.d.ts +120 -0
- package/dist/cjs/websocket/types.d.ts.map +1 -0
- package/dist/cjs/websocket/types.js +3 -0
- package/dist/cjs/websocket/types.js.map +1 -0
- package/dist/docs/assets/highlight.css +24 -24
- package/dist/docs/assets/navigation.js +1 -1
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/classes/DasClient.html +77 -0
- package/dist/docs/classes/GeyserParser.html +89 -0
- package/dist/docs/classes/GrpcTransport.html +41 -0
- package/dist/docs/classes/HttpTransport.html +29 -0
- package/dist/docs/classes/NetworkError.html +15 -13
- package/dist/docs/classes/RpcMethodNotFoundError.html +40 -0
- package/dist/docs/classes/SolanaError.html +40 -0
- package/dist/docs/classes/SolanaRpc.html +171 -0
- package/dist/docs/classes/SynapseClient.html +66 -54
- package/dist/docs/classes/SynapseError.html +17 -9
- package/dist/docs/classes/TimeoutError.html +40 -0
- package/dist/docs/classes/UpstreamError.html +19 -11
- package/dist/docs/classes/WsClient.html +53 -0
- package/dist/docs/enums/AccountRole.html +40 -0
- package/dist/docs/enums/SynapseNetwork.html +5 -0
- package/dist/docs/enums/SynapseRegion.html +4 -0
- package/dist/docs/functions/Epoch-1.html +5 -0
- package/dist/docs/functions/Lamports-2.html +5 -0
- package/dist/docs/functions/Pubkey-1.html +5 -0
- package/dist/docs/functions/Sig.html +5 -0
- package/dist/docs/functions/Slot-1.html +5 -0
- package/dist/docs/functions/UnixTs.html +5 -0
- package/dist/docs/functions/addSignersToTransactionMessage.html +14 -0
- package/dist/docs/functions/address-1.html +15 -0
- package/dist/docs/functions/airdropFactory.html +9 -0
- package/dist/docs/functions/appendTransactionMessageInstruction.html +8 -0
- package/dist/docs/functions/appendTransactionMessageInstructions.html +8 -0
- package/dist/docs/functions/assertAccountDecoded.html +13 -0
- package/dist/docs/functions/assertAccountExists.html +10 -0
- package/dist/docs/functions/assertIsAddress.html +7 -0
- package/dist/docs/functions/assertIsKeyPairSigner.html +6 -0
- package/dist/docs/functions/assertIsKitSignature.html +7 -0
- package/dist/docs/functions/assertIsTransactionSigner.html +7 -0
- package/dist/docs/functions/autoSelectRegion.html +6 -0
- package/dist/docs/functions/base58Encode.html +4 -0
- package/dist/docs/functions/blockhash.html +15 -0
- package/dist/docs/functions/chunk.html +11 -0
- package/dist/docs/functions/commitmentComparator.html +1 -0
- package/dist/docs/functions/compileTransaction.html +14 -0
- package/dist/docs/functions/compileTransactionMessage.html +8 -0
- package/dist/docs/functions/computeBalanceChanges.html +3 -0
- package/dist/docs/functions/computeTokenBalanceChanges.html +3 -0
- package/dist/docs/functions/createAddressWithSeed.html +6 -0
- package/dist/docs/functions/createDefaultRpcSubscriptionsTransport.html +7 -0
- package/dist/docs/functions/createDefaultRpcTransport.html +10 -0
- package/dist/docs/functions/createDefaultSolanaRpcSubscriptionsChannelCreator.html +5 -0
- package/dist/docs/functions/createKeyPairFromBytes.html +12 -0
- package/dist/docs/functions/createKeyPairFromPrivateKeyBytes.html +17 -0
- package/dist/docs/functions/createKeyPairSignerFromBytes.html +6 -0
- package/dist/docs/functions/createKeyPairSignerFromPrivateKeyBytes.html +6 -0
- package/dist/docs/functions/createNoopSigner.html +6 -0
- package/dist/docs/functions/createRpc.html +3 -0
- package/dist/docs/functions/createSignableMessage.html +6 -0
- package/dist/docs/functions/createSignerFromKeyPair.html +12 -0
- package/dist/docs/functions/createSolanaRpc.html +4 -0
- package/dist/docs/functions/createSolanaRpcApi.html +12 -0
- package/dist/docs/functions/createSolanaRpcFromTransport.html +3 -0
- package/dist/docs/functions/createSolanaRpcSubscriptions.html +4 -0
- package/dist/docs/functions/createSolanaRpcSubscriptionsApi.html +1 -0
- package/dist/docs/functions/createSolanaRpcSubscriptionsFromTransport.html +3 -0
- package/dist/docs/functions/createSolanaRpcSubscriptions_UNSTABLE.html +4 -0
- package/dist/docs/functions/createSynapse.html +8 -0
- package/dist/docs/functions/createTransactionMessage.html +6 -0
- package/dist/docs/functions/decodeAccount.html +9 -0
- package/dist/docs/functions/devnet.html +2 -0
- package/dist/docs/functions/fetchEncodedAccount.html +9 -0
- package/dist/docs/functions/fetchEncodedAccounts.html +11 -0
- package/dist/docs/functions/fetchJsonParsedAccount.html +12 -0
- package/dist/docs/functions/fetchJsonParsedAccounts.html +14 -0
- package/dist/docs/functions/fromKitAddress.html +5 -0
- package/dist/docs/functions/generateKeyPair.html +6 -0
- package/dist/docs/functions/generateKeyPairSigner.html +7 -0
- package/dist/docs/functions/getAccountInfo.html +11 -0
- package/dist/docs/functions/getAddressCodec.html +6 -0
- package/dist/docs/functions/getAddressComparator.html +1 -0
- package/dist/docs/functions/getAddressDecoder.html +6 -0
- package/dist/docs/functions/getAddressEncoder.html +5 -0
- package/dist/docs/functions/getAddressFromPublicKey.html +5 -0
- package/dist/docs/functions/getAsset.html +10 -0
- package/dist/docs/functions/getAssetBatch.html +10 -0
- package/dist/docs/functions/getAssetProof.html +10 -0
- package/dist/docs/functions/getAssetProofBatch.html +10 -0
- package/dist/docs/functions/getAssetsByAuthority.html +10 -0
- package/dist/docs/functions/getAssetsByCreator.html +10 -0
- package/dist/docs/functions/getAssetsByGroup.html +10 -0
- package/dist/docs/functions/getAssetsByOwner.html +10 -0
- package/dist/docs/functions/getBalance.html +11 -0
- package/dist/docs/functions/getBase58Codec.html +26 -0
- package/dist/docs/functions/getBase58Decoder.html +10 -0
- package/dist/docs/functions/getBase58Encoder.html +11 -0
- package/dist/docs/functions/getBase64Codec.html +26 -0
- package/dist/docs/functions/getBase64Decoder.html +10 -0
- package/dist/docs/functions/getBase64Encoder.html +11 -0
- package/dist/docs/functions/getBlock.html +10 -0
- package/dist/docs/functions/getBlockCommitment.html +10 -0
- package/dist/docs/functions/getBlockHeight.html +10 -0
- package/dist/docs/functions/getBlockProduction.html +9 -0
- package/dist/docs/functions/getBlockTime.html +10 -0
- package/dist/docs/functions/getBlocks.html +12 -0
- package/dist/docs/functions/getBlocksWithLimit.html +12 -0
- package/dist/docs/functions/getClusterNodes.html +9 -0
- package/dist/docs/functions/getEnvironment.html +12 -0
- package/dist/docs/functions/getEpochInfo.html +10 -0
- package/dist/docs/functions/getEpochSchedule.html +9 -0
- package/dist/docs/functions/getFeeForMessage.html +11 -0
- package/dist/docs/functions/getFirstAvailableBlock.html +9 -0
- package/dist/docs/functions/getGenesisHash.html +9 -0
- package/dist/docs/functions/getHealth.html +9 -0
- package/dist/docs/functions/getHighestSnapshotSlot.html +9 -0
- package/dist/docs/functions/getIdentity.html +9 -0
- package/dist/docs/functions/getInflationGovernor.html +10 -0
- package/dist/docs/functions/getInflationRate.html +9 -0
- package/dist/docs/functions/getInflationReward.html +10 -0
- package/dist/docs/functions/getLargestAccounts.html +9 -0
- package/dist/docs/functions/getLatestBlockhash.html +10 -0
- package/dist/docs/functions/getLeaderSchedule.html +10 -0
- package/dist/docs/functions/getMaxRetransmitSlot.html +9 -0
- package/dist/docs/functions/getMaxShredInsertSlot.html +9 -0
- package/dist/docs/functions/getMinimumBalanceForRentExemption.html +12 -0
- package/dist/docs/functions/getMultipleAccounts.html +10 -0
- package/dist/docs/functions/getProgramAccounts.html +11 -0
- package/dist/docs/functions/getProgramCategory.html +4 -0
- package/dist/docs/functions/getProgramDerivedAddress.html +6 -0
- package/dist/docs/functions/getRecentPerformanceSamples.html +10 -0
- package/dist/docs/functions/getRecentPrioritizationFees.html +10 -0
- package/dist/docs/functions/getSignatureStatuses.html +10 -0
- package/dist/docs/functions/getSignaturesForAddress.html +12 -0
- package/dist/docs/functions/getSignaturesForAsset.html +10 -0
- package/dist/docs/functions/getSlot.html +10 -0
- package/dist/docs/functions/getSlotLeader.html +10 -0
- package/dist/docs/functions/getSlotLeaders.html +11 -0
- package/dist/docs/functions/getStakeActivation.html +11 -0
- package/dist/docs/functions/getStakeMinimumDelegation.html +10 -0
- package/dist/docs/functions/getSupply.html +9 -0
- package/dist/docs/functions/getTokenAccountBalance.html +11 -0
- package/dist/docs/functions/getTokenAccounts.html +10 -0
- package/dist/docs/functions/getTokenAccountsByDelegate.html +11 -0
- package/dist/docs/functions/getTokenAccountsByOwner.html +11 -0
- package/dist/docs/functions/getTokenLargestAccounts.html +11 -0
- package/dist/docs/functions/getTokenSupply.html +11 -0
- package/dist/docs/functions/getTransaction.html +10 -0
- package/dist/docs/functions/getTransactionCount.html +10 -0
- package/dist/docs/functions/getVersion.html +9 -0
- package/dist/docs/functions/getVoteAccounts.html +9 -0
- package/dist/docs/functions/isAddress.html +6 -0
- package/dist/docs/functions/isBlockhashValid.html +11 -0
- package/dist/docs/functions/isBrowser.html +3 -0
- package/dist/docs/functions/isKeyPairSigner.html +6 -0
- package/dist/docs/functions/isKitSignature.html +6 -0
- package/dist/docs/functions/isProgramInCategory.html +6 -0
- package/dist/docs/functions/isServer.html +3 -0
- package/dist/docs/functions/isTransactionSigner.html +7 -0
- package/dist/docs/functions/isValidPubkey.html +6 -0
- package/dist/docs/functions/isValidSignature.html +5 -0
- package/dist/docs/functions/kitSignature.html +6 -0
- package/dist/docs/functions/kitUnixTimestamp.html +6 -0
- package/dist/docs/functions/lamports-1.html +6 -0
- package/dist/docs/functions/lamportsToSol.html +8 -0
- package/dist/docs/functions/listEndpoints.html +2 -0
- package/dist/docs/functions/listNetworks.html +2 -0
- package/dist/docs/functions/listRegions.html +2 -0
- package/dist/docs/functions/mainnet.html +2 -0
- package/dist/docs/functions/minimumLedgerSlot.html +9 -0
- package/dist/docs/functions/parseAccountUpdate.html +3 -0
- package/dist/docs/functions/parseBase58RpcAccount.html +7 -0
- package/dist/docs/functions/parseBase64RpcAccount.html +7 -0
- package/dist/docs/functions/parseBlockMeta.html +3 -0
- package/dist/docs/functions/parseEntry.html +3 -0
- package/dist/docs/functions/parseGeyserUpdate.html +12 -0
- package/dist/docs/functions/parseJsonRpcAccount.html +9 -0
- package/dist/docs/functions/parseSlotUpdate.html +3 -0
- package/dist/docs/functions/parseTimestamp.html +3 -0
- package/dist/docs/functions/parseTransaction.html +3 -0
- package/dist/docs/functions/partiallySignTransaction.html +12 -0
- package/dist/docs/functions/partiallySignTransactionMessageWithSigners.html +22 -0
- package/dist/docs/functions/pipe.html +95 -0
- package/dist/docs/functions/prependTransactionMessageInstruction.html +8 -0
- package/dist/docs/functions/prependTransactionMessageInstructions.html +8 -0
- package/dist/docs/functions/probeLatency.html +3 -0
- package/dist/docs/functions/rawBufferToBase58.html +3 -0
- package/dist/docs/functions/rawBufferToBase64.html +3 -0
- package/dist/docs/functions/rawBufferToBytes.html +4 -0
- package/dist/docs/functions/rawBufferToHex.html +3 -0
- package/dist/docs/functions/requestAirdrop.html +13 -0
- package/dist/docs/functions/resolveEndpoint.html +3 -0
- package/dist/docs/functions/resolveProgram.html +9 -0
- package/dist/docs/functions/resolveProgramBatch.html +6 -0
- package/dist/docs/functions/retry.html +12 -0
- package/dist/docs/functions/searchAssets.html +10 -0
- package/dist/docs/functions/sendAndConfirmDurableNonceTransactionFactory.html +6 -0
- package/dist/docs/functions/sendAndConfirmTransactionFactory.html +6 -0
- package/dist/docs/functions/sendTransaction.html +10 -0
- package/dist/docs/functions/sendTransactionWithoutConfirmingFactory.html +6 -0
- package/dist/docs/functions/setTransactionMessageFeePayer.html +7 -0
- package/dist/docs/functions/setTransactionMessageFeePayerSigner.html +8 -0
- package/dist/docs/functions/setTransactionMessageLifetimeUsingBlockhash.html +7 -0
- package/dist/docs/functions/setTransactionMessageLifetimeUsingDurableNonce.html +9 -0
- package/dist/docs/functions/signAndSendTransactionMessageWithSigners.html +32 -0
- package/dist/docs/functions/signBytes.html +7 -0
- package/dist/docs/functions/signTransaction.html +10 -0
- package/dist/docs/functions/signTransactionMessageWithSigners.html +13 -0
- package/dist/docs/functions/simulateTransaction.html +10 -0
- package/dist/docs/functions/sleep.html +5 -0
- package/dist/docs/functions/solToLamports.html +8 -0
- package/dist/docs/functions/testnet.html +2 -0
- package/dist/docs/functions/toClientConfig.html +3 -0
- package/dist/docs/functions/toKitAddress.html +8 -0
- package/dist/docs/functions/toKitLamports.html +6 -0
- package/dist/docs/functions/toKitSignatureString.html +5 -0
- package/dist/docs/functions/verifySignature.html +8 -0
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/index.html +389 -531
- package/dist/docs/interfaces/AccountInfo.html +12 -4
- package/dist/docs/interfaces/AccountNotification.html +5 -0
- package/dist/docs/interfaces/AccountSubParams.html +5 -0
- package/dist/docs/interfaces/AssetSignatureInfo.html +6 -0
- package/dist/docs/interfaces/AssetSignaturesPage.html +7 -0
- package/dist/docs/interfaces/BalanceChange.html +13 -0
- package/dist/docs/interfaces/BlockProduction.html +7 -0
- package/dist/docs/interfaces/BlockResult.html +11 -0
- package/dist/docs/interfaces/BlockReward.html +8 -0
- package/dist/docs/interfaces/BlockhashResult.html +5 -0
- package/dist/docs/interfaces/CallOptions.html +13 -0
- package/dist/docs/interfaces/ConfirmedTransaction.html +10 -3
- package/dist/docs/interfaces/ContactInfo.html +10 -0
- package/dist/docs/interfaces/DasAsset.html +19 -0
- package/dist/docs/interfaces/DasAssetProof.html +9 -0
- package/dist/docs/interfaces/DasAuthority.html +6 -0
- package/dist/docs/interfaces/DasCompression.html +13 -0
- package/dist/docs/interfaces/DasContent.html +10 -0
- package/dist/docs/interfaces/DasCreator.html +7 -0
- package/dist/docs/interfaces/DasFile.html +8 -0
- package/dist/docs/interfaces/DasGrouping.html +8 -0
- package/dist/docs/interfaces/DasOpts.html +5 -0
- package/dist/docs/interfaces/DasOwnership.html +9 -0
- package/dist/docs/interfaces/DasPage.html +11 -0
- package/dist/docs/interfaces/DasRoyalty.html +10 -0
- package/dist/docs/interfaces/DasSearchParams.html +34 -0
- package/dist/docs/interfaces/DasSupply.html +7 -0
- package/dist/docs/interfaces/DataSlice.html +7 -0
- package/dist/docs/interfaces/EndpointConnectConfig.html +12 -0
- package/dist/docs/interfaces/EpochInfo.html +10 -4
- package/dist/docs/interfaces/EpochSchedule.html +8 -0
- package/dist/docs/interfaces/GetAccountInfoOpts.html +16 -0
- package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +10 -0
- package/dist/docs/interfaces/GetAssetsByCreatorParams.html +13 -0
- package/dist/docs/interfaces/GetAssetsByGroupParams.html +14 -0
- package/dist/docs/interfaces/GetAssetsByOwnerParams.html +16 -0
- package/dist/docs/interfaces/GetBlockOpts.html +17 -0
- package/dist/docs/interfaces/GetBlockProductionOpts.html +15 -0
- package/dist/docs/interfaces/GetMultipleAccountsOpts.html +16 -0
- package/dist/docs/interfaces/GetProgramAccountsOpts.html +18 -0
- package/dist/docs/interfaces/GetSignatureStatusesOpts.html +14 -0
- package/dist/docs/interfaces/GetSignaturesOpts.html +17 -0
- package/dist/docs/interfaces/GetTokenAccountsParams.html +9 -0
- package/dist/docs/interfaces/GetTransactionOpts.html +15 -0
- package/dist/docs/interfaces/GeyserParserConfig.html +29 -0
- package/dist/docs/interfaces/GeyserParserEvents.html +19 -0
- package/dist/docs/interfaces/GeyserParserStats.html +8 -0
- package/dist/docs/interfaces/GrpcCallOptions.html +5 -0
- package/dist/docs/interfaces/GrpcTransportConfig.html +17 -0
- package/dist/docs/interfaces/InflationGovernor.html +8 -0
- package/dist/docs/interfaces/InflationRate.html +7 -0
- package/dist/docs/interfaces/InflationReward.html +8 -0
- package/dist/docs/interfaces/LatencyProbeResult.html +7 -0
- package/dist/docs/interfaces/LogsNotification.html +5 -0
- package/dist/docs/interfaces/LogsSubParams.html +4 -0
- package/dist/docs/interfaces/PaginationOpts.html +7 -0
- package/dist/docs/interfaces/ParsedAccountUpdate.html +33 -0
- package/dist/docs/interfaces/ParsedBlockMeta.html +11 -0
- package/dist/docs/interfaces/ParsedEntry.html +10 -0
- package/dist/docs/interfaces/ParsedInstruction.html +19 -0
- package/dist/docs/interfaces/ParsedSlotUpdate.html +8 -0
- package/dist/docs/interfaces/ParsedTransaction.html +39 -0
- package/dist/docs/interfaces/PerfSample.html +8 -0
- package/dist/docs/interfaces/ProgramAccount.html +5 -0
- package/dist/docs/interfaces/ProgramNotification.html +5 -0
- package/dist/docs/interfaces/ProgramSubParams.html +6 -0
- package/dist/docs/interfaces/RawAccountInfo.html +11 -0
- package/dist/docs/interfaces/RawBlockMeta.html +11 -0
- package/dist/docs/interfaces/RawBuffer.html +5 -0
- package/dist/docs/interfaces/RawCompiledInstruction.html +6 -0
- package/dist/docs/interfaces/RawEntry.html +9 -0
- package/dist/docs/interfaces/RawGeyserUpdate.html +13 -0
- package/dist/docs/interfaces/RawInnerInstruction.html +5 -0
- package/dist/docs/interfaces/RawSlotInfo.html +6 -0
- package/dist/docs/interfaces/RawTimestamp.html +5 -0
- package/dist/docs/interfaces/RawTokenBalance.html +8 -0
- package/dist/docs/interfaces/RawTransactionInfo.html +8 -0
- package/dist/docs/interfaces/RootNotification.html +4 -0
- package/dist/docs/interfaces/RootSubParams.html +3 -0
- package/dist/docs/interfaces/RpcContext.html +6 -0
- package/dist/docs/interfaces/RpcError.html +7 -3
- package/dist/docs/interfaces/RpcRequest.html +4 -3
- package/dist/docs/interfaces/RpcResponse.html +5 -3
- package/dist/docs/interfaces/SendTransactionOpts.html +17 -0
- package/dist/docs/interfaces/SignatureInfo.html +11 -4
- package/dist/docs/interfaces/SignatureNotification.html +5 -0
- package/dist/docs/interfaces/SignatureStatus.html +11 -0
- package/dist/docs/interfaces/SignatureSubParams.html +5 -0
- package/dist/docs/interfaces/SignaturesForAssetParams.html +10 -0
- package/dist/docs/interfaces/SimulateResult.html +11 -0
- package/dist/docs/interfaces/SimulateTransactionOpts.html +19 -0
- package/dist/docs/interfaces/SlotNotification.html +6 -0
- package/dist/docs/interfaces/SlotSubParams.html +3 -0
- package/dist/docs/interfaces/SortOpts.html +5 -0
- package/dist/docs/interfaces/Supply.html +11 -0
- package/dist/docs/interfaces/SynapseClientConfig.html +20 -0
- package/dist/docs/interfaces/SynapseEndpoint.html +14 -0
- package/dist/docs/interfaces/TokenAccount.html +6 -6
- package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +7 -0
- package/dist/docs/interfaces/TokenAmount.html +11 -0
- package/dist/docs/interfaces/TokenBalanceChange.html +12 -0
- package/dist/docs/interfaces/TransactionMessageWithBlockhashLifetime.html +12 -0
- package/dist/docs/interfaces/TransactionMeta.html +23 -0
- package/dist/docs/interfaces/TransportConfig.html +15 -0
- package/dist/docs/interfaces/VoteAccount.html +19 -0
- package/dist/docs/interfaces/VoteAccountsResult.html +7 -0
- package/dist/docs/interfaces/WsConfig.html +13 -0
- package/dist/docs/media/CHANGELOG.md +89 -0
- package/dist/docs/media/CONTRIBUTING.md +110 -0
- package/dist/docs/modules.html +372 -155
- package/dist/docs/types/AccountFilter.html +3 -0
- package/dist/docs/types/Address.html +5 -0
- package/dist/docs/types/Base58.html +3 -0
- package/dist/docs/types/Brand.html +7 -0
- package/dist/docs/types/Commitment.html +8 -3
- package/dist/docs/types/DasSortBy.html +3 -0
- package/dist/docs/types/DasSortDirection.html +3 -0
- package/dist/docs/types/DataSizeFilter.html +3 -0
- package/dist/docs/types/Encoding.html +3 -0
- package/dist/docs/types/Epoch.html +3 -0
- package/dist/docs/types/KeyPairSigner.html +17 -0
- package/dist/docs/types/KitCommitment.html +4 -0
- package/dist/docs/types/Lamports.html +4 -0
- package/dist/docs/types/LogsFilter.html +3 -0
- package/dist/docs/types/MemcmpFilter.html +3 -0
- package/dist/docs/types/MessagePartialSigner.html +23 -0
- package/dist/docs/types/MessageSigner.html +8 -0
- package/dist/docs/types/NoopSigner.html +18 -0
- package/dist/docs/types/ParsedGeyserUpdate.html +4 -0
- package/dist/docs/types/Pubkey.html +4 -0
- package/dist/docs/types/Rpc.html +4 -0
- package/dist/docs/types/RpcSubscriptions.html +5 -0
- package/dist/docs/types/RpcTransport.html +3 -0
- package/dist/docs/types/RuntimeEnv.html +2 -0
- package/dist/docs/types/Signature.html +4 -0
- package/dist/docs/types/SignatureBytes.html +5 -0
- package/dist/docs/types/Slot.html +3 -0
- package/dist/docs/types/SolanaRpcApi.html +3 -0
- package/dist/docs/types/SolanaRpcApiDevnet.html +3 -0
- package/dist/docs/types/SolanaRpcApiMainnet.html +4 -0
- package/dist/docs/types/SolanaRpcApiTestnet.html +3 -0
- package/dist/docs/types/SolanaRpcSubscriptionsApi.html +1 -0
- package/dist/docs/types/SubscriptionId.html +3 -0
- package/dist/docs/types/TransactionDetail.html +3 -0
- package/dist/docs/types/TransactionMessage.html +1 -0
- package/dist/docs/types/TransactionModifyingSigner.html +30 -0
- package/dist/docs/types/TransactionPartialSigner.html +22 -0
- package/dist/docs/types/TransactionSendingSigner.html +33 -0
- package/dist/docs/types/TransactionSigner.html +9 -0
- package/dist/docs/types/UnaryMethod.html +5 -0
- package/dist/docs/types/UnixTimestamp.html +3 -0
- package/dist/docs/types/WsNotification.html +3 -0
- package/dist/docs/variables/DEFAULT_RPC_CONFIG.html +6 -0
- package/dist/docs/variables/DEFAULT_RPC_SUBSCRIPTIONS_CONFIG.html +1 -0
- package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -0
- package/dist/docs/variables/KNOWN_PROGRAMS.html +3 -0
- package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +3 -0
- package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -0
- package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -0
- package/dist/docs/variables/METEORA_PROGRAMS.html +1 -0
- package/dist/docs/variables/ORCA_PROGRAMS.html +1 -0
- package/dist/docs/variables/OTHER_PROGRAMS.html +1 -0
- package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -0
- package/dist/docs/variables/SDK_USER_AGENT.html +6 -0
- package/dist/docs/variables/SPL_PROGRAMS.html +1 -0
- package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +2 -0
- package/dist/docs/variables/SYNAPSE_DEVNET_US.html +2 -0
- package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +2 -0
- package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +2 -0
- package/dist/docs/variables/SYNAPSE_MAINNET_US.html +2 -0
- package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -0
- package/dist/esm/ai/gateway/index.d.ts +380 -0
- package/dist/esm/ai/gateway/index.d.ts.map +1 -0
- package/dist/esm/ai/gateway/index.js +744 -0
- package/dist/esm/ai/gateway/index.js.map +1 -0
- package/dist/esm/ai/gateway/marketplace.d.ts +202 -0
- package/dist/esm/ai/gateway/marketplace.d.ts.map +1 -0
- package/dist/esm/ai/gateway/marketplace.js +348 -0
- package/dist/esm/ai/gateway/marketplace.js.map +1 -0
- package/dist/esm/ai/gateway/pricing.d.ts +149 -0
- package/dist/esm/ai/gateway/pricing.d.ts.map +1 -0
- package/dist/esm/ai/gateway/pricing.js +252 -0
- package/dist/esm/ai/gateway/pricing.js.map +1 -0
- package/dist/esm/ai/gateway/session.d.ts +191 -0
- package/dist/esm/ai/gateway/session.d.ts.map +1 -0
- package/dist/esm/ai/gateway/session.js +343 -0
- package/dist/esm/ai/gateway/session.js.map +1 -0
- package/dist/esm/ai/gateway/types.d.ts +324 -0
- package/dist/esm/ai/gateway/types.d.ts.map +1 -0
- package/dist/esm/ai/gateway/types.js +18 -0
- package/dist/esm/ai/gateway/types.js.map +1 -0
- package/dist/esm/ai/gateway/validator.d.ts +128 -0
- package/dist/esm/ai/gateway/validator.d.ts.map +1 -0
- package/dist/esm/ai/gateway/validator.js +204 -0
- package/dist/esm/ai/gateway/validator.js.map +1 -0
- package/dist/esm/ai/gateway/x402/client.d.ts +274 -0
- package/dist/esm/ai/gateway/x402/client.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/client.js +460 -0
- package/dist/esm/ai/gateway/x402/client.js.map +1 -0
- package/dist/esm/ai/gateway/x402/facilitator.d.ts +169 -0
- package/dist/esm/ai/gateway/x402/facilitator.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/facilitator.js +284 -0
- package/dist/esm/ai/gateway/x402/facilitator.js.map +1 -0
- package/dist/esm/ai/gateway/x402/index.d.ts +81 -0
- package/dist/esm/ai/gateway/x402/index.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/index.js +91 -0
- package/dist/esm/ai/gateway/x402/index.js.map +1 -0
- package/dist/esm/ai/gateway/x402/paywall.d.ts +148 -0
- package/dist/esm/ai/gateway/x402/paywall.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/paywall.js +263 -0
- package/dist/esm/ai/gateway/x402/paywall.js.map +1 -0
- package/dist/esm/ai/gateway/x402/registry.d.ts +86 -0
- package/dist/esm/ai/gateway/x402/registry.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/registry.js +286 -0
- package/dist/esm/ai/gateway/x402/registry.js.map +1 -0
- package/dist/esm/ai/gateway/x402/types.d.ts +407 -0
- package/dist/esm/ai/gateway/x402/types.d.ts.map +1 -0
- package/dist/esm/ai/gateway/x402/types.js +138 -0
- package/dist/esm/ai/gateway/x402/types.js.map +1 -0
- package/dist/esm/ai/index.d.ts +15 -11
- package/dist/esm/ai/index.d.ts.map +1 -1
- package/dist/esm/ai/index.js +33 -10
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/tools/index.d.ts +83 -0
- package/dist/esm/ai/tools/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/index.js +328 -0
- package/dist/esm/ai/tools/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/index.d.ts +87 -0
- package/dist/esm/ai/tools/protocols/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/index.js +89 -0
- package/dist/esm/ai/tools/protocols/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/index.d.ts +8 -0
- package/dist/esm/ai/tools/protocols/jupiter/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/index.js +8 -0
- package/dist/esm/ai/tools/protocols/jupiter/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts +11 -0
- package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/schemas.js +383 -0
- package/dist/esm/ai/tools/protocols/jupiter/schemas.js.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts +55 -0
- package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/jupiter/tools.js +80 -0
- package/dist/esm/ai/tools/protocols/jupiter/tools.js.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/index.d.ts +8 -0
- package/dist/esm/ai/tools/protocols/metaplex/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/index.js +8 -0
- package/dist/esm/ai/tools/protocols/metaplex/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/schemas.d.ts +11 -0
- package/dist/esm/ai/tools/protocols/metaplex/schemas.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/schemas.js +244 -0
- package/dist/esm/ai/tools/protocols/metaplex/schemas.js.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts +45 -0
- package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/metaplex/tools.js +157 -0
- package/dist/esm/ai/tools/protocols/metaplex/tools.js.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/index.d.ts +8 -0
- package/dist/esm/ai/tools/protocols/raydium/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/index.js +8 -0
- package/dist/esm/ai/tools/protocols/raydium/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/schemas.d.ts +11 -0
- package/dist/esm/ai/tools/protocols/raydium/schemas.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/schemas.js +199 -0
- package/dist/esm/ai/tools/protocols/raydium/schemas.js.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/tools.d.ts +50 -0
- package/dist/esm/ai/tools/protocols/raydium/tools.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/raydium/tools.js +78 -0
- package/dist/esm/ai/tools/protocols/raydium/tools.js.map +1 -0
- package/dist/esm/ai/tools/protocols/shared.d.ts +143 -0
- package/dist/esm/ai/tools/protocols/shared.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/shared.js +176 -0
- package/dist/esm/ai/tools/protocols/shared.js.map +1 -0
- package/dist/esm/ai/tools/zod/index.d.ts +35 -0
- package/dist/esm/ai/tools/zod/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/zod/index.js +53 -0
- package/dist/esm/ai/tools/zod/index.js.map +1 -0
- package/dist/esm/ai/tools/zod/types.d.ts +25 -0
- package/dist/esm/ai/tools/zod/types.d.ts.map +1 -0
- package/dist/esm/ai/tools/zod/types.js +258 -0
- package/dist/esm/ai/tools/zod/types.js.map +1 -0
- package/dist/esm/core/client.d.ts +186 -0
- package/dist/esm/core/client.d.ts.map +1 -0
- package/dist/esm/core/client.js +246 -0
- package/dist/esm/core/client.js.map +1 -0
- package/dist/esm/core/errors.d.ts +81 -0
- package/dist/esm/core/errors.d.ts.map +1 -0
- package/dist/esm/core/errors.js +101 -0
- package/dist/esm/core/errors.js.map +1 -0
- package/dist/esm/core/transport.d.ts +106 -0
- package/dist/esm/core/transport.d.ts.map +1 -0
- package/dist/esm/core/transport.js +177 -0
- package/dist/esm/core/transport.js.map +1 -0
- package/dist/esm/core/types.d.ts +490 -0
- package/dist/esm/core/types.d.ts.map +1 -0
- package/dist/esm/core/types.js +68 -0
- package/dist/esm/core/types.js.map +1 -0
- package/dist/esm/das/client.d.ts +122 -0
- package/dist/esm/das/client.d.ts.map +1 -0
- package/dist/esm/das/client.js +136 -0
- package/dist/esm/das/client.js.map +1 -0
- package/dist/esm/das/index.d.ts +10 -0
- package/dist/esm/das/index.d.ts.map +1 -0
- package/dist/esm/das/index.js +10 -0
- package/dist/esm/das/index.js.map +1 -0
- package/dist/esm/das/methods/get-asset-batch.d.ts +26 -0
- package/dist/esm/das/methods/get-asset-batch.d.ts.map +1 -0
- package/dist/esm/das/methods/get-asset-batch.js +21 -0
- package/dist/esm/das/methods/get-asset-batch.js.map +1 -0
- package/dist/esm/das/methods/get-asset-proof-batch.d.ts +26 -0
- package/dist/esm/das/methods/get-asset-proof-batch.d.ts.map +1 -0
- package/dist/esm/das/methods/get-asset-proof-batch.js +21 -0
- package/dist/esm/das/methods/get-asset-proof-batch.js.map +1 -0
- package/dist/esm/das/methods/get-asset-proof.d.ts +26 -0
- package/dist/esm/das/methods/get-asset-proof.d.ts.map +1 -0
- package/dist/esm/das/methods/get-asset-proof.js +21 -0
- package/dist/esm/das/methods/get-asset-proof.js.map +1 -0
- package/dist/esm/das/methods/get-asset.d.ts +26 -0
- package/dist/esm/das/methods/get-asset.d.ts.map +1 -0
- package/dist/esm/das/methods/get-asset.js +21 -0
- package/dist/esm/das/methods/get-asset.js.map +1 -0
- package/dist/esm/das/methods/get-assets-by-authority.d.ts +45 -0
- package/dist/esm/das/methods/get-assets-by-authority.d.ts.map +1 -0
- package/dist/esm/das/methods/get-assets-by-authority.js +24 -0
- package/dist/esm/das/methods/get-assets-by-authority.js.map +1 -0
- package/dist/esm/das/methods/get-assets-by-creator.d.ts +48 -0
- package/dist/esm/das/methods/get-assets-by-creator.d.ts.map +1 -0
- package/dist/esm/das/methods/get-assets-by-creator.js +24 -0
- package/dist/esm/das/methods/get-assets-by-creator.js.map +1 -0
- package/dist/esm/das/methods/get-assets-by-group.d.ts +48 -0
- package/dist/esm/das/methods/get-assets-by-group.d.ts.map +1 -0
- package/dist/esm/das/methods/get-assets-by-group.js +24 -0
- package/dist/esm/das/methods/get-assets-by-group.js.map +1 -0
- package/dist/esm/das/methods/get-assets-by-owner.d.ts +52 -0
- package/dist/esm/das/methods/get-assets-by-owner.d.ts.map +1 -0
- package/dist/esm/das/methods/get-assets-by-owner.js +25 -0
- package/dist/esm/das/methods/get-assets-by-owner.js.map +1 -0
- package/dist/esm/das/methods/get-signatures-for-asset.d.ts +61 -0
- package/dist/esm/das/methods/get-signatures-for-asset.d.ts.map +1 -0
- package/dist/esm/das/methods/get-signatures-for-asset.js +24 -0
- package/dist/esm/das/methods/get-signatures-for-asset.js.map +1 -0
- package/dist/esm/das/methods/get-token-accounts.d.ts +58 -0
- package/dist/esm/das/methods/get-token-accounts.d.ts.map +1 -0
- package/dist/esm/das/methods/get-token-accounts.js +24 -0
- package/dist/esm/das/methods/get-token-accounts.js.map +1 -0
- package/dist/esm/das/methods/index.d.ts +17 -0
- package/dist/esm/das/methods/index.d.ts.map +1 -0
- package/dist/esm/das/methods/index.js +17 -0
- package/dist/esm/das/methods/index.js.map +1 -0
- package/dist/esm/das/methods/search-assets.d.ts +29 -0
- package/dist/esm/das/methods/search-assets.d.ts.map +1 -0
- package/dist/esm/das/methods/search-assets.js +25 -0
- package/dist/esm/das/methods/search-assets.js.map +1 -0
- package/dist/esm/das/types.d.ts +257 -0
- package/dist/esm/das/types.d.ts.map +1 -0
- package/dist/esm/das/types.js +2 -0
- package/dist/esm/das/types.js.map +1 -0
- package/dist/esm/grpc/index.d.ts +10 -0
- package/dist/esm/grpc/index.d.ts.map +1 -0
- package/dist/esm/grpc/index.js +10 -0
- package/dist/esm/grpc/index.js.map +1 -0
- package/dist/esm/grpc/parser/decoder.d.ts +117 -0
- package/dist/esm/grpc/parser/decoder.d.ts.map +1 -0
- package/dist/esm/grpc/parser/decoder.js +589 -0
- package/dist/esm/grpc/parser/decoder.js.map +1 -0
- package/dist/esm/grpc/parser/geyser-parser.d.ts +184 -0
- package/dist/esm/grpc/parser/geyser-parser.d.ts.map +1 -0
- package/dist/esm/grpc/parser/geyser-parser.js +275 -0
- package/dist/esm/grpc/parser/geyser-parser.js.map +1 -0
- package/dist/esm/grpc/parser/index.d.ts +12 -0
- package/dist/esm/grpc/parser/index.d.ts.map +1 -0
- package/dist/esm/grpc/parser/index.js +13 -0
- package/dist/esm/grpc/parser/index.js.map +1 -0
- package/dist/esm/grpc/parser/programs.d.ts +69 -0
- package/dist/esm/grpc/parser/programs.d.ts.map +1 -0
- package/dist/esm/grpc/parser/programs.js +261 -0
- package/dist/esm/grpc/parser/programs.js.map +1 -0
- package/dist/esm/grpc/parser/types.d.ts +344 -0
- package/dist/esm/grpc/parser/types.d.ts.map +1 -0
- package/dist/esm/grpc/parser/types.js +12 -0
- package/dist/esm/grpc/parser/types.js.map +1 -0
- package/dist/esm/grpc/transport.d.ts +96 -0
- package/dist/esm/grpc/transport.d.ts.map +1 -0
- package/dist/esm/grpc/transport.js +160 -0
- package/dist/esm/grpc/transport.js.map +1 -0
- package/dist/esm/grpc/types.d.ts +51 -0
- package/dist/esm/grpc/types.d.ts.map +1 -0
- package/dist/esm/grpc/types.js +8 -0
- package/dist/esm/grpc/types.js.map +1 -0
- package/dist/esm/index.d.ts +42 -27
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +52 -42
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kit/index.d.ts +94 -0
- package/dist/esm/kit/index.d.ts.map +1 -0
- package/dist/esm/kit/index.js +100 -0
- package/dist/esm/kit/index.js.map +1 -0
- package/dist/esm/rpc/index.d.ts +9 -0
- package/dist/esm/rpc/index.d.ts.map +1 -0
- package/dist/esm/rpc/index.js +9 -0
- package/dist/esm/rpc/index.js.map +1 -0
- package/dist/esm/rpc/methods/get-account-info.d.ts +37 -0
- package/dist/esm/rpc/methods/get-account-info.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-account-info.js +31 -0
- package/dist/esm/rpc/methods/get-account-info.js.map +1 -0
- package/dist/esm/rpc/methods/get-balance.d.ts +28 -0
- package/dist/esm/rpc/methods/get-balance.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-balance.js +25 -0
- package/dist/esm/rpc/methods/get-balance.js.map +1 -0
- package/dist/esm/rpc/methods/get-block-commitment.d.ts +28 -0
- package/dist/esm/rpc/methods/get-block-commitment.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-block-commitment.js +20 -0
- package/dist/esm/rpc/methods/get-block-commitment.js.map +1 -0
- package/dist/esm/rpc/methods/get-block-height.d.ts +27 -0
- package/dist/esm/rpc/methods/get-block-height.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-block-height.js +24 -0
- package/dist/esm/rpc/methods/get-block-height.js.map +1 -0
- package/dist/esm/rpc/methods/get-block-production.d.ts +37 -0
- package/dist/esm/rpc/methods/get-block-production.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-block-production.js +27 -0
- package/dist/esm/rpc/methods/get-block-production.js.map +1 -0
- package/dist/esm/rpc/methods/get-block-time.d.ts +25 -0
- package/dist/esm/rpc/methods/get-block-time.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-block-time.js +20 -0
- package/dist/esm/rpc/methods/get-block-time.js.map +1 -0
- package/dist/esm/rpc/methods/get-block.d.ts +68 -0
- package/dist/esm/rpc/methods/get-block.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-block.js +32 -0
- package/dist/esm/rpc/methods/get-block.js.map +1 -0
- package/dist/esm/rpc/methods/get-blocks-with-limit.d.ts +27 -0
- package/dist/esm/rpc/methods/get-blocks-with-limit.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-blocks-with-limit.js +22 -0
- package/dist/esm/rpc/methods/get-blocks-with-limit.js.map +1 -0
- package/dist/esm/rpc/methods/get-blocks.d.ts +27 -0
- package/dist/esm/rpc/methods/get-blocks.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-blocks.js +25 -0
- package/dist/esm/rpc/methods/get-blocks.js.map +1 -0
- package/dist/esm/rpc/methods/get-cluster-nodes.d.ts +24 -0
- package/dist/esm/rpc/methods/get-cluster-nodes.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-cluster-nodes.js +19 -0
- package/dist/esm/rpc/methods/get-cluster-nodes.js.map +1 -0
- package/dist/esm/rpc/methods/get-epoch-info.d.ts +27 -0
- package/dist/esm/rpc/methods/get-epoch-info.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-epoch-info.js +24 -0
- package/dist/esm/rpc/methods/get-epoch-info.js.map +1 -0
- package/dist/esm/rpc/methods/get-epoch-schedule.d.ts +24 -0
- package/dist/esm/rpc/methods/get-epoch-schedule.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-epoch-schedule.js +19 -0
- package/dist/esm/rpc/methods/get-epoch-schedule.js.map +1 -0
- package/dist/esm/rpc/methods/get-fee-for-message.d.ts +28 -0
- package/dist/esm/rpc/methods/get-fee-for-message.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-fee-for-message.js +25 -0
- package/dist/esm/rpc/methods/get-fee-for-message.js.map +1 -0
- package/dist/esm/rpc/methods/get-first-available-block.d.ts +24 -0
- package/dist/esm/rpc/methods/get-first-available-block.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-first-available-block.js +19 -0
- package/dist/esm/rpc/methods/get-first-available-block.js.map +1 -0
- package/dist/esm/rpc/methods/get-genesis-hash.d.ts +23 -0
- package/dist/esm/rpc/methods/get-genesis-hash.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-genesis-hash.js +19 -0
- package/dist/esm/rpc/methods/get-genesis-hash.js.map +1 -0
- package/dist/esm/rpc/methods/get-health.d.ts +23 -0
- package/dist/esm/rpc/methods/get-health.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-health.js +19 -0
- package/dist/esm/rpc/methods/get-health.js.map +1 -0
- package/dist/esm/rpc/methods/get-highest-snapshot-slot.d.ts +27 -0
- package/dist/esm/rpc/methods/get-highest-snapshot-slot.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-highest-snapshot-slot.js +19 -0
- package/dist/esm/rpc/methods/get-highest-snapshot-slot.js.map +1 -0
- package/dist/esm/rpc/methods/get-identity.d.ts +26 -0
- package/dist/esm/rpc/methods/get-identity.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-identity.js +19 -0
- package/dist/esm/rpc/methods/get-identity.js.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-governor.d.ts +25 -0
- package/dist/esm/rpc/methods/get-inflation-governor.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-governor.js +21 -0
- package/dist/esm/rpc/methods/get-inflation-governor.js.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-rate.d.ts +24 -0
- package/dist/esm/rpc/methods/get-inflation-rate.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-rate.js +19 -0
- package/dist/esm/rpc/methods/get-inflation-rate.js.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-reward.d.ts +29 -0
- package/dist/esm/rpc/methods/get-inflation-reward.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-inflation-reward.js +28 -0
- package/dist/esm/rpc/methods/get-inflation-reward.js.map +1 -0
- package/dist/esm/rpc/methods/get-largest-accounts.d.ts +30 -0
- package/dist/esm/rpc/methods/get-largest-accounts.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-largest-accounts.js +25 -0
- package/dist/esm/rpc/methods/get-largest-accounts.js.map +1 -0
- package/dist/esm/rpc/methods/get-latest-blockhash.d.ts +36 -0
- package/dist/esm/rpc/methods/get-latest-blockhash.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-latest-blockhash.js +24 -0
- package/dist/esm/rpc/methods/get-latest-blockhash.js.map +1 -0
- package/dist/esm/rpc/methods/get-leader-schedule.d.ts +27 -0
- package/dist/esm/rpc/methods/get-leader-schedule.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-leader-schedule.js +25 -0
- package/dist/esm/rpc/methods/get-leader-schedule.js.map +1 -0
- package/dist/esm/rpc/methods/get-max-retransmit-slot.d.ts +23 -0
- package/dist/esm/rpc/methods/get-max-retransmit-slot.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-max-retransmit-slot.js +18 -0
- package/dist/esm/rpc/methods/get-max-retransmit-slot.js.map +1 -0
- package/dist/esm/rpc/methods/get-max-shred-insert-slot.d.ts +23 -0
- package/dist/esm/rpc/methods/get-max-shred-insert-slot.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-max-shred-insert-slot.js +18 -0
- package/dist/esm/rpc/methods/get-max-shred-insert-slot.js.map +1 -0
- package/dist/esm/rpc/methods/get-minimum-balance-for-rent-exemption.d.ts +26 -0
- package/dist/esm/rpc/methods/get-minimum-balance-for-rent-exemption.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-minimum-balance-for-rent-exemption.js +21 -0
- package/dist/esm/rpc/methods/get-minimum-balance-for-rent-exemption.js.map +1 -0
- package/dist/esm/rpc/methods/get-multiple-accounts.d.ts +35 -0
- package/dist/esm/rpc/methods/get-multiple-accounts.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-multiple-accounts.js +29 -0
- package/dist/esm/rpc/methods/get-multiple-accounts.js.map +1 -0
- package/dist/esm/rpc/methods/get-program-accounts.d.ts +51 -0
- package/dist/esm/rpc/methods/get-program-accounts.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-program-accounts.js +38 -0
- package/dist/esm/rpc/methods/get-program-accounts.js.map +1 -0
- package/dist/esm/rpc/methods/get-recent-performance-samples.d.ts +24 -0
- package/dist/esm/rpc/methods/get-recent-performance-samples.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-recent-performance-samples.js +19 -0
- package/dist/esm/rpc/methods/get-recent-performance-samples.js.map +1 -0
- package/dist/esm/rpc/methods/get-recent-prioritization-fees.d.ts +27 -0
- package/dist/esm/rpc/methods/get-recent-prioritization-fees.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-recent-prioritization-fees.js +19 -0
- package/dist/esm/rpc/methods/get-recent-prioritization-fees.js.map +1 -0
- package/dist/esm/rpc/methods/get-signature-statuses.d.ts +32 -0
- package/dist/esm/rpc/methods/get-signature-statuses.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-signature-statuses.js +23 -0
- package/dist/esm/rpc/methods/get-signature-statuses.js.map +1 -0
- package/dist/esm/rpc/methods/get-signatures-for-address.d.ts +40 -0
- package/dist/esm/rpc/methods/get-signatures-for-address.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-signatures-for-address.js +49 -0
- package/dist/esm/rpc/methods/get-signatures-for-address.js.map +1 -0
- package/dist/esm/rpc/methods/get-slot-leader.d.ts +26 -0
- package/dist/esm/rpc/methods/get-slot-leader.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-slot-leader.js +23 -0
- package/dist/esm/rpc/methods/get-slot-leader.js.map +1 -0
- package/dist/esm/rpc/methods/get-slot-leaders.d.ts +25 -0
- package/dist/esm/rpc/methods/get-slot-leaders.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-slot-leaders.js +20 -0
- package/dist/esm/rpc/methods/get-slot-leaders.js.map +1 -0
- package/dist/esm/rpc/methods/get-slot.d.ts +26 -0
- package/dist/esm/rpc/methods/get-slot.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-slot.js +23 -0
- package/dist/esm/rpc/methods/get-slot.js.map +1 -0
- package/dist/esm/rpc/methods/get-stake-activation.d.ts +37 -0
- package/dist/esm/rpc/methods/get-stake-activation.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-stake-activation.js +30 -0
- package/dist/esm/rpc/methods/get-stake-activation.js.map +1 -0
- package/dist/esm/rpc/methods/get-stake-minimum-delegation.d.ts +24 -0
- package/dist/esm/rpc/methods/get-stake-minimum-delegation.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-stake-minimum-delegation.js +19 -0
- package/dist/esm/rpc/methods/get-stake-minimum-delegation.js.map +1 -0
- package/dist/esm/rpc/methods/get-supply.d.ts +27 -0
- package/dist/esm/rpc/methods/get-supply.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-supply.js +25 -0
- package/dist/esm/rpc/methods/get-supply.js.map +1 -0
- package/dist/esm/rpc/methods/get-token-account-balance.d.ts +26 -0
- package/dist/esm/rpc/methods/get-token-account-balance.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-token-account-balance.js +21 -0
- package/dist/esm/rpc/methods/get-token-account-balance.js.map +1 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-delegate.d.ts +33 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-delegate.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-delegate.js +26 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-delegate.js.map +1 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-owner.d.ts +33 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-owner.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-owner.js +26 -0
- package/dist/esm/rpc/methods/get-token-accounts-by-owner.js.map +1 -0
- package/dist/esm/rpc/methods/get-token-largest-accounts.d.ts +31 -0
- package/dist/esm/rpc/methods/get-token-largest-accounts.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-token-largest-accounts.js +20 -0
- package/dist/esm/rpc/methods/get-token-largest-accounts.js.map +1 -0
- package/dist/esm/rpc/methods/get-token-supply.d.ts +26 -0
- package/dist/esm/rpc/methods/get-token-supply.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-token-supply.js +21 -0
- package/dist/esm/rpc/methods/get-token-supply.js.map +1 -0
- package/dist/esm/rpc/methods/get-transaction-count.d.ts +26 -0
- package/dist/esm/rpc/methods/get-transaction-count.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-transaction-count.js +23 -0
- package/dist/esm/rpc/methods/get-transaction-count.js.map +1 -0
- package/dist/esm/rpc/methods/get-transaction.d.ts +36 -0
- package/dist/esm/rpc/methods/get-transaction.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-transaction.js +29 -0
- package/dist/esm/rpc/methods/get-transaction.js.map +1 -0
- package/dist/esm/rpc/methods/get-version.d.ts +26 -0
- package/dist/esm/rpc/methods/get-version.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-version.js +19 -0
- package/dist/esm/rpc/methods/get-version.js.map +1 -0
- package/dist/esm/rpc/methods/get-vote-accounts.d.ts +29 -0
- package/dist/esm/rpc/methods/get-vote-accounts.d.ts.map +1 -0
- package/dist/esm/rpc/methods/get-vote-accounts.js +29 -0
- package/dist/esm/rpc/methods/get-vote-accounts.js.map +1 -0
- package/dist/esm/rpc/methods/index.d.ts +57 -0
- package/dist/esm/rpc/methods/index.d.ts.map +1 -0
- package/dist/esm/rpc/methods/index.js +68 -0
- package/dist/esm/rpc/methods/index.js.map +1 -0
- package/dist/esm/rpc/methods/is-blockhash-valid.d.ts +27 -0
- package/dist/esm/rpc/methods/is-blockhash-valid.d.ts.map +1 -0
- package/dist/esm/rpc/methods/is-blockhash-valid.js +24 -0
- package/dist/esm/rpc/methods/is-blockhash-valid.js.map +1 -0
- package/dist/esm/rpc/methods/minimum-ledger-slot.d.ts +23 -0
- package/dist/esm/rpc/methods/minimum-ledger-slot.d.ts.map +1 -0
- package/dist/esm/rpc/methods/minimum-ledger-slot.js +18 -0
- package/dist/esm/rpc/methods/minimum-ledger-slot.js.map +1 -0
- package/dist/esm/rpc/methods/request-airdrop.d.ts +29 -0
- package/dist/esm/rpc/methods/request-airdrop.d.ts.map +1 -0
- package/dist/esm/rpc/methods/request-airdrop.js +27 -0
- package/dist/esm/rpc/methods/request-airdrop.js.map +1 -0
- package/dist/esm/rpc/methods/send-transaction.d.ts +38 -0
- package/dist/esm/rpc/methods/send-transaction.d.ts.map +1 -0
- package/dist/esm/rpc/methods/send-transaction.js +31 -0
- package/dist/esm/rpc/methods/send-transaction.js.map +1 -0
- package/dist/esm/rpc/methods/simulate-transaction.d.ts +63 -0
- package/dist/esm/rpc/methods/simulate-transaction.d.ts.map +1 -0
- package/dist/esm/rpc/methods/simulate-transaction.js +34 -0
- package/dist/esm/rpc/methods/simulate-transaction.js.map +1 -0
- package/dist/esm/rpc/solana-rpc.d.ts +190 -0
- package/dist/esm/rpc/solana-rpc.d.ts.map +1 -0
- package/dist/esm/rpc/solana-rpc.js +136 -0
- package/dist/esm/rpc/solana-rpc.js.map +1 -0
- package/dist/esm/utils/env.d.ts +49 -0
- package/dist/esm/utils/env.d.ts.map +1 -0
- package/dist/esm/utils/env.js +47 -0
- package/dist/esm/utils/env.js.map +1 -0
- package/dist/esm/utils/helpers.d.ts +92 -87
- package/dist/esm/utils/helpers.d.ts.map +1 -1
- package/dist/esm/utils/helpers.js +96 -232
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +10 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/synapse.d.ts +132 -0
- package/dist/esm/utils/synapse.d.ts.map +1 -0
- package/dist/esm/utils/synapse.js +163 -0
- package/dist/esm/utils/synapse.js.map +1 -0
- package/dist/esm/websocket/client.d.ts +97 -177
- package/dist/esm/websocket/client.d.ts.map +1 -1
- package/dist/esm/websocket/client.js +254 -402
- package/dist/esm/websocket/client.js.map +1 -1
- package/dist/esm/websocket/index.d.ts +6 -3
- package/dist/esm/websocket/index.d.ts.map +1 -1
- package/dist/esm/websocket/index.js +6 -2
- package/dist/esm/websocket/index.js.map +1 -1
- package/dist/esm/websocket/types.d.ts +120 -0
- package/dist/esm/websocket/types.d.ts.map +1 -0
- package/dist/esm/websocket/types.js +2 -0
- package/dist/esm/websocket/types.js.map +1 -0
- package/package.json +81 -74
- package/dist/cjs/advanced/circuit-breaker.d.ts +0 -111
- package/dist/cjs/advanced/circuit-breaker.d.ts.map +0 -1
- package/dist/cjs/advanced/circuit-breaker.js +0 -278
- package/dist/cjs/advanced/circuit-breaker.js.map +0 -1
- package/dist/cjs/advanced/index.d.ts +0 -8
- package/dist/cjs/advanced/index.d.ts.map +0 -1
- package/dist/cjs/advanced/index.js +0 -13
- package/dist/cjs/advanced/index.js.map +0 -1
- package/dist/cjs/advanced/load-balancer.d.ts +0 -114
- package/dist/cjs/advanced/load-balancer.d.ts.map +0 -1
- package/dist/cjs/advanced/load-balancer.js +0 -354
- package/dist/cjs/advanced/load-balancer.js.map +0 -1
- package/dist/cjs/advanced/smart-caching.d.ts +0 -113
- package/dist/cjs/advanced/smart-caching.d.ts.map +0 -1
- package/dist/cjs/advanced/smart-caching.js +0 -461
- package/dist/cjs/advanced/smart-caching.js.map +0 -1
- package/dist/cjs/advanced/types.d.ts +0 -228
- package/dist/cjs/advanced/types.d.ts.map +0 -1
- package/dist/cjs/advanced/types.js +0 -7
- package/dist/cjs/advanced/types.js.map +0 -1
- package/dist/cjs/ai/merkle-operation.d.ts +0 -245
- package/dist/cjs/ai/merkle-operation.d.ts.map +0 -1
- package/dist/cjs/ai/merkle-operation.js +0 -522
- package/dist/cjs/ai/merkle-operation.js.map +0 -1
- package/dist/cjs/ai/pda-manager.d.ts +0 -134
- package/dist/cjs/ai/pda-manager.d.ts.map +0 -1
- package/dist/cjs/ai/pda-manager.js +0 -250
- package/dist/cjs/ai/pda-manager.js.map +0 -1
- package/dist/cjs/ai/types.ai.d.ts +0 -172
- package/dist/cjs/ai/types.ai.d.ts.map +0 -1
- package/dist/cjs/ai/types.ai.js +0 -14
- package/dist/cjs/ai/types.ai.js.map +0 -1
- package/dist/cjs/ai/zero-combine-fetcher.d.ts +0 -171
- package/dist/cjs/ai/zero-combine-fetcher.d.ts.map +0 -1
- package/dist/cjs/ai/zero-combine-fetcher.js +0 -412
- package/dist/cjs/ai/zero-combine-fetcher.js.map +0 -1
- package/dist/cjs/client.d.ts +0 -83
- package/dist/cjs/client.d.ts.map +0 -1
- package/dist/cjs/client.js +0 -287
- package/dist/cjs/client.js.map +0 -1
- package/dist/cjs/defi/advanced-features.d.ts +0 -207
- package/dist/cjs/defi/advanced-features.d.ts.map +0 -1
- package/dist/cjs/defi/advanced-features.js +0 -382
- package/dist/cjs/defi/advanced-features.js.map +0 -1
- package/dist/cjs/defi/index.d.ts +0 -29
- package/dist/cjs/defi/index.d.ts.map +0 -1
- package/dist/cjs/defi/index.js +0 -50
- package/dist/cjs/defi/index.js.map +0 -1
- package/dist/cjs/defi/jito.d.ts +0 -118
- package/dist/cjs/defi/jito.d.ts.map +0 -1
- package/dist/cjs/defi/jito.js +0 -291
- package/dist/cjs/defi/jito.js.map +0 -1
- package/dist/cjs/defi/jupiter.d.ts +0 -143
- package/dist/cjs/defi/jupiter.d.ts.map +0 -1
- package/dist/cjs/defi/jupiter.js +0 -219
- package/dist/cjs/defi/jupiter.js.map +0 -1
- package/dist/cjs/defi/price-feed.d.ts +0 -63
- package/dist/cjs/defi/price-feed.d.ts.map +0 -1
- package/dist/cjs/defi/price-feed.js +0 -153
- package/dist/cjs/defi/price-feed.js.map +0 -1
- package/dist/cjs/defi/token-data.d.ts +0 -83
- package/dist/cjs/defi/token-data.d.ts.map +0 -1
- package/dist/cjs/defi/token-data.js +0 -205
- package/dist/cjs/defi/token-data.js.map +0 -1
- package/dist/cjs/defi/unstable-features.d.ts +0 -207
- package/dist/cjs/defi/unstable-features.d.ts.map +0 -1
- package/dist/cjs/defi/unstable-features.js +0 -382
- package/dist/cjs/defi/unstable-features.js.map +0 -1
- package/dist/cjs/defi/utils.d.ts +0 -265
- package/dist/cjs/defi/utils.d.ts.map +0 -1
- package/dist/cjs/defi/utils.js +0 -619
- package/dist/cjs/defi/utils.js.map +0 -1
- package/dist/cjs/methods/solana-rpc.d.ts +0 -362
- package/dist/cjs/methods/solana-rpc.d.ts.map +0 -1
- package/dist/cjs/methods/solana-rpc.js +0 -584
- package/dist/cjs/methods/solana-rpc.js.map +0 -1
- package/dist/cjs/nft/advanced-features.d.ts +0 -205
- package/dist/cjs/nft/advanced-features.d.ts.map +0 -1
- package/dist/cjs/nft/advanced-features.js +0 -529
- package/dist/cjs/nft/advanced-features.js.map +0 -1
- package/dist/cjs/nft/clients/index.d.ts +0 -8
- package/dist/cjs/nft/clients/index.d.ts.map +0 -1
- package/dist/cjs/nft/clients/index.js +0 -14
- package/dist/cjs/nft/clients/index.js.map +0 -1
- package/dist/cjs/nft/clients/magic-eden-client.d.ts +0 -101
- package/dist/cjs/nft/clients/magic-eden-client.d.ts.map +0 -1
- package/dist/cjs/nft/clients/magic-eden-client.js +0 -263
- package/dist/cjs/nft/clients/magic-eden-client.js.map +0 -1
- package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts +0 -154
- package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts.map +0 -1
- package/dist/cjs/nft/clients/metaplex-onchain-client.js +0 -408
- package/dist/cjs/nft/clients/metaplex-onchain-client.js.map +0 -1
- package/dist/cjs/nft/clients/tensor-client.d.ts +0 -79
- package/dist/cjs/nft/clients/tensor-client.d.ts.map +0 -1
- package/dist/cjs/nft/clients/tensor-client.js +0 -222
- package/dist/cjs/nft/clients/tensor-client.js.map +0 -1
- package/dist/cjs/nft/index.d.ts +0 -13
- package/dist/cjs/nft/index.d.ts.map +0 -1
- package/dist/cjs/nft/index.js +0 -37
- package/dist/cjs/nft/index.js.map +0 -1
- package/dist/cjs/nft/types.nft.d.ts +0 -342
- package/dist/cjs/nft/types.nft.d.ts.map +0 -1
- package/dist/cjs/nft/types.nft.js +0 -3
- package/dist/cjs/nft/types.nft.js.map +0 -1
- package/dist/cjs/nft/utils.d.ts +0 -46
- package/dist/cjs/nft/utils.d.ts.map +0 -1
- package/dist/cjs/nft/utils.js +0 -281
- package/dist/cjs/nft/utils.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -525
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -192
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils/constant.d.ts +0 -8
- package/dist/cjs/utils/constant.d.ts.map +0 -1
- package/dist/cjs/utils/constant.js +0 -12
- package/dist/cjs/utils/constant.js.map +0 -1
- package/dist/docs/classes/AIError.html +0 -40
- package/dist/docs/classes/AIInvestmentAdvisor.html +0 -26
- package/dist/docs/classes/AIRarityCalculator.html +0 -28
- package/dist/docs/classes/ArbitrageDetector.html +0 -30
- package/dist/docs/classes/BatchingError.html +0 -40
- package/dist/docs/classes/CacheError.html +0 -40
- package/dist/docs/classes/CircuitBreaker.html +0 -38
- package/dist/docs/classes/CircuitBreakerError.html +0 -40
- package/dist/docs/classes/CollectionAnalytics.html +0 -30
- package/dist/docs/classes/DeFiError.html +0 -40
- package/dist/docs/classes/FlashLoanSimulator.html +0 -26
- package/dist/docs/classes/JitoIntegration.html +0 -53
- package/dist/docs/classes/JupiterIntegration.html +0 -43
- package/dist/docs/classes/Keypair.html +0 -28
- package/dist/docs/classes/LoadBalancer.html +0 -34
- package/dist/docs/classes/MEVProtection.html +0 -28
- package/dist/docs/classes/MarketplaceAggregator.html +0 -28
- package/dist/docs/classes/MerkleOperation.html +0 -74
- package/dist/docs/classes/NFTEngine.html +0 -29
- package/dist/docs/classes/NFTError.html +0 -40
- package/dist/docs/classes/PDAManager.html +0 -46
- package/dist/docs/classes/PortfolioAnalytics.html +0 -26
- package/dist/docs/classes/PriceFeedIntegration.html +0 -37
- package/dist/docs/classes/PublicKey.html +0 -46
- package/dist/docs/classes/RateLimitError.html +0 -39
- package/dist/docs/classes/SmartCaching.html +0 -42
- package/dist/docs/classes/Synapse.html +0 -6
- package/dist/docs/classes/SynapseSolanaEngine.html +0 -49
- package/dist/docs/classes/SynapseUtils.html +0 -25
- package/dist/docs/classes/TokenDataIntegration.html +0 -41
- package/dist/docs/classes/Transaction.html +0 -87
- package/dist/docs/classes/TransactionInstruction.html +0 -10
- package/dist/docs/classes/WebSocketClient.html +0 -47
- package/dist/docs/classes/WebSocketError.html +0 -40
- package/dist/docs/classes/YieldFarmingFinder.html +0 -26
- package/dist/docs/classes/ZeroCombineFetcher.html +0 -25
- package/dist/docs/functions/createSynapseClient.html +0 -2
- package/dist/docs/interfaces/AIAgentConfig.html +0 -11
- package/dist/docs/interfaces/AIAgentContext.html +0 -7
- package/dist/docs/interfaces/AIContext.html +0 -6
- package/dist/docs/interfaces/AIMethodResult.html +0 -6
- package/dist/docs/interfaces/AIRarityAnalysis.html +0 -3
- package/dist/docs/interfaces/AIResponse.html +0 -5
- package/dist/docs/interfaces/AdvancedClientConfig.html +0 -7
- package/dist/docs/interfaces/AdvancedEvents.html +0 -9
- package/dist/docs/interfaces/AdvancedMetricsData.html +0 -5
- package/dist/docs/interfaces/AdvancedPerformanceMetrics.html +0 -6
- package/dist/docs/interfaces/AgentAdapter.html +0 -6
- package/dist/docs/interfaces/AgentRiskReport.html +0 -6
- package/dist/docs/interfaces/AgentTradeSuggestion.html +0 -10
- package/dist/docs/interfaces/AggregatedCollectionStats.html +0 -36
- package/dist/docs/interfaces/ArbitrageOpportunity.html +0 -8
- package/dist/docs/interfaces/AutoTradingStrategy.html +0 -13
- package/dist/docs/interfaces/BatchResponse.html +0 -4
- package/dist/docs/interfaces/BatchResult.html +0 -6
- package/dist/docs/interfaces/BatcherConfig.html +0 -5
- package/dist/docs/interfaces/BirdeyeTokenPrice.html +0 -4
- package/dist/docs/interfaces/BlockhashInfo.html +0 -5
- package/dist/docs/interfaces/BuildSwapTxResult.html +0 -7
- package/dist/docs/interfaces/CacheStats.html +0 -9
- package/dist/docs/interfaces/ChunkInfo.html +0 -10
- package/dist/docs/interfaces/CircuitBreakerConfig.html +0 -6
- package/dist/docs/interfaces/ClientStats.html +0 -14
- package/dist/docs/interfaces/CollectionStats.html +0 -17
- package/dist/docs/interfaces/CollectionTrends.html +0 -7
- package/dist/docs/interfaces/CompressedNFTInfo.html +0 -13
- package/dist/docs/interfaces/ConnectionEvents.html +0 -11
- package/dist/docs/interfaces/DeFiConfig.html +0 -16
- package/dist/docs/interfaces/DiagnosticsResult.html +0 -6
- package/dist/docs/interfaces/ExecuteSwapParams.html +0 -10
- package/dist/docs/interfaces/FetchConfig.html +0 -7
- package/dist/docs/interfaces/FlashLoanAction.html +0 -6
- package/dist/docs/interfaces/FlashLoanSimulation.html +0 -9
- package/dist/docs/interfaces/GatewayStats.html +0 -7
- package/dist/docs/interfaces/InscriptionResult.html +0 -18
- package/dist/docs/interfaces/InvestmentRecommendation.html +0 -10
- package/dist/docs/interfaces/JitoBundleParams.html +0 -4
- package/dist/docs/interfaces/JitoBundleResult.html +0 -6
- package/dist/docs/interfaces/JitoBundleStatus.html +0 -6
- package/dist/docs/interfaces/JitoTipAccount.html +0 -3
- package/dist/docs/interfaces/JupiterQuoteParams.html +0 -10
- package/dist/docs/interfaces/JupiterQuoteRequest.html +0 -17
- package/dist/docs/interfaces/JupiterQuoteResponse.html +0 -13
- package/dist/docs/interfaces/JupiterSwapOptions.html +0 -8
- package/dist/docs/interfaces/JupiterSwapResponse.html +0 -4
- package/dist/docs/interfaces/JupiterTokenPrice.html +0 -5
- package/dist/docs/interfaces/LoadBalancerConfig.html +0 -5
- package/dist/docs/interfaces/MEVProtectionConfig.html +0 -11
- package/dist/docs/interfaces/MEVProtectionResult.html +0 -6
- package/dist/docs/interfaces/MagicEdenActivity.html +0 -22
- package/dist/docs/interfaces/MagicEdenCollection.html +0 -22
- package/dist/docs/interfaces/MagicEdenCollectionStats.html +0 -17
- package/dist/docs/interfaces/MagicEdenErrorResponse.html +0 -4
- package/dist/docs/interfaces/MagicEdenListing.html +0 -24
- package/dist/docs/interfaces/MarketplaceClientConfig.html +0 -14
- package/dist/docs/interfaces/MarketplaceFloorPrices.html +0 -7
- package/dist/docs/interfaces/MarketplaceListing.html +0 -9
- package/dist/docs/interfaces/MerkleLeaf.html +0 -6
- package/dist/docs/interfaces/MerkleProof.html +0 -8
- package/dist/docs/interfaces/MerkleValidationResult.html +0 -10
- package/dist/docs/interfaces/MultiChainSignal.html +0 -8
- package/dist/docs/interfaces/NFTAttribute.html +0 -4
- package/dist/docs/interfaces/NFTConfig.html +0 -6
- package/dist/docs/interfaces/NFTInfo.html +0 -10
- package/dist/docs/interfaces/NFTMetadata.html +0 -9
- package/dist/docs/interfaces/NormalizedMarketplaceListing.html +0 -18
- package/dist/docs/interfaces/OOBECompatibleAgent.html +0 -8
- package/dist/docs/interfaces/PDAConfig.html +0 -10
- package/dist/docs/interfaces/ParsedAccountInfo.html +0 -8
- package/dist/docs/interfaces/PerformanceMetrics.html +0 -9
- package/dist/docs/interfaces/PortfolioMetrics.html +0 -10
- package/dist/docs/interfaces/PriceData.html +0 -8
- package/dist/docs/interfaces/ProofRecord.html +0 -12
- package/dist/docs/interfaces/QuoteRequestCommon.html +0 -11
- package/dist/docs/interfaces/QuoteResponse.html +0 -6
- package/dist/docs/interfaces/RarityAlgorithmConfig.html +0 -3
- package/dist/docs/interfaces/RarityScore.html +0 -8
- package/dist/docs/interfaces/RaydiumBuildSwapParams.html +0 -14
- package/dist/docs/interfaces/RaydiumQuoteRequest.html +0 -14
- package/dist/docs/interfaces/RequestOptions.html +0 -12
- package/dist/docs/interfaces/RetryAttempt.html +0 -5
- package/dist/docs/interfaces/SecurityThreat.html +0 -6
- package/dist/docs/interfaces/Signer.html +0 -4
- package/dist/docs/interfaces/SmartCacheConfig.html +0 -7
- package/dist/docs/interfaces/SmartQueryOptions.html +0 -10
- package/dist/docs/interfaces/StressTestOptions.html +0 -8
- package/dist/docs/interfaces/StressTestResult.html +0 -9
- package/dist/docs/interfaces/SubscriptionConfig.html +0 -9
- package/dist/docs/interfaces/SubscriptionOptions.html +0 -7
- package/dist/docs/interfaces/SubscriptionResult.html +0 -7
- package/dist/docs/interfaces/SynapseConfig.html +0 -13
- package/dist/docs/interfaces/SynapseLikeClient.html +0 -4
- package/dist/docs/interfaces/TensorCollectionStats.html +0 -33
- package/dist/docs/interfaces/TensorErrorResponse.html +0 -5
- package/dist/docs/interfaces/TensorListing.html +0 -16
- package/dist/docs/interfaces/TensorSale.html +0 -16
- package/dist/docs/interfaces/TokenAccountInfo.html +0 -12
- package/dist/docs/interfaces/TokenHolding.html +0 -8
- package/dist/docs/interfaces/TokenInfo.html +0 -7
- package/dist/docs/interfaces/TokenLargestAccount.html +0 -5
- package/dist/docs/interfaces/TokenSupply.html +0 -5
- package/dist/docs/interfaces/TradeExecution.html +0 -14
- package/dist/docs/interfaces/TransactionSignature.html +0 -8
- package/dist/docs/interfaces/UpstreamHealth.html +0 -8
- package/dist/docs/interfaces/UserPDAs.html +0 -10
- package/dist/docs/interfaces/WebSocketConfig.html +0 -12
- package/dist/docs/interfaces/WebSocketMessage.html +0 -6
- package/dist/docs/interfaces/YieldOpportunity.html +0 -8
- package/dist/docs/interfaces/ZeroChunk.html +0 -8
- package/dist/docs/interfaces/ZeroCombineResult.html +0 -3
- package/dist/docs/media/README-1.md +0 -778
- package/dist/docs/media/README-2.md +0 -1050
- package/dist/docs/media/README-3.md +0 -1522
- package/dist/docs/media/README-4.md +0 -869
- package/dist/docs/media/README-5.md +0 -857
- package/dist/docs/media/README-6.md +0 -727
- package/dist/docs/media/README.md +0 -766
- package/dist/docs/types/BlockhashWithExpiryBlockHeight.html +0 -1
- package/dist/docs/types/RiskTolerance.html +0 -1
- package/dist/docs/types/SimulatedTransactionResponse.html +0 -1
- package/dist/esm/advanced/circuit-breaker.d.ts +0 -111
- package/dist/esm/advanced/circuit-breaker.d.ts.map +0 -1
- package/dist/esm/advanced/circuit-breaker.js +0 -274
- package/dist/esm/advanced/circuit-breaker.js.map +0 -1
- package/dist/esm/advanced/index.d.ts +0 -8
- package/dist/esm/advanced/index.d.ts.map +0 -1
- package/dist/esm/advanced/index.js +0 -7
- package/dist/esm/advanced/index.js.map +0 -1
- package/dist/esm/advanced/load-balancer.d.ts +0 -114
- package/dist/esm/advanced/load-balancer.d.ts.map +0 -1
- package/dist/esm/advanced/load-balancer.js +0 -350
- package/dist/esm/advanced/load-balancer.js.map +0 -1
- package/dist/esm/advanced/smart-caching.d.ts +0 -113
- package/dist/esm/advanced/smart-caching.d.ts.map +0 -1
- package/dist/esm/advanced/smart-caching.js +0 -457
- package/dist/esm/advanced/smart-caching.js.map +0 -1
- package/dist/esm/advanced/types.d.ts +0 -228
- package/dist/esm/advanced/types.d.ts.map +0 -1
- package/dist/esm/advanced/types.js +0 -6
- package/dist/esm/advanced/types.js.map +0 -1
- package/dist/esm/ai/merkle-operation.d.ts +0 -245
- package/dist/esm/ai/merkle-operation.d.ts.map +0 -1
- package/dist/esm/ai/merkle-operation.js +0 -485
- package/dist/esm/ai/merkle-operation.js.map +0 -1
- package/dist/esm/ai/pda-manager.d.ts +0 -134
- package/dist/esm/ai/pda-manager.d.ts.map +0 -1
- package/dist/esm/ai/pda-manager.js +0 -213
- package/dist/esm/ai/pda-manager.js.map +0 -1
- package/dist/esm/ai/types.ai.d.ts +0 -172
- package/dist/esm/ai/types.ai.d.ts.map +0 -1
- package/dist/esm/ai/types.ai.js +0 -13
- package/dist/esm/ai/types.ai.js.map +0 -1
- package/dist/esm/ai/zero-combine-fetcher.d.ts +0 -171
- package/dist/esm/ai/zero-combine-fetcher.d.ts.map +0 -1
- package/dist/esm/ai/zero-combine-fetcher.js +0 -408
- package/dist/esm/ai/zero-combine-fetcher.js.map +0 -1
- package/dist/esm/client.d.ts +0 -83
- package/dist/esm/client.d.ts.map +0 -1
- package/dist/esm/client.js +0 -283
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/defi/advanced-features.d.ts +0 -207
- package/dist/esm/defi/advanced-features.d.ts.map +0 -1
- package/dist/esm/defi/advanced-features.js +0 -374
- package/dist/esm/defi/advanced-features.js.map +0 -1
- package/dist/esm/defi/index.d.ts +0 -29
- package/dist/esm/defi/index.d.ts.map +0 -1
- package/dist/esm/defi/index.js +0 -37
- package/dist/esm/defi/index.js.map +0 -1
- package/dist/esm/defi/jito.d.ts +0 -118
- package/dist/esm/defi/jito.d.ts.map +0 -1
- package/dist/esm/defi/jito.js +0 -287
- package/dist/esm/defi/jito.js.map +0 -1
- package/dist/esm/defi/jupiter.d.ts +0 -143
- package/dist/esm/defi/jupiter.d.ts.map +0 -1
- package/dist/esm/defi/jupiter.js +0 -215
- package/dist/esm/defi/jupiter.js.map +0 -1
- package/dist/esm/defi/price-feed.d.ts +0 -63
- package/dist/esm/defi/price-feed.d.ts.map +0 -1
- package/dist/esm/defi/price-feed.js +0 -149
- package/dist/esm/defi/price-feed.js.map +0 -1
- package/dist/esm/defi/token-data.d.ts +0 -83
- package/dist/esm/defi/token-data.d.ts.map +0 -1
- package/dist/esm/defi/token-data.js +0 -201
- package/dist/esm/defi/token-data.js.map +0 -1
- package/dist/esm/defi/unstable-features.d.ts +0 -207
- package/dist/esm/defi/unstable-features.d.ts.map +0 -1
- package/dist/esm/defi/unstable-features.js +0 -374
- package/dist/esm/defi/unstable-features.js.map +0 -1
- package/dist/esm/defi/utils.d.ts +0 -265
- package/dist/esm/defi/utils.d.ts.map +0 -1
- package/dist/esm/defi/utils.js +0 -582
- package/dist/esm/defi/utils.js.map +0 -1
- package/dist/esm/methods/solana-rpc.d.ts +0 -362
- package/dist/esm/methods/solana-rpc.d.ts.map +0 -1
- package/dist/esm/methods/solana-rpc.js +0 -532
- package/dist/esm/methods/solana-rpc.js.map +0 -1
- package/dist/esm/nft/advanced-features.d.ts +0 -205
- package/dist/esm/nft/advanced-features.d.ts.map +0 -1
- package/dist/esm/nft/advanced-features.js +0 -489
- package/dist/esm/nft/advanced-features.js.map +0 -1
- package/dist/esm/nft/clients/index.d.ts +0 -8
- package/dist/esm/nft/clients/index.d.ts.map +0 -1
- package/dist/esm/nft/clients/index.js +0 -8
- package/dist/esm/nft/clients/index.js.map +0 -1
- package/dist/esm/nft/clients/magic-eden-client.d.ts +0 -101
- package/dist/esm/nft/clients/magic-eden-client.d.ts.map +0 -1
- package/dist/esm/nft/clients/magic-eden-client.js +0 -259
- package/dist/esm/nft/clients/magic-eden-client.js.map +0 -1
- package/dist/esm/nft/clients/metaplex-onchain-client.d.ts +0 -154
- package/dist/esm/nft/clients/metaplex-onchain-client.d.ts.map +0 -1
- package/dist/esm/nft/clients/metaplex-onchain-client.js +0 -404
- package/dist/esm/nft/clients/metaplex-onchain-client.js.map +0 -1
- package/dist/esm/nft/clients/tensor-client.d.ts +0 -79
- package/dist/esm/nft/clients/tensor-client.d.ts.map +0 -1
- package/dist/esm/nft/clients/tensor-client.js +0 -218
- package/dist/esm/nft/clients/tensor-client.js.map +0 -1
- package/dist/esm/nft/index.d.ts +0 -13
- package/dist/esm/nft/index.d.ts.map +0 -1
- package/dist/esm/nft/index.js +0 -15
- package/dist/esm/nft/index.js.map +0 -1
- package/dist/esm/nft/types.nft.d.ts +0 -342
- package/dist/esm/nft/types.nft.d.ts.map +0 -1
- package/dist/esm/nft/types.nft.js +0 -2
- package/dist/esm/nft/types.nft.js.map +0 -1
- package/dist/esm/nft/utils.d.ts +0 -46
- package/dist/esm/nft/utils.d.ts.map +0 -1
- package/dist/esm/nft/utils.js +0 -276
- package/dist/esm/nft/utils.js.map +0 -1
- package/dist/esm/types.d.ts +0 -525
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js +0 -178
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/utils/constant.d.ts +0 -8
- package/dist/esm/utils/constant.d.ts.map +0 -1
- package/dist/esm/utils/constant.js +0 -8
- package/dist/esm/utils/constant.js.map +0 -1
package/dist/docs/index.html
CHANGED
|
@@ -1,776 +1,634 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@oobe-protocol-labs/synapse-client-sdk</title><meta name="description" content="Documentation for @oobe-protocol-labs/synapse-client-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@oobe-protocol-labs/synapse-client-sdk</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>@oobe-protocol-labs/synapse-client-sdk</h1></div><div class="tsd-panel tsd-typography"><a id="md:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
</
|
|
5
|
-
<
|
|
6
|
-
</code><button>Copy</button></pre>
|
|
7
|
-
|
|
8
|
-
<a id="md:features-matrix" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Features Matrix<a href="#md:features-matrix" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><table>
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@oobe-protocol-labs/synapse-client-sdk</title><meta name="description" content="Documentation for @oobe-protocol-labs/synapse-client-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@oobe-protocol-labs/synapse-client-sdk</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>@oobe-protocol-labs/synapse-client-sdk</h1></div><div class="tsd-panel tsd-typography"><a id="md:oobe-protocol-labssynapse-client-sdk" class="tsd-anchor"></a><h1 class="tsd-anchor-link">@oobe-protocol-labs/synapse-client-sdk<a href="#md:oobe-protocol-labssynapse-client-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Typed Solana RPC gateway SDK for Node.js and the browser.
|
|
2
|
+
Covers JSON-RPC, WebSocket PubSub, gRPC/Geyser streaming, DAS (Digital Asset Standard),
|
|
3
|
+
AI agent tooling (LangChain + Zod), and the x402 HTTP payment protocol --
|
|
4
|
+
all behind a single <code>SynapseClient</code> entry point.</p>
|
|
5
|
+
<table>
|
|
9
6
|
<thead>
|
|
10
7
|
<tr>
|
|
11
|
-
<th
|
|
12
|
-
<th
|
|
13
|
-
<th>Status</th>
|
|
14
|
-
<th>Performance</th>
|
|
8
|
+
<th></th>
|
|
9
|
+
<th></th>
|
|
15
10
|
</tr>
|
|
16
11
|
</thead>
|
|
17
12
|
<tbody>
|
|
18
13
|
<tr>
|
|
19
|
-
<td><strong>
|
|
20
|
-
<td>
|
|
21
|
-
<td>Production</td>
|
|
22
|
-
<td>10k+ req/s</td>
|
|
23
|
-
</tr>
|
|
24
|
-
<tr>
|
|
25
|
-
<td><strong>Advanced</strong></td>
|
|
26
|
-
<td>Circuit breaker, smart caching, load balancing</td>
|
|
27
|
-
<td>Production</td>
|
|
28
|
-
<td>99.9% uptime</td>
|
|
29
|
-
</tr>
|
|
30
|
-
<tr>
|
|
31
|
-
<td><strong>WebSocket</strong></td>
|
|
32
|
-
<td>Real-time subscriptions, auto-reconnect</td>
|
|
33
|
-
<td>Production</td>
|
|
34
|
-
<td><50ms latency</td>
|
|
14
|
+
<td><strong>Version</strong></td>
|
|
15
|
+
<td>1.0.1</td>
|
|
35
16
|
</tr>
|
|
36
17
|
<tr>
|
|
37
|
-
<td><strong>
|
|
38
|
-
<td>
|
|
39
|
-
<td>Production</td>
|
|
40
|
-
<td>Sub-second execution</td>
|
|
18
|
+
<td><strong>License</strong></td>
|
|
19
|
+
<td>MIT</td>
|
|
41
20
|
</tr>
|
|
42
21
|
<tr>
|
|
43
|
-
<td><strong>
|
|
44
|
-
<td
|
|
45
|
-
<td>Production</td>
|
|
46
|
-
<td><100ms queries</td>
|
|
22
|
+
<td><strong>Node</strong></td>
|
|
23
|
+
<td>>= 18.0.0</td>
|
|
47
24
|
</tr>
|
|
48
25
|
<tr>
|
|
49
|
-
<td><strong>
|
|
50
|
-
<td
|
|
51
|
-
<td>Production</td>
|
|
52
|
-
<td>ML-powered</td>
|
|
53
|
-
</tr>
|
|
54
|
-
<tr>
|
|
55
|
-
<td><strong>Analytics</strong></td>
|
|
56
|
-
<td>Metrics, predictions, anomaly detection</td>
|
|
57
|
-
<td>Production</td>
|
|
58
|
-
<td>Real-time insights</td>
|
|
26
|
+
<td><strong>TypeScript</strong></td>
|
|
27
|
+
<td>>= 5.0</td>
|
|
59
28
|
</tr>
|
|
60
29
|
<tr>
|
|
61
|
-
<td><strong>
|
|
62
|
-
<td>
|
|
63
|
-
<td>Production</td>
|
|
64
|
-
<td>Type-safe</td>
|
|
30
|
+
<td><strong>Registry</strong></td>
|
|
31
|
+
<td><code>npm i @oobe-protocol-labs/synapse-client-sdk</code></td>
|
|
65
32
|
</tr>
|
|
66
33
|
</tbody>
|
|
67
34
|
</table>
|
|
68
|
-
<
|
|
35
|
+
<hr>
|
|
36
|
+
<a id="md:table-of-contents" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Table of Contents<a href="#md:table-of-contents" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><ol>
|
|
37
|
+
<li><a href="#md:installation">Installation</a></li>
|
|
38
|
+
<li><a href="#md:quick-start">Quick Start</a></li>
|
|
39
|
+
<li><a href="#md:architecture">Architecture</a></li>
|
|
40
|
+
<li><a href="#md:module-reference">Module Reference</a>
|
|
41
|
+
<ul>
|
|
42
|
+
<li><a href="#md:core">core/</a></li>
|
|
43
|
+
<li><a href="#md:rpc">rpc/</a></li>
|
|
44
|
+
<li><a href="#md:das">das/</a></li>
|
|
45
|
+
<li><a href="#md:websocket">websocket/</a></li>
|
|
46
|
+
<li><a href="#md:grpc">grpc/</a></li>
|
|
47
|
+
<li><a href="#md:ai">ai/</a></li>
|
|
48
|
+
<li><a href="#md:utils">utils/</a></li>
|
|
49
|
+
</ul>
|
|
50
|
+
</li>
|
|
51
|
+
<li><a href="#md:endpoints-and-regions">Endpoints and Regions</a></li>
|
|
52
|
+
<li><a href="#md:branded-types">Branded Types</a></li>
|
|
53
|
+
<li><a href="#md:ai-agent-integration">AI Agent Integration</a>
|
|
54
|
+
<ul>
|
|
55
|
+
<li><a href="#md:zod-schemas-and-langchain-tools">Zod Schemas and LangChain Tools</a></li>
|
|
56
|
+
<li><a href="#md:protocol-tools">Protocol Tools (Jupiter, Raydium, Metaplex)</a></li>
|
|
57
|
+
<li><a href="#md:agent-commerce-gateway">Agent Commerce Gateway</a></li>
|
|
58
|
+
<li><a href="#md:x402-payment-protocol">x402 Payment Protocol</a></li>
|
|
59
|
+
</ul>
|
|
60
|
+
</li>
|
|
61
|
+
<li><a href="#md:testing">Testing</a></li>
|
|
62
|
+
<li><a href="#md:build-and-development">Build and Development</a></li>
|
|
63
|
+
<li><a href="#md:package-exports">Package Exports</a></li>
|
|
64
|
+
<li><a href="#md:documentation">Documentation</a></li>
|
|
65
|
+
<li><a href="#md:contributing">Contributing</a></li>
|
|
66
|
+
<li><a href="#md:license">License</a></li>
|
|
67
|
+
</ol>
|
|
68
|
+
<hr>
|
|
69
|
+
<a id="md:installation" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Installation<a href="#md:installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="bash"><span class="hl-7"># pnpm (recommended)</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">add</span><span class="hl-1"> </span><span class="hl-3">@oobe-protocol-labs/synapse-client-sdk</span><br/><br/><span class="hl-7"># npm</span><br/><span class="hl-6">npm</span><span class="hl-1"> </span><span class="hl-3">install</span><span class="hl-1"> </span><span class="hl-3">@oobe-protocol-labs/synapse-client-sdk</span><br/><br/><span class="hl-7"># yarn</span><br/><span class="hl-6">yarn</span><span class="hl-1"> </span><span class="hl-3">add</span><span class="hl-1"> </span><span class="hl-3">@oobe-protocol-labs/synapse-client-sdk</span>
|
|
69
70
|
</code><button type="button">Copy</button></pre>
|
|
70
71
|
|
|
71
|
-
<
|
|
72
|
+
<p>TypeScript is a peer dependency. Ensure <code>typescript >= 5.0</code> is installed in your project.</p>
|
|
73
|
+
<hr>
|
|
74
|
+
<a id="md:quick-start" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Quick Start<a href="#md:quick-start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">SynapseClient</span><span class="hl-1">, </span><span class="hl-2">Pubkey</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">client</span><span class="hl-1"> = </span><span class="hl-4">new</span><span class="hl-1"> </span><span class="hl-6">SynapseClient</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-2">endpoint:</span><span class="hl-1"> </span><span class="hl-3">'https://rpc.synapse.com'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">apiKey:</span><span class="hl-1"> </span><span class="hl-3">'sk-...'</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-7">// JSON-RPC</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">balance</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">client</span><span class="hl-1">.</span><span class="hl-2">rpc</span><span class="hl-1">.</span><span class="hl-6">getBalance</span><span class="hl-1">(</span><span class="hl-6">Pubkey</span><span class="hl-1">(</span><span class="hl-3">'So11111111111111111111111111111111'</span><span class="hl-1">));</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-2">balance</span><span class="hl-1">.</span><span class="hl-2">value</span><span class="hl-1">); </span><span class="hl-7">// lamports</span><br/><br/><span class="hl-7">// DAS (compressed NFTs)</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">asset</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">client</span><span class="hl-1">.</span><span class="hl-2">das</span><span class="hl-1">.</span><span class="hl-6">getAsset</span><span class="hl-1">(</span><span class="hl-6">Pubkey</span><span class="hl-1">(</span><span class="hl-3">'...'</span><span class="hl-1">));</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-2">asset</span><span class="hl-1">.</span><span class="hl-2">content</span><span class="hl-1">.</span><span class="hl-2">metadata</span><span class="hl-1">?.</span><span class="hl-2">name</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// WebSocket</span><br/><span class="hl-2">client</span><span class="hl-1">.</span><span class="hl-2">ws</span><span class="hl-1">.</span><span class="hl-6">onSlotChange</span><span class="hl-1">((</span><span class="hl-2">slot</span><span class="hl-1">) </span><span class="hl-4">=></span><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">'slot'</span><span class="hl-1">, </span><span class="hl-2">slot</span><span class="hl-1">));</span><br/><br/><span class="hl-7">// Cleanup</span><br/><span class="hl-2">client</span><span class="hl-1">.</span><span class="hl-6">destroy</span><span class="hl-1">();</span>
|
|
72
75
|
</code><button type="button">Copy</button></pre>
|
|
73
76
|
|
|
74
|
-
<a id="md:
|
|
77
|
+
<a id="md:factory-helpers" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Factory helpers<a href="#md:factory-helpers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">createSynapse</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">client</span><span class="hl-1"> = </span><span class="hl-6">createSynapse</span><span class="hl-1">({ </span><span class="hl-2">endpoint:</span><span class="hl-1"> </span><span class="hl-3">'https://rpc.synapse.com'</span><span class="hl-1"> });</span>
|
|
75
78
|
</code><button type="button">Copy</button></pre>
|
|
76
79
|
|
|
77
|
-
<
|
|
78
|
-
<pre><code class="typescript"><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">client</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">SynapseClient</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">endpoint:</span><span class="hl-0"> [</span><br/><span class="hl-0"> </span><span class="hl-4">'https://rpc1.synapse.com'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">'https://rpc2.synapse.com'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">'https://rpc3.synapse.com'</span><span class="hl-0">,</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-1">apiKey:</span><span class="hl-0"> </span><span class="hl-1">process</span><span class="hl-0">.</span><span class="hl-1">env</span><span class="hl-0">.</span><span class="hl-2">SYNAPSE_API_KEY</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">timeout:</span><span class="hl-0"> </span><span class="hl-8">30000</span><span class="hl-0">,</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-5">// Client automatically uses next endpoint on failure</span><br/><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'endpoint-rotate'</span><span class="hl-0">, ({ </span><span class="hl-1">oldEndpoint</span><span class="hl-0">, </span><span class="hl-1">newEndpoint</span><span class="hl-0">, </span><span class="hl-1">reason</span><span class="hl-0"> }) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">`Rotated from </span><span class="hl-7">${</span><span class="hl-1">oldEndpoint</span><span class="hl-7">}</span><span class="hl-4"> to </span><span class="hl-7">${</span><span class="hl-1">newEndpoint</span><span class="hl-7">}</span><span class="hl-4">: </span><span class="hl-7">${</span><span class="hl-1">reason</span><span class="hl-7">}</span><span class="hl-4">`</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
|
|
80
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">SynapseClient</span><span class="hl-1">, </span><span class="hl-2">SynapseNetwork</span><span class="hl-1">, </span><span class="hl-2">SynapseRegion</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// Auto-resolved endpoint by network and region</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">client</span><span class="hl-1"> = </span><span class="hl-2">SynapseClient</span><span class="hl-1">.</span><span class="hl-6">fromEndpoint</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-2">network:</span><span class="hl-1"> </span><span class="hl-2">SynapseNetwork</span><span class="hl-1">.</span><span class="hl-2">Mainnet</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">region:</span><span class="hl-1"> </span><span class="hl-2">SynapseRegion</span><span class="hl-1">.</span><span class="hl-5">US</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">apiKey:</span><span class="hl-1"> </span><span class="hl-3">'sk-...'</span><span class="hl-1">,</span><br/><span class="hl-1">});</span>
|
|
79
81
|
</code><button type="button">Copy</button></pre>
|
|
80
82
|
|
|
81
83
|
<hr>
|
|
82
|
-
<a id="md:
|
|
83
|
-
</code><button
|
|
84
|
+
<a id="md:architecture" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Architecture<a href="#md:architecture" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code><span class="hl-2">SynapseClient</span><br/><span class="hl-1"> |</span><br/><span class="hl-1"> |-- .</span><span class="hl-2">rpc</span><span class="hl-1"> </span><span class="hl-2">SolanaRpc</span><span class="hl-1"> </span><span class="hl-8">53</span><span class="hl-1"> </span><span class="hl-5">JSON</span><span class="hl-1">-</span><span class="hl-5">RPC</span><span class="hl-1"> </span><span class="hl-6">methods</span><span class="hl-1"> (</span><span class="hl-2">lazy</span><span class="hl-1">-</span><span class="hl-2">loaded</span><span class="hl-1">)</span><br/><span class="hl-1"> |-- .</span><span class="hl-2">das</span><span class="hl-1"> </span><span class="hl-2">DasClient</span><span class="hl-1"> </span><span class="hl-8">11</span><span class="hl-1"> </span><span class="hl-5">DAS</span><span class="hl-1">/</span><span class="hl-2">Metaplex</span><span class="hl-1"> </span><span class="hl-2">Read</span><span class="hl-1"> </span><span class="hl-5">API</span><span class="hl-1"> </span><span class="hl-2">methods</span><br/><span class="hl-1"> |-- .</span><span class="hl-2">ws</span><span class="hl-1"> </span><span class="hl-2">WsClient</span><span class="hl-1"> </span><span class="hl-2">WebSocket</span><span class="hl-1"> </span><span class="hl-2">PubSub</span><span class="hl-1"> </span><span class="hl-2">subscriptions</span><br/><span class="hl-1"> |-- .</span><span class="hl-2">grpc</span><span class="hl-1"> </span><span class="hl-2">GrpcTransport</span><span class="hl-1"> </span><span class="hl-2">gRPC</span><span class="hl-1"> </span><span class="hl-2">unary</span><span class="hl-1"> </span><span class="hl-2">calls</span><span class="hl-1"> + </span><span class="hl-2">Geyser</span><span class="hl-1"> </span><span class="hl-2">parser</span><br/><span class="hl-1"> |</span><br/><span class="hl-1"> |-- </span><span class="hl-6">call</span><span class="hl-1">() </span><span class="hl-2">Raw</span><span class="hl-1"> </span><span class="hl-5">JSON</span><span class="hl-1">-</span><span class="hl-5">RPC</span><span class="hl-1"> </span><span class="hl-2">call</span><br/><span class="hl-1"> |-- </span><span class="hl-6">batch</span><span class="hl-1">() </span><span class="hl-2">Batched</span><span class="hl-1"> </span><span class="hl-5">JSON</span><span class="hl-1">-</span><span class="hl-5">RPC</span><span class="hl-1"> </span><span class="hl-2">calls</span><br/><span class="hl-1"> |-- </span><span class="hl-6">destroy</span><span class="hl-1">() </span><span class="hl-2">Tear</span><span class="hl-1"> </span><span class="hl-2">down</span><span class="hl-1"> </span><span class="hl-2">all</span><span class="hl-1"> </span><span class="hl-2">connections</span>
|
|
85
|
+
</code><button>Copy</button></pre>
|
|
84
86
|
|
|
85
|
-
<
|
|
87
|
+
<p>Sub-clients are initialized on first property access.
|
|
88
|
+
If you never touch <code>client.grpc</code>, the gRPC module is never loaded.</p>
|
|
89
|
+
<p>All I/O flows through <code>HttpTransport</code> (<code>src/core/transport.ts</code>), which handles
|
|
90
|
+
JSON-RPC framing, timeout, abort signals, and batch aggregation.</p>
|
|
91
|
+
<hr>
|
|
92
|
+
<a id="md:module-reference" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Module Reference<a href="#md:module-reference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="md:core" class="tsd-anchor"></a><h3 class="tsd-anchor-link">core/<a href="#md:core" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Foundation layer. No external dependencies.</p>
|
|
93
|
+
<table>
|
|
86
94
|
<thead>
|
|
87
95
|
<tr>
|
|
88
|
-
<th>
|
|
89
|
-
<th>
|
|
90
|
-
<th>Description</th>
|
|
96
|
+
<th>File</th>
|
|
97
|
+
<th>Purpose</th>
|
|
91
98
|
</tr>
|
|
92
99
|
</thead>
|
|
93
100
|
<tbody>
|
|
94
101
|
<tr>
|
|
95
|
-
<td><code>
|
|
96
|
-
<td
|
|
97
|
-
<td>Execute single RPC call</td>
|
|
98
|
-
</tr>
|
|
99
|
-
<tr>
|
|
100
|
-
<td><code>batch</code></td>
|
|
101
|
-
<td><code>(requests: RpcRequest[]) => Promise<RpcResponse[]></code></td>
|
|
102
|
-
<td>Execute multiple RPC calls in parallel</td>
|
|
102
|
+
<td><code>src/core/types.ts</code></td>
|
|
103
|
+
<td>Branded primitive types: <code>Pubkey</code>, <code>Signature</code>, <code>Slot</code>, <code>Epoch</code>, <code>Lamports</code>, <code>UnixTimestamp</code>. RPC wire types, account shapes, transaction metadata, validator info, token amounts, filter types.</td>
|
|
103
104
|
</tr>
|
|
104
105
|
<tr>
|
|
105
|
-
<td><code>
|
|
106
|
-
<td
|
|
107
|
-
<td>Get client performance statistics</td>
|
|
106
|
+
<td><code>src/core/errors.ts</code></td>
|
|
107
|
+
<td>Error hierarchy: <code>SynapseError</code> (base), <code>NetworkError</code>, <code>TimeoutError</code>, <code>RpcMethodNotFoundError</code>, <code>UpstreamError</code>.</td>
|
|
108
108
|
</tr>
|
|
109
109
|
<tr>
|
|
110
|
-
<td><code>
|
|
111
|
-
<td><code>
|
|
112
|
-
<td>Update RPC endpoint(s)</td>
|
|
110
|
+
<td><code>src/core/transport.ts</code></td>
|
|
111
|
+
<td><code>HttpTransport</code> class -- JSON-RPC HTTP transport. <code>request()</code> for single calls, <code>batch()</code> for aggregated calls.</td>
|
|
113
112
|
</tr>
|
|
114
113
|
<tr>
|
|
115
|
-
<td><code>
|
|
116
|
-
<td><code>
|
|
117
|
-
<td>Clear internal request cache</td>
|
|
118
|
-
</tr>
|
|
119
|
-
<tr>
|
|
120
|
-
<td><code>destroy</code></td>
|
|
121
|
-
<td><code>() => Promise<void></code></td>
|
|
122
|
-
<td>Cleanup resources and connections</td>
|
|
114
|
+
<td><code>src/core/client.ts</code></td>
|
|
115
|
+
<td><code>SynapseClient</code> class -- top-level orchestrator. Lazy getters for <code>.rpc</code>, <code>.das</code>, <code>.ws</code>, <code>.grpc</code>. Static <code>fromEndpoint()</code> factory.</td>
|
|
123
116
|
</tr>
|
|
124
117
|
</tbody>
|
|
125
118
|
</table>
|
|
126
|
-
<a id="md:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
<hr>
|
|
130
|
-
<a id="md:module-documentation" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Module Documentation<a href="#md:module-documentation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="md:1-advanced-features-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">1. Advanced Features Module<a href="#md:1-advanced-features-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="media/README.md"><code>src/advanced/</code></a></p>
|
|
131
|
-
<p>Enterprise-grade resilience and performance optimization.</p>
|
|
132
|
-
<a id="md:components" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Components<a href="#md:components" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
119
|
+
<a id="md:rpc" class="tsd-anchor"></a><h3 class="tsd-anchor-link">rpc/<a href="#md:rpc" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>53 Solana JSON-RPC methods. Each method lives in its own file under <code>src/rpc/methods/</code> for tree-shaking.</p>
|
|
120
|
+
<table>
|
|
133
121
|
<thead>
|
|
134
122
|
<tr>
|
|
135
|
-
<th>
|
|
123
|
+
<th>File</th>
|
|
136
124
|
<th>Purpose</th>
|
|
137
|
-
<th>Key Features</th>
|
|
138
125
|
</tr>
|
|
139
126
|
</thead>
|
|
140
127
|
<tbody>
|
|
141
128
|
<tr>
|
|
142
|
-
<td><
|
|
143
|
-
<td>
|
|
144
|
-
<td>State machine (closed/open/half-open), automatic recovery, fallback support</td>
|
|
129
|
+
<td><code>src/rpc/solana-rpc.ts</code></td>
|
|
130
|
+
<td><code>SolanaRpc</code> facade class. Delegates to standalone functions.</td>
|
|
145
131
|
</tr>
|
|
146
132
|
<tr>
|
|
147
|
-
<td><
|
|
148
|
-
<td>
|
|
149
|
-
<td>L1 (memory), L2 (extended), L3 (Redis), ML predictive loading, compression</td>
|
|
133
|
+
<td><code>src/rpc/methods/*.ts</code></td>
|
|
134
|
+
<td>One file per RPC method. Each exports a typed async function and optional <code>Opts</code> interface.</td>
|
|
150
135
|
</tr>
|
|
151
136
|
<tr>
|
|
152
|
-
<td><
|
|
153
|
-
<td>
|
|
154
|
-
<td>Round-robin, weighted, least-connections, IP hash, EWMA strategies</td>
|
|
137
|
+
<td><code>src/rpc/methods/index.ts</code></td>
|
|
138
|
+
<td>Barrel re-export.</td>
|
|
155
139
|
</tr>
|
|
156
140
|
</tbody>
|
|
157
141
|
</table>
|
|
158
|
-
<
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<p><strong><a href="media/README.md">Read Full Documentation →</a></strong></p>
|
|
162
|
-
<hr>
|
|
163
|
-
<a id="md:2-websocket-client-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">2. WebSocket Client Module<a href="#md:2-websocket-client-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="media/README-1.md"><code>src/websocket/</code></a></p>
|
|
164
|
-
<p>Real-time Solana blockchain data streaming with intelligent reconnection.</p>
|
|
165
|
-
<a id="md:subscription-types" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Subscription Types<a href="#md:subscription-types" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
142
|
+
<p>Method categories:</p>
|
|
143
|
+
<table>
|
|
166
144
|
<thead>
|
|
167
145
|
<tr>
|
|
168
|
-
<th>
|
|
169
|
-
<th>
|
|
170
|
-
<th>Use Case</th>
|
|
171
|
-
<th>Commitment Options</th>
|
|
146
|
+
<th>Category</th>
|
|
147
|
+
<th>Methods</th>
|
|
172
148
|
</tr>
|
|
173
149
|
</thead>
|
|
174
150
|
<tbody>
|
|
175
151
|
<tr>
|
|
176
|
-
<td
|
|
177
|
-
<td><code>
|
|
178
|
-
|
|
179
|
-
<
|
|
152
|
+
<td>Account</td>
|
|
153
|
+
<td><code>getAccountInfo</code>, <code>getBalance</code>, <code>getMultipleAccounts</code>, <code>getProgramAccounts</code></td>
|
|
154
|
+
</tr>
|
|
155
|
+
<tr>
|
|
156
|
+
<td>Block</td>
|
|
157
|
+
<td><code>getBlock</code>, <code>getBlockHeight</code>, <code>getBlockTime</code>, <code>getBlockProduction</code>, <code>getBlocks</code>, <code>getBlocksWithLimit</code>, <code>getBlockCommitment</code></td>
|
|
180
158
|
</tr>
|
|
181
159
|
<tr>
|
|
182
|
-
<td
|
|
183
|
-
<td><code>
|
|
184
|
-
<td>Track program accounts</td>
|
|
185
|
-
<td>processed, confirmed, finalized</td>
|
|
160
|
+
<td>Transaction</td>
|
|
161
|
+
<td><code>getTransaction</code>, <code>getSignaturesForAddress</code>, <code>getSignatureStatuses</code>, <code>sendTransaction</code>, <code>simulateTransaction</code>, <code>requestAirdrop</code></td>
|
|
186
162
|
</tr>
|
|
187
163
|
<tr>
|
|
188
|
-
<td
|
|
189
|
-
<td><code>
|
|
190
|
-
<td>Block production tracking</td>
|
|
191
|
-
<td>N/A</td>
|
|
164
|
+
<td>Blockhash</td>
|
|
165
|
+
<td><code>getLatestBlockhash</code>, <code>isBlockhashValid</code></td>
|
|
192
166
|
</tr>
|
|
193
167
|
<tr>
|
|
194
|
-
<td
|
|
195
|
-
<td><code>
|
|
196
|
-
<td>Transaction confirmation</td>
|
|
197
|
-
<td>processed, confirmed, finalized</td>
|
|
168
|
+
<td>Cluster / Epoch</td>
|
|
169
|
+
<td><code>getSlot</code>, <code>getSlotLeader</code>, <code>getSlotLeaders</code>, <code>getEpochInfo</code>, <code>getEpochSchedule</code>, <code>getInflationGovernor</code>, <code>getInflationRate</code>, <code>getInflationReward</code>, <code>getVoteAccounts</code>, <code>getClusterNodes</code>, <code>getSupply</code>, <code>getRecentPerformanceSamples</code>, <code>getHealth</code>, <code>getVersion</code>, <code>getGenesisHash</code>, <code>getIdentity</code>, <code>getMinimumBalanceForRentExemption</code>, <code>minimumLedgerSlot</code>, <code>getFirstAvailableBlock</code>, <code>getHighestSnapshotSlot</code>, <code>getLeaderSchedule</code>, <code>getMaxRetransmitSlot</code>, <code>getMaxShredInsertSlot</code>, <code>getTransactionCount</code>, <code>getStakeMinimumDelegation</code>, <code>getRecentPrioritizationFees</code></td>
|
|
198
170
|
</tr>
|
|
199
171
|
<tr>
|
|
200
|
-
<td
|
|
201
|
-
<td><code>
|
|
202
|
-
<td>Transaction logs</td>
|
|
203
|
-
<td>processed, confirmed, finalized</td>
|
|
172
|
+
<td>Token</td>
|
|
173
|
+
<td><code>getTokenAccountBalance</code>, <code>getTokenAccountsByOwner</code>, <code>getTokenAccountsByDelegate</code>, <code>getTokenLargestAccounts</code>, <code>getTokenSupply</code>, <code>getLargestAccounts</code>, <code>getStakeActivation</code> (deprecated), <code>getFeeForMessage</code></td>
|
|
204
174
|
</tr>
|
|
205
175
|
</tbody>
|
|
206
176
|
</table>
|
|
207
|
-
<a id="md:
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
<p><strong><a href="media/README-1.md">Read Full Documentation →</a></strong></p>
|
|
211
|
-
<hr>
|
|
212
|
-
<a id="md:3-defi-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">3. DeFi Module<a href="#md:3-defi-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="media/README-2.md"><code>src/defi/</code></a></p>
|
|
213
|
-
<p>Production-ready DeFi integrations for Solana.</p>
|
|
214
|
-
<a id="md:integrations-matrix" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Integrations Matrix<a href="#md:integrations-matrix" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
177
|
+
<a id="md:das" class="tsd-anchor"></a><h3 class="tsd-anchor-link">das/<a href="#md:das" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>11 DAS (Digital Asset Standard) methods for NFT/cNFT via the Metaplex Read API.</p>
|
|
178
|
+
<table>
|
|
215
179
|
<thead>
|
|
216
180
|
<tr>
|
|
217
|
-
<th>
|
|
218
|
-
<th>
|
|
219
|
-
<th>Features</th>
|
|
220
|
-
<th>Performance</th>
|
|
181
|
+
<th>File</th>
|
|
182
|
+
<th>Purpose</th>
|
|
221
183
|
</tr>
|
|
222
184
|
</thead>
|
|
223
185
|
<tbody>
|
|
224
186
|
<tr>
|
|
225
|
-
<td><
|
|
226
|
-
<td>
|
|
227
|
-
<td>Swap aggregation, route optimization, price discovery</td>
|
|
228
|
-
<td><200ms quotes</td>
|
|
187
|
+
<td><code>src/das/types.ts</code></td>
|
|
188
|
+
<td>DAS type definitions: <code>DasAsset</code>, <code>DasContent</code>, <code>DasCompression</code>, <code>DasOwnership</code>, <code>DasProof</code>, <code>DasPage</code>, <code>DasSearchParams</code>, and 10+ supporting interfaces.</td>
|
|
229
189
|
</tr>
|
|
230
190
|
<tr>
|
|
231
|
-
<td><
|
|
232
|
-
<td>
|
|
233
|
-
<td>MEV protection, bundle submission, 8 regional endpoints</td>
|
|
234
|
-
<td><50ms bundle</td>
|
|
191
|
+
<td><code>src/das/client.ts</code></td>
|
|
192
|
+
<td><code>DasClient</code> facade class.</td>
|
|
235
193
|
</tr>
|
|
236
194
|
<tr>
|
|
237
|
-
<td><
|
|
238
|
-
<td>
|
|
239
|
-
<td>SPL token accounts, supply, holders, balances</td>
|
|
240
|
-
<td><100ms queries</td>
|
|
195
|
+
<td><code>src/das/methods/*.ts</code></td>
|
|
196
|
+
<td><code>getAsset</code>, <code>getAssetProof</code>, <code>getAssetBatch</code>, <code>getAssetProofBatch</code>, <code>getAssetsByOwner</code>, <code>getAssetsByGroup</code>, <code>getAssetsByCreator</code>, <code>getAssetsByAuthority</code>, <code>searchAssets</code>, <code>getSignaturesForAsset</code>, <code>getTokenAccounts</code>.</td>
|
|
241
197
|
</tr>
|
|
198
|
+
</tbody>
|
|
199
|
+
</table>
|
|
200
|
+
<a id="md:websocket" class="tsd-anchor"></a><h3 class="tsd-anchor-link">websocket/<a href="#md:websocket" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Real-time Solana PubSub over WebSocket.</p>
|
|
201
|
+
<table>
|
|
202
|
+
<thead>
|
|
242
203
|
<tr>
|
|
243
|
-
<
|
|
244
|
-
<
|
|
245
|
-
|
|
246
|
-
|
|
204
|
+
<th>File</th>
|
|
205
|
+
<th>Purpose</th>
|
|
206
|
+
</tr>
|
|
207
|
+
</thead>
|
|
208
|
+
<tbody>
|
|
209
|
+
<tr>
|
|
210
|
+
<td><code>src/websocket/types.ts</code></td>
|
|
211
|
+
<td><code>WsConfig</code>, subscription parameter interfaces, notification types, <code>WsNotification</code> union.</td>
|
|
212
|
+
</tr>
|
|
213
|
+
<tr>
|
|
214
|
+
<td><code>src/websocket/client.ts</code></td>
|
|
215
|
+
<td><code>WsClient</code> class. Methods: <code>onAccountChange</code>, <code>onProgramAccountChange</code>, <code>onLogs</code>, <code>onSignature</code>, <code>onSlotChange</code>, <code>onRootChange</code>, <code>unsubscribe</code>, <code>close</code>.</td>
|
|
247
216
|
</tr>
|
|
248
217
|
</tbody>
|
|
249
218
|
</table>
|
|
250
|
-
<a id="md:
|
|
219
|
+
<a id="md:grpc" class="tsd-anchor"></a><h3 class="tsd-anchor-link">grpc/<a href="#md:grpc" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Optional gRPC transport and Geyser streaming parser.
|
|
220
|
+
Requires <code>@grpc/grpc-js</code> and <code>@grpc/proto-loader</code> as optional peer dependencies.</p>
|
|
221
|
+
<table>
|
|
251
222
|
<thead>
|
|
252
223
|
<tr>
|
|
253
|
-
<th>
|
|
254
|
-
<th>
|
|
255
|
-
<th>Complexity</th>
|
|
224
|
+
<th>File</th>
|
|
225
|
+
<th>Purpose</th>
|
|
256
226
|
</tr>
|
|
257
227
|
</thead>
|
|
258
228
|
<tbody>
|
|
259
229
|
<tr>
|
|
260
|
-
<td><
|
|
261
|
-
<td>
|
|
262
|
-
|
|
230
|
+
<td><code>src/grpc/types.ts</code></td>
|
|
231
|
+
<td><code>GrpcTransportConfig</code>, <code>GrpcCallOptions</code>, <code>UnaryMethod</code>.</td>
|
|
232
|
+
</tr>
|
|
233
|
+
<tr>
|
|
234
|
+
<td><code>src/grpc/transport.ts</code></td>
|
|
235
|
+
<td><code>GrpcTransport</code> class. Lazy proto loading, service resolution, typed unary calls.</td>
|
|
263
236
|
</tr>
|
|
264
237
|
<tr>
|
|
265
|
-
<td><
|
|
266
|
-
<td>
|
|
267
|
-
<td>High</td>
|
|
238
|
+
<td><code>src/grpc/parser/types.ts</code></td>
|
|
239
|
+
<td>Raw Geyser gRPC protobuf shapes and parsed output types (20+ interfaces).</td>
|
|
268
240
|
</tr>
|
|
269
241
|
<tr>
|
|
270
|
-
<td><
|
|
271
|
-
<td>
|
|
272
|
-
<td>Medium</td>
|
|
242
|
+
<td><code>src/grpc/parser/programs.ts</code></td>
|
|
243
|
+
<td>Known-program registry (80+ programs). <code>resolveProgram</code>, <code>resolveProgramBatch</code>, <code>isProgramInCategory</code>.</td>
|
|
273
244
|
</tr>
|
|
274
245
|
<tr>
|
|
275
|
-
<td><
|
|
276
|
-
<td>
|
|
277
|
-
<td>Medium</td>
|
|
246
|
+
<td><code>src/grpc/parser/decoder.ts</code></td>
|
|
247
|
+
<td>Low-level decoders: <code>decodeTransaction</code>, <code>decodeAccountUpdate</code>, <code>decodeSlotUpdate</code>, <code>decodeBlockMeta</code>, <code>decodeEntry</code>, and balance/token-balance diff utilities.</td>
|
|
278
248
|
</tr>
|
|
279
249
|
<tr>
|
|
280
|
-
<td><
|
|
281
|
-
<td>
|
|
282
|
-
<td>Low</td>
|
|
250
|
+
<td><code>src/grpc/parser/geyser-parser.ts</code></td>
|
|
251
|
+
<td><code>GeyserParser</code> class. High-level stream parsing with event emitter, statistics tracking, batch processing, and configurable filters (skip votes, skip zero balances).</td>
|
|
283
252
|
</tr>
|
|
284
253
|
</tbody>
|
|
285
254
|
</table>
|
|
286
|
-
<a id="md:
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
<p><strong><a href="media/README-2.md">Read Full Documentation →</a></strong></p>
|
|
290
|
-
<hr>
|
|
291
|
-
<a id="md:4-nft-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">4. NFT Module<a href="#md:4-nft-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="media/README-3.md"><code>src/nft/</code></a></p>
|
|
292
|
-
<p>Complete NFT toolkit for Solana with AI-powered features.</p>
|
|
293
|
-
<a id="md:features-matrix-1" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Features Matrix<a href="#md:features-matrix-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
255
|
+
<a id="md:ai" class="tsd-anchor"></a><h3 class="tsd-anchor-link">ai/<a href="#md:ai" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>AI agent commerce layer. Zod schemas, LangChain tools, protocol integrations, gateway, x402.</p>
|
|
256
|
+
<table>
|
|
294
257
|
<thead>
|
|
295
258
|
<tr>
|
|
296
|
-
<th>
|
|
297
|
-
<th>
|
|
298
|
-
<th>Data Sources</th>
|
|
259
|
+
<th>File</th>
|
|
260
|
+
<th>Purpose</th>
|
|
299
261
|
</tr>
|
|
300
262
|
</thead>
|
|
301
263
|
<tbody>
|
|
302
264
|
<tr>
|
|
303
|
-
<td><
|
|
304
|
-
<td>
|
|
305
|
-
|
|
265
|
+
<td><code>src/ai/tools/zod/types.ts</code></td>
|
|
266
|
+
<td><code>AgentMethodDef</code> interface -- Zod input/output schema pair.</td>
|
|
267
|
+
</tr>
|
|
268
|
+
<tr>
|
|
269
|
+
<td><code>src/ai/tools/zod/index.ts</code></td>
|
|
270
|
+
<td><code>agentRpcMethods</code> registry (53 method schemas) and <code>createExecutableSolanaTools()</code> factory.</td>
|
|
271
|
+
</tr>
|
|
272
|
+
<tr>
|
|
273
|
+
<td><code>src/ai/tools/protocols/shared.ts</code></td>
|
|
274
|
+
<td><code>ProtocolHttpClient</code>, <code>createMethodRegistry</code>, <code>buildProtocolTools</code> -- shared protocol infrastructure.</td>
|
|
275
|
+
</tr>
|
|
276
|
+
<tr>
|
|
277
|
+
<td><code>src/ai/tools/protocols/jupiter/</code></td>
|
|
278
|
+
<td>Jupiter DEX: 21 methods (swap, quote, route, limit orders, DCA, token list, price). Schemas in <code>schemas.ts</code>, tool factory in <code>tools.ts</code>.</td>
|
|
279
|
+
</tr>
|
|
280
|
+
<tr>
|
|
281
|
+
<td><code>src/ai/tools/protocols/raydium/</code></td>
|
|
282
|
+
<td>Raydium DEX: 16 methods (pools, liquidity, farming, swaps, CLMM).</td>
|
|
283
|
+
</tr>
|
|
284
|
+
<tr>
|
|
285
|
+
<td><code>src/ai/tools/protocols/metaplex/</code></td>
|
|
286
|
+
<td>Metaplex NFT: 12 methods (DAS queries, resolve collection).</td>
|
|
287
|
+
</tr>
|
|
288
|
+
<tr>
|
|
289
|
+
<td><code>src/ai/tools/protocols/index.ts</code></td>
|
|
290
|
+
<td><code>createProtocolTools()</code> super-factory -- creates all protocol toolkits in one call.</td>
|
|
306
291
|
</tr>
|
|
307
292
|
<tr>
|
|
308
|
-
<td><
|
|
309
|
-
<td>
|
|
310
|
-
<td>Collection traits</td>
|
|
293
|
+
<td><code>src/ai/gateway/types.ts</code></td>
|
|
294
|
+
<td>Gateway type definitions: <code>PaymentIntent</code>, <code>PricingTier</code>, <code>ToolListing</code>, <code>SessionReceipt</code>, events.</td>
|
|
311
295
|
</tr>
|
|
312
296
|
<tr>
|
|
313
|
-
<td><
|
|
314
|
-
<td>
|
|
315
|
-
<td>Magic Eden, Tensor, Solanart</td>
|
|
297
|
+
<td><code>src/ai/gateway/session.ts</code></td>
|
|
298
|
+
<td><code>AgentSession</code> -- budget tracking, rate limiting, TTL enforcement, call counting.</td>
|
|
316
299
|
</tr>
|
|
317
300
|
<tr>
|
|
318
|
-
<td><
|
|
319
|
-
<td>
|
|
320
|
-
<td>5+ marketplaces</td>
|
|
301
|
+
<td><code>src/ai/gateway/pricing.ts</code></td>
|
|
302
|
+
<td><code>PricingEngine</code> -- tier resolution, dynamic congestion pricing, bundle discounts.</td>
|
|
321
303
|
</tr>
|
|
322
304
|
<tr>
|
|
323
|
-
<td><
|
|
324
|
-
<td>
|
|
325
|
-
|
|
305
|
+
<td><code>src/ai/gateway/validator.ts</code></td>
|
|
306
|
+
<td><code>ResponseValidator</code> -- SHA-256 attestation, integrity verification, attestation log.</td>
|
|
307
|
+
</tr>
|
|
308
|
+
<tr>
|
|
309
|
+
<td><code>src/ai/gateway/marketplace.ts</code></td>
|
|
310
|
+
<td><code>ToolMarketplace</code> -- listing, search, filtering, reputation scoring, bundle registry.</td>
|
|
311
|
+
</tr>
|
|
312
|
+
<tr>
|
|
313
|
+
<td><code>src/ai/gateway/index.ts</code></td>
|
|
314
|
+
<td><code>AgentGateway</code> class -- session lifecycle, execution pipeline, settlement, event system.</td>
|
|
315
|
+
</tr>
|
|
316
|
+
<tr>
|
|
317
|
+
<td><code>src/ai/gateway/x402/types.ts</code></td>
|
|
318
|
+
<td>x402 protocol types: <code>PaymentRequirements</code>, <code>PaymentPayload</code>, <code>SettlementResult</code>, network constants.</td>
|
|
319
|
+
</tr>
|
|
320
|
+
<tr>
|
|
321
|
+
<td><code>src/ai/gateway/x402/paywall.ts</code></td>
|
|
322
|
+
<td><code>X402Paywall</code> -- seller-side HTTP 402 middleware.</td>
|
|
323
|
+
</tr>
|
|
324
|
+
<tr>
|
|
325
|
+
<td><code>src/ai/gateway/x402/client.ts</code></td>
|
|
326
|
+
<td><code>X402BuyerClient</code> -- buyer-side payment header construction.</td>
|
|
327
|
+
</tr>
|
|
328
|
+
<tr>
|
|
329
|
+
<td><code>src/ai/gateway/x402/facilitator.ts</code></td>
|
|
330
|
+
<td><code>FacilitatorClient</code> -- on-chain settlement verification.</td>
|
|
331
|
+
</tr>
|
|
332
|
+
<tr>
|
|
333
|
+
<td><code>src/ai/gateway/x402/registry.ts</code></td>
|
|
334
|
+
<td><code>FACILITATOR_REGISTRY</code> -- pre-configured endpoints for known facilitators (PayAI, Dexter, RelAI, CDP).</td>
|
|
326
335
|
</tr>
|
|
327
336
|
</tbody>
|
|
328
337
|
</table>
|
|
329
|
-
<a id="md:
|
|
330
|
-
</code><button type="button">Copy</button></pre>
|
|
331
|
-
|
|
332
|
-
<p><strong><a href="media/README-3.md">Read Full Documentation →</a></strong></p>
|
|
333
|
-
<hr>
|
|
334
|
-
<a id="md:5-ai-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">5. AI Module<a href="#md:5-ai-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="media/README-4.md"><code>src/ai/</code></a></p>
|
|
335
|
-
<p>OOBE Protocol implementation with Zero-Combine and PDA management.</p>
|
|
336
|
-
<a id="md:components-1" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Components<a href="#md:components-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
338
|
+
<a id="md:utils" class="tsd-anchor"></a><h3 class="tsd-anchor-link">utils/<a href="#md:utils" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><table>
|
|
337
339
|
<thead>
|
|
338
340
|
<tr>
|
|
339
|
-
<th>
|
|
341
|
+
<th>File</th>
|
|
340
342
|
<th>Purpose</th>
|
|
341
|
-
<th>Complexity</th>
|
|
342
343
|
</tr>
|
|
343
344
|
</thead>
|
|
344
345
|
<tbody>
|
|
345
346
|
<tr>
|
|
346
|
-
<td><
|
|
347
|
-
<td>
|
|
348
|
-
<td>Low</td>
|
|
347
|
+
<td><code>src/utils/helpers.ts</code></td>
|
|
348
|
+
<td><code>lamportsToSol</code>, <code>solToLamports</code>, <code>isValidPubkey</code>, <code>isValidSignature</code>, <code>sleep</code>, <code>chunk</code>, <code>retry</code>.</td>
|
|
349
349
|
</tr>
|
|
350
350
|
<tr>
|
|
351
|
-
<td><
|
|
352
|
-
<td>
|
|
353
|
-
<td>High</td>
|
|
354
|
-
</tr>
|
|
355
|
-
<tr>
|
|
356
|
-
<td><strong>Merkle Operations</strong></td>
|
|
357
|
-
<td>Proof generation, validation, and verification</td>
|
|
358
|
-
<td>Medium</td>
|
|
359
|
-
</tr>
|
|
360
|
-
<tr>
|
|
361
|
-
<td><strong>OOBE Protocol</strong></td>
|
|
362
|
-
<td>AI agent integration for autonomous trading</td>
|
|
363
|
-
<td>High</td>
|
|
351
|
+
<td><code>src/utils/synapse.ts</code></td>
|
|
352
|
+
<td><code>SynapseNetwork</code>, <code>SynapseRegion</code> enums, <code>resolveEndpoint</code>, <code>probeLatency</code>, <code>autoSelectRegion</code>, pre-resolved constants (<code>SYNAPSE_MAINNET_US</code>, etc.).</td>
|
|
364
353
|
</tr>
|
|
365
354
|
</tbody>
|
|
366
355
|
</table>
|
|
367
|
-
<
|
|
356
|
+
<hr>
|
|
357
|
+
<a id="md:endpoints-and-regions" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Endpoints and Regions<a href="#md:endpoints-and-regions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>The SDK ships with a typed endpoint registry. Each endpoint includes <code>rpc</code>, <code>wss</code>, and <code>grpc</code> URLs.</p>
|
|
358
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">SynapseNetwork</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">SynapseRegion</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">resolveEndpoint</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">autoSelectRegion</span><span class="hl-1">,</span><br/><span class="hl-1">} </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// Explicit resolution</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">ep</span><span class="hl-1"> = </span><span class="hl-6">resolveEndpoint</span><span class="hl-1">(</span><span class="hl-2">SynapseNetwork</span><span class="hl-1">.</span><span class="hl-2">Mainnet</span><span class="hl-1">, </span><span class="hl-2">SynapseRegion</span><span class="hl-1">.</span><span class="hl-5">EU</span><span class="hl-1">);</span><br/><span class="hl-7">// ep.rpc -> 'https://mainnet.eu.synapse.com'</span><br/><span class="hl-7">// ep.wss -> 'wss://mainnet.eu.synapse.com/ws'</span><br/><span class="hl-7">// ep.grpc -> 'https://mainnet.eu.synapse.com:443'</span><br/><br/><span class="hl-7">// Latency-based auto-selection</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">best</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-6">autoSelectRegion</span><span class="hl-1">(</span><span class="hl-2">SynapseNetwork</span><span class="hl-1">.</span><span class="hl-2">Mainnet</span><span class="hl-1">);</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-2">best</span><span class="hl-1">.</span><span class="hl-2">region</span><span class="hl-1">, </span><span class="hl-2">best</span><span class="hl-1">.</span><span class="hl-2">latencyMs</span><span class="hl-1">);</span>
|
|
368
359
|
</code><button type="button">Copy</button></pre>
|
|
369
360
|
|
|
370
|
-
<p
|
|
371
|
-
<
|
|
372
|
-
<a id="md:6-analytics-engine-module" class="tsd-anchor"></a><h3 class="tsd-anchor-link">6. Analytics Engine Module<a href="#md:6-analytics-engine-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><strong>Location:</strong> <a href="./src/analytics/README.md"><code>src/analytics/</code></a></p>
|
|
373
|
-
<p>Real-time metrics collection with AI-powered predictions.</p>
|
|
374
|
-
<a id="md:capabilities" class="tsd-anchor"></a><h4 class="tsd-anchor-link">Capabilities<a href="#md:capabilities" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><table>
|
|
361
|
+
<p>Available combinations:</p>
|
|
362
|
+
<table>
|
|
375
363
|
<thead>
|
|
376
364
|
<tr>
|
|
377
|
-
<th>
|
|
378
|
-
<th>
|
|
379
|
-
<th>Analysis</th>
|
|
365
|
+
<th>Network</th>
|
|
366
|
+
<th>Regions</th>
|
|
380
367
|
</tr>
|
|
381
368
|
</thead>
|
|
382
369
|
<tbody>
|
|
383
370
|
<tr>
|
|
384
|
-
<td><
|
|
385
|
-
<td>
|
|
386
|
-
<td>Trend analysis, outlier detection</td>
|
|
387
|
-
</tr>
|
|
388
|
-
<tr>
|
|
389
|
-
<td><strong>Predictions</strong></td>
|
|
390
|
-
<td>Latency forecast, load prediction, error probability</td>
|
|
391
|
-
<td>ML-based time series</td>
|
|
371
|
+
<td><code>Mainnet</code></td>
|
|
372
|
+
<td>US, EU</td>
|
|
392
373
|
</tr>
|
|
393
374
|
<tr>
|
|
394
|
-
<td><
|
|
395
|
-
<td>
|
|
396
|
-
<td>Statistical anomaly detection</td>
|
|
375
|
+
<td><code>Devnet</code></td>
|
|
376
|
+
<td>US, EU</td>
|
|
397
377
|
</tr>
|
|
398
378
|
<tr>
|
|
399
|
-
<td><
|
|
400
|
-
<td>
|
|
401
|
-
<td>Rule-based + ML insights</td>
|
|
379
|
+
<td><code>Testnet</code></td>
|
|
380
|
+
<td>US, EU</td>
|
|
402
381
|
</tr>
|
|
403
382
|
</tbody>
|
|
404
383
|
</table>
|
|
405
|
-
<
|
|
384
|
+
<hr>
|
|
385
|
+
<a id="md:branded-types" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Branded Types<a href="#md:branded-types" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>The SDK uses branded types for compile-time safety. Primitive values are
|
|
386
|
+
wrapped at construction and the brand is erased at runtime (zero overhead).</p>
|
|
387
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">Pubkey</span><span class="hl-1">, </span><span class="hl-2">Signature</span><span class="hl-1">, </span><span class="hl-2">Slot</span><span class="hl-1">, </span><span class="hl-2">Lamports</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">pk</span><span class="hl-1"> = </span><span class="hl-6">Pubkey</span><span class="hl-1">(</span><span class="hl-3">'So11111111111111111111111111111111'</span><span class="hl-1">); </span><span class="hl-7">// branded string</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">sig</span><span class="hl-1"> = </span><span class="hl-6">Signature</span><span class="hl-1">(</span><span class="hl-3">'5vR3z...'</span><span class="hl-1">); </span><span class="hl-7">// branded string</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">slot</span><span class="hl-1"> = </span><span class="hl-6">Slot</span><span class="hl-1">(</span><span class="hl-8">12345678</span><span class="hl-1">); </span><span class="hl-7">// branded number</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">lam</span><span class="hl-1"> = </span><span class="hl-6">Lamports</span><span class="hl-1">(</span><span class="hl-8">1_000_000_000</span><span class="hl-1">); </span><span class="hl-7">// branded number</span>
|
|
406
388
|
</code><button type="button">Copy</button></pre>
|
|
407
389
|
|
|
408
|
-
<p
|
|
390
|
+
<p>Passing a raw <code>string</code> where <code>Pubkey</code> is expected is a compile-time error.</p>
|
|
409
391
|
<hr>
|
|
410
|
-
<a id="md:
|
|
411
|
-
|
|
412
|
-
<
|
|
392
|
+
<a id="md:ai-agent-integration" class="tsd-anchor"></a><h2 class="tsd-anchor-link">AI Agent Integration<a href="#md:ai-agent-integration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="md:zod-schemas-and-langchain-tools" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Zod Schemas and LangChain Tools<a href="#md:zod-schemas-and-langchain-tools" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Every RPC method has a corresponding Zod input/output schema. These schemas
|
|
393
|
+
are used to generate LangChain <code>DynamicStructuredTool</code> instances:</p>
|
|
394
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">createExecutableSolanaTools</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">transport</span><span class="hl-1"> = </span><span class="hl-4">new</span><span class="hl-1"> </span><span class="hl-6">HttpTransport</span><span class="hl-1">({ </span><span class="hl-2">endpoint:</span><span class="hl-1"> </span><span class="hl-3">'...'</span><span class="hl-1"> });</span><br/><span class="hl-4">const</span><span class="hl-1"> { </span><span class="hl-5">tools</span><span class="hl-1">, </span><span class="hl-5">toolMap</span><span class="hl-1"> } = </span><span class="hl-6">createExecutableSolanaTools</span><span class="hl-1">(</span><span class="hl-2">transport</span><span class="hl-1">);</span><br/><span class="hl-7">// tools: DynamicStructuredTool[] (53 tools, prefixed "solana_")</span><br/><span class="hl-7">// toolMap: Map<string, DynamicStructuredTool></span>
|
|
395
|
+
</code><button type="button">Copy</button></pre>
|
|
396
|
+
|
|
397
|
+
<p>Options:</p>
|
|
398
|
+
<ul>
|
|
399
|
+
<li><code>prefix</code> -- custom tool name prefix (default: <code>"solana_"</code>)</li>
|
|
400
|
+
<li><code>include</code> -- whitelist of method names</li>
|
|
401
|
+
<li><code>exclude</code> -- blacklist of method names</li>
|
|
402
|
+
</ul>
|
|
403
|
+
<a id="md:protocol-tools" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Protocol Tools<a href="#md:protocol-tools" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>49 additional tools for on-chain protocols:</p>
|
|
404
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">createProtocolTools</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> { </span><span class="hl-5">jupiter</span><span class="hl-1">, </span><span class="hl-5">raydium</span><span class="hl-1">, </span><span class="hl-5">metaplex</span><span class="hl-1">, </span><span class="hl-5">allTools</span><span class="hl-1"> } = </span><span class="hl-6">createProtocolTools</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-2">jupiter:</span><span class="hl-1"> { </span><span class="hl-2">apiKey:</span><span class="hl-1"> </span><span class="hl-3">'...'</span><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-2">raydium:</span><span class="hl-1"> </span><span class="hl-4">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">metaplex:</span><span class="hl-1"> { </span><span class="hl-2">transport</span><span class="hl-1"> },</span><br/><span class="hl-1">});</span><br/><span class="hl-7">// allTools: DynamicStructuredTool[] (49 tools)</span>
|
|
405
|
+
</code><button type="button">Copy</button></pre>
|
|
406
|
+
|
|
407
|
+
<table>
|
|
413
408
|
<thead>
|
|
414
409
|
<tr>
|
|
415
|
-
<th>
|
|
416
|
-
<th>
|
|
417
|
-
<th>
|
|
410
|
+
<th>Protocol</th>
|
|
411
|
+
<th>Tool Count</th>
|
|
412
|
+
<th>Categories</th>
|
|
418
413
|
</tr>
|
|
419
414
|
</thead>
|
|
420
415
|
<tbody>
|
|
421
416
|
<tr>
|
|
422
|
-
<td
|
|
423
|
-
<td>
|
|
424
|
-
<td>
|
|
425
|
-
</tr>
|
|
426
|
-
<tr>
|
|
427
|
-
<td><strong>Block</strong></td>
|
|
428
|
-
<td>getBlock, getBlockHeight, getBlockTime, getBlocks, getBlockCommitment</td>
|
|
429
|
-
<td>Block information</td>
|
|
430
|
-
</tr>
|
|
431
|
-
<tr>
|
|
432
|
-
<td><strong>Transaction</strong></td>
|
|
433
|
-
<td>getTransaction, getSignatureStatuses, sendTransaction, simulateTransaction</td>
|
|
434
|
-
<td>Transaction operations</td>
|
|
417
|
+
<td>Jupiter</td>
|
|
418
|
+
<td>21</td>
|
|
419
|
+
<td>Ultra Swap, Metis Swap, Quote, Route, Limit Orders, DCA, Token List, Price API</td>
|
|
435
420
|
</tr>
|
|
436
421
|
<tr>
|
|
437
|
-
<td
|
|
438
|
-
<td>
|
|
439
|
-
<td>
|
|
422
|
+
<td>Raydium</td>
|
|
423
|
+
<td>16</td>
|
|
424
|
+
<td>Pools, Liquidity, Farming, Swaps, CLMM Positions, Token Info</td>
|
|
440
425
|
</tr>
|
|
441
426
|
<tr>
|
|
442
|
-
<td
|
|
443
|
-
<td>
|
|
444
|
-
<td>
|
|
427
|
+
<td>Metaplex</td>
|
|
428
|
+
<td>12</td>
|
|
429
|
+
<td>DAS Queries (asset, proof, owner, group, creator, authority, search), Resolve Collection</td>
|
|
445
430
|
</tr>
|
|
446
431
|
</tbody>
|
|
447
432
|
</table>
|
|
448
|
-
<a id="md:
|
|
433
|
+
<a id="md:agent-commerce-gateway" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Agent Commerce Gateway<a href="#md:agent-commerce-gateway" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Session-based metering and payment infrastructure for monetized AI tool access:</p>
|
|
434
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">AgentGateway</span><span class="hl-1">, </span><span class="hl-2">createAgentGateway</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">gw</span><span class="hl-1"> = </span><span class="hl-6">createAgentGateway</span><span class="hl-1">({ </span><span class="hl-2">transport</span><span class="hl-1">, </span><span class="hl-2">seller:</span><span class="hl-1"> </span><span class="hl-6">Pubkey</span><span class="hl-1">(</span><span class="hl-3">'...'</span><span class="hl-1">) });</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">session</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">gw</span><span class="hl-1">.</span><span class="hl-6">openSession</span><span class="hl-1">(</span><span class="hl-2">paymentIntent</span><span class="hl-1">);</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">gw</span><span class="hl-1">.</span><span class="hl-6">execute</span><span class="hl-1">(</span><span class="hl-2">session</span><span class="hl-1">.</span><span class="hl-2">id</span><span class="hl-1">, </span><span class="hl-3">'getBalance'</span><span class="hl-1">, [</span><span class="hl-2">pubkey</span><span class="hl-1">]);</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">receipt</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">gw</span><span class="hl-1">.</span><span class="hl-6">settleSession</span><span class="hl-1">(</span><span class="hl-2">session</span><span class="hl-1">.</span><span class="hl-2">id</span><span class="hl-1">);</span>
|
|
449
435
|
</code><button type="button">Copy</button></pre>
|
|
450
436
|
|
|
451
|
-
<p
|
|
452
|
-
<
|
|
453
|
-
<
|
|
454
|
-
<
|
|
455
|
-
<
|
|
437
|
+
<p>Components:</p>
|
|
438
|
+
<ul>
|
|
439
|
+
<li><code>AgentSession</code> -- budget tracking, rate limiting, TTL enforcement</li>
|
|
440
|
+
<li><code>PricingEngine</code> -- tier resolution, dynamic pricing, bundle discounts</li>
|
|
441
|
+
<li><code>ResponseValidator</code> -- SHA-256 attestation, integrity proofs</li>
|
|
442
|
+
<li><code>ToolMarketplace</code> -- listing, discovery, reputation scoring</li>
|
|
443
|
+
</ul>
|
|
444
|
+
<a id="md:x402-payment-protocol" class="tsd-anchor"></a><h3 class="tsd-anchor-link">x402 Payment Protocol<a href="#md:x402-payment-protocol" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Native HTTP 402 payment flow (v1/v2):</p>
|
|
445
|
+
<pre><code class="ts"><span class="hl-7">// Seller side</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">X402Paywall</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">paywall</span><span class="hl-1"> = </span><span class="hl-4">new</span><span class="hl-1"> </span><span class="hl-6">X402Paywall</span><span class="hl-1">(</span><span class="hl-2">config</span><span class="hl-1">);</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">paywall</span><span class="hl-1">.</span><span class="hl-6">processRequest</span><span class="hl-1">(</span><span class="hl-2">request</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// Buyer side</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">X402BuyerClient</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">buyer</span><span class="hl-1"> = </span><span class="hl-4">new</span><span class="hl-1"> </span><span class="hl-6">X402BuyerClient</span><span class="hl-1">(</span><span class="hl-2">config</span><span class="hl-1">);</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">response</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">buyer</span><span class="hl-1">.</span><span class="hl-6">payAndRetry</span><span class="hl-1">(</span><span class="hl-2">url</span><span class="hl-1">, </span><span class="hl-2">options</span><span class="hl-1">);</span>
|
|
446
|
+
</code><button type="button">Copy</button></pre>
|
|
447
|
+
|
|
448
|
+
<p>Known facilitator registry:</p>
|
|
449
|
+
<pre><code class="ts"><span class="hl-0">import</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">KnownFacilitator</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">resolveKnownFacilitator</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">findFacilitatorsByNetwork</span><span class="hl-1">,</span><br/><span class="hl-1">} </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">config</span><span class="hl-1"> = </span><span class="hl-6">resolveKnownFacilitator</span><span class="hl-1">(</span><span class="hl-2">KnownFacilitator</span><span class="hl-1">.</span><span class="hl-2">PayAI</span><span class="hl-1">);</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">solanaFacilitators</span><span class="hl-1"> = </span><span class="hl-6">findFacilitatorsByNetwork</span><span class="hl-1">(</span><span class="hl-3">'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'</span><span class="hl-1">);</span>
|
|
456
450
|
</code><button type="button">Copy</button></pre>
|
|
457
451
|
|
|
458
|
-
<p><strong><a href="media/README-6.md">Read Full Documentation →</a></strong></p>
|
|
459
452
|
<hr>
|
|
460
|
-
<a id="md:
|
|
453
|
+
<a id="md:testing" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Testing<a href="#md:testing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>The project uses <a href="https://vitest.dev/" target="_blank" class="external">Vitest</a> with 378 tests across 10 suites.</p>
|
|
454
|
+
<pre><code class="bash"><span class="hl-7"># Run all tests</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">test</span><br/><br/><span class="hl-7"># Watch mode</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">test:watch</span><br/><br/><span class="hl-7"># Coverage</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">test:coverage</span>
|
|
455
|
+
</code><button type="button">Copy</button></pre>
|
|
456
|
+
|
|
457
|
+
<p>Test suites:</p>
|
|
458
|
+
<table>
|
|
461
459
|
<thead>
|
|
462
460
|
<tr>
|
|
463
|
-
<th>
|
|
464
|
-
<th>
|
|
465
|
-
<th>
|
|
466
|
-
<th>P99</th>
|
|
467
|
-
<th>Throughput</th>
|
|
461
|
+
<th>Suite</th>
|
|
462
|
+
<th>File</th>
|
|
463
|
+
<th>Covers</th>
|
|
468
464
|
</tr>
|
|
469
465
|
</thead>
|
|
470
466
|
<tbody>
|
|
471
467
|
<tr>
|
|
472
|
-
<td>
|
|
473
|
-
<td
|
|
474
|
-
<td
|
|
475
|
-
<td><5ms</td>
|
|
476
|
-
<td>1M req/s</td>
|
|
468
|
+
<td>Endpoints</td>
|
|
469
|
+
<td><code>tests/utils/endpoints.test.ts</code></td>
|
|
470
|
+
<td>Network/region resolution, auto-select, constants</td>
|
|
477
471
|
</tr>
|
|
478
472
|
<tr>
|
|
479
|
-
<td>
|
|
480
|
-
<td>
|
|
481
|
-
<td>
|
|
482
|
-
<td>25ms</td>
|
|
483
|
-
<td>10k req/s</td>
|
|
473
|
+
<td>gRPC Parser</td>
|
|
474
|
+
<td><code>tests/grpc/parser.test.ts</code></td>
|
|
475
|
+
<td>Decoders, program registry, GeyserParser class</td>
|
|
484
476
|
</tr>
|
|
485
477
|
<tr>
|
|
486
|
-
<td>
|
|
487
|
-
<td>
|
|
488
|
-
<td>
|
|
489
|
-
<td>80ms</td>
|
|
490
|
-
<td>5k batch/s</td>
|
|
478
|
+
<td>Session</td>
|
|
479
|
+
<td><code>tests/ai/session.test.ts</code></td>
|
|
480
|
+
<td>Budget, rate limits, TTL, pause/resume, events</td>
|
|
491
481
|
</tr>
|
|
492
482
|
<tr>
|
|
493
|
-
<td>
|
|
494
|
-
<td
|
|
495
|
-
<td
|
|
496
|
-
<td><10ms</td>
|
|
497
|
-
<td>100k msg/s</td>
|
|
483
|
+
<td>Gateway</td>
|
|
484
|
+
<td><code>tests/ai/gateway.test.ts</code></td>
|
|
485
|
+
<td>Full session lifecycle, execute, settle, metrics</td>
|
|
498
486
|
</tr>
|
|
499
487
|
<tr>
|
|
500
|
-
<td>
|
|
501
|
-
<td
|
|
502
|
-
<td
|
|
503
|
-
<td><2ms</td>
|
|
504
|
-
<td>1M ops/s</td>
|
|
488
|
+
<td>x402</td>
|
|
489
|
+
<td><code>tests/ai/x402.test.ts</code></td>
|
|
490
|
+
<td>Paywall, facilitator, registry, header encoding</td>
|
|
505
491
|
</tr>
|
|
506
492
|
<tr>
|
|
507
|
-
<td>
|
|
508
|
-
<td
|
|
509
|
-
<td
|
|
510
|
-
<td><5ms</td>
|
|
511
|
-
<td>500k ops/s</td>
|
|
493
|
+
<td>Validator</td>
|
|
494
|
+
<td><code>tests/ai/validator.test.ts</code></td>
|
|
495
|
+
<td>Attestation, integrity, signature verification</td>
|
|
512
496
|
</tr>
|
|
513
497
|
<tr>
|
|
514
|
-
<td>
|
|
515
|
-
<td>
|
|
516
|
-
<td>
|
|
517
|
-
<td>15ms</td>
|
|
518
|
-
<td>50k ops/s</td>
|
|
498
|
+
<td>Marketplace</td>
|
|
499
|
+
<td><code>tests/ai/marketplace.test.ts</code></td>
|
|
500
|
+
<td>Listing, search, reputation, bundles</td>
|
|
519
501
|
</tr>
|
|
520
502
|
<tr>
|
|
521
|
-
<td>
|
|
522
|
-
<td>
|
|
523
|
-
<td>
|
|
524
|
-
<td>400ms</td>
|
|
525
|
-
<td>500 req/s</td>
|
|
503
|
+
<td>Pricing</td>
|
|
504
|
+
<td><code>tests/ai/pricing.test.ts</code></td>
|
|
505
|
+
<td>Tiers, dynamic pricing, cost estimation</td>
|
|
526
506
|
</tr>
|
|
527
507
|
<tr>
|
|
528
|
-
<td>
|
|
529
|
-
<td>
|
|
530
|
-
<td>
|
|
531
|
-
<td>30ms</td>
|
|
532
|
-
<td>10k req/s</td>
|
|
508
|
+
<td>Protocols</td>
|
|
509
|
+
<td><code>tests/ai/protocols.test.ts</code></td>
|
|
510
|
+
<td>Jupiter/Raydium/Metaplex schemas and tools</td>
|
|
533
511
|
</tr>
|
|
534
512
|
<tr>
|
|
535
|
-
<td>
|
|
536
|
-
<td
|
|
537
|
-
<td
|
|
538
|
-
<td><1ms</td>
|
|
539
|
-
<td>1M ops/s</td>
|
|
513
|
+
<td>Tools</td>
|
|
514
|
+
<td><code>tests/ai/tools.test.ts</code></td>
|
|
515
|
+
<td>Zod registry, executable tool creation, execution</td>
|
|
540
516
|
</tr>
|
|
541
517
|
</tbody>
|
|
542
518
|
</table>
|
|
543
|
-
<a id="md:load-testing-results" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Load Testing Results<a href="#md:load-testing-results" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code><span class="hl-1">Test</span><span class="hl-0"> </span><span class="hl-11">Configuration</span><span class="hl-0">:</span><br/><span class="hl-0">- </span><span class="hl-11">Duration</span><span class="hl-0">: </span><span class="hl-8">5</span><span class="hl-0"> </span><span class="hl-1">minutes</span><br/><span class="hl-0">- </span><span class="hl-1">Concurrent</span><span class="hl-0"> </span><span class="hl-11">users</span><span class="hl-0">: </span><span class="hl-8">1000</span><br/><span class="hl-0">- </span><span class="hl-2">RPC</span><span class="hl-0"> </span><span class="hl-11">endpoints</span><span class="hl-0">: </span><span class="hl-8">3</span><span class="hl-0"> (</span><span class="hl-1">load</span><span class="hl-0"> </span><span class="hl-1">balanced</span><span class="hl-0">)</span><br/><span class="hl-0">- </span><span class="hl-11">Operations</span><span class="hl-0">: </span><span class="hl-3">Mixed</span><span class="hl-0"> (</span><span class="hl-8">50</span><span class="hl-0">% </span><span class="hl-1">reads</span><span class="hl-0">, </span><span class="hl-8">30</span><span class="hl-0">% </span><span class="hl-1">writes</span><span class="hl-0">, </span><span class="hl-8">20</span><span class="hl-0">% </span><span class="hl-1">batch</span><span class="hl-0">)</span><br/><br/><span class="hl-11">Results</span><span class="hl-0">:</span><br/><span class="hl-0">✓ </span><span class="hl-1">Total</span><span class="hl-0"> </span><span class="hl-11">requests</span><span class="hl-0">: </span><span class="hl-8">3</span><span class="hl-0">,</span><span class="hl-8">315</span><span class="hl-0">,</span><span class="hl-8">000</span><br/><span class="hl-0">✓ </span><span class="hl-11">Successful</span><span class="hl-0">: </span><span class="hl-8">3</span><span class="hl-0">,</span><span class="hl-8">312</span><span class="hl-0">,</span><span class="hl-8">450</span><span class="hl-0"> (</span><span class="hl-8">99.92</span><span class="hl-0">%)</span><br/><span class="hl-0">✓ </span><span class="hl-11">Failed</span><span class="hl-0">: </span><span class="hl-8">2</span><span class="hl-0">,</span><span class="hl-8">550</span><span class="hl-0"> (</span><span class="hl-8">0.08</span><span class="hl-0">%)</span><br/><span class="hl-0">✓ </span><span class="hl-1">Average</span><span class="hl-0"> </span><span class="hl-11">RPS</span><span class="hl-0">: </span><span class="hl-8">11</span><span class="hl-0">,</span><span class="hl-8">050</span><br/><span class="hl-0">✓ </span><span class="hl-1">Peak</span><span class="hl-0"> </span><span class="hl-11">RPS</span><span class="hl-0">: </span><span class="hl-8">15</span><span class="hl-0">,</span><span class="hl-8">230</span><br/><span class="hl-0">✓ </span><span class="hl-1">Average</span><span class="hl-0"> </span><span class="hl-11">latency</span><span class="hl-0">: 12.5</span><span class="hl-1">ms</span><br/><span class="hl-0">✓ </span><span class="hl-2">P95</span><span class="hl-0"> </span><span class="hl-11">latency</span><span class="hl-0">: 28</span><span class="hl-1">ms</span><br/><span class="hl-0">✓ </span><span class="hl-2">P99</span><span class="hl-0"> </span><span class="hl-11">latency</span><span class="hl-0">: 45</span><span class="hl-1">ms</span><br/><span class="hl-0">✓ </span><span class="hl-1">Cache</span><span class="hl-0"> </span><span class="hl-1">hit</span><span class="hl-0"> </span><span class="hl-11">rate</span><span class="hl-0">: </span><span class="hl-8">94.3</span><span class="hl-0">%</span><br/><span class="hl-0">✓ </span><span class="hl-1">Circuit</span><span class="hl-0"> </span><span class="hl-1">breaker</span><span class="hl-0"> </span><span class="hl-11">trips</span><span class="hl-0">: </span><span class="hl-8">3</span><br/><span class="hl-0">✓ </span><span class="hl-1">Endpoint</span><span class="hl-0"> </span><span class="hl-11">failovers</span><span class="hl-0">: </span><span class="hl-8">12</span>
|
|
544
|
-
</code><button>Copy</button></pre>
|
|
545
|
-
|
|
546
519
|
<hr>
|
|
547
|
-
<a id="md:
|
|
520
|
+
<a id="md:build-and-development" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Build and Development<a href="#md:build-and-development" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="bash"><span class="hl-7"># Type-check (no emit)</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">typecheck</span><br/><br/><span class="hl-7"># Build CJS + ESM + docs</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">build</span><br/><br/><span class="hl-7"># Watch mode (TypeScript)</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">dev</span><br/><br/><span class="hl-7"># Lint</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">lint</span><br/><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">lint:check</span>
|
|
548
521
|
</code><button type="button">Copy</button></pre>
|
|
549
522
|
|
|
550
|
-
<
|
|
551
|
-
|
|
523
|
+
<p>The build pipeline:</p>
|
|
524
|
+
<ol>
|
|
525
|
+
<li><code>tsc -p tsconfig.cjs.json</code> -- compile to <code>dist/cjs/</code> (CommonJS)</li>
|
|
526
|
+
<li><code>tsc -p tsconfig.esm.json</code> -- compile to <code>dist/esm/</code> (ES Modules)</li>
|
|
527
|
+
<li><code>scripts/fix-esm-imports.mjs</code> -- append <code>.js</code> extensions to ESM imports</li>
|
|
528
|
+
<li><code>typedoc</code> -- generate API reference in <code>dist/docs/</code></li>
|
|
529
|
+
</ol>
|
|
530
|
+
<p>Output structure:</p>
|
|
531
|
+
<pre><code><span class="hl-2">dist</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-2">cjs</span><span class="hl-1">/ </span><span class="hl-2">CommonJS</span><span class="hl-1"> </span><span class="hl-2">build</span><br/><span class="hl-1"> </span><span class="hl-2">esm</span><span class="hl-1">/ </span><span class="hl-5">ES</span><span class="hl-1"> </span><span class="hl-2">Module</span><span class="hl-1"> </span><span class="hl-2">build</span><br/><span class="hl-1"> </span><span class="hl-2">docs</span><span class="hl-1">/ </span><span class="hl-2">TypeDoc</span><span class="hl-1"> </span><span class="hl-5">HTML</span><span class="hl-1"> </span><span class="hl-2">reference</span>
|
|
532
|
+
</code><button>Copy</button></pre>
|
|
552
533
|
|
|
553
534
|
<hr>
|
|
554
|
-
<a id="md:
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
<a id="md:2-error-handling" class="tsd-anchor"></a><h3 class="tsd-anchor-link">2. Error Handling<a href="#md:2-error-handling" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="typescript"><span class="hl-6">import</span><span class="hl-0"> { </span><span class="hl-1">SynapseError</span><span class="hl-0">, </span><span class="hl-1">NetworkError</span><span class="hl-0">, </span><span class="hl-1">TimeoutError</span><span class="hl-0"> } </span><span class="hl-6">from</span><span class="hl-0"> </span><span class="hl-4">'@synapse/client-sdk'</span><span class="hl-0">;</span><br/><br/><span class="hl-7">async</span><span class="hl-0"> </span><span class="hl-7">function</span><span class="hl-0"> </span><span class="hl-3">robustRpcCall</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">>(</span><br/><span class="hl-0"> </span><span class="hl-1">method</span><span class="hl-0">: </span><span class="hl-9">string</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">params</span><span class="hl-0">: </span><span class="hl-9">any</span><span class="hl-0">[],</span><br/><span class="hl-0"> </span><span class="hl-1">maxRetries</span><span class="hl-0">: </span><span class="hl-9">number</span><span class="hl-0"> = </span><span class="hl-8">3</span><br/><span class="hl-0">): </span><span class="hl-9">Promise</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">> {</span><br/><span class="hl-0"> </span><span class="hl-6">for</span><span class="hl-0"> (</span><span class="hl-7">let</span><span class="hl-0"> </span><span class="hl-1">attempt</span><span class="hl-0"> = </span><span class="hl-8">1</span><span class="hl-0">; </span><span class="hl-1">attempt</span><span class="hl-0"> <= </span><span class="hl-1">maxRetries</span><span class="hl-0">; </span><span class="hl-1">attempt</span><span class="hl-0">++) {</span><br/><span class="hl-0"> </span><span class="hl-6">try</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-6">return</span><span class="hl-0"> </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">>(</span><span class="hl-1">method</span><span class="hl-0">, </span><span class="hl-1">params</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-6">catch</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">TimeoutError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">warn</span><span class="hl-0">(</span><span class="hl-4">`Timeout on attempt </span><span class="hl-7">${</span><span class="hl-1">attempt</span><span class="hl-7">}</span><span class="hl-4">/</span><span class="hl-7">${</span><span class="hl-1">maxRetries</span><span class="hl-7">}</span><span class="hl-4">`</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">attempt</span><span class="hl-0"> === </span><span class="hl-1">maxRetries</span><span class="hl-0">) </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-3">sleep</span><span class="hl-0">(</span><span class="hl-8">1000</span><span class="hl-0"> * </span><span class="hl-1">attempt</span><span class="hl-0">); </span><span class="hl-5">// Exponential backoff</span><br/><span class="hl-0"> } </span><span class="hl-6">else</span><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">NetworkError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Network error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">statusCode</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">attempt</span><span class="hl-0"> === </span><span class="hl-1">maxRetries</span><span class="hl-0">) </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-3">sleep</span><span class="hl-0">(</span><span class="hl-8">2000</span><span class="hl-0"> * </span><span class="hl-1">attempt</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-6">else</span><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">SynapseError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'RPC error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">code</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">; </span><span class="hl-5">// Don't retry RPC errors</span><br/><span class="hl-0"> } </span><span class="hl-6">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">; </span><span class="hl-5">// Unknown error</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">Error</span><span class="hl-0">(</span><span class="hl-4">'Max retries exceeded'</span><span class="hl-0">);</span><br/><span class="hl-0">}</span>
|
|
558
|
-
</code><button type="button">Copy</button></pre>
|
|
559
|
-
|
|
560
|
-
<a id="md:3-batch-operations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">3. Batch Operations<a href="#md:3-batch-operations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="typescript"><span class="hl-5">// ✅ Efficient: Batch related calls</span><br/><span class="hl-7">const</span><span class="hl-0"> [</span><span class="hl-2">balance1</span><span class="hl-0">, </span><span class="hl-2">balance2</span><span class="hl-0">, </span><span class="hl-2">balance3</span><span class="hl-0">, </span><span class="hl-2">accountInfo</span><span class="hl-0">] = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-9">Promise</span><span class="hl-0">.</span><span class="hl-3">all</span><span class="hl-0">([</span><br/><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address1'</span><span class="hl-0">]),</span><br/><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address2'</span><span class="hl-0">]),</span><br/><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address3'</span><span class="hl-0">]),</span><br/><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getAccountInfo'</span><span class="hl-0">, [</span><span class="hl-4">'address4'</span><span class="hl-0">]),</span><br/><span class="hl-0">]);</span><br/><br/><span class="hl-5">// Or use batch method</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">results</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">batch</span><span class="hl-0">([</span><br/><span class="hl-0"> { </span><span class="hl-1">method:</span><span class="hl-0"> </span><span class="hl-4">'getBalance'</span><span class="hl-0">, </span><span class="hl-1">params:</span><span class="hl-0"> [</span><span class="hl-4">'address1'</span><span class="hl-0">] },</span><br/><span class="hl-0"> { </span><span class="hl-1">method:</span><span class="hl-0"> </span><span class="hl-4">'getBalance'</span><span class="hl-0">, </span><span class="hl-1">params:</span><span class="hl-0"> [</span><span class="hl-4">'address2'</span><span class="hl-0">] },</span><br/><span class="hl-0"> { </span><span class="hl-1">method:</span><span class="hl-0"> </span><span class="hl-4">'getBalance'</span><span class="hl-0">, </span><span class="hl-1">params:</span><span class="hl-0"> [</span><span class="hl-4">'address3'</span><span class="hl-0">] },</span><br/><span class="hl-0"> { </span><span class="hl-1">method:</span><span class="hl-0"> </span><span class="hl-4">'getAccountInfo'</span><span class="hl-0">, </span><span class="hl-1">params:</span><span class="hl-0"> [</span><span class="hl-4">'address4'</span><span class="hl-0">] },</span><br/><span class="hl-0">]);</span><br/><br/><span class="hl-5">// ❌ Inefficient: Sequential calls</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance1</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address1'</span><span class="hl-0">]);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance2</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address2'</span><span class="hl-0">]);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance3</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address3'</span><span class="hl-0">]);</span>
|
|
535
|
+
<a id="md:package-exports" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Package Exports<a href="#md:package-exports" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>The package exposes granular entry points for consumers that need only a subset:</p>
|
|
536
|
+
<pre><code class="json"><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-9">"."</span><span class="hl-1">: </span><span class="hl-3">"Full SDK"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./core"</span><span class="hl-1">: </span><span class="hl-3">"SynapseClient class only"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./core/types"</span><span class="hl-1">: </span><span class="hl-3">"Branded types and RPC type definitions"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./rpc"</span><span class="hl-1">: </span><span class="hl-3">"SolanaRpc facade + all 53 method functions"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./grpc"</span><span class="hl-1">: </span><span class="hl-3">"GrpcTransport + Geyser parser"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./das"</span><span class="hl-1">: </span><span class="hl-3">"DasClient + 11 DAS method functions"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./websocket"</span><span class="hl-1">: </span><span class="hl-3">"WsClient + subscription types"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">"./utils"</span><span class="hl-1">: </span><span class="hl-3">"Helpers + endpoint resolution"</span><br/><span class="hl-1">}</span>
|
|
561
537
|
</code><button type="button">Copy</button></pre>
|
|
562
538
|
|
|
563
|
-
<
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
<a id="md:5-circuit-breaker-integration" class="tsd-anchor"></a><h3 class="tsd-anchor-link">5. Circuit Breaker Integration<a href="#md:5-circuit-breaker-integration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="typescript"><span class="hl-6">import</span><span class="hl-0"> { </span><span class="hl-1">CircuitBreaker</span><span class="hl-0"> } </span><span class="hl-6">from</span><span class="hl-0"> </span><span class="hl-4">'@synapse/client-sdk/advanced'</span><span class="hl-0">;</span><br/><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">breaker</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">CircuitBreaker</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">failureThreshold:</span><span class="hl-0"> </span><span class="hl-8">5</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">timeout:</span><span class="hl-0"> </span><span class="hl-8">60000</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">retryInterval:</span><span class="hl-0"> </span><span class="hl-8">30000</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">enableFallback:</span><span class="hl-0"> </span><span class="hl-7">true</span><span class="hl-0">,</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-7">async</span><span class="hl-0"> </span><span class="hl-7">function</span><span class="hl-0"> </span><span class="hl-3">protectedRpcCall</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">>(</span><br/><span class="hl-0"> </span><span class="hl-1">method</span><span class="hl-0">: </span><span class="hl-9">string</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">params</span><span class="hl-0">: </span><span class="hl-9">any</span><span class="hl-0">[]</span><br/><span class="hl-0">): </span><span class="hl-9">Promise</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">> {</span><br/><span class="hl-0"> </span><span class="hl-6">return</span><span class="hl-0"> </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">breaker</span><span class="hl-0">.</span><span class="hl-3">execute</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-5">// Primary operation</span><br/><span class="hl-0"> </span><span class="hl-7">async</span><span class="hl-0"> () </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-6">return</span><span class="hl-0"> </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">>(</span><span class="hl-1">method</span><span class="hl-0">, </span><span class="hl-1">params</span><span class="hl-0">);</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-5">// Fallback operation</span><br/><span class="hl-0"> </span><span class="hl-7">async</span><span class="hl-0"> () </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">// Try cache</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">cacheKey</span><span class="hl-0"> = </span><span class="hl-4">`</span><span class="hl-7">${</span><span class="hl-1">method</span><span class="hl-7">}</span><span class="hl-4">:</span><span class="hl-7">${</span><span class="hl-2">JSON</span><span class="hl-10">.</span><span class="hl-3">stringify</span><span class="hl-10">(</span><span class="hl-1">params</span><span class="hl-10">)</span><span class="hl-7">}</span><span class="hl-4">`</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">cached</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">cache</span><span class="hl-0">.</span><span class="hl-3">get</span><span class="hl-0"><</span><span class="hl-9">T</span><span class="hl-0">>(</span><span class="hl-1">cacheKey</span><span class="hl-0">, { </span><span class="hl-1">allowStale:</span><span class="hl-0"> </span><span class="hl-7">true</span><span class="hl-0"> });</span><br/><span class="hl-0"> </span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">cached</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">warn</span><span class="hl-0">(</span><span class="hl-4">'Using stale cache due to circuit breaker open'</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-6">return</span><span class="hl-0"> </span><span class="hl-1">cached</span><span class="hl-0">;</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> </span><br/><span class="hl-0"> </span><span class="hl-6">throw</span><span class="hl-0"> </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">CircuitBreakerError</span><span class="hl-0">(</span><span class="hl-4">'Circuit breaker open and no fallback available'</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> );</span><br/><span class="hl-0">}</span>
|
|
567
|
-
</code><button type="button">Copy</button></pre>
|
|
568
|
-
|
|
569
|
-
<a id="md:6-monitoring-and-observability" class="tsd-anchor"></a><h3 class="tsd-anchor-link">6. Monitoring and Observability<a href="#md:6-monitoring-and-observability" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="typescript"><span class="hl-5">// Metrics collection</span><br/><span class="hl-3">setInterval</span><span class="hl-0">(() </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">stats</span><span class="hl-0"> = </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">getStats</span><span class="hl-0">();</span><br/><span class="hl-0"> </span><br/><span class="hl-0"> </span><span class="hl-5">// Log metrics</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Client Metrics:'</span><span class="hl-0">, {</span><br/><span class="hl-0"> </span><span class="hl-1">rps:</span><span class="hl-0"> (</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">requestCount</span><span class="hl-0"> / ((</span><span class="hl-1">Date</span><span class="hl-0">.</span><span class="hl-3">now</span><span class="hl-0">() - </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">uptime</span><span class="hl-0">) / </span><span class="hl-8">1000</span><span class="hl-0">)).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-1">errorRate:</span><span class="hl-0"> ((</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">errorCount</span><span class="hl-0"> / </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">requestCount</span><span class="hl-0">) * </span><span class="hl-8">100</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">'%'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">avgLatency:</span><span class="hl-0"> </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">averageLatency</span><span class="hl-0">.</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">'ms'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">cacheHitRate:</span><span class="hl-0"> (</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">cacheHitRate</span><span class="hl-0"> * </span><span class="hl-8">100</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">'%'</span><span class="hl-0">,</span><br/><span class="hl-0"> });</span><br/><span class="hl-0"> </span><br/><span class="hl-0"> </span><span class="hl-5">// Alert on anomalies</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">averageLatency</span><span class="hl-0"> > </span><span class="hl-8">1000</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">warn</span><span class="hl-0">(</span><span class="hl-4">'High latency detected:'</span><span class="hl-0">, </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">averageLatency</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> </span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">errorCount</span><span class="hl-0"> / </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">requestCount</span><span class="hl-0"> > </span><span class="hl-8">0.05</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'High error rate:'</span><span class="hl-0">, ((</span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">errorCount</span><span class="hl-0"> / </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">requestCount</span><span class="hl-0">) * </span><span class="hl-8">100</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">'%'</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">}, </span><span class="hl-8">60000</span><span class="hl-0">); </span><span class="hl-5">// Every minute</span><br/><br/><span class="hl-5">// Event-based monitoring</span><br/><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'error'</span><span class="hl-0">, (</span><span class="hl-1">error</span><span class="hl-0">) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">// Send to monitoring service</span><br/><span class="hl-0"> </span><span class="hl-3">sendToMonitoring</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">type:</span><span class="hl-0"> </span><span class="hl-4">'rpc_error'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">error:</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">code:</span><span class="hl-0"> </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">code</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">timestamp:</span><span class="hl-0"> </span><span class="hl-1">Date</span><span class="hl-0">.</span><span class="hl-3">now</span><span class="hl-0">(),</span><br/><span class="hl-0"> });</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'endpoint-rotate'</span><span class="hl-0">, ({ </span><span class="hl-1">reason</span><span class="hl-0"> }) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">// Track endpoint health</span><br/><span class="hl-0"> </span><span class="hl-1">metrics</span><span class="hl-0">.</span><span class="hl-3">increment</span><span class="hl-0">(</span><span class="hl-4">'endpoint.rotation'</span><span class="hl-0">, { </span><span class="hl-1">reason</span><span class="hl-0"> });</span><br/><span class="hl-0">});</span>
|
|
539
|
+
<p>Import examples:</p>
|
|
540
|
+
<pre><code class="ts"><span class="hl-7">// Full SDK</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">SynapseClient</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// Types only (zero runtime)</span><br/><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-0">type</span><span class="hl-1"> { </span><span class="hl-2">Pubkey</span><span class="hl-1">, </span><span class="hl-2">Signature</span><span class="hl-1">, </span><span class="hl-2">AccountInfo</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk/core/types'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// Individual RPC method (tree-shakeable)</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">getBalance</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk/rpc'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// WebSocket only</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">WsClient</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'@oobe-protocol-labs/synapse-client-sdk/websocket'</span><span class="hl-1">;</span>
|
|
570
541
|
</code><button type="button">Copy</button></pre>
|
|
571
542
|
|
|
572
543
|
<hr>
|
|
573
|
-
<a id="md:
|
|
574
|
-
</code><button type="button">Copy</button></pre>
|
|
575
|
-
|
|
576
|
-
<hr>
|
|
577
|
-
<a id="md:system-requirements" class="tsd-anchor"></a><h2 class="tsd-anchor-link">System Requirements<a href="#md:system-requirements" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="md:runtime-requirements" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Runtime Requirements<a href="#md:runtime-requirements" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><table>
|
|
544
|
+
<a id="md:documentation" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Documentation<a href="#md:documentation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><table>
|
|
578
545
|
<thead>
|
|
579
546
|
<tr>
|
|
580
|
-
<th>
|
|
581
|
-
<th>
|
|
582
|
-
<th>Recommended</th>
|
|
583
|
-
<th>Notes</th>
|
|
547
|
+
<th>Resource</th>
|
|
548
|
+
<th>Location</th>
|
|
584
549
|
</tr>
|
|
585
550
|
</thead>
|
|
586
551
|
<tbody>
|
|
587
552
|
<tr>
|
|
588
|
-
<td
|
|
589
|
-
<td>
|
|
590
|
-
<td>20.x LTS</td>
|
|
591
|
-
<td>ESM support required</td>
|
|
553
|
+
<td>TypeDoc API reference</td>
|
|
554
|
+
<td><code>docs/</code> (HTML, auto-generated)</td>
|
|
592
555
|
</tr>
|
|
593
556
|
<tr>
|
|
594
|
-
<td
|
|
595
|
-
<td>
|
|
596
|
-
<td>5.3.x</td>
|
|
597
|
-
<td>For development only</td>
|
|
557
|
+
<td>Changelog</td>
|
|
558
|
+
<td><a href="media/CHANGELOG.md">CHANGELOG.md</a></td>
|
|
598
559
|
</tr>
|
|
599
560
|
<tr>
|
|
600
|
-
<td
|
|
601
|
-
<td>
|
|
602
|
-
<td>2GB</td>
|
|
603
|
-
<td>Per instance</td>
|
|
561
|
+
<td>Contributing guide</td>
|
|
562
|
+
<td><a href="media/CONTRIBUTING.md">CONTRIBUTING.md</a></td>
|
|
604
563
|
</tr>
|
|
605
564
|
<tr>
|
|
606
|
-
<td
|
|
607
|
-
<td>
|
|
608
|
-
<td>4+ cores</td>
|
|
609
|
-
<td>For optimal throughput</td>
|
|
565
|
+
<td>AI skill guides</td>
|
|
566
|
+
<td><code>src/ai/skills/</code> (10 markdown files)</td>
|
|
610
567
|
</tr>
|
|
611
568
|
<tr>
|
|
612
|
-
<td
|
|
613
|
-
<td>
|
|
614
|
-
<td>100 Mbps</td>
|
|
615
|
-
<td>Stable connection</td>
|
|
569
|
+
<td>Example scripts</td>
|
|
570
|
+
<td><code>examples/</code></td>
|
|
616
571
|
</tr>
|
|
617
572
|
</tbody>
|
|
618
573
|
</table>
|
|
619
|
-
<
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
<a id="md:browser-support" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Browser Support<a href="#md:browser-support" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><table>
|
|
574
|
+
<p>Skill guides (in <code>src/ai/skills/</code>):</p>
|
|
575
|
+
<table>
|
|
623
576
|
<thead>
|
|
624
577
|
<tr>
|
|
625
|
-
<th>
|
|
626
|
-
<th>
|
|
627
|
-
<th>Notes</th>
|
|
578
|
+
<th>File</th>
|
|
579
|
+
<th>Topic</th>
|
|
628
580
|
</tr>
|
|
629
581
|
</thead>
|
|
630
582
|
<tbody>
|
|
631
583
|
<tr>
|
|
632
|
-
<td>
|
|
633
|
-
<td>
|
|
634
|
-
|
|
584
|
+
<td><code>01-langchain-tools.md</code></td>
|
|
585
|
+
<td>Creating and using LangChain tools</td>
|
|
586
|
+
</tr>
|
|
587
|
+
<tr>
|
|
588
|
+
<td><code>02-gateway-sessions.md</code></td>
|
|
589
|
+
<td>Session lifecycle and management</td>
|
|
590
|
+
</tr>
|
|
591
|
+
<tr>
|
|
592
|
+
<td><code>03-pricing-metering.md</code></td>
|
|
593
|
+
<td>Pricing tiers and metering</td>
|
|
594
|
+
</tr>
|
|
595
|
+
<tr>
|
|
596
|
+
<td><code>04-response-attestation.md</code></td>
|
|
597
|
+
<td>Response integrity and attestation</td>
|
|
598
|
+
</tr>
|
|
599
|
+
<tr>
|
|
600
|
+
<td><code>05-tool-marketplace.md</code></td>
|
|
601
|
+
<td>Listing and discovering tools</td>
|
|
602
|
+
</tr>
|
|
603
|
+
<tr>
|
|
604
|
+
<td><code>06-x402-seller-paywall.md</code></td>
|
|
605
|
+
<td>Seller-side x402 integration</td>
|
|
635
606
|
</tr>
|
|
636
607
|
<tr>
|
|
637
|
-
<td>
|
|
638
|
-
<td>
|
|
639
|
-
<td>Full support</td>
|
|
608
|
+
<td><code>07-x402-buyer-client.md</code></td>
|
|
609
|
+
<td>Buyer-side x402 integration</td>
|
|
640
610
|
</tr>
|
|
641
611
|
<tr>
|
|
642
|
-
<td>
|
|
643
|
-
<td>
|
|
644
|
-
<td>WebSocket compression may be limited</td>
|
|
612
|
+
<td><code>08-full-gateway-orchestration.md</code></td>
|
|
613
|
+
<td>End-to-end gateway orchestration</td>
|
|
645
614
|
</tr>
|
|
646
615
|
<tr>
|
|
647
|
-
<td>
|
|
648
|
-
<td>
|
|
649
|
-
<td>Full support</td>
|
|
616
|
+
<td><code>09-events-observability.md</code></td>
|
|
617
|
+
<td>Event system and observability</td>
|
|
650
618
|
</tr>
|
|
651
619
|
</tbody>
|
|
652
620
|
</table>
|
|
653
|
-
<
|
|
654
|
-
<
|
|
655
|
-
<a id="md:1-client-initialization" class="tsd-anchor"></a><h4 class="tsd-anchor-link">1. Client Initialization<a href="#md:1-client-initialization" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">// v1.x</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">client</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">SynapseClient</span><span class="hl-0">(</span><span class="hl-4">'https://endpoint.com'</span><span class="hl-0">, </span><span class="hl-4">'api-key'</span><span class="hl-0">);</span><br/><br/><span class="hl-5">// v2.x</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">client</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">SynapseClient</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">endpoint:</span><span class="hl-0"> </span><span class="hl-4">'https://endpoint.com'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">apiKey:</span><span class="hl-0"> </span><span class="hl-4">'api-key'</span><span class="hl-0">,</span><br/><span class="hl-0">});</span>
|
|
656
|
-
</code><button type="button">Copy</button></pre>
|
|
657
|
-
|
|
658
|
-
<a id="md:2-rpc-method-calls" class="tsd-anchor"></a><h4 class="tsd-anchor-link">2. RPC Method Calls<a href="#md:2-rpc-method-calls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">// v1.x</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">getBalance</span><span class="hl-0">(</span><span class="hl-4">'address'</span><span class="hl-0">);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">accountInfo</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">getAccountInfo</span><span class="hl-0">(</span><span class="hl-4">'address'</span><span class="hl-0">);</span><br/><br/><span class="hl-5">// v2.x</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getBalance'</span><span class="hl-0">, [</span><span class="hl-4">'address'</span><span class="hl-0">]);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">accountInfo</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">call</span><span class="hl-0">(</span><span class="hl-4">'getAccountInfo'</span><span class="hl-0">, [</span><span class="hl-4">'address'</span><span class="hl-0">, { </span><span class="hl-1">encoding:</span><span class="hl-0"> </span><span class="hl-4">'jsonParsed'</span><span class="hl-0"> }]);</span><br/><br/><span class="hl-5">// Or use SolanaRpcMethods wrapper</span><br/><span class="hl-6">import</span><span class="hl-0"> { </span><span class="hl-1">SolanaRpcMethods</span><span class="hl-0"> } </span><span class="hl-6">from</span><span class="hl-0"> </span><span class="hl-4">'@synapse/client-sdk/methods'</span><span class="hl-0">;</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">rpc</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">SolanaRpcMethods</span><span class="hl-0">(</span><span class="hl-1">client</span><span class="hl-0">);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">balance</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">rpc</span><span class="hl-0">.</span><span class="hl-3">getBalance</span><span class="hl-0">(</span><span class="hl-4">'address'</span><span class="hl-0">);</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">accountInfo</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">rpc</span><span class="hl-0">.</span><span class="hl-3">getAccountInfo</span><span class="hl-0">(</span><span class="hl-4">'address'</span><span class="hl-0">, { </span><span class="hl-1">encoding:</span><span class="hl-0"> </span><span class="hl-4">'jsonParsed'</span><span class="hl-0"> });</span>
|
|
659
|
-
</code><button type="button">Copy</button></pre>
|
|
660
|
-
|
|
661
|
-
<a id="md:3-error-handling" class="tsd-anchor"></a><h4 class="tsd-anchor-link">3. Error Handling<a href="#md:3-error-handling" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">// v1.x</span><br/><span class="hl-6">catch</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">code</span><span class="hl-0"> === -</span><span class="hl-8">32602</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-5">// Handle validation error</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-5">// v2.x</span><br/><span class="hl-6">import</span><span class="hl-0"> { </span><span class="hl-1">SynapseError</span><span class="hl-0">, </span><span class="hl-1">ValidationError</span><span class="hl-0">, </span><span class="hl-1">NetworkError</span><span class="hl-0"> } </span><span class="hl-6">from</span><span class="hl-0"> </span><span class="hl-4">'@synapse/client-sdk'</span><span class="hl-0">;</span><br/><br/><span class="hl-6">catch</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">ValidationError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Validation error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">field</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-6">else</span><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">NetworkError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Network error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">statusCode</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-6">else</span><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0"> </span><span class="hl-7">instanceof</span><span class="hl-0"> </span><span class="hl-9">SynapseError</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Synapse error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">code</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">message</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">}</span>
|
|
662
|
-
</code><button type="button">Copy</button></pre>
|
|
663
|
-
|
|
664
|
-
<a id="md:4-websocket-subscriptions" class="tsd-anchor"></a><h4 class="tsd-anchor-link">4. WebSocket Subscriptions<a href="#md:4-websocket-subscriptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">// v1.x</span><br/><span class="hl-1">ws</span><span class="hl-0">.</span><span class="hl-3">accountSubscribe</span><span class="hl-0">(</span><span class="hl-4">'address'</span><span class="hl-0">, (</span><span class="hl-1">data</span><span class="hl-0">) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-1">data</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-5">// v2.x</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">subId</span><span class="hl-0"> = </span><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">ws</span><span class="hl-0">.</span><span class="hl-3">accountSubscribe</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-4">'address'</span><span class="hl-0">,</span><br/><span class="hl-0"> (</span><span class="hl-1">data</span><span class="hl-0">) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-1">data</span><span class="hl-0">);</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">commitment:</span><span class="hl-0"> </span><span class="hl-4">'confirmed'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">encoding:</span><span class="hl-0"> </span><span class="hl-4">'jsonParsed'</span><span class="hl-0">,</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">);</span><br/><br/><span class="hl-5">// Remember to unsubscribe</span><br/><span class="hl-6">await</span><span class="hl-0"> </span><span class="hl-1">ws</span><span class="hl-0">.</span><span class="hl-3">accountUnsubscribe</span><span class="hl-0">(</span><span class="hl-1">subId</span><span class="hl-0">);</span>
|
|
621
|
+
<p>To regenerate the API reference:</p>
|
|
622
|
+
<pre><code class="bash"><span class="hl-6">pnpm</span><span class="hl-1"> </span><span class="hl-3">docs</span>
|
|
665
623
|
</code><button type="button">Copy</button></pre>
|
|
666
624
|
|
|
667
625
|
<hr>
|
|
668
|
-
<a id="md:
|
|
669
|
-
|
|
670
|
-
<pre><code class="typescript"><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">stats</span><span class="hl-0"> = </span><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">getStats</span><span class="hl-0">();</span><br/><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Average latency:'</span><span class="hl-0">, </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">averageLatency</span><span class="hl-0">);</span><br/><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Cache hit rate:'</span><span class="hl-0">, </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">cacheHitRate</span><span class="hl-0">);</span><br/><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Pending requests:'</span><span class="hl-0">, </span><span class="hl-1">stats</span><span class="hl-0">.</span><span class="hl-1">pendingRequests</span><span class="hl-0">);</span>
|
|
671
|
-
</code><button type="button">Copy</button></pre>
|
|
672
|
-
|
|
673
|
-
<p><strong>Solutions:</strong></p>
|
|
674
|
-
<ul>
|
|
675
|
-
<li>Enable caching for read operations</li>
|
|
676
|
-
<li>Use batch operations instead of sequential calls</li>
|
|
677
|
-
<li>Check network connectivity to RPC endpoint</li>
|
|
678
|
-
<li>Use multiple endpoints with load balancing</li>
|
|
679
|
-
<li>Verify endpoint proximity (use regional endpoints)</li>
|
|
680
|
-
</ul>
|
|
681
|
-
<a id="md:2-connection-errors" class="tsd-anchor"></a><h4 class="tsd-anchor-link">2. Connection Errors<a href="#md:2-connection-errors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><strong>Symptoms:</strong> <code>NetworkError</code> or connection timeouts</p>
|
|
682
|
-
<p><strong>Diagnosis:</strong></p>
|
|
683
|
-
<pre><code class="typescript"><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'error'</span><span class="hl-0">, (</span><span class="hl-1">error</span><span class="hl-0">) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Connection error:'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'endpoint-rotate'</span><span class="hl-0">, ({ </span><span class="hl-1">reason</span><span class="hl-0"> }) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Endpoint rotation reason:'</span><span class="hl-0">, </span><span class="hl-1">reason</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
|
|
684
|
-
</code><button type="button">Copy</button></pre>
|
|
685
|
-
|
|
686
|
-
<p><strong>Solutions:</strong></p>
|
|
687
|
-
<ul>
|
|
688
|
-
<li>Verify endpoint URL and API key</li>
|
|
689
|
-
<li>Check firewall/proxy settings</li>
|
|
690
|
-
<li>Implement retry logic with exponential backoff</li>
|
|
691
|
-
<li>Use circuit breaker for automatic fallback</li>
|
|
692
|
-
<li>Test endpoint health manually</li>
|
|
693
|
-
</ul>
|
|
694
|
-
<a id="md:3-memory-leaks" class="tsd-anchor"></a><h4 class="tsd-anchor-link">3. Memory Leaks<a href="#md:3-memory-leaks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><strong>Symptoms:</strong> Increasing memory usage over time</p>
|
|
695
|
-
<p><strong>Diagnosis:</strong></p>
|
|
696
|
-
<pre><code class="typescript"><span class="hl-3">setInterval</span><span class="hl-0">(() </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">used</span><span class="hl-0"> = </span><span class="hl-1">process</span><span class="hl-0">.</span><span class="hl-3">memoryUsage</span><span class="hl-0">();</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Memory usage:'</span><span class="hl-0">, {</span><br/><span class="hl-0"> </span><span class="hl-1">rss:</span><span class="hl-0"> (</span><span class="hl-1">used</span><span class="hl-0">.</span><span class="hl-1">rss</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">' MB'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">heapTotal:</span><span class="hl-0"> (</span><span class="hl-1">used</span><span class="hl-0">.</span><span class="hl-1">heapTotal</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">' MB'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">heapUsed:</span><span class="hl-0"> (</span><span class="hl-1">used</span><span class="hl-0">.</span><span class="hl-1">heapUsed</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0"> / </span><span class="hl-8">1024</span><span class="hl-0">).</span><span class="hl-3">toFixed</span><span class="hl-0">(</span><span class="hl-8">2</span><span class="hl-0">) + </span><span class="hl-4">' MB'</span><span class="hl-0">,</span><br/><span class="hl-0"> });</span><br/><span class="hl-0">}, </span><span class="hl-8">30000</span><span class="hl-0">);</span>
|
|
697
|
-
</code><button type="button">Copy</button></pre>
|
|
698
|
-
|
|
699
|
-
<p><strong>Solutions:</strong></p>
|
|
700
|
-
<ul>
|
|
701
|
-
<li>Call <code>client.destroy()</code> when done</li>
|
|
702
|
-
<li>Unsubscribe from WebSocket subscriptions</li>
|
|
703
|
-
<li>Clear caches periodically: <code>client.clearCache()</code></li>
|
|
704
|
-
<li>Remove event listeners when not needed</li>
|
|
705
|
-
<li>Use <code>--max-old-space-size</code> flag to increase heap limit</li>
|
|
706
|
-
</ul>
|
|
707
|
-
<a id="md:4-websocket-disconnections" class="tsd-anchor"></a><h4 class="tsd-anchor-link">4. WebSocket Disconnections<a href="#md:4-websocket-disconnections" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><strong>Symptoms:</strong> Frequent WebSocket disconnects</p>
|
|
708
|
-
<p><strong>Diagnosis:</strong></p>
|
|
709
|
-
<pre><code class="typescript"><span class="hl-1">wsClient</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'disconnected'</span><span class="hl-0">, ({ </span><span class="hl-1">code</span><span class="hl-0">, </span><span class="hl-1">reason</span><span class="hl-0"> }) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Disconnect code:'</span><span class="hl-0">, </span><span class="hl-1">code</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">'Disconnect reason:'</span><span class="hl-0">, </span><span class="hl-1">reason</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-1">wsClient</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'reconnecting'</span><span class="hl-0">, ({ </span><span class="hl-1">attempt</span><span class="hl-0">, </span><span class="hl-1">maxAttempts</span><span class="hl-0"> }) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">log</span><span class="hl-0">(</span><span class="hl-4">`Reconnect attempt </span><span class="hl-7">${</span><span class="hl-1">attempt</span><span class="hl-7">}</span><span class="hl-4">/</span><span class="hl-7">${</span><span class="hl-1">maxAttempts</span><span class="hl-7">}</span><span class="hl-4">`</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
|
|
710
|
-
</code><button type="button">Copy</button></pre>
|
|
711
|
-
|
|
712
|
-
<p><strong>Solutions:</strong></p>
|
|
713
|
-
<ul>
|
|
714
|
-
<li>Reduce heartbeat interval for faster detection</li>
|
|
715
|
-
<li>Increase <code>maxReconnectAttempts</code></li>
|
|
716
|
-
<li>Check network stability</li>
|
|
717
|
-
<li>Use resilient subscriptions</li>
|
|
718
|
-
<li>Implement fallback to HTTP polling</li>
|
|
719
|
-
</ul>
|
|
720
|
-
<a id="md:5-rate-limiting" class="tsd-anchor"></a><h4 class="tsd-anchor-link">5. Rate Limiting<a href="#md:5-rate-limiting" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><strong>Symptoms:</strong> 429 Too Many Requests errors</p>
|
|
721
|
-
<p><strong>Diagnosis:</strong></p>
|
|
722
|
-
<pre><code class="typescript"><span class="hl-1">client</span><span class="hl-0">.</span><span class="hl-3">on</span><span class="hl-0">(</span><span class="hl-4">'error'</span><span class="hl-0">, (</span><span class="hl-1">error</span><span class="hl-0">) </span><span class="hl-7">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-6">if</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">.</span><span class="hl-1">code</span><span class="hl-0"> === </span><span class="hl-8">429</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">(</span><span class="hl-4">'Rate limit exceeded'</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">});</span>
|
|
723
|
-
</code><button type="button">Copy</button></pre>
|
|
724
|
-
|
|
725
|
-
<p><strong>Solutions:</strong></p>
|
|
726
|
-
<ul>
|
|
727
|
-
<li>Implement request throttling</li>
|
|
728
|
-
<li>Use caching to reduce API calls</li>
|
|
729
|
-
<li>Batch operations when possible</li>
|
|
730
|
-
<li>Upgrade API plan for higher limits</li>
|
|
731
|
-
<li>Implement exponential backoff on rate limit errors</li>
|
|
732
|
-
</ul>
|
|
733
|
-
<a id="md:debug-mode" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Debug Mode<a href="#md:debug-mode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Enable debug logging for detailed insights:</p>
|
|
734
|
-
<pre><code class="typescript"><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-2">client</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-3">SynapseClient</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">endpoint:</span><span class="hl-0"> </span><span class="hl-1">process</span><span class="hl-0">.</span><span class="hl-1">env</span><span class="hl-0">.</span><span class="hl-2">SYNAPSE_ENDPOINT</span><span class="hl-0">!,</span><br/><span class="hl-0"> </span><span class="hl-1">apiKey:</span><span class="hl-0"> </span><span class="hl-1">process</span><span class="hl-0">.</span><span class="hl-1">env</span><span class="hl-0">.</span><span class="hl-2">SYNAPSE_API_KEY</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">debug:</span><span class="hl-0"> </span><span class="hl-7">true</span><span class="hl-0">, </span><span class="hl-5">// Enable debug logs</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-5">// Console output:</span><br/><span class="hl-5">// 🚀 Synapse Client initialized: https://...</span><br/><span class="hl-5">// 📤 [1] getBalance ["addr..."]</span><br/><span class="hl-5">// 📥 [1] ✅ 45ms</span><br/><span class="hl-5">// 📤 [2] getAccountInfo ["addr...", {...}]</span><br/><span class="hl-5">// 📥 [2] ✅ 82ms</span>
|
|
735
|
-
</code><button type="button">Copy</button></pre>
|
|
736
|
-
|
|
737
|
-
<hr>
|
|
738
|
-
<a id="md:contributing" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Contributing<a href="#md:contributing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Contributions are welcome! Please follow these guidelines:</p>
|
|
739
|
-
<a id="md:development-setup" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Development Setup<a href="#md:development-setup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="bash"><span class="hl-5"># Clone repository</span><br/><span class="hl-3">git</span><span class="hl-0"> </span><span class="hl-4">clone</span><span class="hl-0"> </span><span class="hl-4">https://github.com/CryptoFamilyNFT/synapse.git</span><br/><span class="hl-3">cd</span><span class="hl-0"> </span><span class="hl-4">synapse/packages/synapse-client-sdk</span><br/><br/><span class="hl-5"># Install dependencies</span><br/><span class="hl-3">pnpm</span><span class="hl-0"> </span><span class="hl-4">install</span><br/><br/><span class="hl-5"># Build project</span><br/><span class="hl-3">pnpm</span><span class="hl-0"> </span><span class="hl-4">build</span><br/><br/><span class="hl-5"># Run tests</span><br/><span class="hl-3">pnpm</span><span class="hl-0"> </span><span class="hl-4">test</span><br/><br/><span class="hl-5"># Run linter</span><br/><span class="hl-3">pnpm</span><span class="hl-0"> </span><span class="hl-4">lint</span><br/><br/><span class="hl-5"># Type check</span><br/><span class="hl-3">pnpm</span><span class="hl-0"> </span><span class="hl-4">type-check</span>
|
|
740
|
-
</code><button type="button">Copy</button></pre>
|
|
626
|
+
<a id="md:source-map" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Source Map<a href="#md:source-map" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code><span class="hl-2">src</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-2">index</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-2">Main</span><span class="hl-1"> </span><span class="hl-2">entry</span><span class="hl-1"> </span><span class="hl-2">point</span><span class="hl-1">, </span><span class="hl-2">barrel</span><span class="hl-1"> </span><span class="hl-10">exports</span><br/><span class="hl-1"> </span><span class="hl-2">core</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-2">types</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-2">Branded</span><span class="hl-1"> </span><span class="hl-2">types</span><span class="hl-1">, </span><span class="hl-5">RPC</span><span class="hl-1"> </span><span class="hl-2">wire</span><span class="hl-1"> </span><span class="hl-2">types</span><br/><span class="hl-1"> </span><span class="hl-2">errors</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-2">Error</span><span class="hl-1"> </span><span class="hl-2">hierarchy</span><br/><span class="hl-1"> </span><span class="hl-2">transport</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-6">HttpTransport</span><span class="hl-1"> (</span><span class="hl-5">JSON</span><span class="hl-1">-</span><span class="hl-5">RPC</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-2">client</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-2">SynapseClient</span><span class="hl-1"> </span><span class="hl-2">orchestrator</span><br/><span class="hl-1"> </span><span class="hl-2">rpc</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-2">solana</span><span class="hl-1">-</span><span class="hl-2">rpc</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-2">SolanaRpc</span><span class="hl-1"> </span><span class="hl-6">facade</span><span class="hl-1"> (</span><span class="hl-8">53</span><span class="hl-1"> </span><span class="hl-2">methods</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-2">methods</span><span class="hl-1">/ </span><span class="hl-2">One</span><span class="hl-1"> </span><span class="hl-2">file</span><span class="hl-1"> </span><span class="hl-2">per</span><span class="hl-1"> </span><span class="hl-5">RPC</span><span class="hl-1"> </span><span class="hl-6">method</span><span class="hl-1"> (</span><span class="hl-8">53</span><span class="hl-1"> </span><span class="hl-2">files</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-2">das</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-2">types</span><span class="hl-1">.</span><span class="hl-2">ts</span><span class="hl-1"> </span><span class="hl-5">DAS</span><span class="hl-1"> </span><span class="hl-4">type</span><span class="hl-1"> </span><span class="hl-10">definitions</span><br/><span class="hl-1"> client.ts DasClient facade (11 methods)</span><br/><span class="hl-1"> methods/ One file per DAS method (11 files)</span><br/><span class="hl-1"> websocket/</span><br/><span class="hl-1"> types.ts Subscription and notification types</span><br/><span class="hl-1"> client.ts WsClient (6 subscription methods)</span><br/><span class="hl-1"> grpc/</span><br/><span class="hl-1"> types.ts gRPC transport types</span><br/><span class="hl-1"> transport.ts GrpcTransport class</span><br/><span class="hl-1"> parser/</span><br/><span class="hl-1"> types.ts Geyser protobuf types</span><br/><span class="hl-1"> programs.ts Known-program registry (80+)</span><br/><span class="hl-1"> decoder.ts Low-level stream decoders</span><br/><span class="hl-1"> geyser-parser.ts GeyserParser high-level class</span><br/><span class="hl-1"> ai/</span><br/><span class="hl-1"> tools/</span><br/><span class="hl-1"> zod/ Zod schemas for 53 RPC methods</span><br/><span class="hl-1"> protocols/</span><br/><span class="hl-1"> shared.ts Protocol infrastructure</span><br/><span class="hl-1"> jupiter/ Jupiter DEX (21 methods)</span><br/><span class="hl-1"> raydium/ Raydium DEX (16 methods)</span><br/><span class="hl-1"> metaplex/ Metaplex NFT (12 methods)</span><br/><span class="hl-1"> gateway/</span><br/><span class="hl-1"> types.ts Gateway type definitions</span><br/><span class="hl-1"> session.ts AgentSession</span><br/><span class="hl-1"> pricing.ts PricingEngine</span><br/><span class="hl-1"> validator.ts ResponseValidator</span><br/><span class="hl-1"> marketplace.ts ToolMarketplace</span><br/><span class="hl-1"> index.ts AgentGateway</span><br/><span class="hl-1"> x402/</span><br/><span class="hl-1"> types.ts x402 protocol types</span><br/><span class="hl-1"> paywall.ts Seller-side paywall</span><br/><span class="hl-1"> client.ts Buyer-side client</span><br/><span class="hl-1"> facilitator.ts Settlement verification</span><br/><span class="hl-1"> registry.ts Known facilitators</span><br/><span class="hl-1"> skills/ 10 markdown skill guides</span><br/><span class="hl-1"> utils/</span><br/><span class="hl-1"> helpers.ts lamportsToSol, sleep, chunk, retry</span><br/><span class="hl-1"> synapse.ts Endpoint registry, auto-select</span>
|
|
627
|
+
</code><button>Copy</button></pre>
|
|
741
628
|
|
|
742
|
-
<a id="md:guidelines" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Guidelines<a href="#md:guidelines" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><ol>
|
|
743
|
-
<li><strong>Code Style:</strong> Follow TypeScript best practices and existing code style</li>
|
|
744
|
-
<li><strong>Testing:</strong> Add tests for new features (<code>pnpm test</code>)</li>
|
|
745
|
-
<li><strong>Documentation:</strong> Update relevant README files</li>
|
|
746
|
-
<li><strong>Type Safety:</strong> Ensure full TypeScript coverage</li>
|
|
747
|
-
<li><strong>Performance:</strong> Benchmark changes if applicable (<code>pnpm benchmark</code>)</li>
|
|
748
|
-
<li><strong>Commit Messages:</strong> Use conventional commits format</li>
|
|
749
|
-
</ol>
|
|
750
|
-
<a id="md:pull-request-process" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Pull Request Process<a href="#md:pull-request-process" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><ol>
|
|
751
|
-
<li>Fork the repository</li>
|
|
752
|
-
<li>Create a feature branch (<code>git checkout -b feature/amazing-feature</code>)</li>
|
|
753
|
-
<li>Make your changes</li>
|
|
754
|
-
<li>Add tests and documentation</li>
|
|
755
|
-
<li>Run tests and linter (<code>pnpm test && pnpm lint</code>)</li>
|
|
756
|
-
<li>Commit your changes (<code>git commit -m 'feat: add amazing feature'</code>)</li>
|
|
757
|
-
<li>Push to branch (<code>git push origin feature/amazing-feature</code>)</li>
|
|
758
|
-
<li>Open a Pull Request</li>
|
|
759
|
-
</ol>
|
|
760
629
|
<hr>
|
|
761
|
-
<a id="md:
|
|
762
|
-
<p>Copyright (c) 2024 CryptoFamilyNFT</p>
|
|
763
|
-
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
|
|
764
|
-
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
|
|
765
|
-
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
|
|
766
|
-
<hr>
|
|
767
|
-
<a id="md:support" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Support<a href="#md:support" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><ul>
|
|
768
|
-
<li><strong>Documentation:</strong> <a href="https://docs.synapse.com" target="_blank" class="external">https://docs.synapse.com</a></li>
|
|
769
|
-
<li><strong>GitHub Issues:</strong> <a href="https://github.com/CryptoFamilyNFT/synapse/issues" target="_blank" class="external">https://github.com/CryptoFamilyNFT/synapse/issues</a></li>
|
|
770
|
-
<li><strong>Discord:</strong> <a href="https://discord.gg/synapse" target="_blank" class="external">https://discord.gg/synapse</a></li>
|
|
771
|
-
<li><strong>Email:</strong> <a href="mailto:support@synapse.com">support@synapse.com</a></li>
|
|
772
|
-
</ul>
|
|
630
|
+
<a id="md:contributing" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Contributing<a href="#md:contributing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>See <a href="media/CONTRIBUTING.md">CONTRIBUTING.md</a> for the branching strategy, commit conventions, and development setup.</p>
|
|
773
631
|
<hr>
|
|
774
|
-
<
|
|
775
|
-
<p>
|
|
776
|
-
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:
|
|
632
|
+
<a id="md:license" class="tsd-anchor"></a><h2 class="tsd-anchor-link">License<a href="#md:license" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>MIT -- see <a href="media/LICENSE">LICENSE</a>.</p>
|
|
633
|
+
<p>Copyright (c) OOBE Protocol Labs -- <a href="https://oobeprotocol.ai" target="_blank" class="external">oobeprotocol.ai</a></p>
|
|
634
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:oobe-protocol-labssynapse-client-sdk"><span>@oobe-<wbr/>protocol-<wbr/>labs/synapse-<wbr/>client-<wbr/>sdk</span></a><ul><li><a href="#md:table-of-contents"><span>Table of <wbr/>Contents</span></a></li><li><a href="#md:installation"><span>Installation</span></a></li><li><a href="#md:quick-start"><span>Quick <wbr/>Start</span></a></li><li><ul><li><a href="#md:factory-helpers"><span>Factory helpers</span></a></li></ul></li><li><a href="#md:architecture"><span>Architecture</span></a></li><li><a href="#md:module-reference"><span>Module <wbr/>Reference</span></a></li><li><ul><li><a href="#md:core"><span>core/</span></a></li><li><a href="#md:rpc"><span>rpc/</span></a></li><li><a href="#md:das"><span>das/</span></a></li><li><a href="#md:websocket"><span>websocket/</span></a></li><li><a href="#md:grpc"><span>grpc/</span></a></li><li><a href="#md:ai"><span>ai/</span></a></li><li><a href="#md:utils"><span>utils/</span></a></li></ul></li><li><a href="#md:endpoints-and-regions"><span>Endpoints and <wbr/>Regions</span></a></li><li><a href="#md:branded-types"><span>Branded <wbr/>Types</span></a></li><li><a href="#md:ai-agent-integration"><span>AI <wbr/>Agent <wbr/>Integration</span></a></li><li><ul><li><a href="#md:zod-schemas-and-langchain-tools"><span>Zod <wbr/>Schemas and <wbr/>Lang<wbr/>Chain <wbr/>Tools</span></a></li><li><a href="#md:protocol-tools"><span>Protocol <wbr/>Tools</span></a></li><li><a href="#md:agent-commerce-gateway"><span>Agent <wbr/>Commerce <wbr/>Gateway</span></a></li><li><a href="#md:x402-payment-protocol"><span>x402 <wbr/>Payment <wbr/>Protocol</span></a></li></ul></li><li><a href="#md:testing"><span>Testing</span></a></li><li><a href="#md:build-and-development"><span>Build and <wbr/>Development</span></a></li><li><a href="#md:package-exports"><span>Package <wbr/>Exports</span></a></li><li><a href="#md:documentation"><span>Documentation</span></a></li><li><a href="#md:source-map"><span>Source <wbr/>Map</span></a></li><li><a href="#md:contributing"><span>Contributing</span></a></li><li><a href="#md:license"><span>License</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>@oobe-protocol-labs/synapse-client-sdk</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|