@zing-protocol/zing-sdk 0.0.17 → 0.1.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.
Files changed (91) hide show
  1. package/dist/_generated/index.d.ts +0 -2
  2. package/dist/_generated/index.js +0 -2
  3. package/dist/_generated/utils/index.d.ts +21 -2
  4. package/dist/_generated/utils/index.js +35 -11
  5. package/dist/_generated/zing_framework/coin_utils.js +1 -4
  6. package/dist/_generated/zing_framework/derived_object_bag.d.ts +4 -3
  7. package/dist/_generated/zing_framework/derived_object_bag.js +12 -37
  8. package/dist/_generated/zing_framework/derived_table.d.ts +5 -4
  9. package/dist/_generated/zing_framework/derived_table.js +12 -33
  10. package/dist/_generated/zing_governance/admin.d.ts +4 -17
  11. package/dist/_generated/zing_governance/admin.js +3 -17
  12. package/dist/_generated/zing_governance/treasury.d.ts +5 -4
  13. package/dist/_generated/zing_governance/treasury.js +5 -15
  14. package/dist/_generated/zing_studio/app.d.ts +70 -2
  15. package/dist/_generated/zing_studio/app.js +154 -100
  16. package/dist/_generated/zing_studio/article.d.ts +6 -52
  17. package/dist/_generated/zing_studio/article.js +23 -74
  18. package/dist/_generated/zing_studio/config.d.ts +34 -3
  19. package/dist/_generated/zing_studio/config.js +47 -50
  20. package/dist/_generated/zing_studio/deps/sui/bag.d.ts +25 -3
  21. package/dist/_generated/zing_studio/deps/sui/bag.js +1 -2
  22. package/dist/_generated/zing_studio/deps/sui/balance.d.ts +1 -1
  23. package/dist/_generated/zing_studio/deps/sui/balance.js +1 -1
  24. package/dist/_generated/zing_studio/deps/sui/coin.d.ts +3 -5
  25. package/dist/_generated/zing_studio/deps/sui/coin.js +3 -3
  26. package/dist/_generated/zing_studio/deps/sui/table.d.ts +21 -4
  27. package/dist/_generated/zing_studio/deps/sui/table.js +2 -3
  28. package/dist/_generated/zing_studio/deps/walrus/blob.d.ts +2 -6
  29. package/dist/_generated/zing_studio/deps/walrus/blob.js +1 -2
  30. package/dist/_generated/zing_studio/deps/walrus/storage_resource.d.ts +1 -3
  31. package/dist/_generated/zing_studio/deps/walrus/storage_resource.js +1 -2
  32. package/dist/_generated/zing_studio/deps/zing_framework/derived_object_bag.d.ts +1 -3
  33. package/dist/_generated/zing_studio/deps/zing_framework/derived_object_bag.js +1 -2
  34. package/dist/_generated/zing_studio/deps/zing_framework/derived_table.d.ts +2 -4
  35. package/dist/_generated/zing_studio/deps/zing_framework/derived_table.js +2 -3
  36. package/dist/_generated/zing_studio/donation.d.ts +6 -14
  37. package/dist/_generated/zing_studio/donation.js +2 -2
  38. package/dist/_generated/zing_studio/enclave.d.ts +17 -10
  39. package/dist/_generated/zing_studio/enclave.js +16 -41
  40. package/dist/_generated/zing_studio/referral.js +15 -46
  41. package/dist/_generated/zing_studio/storage.d.ts +13 -17
  42. package/dist/_generated/zing_studio/storage.js +46 -100
  43. package/dist/_generated/zing_studio/studio.d.ts +6 -28
  44. package/dist/_generated/zing_studio/studio.js +23 -96
  45. package/dist/client/index.d.ts +18 -55
  46. package/dist/client/index.js +1 -28
  47. package/dist/getters.d.ts +17 -62
  48. package/dist/getters.js +62 -56
  49. package/dist/hooks/index.d.ts +0 -1
  50. package/dist/hooks/index.js +1 -1
  51. package/dist/hooks/useGetStudio.d.ts +4 -10
  52. package/dist/hooks/useReclaim.d.ts +0 -10
  53. package/dist/hooks/useReclaim.js +169 -92
  54. package/dist/hooks/useSignAndExecuteTransaction.js +4 -1
  55. package/dist/hooks/useZingInfiniteQueries.d.ts +3 -9
  56. package/dist/hooks/useZingInfiniteQueries.js +1 -0
  57. package/dist/hooks/useZingQueries.d.ts +8 -27
  58. package/dist/hooks/useZingQueries.js +1 -2
  59. package/dist/hooks/useZingQuery.d.ts +11 -36
  60. package/dist/hooks/useZingQuery.js +1 -2
  61. package/dist/lib/utils/index.d.ts +0 -1
  62. package/dist/lib/utils/index.js +0 -1
  63. package/dist/lib/utils/reclaim.d.ts +1 -29
  64. package/dist/lib/utils/reclaim.js +148 -87
  65. package/dist/mutations/signer.js +1 -1
  66. package/dist/mutations/walrus.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/_generated/zing_framework/deps/sui/object.d.ts +0 -8
  69. package/dist/_generated/zing_framework/deps/sui/object.js +0 -13
  70. package/dist/_generated/zing_governance/deps/sui/object.d.ts +0 -8
  71. package/dist/_generated/zing_governance/deps/sui/object.js +0 -13
  72. package/dist/_generated/zing_identity/config.d.ts +0 -87
  73. package/dist/_generated/zing_identity/config.js +0 -98
  74. package/dist/_generated/zing_identity/deps/std/type_name.d.ts +0 -17
  75. package/dist/_generated/zing_identity/deps/std/type_name.js +0 -22
  76. package/dist/_generated/zing_identity/deps/sui/object.d.ts +0 -8
  77. package/dist/_generated/zing_identity/deps/sui/object.js +0 -13
  78. package/dist/_generated/zing_identity/deps/sui/object_table.d.ts +0 -12
  79. package/dist/_generated/zing_identity/deps/sui/object_table.js +0 -23
  80. package/dist/_generated/zing_identity/deps/sui/table.d.ts +0 -12
  81. package/dist/_generated/zing_identity/deps/sui/table.js +0 -35
  82. package/dist/_generated/zing_identity/deps/sui/vec_set.d.ts +0 -17
  83. package/dist/_generated/zing_identity/deps/sui/vec_set.js +0 -22
  84. package/dist/_generated/zing_identity/ecdsa.d.ts +0 -81
  85. package/dist/_generated/zing_identity/ecdsa.js +0 -87
  86. package/dist/_generated/zing_identity/identity.d.ts +0 -262
  87. package/dist/_generated/zing_identity/identity.js +0 -294
  88. package/dist/_generated/zing_identity/reclaim.d.ts +0 -356
  89. package/dist/_generated/zing_identity/reclaim.js +0 -414
  90. package/dist/_generated/zing_studio/nitro_attestation.d.ts +0 -148
  91. package/dist/_generated/zing_studio/nitro_attestation.js +0 -183
