@opendatalabs/vana-sdk 2.2.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -92
- package/dist/auth/errors.cjs +54 -0
- package/dist/auth/errors.cjs.map +1 -0
- package/dist/auth/errors.d.ts +26 -0
- package/dist/auth/errors.js +28 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/pkce.cjs +100 -0
- package/dist/auth/pkce.cjs.map +1 -0
- package/dist/auth/pkce.d.ts +55 -0
- package/dist/auth/pkce.js +71 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/token-store.cjs +59 -0
- package/dist/auth/token-store.cjs.map +1 -0
- package/dist/auth/token-store.d.ts +61 -0
- package/dist/auth/token-store.js +35 -0
- package/dist/auth/token-store.js.map +1 -0
- package/dist/auth/web3-signed-builder.cjs +70 -0
- package/dist/auth/web3-signed-builder.cjs.map +1 -0
- package/dist/auth/web3-signed-builder.d.ts +47 -0
- package/dist/auth/web3-signed-builder.js +45 -0
- package/dist/auth/web3-signed-builder.js.map +1 -0
- package/dist/auth/web3-signed.cjs +125 -0
- package/dist/auth/web3-signed.cjs.map +1 -0
- package/dist/auth/web3-signed.d.ts +59 -0
- package/dist/auth/web3-signed.js +104 -0
- package/dist/auth/web3-signed.js.map +1 -0
- package/dist/chains/definitions.cjs +2 -6
- package/dist/chains/definitions.cjs.map +1 -1
- package/dist/chains/definitions.d.ts +1 -7
- package/dist/chains/definitions.js +2 -6
- package/dist/chains/definitions.js.map +1 -1
- package/dist/config/chains.d.ts +18 -0
- package/dist/config/contracts.config.cjs +7 -95
- package/dist/config/contracts.config.cjs.map +1 -1
- package/dist/config/contracts.config.d.ts +0 -54
- package/dist/config/contracts.config.js +6 -93
- package/dist/config/contracts.config.js.map +1 -1
- package/dist/config/default-services.cjs +0 -10
- package/dist/config/default-services.cjs.map +1 -1
- package/dist/config/default-services.d.ts +1 -20
- package/dist/config/default-services.js +0 -9
- package/dist/config/default-services.js.map +1 -1
- package/dist/crypto/ecies/interface.cjs +2 -0
- package/dist/crypto/ecies/interface.cjs.map +1 -1
- package/dist/crypto/ecies/interface.js +2 -0
- package/dist/crypto/ecies/interface.js.map +1 -1
- package/dist/crypto/envelope/openpgp.cjs +59 -0
- package/dist/crypto/envelope/openpgp.cjs.map +1 -0
- package/dist/crypto/envelope/openpgp.d.ts +28 -0
- package/dist/crypto/envelope/openpgp.js +24 -0
- package/dist/crypto/envelope/openpgp.js.map +1 -0
- package/dist/crypto/keys/derive.cjs +65 -0
- package/dist/crypto/keys/derive.cjs.map +1 -0
- package/dist/crypto/keys/derive.d.ts +45 -0
- package/dist/crypto/keys/derive.js +38 -0
- package/dist/crypto/keys/derive.js.map +1 -0
- package/dist/errors.cjs +10 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js +10 -0
- package/dist/errors.js.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs +65 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +51 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js +65 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs +187 -19
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +144 -14
- package/dist/generated/abi/VanaPoolStakingImplementation.js +187 -19
- package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
- package/dist/generated/abi/index.cjs +2 -37
- package/dist/generated/abi/index.cjs.map +1 -1
- package/dist/generated/abi/index.d.ts +2687 -9119
- package/dist/generated/abi/index.js +2 -29
- package/dist/generated/abi/index.js.map +1 -1
- package/dist/generated/addresses.cjs +5 -107
- package/dist/generated/addresses.cjs.map +1 -1
- package/dist/generated/addresses.d.ts +5 -99
- package/dist/generated/addresses.js +5 -105
- package/dist/generated/addresses.js.map +1 -1
- package/dist/index.browser.d.ts +23 -138
- package/dist/index.browser.js +32090 -112
- package/dist/index.browser.js.map +7 -1
- package/dist/index.node.cjs +32809 -157
- package/dist/index.node.cjs.map +7 -1
- package/dist/index.node.d.ts +22 -208
- package/dist/index.node.js +32716 -131
- package/dist/index.node.js.map +7 -1
- package/dist/protocol/data-file.cjs +56 -0
- package/dist/protocol/data-file.cjs.map +1 -0
- package/dist/protocol/data-file.d.ts +20 -0
- package/dist/protocol/data-file.js +30 -0
- package/dist/protocol/data-file.js.map +1 -0
- package/dist/protocol/eip712.cjs +123 -0
- package/dist/protocol/eip712.cjs.map +1 -0
- package/dist/protocol/eip712.d.ts +117 -0
- package/dist/protocol/eip712.js +90 -0
- package/dist/protocol/eip712.js.map +1 -0
- package/dist/protocol/gateway.cjs +226 -0
- package/dist/protocol/gateway.cjs.map +1 -0
- package/dist/protocol/gateway.d.ts +120 -0
- package/dist/protocol/gateway.js +202 -0
- package/dist/protocol/gateway.js.map +1 -0
- package/dist/protocol/scopes.cjs +78 -0
- package/dist/protocol/scopes.cjs.map +1 -0
- package/dist/protocol/scopes.d.ts +13 -0
- package/dist/protocol/scopes.js +50 -0
- package/dist/protocol/scopes.js.map +1 -0
- package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
- package/dist/storage/default.cjs.map +1 -0
- package/dist/storage/default.d.ts +4 -0
- package/dist/storage/default.js +8 -0
- package/dist/storage/default.js.map +1 -0
- package/dist/storage/index.cjs +11 -2
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.ts +9 -0
- package/dist/storage/index.js +7 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/providers/callback-storage.cjs +1 -0
- package/dist/storage/providers/callback-storage.cjs.map +1 -1
- package/dist/storage/providers/callback-storage.js +1 -0
- package/dist/storage/providers/callback-storage.js.map +1 -1
- package/dist/storage/providers/dropbox.cjs +1 -0
- package/dist/storage/providers/dropbox.cjs.map +1 -1
- package/dist/storage/providers/dropbox.js +1 -0
- package/dist/storage/providers/dropbox.js.map +1 -1
- package/dist/storage/providers/google-drive.cjs +1 -0
- package/dist/storage/providers/google-drive.cjs.map +1 -1
- package/dist/storage/providers/google-drive.js +1 -0
- package/dist/storage/providers/google-drive.js.map +1 -1
- package/dist/storage/providers/ipfs.cjs +1 -0
- package/dist/storage/providers/ipfs.cjs.map +1 -1
- package/dist/storage/providers/ipfs.js +1 -0
- package/dist/storage/providers/ipfs.js.map +1 -1
- package/dist/storage/providers/pinata.cjs +1 -0
- package/dist/storage/providers/pinata.cjs.map +1 -1
- package/dist/storage/providers/pinata.js +1 -0
- package/dist/storage/providers/pinata.js.map +1 -1
- package/dist/storage/providers/r2.cjs +376 -0
- package/dist/storage/providers/r2.cjs.map +1 -0
- package/dist/storage/providers/r2.d.ts +91 -0
- package/dist/storage/providers/r2.js +354 -0
- package/dist/storage/providers/r2.js.map +1 -0
- package/dist/storage/providers/vana-storage.cjs +251 -0
- package/dist/storage/providers/vana-storage.cjs.map +1 -0
- package/dist/storage/providers/vana-storage.d.ts +100 -0
- package/dist/storage/providers/vana-storage.js +231 -0
- package/dist/storage/providers/vana-storage.js.map +1 -0
- package/dist/types/config.cjs +0 -34
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.ts +1 -607
- package/dist/types/config.js +0 -22
- package/dist/types/config.js.map +1 -1
- package/dist/types/contracts.cjs.map +1 -1
- package/dist/types/contracts.d.ts +1 -1
- package/dist/types/index.cjs +2 -33
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +2 -33
- package/dist/types/index.js +1 -35
- package/dist/types/index.js.map +1 -1
- package/dist/types/ps-errors.cjs +66 -0
- package/dist/types/ps-errors.cjs.map +1 -0
- package/dist/types/ps-errors.d.ts +25 -0
- package/dist/types/ps-errors.js +41 -0
- package/dist/types/ps-errors.js.map +1 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +0 -29
- package/dist/types.js.map +1 -1
- package/package.json +7 -25
- package/dist/client/enhancedResponse.cjs +0 -164
- package/dist/client/enhancedResponse.cjs.map +0 -1
- package/dist/client/enhancedResponse.d.ts +0 -120
- package/dist/client/enhancedResponse.js +0 -138
- package/dist/client/enhancedResponse.js.map +0 -1
- package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
- package/dist/controllers/base.cjs +0 -116
- package/dist/controllers/base.cjs.map +0 -1
- package/dist/controllers/base.d.ts +0 -94
- package/dist/controllers/base.js +0 -92
- package/dist/controllers/base.js.map +0 -1
- package/dist/controllers/data.cjs +0 -2633
- package/dist/controllers/data.cjs.map +0 -1
- package/dist/controllers/data.d.ts +0 -1067
- package/dist/controllers/data.js +0 -2626
- package/dist/controllers/data.js.map +0 -1
- package/dist/controllers/operations.cjs +0 -430
- package/dist/controllers/operations.cjs.map +0 -1
- package/dist/controllers/operations.d.ts +0 -229
- package/dist/controllers/operations.js +0 -406
- package/dist/controllers/operations.js.map +0 -1
- package/dist/controllers/permissions.cjs +0 -4368
- package/dist/controllers/permissions.cjs.map +0 -1
- package/dist/controllers/permissions.d.ts +0 -1411
- package/dist/controllers/permissions.js +0 -4344
- package/dist/controllers/permissions.js.map +0 -1
- package/dist/controllers/protocol.cjs +0 -183
- package/dist/controllers/protocol.cjs.map +0 -1
- package/dist/controllers/protocol.d.ts +0 -138
- package/dist/controllers/protocol.js +0 -163
- package/dist/controllers/protocol.js.map +0 -1
- package/dist/controllers/schemas.cjs +0 -678
- package/dist/controllers/schemas.cjs.map +0 -1
- package/dist/controllers/schemas.d.ts +0 -293
- package/dist/controllers/schemas.js +0 -654
- package/dist/controllers/schemas.js.map +0 -1
- package/dist/controllers/server.cjs +0 -643
- package/dist/controllers/server.cjs.map +0 -1
- package/dist/controllers/server.d.ts +0 -322
- package/dist/controllers/server.js +0 -624
- package/dist/controllers/server.js.map +0 -1
- package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
- package/dist/core/apiClient.cjs +0 -378
- package/dist/core/apiClient.cjs.map +0 -1
- package/dist/core/apiClient.d.ts +0 -286
- package/dist/core/apiClient.js +0 -359
- package/dist/core/apiClient.js.map +0 -1
- package/dist/core/generics.cjs +0 -417
- package/dist/core/generics.cjs.map +0 -1
- package/dist/core/generics.d.ts +0 -205
- package/dist/core/generics.js +0 -386
- package/dist/core/generics.js.map +0 -1
- package/dist/core/health.cjs +0 -289
- package/dist/core/health.cjs.map +0 -1
- package/dist/core/health.d.ts +0 -143
- package/dist/core/health.js +0 -265
- package/dist/core/health.js.map +0 -1
- package/dist/core/inMemoryNonceManager.cjs +0 -138
- package/dist/core/inMemoryNonceManager.cjs.map +0 -1
- package/dist/core/inMemoryNonceManager.d.ts +0 -69
- package/dist/core/inMemoryNonceManager.js +0 -114
- package/dist/core/inMemoryNonceManager.js.map +0 -1
- package/dist/core/nonceManager.cjs +0 -304
- package/dist/core/nonceManager.cjs.map +0 -1
- package/dist/core/nonceManager.d.ts +0 -116
- package/dist/core/nonceManager.js +0 -280
- package/dist/core/nonceManager.js.map +0 -1
- package/dist/core/pollingManager.cjs +0 -292
- package/dist/core/pollingManager.cjs.map +0 -1
- package/dist/core/pollingManager.d.ts +0 -120
- package/dist/core/pollingManager.js +0 -268
- package/dist/core/pollingManager.js.map +0 -1
- package/dist/core.cjs +0 -777
- package/dist/core.cjs.map +0 -1
- package/dist/core.d.ts +0 -493
- package/dist/core.js +0 -752
- package/dist/core.js.map +0 -1
- package/dist/diagnostics.cjs +0 -37
- package/dist/diagnostics.cjs.map +0 -1
- package/dist/diagnostics.d.ts +0 -24
- package/dist/diagnostics.js +0 -13
- package/dist/diagnostics.js.map +0 -1
- package/dist/diagnostics.test.d.ts +0 -1
- package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
- package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
- package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
- package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
- package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
- package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
- package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
- package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
- package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
- package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
- package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
- package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
- package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
- package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
- package/dist/generated/abi/DLPRootImplementation.js +0 -1620
- package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
- package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
- package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
- package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
- package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
- package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
- package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
- package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
- package/dist/generated/abi/SwapHelperImplementation.js +0 -952
- package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
- package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
- package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
- package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
- package/dist/generated/abi/TeePoolImplementation.js +0 -1289
- package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
- package/dist/generated/event-types.cjs +0 -17
- package/dist/generated/event-types.cjs.map +0 -1
- package/dist/generated/event-types.d.ts +0 -809
- package/dist/generated/event-types.js +0 -1
- package/dist/generated/event-types.js.map +0 -1
- package/dist/generated/eventRegistry.cjs +0 -4470
- package/dist/generated/eventRegistry.cjs.map +0 -1
- package/dist/generated/eventRegistry.d.ts +0 -14
- package/dist/generated/eventRegistry.js +0 -4445
- package/dist/generated/eventRegistry.js.map +0 -1
- package/dist/generated/server/server-exports.cjs +0 -45
- package/dist/generated/server/server-exports.cjs.map +0 -1
- package/dist/generated/server/server-exports.d.ts +0 -36
- package/dist/generated/server/server-exports.js +0 -19
- package/dist/generated/server/server-exports.js.map +0 -1
- package/dist/generated/server/server.cjs +0 -17
- package/dist/generated/server/server.cjs.map +0 -1
- package/dist/generated/server/server.d.ts +0 -907
- package/dist/generated/server/server.js +0 -1
- package/dist/generated/server/server.js.map +0 -1
- package/dist/generated/subgraph.cjs +0 -1440
- package/dist/generated/subgraph.cjs.map +0 -1
- package/dist/generated/subgraph.d.ts +0 -6113
- package/dist/generated/subgraph.js +0 -1404
- package/dist/generated/subgraph.js.map +0 -1
- package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
- package/dist/lib/redisAtomicStore.cjs +0 -201
- package/dist/lib/redisAtomicStore.cjs.map +0 -1
- package/dist/lib/redisAtomicStore.d.ts +0 -120
- package/dist/lib/redisAtomicStore.js +0 -177
- package/dist/lib/redisAtomicStore.js.map +0 -1
- package/dist/server/relayerHandler.cjs +0 -452
- package/dist/server/relayerHandler.cjs.map +0 -1
- package/dist/server/relayerHandler.d.ts +0 -69
- package/dist/server/relayerHandler.js +0 -428
- package/dist/server/relayerHandler.js.map +0 -1
- package/dist/tests/abi.test.d.ts +0 -1
- package/dist/tests/chains-definitions.test.d.ts +0 -1
- package/dist/tests/core-encryption.test.d.ts +0 -1
- package/dist/tests/core-extended.test.d.ts +0 -1
- package/dist/tests/core-generics-coverage.test.d.ts +0 -1
- package/dist/tests/coverage-boost.test.d.ts +0 -1
- package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
- package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
- package/dist/tests/data-additional-methods.test.d.ts +0 -1
- package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
- package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
- package/dist/tests/data-relayer.test.d.ts +0 -1
- package/dist/tests/data-schema-validation.test.d.ts +0 -1
- package/dist/tests/data-simple-methods.test.d.ts +0 -1
- package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
- package/dist/tests/data.test.d.ts +0 -1
- package/dist/tests/demo-integration.test.d.ts +0 -1
- package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
- package/dist/tests/download-relayer.test.d.ts +0 -1
- package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
- package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
- package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
- package/dist/tests/encryption-coverage.test.d.ts +0 -1
- package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
- package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
- package/dist/tests/errors-coverage.test.d.ts +0 -1
- package/dist/tests/factories/mockFactory.d.ts +0 -316
- package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
- package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
- package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
- package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
- package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
- package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
- package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
- package/dist/tests/helper-methods.test.d.ts +0 -1
- package/dist/tests/helpers/typedMocks.d.ts +0 -64
- package/dist/tests/index-browser.test.d.ts +0 -1
- package/dist/tests/index-node.test.d.ts +0 -1
- package/dist/tests/index.test.d.ts +0 -1
- package/dist/tests/mocks/platformAdapter.d.ts +0 -12
- package/dist/tests/new-permissions-methods.test.d.ts +0 -1
- package/dist/tests/no-buffer-browser.test.d.ts +0 -1
- package/dist/tests/permissions-grantee.test.d.ts +0 -1
- package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
- package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
- package/dist/tests/permissions-server-files.test.d.ts +0 -1
- package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
- package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
- package/dist/tests/permissions.test.d.ts +0 -1
- package/dist/tests/personal.test.d.ts +0 -1
- package/dist/tests/platform-browser.test.d.ts +0 -1
- package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
- package/dist/tests/platform-crypto.test.d.ts +0 -1
- package/dist/tests/platform-index.test.d.ts +0 -1
- package/dist/tests/platform-node.test.d.ts +0 -1
- package/dist/tests/platform-shared-utils.test.d.ts +0 -1
- package/dist/tests/platform-updated.test.d.ts +0 -1
- package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
- package/dist/tests/protocol.test.d.ts +0 -1
- package/dist/tests/read-only-mode.test.d.ts +0 -1
- package/dist/tests/relayer-integration.test.d.ts +0 -1
- package/dist/tests/relayer-unified.test.d.ts +0 -1
- package/dist/tests/schemas.test.d.ts +0 -1
- package/dist/tests/server-relayer-handler.test.d.ts +0 -1
- package/dist/tests/signatureFormatter.test.d.ts +0 -1
- package/dist/tests/trusted-server-queries.test.d.ts +0 -1
- package/dist/tests/typedDataConverter.test.d.ts +0 -1
- package/dist/tests/types-contracts.test.d.ts +0 -1
- package/dist/tests/types-data.test.d.ts +0 -1
- package/dist/tests/types-external-apis.test.d.ts +0 -1
- package/dist/tests/types-generics.test.d.ts +0 -1
- package/dist/tests/types-permissions.test.d.ts +0 -1
- package/dist/tests/types-upload-params.test.d.ts +0 -1
- package/dist/tests/types.test.d.ts +0 -1
- package/dist/tests/utils-formatters.test.d.ts +0 -1
- package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
- package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
- package/dist/tests/utils-grantFiles.test.d.ts +0 -1
- package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
- package/dist/tests/utils-grants.test.d.ts +0 -1
- package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
- package/dist/tests/utils-ipfs.test.d.ts +0 -4
- package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
- package/dist/tests/vana.test.d.ts +0 -1
- package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
- package/dist/types/atomicStore.cjs.map +0 -1
- package/dist/types/atomicStore.d.ts +0 -236
- package/dist/types/atomicStore.js +0 -7
- package/dist/types/atomicStore.js.map +0 -1
- package/dist/types/blockchain.cjs +0 -17
- package/dist/types/blockchain.cjs.map +0 -1
- package/dist/types/blockchain.d.ts +0 -85
- package/dist/types/blockchain.js +0 -1
- package/dist/types/blockchain.js.map +0 -1
- package/dist/types/controller-context.cjs +0 -17
- package/dist/types/controller-context.cjs.map +0 -1
- package/dist/types/controller-context.d.ts +0 -68
- package/dist/types/controller-context.js +0 -1
- package/dist/types/controller-context.js.map +0 -1
- package/dist/types/data.cjs +0 -17
- package/dist/types/data.cjs.map +0 -1
- package/dist/types/data.d.ts +0 -763
- package/dist/types/data.js +0 -1
- package/dist/types/data.js.map +0 -1
- package/dist/types/external-apis.cjs +0 -61
- package/dist/types/external-apis.cjs.map +0 -1
- package/dist/types/external-apis.d.ts +0 -184
- package/dist/types/external-apis.js +0 -34
- package/dist/types/external-apis.js.map +0 -1
- package/dist/types/generics.cjs +0 -17
- package/dist/types/generics.cjs.map +0 -1
- package/dist/types/generics.d.ts +0 -518
- package/dist/types/generics.js +0 -1
- package/dist/types/generics.js.map +0 -1
- package/dist/types/operationStore.cjs +0 -17
- package/dist/types/operationStore.cjs.map +0 -1
- package/dist/types/operationStore.d.ts +0 -171
- package/dist/types/operationStore.js +0 -1
- package/dist/types/operationStore.js.map +0 -1
- package/dist/types/operations.cjs +0 -53
- package/dist/types/operations.cjs.map +0 -1
- package/dist/types/operations.d.ts +0 -204
- package/dist/types/operations.js +0 -26
- package/dist/types/operations.js.map +0 -1
- package/dist/types/options.cjs +0 -17
- package/dist/types/options.cjs.map +0 -1
- package/dist/types/options.d.ts +0 -308
- package/dist/types/options.js +0 -1
- package/dist/types/options.js.map +0 -1
- package/dist/types/permissions.cjs +0 -17
- package/dist/types/permissions.cjs.map +0 -1
- package/dist/types/permissions.d.ts +0 -955
- package/dist/types/permissions.js +0 -1
- package/dist/types/permissions.js.map +0 -1
- package/dist/types/personal.cjs +0 -17
- package/dist/types/personal.cjs.map +0 -1
- package/dist/types/personal.d.ts +0 -174
- package/dist/types/personal.js +0 -1
- package/dist/types/personal.js.map +0 -1
- package/dist/types/relayer.cjs +0 -17
- package/dist/types/relayer.cjs.map +0 -1
- package/dist/types/relayer.d.ts +0 -552
- package/dist/types/relayer.js +0 -1
- package/dist/types/relayer.js.map +0 -1
- package/dist/types/transactionResults.cjs +0 -17
- package/dist/types/transactionResults.cjs.map +0 -1
- package/dist/types/transactionResults.d.ts +0 -193
- package/dist/types/transactionResults.js +0 -1
- package/dist/types/transactionResults.js.map +0 -1
- package/dist/types/utils.cjs +0 -17
- package/dist/types/utils.cjs.map +0 -1
- package/dist/types/utils.d.ts +0 -771
- package/dist/types/utils.js +0 -1
- package/dist/types/utils.js.map +0 -1
- package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
- package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
- package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
- package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
- package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
- package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
- package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
- package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
- package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
- package/dist/utils/blockchain/registry.cjs +0 -81
- package/dist/utils/blockchain/registry.cjs.map +0 -1
- package/dist/utils/blockchain/registry.d.ts +0 -32
- package/dist/utils/blockchain/registry.js +0 -56
- package/dist/utils/blockchain/registry.js.map +0 -1
- package/dist/utils/blockchain/registry.test.d.ts +0 -1
- package/dist/utils/chainQuery.cjs +0 -107
- package/dist/utils/chainQuery.cjs.map +0 -1
- package/dist/utils/chainQuery.d.ts +0 -31
- package/dist/utils/chainQuery.js +0 -82
- package/dist/utils/chainQuery.js.map +0 -1
- package/dist/utils/download.cjs +0 -69
- package/dist/utils/download.cjs.map +0 -1
- package/dist/utils/download.d.ts +0 -40
- package/dist/utils/download.js +0 -45
- package/dist/utils/download.js.map +0 -1
- package/dist/utils/encryption.cjs +0 -176
- package/dist/utils/encryption.cjs.map +0 -1
- package/dist/utils/encryption.d.ts +0 -271
- package/dist/utils/encryption.js +0 -142
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/formatters.cjs +0 -55
- package/dist/utils/formatters.cjs.map +0 -1
- package/dist/utils/formatters.d.ts +0 -118
- package/dist/utils/formatters.js +0 -28
- package/dist/utils/formatters.js.map +0 -1
- package/dist/utils/grantFiles.cjs +0 -181
- package/dist/utils/grantFiles.cjs.map +0 -1
- package/dist/utils/grantFiles.d.ts +0 -172
- package/dist/utils/grantFiles.js +0 -143
- package/dist/utils/grantFiles.js.map +0 -1
- package/dist/utils/grantValidation.cjs +0 -243
- package/dist/utils/grantValidation.cjs.map +0 -1
- package/dist/utils/grantValidation.d.ts +0 -226
- package/dist/utils/grantValidation.js +0 -201
- package/dist/utils/grantValidation.js.map +0 -1
- package/dist/utils/grants.cjs +0 -108
- package/dist/utils/grants.cjs.map +0 -1
- package/dist/utils/grants.d.ts +0 -148
- package/dist/utils/grants.js +0 -82
- package/dist/utils/grants.js.map +0 -1
- package/dist/utils/ipfs.cjs +0 -128
- package/dist/utils/ipfs.cjs.map +0 -1
- package/dist/utils/ipfs.d.ts +0 -88
- package/dist/utils/ipfs.js +0 -97
- package/dist/utils/ipfs.js.map +0 -1
- package/dist/utils/multicall.cjs +0 -233
- package/dist/utils/multicall.cjs.map +0 -1
- package/dist/utils/multicall.d.ts +0 -126
- package/dist/utils/multicall.js +0 -208
- package/dist/utils/multicall.js.map +0 -1
- package/dist/utils/parseTransactionPojo.cjs +0 -87
- package/dist/utils/parseTransactionPojo.cjs.map +0 -1
- package/dist/utils/parseTransactionPojo.d.ts +0 -31
- package/dist/utils/parseTransactionPojo.js +0 -63
- package/dist/utils/parseTransactionPojo.js.map +0 -1
- package/dist/utils/schemaValidation.cjs +0 -258
- package/dist/utils/schemaValidation.cjs.map +0 -1
- package/dist/utils/schemaValidation.d.ts +0 -168
- package/dist/utils/schemaValidation.js +0 -219
- package/dist/utils/schemaValidation.js.map +0 -1
- package/dist/utils/signatureCache.cjs +0 -192
- package/dist/utils/signatureCache.cjs.map +0 -1
- package/dist/utils/signatureCache.d.ts +0 -172
- package/dist/utils/signatureCache.js +0 -167
- package/dist/utils/signatureCache.js.map +0 -1
- package/dist/utils/signatureFormatter.cjs +0 -42
- package/dist/utils/signatureFormatter.cjs.map +0 -1
- package/dist/utils/signatureFormatter.d.ts +0 -36
- package/dist/utils/signatureFormatter.js +0 -18
- package/dist/utils/signatureFormatter.js.map +0 -1
- package/dist/utils/subgraphConsistency.cjs +0 -184
- package/dist/utils/subgraphConsistency.cjs.map +0 -1
- package/dist/utils/subgraphConsistency.d.ts +0 -65
- package/dist/utils/subgraphConsistency.js +0 -155
- package/dist/utils/subgraphConsistency.js.map +0 -1
- package/dist/utils/subgraphMetaCache.cjs +0 -101
- package/dist/utils/subgraphMetaCache.cjs.map +0 -1
- package/dist/utils/subgraphMetaCache.d.ts +0 -56
- package/dist/utils/subgraphMetaCache.js +0 -76
- package/dist/utils/subgraphMetaCache.js.map +0 -1
- package/dist/utils/subgraphPagination.cjs +0 -104
- package/dist/utils/subgraphPagination.cjs.map +0 -1
- package/dist/utils/subgraphPagination.d.ts +0 -78
- package/dist/utils/subgraphPagination.js +0 -78
- package/dist/utils/subgraphPagination.js.map +0 -1
- package/dist/utils/tests/multicall.test.d.ts +0 -1
- package/dist/utils/transactionHelpers.cjs +0 -54
- package/dist/utils/transactionHelpers.cjs.map +0 -1
- package/dist/utils/transactionHelpers.d.ts +0 -80
- package/dist/utils/transactionHelpers.js +0 -29
- package/dist/utils/transactionHelpers.js.map +0 -1
- package/dist/utils/typeGuards.cjs +0 -109
- package/dist/utils/typeGuards.cjs.map +0 -1
- package/dist/utils/typeGuards.d.ts +0 -138
- package/dist/utils/typeGuards.js +0 -74
- package/dist/utils/typeGuards.js.map +0 -1
- package/dist/utils/typedDataConverter.cjs +0 -43
- package/dist/utils/typedDataConverter.cjs.map +0 -1
- package/dist/utils/typedDataConverter.d.ts +0 -46
- package/dist/utils/typedDataConverter.js +0 -19
- package/dist/utils/typedDataConverter.js.map +0 -1
- package/dist/utils/urlResolver.cjs +0 -62
- package/dist/utils/urlResolver.cjs.map +0 -1
- package/dist/utils/urlResolver.d.ts +0 -56
- package/dist/utils/urlResolver.js +0 -37
- package/dist/utils/urlResolver.js.map +0 -1
- package/dist/utils/wallet.cjs +0 -63
- package/dist/utils/wallet.cjs.map +0 -1
- package/dist/utils/wallet.d.ts +0 -94
- package/dist/utils/wallet.js +0 -37
- package/dist/utils/wallet.js.map +0 -1
- package/dist/utils/withEvents.cjs +0 -44
- package/dist/utils/withEvents.cjs.map +0 -1
- package/dist/utils/withEvents.d.ts +0 -56
- package/dist/utils/withEvents.js +0 -18
- package/dist/utils/withEvents.js.map +0 -1
- /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
- /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
- /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
- /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
- /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
- /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
- /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
- /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
- /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
- /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/scopes.test.d.ts} +0 -0
- /package/dist/{core/core.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
- /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
- /package/dist/{core/tests/client.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
- /package/dist/{core/tests/generics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
package/dist/types/utils.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/types/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var registry_exports = {};
|
|
20
|
-
__export(registry_exports, {
|
|
21
|
-
fetchSchemaCountFromChain: () => fetchSchemaCountFromChain,
|
|
22
|
-
fetchSchemaFromChain: () => fetchSchemaFromChain
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(registry_exports);
|
|
25
|
-
var import_viem = require("viem");
|
|
26
|
-
var import_addresses = require("../../generated/addresses");
|
|
27
|
-
var import_abi = require("../../generated/abi");
|
|
28
|
-
async function fetchSchemaFromChain(context, schemaId) {
|
|
29
|
-
const chainId = context.walletClient?.chain?.id ?? context.publicClient.chain?.id;
|
|
30
|
-
if (!chainId) {
|
|
31
|
-
throw new Error("Chain ID not available");
|
|
32
|
-
}
|
|
33
|
-
const dataRefinerRegistryAddress = (0, import_addresses.getContractAddress)(
|
|
34
|
-
chainId,
|
|
35
|
-
"DataRefinerRegistry"
|
|
36
|
-
);
|
|
37
|
-
const dataRefinerRegistryAbi = (0, import_abi.getAbi)("DataRefinerRegistry");
|
|
38
|
-
const dataRefinerRegistry = (0, import_viem.getContract)({
|
|
39
|
-
address: dataRefinerRegistryAddress,
|
|
40
|
-
abi: dataRefinerRegistryAbi,
|
|
41
|
-
client: context.publicClient
|
|
42
|
-
});
|
|
43
|
-
const schemaData = await dataRefinerRegistry.read.schemas([BigInt(schemaId)]);
|
|
44
|
-
if (!schemaData) {
|
|
45
|
-
throw new Error(`Schema with ID ${schemaId} not found`);
|
|
46
|
-
}
|
|
47
|
-
const schemaObj = schemaData;
|
|
48
|
-
if (!schemaObj.name || !schemaObj.dialect || !schemaObj.definitionUrl) {
|
|
49
|
-
throw new Error("Incomplete schema data");
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
id: schemaId,
|
|
53
|
-
name: schemaObj.name,
|
|
54
|
-
dialect: schemaObj.dialect,
|
|
55
|
-
definitionUrl: schemaObj.definitionUrl
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
async function fetchSchemaCountFromChain(context) {
|
|
59
|
-
const chainId = context.walletClient?.chain?.id ?? context.publicClient.chain?.id;
|
|
60
|
-
if (!chainId) {
|
|
61
|
-
throw new Error("Chain ID not available");
|
|
62
|
-
}
|
|
63
|
-
const dataRefinerRegistryAddress = (0, import_addresses.getContractAddress)(
|
|
64
|
-
chainId,
|
|
65
|
-
"DataRefinerRegistry"
|
|
66
|
-
);
|
|
67
|
-
const dataRefinerRegistryAbi = (0, import_abi.getAbi)("DataRefinerRegistry");
|
|
68
|
-
const dataRefinerRegistry = (0, import_viem.getContract)({
|
|
69
|
-
address: dataRefinerRegistryAddress,
|
|
70
|
-
abi: dataRefinerRegistryAbi,
|
|
71
|
-
client: context.publicClient
|
|
72
|
-
});
|
|
73
|
-
const count = await dataRefinerRegistry.read.schemasCount();
|
|
74
|
-
return Number(count);
|
|
75
|
-
}
|
|
76
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
77
|
-
0 && (module.exports = {
|
|
78
|
-
fetchSchemaCountFromChain,
|
|
79
|
-
fetchSchemaFromChain
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=registry.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/blockchain/registry.ts"],"sourcesContent":["import { getContract } from \"viem\";\nimport type { PublicClient, WalletClient } from \"viem\";\nimport { getContractAddress } from \"../../generated/addresses\";\nimport { getAbi } from \"../../generated/abi\";\nimport type { SchemaMetadata } from \"../../types/index\";\n\n/**\n * Shared context for blockchain operations.\n * Only includes the minimal required fields to avoid coupling.\n */\ninterface BlockchainContext {\n walletClient?: WalletClient;\n publicClient: PublicClient;\n}\n\n/**\n * Contract data structure returned by the blockchain.\n *\n * @internal\n */\ninterface SchemaContractData {\n name: string;\n dialect: string;\n definitionUrl: string;\n}\n\n/**\n * Fetches schema metadata from the blockchain by its ID.\n *\n * @param context - The blockchain context containing wallet and public clients\n * @param schemaId - The ID of the schema to fetch\n * @returns The schema metadata with id, name, dialect, and definitionUrl\n * @throws Error if chain ID is not available, schema not found, or data is incomplete\n *\n * @internal\n */\nexport async function fetchSchemaFromChain(\n context: BlockchainContext,\n schemaId: number,\n): Promise<SchemaMetadata> {\n const chainId =\n context.walletClient?.chain?.id ?? context.publicClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available\");\n }\n\n const dataRefinerRegistryAddress = getContractAddress(\n chainId,\n \"DataRefinerRegistry\",\n );\n const dataRefinerRegistryAbi = getAbi(\"DataRefinerRegistry\");\n\n const dataRefinerRegistry = getContract({\n address: dataRefinerRegistryAddress,\n abi: dataRefinerRegistryAbi,\n client: context.publicClient,\n });\n\n const schemaData = await dataRefinerRegistry.read.schemas([BigInt(schemaId)]);\n\n if (!schemaData) {\n throw new Error(`Schema with ID ${schemaId} not found`);\n }\n\n // TODO(TYPES): Contract read returns unknown type from viem library.\n // Future improvement: Create typed contract interface when viem adds support\n // or implement a contract type generator from ABI definitions.\n const schemaObj = schemaData as unknown as SchemaContractData;\n\n if (!schemaObj.name || !schemaObj.dialect || !schemaObj.definitionUrl) {\n throw new Error(\"Incomplete schema data\");\n }\n\n return {\n id: schemaId,\n name: schemaObj.name,\n dialect: schemaObj.dialect as \"json\" | \"sqlite\",\n definitionUrl: schemaObj.definitionUrl,\n };\n}\n\n/**\n * Fetches the total count of schemas from the blockchain.\n *\n * @param context - The blockchain context containing wallet and public clients\n * @returns The total number of schemas\n * @throws Error if chain ID is not available or operation fails\n *\n * @internal\n */\nexport async function fetchSchemaCountFromChain(\n context: BlockchainContext,\n): Promise<number> {\n const chainId =\n context.walletClient?.chain?.id ?? context.publicClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available\");\n }\n\n const dataRefinerRegistryAddress = getContractAddress(\n chainId,\n \"DataRefinerRegistry\",\n );\n const dataRefinerRegistryAbi = getAbi(\"DataRefinerRegistry\");\n\n const dataRefinerRegistry = getContract({\n address: dataRefinerRegistryAddress,\n abi: dataRefinerRegistryAbi,\n client: context.publicClient,\n });\n\n const count = await dataRefinerRegistry.read.schemasCount();\n return Number(count);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAE5B,uBAAmC;AACnC,iBAAuB;AAiCvB,eAAsB,qBACpB,SACA,UACyB;AACzB,QAAM,UACJ,QAAQ,cAAc,OAAO,MAAM,QAAQ,aAAa,OAAO;AACjE,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,iCAA6B;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AACA,QAAM,6BAAyB,mBAAO,qBAAqB;AAE3D,QAAM,0BAAsB,yBAAY;AAAA,IACtC,SAAS;AAAA,IACT,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,QAAM,aAAa,MAAM,oBAAoB,KAAK,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE5E,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,MAAM,kBAAkB,QAAQ,YAAY;AAAA,EACxD;AAKA,QAAM,YAAY;AAElB,MAAI,CAAC,UAAU,QAAQ,CAAC,UAAU,WAAW,CAAC,UAAU,eAAe;AACrE,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM,UAAU;AAAA,IAChB,SAAS,UAAU;AAAA,IACnB,eAAe,UAAU;AAAA,EAC3B;AACF;AAWA,eAAsB,0BACpB,SACiB;AACjB,QAAM,UACJ,QAAQ,cAAc,OAAO,MAAM,QAAQ,aAAa,OAAO;AACjE,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,iCAA6B;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AACA,QAAM,6BAAyB,mBAAO,qBAAqB;AAE3D,QAAM,0BAAsB,yBAAY;AAAA,IACtC,SAAS;AAAA,IACT,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,QAAM,QAAQ,MAAM,oBAAoB,KAAK,aAAa;AAC1D,SAAO,OAAO,KAAK;AACrB;","names":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { PublicClient, WalletClient } from "viem";
|
|
2
|
-
import type { SchemaMetadata } from "../../types/index";
|
|
3
|
-
/**
|
|
4
|
-
* Shared context for blockchain operations.
|
|
5
|
-
* Only includes the minimal required fields to avoid coupling.
|
|
6
|
-
*/
|
|
7
|
-
interface BlockchainContext {
|
|
8
|
-
walletClient?: WalletClient;
|
|
9
|
-
publicClient: PublicClient;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Fetches schema metadata from the blockchain by its ID.
|
|
13
|
-
*
|
|
14
|
-
* @param context - The blockchain context containing wallet and public clients
|
|
15
|
-
* @param schemaId - The ID of the schema to fetch
|
|
16
|
-
* @returns The schema metadata with id, name, dialect, and definitionUrl
|
|
17
|
-
* @throws Error if chain ID is not available, schema not found, or data is incomplete
|
|
18
|
-
*
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
export declare function fetchSchemaFromChain(context: BlockchainContext, schemaId: number): Promise<SchemaMetadata>;
|
|
22
|
-
/**
|
|
23
|
-
* Fetches the total count of schemas from the blockchain.
|
|
24
|
-
*
|
|
25
|
-
* @param context - The blockchain context containing wallet and public clients
|
|
26
|
-
* @returns The total number of schemas
|
|
27
|
-
* @throws Error if chain ID is not available or operation fails
|
|
28
|
-
*
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
export declare function fetchSchemaCountFromChain(context: BlockchainContext): Promise<number>;
|
|
32
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { getContract } from "viem";
|
|
2
|
-
import { getContractAddress } from "../../generated/addresses";
|
|
3
|
-
import { getAbi } from "../../generated/abi";
|
|
4
|
-
async function fetchSchemaFromChain(context, schemaId) {
|
|
5
|
-
const chainId = context.walletClient?.chain?.id ?? context.publicClient.chain?.id;
|
|
6
|
-
if (!chainId) {
|
|
7
|
-
throw new Error("Chain ID not available");
|
|
8
|
-
}
|
|
9
|
-
const dataRefinerRegistryAddress = getContractAddress(
|
|
10
|
-
chainId,
|
|
11
|
-
"DataRefinerRegistry"
|
|
12
|
-
);
|
|
13
|
-
const dataRefinerRegistryAbi = getAbi("DataRefinerRegistry");
|
|
14
|
-
const dataRefinerRegistry = getContract({
|
|
15
|
-
address: dataRefinerRegistryAddress,
|
|
16
|
-
abi: dataRefinerRegistryAbi,
|
|
17
|
-
client: context.publicClient
|
|
18
|
-
});
|
|
19
|
-
const schemaData = await dataRefinerRegistry.read.schemas([BigInt(schemaId)]);
|
|
20
|
-
if (!schemaData) {
|
|
21
|
-
throw new Error(`Schema with ID ${schemaId} not found`);
|
|
22
|
-
}
|
|
23
|
-
const schemaObj = schemaData;
|
|
24
|
-
if (!schemaObj.name || !schemaObj.dialect || !schemaObj.definitionUrl) {
|
|
25
|
-
throw new Error("Incomplete schema data");
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
id: schemaId,
|
|
29
|
-
name: schemaObj.name,
|
|
30
|
-
dialect: schemaObj.dialect,
|
|
31
|
-
definitionUrl: schemaObj.definitionUrl
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
async function fetchSchemaCountFromChain(context) {
|
|
35
|
-
const chainId = context.walletClient?.chain?.id ?? context.publicClient.chain?.id;
|
|
36
|
-
if (!chainId) {
|
|
37
|
-
throw new Error("Chain ID not available");
|
|
38
|
-
}
|
|
39
|
-
const dataRefinerRegistryAddress = getContractAddress(
|
|
40
|
-
chainId,
|
|
41
|
-
"DataRefinerRegistry"
|
|
42
|
-
);
|
|
43
|
-
const dataRefinerRegistryAbi = getAbi("DataRefinerRegistry");
|
|
44
|
-
const dataRefinerRegistry = getContract({
|
|
45
|
-
address: dataRefinerRegistryAddress,
|
|
46
|
-
abi: dataRefinerRegistryAbi,
|
|
47
|
-
client: context.publicClient
|
|
48
|
-
});
|
|
49
|
-
const count = await dataRefinerRegistry.read.schemasCount();
|
|
50
|
-
return Number(count);
|
|
51
|
-
}
|
|
52
|
-
export {
|
|
53
|
-
fetchSchemaCountFromChain,
|
|
54
|
-
fetchSchemaFromChain
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/blockchain/registry.ts"],"sourcesContent":["import { getContract } from \"viem\";\nimport type { PublicClient, WalletClient } from \"viem\";\nimport { getContractAddress } from \"../../generated/addresses\";\nimport { getAbi } from \"../../generated/abi\";\nimport type { SchemaMetadata } from \"../../types/index\";\n\n/**\n * Shared context for blockchain operations.\n * Only includes the minimal required fields to avoid coupling.\n */\ninterface BlockchainContext {\n walletClient?: WalletClient;\n publicClient: PublicClient;\n}\n\n/**\n * Contract data structure returned by the blockchain.\n *\n * @internal\n */\ninterface SchemaContractData {\n name: string;\n dialect: string;\n definitionUrl: string;\n}\n\n/**\n * Fetches schema metadata from the blockchain by its ID.\n *\n * @param context - The blockchain context containing wallet and public clients\n * @param schemaId - The ID of the schema to fetch\n * @returns The schema metadata with id, name, dialect, and definitionUrl\n * @throws Error if chain ID is not available, schema not found, or data is incomplete\n *\n * @internal\n */\nexport async function fetchSchemaFromChain(\n context: BlockchainContext,\n schemaId: number,\n): Promise<SchemaMetadata> {\n const chainId =\n context.walletClient?.chain?.id ?? context.publicClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available\");\n }\n\n const dataRefinerRegistryAddress = getContractAddress(\n chainId,\n \"DataRefinerRegistry\",\n );\n const dataRefinerRegistryAbi = getAbi(\"DataRefinerRegistry\");\n\n const dataRefinerRegistry = getContract({\n address: dataRefinerRegistryAddress,\n abi: dataRefinerRegistryAbi,\n client: context.publicClient,\n });\n\n const schemaData = await dataRefinerRegistry.read.schemas([BigInt(schemaId)]);\n\n if (!schemaData) {\n throw new Error(`Schema with ID ${schemaId} not found`);\n }\n\n // TODO(TYPES): Contract read returns unknown type from viem library.\n // Future improvement: Create typed contract interface when viem adds support\n // or implement a contract type generator from ABI definitions.\n const schemaObj = schemaData as unknown as SchemaContractData;\n\n if (!schemaObj.name || !schemaObj.dialect || !schemaObj.definitionUrl) {\n throw new Error(\"Incomplete schema data\");\n }\n\n return {\n id: schemaId,\n name: schemaObj.name,\n dialect: schemaObj.dialect as \"json\" | \"sqlite\",\n definitionUrl: schemaObj.definitionUrl,\n };\n}\n\n/**\n * Fetches the total count of schemas from the blockchain.\n *\n * @param context - The blockchain context containing wallet and public clients\n * @returns The total number of schemas\n * @throws Error if chain ID is not available or operation fails\n *\n * @internal\n */\nexport async function fetchSchemaCountFromChain(\n context: BlockchainContext,\n): Promise<number> {\n const chainId =\n context.walletClient?.chain?.id ?? context.publicClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available\");\n }\n\n const dataRefinerRegistryAddress = getContractAddress(\n chainId,\n \"DataRefinerRegistry\",\n );\n const dataRefinerRegistryAbi = getAbi(\"DataRefinerRegistry\");\n\n const dataRefinerRegistry = getContract({\n address: dataRefinerRegistryAddress,\n abi: dataRefinerRegistryAbi,\n client: context.publicClient,\n });\n\n const count = await dataRefinerRegistry.read.schemasCount();\n return Number(count);\n}\n"],"mappings":"AAAA,SAAS,mBAAmB;AAE5B,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAiCvB,eAAsB,qBACpB,SACA,UACyB;AACzB,QAAM,UACJ,QAAQ,cAAc,OAAO,MAAM,QAAQ,aAAa,OAAO;AACjE,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,6BAA6B;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AACA,QAAM,yBAAyB,OAAO,qBAAqB;AAE3D,QAAM,sBAAsB,YAAY;AAAA,IACtC,SAAS;AAAA,IACT,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,QAAM,aAAa,MAAM,oBAAoB,KAAK,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE5E,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,MAAM,kBAAkB,QAAQ,YAAY;AAAA,EACxD;AAKA,QAAM,YAAY;AAElB,MAAI,CAAC,UAAU,QAAQ,CAAC,UAAU,WAAW,CAAC,UAAU,eAAe;AACrE,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM,UAAU;AAAA,IAChB,SAAS,UAAU;AAAA,IACnB,eAAe,UAAU;AAAA,EAC3B;AACF;AAWA,eAAsB,0BACpB,SACiB;AACjB,QAAM,UACJ,QAAQ,cAAc,OAAO,MAAM,QAAQ,aAAa,OAAO;AACjE,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,6BAA6B;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AACA,QAAM,yBAAyB,OAAO,qBAAqB;AAE3D,QAAM,sBAAsB,YAAY;AAAA,IACtC,SAAS;AAAA,IACT,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,QAAM,QAAQ,MAAM,oBAAoB,KAAK,aAAa;AAC1D,SAAO,OAAO,KAAK;AACrB;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chainQuery_exports = {};
|
|
20
|
-
__export(chainQuery_exports, {
|
|
21
|
-
determineDataSource: () => determineDataSource,
|
|
22
|
-
getUserFilesFromChain: () => getUserFilesFromChain
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(chainQuery_exports);
|
|
25
|
-
var import_viem = require("viem");
|
|
26
|
-
async function getUserFilesFromChain(publicClient, contractAddress, owner, fromBlock, toBlock) {
|
|
27
|
-
const fileAddedV2Events = await publicClient.getLogs({
|
|
28
|
-
address: contractAddress,
|
|
29
|
-
event: (0, import_viem.parseAbiItem)(
|
|
30
|
-
"event FileAddedV2(uint256 indexed fileId, address indexed ownerAddress, string url, uint256 schemaId)"
|
|
31
|
-
),
|
|
32
|
-
args: {
|
|
33
|
-
ownerAddress: owner
|
|
34
|
-
},
|
|
35
|
-
fromBlock: fromBlock ?? "earliest",
|
|
36
|
-
toBlock: toBlock ?? "latest"
|
|
37
|
-
});
|
|
38
|
-
const fileAddedEvents = await publicClient.getLogs({
|
|
39
|
-
address: contractAddress,
|
|
40
|
-
event: (0, import_viem.parseAbiItem)(
|
|
41
|
-
"event FileAdded(uint256 indexed fileId, address indexed ownerAddress, string url)"
|
|
42
|
-
),
|
|
43
|
-
args: {
|
|
44
|
-
ownerAddress: owner
|
|
45
|
-
},
|
|
46
|
-
fromBlock: fromBlock ?? "earliest",
|
|
47
|
-
toBlock: toBlock ?? "latest"
|
|
48
|
-
});
|
|
49
|
-
const filesFromV2 = fileAddedV2Events.map((event) => ({
|
|
50
|
-
id: Number(event.args.fileId),
|
|
51
|
-
url: event.args.url,
|
|
52
|
-
ownerAddress: event.args.ownerAddress,
|
|
53
|
-
schemaId: Number(event.args.schemaId),
|
|
54
|
-
addedAtBlock: event.blockNumber,
|
|
55
|
-
addedAtTimestamp: BigInt(0),
|
|
56
|
-
// Would need to fetch block for timestamp
|
|
57
|
-
transactionHash: event.transactionHash
|
|
58
|
-
}));
|
|
59
|
-
const filesFromV1 = fileAddedEvents.map((event) => ({
|
|
60
|
-
id: Number(event.args.fileId),
|
|
61
|
-
url: event.args.url,
|
|
62
|
-
ownerAddress: event.args.ownerAddress,
|
|
63
|
-
schemaId: 0,
|
|
64
|
-
// No schema in V1
|
|
65
|
-
addedAtBlock: event.blockNumber,
|
|
66
|
-
addedAtTimestamp: BigInt(0),
|
|
67
|
-
// Would need to fetch block for timestamp
|
|
68
|
-
transactionHash: event.transactionHash
|
|
69
|
-
}));
|
|
70
|
-
const allFiles = [...filesFromV2];
|
|
71
|
-
const v2FileIds = new Set(filesFromV2.map((f) => f.id));
|
|
72
|
-
for (const v1File of filesFromV1) {
|
|
73
|
-
if (!v2FileIds.has(v1File.id)) {
|
|
74
|
-
allFiles.push(v1File);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
allFiles.sort((a, b) => {
|
|
78
|
-
if (a.addedAtBlock > b.addedAtBlock) return -1;
|
|
79
|
-
if (a.addedAtBlock < b.addedAtBlock) return 1;
|
|
80
|
-
return 0;
|
|
81
|
-
});
|
|
82
|
-
return allFiles;
|
|
83
|
-
}
|
|
84
|
-
function determineDataSource(source, minBlock, currentBlock, subgraphBlock) {
|
|
85
|
-
if (source === "subgraph" || source === "chain") {
|
|
86
|
-
return source;
|
|
87
|
-
}
|
|
88
|
-
if (source === "auto" || source === void 0) {
|
|
89
|
-
if (!minBlock) {
|
|
90
|
-
return "subgraph";
|
|
91
|
-
}
|
|
92
|
-
if (!subgraphBlock || subgraphBlock < minBlock) {
|
|
93
|
-
const staleness = Number(currentBlock) - (subgraphBlock ?? 0);
|
|
94
|
-
if (staleness > 100) {
|
|
95
|
-
return "chain";
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return "subgraph";
|
|
99
|
-
}
|
|
100
|
-
return "subgraph";
|
|
101
|
-
}
|
|
102
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
103
|
-
0 && (module.exports = {
|
|
104
|
-
determineDataSource,
|
|
105
|
-
getUserFilesFromChain
|
|
106
|
-
});
|
|
107
|
-
//# sourceMappingURL=chainQuery.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/chainQuery.ts"],"sourcesContent":["/**\n * @file Utilities for querying data directly from the blockchain\n * @module vana-sdk/utils/chainQuery\n */\n\nimport type { Address, PublicClient } from \"viem\";\nimport { parseAbiItem } from \"viem\";\nimport type { UserFile } from \"../types\";\n\n/**\n * Query user files directly from the blockchain using events\n *\n * @remarks\n * This bypasses the subgraph entirely and queries events directly from the chain.\n * Slower than subgraph but guarantees real-time consistency.\n *\n * @param publicClient - Viem public client for chain interaction\n * @param contractAddress - DataRegistry contract address\n * @param owner - Owner address to query files for\n * @param fromBlock - Starting block number (optional)\n * @param toBlock - Ending block number (optional)\n * @returns Array of UserFile objects\n */\nexport async function getUserFilesFromChain(\n publicClient: PublicClient,\n contractAddress: Address,\n owner: Address,\n fromBlock?: bigint,\n toBlock?: bigint,\n): Promise<UserFile[]> {\n // Query FileAddedV2 events (has schema support)\n const fileAddedV2Events = await publicClient.getLogs({\n address: contractAddress,\n event: parseAbiItem(\n \"event FileAddedV2(uint256 indexed fileId, address indexed ownerAddress, string url, uint256 schemaId)\",\n ),\n args: {\n ownerAddress: owner,\n },\n fromBlock: fromBlock ?? \"earliest\",\n toBlock: toBlock ?? \"latest\",\n });\n\n // Also query older FileAdded events (no schema)\n const fileAddedEvents = await publicClient.getLogs({\n address: contractAddress,\n event: parseAbiItem(\n \"event FileAdded(uint256 indexed fileId, address indexed ownerAddress, string url)\",\n ),\n args: {\n ownerAddress: owner,\n },\n fromBlock: fromBlock ?? \"earliest\",\n toBlock: toBlock ?? \"latest\",\n });\n\n // Convert events to UserFile objects\n const filesFromV2 = fileAddedV2Events.map((event) => ({\n id: Number(event.args.fileId),\n url: event.args.url as string,\n ownerAddress: event.args.ownerAddress as Address,\n schemaId: Number(event.args.schemaId),\n addedAtBlock: event.blockNumber,\n addedAtTimestamp: BigInt(0), // Would need to fetch block for timestamp\n transactionHash: event.transactionHash,\n }));\n\n const filesFromV1 = fileAddedEvents.map((event) => ({\n id: Number(event.args.fileId),\n url: event.args.url as string,\n ownerAddress: event.args.ownerAddress as Address,\n schemaId: 0, // No schema in V1\n addedAtBlock: event.blockNumber,\n addedAtTimestamp: BigInt(0), // Would need to fetch block for timestamp\n transactionHash: event.transactionHash,\n }));\n\n // Combine and deduplicate (V2 takes precedence)\n const allFiles = [...filesFromV2];\n const v2FileIds = new Set(filesFromV2.map((f) => f.id));\n\n for (const v1File of filesFromV1) {\n if (!v2FileIds.has(v1File.id)) {\n allFiles.push(v1File);\n }\n }\n\n // Sort by block number descending (most recent first)\n allFiles.sort((a, b) => {\n if (a.addedAtBlock > b.addedAtBlock) return -1;\n if (a.addedAtBlock < b.addedAtBlock) return 1;\n return 0;\n });\n\n return allFiles;\n}\n\n/**\n * Determine optimal data source based on requirements\n *\n * @param source - Explicitly requested source\n * @param minBlock - Minimum required block\n * @param currentBlock - Current chain block\n * @param subgraphBlock - Current subgraph block\n * @returns The data source to use\n */\nexport function determineDataSource(\n source: \"subgraph\" | \"chain\" | \"auto\" | undefined,\n minBlock: number | undefined,\n currentBlock: bigint,\n subgraphBlock: number | undefined,\n): \"subgraph\" | \"chain\" {\n // If explicitly specified, use that\n if (source === \"subgraph\" || source === \"chain\") {\n return source;\n }\n\n // Auto mode or unspecified\n if (source === \"auto\" || source === undefined) {\n // If no consistency requirement, use subgraph (faster)\n if (!minBlock) {\n return \"subgraph\";\n }\n\n // If subgraph is unknown or too far behind, use chain\n if (!subgraphBlock || subgraphBlock < minBlock) {\n // Calculate staleness\n const staleness = Number(currentBlock) - (subgraphBlock ?? 0);\n\n // If more than 100 blocks behind, use chain\n if (staleness > 100) {\n return \"chain\";\n }\n }\n\n // Default to subgraph\n return \"subgraph\";\n }\n\n // Default fallback\n return \"subgraph\";\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAA6B;AAiB7B,eAAsB,sBACpB,cACA,iBACA,OACA,WACA,SACqB;AAErB,QAAM,oBAAoB,MAAM,aAAa,QAAQ;AAAA,IACnD,SAAS;AAAA,IACT,WAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,cAAc;AAAA,IAChB;AAAA,IACA,WAAW,aAAa;AAAA,IACxB,SAAS,WAAW;AAAA,EACtB,CAAC;AAGD,QAAM,kBAAkB,MAAM,aAAa,QAAQ;AAAA,IACjD,SAAS;AAAA,IACT,WAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,cAAc;AAAA,IAChB;AAAA,IACA,WAAW,aAAa;AAAA,IACxB,SAAS,WAAW;AAAA,EACtB,CAAC;AAGD,QAAM,cAAc,kBAAkB,IAAI,CAAC,WAAW;AAAA,IACpD,IAAI,OAAO,MAAM,KAAK,MAAM;AAAA,IAC5B,KAAK,MAAM,KAAK;AAAA,IAChB,cAAc,MAAM,KAAK;AAAA,IACzB,UAAU,OAAO,MAAM,KAAK,QAAQ;AAAA,IACpC,cAAc,MAAM;AAAA,IACpB,kBAAkB,OAAO,CAAC;AAAA;AAAA,IAC1B,iBAAiB,MAAM;AAAA,EACzB,EAAE;AAEF,QAAM,cAAc,gBAAgB,IAAI,CAAC,WAAW;AAAA,IAClD,IAAI,OAAO,MAAM,KAAK,MAAM;AAAA,IAC5B,KAAK,MAAM,KAAK;AAAA,IAChB,cAAc,MAAM,KAAK;AAAA,IACzB,UAAU;AAAA;AAAA,IACV,cAAc,MAAM;AAAA,IACpB,kBAAkB,OAAO,CAAC;AAAA;AAAA,IAC1B,iBAAiB,MAAM;AAAA,EACzB,EAAE;AAGF,QAAM,WAAW,CAAC,GAAG,WAAW;AAChC,QAAM,YAAY,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAEtD,aAAW,UAAU,aAAa;AAChC,QAAI,CAAC,UAAU,IAAI,OAAO,EAAE,GAAG;AAC7B,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AAGA,WAAS,KAAK,CAAC,GAAG,MAAM;AACtB,QAAI,EAAE,eAAe,EAAE,aAAc,QAAO;AAC5C,QAAI,EAAE,eAAe,EAAE,aAAc,QAAO;AAC5C,WAAO;AAAA,EACT,CAAC;AAED,SAAO;AACT;AAWO,SAAS,oBACd,QACA,UACA,cACA,eACsB;AAEtB,MAAI,WAAW,cAAc,WAAW,SAAS;AAC/C,WAAO;AAAA,EACT;AAGA,MAAI,WAAW,UAAU,WAAW,QAAW;AAE7C,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAGA,QAAI,CAAC,iBAAiB,gBAAgB,UAAU;AAE9C,YAAM,YAAY,OAAO,YAAY,KAAK,iBAAiB;AAG3D,UAAI,YAAY,KAAK;AACnB,eAAO;AAAA,MACT;AAAA,IACF;AAGA,WAAO;AAAA,EACT;AAGA,SAAO;AACT;","names":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Utilities for querying data directly from the blockchain
|
|
3
|
-
* @module vana-sdk/utils/chainQuery
|
|
4
|
-
*/
|
|
5
|
-
import type { Address, PublicClient } from "viem";
|
|
6
|
-
import type { UserFile } from "../types";
|
|
7
|
-
/**
|
|
8
|
-
* Query user files directly from the blockchain using events
|
|
9
|
-
*
|
|
10
|
-
* @remarks
|
|
11
|
-
* This bypasses the subgraph entirely and queries events directly from the chain.
|
|
12
|
-
* Slower than subgraph but guarantees real-time consistency.
|
|
13
|
-
*
|
|
14
|
-
* @param publicClient - Viem public client for chain interaction
|
|
15
|
-
* @param contractAddress - DataRegistry contract address
|
|
16
|
-
* @param owner - Owner address to query files for
|
|
17
|
-
* @param fromBlock - Starting block number (optional)
|
|
18
|
-
* @param toBlock - Ending block number (optional)
|
|
19
|
-
* @returns Array of UserFile objects
|
|
20
|
-
*/
|
|
21
|
-
export declare function getUserFilesFromChain(publicClient: PublicClient, contractAddress: Address, owner: Address, fromBlock?: bigint, toBlock?: bigint): Promise<UserFile[]>;
|
|
22
|
-
/**
|
|
23
|
-
* Determine optimal data source based on requirements
|
|
24
|
-
*
|
|
25
|
-
* @param source - Explicitly requested source
|
|
26
|
-
* @param minBlock - Minimum required block
|
|
27
|
-
* @param currentBlock - Current chain block
|
|
28
|
-
* @param subgraphBlock - Current subgraph block
|
|
29
|
-
* @returns The data source to use
|
|
30
|
-
*/
|
|
31
|
-
export declare function determineDataSource(source: "subgraph" | "chain" | "auto" | undefined, minBlock: number | undefined, currentBlock: bigint, subgraphBlock: number | undefined): "subgraph" | "chain";
|
package/dist/utils/chainQuery.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { parseAbiItem } from "viem";
|
|
2
|
-
async function getUserFilesFromChain(publicClient, contractAddress, owner, fromBlock, toBlock) {
|
|
3
|
-
const fileAddedV2Events = await publicClient.getLogs({
|
|
4
|
-
address: contractAddress,
|
|
5
|
-
event: parseAbiItem(
|
|
6
|
-
"event FileAddedV2(uint256 indexed fileId, address indexed ownerAddress, string url, uint256 schemaId)"
|
|
7
|
-
),
|
|
8
|
-
args: {
|
|
9
|
-
ownerAddress: owner
|
|
10
|
-
},
|
|
11
|
-
fromBlock: fromBlock ?? "earliest",
|
|
12
|
-
toBlock: toBlock ?? "latest"
|
|
13
|
-
});
|
|
14
|
-
const fileAddedEvents = await publicClient.getLogs({
|
|
15
|
-
address: contractAddress,
|
|
16
|
-
event: parseAbiItem(
|
|
17
|
-
"event FileAdded(uint256 indexed fileId, address indexed ownerAddress, string url)"
|
|
18
|
-
),
|
|
19
|
-
args: {
|
|
20
|
-
ownerAddress: owner
|
|
21
|
-
},
|
|
22
|
-
fromBlock: fromBlock ?? "earliest",
|
|
23
|
-
toBlock: toBlock ?? "latest"
|
|
24
|
-
});
|
|
25
|
-
const filesFromV2 = fileAddedV2Events.map((event) => ({
|
|
26
|
-
id: Number(event.args.fileId),
|
|
27
|
-
url: event.args.url,
|
|
28
|
-
ownerAddress: event.args.ownerAddress,
|
|
29
|
-
schemaId: Number(event.args.schemaId),
|
|
30
|
-
addedAtBlock: event.blockNumber,
|
|
31
|
-
addedAtTimestamp: BigInt(0),
|
|
32
|
-
// Would need to fetch block for timestamp
|
|
33
|
-
transactionHash: event.transactionHash
|
|
34
|
-
}));
|
|
35
|
-
const filesFromV1 = fileAddedEvents.map((event) => ({
|
|
36
|
-
id: Number(event.args.fileId),
|
|
37
|
-
url: event.args.url,
|
|
38
|
-
ownerAddress: event.args.ownerAddress,
|
|
39
|
-
schemaId: 0,
|
|
40
|
-
// No schema in V1
|
|
41
|
-
addedAtBlock: event.blockNumber,
|
|
42
|
-
addedAtTimestamp: BigInt(0),
|
|
43
|
-
// Would need to fetch block for timestamp
|
|
44
|
-
transactionHash: event.transactionHash
|
|
45
|
-
}));
|
|
46
|
-
const allFiles = [...filesFromV2];
|
|
47
|
-
const v2FileIds = new Set(filesFromV2.map((f) => f.id));
|
|
48
|
-
for (const v1File of filesFromV1) {
|
|
49
|
-
if (!v2FileIds.has(v1File.id)) {
|
|
50
|
-
allFiles.push(v1File);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
allFiles.sort((a, b) => {
|
|
54
|
-
if (a.addedAtBlock > b.addedAtBlock) return -1;
|
|
55
|
-
if (a.addedAtBlock < b.addedAtBlock) return 1;
|
|
56
|
-
return 0;
|
|
57
|
-
});
|
|
58
|
-
return allFiles;
|
|
59
|
-
}
|
|
60
|
-
function determineDataSource(source, minBlock, currentBlock, subgraphBlock) {
|
|
61
|
-
if (source === "subgraph" || source === "chain") {
|
|
62
|
-
return source;
|
|
63
|
-
}
|
|
64
|
-
if (source === "auto" || source === void 0) {
|
|
65
|
-
if (!minBlock) {
|
|
66
|
-
return "subgraph";
|
|
67
|
-
}
|
|
68
|
-
if (!subgraphBlock || subgraphBlock < minBlock) {
|
|
69
|
-
const staleness = Number(currentBlock) - (subgraphBlock ?? 0);
|
|
70
|
-
if (staleness > 100) {
|
|
71
|
-
return "chain";
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return "subgraph";
|
|
75
|
-
}
|
|
76
|
-
return "subgraph";
|
|
77
|
-
}
|
|
78
|
-
export {
|
|
79
|
-
determineDataSource,
|
|
80
|
-
getUserFilesFromChain
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=chainQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/chainQuery.ts"],"sourcesContent":["/**\n * @file Utilities for querying data directly from the blockchain\n * @module vana-sdk/utils/chainQuery\n */\n\nimport type { Address, PublicClient } from \"viem\";\nimport { parseAbiItem } from \"viem\";\nimport type { UserFile } from \"../types\";\n\n/**\n * Query user files directly from the blockchain using events\n *\n * @remarks\n * This bypasses the subgraph entirely and queries events directly from the chain.\n * Slower than subgraph but guarantees real-time consistency.\n *\n * @param publicClient - Viem public client for chain interaction\n * @param contractAddress - DataRegistry contract address\n * @param owner - Owner address to query files for\n * @param fromBlock - Starting block number (optional)\n * @param toBlock - Ending block number (optional)\n * @returns Array of UserFile objects\n */\nexport async function getUserFilesFromChain(\n publicClient: PublicClient,\n contractAddress: Address,\n owner: Address,\n fromBlock?: bigint,\n toBlock?: bigint,\n): Promise<UserFile[]> {\n // Query FileAddedV2 events (has schema support)\n const fileAddedV2Events = await publicClient.getLogs({\n address: contractAddress,\n event: parseAbiItem(\n \"event FileAddedV2(uint256 indexed fileId, address indexed ownerAddress, string url, uint256 schemaId)\",\n ),\n args: {\n ownerAddress: owner,\n },\n fromBlock: fromBlock ?? \"earliest\",\n toBlock: toBlock ?? \"latest\",\n });\n\n // Also query older FileAdded events (no schema)\n const fileAddedEvents = await publicClient.getLogs({\n address: contractAddress,\n event: parseAbiItem(\n \"event FileAdded(uint256 indexed fileId, address indexed ownerAddress, string url)\",\n ),\n args: {\n ownerAddress: owner,\n },\n fromBlock: fromBlock ?? \"earliest\",\n toBlock: toBlock ?? \"latest\",\n });\n\n // Convert events to UserFile objects\n const filesFromV2 = fileAddedV2Events.map((event) => ({\n id: Number(event.args.fileId),\n url: event.args.url as string,\n ownerAddress: event.args.ownerAddress as Address,\n schemaId: Number(event.args.schemaId),\n addedAtBlock: event.blockNumber,\n addedAtTimestamp: BigInt(0), // Would need to fetch block for timestamp\n transactionHash: event.transactionHash,\n }));\n\n const filesFromV1 = fileAddedEvents.map((event) => ({\n id: Number(event.args.fileId),\n url: event.args.url as string,\n ownerAddress: event.args.ownerAddress as Address,\n schemaId: 0, // No schema in V1\n addedAtBlock: event.blockNumber,\n addedAtTimestamp: BigInt(0), // Would need to fetch block for timestamp\n transactionHash: event.transactionHash,\n }));\n\n // Combine and deduplicate (V2 takes precedence)\n const allFiles = [...filesFromV2];\n const v2FileIds = new Set(filesFromV2.map((f) => f.id));\n\n for (const v1File of filesFromV1) {\n if (!v2FileIds.has(v1File.id)) {\n allFiles.push(v1File);\n }\n }\n\n // Sort by block number descending (most recent first)\n allFiles.sort((a, b) => {\n if (a.addedAtBlock > b.addedAtBlock) return -1;\n if (a.addedAtBlock < b.addedAtBlock) return 1;\n return 0;\n });\n\n return allFiles;\n}\n\n/**\n * Determine optimal data source based on requirements\n *\n * @param source - Explicitly requested source\n * @param minBlock - Minimum required block\n * @param currentBlock - Current chain block\n * @param subgraphBlock - Current subgraph block\n * @returns The data source to use\n */\nexport function determineDataSource(\n source: \"subgraph\" | \"chain\" | \"auto\" | undefined,\n minBlock: number | undefined,\n currentBlock: bigint,\n subgraphBlock: number | undefined,\n): \"subgraph\" | \"chain\" {\n // If explicitly specified, use that\n if (source === \"subgraph\" || source === \"chain\") {\n return source;\n }\n\n // Auto mode or unspecified\n if (source === \"auto\" || source === undefined) {\n // If no consistency requirement, use subgraph (faster)\n if (!minBlock) {\n return \"subgraph\";\n }\n\n // If subgraph is unknown or too far behind, use chain\n if (!subgraphBlock || subgraphBlock < minBlock) {\n // Calculate staleness\n const staleness = Number(currentBlock) - (subgraphBlock ?? 0);\n\n // If more than 100 blocks behind, use chain\n if (staleness > 100) {\n return \"chain\";\n }\n }\n\n // Default to subgraph\n return \"subgraph\";\n }\n\n // Default fallback\n return \"subgraph\";\n}\n"],"mappings":"AAMA,SAAS,oBAAoB;AAiB7B,eAAsB,sBACpB,cACA,iBACA,OACA,WACA,SACqB;AAErB,QAAM,oBAAoB,MAAM,aAAa,QAAQ;AAAA,IACnD,SAAS;AAAA,IACT,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,cAAc;AAAA,IAChB;AAAA,IACA,WAAW,aAAa;AAAA,IACxB,SAAS,WAAW;AAAA,EACtB,CAAC;AAGD,QAAM,kBAAkB,MAAM,aAAa,QAAQ;AAAA,IACjD,SAAS;AAAA,IACT,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,cAAc;AAAA,IAChB;AAAA,IACA,WAAW,aAAa;AAAA,IACxB,SAAS,WAAW;AAAA,EACtB,CAAC;AAGD,QAAM,cAAc,kBAAkB,IAAI,CAAC,WAAW;AAAA,IACpD,IAAI,OAAO,MAAM,KAAK,MAAM;AAAA,IAC5B,KAAK,MAAM,KAAK;AAAA,IAChB,cAAc,MAAM,KAAK;AAAA,IACzB,UAAU,OAAO,MAAM,KAAK,QAAQ;AAAA,IACpC,cAAc,MAAM;AAAA,IACpB,kBAAkB,OAAO,CAAC;AAAA;AAAA,IAC1B,iBAAiB,MAAM;AAAA,EACzB,EAAE;AAEF,QAAM,cAAc,gBAAgB,IAAI,CAAC,WAAW;AAAA,IAClD,IAAI,OAAO,MAAM,KAAK,MAAM;AAAA,IAC5B,KAAK,MAAM,KAAK;AAAA,IAChB,cAAc,MAAM,KAAK;AAAA,IACzB,UAAU;AAAA;AAAA,IACV,cAAc,MAAM;AAAA,IACpB,kBAAkB,OAAO,CAAC;AAAA;AAAA,IAC1B,iBAAiB,MAAM;AAAA,EACzB,EAAE;AAGF,QAAM,WAAW,CAAC,GAAG,WAAW;AAChC,QAAM,YAAY,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAEtD,aAAW,UAAU,aAAa;AAChC,QAAI,CAAC,UAAU,IAAI,OAAO,EAAE,GAAG;AAC7B,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AAGA,WAAS,KAAK,CAAC,GAAG,MAAM;AACtB,QAAI,EAAE,eAAe,EAAE,aAAc,QAAO;AAC5C,QAAI,EAAE,eAAe,EAAE,aAAc,QAAO;AAC5C,WAAO;AAAA,EACT,CAAC;AAED,SAAO;AACT;AAWO,SAAS,oBACd,QACA,UACA,cACA,eACsB;AAEtB,MAAI,WAAW,cAAc,WAAW,SAAS;AAC/C,WAAO;AAAA,EACT;AAGA,MAAI,WAAW,UAAU,WAAW,QAAW;AAE7C,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAGA,QAAI,CAAC,iBAAiB,gBAAgB,UAAU;AAE9C,YAAM,YAAY,OAAO,YAAY,KAAK,iBAAiB;AAG3D,UAAI,YAAY,KAAK;AACnB,eAAO;AAAA,MACT;AAAA,IACF;AAGA,WAAO;AAAA,EACT;AAGA,SAAO;AACT;","names":[]}
|
package/dist/utils/download.cjs
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var download_exports = {};
|
|
20
|
-
__export(download_exports, {
|
|
21
|
-
universalFetch: () => universalFetch
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(download_exports);
|
|
24
|
-
var import_ipfs = require("./ipfs");
|
|
25
|
-
async function universalFetch(url, downloadRelayer) {
|
|
26
|
-
let processedUrl = url;
|
|
27
|
-
if (url.startsWith("ar://")) {
|
|
28
|
-
const txId = url.replace("ar://", "");
|
|
29
|
-
processedUrl = `https://arweave.net/${txId}`;
|
|
30
|
-
}
|
|
31
|
-
const ipfsHash = (0, import_ipfs.extractIpfsHash)(processedUrl);
|
|
32
|
-
if (ipfsHash) {
|
|
33
|
-
try {
|
|
34
|
-
return await (0, import_ipfs.fetchWithFallbacks)(url);
|
|
35
|
-
} catch (ipfsError) {
|
|
36
|
-
if (downloadRelayer) {
|
|
37
|
-
try {
|
|
38
|
-
const gatewayUrl = `https://gateway.pinata.cloud/ipfs/${ipfsHash}`;
|
|
39
|
-
const blob = await downloadRelayer.proxyDownload(gatewayUrl);
|
|
40
|
-
return new Response(blob);
|
|
41
|
-
} catch {
|
|
42
|
-
throw ipfsError;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
throw ipfsError;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
const response = await fetch(processedUrl);
|
|
50
|
-
return response;
|
|
51
|
-
} catch (error) {
|
|
52
|
-
if (downloadRelayer) {
|
|
53
|
-
try {
|
|
54
|
-
const blob = await downloadRelayer.proxyDownload(processedUrl);
|
|
55
|
-
return new Response(blob);
|
|
56
|
-
} catch {
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
throw new Error(
|
|
61
|
-
`Failed to fetch from ${processedUrl}: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
-
0 && (module.exports = {
|
|
67
|
-
universalFetch
|
|
68
|
-
});
|
|
69
|
-
//# sourceMappingURL=download.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/download.ts"],"sourcesContent":["/**\n * Universal download utility with CORS bypass and IPFS gateway fallbacks\n *\n * @category Utilities\n */\n\nimport { fetchWithFallbacks, extractIpfsHash } from \"./ipfs\";\n\n/**\n * Universal fetch with protocol support and automatic fallbacks\n *\n * @remarks\n * This utility provides a robust download mechanism that handles:\n * 1. IPFS URLs with automatic gateway fallbacks (5 different gateways)\n * 2. Arweave URLs with ar:// protocol conversion\n * 3. Regular HTTP/HTTPS URLs with optional CORS bypass via relayer\n * 4. Automatic fallback strategies for resilient downloads\n *\n * The function automatically determines the best strategy based on the URL\n * and available configuration, providing transparent fallback behavior.\n *\n * @param url - The URL to fetch (HTTP, HTTPS, IPFS, or Arweave)\n * @param downloadRelayer - Optional download relayer for CORS bypass\n * @param downloadRelayer.proxyDownload - Function to proxy downloads through application server\n * @returns Promise resolving to Response object\n * @throws Error if all download attempts fail\n * @example\n * ```typescript\n * // IPFS URL - automatically uses gateway fallbacks\n * const ipfsResponse = await universalFetch('ipfs://QmHash123');\n * const content = await ipfsResponse.text();\n *\n * // With optional download relayer for CORS bypass\n * const response = await universalFetch(\n * 'https://drive.google.com/file.json',\n * vana.downloadRelayer\n * );\n * const data = await response.json();\n * ```\n */\nexport async function universalFetch(\n url: string,\n downloadRelayer?: { proxyDownload: (url: string) => Promise<Blob> },\n): Promise<Response> {\n // Handle Arweave URLs\n let processedUrl = url;\n if (url.startsWith(\"ar://\")) {\n const txId = url.replace(\"ar://\", \"\");\n processedUrl = `https://arweave.net/${txId}`;\n }\n\n // For IPFS URLs, use the IPFS fallback mechanism\n const ipfsHash = extractIpfsHash(processedUrl);\n if (ipfsHash) {\n try {\n return await fetchWithFallbacks(url);\n } catch (ipfsError) {\n // If all IPFS gateways fail and we have a relayer, try it as last resort\n if (downloadRelayer) {\n try {\n // Try with the first gateway URL format\n const gatewayUrl = `https://gateway.pinata.cloud/ipfs/${ipfsHash}`;\n const blob = await downloadRelayer.proxyDownload(gatewayUrl);\n return new Response(blob);\n } catch {\n // Re-throw original IPFS error\n throw ipfsError;\n }\n }\n throw ipfsError;\n }\n }\n\n // For non-IPFS URLs, try direct then relayer\n try {\n const response = await fetch(processedUrl);\n return response;\n } catch (error) {\n // Try download relayer if configured\n if (downloadRelayer) {\n try {\n const blob = await downloadRelayer.proxyDownload(processedUrl);\n return new Response(blob);\n } catch {\n // Re-throw original error\n throw error;\n }\n }\n throw new Error(\n `Failed to fetch from ${processedUrl}: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAoD;AAkCpD,eAAsB,eACpB,KACA,iBACmB;AAEnB,MAAI,eAAe;AACnB,MAAI,IAAI,WAAW,OAAO,GAAG;AAC3B,UAAM,OAAO,IAAI,QAAQ,SAAS,EAAE;AACpC,mBAAe,uBAAuB,IAAI;AAAA,EAC5C;AAGA,QAAM,eAAW,6BAAgB,YAAY;AAC7C,MAAI,UAAU;AACZ,QAAI;AACF,aAAO,UAAM,gCAAmB,GAAG;AAAA,IACrC,SAAS,WAAW;AAElB,UAAI,iBAAiB;AACnB,YAAI;AAEF,gBAAM,aAAa,qCAAqC,QAAQ;AAChE,gBAAM,OAAO,MAAM,gBAAgB,cAAc,UAAU;AAC3D,iBAAO,IAAI,SAAS,IAAI;AAAA,QAC1B,QAAQ;AAEN,gBAAM;AAAA,QACR;AAAA,MACF;AACA,YAAM;AAAA,IACR;AAAA,EACF;AAGA,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,YAAY;AACzC,WAAO;AAAA,EACT,SAAS,OAAO;AAEd,QAAI,iBAAiB;AACnB,UAAI;AACF,cAAM,OAAO,MAAM,gBAAgB,cAAc,YAAY;AAC7D,eAAO,IAAI,SAAS,IAAI;AAAA,MAC1B,QAAQ;AAEN,cAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,IAAI;AAAA,MACR,wBAAwB,YAAY,KAAK,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,IACnG;AAAA,EACF;AACF;","names":[]}
|
package/dist/utils/download.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Universal download utility with CORS bypass and IPFS gateway fallbacks
|
|
3
|
-
*
|
|
4
|
-
* @category Utilities
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Universal fetch with protocol support and automatic fallbacks
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* This utility provides a robust download mechanism that handles:
|
|
11
|
-
* 1. IPFS URLs with automatic gateway fallbacks (5 different gateways)
|
|
12
|
-
* 2. Arweave URLs with ar:// protocol conversion
|
|
13
|
-
* 3. Regular HTTP/HTTPS URLs with optional CORS bypass via relayer
|
|
14
|
-
* 4. Automatic fallback strategies for resilient downloads
|
|
15
|
-
*
|
|
16
|
-
* The function automatically determines the best strategy based on the URL
|
|
17
|
-
* and available configuration, providing transparent fallback behavior.
|
|
18
|
-
*
|
|
19
|
-
* @param url - The URL to fetch (HTTP, HTTPS, IPFS, or Arweave)
|
|
20
|
-
* @param downloadRelayer - Optional download relayer for CORS bypass
|
|
21
|
-
* @param downloadRelayer.proxyDownload - Function to proxy downloads through application server
|
|
22
|
-
* @returns Promise resolving to Response object
|
|
23
|
-
* @throws Error if all download attempts fail
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* // IPFS URL - automatically uses gateway fallbacks
|
|
27
|
-
* const ipfsResponse = await universalFetch('ipfs://QmHash123');
|
|
28
|
-
* const content = await ipfsResponse.text();
|
|
29
|
-
*
|
|
30
|
-
* // With optional download relayer for CORS bypass
|
|
31
|
-
* const response = await universalFetch(
|
|
32
|
-
* 'https://drive.google.com/file.json',
|
|
33
|
-
* vana.downloadRelayer
|
|
34
|
-
* );
|
|
35
|
-
* const data = await response.json();
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare function universalFetch(url: string, downloadRelayer?: {
|
|
39
|
-
proxyDownload: (url: string) => Promise<Blob>;
|
|
40
|
-
}): Promise<Response>;
|