@zing-protocol/zing-sdk 0.0.1 → 0.0.3
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/dist/_generated/index.js +6 -0
- package/dist/_generated/utils/index.d.ts +12 -0
- package/dist/_generated/utils/index.js +135 -0
- package/dist/_generated/zing_framework/coin_utils.d.ts +15 -0
- package/dist/_generated/zing_framework/coin_utils.js +19 -0
- package/dist/_generated/zing_framework/deps/sui/object.d.ts +8 -0
- package/{src/_generated/zing_governance/deps/sui/object.ts → dist/_generated/zing_framework/deps/sui/object.js} +4 -7
- package/dist/_generated/zing_framework/derived_object_bag.d.ts +166 -0
- package/dist/_generated/zing_framework/derived_object_bag.js +221 -0
- package/dist/_generated/zing_framework/derived_table.d.ts +153 -0
- package/dist/_generated/zing_framework/derived_table.js +200 -0
- package/dist/_generated/zing_governance/admin.d.ts +20 -0
- package/dist/_generated/zing_governance/admin.js +26 -0
- package/dist/_generated/zing_governance/deps/sui/object.d.ts +8 -0
- package/{src/_generated/zing_identity/deps/sui/object.ts → dist/_generated/zing_governance/deps/sui/object.js} +4 -7
- package/dist/_generated/zing_governance/treasury.d.ts +56 -0
- package/dist/_generated/zing_governance/treasury.js +78 -0
- package/dist/_generated/zing_identity/config.d.ts +87 -0
- package/dist/_generated/zing_identity/config.js +98 -0
- package/{src/_generated/zing_studio/deps/std/type_name.ts → dist/_generated/zing_identity/deps/std/type_name.d.ts} +3 -11
- package/dist/_generated/zing_identity/deps/std/type_name.js +22 -0
- package/dist/_generated/zing_identity/deps/sui/object.d.ts +8 -0
- package/{src/_generated/zing_studio/deps/sui/object.ts → dist/_generated/zing_identity/deps/sui/object.js} +4 -7
- package/dist/_generated/zing_identity/deps/sui/object_table.d.ts +12 -0
- package/{src/_generated/zing_identity/deps/sui/object_table.ts → dist/_generated/zing_identity/deps/sui/object_table.js} +7 -10
- package/dist/_generated/zing_identity/deps/sui/table.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/sui/table.ts → dist/_generated/zing_identity/deps/sui/table.js} +7 -10
- package/{src/_generated/zing_identity/deps/sui/vec_set.ts → dist/_generated/zing_identity/deps/sui/vec_set.d.ts} +3 -14
- package/dist/_generated/zing_identity/deps/sui/vec_set.js +22 -0
- package/dist/_generated/zing_identity/ecdsa.d.ts +81 -0
- package/dist/_generated/zing_identity/ecdsa.js +87 -0
- package/dist/_generated/zing_identity/identity.d.ts +262 -0
- package/dist/_generated/zing_identity/identity.js +294 -0
- package/dist/_generated/zing_identity/reclaim.d.ts +356 -0
- package/dist/_generated/zing_identity/reclaim.js +414 -0
- package/dist/_generated/zing_studio/app.d.ts +351 -0
- package/dist/_generated/zing_studio/app.js +451 -0
- package/dist/_generated/zing_studio/article.d.ts +331 -0
- package/dist/_generated/zing_studio/article.js +331 -0
- package/dist/_generated/zing_studio/config.d.ts +203 -0
- package/dist/_generated/zing_studio/config.js +233 -0
- package/{src/_generated/zing_identity/deps/std/type_name.ts → dist/_generated/zing_studio/deps/std/type_name.d.ts} +3 -11
- package/dist/_generated/zing_studio/deps/std/type_name.js +22 -0
- package/dist/_generated/zing_studio/deps/sui/bag.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/sui/bag.ts → dist/_generated/zing_studio/deps/sui/bag.js} +7 -10
- package/dist/_generated/zing_studio/deps/sui/balance.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/sui/balance.ts → dist/_generated/zing_studio/deps/sui/balance.js} +4 -7
- package/dist/_generated/zing_studio/deps/sui/coin.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/sui/coin.ts → dist/_generated/zing_studio/deps/sui/coin.js} +5 -8
- package/dist/_generated/zing_studio/deps/sui/dynamic_field.d.ts +126 -0
- package/dist/_generated/zing_studio/deps/sui/dynamic_field.js +140 -0
- package/dist/_generated/zing_studio/deps/sui/object.d.ts +8 -0
- package/{src/_generated/zing_framework/deps/sui/object.ts → dist/_generated/zing_studio/deps/sui/object.js} +4 -7
- package/dist/_generated/zing_studio/deps/sui/table.d.ts +12 -0
- package/{src/_generated/zing_identity/deps/sui/table.ts → dist/_generated/zing_studio/deps/sui/table.js} +7 -10
- package/dist/_generated/zing_studio/deps/sui/vec_map.d.ts +30 -0
- package/{src/_generated/zing_studio/deps/sui/vec_map.ts → dist/_generated/zing_studio/deps/sui/vec_map.js} +15 -21
- package/{src/_generated/zing_studio/deps/sui/vec_set.ts → dist/_generated/zing_studio/deps/sui/vec_set.d.ts} +3 -14
- package/dist/_generated/zing_studio/deps/sui/vec_set.js +22 -0
- package/dist/_generated/zing_studio/deps/walrus/blob.d.ts +20 -0
- package/{src/_generated/zing_studio/deps/walrus/blob.ts → dist/_generated/zing_studio/deps/walrus/blob.js} +11 -12
- package/dist/_generated/zing_studio/deps/walrus/events.d.ts +83 -0
- package/dist/_generated/zing_studio/deps/walrus/events.js +122 -0
- package/dist/_generated/zing_studio/deps/walrus/metadata.d.ts +71 -0
- package/dist/_generated/zing_studio/deps/walrus/metadata.js +73 -0
- package/dist/_generated/zing_studio/deps/walrus/storage_resource.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/walrus/storage_resource.ts → dist/_generated/zing_studio/deps/walrus/storage_resource.js} +7 -8
- package/dist/_generated/zing_studio/deps/zing_framework/derived_object_bag.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/zing_framework/derived_object_bag.ts → dist/_generated/zing_studio/deps/zing_framework/derived_object_bag.js} +7 -8
- package/dist/_generated/zing_studio/deps/zing_framework/derived_table.d.ts +12 -0
- package/{src/_generated/zing_studio/deps/zing_framework/derived_table.ts → dist/_generated/zing_studio/deps/zing_framework/derived_table.js} +7 -8
- package/dist/_generated/zing_studio/donation.d.ts +24 -0
- package/{src/_generated/zing_studio/donation.ts → dist/_generated/zing_studio/donation.js} +7 -8
- package/dist/_generated/zing_studio/enclave.d.ts +187 -0
- package/dist/_generated/zing_studio/enclave.js +231 -0
- package/dist/_generated/zing_studio/nitro_attestation.d.ts +148 -0
- package/dist/_generated/zing_studio/nitro_attestation.js +183 -0
- package/dist/_generated/zing_studio/referral.d.ts +166 -0
- package/dist/_generated/zing_studio/referral.js +224 -0
- package/dist/_generated/zing_studio/storage.d.ts +327 -0
- package/dist/_generated/zing_studio/storage.js +365 -0
- package/dist/_generated/zing_studio/studio.d.ts +282 -0
- package/dist/_generated/zing_studio/studio.js +360 -0
- package/dist/bcs.d.ts +61 -0
- package/dist/bcs.js +109 -0
- package/dist/client/index.d.ts +228 -0
- package/dist/client/index.js +296 -0
- package/dist/client/types.d.ts +23 -0
- package/dist/client/types.js +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/wallet-provider.d.ts +7 -0
- package/dist/components/wallet-provider.js +33 -0
- package/dist/components/walrus-provider.d.ts +31 -0
- package/dist/components/walrus-provider.js +71 -0
- package/dist/components/zing-provider.d.ts +15 -0
- package/dist/components/zing-provider.js +22 -0
- package/dist/config/common.d.ts +23 -0
- package/dist/config/common.js +61 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.js +28 -0
- package/dist/config/mainnet.d.ts +6 -0
- package/dist/config/mainnet.js +80 -0
- package/dist/config/testnet.d.ts +6 -0
- package/dist/config/testnet.js +81 -0
- package/dist/config/types.d.ts +49 -0
- package/dist/config/types.js +1 -0
- package/dist/const.d.ts +4 -0
- package/dist/const.js +25 -0
- package/dist/getters.d.ts +228 -0
- package/dist/getters.js +317 -0
- package/{src/hooks/index.ts → dist/hooks/index.d.ts} +2 -3
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/useGetStudio.d.ts +26 -0
- package/dist/hooks/useGetStudio.js +17 -0
- package/dist/hooks/useGetTierPlan.d.ts +7 -0
- package/dist/hooks/useGetTierPlan.js +85 -0
- package/dist/hooks/useReclaim.d.ts +12 -0
- package/dist/hooks/useReclaim.js +87 -0
- package/dist/hooks/useSignAndExecuteTransaction.d.ts +6 -0
- package/dist/hooks/useSignAndExecuteTransaction.js +40 -0
- package/dist/hooks/useSignPersonalMessage.d.ts +8 -0
- package/dist/hooks/useSignPersonalMessage.js +21 -0
- package/dist/hooks/useZingInfiniteQueries.d.ts +75 -0
- package/dist/hooks/useZingInfiniteQueries.js +28 -0
- package/dist/hooks/useZingMutation.d.ts +35 -0
- package/dist/hooks/useZingMutation.js +37 -0
- package/dist/hooks/useZingQueries.d.ts +127 -0
- package/dist/hooks/useZingQueries.js +37 -0
- package/dist/hooks/useZingQuery.d.ts +147 -0
- package/dist/hooks/useZingQuery.js +34 -0
- package/{src/index.ts → dist/index.d.ts} +2 -3
- package/dist/index.js +9 -0
- package/dist/lib/utils/colorful-logger.d.ts +2 -0
- package/dist/lib/utils/colorful-logger.js +23 -0
- package/dist/lib/utils/const.d.ts +25 -0
- package/dist/lib/utils/const.js +25 -0
- package/dist/lib/utils/helpers.d.ts +10 -0
- package/dist/lib/utils/helpers.js +49 -0
- package/dist/lib/utils/index.js +4 -0
- package/dist/lib/utils/init-app-with-shadow.d.ts +6 -0
- package/dist/lib/utils/init-app-with-shadow.js +28 -0
- package/dist/lib/utils/quilt.d.ts +61 -0
- package/dist/lib/utils/quilt.js +194 -0
- package/dist/lib/utils/reclaim.d.ts +29 -0
- package/dist/lib/utils/reclaim.js +88 -0
- package/dist/lib/utils/types.d.ts +5 -0
- package/dist/lib/utils/types.js +1 -0
- package/dist/mutations/index.js +3 -0
- package/dist/mutations/seal.d.ts +12 -0
- package/dist/mutations/seal.js +41 -0
- package/dist/mutations/signer.d.ts +10 -0
- package/dist/mutations/signer.js +176 -0
- package/dist/mutations/walrus.d.ts +98 -0
- package/dist/mutations/walrus.js +488 -0
- package/dist/stores/index.js +3 -0
- package/dist/stores/walletStore.d.ts +48 -0
- package/dist/stores/walletStore.js +232 -0
- package/dist/stores/walrusStore.d.ts +28 -0
- package/dist/stores/walrusStore.js +61 -0
- package/dist/stores/zkloginStore.d.ts +28 -0
- package/dist/stores/zkloginStore.js +27 -0
- package/dist/types.d.ts +99 -0
- package/dist/types.js +1 -0
- package/package.json +18 -10
- package/src/_generated/utils/index.ts +0 -181
- package/src/_generated/zing_framework/coin_utils.ts +0 -41
- package/src/_generated/zing_framework/derived_object_bag.ts +0 -400
- package/src/_generated/zing_framework/derived_table.ts +0 -366
- package/src/_generated/zing_governance/admin.ts +0 -47
- package/src/_generated/zing_governance/treasury.ts +0 -134
- package/src/_generated/zing_identity/config.ts +0 -191
- package/src/_generated/zing_identity/ecdsa.ts +0 -166
- package/src/_generated/zing_identity/identity.ts +0 -661
- package/src/_generated/zing_identity/reclaim.ts +0 -803
- package/src/_generated/zing_studio/app.ts +0 -855
- package/src/_generated/zing_studio/article.ts +0 -598
- package/src/_generated/zing_studio/config.ts +0 -475
- package/src/_generated/zing_studio/deps/sui/dynamic_field.ts +0 -272
- package/src/_generated/zing_studio/deps/walrus/events.ts +0 -124
- package/src/_generated/zing_studio/deps/walrus/metadata.ts +0 -137
- package/src/_generated/zing_studio/enclave.ts +0 -466
- package/src/_generated/zing_studio/nitro_attestation.ts +0 -308
- package/src/_generated/zing_studio/referral.ts +0 -447
- package/src/_generated/zing_studio/storage.ts +0 -664
- package/src/_generated/zing_studio/studio.ts +0 -682
- package/src/bcs.ts +0 -139
- package/src/client/index.ts +0 -557
- package/src/client/types.ts +0 -28
- package/src/components/wallet-provider.tsx +0 -53
- package/src/components/walrus-provider.tsx +0 -212
- package/src/components/zing-provider.tsx +0 -54
- package/src/config/common.ts +0 -82
- package/src/config/index.ts +0 -45
- package/src/config/mainnet.ts +0 -109
- package/src/config/testnet.ts +0 -111
- package/src/config/types.ts +0 -69
- package/src/const.ts +0 -32
- package/src/getters.ts +0 -523
- package/src/hooks/useGetStudio.ts +0 -22
- package/src/hooks/useGetTierPlan.ts +0 -115
- package/src/hooks/useReclaim.ts +0 -165
- package/src/hooks/useSignAndExecuteTransaction.ts +0 -57
- package/src/hooks/useSignPersonalMessage.ts +0 -28
- package/src/hooks/useZingInfiniteQueries.ts +0 -92
- package/src/hooks/useZingMutation.ts +0 -66
- package/src/hooks/useZingQueries.ts +0 -107
- package/src/hooks/useZingQuery.ts +0 -88
- package/src/lib/utils/colorful-logger.ts +0 -27
- package/src/lib/utils/const.ts +0 -25
- package/src/lib/utils/helpers.ts +0 -78
- package/src/lib/utils/init-app-with-shadow.ts +0 -42
- package/src/lib/utils/quilt.ts +0 -317
- package/src/lib/utils/reclaim.ts +0 -148
- package/src/lib/utils/types.ts +0 -14
- package/src/mutations/seal.ts +0 -78
- package/src/mutations/signer.ts +0 -241
- package/src/mutations/walrus.ts +0 -862
- package/src/stores/walletStore.ts +0 -360
- package/src/stores/walrusStore.ts +0 -118
- package/src/stores/zkloginStore.ts +0 -53
- package/src/types.ts +0 -120
- package/tsconfig.json +0 -12
- /package/{src/_generated/index.js → dist/_generated/index.d.ts} +0 -0
- /package/{src/components/index.ts → dist/components/index.d.ts} +0 -0
- /package/{src/lib/utils/index.ts → dist/lib/utils/index.d.ts} +0 -0
- /package/{src/mutations/index.ts → dist/mutations/index.d.ts} +0 -0
- /package/{src/stores/index.ts → dist/stores/index.d.ts} +0 -0
package/src/config/types.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { CoinSymbol, PlatformType, WorkType } from "./common.js";
|
|
2
|
-
import type { KeyServerConfig } from "@mysten/seal";
|
|
3
|
-
import type { WalrusClient } from "@mysten/walrus";
|
|
4
|
-
|
|
5
|
-
export interface SharedObjectRef {
|
|
6
|
-
objectId: string;
|
|
7
|
-
initialSharedVersion: number;
|
|
8
|
-
mutable: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface PlatformConfig {
|
|
12
|
-
PLATFORM_UPDATE_PROOF_TARGET: string;
|
|
13
|
-
PLATFORM_TYPE: string;
|
|
14
|
-
// managers
|
|
15
|
-
RECLAIM_MANAGER_SHARED_OBJECT_REF: SharedObjectRef;
|
|
16
|
-
IDENTITY_MANAGER_SHARED_OBJECT_REF: SharedObjectRef;
|
|
17
|
-
// dynamic-field
|
|
18
|
-
IDENTITY_MANAGER_IDENTIFIER_INFO_DF_ID: string;
|
|
19
|
-
IDENTITY_MANAGER_ADDRESS_TO_IDENTIFIER_DF_ID: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface ZingConfig {
|
|
23
|
-
// Packages
|
|
24
|
-
ZING_FRAMEWORK_PACKAGE_ADDRESS: string;
|
|
25
|
-
ZING_IDENTITY_PACKAGE_ADDRESS: string;
|
|
26
|
-
ZING_STUDIO_PACKAGE_ADDRESS: string;
|
|
27
|
-
ZING_STUDIO_V0_PACKAGE_ADDRESS: string;
|
|
28
|
-
// Configs
|
|
29
|
-
// - zing_governance
|
|
30
|
-
ZING_TREASURY_SHARED_OBJECT_REF: SharedObjectRef;
|
|
31
|
-
// - zing_identity
|
|
32
|
-
ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF: SharedObjectRef;
|
|
33
|
-
PROOF_COMMITMENT_TYPE: string;
|
|
34
|
-
IDENTITY_PLATFORMS: Record<PlatformType, PlatformConfig>;
|
|
35
|
-
// - zing_studio
|
|
36
|
-
ZING_STUDIO_CONFIG_SHARED_OBJECT_REF: SharedObjectRef;
|
|
37
|
-
ZING_STORAGE_TREASURY_SHARED_OBJECT_REF: SharedObjectRef;
|
|
38
|
-
ZING_WORKS_TYPE: Record<WorkType, string>;
|
|
39
|
-
// events
|
|
40
|
-
EVENT_TYPES: Record<"publishArticleEvent", string>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface WalrusConfig {
|
|
44
|
-
WALRUS_PACKAGE: string;
|
|
45
|
-
WAL_STAKING_INNER_FIELD: string;
|
|
46
|
-
WALRUS_SYSTEM_SHARED_OBJECT_REF: SharedObjectRef;
|
|
47
|
-
WALRUS_AGGREGATORS: string[];
|
|
48
|
-
WALRUS_UPLOAD_RELAY_BASE_URL: string;
|
|
49
|
-
// events
|
|
50
|
-
EVENT_TYPES: Record<"blobRegistered", string>;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface SealConfig {
|
|
54
|
-
serverConfigs: KeyServerConfig[];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface Config {
|
|
58
|
-
zing: ZingConfig;
|
|
59
|
-
walrus: WalrusConfig;
|
|
60
|
-
seal: SealConfig;
|
|
61
|
-
coins: Record<CoinSymbol, string>;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export type WalrusStakingState = Awaited<
|
|
65
|
-
ReturnType<WalrusClient["stakingState"]>
|
|
66
|
-
>;
|
|
67
|
-
export type WalrusSystemState = Awaited<
|
|
68
|
-
ReturnType<WalrusClient["systemState"]>
|
|
69
|
-
>;
|
package/src/const.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { SuiNetwork } from "./types.js";
|
|
2
|
-
import type { KeyServerConfig } from "@mysten/seal";
|
|
3
|
-
|
|
4
|
-
// // Walrus upload relay
|
|
5
|
-
export const WALRUS_UPLOAD_RELAY_BASE_URL: Record<SuiNetwork, string> = {
|
|
6
|
-
mainnet: "https://walrus-upload-relay-production-73a4.up.railway.app",
|
|
7
|
-
testnet: "https://walrus-upload-relay-production-73a4.up.railway.app",
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
// Platform
|
|
11
|
-
// seal
|
|
12
|
-
export const SEAL_SERVERS_CONFIGS: Record<SuiNetwork, KeyServerConfig[]> = {
|
|
13
|
-
mainnet: [
|
|
14
|
-
{
|
|
15
|
-
objectId:
|
|
16
|
-
"0xe0eb52eba9261b96e895bbb4deca10dcd64fbc626a1133017adcd5131353fd10",
|
|
17
|
-
weight: 1,
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
testnet: [
|
|
21
|
-
{
|
|
22
|
-
objectId:
|
|
23
|
-
"0x73d05d62c18d9374e3ea529e8e0ed6161da1a141a94d3f76ae3fe4e99356db75",
|
|
24
|
-
weight: 1,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
objectId:
|
|
28
|
-
"0xf5d14a81a982144ae441cd7d64b09027f116a468bd36e7eca494f750591623c8",
|
|
29
|
-
weight: 1,
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
};
|
package/src/getters.ts
DELETED
|
@@ -1,523 +0,0 @@
|
|
|
1
|
-
import { TypeName } from "./_generated/zing_identity/deps/std/type_name.js";
|
|
2
|
-
import { IdentifierInfo } from "./_generated/zing_identity/identity.js";
|
|
3
|
-
import {
|
|
4
|
-
Article,
|
|
5
|
-
PublishArticleEvent,
|
|
6
|
-
} from "./_generated/zing_studio/article.js";
|
|
7
|
-
import { Field } from "./_generated/zing_studio/deps/sui/dynamic_field.js";
|
|
8
|
-
import { VecMap } from "./_generated/zing_studio/deps/sui/vec_map.js";
|
|
9
|
-
import { BlobRegistered } from "./_generated/zing_studio/deps/walrus/events.js";
|
|
10
|
-
import {
|
|
11
|
-
StorageSpace,
|
|
12
|
-
StorageTreasury,
|
|
13
|
-
} from "./_generated/zing_studio/storage.js";
|
|
14
|
-
import { Member, Studio } from "./_generated/zing_studio/studio.js";
|
|
15
|
-
import { QuiltPatchId, SuiMoveObject } from "./bcs.js";
|
|
16
|
-
import { bcs } from "@mysten/sui/bcs";
|
|
17
|
-
import {
|
|
18
|
-
deriveDynamicFieldID,
|
|
19
|
-
deriveObjectID,
|
|
20
|
-
fromBase64,
|
|
21
|
-
normalizeStructTag,
|
|
22
|
-
toBase64,
|
|
23
|
-
} from "@mysten/sui/utils";
|
|
24
|
-
import type { MoveObjectType } from "./bcs.js";
|
|
25
|
-
import type { WalrusSystemState } from "./config/types.js";
|
|
26
|
-
import type { SuiGrpcClient } from "@mysten/sui/grpc";
|
|
27
|
-
import type { SuiJsonRpcClient } from "@mysten/sui/jsonRpc";
|
|
28
|
-
import type { EncodingType, WalrusClient } from "@mysten/walrus";
|
|
29
|
-
|
|
30
|
-
// Walrus
|
|
31
|
-
const DIGEST_LEN = 32;
|
|
32
|
-
const BLOB_ID_LEN = 32;
|
|
33
|
-
|
|
34
|
-
// Zing
|
|
35
|
-
export function getDerivedStudioID(studioConfigId: string, address: string) {
|
|
36
|
-
return deriveObjectID(
|
|
37
|
-
studioConfigId,
|
|
38
|
-
"address",
|
|
39
|
-
bcs.Address.serialize(address).toBytes(),
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function getDerivedStorageID(studioConfigId: string, address: string) {
|
|
44
|
-
const studioId = getDerivedStudioID(studioConfigId, address);
|
|
45
|
-
const key = new TextEncoder().encode("storage");
|
|
46
|
-
return deriveObjectID(
|
|
47
|
-
studioId,
|
|
48
|
-
"vector<u8>",
|
|
49
|
-
bcs.vector(bcs.u8()).serialize(key).toBytes(),
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function getDerivedWorksID(studioConfigId: string, address: string) {
|
|
54
|
-
const studioId = getDerivedStudioID(studioConfigId, address);
|
|
55
|
-
const key = new TextEncoder().encode("works");
|
|
56
|
-
return deriveObjectID(
|
|
57
|
-
studioId,
|
|
58
|
-
"vector<u8>",
|
|
59
|
-
bcs.vector(bcs.u8()).serialize(key).toBytes(),
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export function getDerivedMembershipID(
|
|
64
|
-
studioConfigId: string,
|
|
65
|
-
address: string,
|
|
66
|
-
) {
|
|
67
|
-
const studioId = getDerivedStudioID(studioConfigId, address);
|
|
68
|
-
const key = new TextEncoder().encode("membership");
|
|
69
|
-
return deriveObjectID(
|
|
70
|
-
studioId,
|
|
71
|
-
"vector<u8>",
|
|
72
|
-
bcs.vector(bcs.u8()).serialize(key).toBytes(),
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export async function getIdentifierByAddress(
|
|
77
|
-
suiGrpcClient: SuiGrpcClient,
|
|
78
|
-
addressToIdentifierDynamicFieldId: string,
|
|
79
|
-
address: string,
|
|
80
|
-
) {
|
|
81
|
-
const dfObjectId = deriveDynamicFieldID(
|
|
82
|
-
addressToIdentifierDynamicFieldId,
|
|
83
|
-
"address",
|
|
84
|
-
bcs.Address.serialize(address).toBytes(),
|
|
85
|
-
);
|
|
86
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
87
|
-
objectId: dfObjectId,
|
|
88
|
-
readMask: {
|
|
89
|
-
paths: ["bcs"],
|
|
90
|
-
},
|
|
91
|
-
});
|
|
92
|
-
if (!res.response.object?.bcs?.value) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
97
|
-
const field = Field(bcs.Address, bcs.String).parse(
|
|
98
|
-
suiMoveObject.data.MoveObject.contents,
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
return field.value;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export async function getIdentifierInfoByIdentifier(
|
|
105
|
-
suiGrpcClient: SuiGrpcClient,
|
|
106
|
-
identifierInfoDynamicFieldId: string,
|
|
107
|
-
identifier: string,
|
|
108
|
-
) {
|
|
109
|
-
const dfObjectId = deriveDynamicFieldID(
|
|
110
|
-
identifierInfoDynamicFieldId,
|
|
111
|
-
"0x1::ascii::String",
|
|
112
|
-
bcs.Address.serialize(identifier).toBytes(),
|
|
113
|
-
);
|
|
114
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
115
|
-
objectId: dfObjectId,
|
|
116
|
-
readMask: {
|
|
117
|
-
paths: ["bcs"],
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
if (!res.response.object?.bcs?.value) {
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
125
|
-
const field = Field(bcs.String, IdentifierInfo).parse(
|
|
126
|
-
suiMoveObject.data.MoveObject.contents,
|
|
127
|
-
);
|
|
128
|
-
|
|
129
|
-
return field.value;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export async function getDonationByIdentifier(
|
|
133
|
-
suiGrpcClient: SuiGrpcClient,
|
|
134
|
-
donationTableId: string,
|
|
135
|
-
identifier: string,
|
|
136
|
-
) {
|
|
137
|
-
const dfObjectId = deriveDynamicFieldID(
|
|
138
|
-
donationTableId,
|
|
139
|
-
"0x1::ascii::String",
|
|
140
|
-
bcs.Address.serialize(identifier).toBytes(),
|
|
141
|
-
);
|
|
142
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
143
|
-
objectId: dfObjectId,
|
|
144
|
-
readMask: {
|
|
145
|
-
paths: ["bcs"],
|
|
146
|
-
},
|
|
147
|
-
});
|
|
148
|
-
if (!res.response.object?.bcs?.value) {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
153
|
-
const field = Field(bcs.String, VecMap(TypeName, bcs.U64)).parse(
|
|
154
|
-
suiMoveObject.data.MoveObject.contents,
|
|
155
|
-
);
|
|
156
|
-
|
|
157
|
-
return field.value;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export async function getStudio(
|
|
161
|
-
suiGrpcClient: SuiGrpcClient,
|
|
162
|
-
studioId: string,
|
|
163
|
-
) {
|
|
164
|
-
try {
|
|
165
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
166
|
-
objectId: studioId,
|
|
167
|
-
readMask: {
|
|
168
|
-
paths: ["bcs"],
|
|
169
|
-
},
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
if (!res.response.object?.bcs?.value) {
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
177
|
-
|
|
178
|
-
return Studio.parse(suiMoveObject.data.MoveObject.contents);
|
|
179
|
-
} catch (error) {
|
|
180
|
-
console.error(error);
|
|
181
|
-
return null;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
export async function getStorageSpace(
|
|
186
|
-
suiGrpcClient: SuiGrpcClient,
|
|
187
|
-
storageSpaceId: string,
|
|
188
|
-
) {
|
|
189
|
-
try {
|
|
190
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
191
|
-
objectId: storageSpaceId,
|
|
192
|
-
readMask: {
|
|
193
|
-
paths: ["bcs"],
|
|
194
|
-
},
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
if (!res.response.object?.bcs?.value) {
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
202
|
-
|
|
203
|
-
return StorageSpace.parse(suiMoveObject.data.MoveObject.contents);
|
|
204
|
-
} catch (error) {
|
|
205
|
-
console.error(error);
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export async function getStorageTreasury(
|
|
211
|
-
suiGrpcClient: SuiGrpcClient,
|
|
212
|
-
storageTreasuryId: string,
|
|
213
|
-
) {
|
|
214
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
215
|
-
objectId: storageTreasuryId,
|
|
216
|
-
readMask: {
|
|
217
|
-
paths: ["bcs"],
|
|
218
|
-
},
|
|
219
|
-
});
|
|
220
|
-
if (!res.response.object?.bcs?.value) {
|
|
221
|
-
return null;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
225
|
-
return StorageTreasury.parse(suiMoveObject.data.MoveObject.contents);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
export async function getMember(
|
|
229
|
-
suiGrpcClient: SuiGrpcClient,
|
|
230
|
-
membershipTableId: string,
|
|
231
|
-
member: string,
|
|
232
|
-
) {
|
|
233
|
-
const dfObjectId = deriveDynamicFieldID(
|
|
234
|
-
membershipTableId,
|
|
235
|
-
"address",
|
|
236
|
-
bcs.Address.serialize(member).toBytes(),
|
|
237
|
-
);
|
|
238
|
-
|
|
239
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
240
|
-
objectId: dfObjectId,
|
|
241
|
-
readMask: {
|
|
242
|
-
paths: ["bcs"],
|
|
243
|
-
},
|
|
244
|
-
});
|
|
245
|
-
if (!res.response.object?.bcs?.value) {
|
|
246
|
-
return null;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
250
|
-
const field = Field(bcs.Address, Member).parse(
|
|
251
|
-
suiMoveObject.data.MoveObject.contents,
|
|
252
|
-
);
|
|
253
|
-
|
|
254
|
-
return field.value;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
export async function getMembers(
|
|
258
|
-
suiGrpcClient: SuiGrpcClient,
|
|
259
|
-
membershipTableId: string,
|
|
260
|
-
cursor?: string,
|
|
261
|
-
limit = 20,
|
|
262
|
-
) {
|
|
263
|
-
const res = await suiGrpcClient.stateService.listDynamicFields({
|
|
264
|
-
parent: membershipTableId,
|
|
265
|
-
pageToken: cursor ? fromBase64(cursor) : undefined,
|
|
266
|
-
pageSize: limit,
|
|
267
|
-
readMask: {
|
|
268
|
-
paths: ["field_object.bcs"],
|
|
269
|
-
},
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
const data = res.response.dynamicFields.map((df) => {
|
|
273
|
-
if (!df.fieldObject?.bcs?.value)
|
|
274
|
-
throw new Error("Wrong readMask for reading members");
|
|
275
|
-
const suiMoveObject = SuiMoveObject.parse(df.fieldObject.bcs.value);
|
|
276
|
-
// Wrapped in dynamicFields
|
|
277
|
-
const field = Field(bcs.Address, Member).parse(
|
|
278
|
-
suiMoveObject.data.MoveObject.contents,
|
|
279
|
-
);
|
|
280
|
-
|
|
281
|
-
return {
|
|
282
|
-
member: field.name,
|
|
283
|
-
level: field.value.level,
|
|
284
|
-
expiredAt: field.value.expired_at,
|
|
285
|
-
};
|
|
286
|
-
});
|
|
287
|
-
|
|
288
|
-
return {
|
|
289
|
-
data,
|
|
290
|
-
nextCursor: res.response.nextPageToken
|
|
291
|
-
? toBase64(res.response.nextPageToken)
|
|
292
|
-
: undefined,
|
|
293
|
-
hasNextPage: res.response.nextPageToken !== undefined,
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
export async function getWork(
|
|
298
|
-
suiGrpcClient: SuiGrpcClient,
|
|
299
|
-
walrusSystem: WalrusSystemState,
|
|
300
|
-
workId: string,
|
|
301
|
-
workType?: string,
|
|
302
|
-
) {
|
|
303
|
-
const res = await suiGrpcClient.ledgerService.getObject({
|
|
304
|
-
objectId: workId,
|
|
305
|
-
readMask: {
|
|
306
|
-
paths: ["bcs"],
|
|
307
|
-
},
|
|
308
|
-
});
|
|
309
|
-
|
|
310
|
-
if (!res.response.object?.bcs?.value) {
|
|
311
|
-
return null;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
const suiMoveObject = SuiMoveObject.parse(res.response.object.bcs.value);
|
|
315
|
-
|
|
316
|
-
const type = suiMoveObject.data.MoveObject
|
|
317
|
-
.type as typeof MoveObjectType.$inferType;
|
|
318
|
-
|
|
319
|
-
if (
|
|
320
|
-
type.$kind !== "Other" ||
|
|
321
|
-
normalizeStructTag(type.Other as any) !== workType
|
|
322
|
-
)
|
|
323
|
-
return null;
|
|
324
|
-
|
|
325
|
-
return Article.parse(suiMoveObject.data.MoveObject.contents);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export async function getWorks(
|
|
329
|
-
suiGrpcClient: SuiGrpcClient,
|
|
330
|
-
walrusSystem: WalrusSystemState,
|
|
331
|
-
workTableId: string,
|
|
332
|
-
workType?: string,
|
|
333
|
-
cursor?: string,
|
|
334
|
-
limit = 20,
|
|
335
|
-
) {
|
|
336
|
-
const res = await suiGrpcClient.stateService.listDynamicFields({
|
|
337
|
-
parent: workTableId,
|
|
338
|
-
pageToken: cursor ? fromBase64(cursor) : undefined,
|
|
339
|
-
pageSize: limit,
|
|
340
|
-
readMask: {
|
|
341
|
-
paths: ["child_object"],
|
|
342
|
-
},
|
|
343
|
-
});
|
|
344
|
-
|
|
345
|
-
const works = res.response.dynamicFields.map((df) => {
|
|
346
|
-
if (!df.childObject?.contents?.value)
|
|
347
|
-
throw new Error("Wrong readMask for reading members");
|
|
348
|
-
// Wrapped in dynamicObjectFields
|
|
349
|
-
const objectType = df.childObject.objectType;
|
|
350
|
-
|
|
351
|
-
if (objectType !== workType) return null;
|
|
352
|
-
return Article.parse(df.childObject.contents.value);
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
const data = works
|
|
356
|
-
.filter((d): d is typeof Article.$inferType => {
|
|
357
|
-
if (!d || d.blobs.length === 0 || d.deleted) return false;
|
|
358
|
-
const minEndEpoch = Math.min(...d.blobs.map((b) => b.storage.end_epoch));
|
|
359
|
-
return minEndEpoch > walrusSystem.committee.epoch;
|
|
360
|
-
})
|
|
361
|
-
.sort((a, b) => Number(b.created_at) - Number(a.created_at));
|
|
362
|
-
|
|
363
|
-
console.log({ getWorksData: data });
|
|
364
|
-
|
|
365
|
-
return {
|
|
366
|
-
data,
|
|
367
|
-
nextCursor: res.response.nextPageToken
|
|
368
|
-
? toBase64(res.response.nextPageToken)
|
|
369
|
-
: undefined,
|
|
370
|
-
hasNextPage: res.response.nextPageToken !== undefined,
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
export async function getPublishedArticleAndBlobId(
|
|
375
|
-
suiGrpcClient: SuiGrpcClient,
|
|
376
|
-
suiClient: SuiJsonRpcClient,
|
|
377
|
-
walrusClient: WalrusClient,
|
|
378
|
-
digest: string,
|
|
379
|
-
blobRegisteredEventType: string,
|
|
380
|
-
publishArticleEventType: string,
|
|
381
|
-
) {
|
|
382
|
-
// suiGrpcClient waitForTransaction calling core.getTransaction which is broken
|
|
383
|
-
await suiClient.waitForTransaction({
|
|
384
|
-
digest,
|
|
385
|
-
});
|
|
386
|
-
|
|
387
|
-
if (!digest) throw new Error("fail to get transaction hash");
|
|
388
|
-
|
|
389
|
-
const res = await suiGrpcClient.ledgerService.getTransaction({
|
|
390
|
-
digest,
|
|
391
|
-
readMask: {
|
|
392
|
-
paths: ["events"],
|
|
393
|
-
},
|
|
394
|
-
});
|
|
395
|
-
|
|
396
|
-
const blobRegisteredEvent = res.response.transaction?.events?.events?.find(
|
|
397
|
-
(e) => e.contents?.name === blobRegisteredEventType,
|
|
398
|
-
);
|
|
399
|
-
const publishArticleEvent = res.response.transaction?.events?.events?.find(
|
|
400
|
-
(e) => e.contents?.name === publishArticleEventType,
|
|
401
|
-
);
|
|
402
|
-
|
|
403
|
-
if (!blobRegisteredEvent || !blobRegisteredEvent.contents?.value) {
|
|
404
|
-
throw new Error("fail to get blobRegisteredEvent");
|
|
405
|
-
}
|
|
406
|
-
if (!publishArticleEvent || !publishArticleEvent.contents?.value) {
|
|
407
|
-
throw new Error("fail to get publishArticleEvent");
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
const blobObjectId = BlobRegistered.parse(
|
|
411
|
-
blobRegisteredEvent.contents?.value,
|
|
412
|
-
).object_id;
|
|
413
|
-
const parsedPublishArticleEvent = PublishArticleEvent.parse(
|
|
414
|
-
publishArticleEvent.contents.value,
|
|
415
|
-
);
|
|
416
|
-
|
|
417
|
-
return { parsedPublishArticleEvent, blobObjectId };
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
export function encodeQuiltPatchId(id: typeof QuiltPatchId.$inferInput) {
|
|
421
|
-
return urlSafeBase64(QuiltPatchId.serialize(id).toBytes());
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
export function urlSafeBase64(bytes: Uint8Array): string {
|
|
425
|
-
return toBase64(bytes).replace(/=*$/, "").replace("+", "-").replace("/", "_");
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
export function getMaxFaultyNodes(nShards: number): number {
|
|
429
|
-
return Math.floor((nShards - 1) / 3);
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
export function decodingSafetyLimit(
|
|
433
|
-
nShards: number,
|
|
434
|
-
encodingType: EncodingType,
|
|
435
|
-
): number {
|
|
436
|
-
switch (encodingType) {
|
|
437
|
-
case "RedStuff":
|
|
438
|
-
return Math.min(5, Math.floor(getMaxFaultyNodes(nShards) / 5));
|
|
439
|
-
case "RS2":
|
|
440
|
-
return 0;
|
|
441
|
-
default:
|
|
442
|
-
throw new Error(`Encountered unknown encoding type of ${encodingType}`);
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
export function signersToBitmap(
|
|
447
|
-
signers: number[],
|
|
448
|
-
committeeSize: number,
|
|
449
|
-
): Uint8Array {
|
|
450
|
-
const bitmapSize = Math.ceil(committeeSize / 8);
|
|
451
|
-
const bitmap = new Uint8Array(bitmapSize);
|
|
452
|
-
|
|
453
|
-
for (const signer of signers) {
|
|
454
|
-
const byteIndex = Math.floor(signer / 8);
|
|
455
|
-
const bitIndex = signer % 8;
|
|
456
|
-
bitmap[byteIndex] |= 1 << bitIndex;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
return bitmap;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
export function getSourceSymbols(
|
|
463
|
-
nShards: number,
|
|
464
|
-
encodingType: EncodingType = "RS2",
|
|
465
|
-
) {
|
|
466
|
-
const safetyLimit = decodingSafetyLimit(nShards, encodingType);
|
|
467
|
-
const maxFaulty = getMaxFaultyNodes(nShards);
|
|
468
|
-
const minCorrect = nShards - maxFaulty;
|
|
469
|
-
|
|
470
|
-
return {
|
|
471
|
-
primarySymbols: minCorrect - maxFaulty - safetyLimit,
|
|
472
|
-
secondarySymbols: minCorrect - safetyLimit,
|
|
473
|
-
};
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
* Calculate the encoded sliver size.
|
|
478
|
-
* This matches the Walrus SDK's encodedSliverSize function.
|
|
479
|
-
*/
|
|
480
|
-
export function encodedSliverSize(
|
|
481
|
-
unencodedLength: number,
|
|
482
|
-
nShards: number,
|
|
483
|
-
encodingType: EncodingType = "RS2",
|
|
484
|
-
): number {
|
|
485
|
-
const { primarySymbols, secondarySymbols } = getSourceSymbols(
|
|
486
|
-
nShards,
|
|
487
|
-
encodingType,
|
|
488
|
-
);
|
|
489
|
-
|
|
490
|
-
// Calculate symbol size with proper rounding
|
|
491
|
-
let symbolSize =
|
|
492
|
-
Math.floor(
|
|
493
|
-
(Math.max(unencodedLength, 1) - 1) / (primarySymbols * secondarySymbols),
|
|
494
|
-
) + 1;
|
|
495
|
-
|
|
496
|
-
// RS2 requires even symbol sizes
|
|
497
|
-
if (encodingType === "RS2" && symbolSize % 2 === 1) {
|
|
498
|
-
symbolSize = symbolSize + 1;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
const singleShardSize = (primarySymbols + secondarySymbols) * symbolSize;
|
|
502
|
-
|
|
503
|
-
console.log("encodedSliverSize breakdown:", {
|
|
504
|
-
unencodedLength,
|
|
505
|
-
primarySymbols,
|
|
506
|
-
secondarySymbols,
|
|
507
|
-
calculatedSymbolSize: symbolSize,
|
|
508
|
-
singleShardSize,
|
|
509
|
-
totalSliverSize: singleShardSize * nShards,
|
|
510
|
-
});
|
|
511
|
-
|
|
512
|
-
return singleShardSize * nShards;
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
export function encodedBlobLength(
|
|
516
|
-
unencodedLength: number,
|
|
517
|
-
nShards: number,
|
|
518
|
-
encodingType: EncodingType = "RS2",
|
|
519
|
-
): number {
|
|
520
|
-
const sliverSize = encodedSliverSize(unencodedLength, nShards, encodingType);
|
|
521
|
-
const metadata = nShards * DIGEST_LEN * 2 + BLOB_ID_LEN;
|
|
522
|
-
return nShards * metadata + sliverSize;
|
|
523
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { useZingQuery } from "./useZingQuery.js";
|
|
2
|
-
|
|
3
|
-
export function useGetStudio(suiAddress?: string) {
|
|
4
|
-
return useZingQuery(
|
|
5
|
-
{
|
|
6
|
-
method: "getStudio",
|
|
7
|
-
params: [suiAddress || ""],
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
enabled: !!suiAddress,
|
|
11
|
-
retry: (failureCount, error) => {
|
|
12
|
-
if (error instanceof Error && error.message.includes("notExists")) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
return failureCount < 1;
|
|
16
|
-
},
|
|
17
|
-
staleTime: 5 * 60 * 1000, // 5 minutes
|
|
18
|
-
gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)
|
|
19
|
-
},
|
|
20
|
-
[suiAddress || ""],
|
|
21
|
-
);
|
|
22
|
-
}
|