package/dist/getters.js CHANGED
@@ -1,8 +1,5 @@
1
- import { TypeName } from "./_generated/zing_identity/deps/std/type_name.js";
2
- import { IdentifierInfo } from "./_generated/zing_identity/identity.js";
3
- import { Article, PublishArticleEventV1, } from "./_generated/zing_studio/article.js";
1
+ import { Article, PublishArticleEvent, } from "./_generated/zing_studio/article.js";
4
2
  import { Field } from "./_generated/zing_studio/deps/sui/dynamic_field.js";
5
- import { VecMap } from "./_generated/zing_studio/deps/sui/vec_map.js";
6
3
  import { BlobRegistered } from "./_generated/zing_studio/deps/walrus/events.js";
7
4
  import { Referral } from "./_generated/zing_studio/referral.js";
8
5
  import { StorageSpace, StorageTreasury, } from "./_generated/zing_studio/storage.js";
@@ -37,57 +34,66 @@ export function getReferralID(studioConfigId, address) {
37
34
  const key = new TextEncoder().encode("referral");
38
35
  return deriveDynamicFieldID(studioId, "vector<u8>", bcs.vector(bcs.u8()).serialize(key).toBytes());
39
36
  }
40
- export async function getIdentifierByAddress(suiGrpcClient, addressToIdentifierDynamicFieldId, address) {
41
- const dfObjectId = deriveDynamicFieldID(addressToIdentifierDynamicFieldId, "address", bcs.Address.serialize(address).toBytes());
42
- const res = await suiGrpcClient.ledgerService.getObject({
43
- objectId: dfObjectId,
44
- readMask: {
45
- paths: ["bcs"],
46
- },
47
- });
48
- if (!res.response.object?.bcs?.value) {
49
- return null;
50
- }
51
- const suiMoveObject = bcs.Object.parse(res.response.object.bcs.value);
52
- if (suiMoveObject.data.$kind === "Package")
53
- throw new Error("Move Object is Package");
54
- const field = Field(bcs.Address, bcs.String).parse(suiMoveObject.data.Move.contents);
55
- return field.value;
56
- }
57
- export async function getIdentifierInfoByIdentifier(suiGrpcClient, identifierInfoDynamicFieldId, identifier) {
58
- const dfObjectId = deriveDynamicFieldID(identifierInfoDynamicFieldId, "0x1::ascii::String", bcs.Address.serialize(identifier).toBytes());
59
- const res = await suiGrpcClient.ledgerService.getObject({
60
- objectId: dfObjectId,
61
- readMask: {
62
- paths: ["bcs"],
63
- },
64
- });
65
- if (!res.response.object?.bcs?.value) {
66
- return null;
67
- }
68
- const suiMoveObject = bcs.Object.parse(res.response.object.bcs.value);
69
- if (suiMoveObject.data.$kind === "Package")
70
- throw new Error("Move Object is Package");
71
- const field = Field(bcs.String, IdentifierInfo).parse(suiMoveObject.data.Move.contents);
72
- return field.value;
73
- }
74
- export async function getDonationByIdentifier(suiGrpcClient, donationTableId, identifier) {
75
- const dfObjectId = deriveDynamicFieldID(donationTableId, "0x1::ascii::String", bcs.Address.serialize(identifier).toBytes());
76
- const res = await suiGrpcClient.ledgerService.getObject({
77
- objectId: dfObjectId,
78
- readMask: {
79
- paths: ["bcs"],
80
- },
81
- });
82
- if (!res.response.object?.bcs?.value) {
83
- return null;
84
- }
85
- const suiMoveObject = bcs.Object.parse(res.response.object.bcs.value);
86
- if (suiMoveObject.data.$kind === "Package")
87
- throw new Error("Move Object is Package");
88
- const field = Field(bcs.String, VecMap(TypeName, bcs.U64)).parse(suiMoveObject.data.Move.contents);
89
- return field.value;
90
- }
37
+ // export async function getIdentifierByAddress(
38
+ // suiGrpcClient: SuiGrpcClient,
39
+ // addressToIdentifierDynamicFieldId: string,
40
+ // address: string,
41
+ // ) {
42
+ // const dfObjectId = deriveDynamicFieldID(
43
+ // addressToIdentifierDynamicFieldId,
44
+ // "address",
45
+ // bcs.Address.serialize(address).toBytes(),
46
+ // );
47
+ // const res = await suiGrpcClient.ledgerService.getObject({
48
+ // objectId: dfObjectId,
49
+ // readMask: {
50
+ // paths: ["bcs"],
51
+ // },
52
+ // });
53
+ // if (!res.response.object?.bcs?.value) {
54
+ // return null;
55
+ // }
56
+ //
57
+ // const suiMoveObject = bcs.Object.parse(res.response.object.bcs.value);
58
+ // if (suiMoveObject.data.$kind === "Package")
59
+ // throw new Error("Move Object is Package");
60
+ //
61
+ // const field = Field(bcs.Address, bcs.String).parse(
62
+ // suiMoveObject.data.Move.contents,
63
+ // );
64
+ //
65
+ // return field.value;
66
+ // }
67
+ // export async function getIdentifierInfoByIdentifier(
68
+ // suiGrpcClient: SuiGrpcClient,
69
+ // identifierInfoDynamicFieldId: string,
70
+ // identifier: string,
71
+ // ) {
72
+ // const dfObjectId = deriveDynamicFieldID(
73
+ // identifierInfoDynamicFieldId,
74
+ // "0x1::ascii::String",
75
+ // bcs.Address.serialize(identifier).toBytes(),
76
+ // );
77
+ // const res = await suiGrpcClient.ledgerService.getObject({
78
+ // objectId: dfObjectId,
79
+ // readMask: {
80
+ // paths: ["bcs"],
81
+ // },
82
+ // });
83
+ // if (!res.response.object?.bcs?.value) {
84
+ // return null;
85
+ // }
86
+ //
87
+ // const suiMoveObject = bcs.Object.parse(res.response.object.bcs.value);
88
+ // if (suiMoveObject.data.$kind === "Package")
89
+ // throw new Error("Move Object is Package");
90
+ //
91
+ // const field = Field(bcs.String, IdentifierInfo).parse(
92
+ // suiMoveObject.data.Move.contents,
93
+ // );
94
+ //
95
+ // return field.value;
96
+ // }
91
97
  export async function getStudio(suiGrpcClient, studioId) {
92
98
  try {
93
99
  const res = await suiGrpcClient.ledgerService.getObject({
@@ -304,7 +310,7 @@ export async function getPublishedArticleAndBlobId(suiGrpcClient, walrusClient,
304
310
  throw new Error("fail to get publishArticleEvent");
305
311
  }
306
312
  const blobObjectId = BlobRegistered.parse(blobRegisteredEvent.contents?.value).object_id;
307
- const parsedPublishArticleEvent = PublishArticleEventV1.parse(publishArticleEvent.contents.value);
313
+ const parsedPublishArticleEvent = PublishArticleEvent.parse(publishArticleEvent.contents.value);
308
314
  return { parsedPublishArticleEvent, blobObjectId };
309
315
  }
310
316
  export function encodeQuiltPatchId(id) {
@@ -1,5 +1,4 @@
1
1
  export * from "./useSignAndExecuteTransaction.js";
2
- export * from "./useReclaim.js";
3
2
  export * from "./useGetStudio.js";
4
3
  export * from "./useZingMutation.js";
5
4
  export * from "./useZingQuery.js";
@@ -1,5 +1,5 @@
1
1
  export * from "./useSignAndExecuteTransaction.js";
2
- export * from "./useReclaim.js";
2
+ // export * from "./useReclaim.js";
3
3
  export * from "./useGetStudio.js";
4
4
  export * from "./useZingMutation.js";
5
5
  export * from "./useZingQuery.js";
@@ -1,9 +1,7 @@
1
1
  export declare function useGetStudio(suiAddress?: string): import("@tanstack/react-query").UseQueryResult<{
2
- id: {
3
- id: string;
4
- };
2
+ id: string;
5
3
  owner: string;
6
- period: string[];
4
+ period: [string, string];
7
5
  monthly_subscription_fee: {
8
6
  contents: {
9
7
  key: number;
@@ -11,15 +9,11 @@ export declare function useGetStudio(suiAddress?: string): import("@tanstack/rea
11
9
  }[];
12
10
  };
13
11
  membership: {
14
- id: {
15
- id: string;
16
- };
12
+ id: string;
17
13
  size: string;
18
14
  };
19
15
  works: {
20
- id: {
21
- id: string;
22
- };
16
+ id: string;
23
17
  size: string;
24
18
  };
25
19
  encrypted_file_key: number[] | null;
@@ -1,11 +1 @@
1
- import type { PlatformType } from "../config/common.js";
2
- import type { ReclaimProof } from "../lib/utils/reclaim.js";
3
- import type { SuiGrpcClient } from "@mysten/sui/grpc";
4
- interface CommitProofParams {
5
- suiClient: SuiGrpcClient;
6
- walletAddress: string;
7
- platform: PlatformType;
8
- proof: ReclaimProof;
9
- }
10
- export declare function useCommitProof(): import("@tanstack/react-query").UseMutationResult<import("@mysten/sui/jsonRpc").TransactionEffects | null, Error, CommitProofParams, unknown>;
11
1
  export {};
@@ -1,92 +1,169 @@
1
- import { useSignAndExecuteTransaction } from "./useSignAndExecuteTransaction.js";
2
- import { commitProof, revealAndVerifyProof, } from "../_generated/zing_identity/reclaim.js";
3
- import { useZingClient } from "../components/zing-provider.js";
4
- import { hexToBytes, textToBytes, generateCommitmentHash, generateCommitNonce, } from "../lib/utils/reclaim.js";
5
- import { bcs } from "@mysten/sui/bcs";
6
- import { Transaction } from "@mysten/sui/transactions";
7
- import { useMutation } from "@tanstack/react-query";
8
- import sha3 from "js-sha3";
9
- export function useCommitProof() {
10
- const { mutateAsync: signAndExecuteTransaction } = useSignAndExecuteTransaction();
11
- const zingClient = useZingClient();
12
- const config = zingClient.config;
13
- return useMutation({
14
- mutationFn: async ({ suiClient, walletAddress, platform, proof, }) => {
15
- const nonce = generateCommitNonce(walletAddress, proof.identifier);
16
- const commitmentHash = generateCommitmentHash(proof, nonce);
17
- const identifierHash = hexToBytes(sha3.keccak256(textToBytes(proof.identifier)));
18
- const identityPlatform = config.zing.IDENTITY_PLATFORMS[platform];
19
- const commitProofTransaction = new Transaction();
20
- commitProofTransaction.add(commitProof({
21
- package: config.zing.ZING_IDENTITY_PACKAGE_ADDRESS,
22
- typeArguments: [identityPlatform.PLATFORM_TYPE],
23
- arguments: {
24
- self: commitProofTransaction.sharedObjectRef(identityPlatform.RECLAIM_MANAGER_SHARED_OBJECT_REF),
25
- config: commitProofTransaction.sharedObjectRef(config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF),
26
- commitmentHash: commitProofTransaction.pure(bcs.vector(bcs.u8()).serialize(commitmentHash)),
27
- identifierHash: commitProofTransaction.pure(bcs.vector(bcs.u8()).serialize(identifierHash)),
28
- },
29
- }));
30
- const commitTransactionResponse = await signAndExecuteTransaction({
31
- transaction: commitProofTransaction,
32
- });
33
- if (!commitTransactionResponse)
34
- throw new Error("fail to commit proof");
35
- const settledCommitTransactionResult = await suiClient.waitForTransaction({
36
- digest: commitTransactionResponse.transactionDigest,
37
- include: {
38
- effects: true,
39
- objectTypes: true,
40
- },
41
- });
42
- const commitTransactionObjectChanges = settledCommitTransactionResult.Transaction?.effects.changedObjects ||
43
- [];
44
- if (!commitTransactionObjectChanges)
45
- throw new Error("fail to commit proof");
46
- const commitment = commitTransactionObjectChanges.find((objChange) => {
47
- if (objChange.idOperation !== "Created")
48
- return false;
49
- const type = settledCommitTransactionResult.Transaction?.objectTypes[objChange.objectId];
50
- return type === config.zing.PROOF_COMMITMENT_TYPE;
51
- });
52
- if (!commitment || commitment.idOperation !== "Created")
53
- throw new Error("fail to commit proof");
54
- const revealTransaction = new Transaction();
55
- const [, proofObj] = revealTransaction.add(revealAndVerifyProof({
56
- package: config.zing.ZING_IDENTITY_PACKAGE_ADDRESS,
57
- typeArguments: [identityPlatform.PLATFORM_TYPE],
58
- arguments: {
59
- self: revealTransaction.sharedObjectRef(identityPlatform.RECLAIM_MANAGER_SHARED_OBJECT_REF),
60
- config: revealTransaction.sharedObjectRef(config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF),
61
- commitmentId: revealTransaction.pure.id(commitment.objectId),
62
- provider: revealTransaction.pure.string(proof.claimData.provider),
63
- parameters: revealTransaction.pure.string(proof.claimData.parameters),
64
- context: revealTransaction.pure.string(proof.claimData.context),
65
- identifier: revealTransaction.pure.string(proof.claimData.identifier),
66
- owner: revealTransaction.pure.string(proof.claimData.owner),
67
- epoch: revealTransaction.pure.string(proof.claimData.epoch.toString()),
68
- timestampS: revealTransaction.pure.u64(proof.claimData.timestampS),
69
- signatures: revealTransaction.pure(bcs
70
- .vector(bcs.vector(bcs.u8()))
71
- .serialize(proof.signatures.map((sig) => hexToBytes(sig.substring(2))))),
72
- nonce: revealTransaction.pure(bcs.vector(bcs.u8()).serialize(nonce)),
73
- },
74
- }));
75
- // Call extract parameters customizaed functions; this interface should identical for different platforms
76
- revealTransaction.moveCall({
77
- target: identityPlatform.PLATFORM_UPDATE_PROOF_TARGET,
78
- arguments: [
79
- // IdentityManager
80
- revealTransaction.sharedObjectRef(identityPlatform.IDENTITY_MANAGER_SHARED_OBJECT_REF),
81
- // IdentityConfig
82
- revealTransaction.sharedObjectRef(config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF),
83
- proofObj,
84
- ],
85
- });
86
- const transactionResponse = await signAndExecuteTransaction({
87
- transaction: revealTransaction,
88
- });
89
- return transactionResponse;
90
- },
91
- });
92
- }
1
+ export {};
2
+ // import { useSignAndExecuteTransaction } from "./useSignAndExecuteTransaction.js";
3
+ // import {
4
+ // commitProof,
5
+ // revealAndVerifyProof,
6
+ // } from "../_generated/zing_identity/reclaim.js";
7
+ // import { useZingClient } from "../components/zing-provider.js";
8
+ // import {
9
+ // hexToBytes,
10
+ // textToBytes,
11
+ // generateCommitmentHash,
12
+ // generateCommitNonce,
13
+ // } from "../lib/utils/reclaim.js";
14
+ // import { bcs } from "@mysten/sui/bcs";
15
+ // import { Transaction } from "@mysten/sui/transactions";
16
+ // import { useMutation } from "@tanstack/react-query";
17
+ // import sha3 from "js-sha3";
18
+ // import type { PlatformType } from "../config/common.js";
19
+ // import type { ReclaimProof } from "../lib/utils/reclaim.js";
20
+ // import type { SuiGrpcClient } from "@mysten/sui/grpc";
21
+ //
22
+ // interface CommitProofParams {
23
+ // suiClient: SuiGrpcClient;
24
+ // walletAddress: string;
25
+ // platform: PlatformType;
26
+ // proof: ReclaimProof;
27
+ // }
28
+ //
29
+ // export function useCommitProof() {
30
+ // const { mutateAsync: signAndExecuteTransaction } =
31
+ // useSignAndExecuteTransaction();
32
+ // const zingClient = useZingClient();
33
+ // const config = zingClient.config;
34
+ //
35
+ // return useMutation({
36
+ // mutationFn: async ({
37
+ // suiClient,
38
+ // walletAddress,
39
+ // platform,
40
+ // proof,
41
+ // }: CommitProofParams) => {
42
+ // const nonce = generateCommitNonce(walletAddress, proof.identifier);
43
+ // const commitmentHash = generateCommitmentHash(proof, nonce);
44
+ // const identifierHash = hexToBytes(
45
+ // sha3.keccak256(textToBytes(proof.identifier)),
46
+ // );
47
+ //
48
+ // const identityPlatform = config.zing.IDENTITY_PLATFORMS[platform];
49
+ // const commitProofTransaction = new Transaction();
50
+ //
51
+ // commitProofTransaction.add(
52
+ // commitProof({
53
+ // package: config.zing.ZING_IDENTITY_PACKAGE_ADDRESS,
54
+ // typeArguments: [identityPlatform.PLATFORM_TYPE],
55
+ // arguments: {
56
+ // self: commitProofTransaction.sharedObjectRef(
57
+ // identityPlatform.RECLAIM_MANAGER_SHARED_OBJECT_REF,
58
+ // ),
59
+ // config: commitProofTransaction.sharedObjectRef(
60
+ // config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF,
61
+ // ),
62
+ // commitmentHash: commitProofTransaction.pure(
63
+ // bcs.vector(bcs.u8()).serialize(commitmentHash),
64
+ // ),
65
+ // identifierHash: commitProofTransaction.pure(
66
+ // bcs.vector(bcs.u8()).serialize(identifierHash),
67
+ // ),
68
+ // },
69
+ // }),
70
+ // );
71
+ //
72
+ // const commitTransactionResponse = await signAndExecuteTransaction({
73
+ // transaction: commitProofTransaction,
74
+ // });
75
+ // if (!commitTransactionResponse) throw new Error("fail to commit proof");
76
+ //
77
+ // const settledCommitTransactionResult = await suiClient.waitForTransaction(
78
+ // {
79
+ // digest: commitTransactionResponse.transactionDigest,
80
+ // include: {
81
+ // effects: true,
82
+ // objectTypes: true,
83
+ // },
84
+ // },
85
+ // );
86
+ //
87
+ // const commitTransactionObjectChanges =
88
+ // settledCommitTransactionResult.Transaction?.effects.changedObjects ||
89
+ // [];
90
+ //
91
+ // if (!commitTransactionObjectChanges)
92
+ // throw new Error("fail to commit proof");
93
+ //
94
+ // const commitment = commitTransactionObjectChanges.find((objChange) => {
95
+ // if (objChange.idOperation !== "Created") return false;
96
+ // const type =
97
+ // settledCommitTransactionResult.Transaction?.objectTypes![
98
+ // objChange.objectId
99
+ // ];
100
+ // return type === config.zing.PROOF_COMMITMENT_TYPE;
101
+ // });
102
+ //
103
+ // if (!commitment || commitment.idOperation !== "Created")
104
+ // throw new Error("fail to commit proof");
105
+ //
106
+ // const revealTransaction = new Transaction();
107
+ //
108
+ // const [, proofObj] = revealTransaction.add(
109
+ // revealAndVerifyProof({
110
+ // package: config.zing.ZING_IDENTITY_PACKAGE_ADDRESS,
111
+ // typeArguments: [identityPlatform.PLATFORM_TYPE],
112
+ // arguments: {
113
+ // self: revealTransaction.sharedObjectRef(
114
+ // identityPlatform.RECLAIM_MANAGER_SHARED_OBJECT_REF,
115
+ // ),
116
+ // config: revealTransaction.sharedObjectRef(
117
+ // config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF,
118
+ // ),
119
+ // commitmentId: revealTransaction.pure.id(commitment.objectId),
120
+ // provider: revealTransaction.pure.string(proof.claimData.provider),
121
+ // parameters: revealTransaction.pure.string(
122
+ // proof.claimData.parameters,
123
+ // ),
124
+ // context: revealTransaction.pure.string(proof.claimData.context),
125
+ // identifier: revealTransaction.pure.string(
126
+ // proof.claimData.identifier,
127
+ // ),
128
+ // owner: revealTransaction.pure.string(proof.claimData.owner),
129
+ // epoch: revealTransaction.pure.string(
130
+ // proof.claimData.epoch.toString(),
131
+ // ),
132
+ // timestampS: revealTransaction.pure.u64(proof.claimData.timestampS),
133
+ // signatures: revealTransaction.pure(
134
+ // bcs
135
+ // .vector(bcs.vector(bcs.u8()))
136
+ // .serialize(
137
+ // proof.signatures.map((sig) => hexToBytes(sig.substring(2))),
138
+ // ),
139
+ // ),
140
+ // nonce: revealTransaction.pure(
141
+ // bcs.vector(bcs.u8()).serialize(nonce),
142
+ // ),
143
+ // },
144
+ // }),
145
+ // );
146
+ //
147
+ // // Call extract parameters customizaed functions; this interface should identical for different platforms
148
+ // revealTransaction.moveCall({
149
+ // target: identityPlatform.PLATFORM_UPDATE_PROOF_TARGET,
150
+ // arguments: [
151
+ // // IdentityManager
152
+ // revealTransaction.sharedObjectRef(
153
+ // identityPlatform.IDENTITY_MANAGER_SHARED_OBJECT_REF,
154
+ // ),
155
+ // // IdentityConfig
156
+ // revealTransaction.sharedObjectRef(
157
+ // config.zing.ZING_IDENTITY_CONFIG_SHARED_OBJECT_REF,
158
+ // ),
159
+ // proofObj,
160
+ // ],
161
+ // });
162
+ //
163
+ // const transactionResponse = await signAndExecuteTransaction({
164
+ // transaction: revealTransaction,
165
+ // });
166
+ // return transactionResponse;
167
+ // },
168
+ // });
169
+ // }
@@ -1,7 +1,9 @@
1
1
  import { useWalletStore } from "../components/wallet-provider.js";
2
2
  import { signAndExecuteGasPoolTransaction } from "../mutations/signer.js";
3
+ import { SUI_DECIMALS } from "@mysten/sui/utils";
3
4
  import { useMutation } from "@tanstack/react-query";
4
5
  const GAS_POOL_OWNER = "0x3198c7da350bf15c48fc598e5b03a0b6e13356801c71b4d1a18b92b09966e5da";
6
+ const GAS_BUDGET = 0.2 * 10 ** SUI_DECIMALS;
5
7
  export const useSignAndExecuteTransaction = () => {
6
8
  const getSigner = useWalletStore((s) => s.getSigner);
7
9
  const suiClient = useWalletStore((s) => s.suiClient);
@@ -18,6 +20,7 @@ export const useSignAndExecuteTransaction = () => {
18
20
  // for Debug usage
19
21
  transaction.setSender(signer.suiAddress);
20
22
  transaction.setGasOwner(GAS_POOL_OWNER);
23
+ transaction.setGasBudget(GAS_BUDGET);
21
24
  const dryRunResponse = await suiClient.simulateTransaction({
22
25
  transaction: await transaction.build({ client: suiClient }),
23
26
  include: {
@@ -26,7 +29,7 @@ export const useSignAndExecuteTransaction = () => {
26
29
  });
27
30
  console.log({ dryRunResponse });
28
31
  if (dryRunResponse.Transaction?.effects.status.success) {
29
- const effects = await signAndExecuteGasPoolTransaction(saltServerUrl, signer, suiClient, transaction);
32
+ const effects = await signAndExecuteGasPoolTransaction(saltServerUrl, signer, suiClient, transaction, GAS_BUDGET);
30
33
  // TODO: handle error message by code
31
34
  if (!effects)
32
35
  throw new Error("fail to get Transaction Effects");
@@ -13,26 +13,20 @@ declare const zingInfiniteQueryMethodMap: (zingClient: ZingClient) => {
13
13
  }>;
14
14
  getWorks: (owner: string, workType?: import("../index.js").WorkType, cursor?: string, limit?: number) => Promise<{
15
15
  data: {
16
- id: {
17
- id: string;
18
- };
16
+ id: string;
19
17
  owner: string;
20
18
  deleted: boolean;
21
19
  created_at: string;
22
20
  subscription_level: number | null;
23
21
  blobs: {
24
- id: {
25
- id: string;
26
- };
22
+ id: string;
27
23
  registered_epoch: number;
28
24
  blob_id: string;
29
25
  size: string;
30
26
  encoding_type: number;
31
27
  certified_epoch: number | null;
32
28
  storage: {
33
- id: {
34
- id: string;
35
- };
29
+ id: string;
36
30
  start_epoch: number;
37
31
  end_epoch: number;
38
32
  storage_size: string;
@@ -12,6 +12,7 @@ export function useZingInfiniteQuery(input, options = {}, memo = []) {
12
12
  const methodMap = zingInfiniteQueryMethodMap(zingClient);
13
13
  const { method, params, limit = 20 } = input;
14
14
  return useInfiniteQuery({
15
+ // eslint-disable-next-line @tanstack/query/exhaustive-deps
15
16
  queryKey: [zingClient.network, method, memo],
16
17
  queryFn: async ({ pageParam }) => {
17
18
  const fn = methodMap[method];
@@ -1,17 +1,10 @@
1
1
  import type { ZingClient } from "../client/index.js";
2
2
  import type { UseQueryOptions } from "@tanstack/react-query";
3
3
  declare const zingQueryMethodMap: (zingClient: ZingClient) => {
4
- getIdentifierByAddress: (platform: import("../index.js").PlatformType, address: string) => Promise<string | null>;
5
- getIdentifierInfoByIdentifier: (platform: import("../index.js").PlatformType, identifier: string) => Promise<{
6
- owner: string;
7
- updated_at: string;
8
- } | null>;
9
4
  getStudio: (owner: string) => Promise<{
10
- id: {
11
- id: string;
12
- };
5
+ id: string;
13
6
  owner: string;
14
- period: string[];
7
+ period: [string, string];
15
8
  monthly_subscription_fee: {
16
9
  contents: {
17
10
  key: number;
@@ -19,15 +12,11 @@ declare const zingQueryMethodMap: (zingClient: ZingClient) => {
19
12
  }[];
20
13
  };
21
14
  membership: {
22
- id: {
23
- id: string;
24
- };
15
+ id: string;
25
16
  size: string;
26
17
  };
27
18
  works: {
28
- id: {
29
- id: string;
30
- };
19
+ id: string;
31
20
  size: string;
32
21
  };
33
22
  encrypted_file_key: number[] | null;
@@ -39,9 +28,7 @@ declare const zingQueryMethodMap: (zingClient: ZingClient) => {
39
28
  };
40
29
  } | null>;
41
30
  getStorageSpace: (owner: string) => Promise<{
42
- id: {
43
- id: string;
44
- };
31
+ id: string;
45
32
  owner: string;
46
33
  tier: number | null;
47
34
  storage_used: {
@@ -57,9 +44,7 @@ declare const zingQueryMethodMap: (zingClient: ZingClient) => {
57
44
  };
58
45
  } | null>;
59
46
  getStorageTreasury: () => Promise<{
60
- id: {
61
- id: string;
62
- };
47
+ id: string;
63
48
  tier_plan: {
64
49
  contents: {
65
50
  key: number;
@@ -74,9 +59,7 @@ declare const zingQueryMethodMap: (zingClient: ZingClient) => {
74
59
  contents: {
75
60
  key: number;
76
61
  value: {
77
- id: {
78
- id: string;
79
- };
62
+ id: string;
80
63
  start_epoch: number;
81
64
  end_epoch: number;
82
65
  storage_size: string;
@@ -90,9 +73,7 @@ declare const zingQueryMethodMap: (zingClient: ZingClient) => {
90
73
  }[];
91
74
  };
92
75
  wal_treasury: {
93
- id: {
94
- id: string;
95
- };
76
+ id: string;
96
77
  balance: {
97
78
  value: string;
98
79
  };
@@ -4,8 +4,6 @@ import { useQueries } from "@tanstack/react-query";
4
4
  // Method map (shared with useZingQuery)
5
5
  // ---------------------------------------------
6
6
  const zingQueryMethodMap = (zingClient) => ({
7
- getIdentifierByAddress: zingClient.getIdentifierByAddress.bind(zingClient),
8
- getIdentifierInfoByIdentifier: zingClient.getIdentifierInfoByIdentifier.bind(zingClient),
9
7
  getStudio: zingClient.getStudio.bind(zingClient),
10
8
  getStorageSpace: zingClient.getStorageSpace.bind(zingClient),
11
9
  getStorageTreasury: zingClient.getStorageTreasury.bind(zingClient),
@@ -21,6 +19,7 @@ export function useZingQueries(options) {
21
19
  const queryConfigs = options.queries.map((queryConfig) => {
22
20
  const { method, params, ...queryOptions } = queryConfig;
23
21
  return {
22
+ // eslint-disable-next-line @tanstack/query/exhaustive-deps
24
23
  queryKey: [zingClient.network, method, params],
25
24
  queryFn: async () => {
26
25
  const fn = methodMap[method];