@mysten/sui 1.35.0 → 1.36.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 (88) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/bcs/bcs.d.ts +5 -10
  3. package/dist/cjs/bcs/bcs.js +2 -4
  4. package/dist/cjs/bcs/bcs.js.map +2 -2
  5. package/dist/cjs/bcs/effects.d.ts +30 -60
  6. package/dist/cjs/bcs/index.d.ts +35 -70
  7. package/dist/cjs/client/types/generated.d.ts +22 -14
  8. package/dist/cjs/client/types/generated.js.map +1 -1
  9. package/dist/cjs/client/types/params.d.ts +1 -1
  10. package/dist/cjs/client/types/params.js.map +1 -1
  11. package/dist/cjs/experimental/client.d.ts +1 -1
  12. package/dist/cjs/experimental/client.js +6 -2
  13. package/dist/cjs/experimental/client.js.map +2 -2
  14. package/dist/cjs/experimental/core.d.ts +1 -0
  15. package/dist/cjs/experimental/core.js +6 -2
  16. package/dist/cjs/experimental/core.js.map +2 -2
  17. package/dist/cjs/experimental/transports/graphql.js +8 -2
  18. package/dist/cjs/experimental/transports/graphql.js.map +2 -2
  19. package/dist/cjs/experimental/transports/json-rpc-resolver.js +1 -1
  20. package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +2 -2
  21. package/dist/cjs/experimental/transports/jsonRPC.js +5 -8
  22. package/dist/cjs/experimental/transports/jsonRPC.js.map +2 -2
  23. package/dist/cjs/experimental/types.d.ts +8 -11
  24. package/dist/cjs/experimental/types.js.map +1 -1
  25. package/dist/cjs/graphql/generated/latest/tada-env.d.ts +33 -32
  26. package/dist/cjs/graphql/generated/latest/tada-env.js +38 -39
  27. package/dist/cjs/graphql/generated/latest/tada-env.js.map +2 -2
  28. package/dist/cjs/graphql/generated/queries.d.ts +36 -34
  29. package/dist/cjs/graphql/generated/queries.js +24 -30
  30. package/dist/cjs/graphql/generated/queries.js.map +2 -2
  31. package/dist/cjs/transactions/Transaction.d.ts +2 -2
  32. package/dist/cjs/transactions/TransactionData.d.ts +2 -2
  33. package/dist/cjs/version.d.ts +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/cjs/version.js.map +1 -1
  36. package/dist/cjs/zklogin/publickey.d.ts +1 -1
  37. package/dist/cjs/zklogin/publickey.js.map +2 -2
  38. package/dist/esm/bcs/bcs.d.ts +5 -10
  39. package/dist/esm/bcs/bcs.js +2 -4
  40. package/dist/esm/bcs/bcs.js.map +2 -2
  41. package/dist/esm/bcs/effects.d.ts +30 -60
  42. package/dist/esm/bcs/index.d.ts +35 -70
  43. package/dist/esm/client/types/generated.d.ts +22 -14
  44. package/dist/esm/client/types/params.d.ts +1 -1
  45. package/dist/esm/experimental/client.d.ts +1 -1
  46. package/dist/esm/experimental/client.js +6 -2
  47. package/dist/esm/experimental/client.js.map +2 -2
  48. package/dist/esm/experimental/core.d.ts +1 -0
  49. package/dist/esm/experimental/core.js +6 -2
  50. package/dist/esm/experimental/core.js.map +2 -2
  51. package/dist/esm/experimental/transports/graphql.js +8 -2
  52. package/dist/esm/experimental/transports/graphql.js.map +2 -2
  53. package/dist/esm/experimental/transports/json-rpc-resolver.js +1 -1
  54. package/dist/esm/experimental/transports/json-rpc-resolver.js.map +2 -2
  55. package/dist/esm/experimental/transports/jsonRPC.js +5 -8
  56. package/dist/esm/experimental/transports/jsonRPC.js.map +2 -2
  57. package/dist/esm/experimental/types.d.ts +8 -11
  58. package/dist/esm/graphql/generated/latest/tada-env.d.ts +33 -32
  59. package/dist/esm/graphql/generated/latest/tada-env.js +38 -39
  60. package/dist/esm/graphql/generated/latest/tada-env.js.map +2 -2
  61. package/dist/esm/graphql/generated/queries.d.ts +36 -34
  62. package/dist/esm/graphql/generated/queries.js +24 -30
  63. package/dist/esm/graphql/generated/queries.js.map +2 -2
  64. package/dist/esm/transactions/Transaction.d.ts +2 -2
  65. package/dist/esm/transactions/TransactionData.d.ts +2 -2
  66. package/dist/esm/version.d.ts +1 -1
  67. package/dist/esm/version.js +1 -1
  68. package/dist/esm/version.js.map +1 -1
  69. package/dist/esm/zklogin/publickey.d.ts +1 -1
  70. package/dist/esm/zklogin/publickey.js.map +2 -2
  71. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +3 -3
  74. package/src/bcs/bcs.ts +2 -4
  75. package/src/client/types/generated.ts +23 -13
  76. package/src/client/types/params.ts +1 -2
  77. package/src/experimental/client.ts +7 -2
  78. package/src/experimental/core.ts +12 -2
  79. package/src/experimental/transports/graphql.ts +8 -2
  80. package/src/experimental/transports/json-rpc-resolver.ts +6 -2
  81. package/src/experimental/transports/jsonRPC.ts +5 -8
  82. package/src/experimental/types.ts +13 -13
  83. package/src/graphql/generated/latest/schema.graphql +15 -18
  84. package/src/graphql/generated/latest/tada-env.ts +38 -39
  85. package/src/graphql/generated/queries.ts +42 -53
  86. package/src/graphql/queries/objects.graphql +4 -5
  87. package/src/version.ts +1 -1
  88. package/src/zklogin/publickey.ts +1 -3
@@ -296,12 +296,12 @@ export declare class Transaction {
296
296
  packageId: string;
297
297
  })[];
298
298
  gasConfig: {
299
+ owner?: string | undefined;
299
300
  payment?: {
300
301
  version: string | number | bigint;
301
302
  objectId: string;
302
303
  digest: string;
303
304
  }[] | undefined;
304
- owner?: string | undefined;
305
305
  price?: string | number | bigint | undefined;
306
306
  budget?: string | number | bigint | undefined;
307
307
  };
@@ -582,12 +582,12 @@ export declare class Transaction {
582
582
  };
583
583
  }, "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade" | "$Intent">[];
584
584
  gasData: {
585
+ owner: string | null;
585
586
  payment: {
586
587
  version: string | number;
587
588
  objectId: string;
588
589
  digest: string;
589
590
  }[] | null;
590
- owner: string | null;
591
591
  price: string | number | null;
592
592
  budget: string | number | null;
593
593
  };
@@ -15,22 +15,22 @@ export declare class TransactionDataBuilder implements TransactionData {
15
15
  */
16
16
  static getDigestFromBytes(bytes: Uint8Array): string;
17
17
  get gasConfig(): {
18
+ owner: string | null;
18
19
  payment: {
19
20
  version: string | number;
20
21
  objectId: string;
21
22
  digest: string;
22
23
  }[] | null;
23
- owner: string | null;
24
24
  price: string | number | null;
25
25
  budget: string | number | null;
26
26
  };
27
27
  set gasConfig(value: {
28
+ owner: string | null;
28
29
  payment: {
29
30
  version: string | number;
30
31
  objectId: string;
31
32
  digest: string;
32
33
  }[] | null;
33
- owner: string | null;
34
34
  price: string | number | null;
35
35
  budget: string | number | null;
36
36
  });
@@ -1,2 +1,2 @@
1
- export declare const PACKAGE_VERSION = "1.35.0";
1
+ export declare const PACKAGE_VERSION = "1.36.0";
2
2
  export declare const TARGETED_RPC_VERSION = "1.52.0";
@@ -22,6 +22,6 @@ __export(version_exports, {
22
22
  TARGETED_RPC_VERSION: () => TARGETED_RPC_VERSION
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- const PACKAGE_VERSION = "1.35.0";
25
+ const PACKAGE_VERSION = "1.36.0";
26
26
  const TARGETED_RPC_VERSION = "1.52.0";
27
27
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/version.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.35.0';\nexport const TARGETED_RPC_VERSION = '1.52.0';\n"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.36.0';\nexport const TARGETED_RPC_VERSION = '1.52.0';\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,kBAAkB;AACxB,MAAM,uBAAuB;",
6
6
  "names": []
7
7
  }
@@ -4,7 +4,7 @@ import type { ZkLoginSignatureInputs } from './bcs.js';
4
4
  import type { ClientWithExtensions, Experimental_SuiClientTypes } from '../experimental/types.js';
5
5
  export interface ZkLoginCompatibleClient extends ClientWithExtensions<{
6
6
  core: {
7
- verifyZkLoginSignature: NonNullable<Experimental_SuiClientTypes.TransportMethods['verifyZkLoginSignature']>;
7
+ verifyZkLoginSignature: Experimental_SuiClientTypes.TransportMethods['verifyZkLoginSignature'];
8
8
  };
9
9
  }> {
10
10
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/zklogin/publickey.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64, toHex } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { PublicKey } from '../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../cryptography/signature-scheme.js';\nimport { SuiGraphQLClient } from '../graphql/client.js';\nimport { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport type { ZkLoginSignatureInputs } from './bcs.js';\nimport { extractClaimValue } from './jwt-utils.js';\nimport { parseZkLoginSignature } from './signature.js';\nimport { normalizeZkLoginIssuer, toBigEndianBytes, toPaddedBigEndianBytes } from './utils.js';\nimport type { ClientWithExtensions, Experimental_SuiClientTypes } from '../experimental/types.js';\n\nexport interface ZkLoginCompatibleClient\n\textends ClientWithExtensions<{\n\t\tcore: {\n\t\t\tverifyZkLoginSignature: NonNullable<\n\t\t\t\tExperimental_SuiClientTypes.TransportMethods['verifyZkLoginSignature']\n\t\t\t>;\n\t\t};\n\t}> {}\n\n/**\n * A zkLogin public identifier\n */\nexport class ZkLoginPublicIdentifier extends PublicKey {\n\t#data: Uint8Array;\n\t#client?: ZkLoginCompatibleClient;\n\t#legacyAddress: boolean;\n\n\t/**\n\t * Create a new ZkLoginPublicIdentifier object\n\t * @param value zkLogin public identifier as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData, { client }: { client?: ZkLoginCompatibleClient } = {}) {\n\t\tsuper();\n\n\t\tthis.#client = client;\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.#data = fromBase64(value);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.#data = value;\n\t\t} else {\n\t\t\tthis.#data = Uint8Array.from(value);\n\t\t}\n\t\tthis.#legacyAddress = this.#data.length !== this.#data[0] + 1 + 32;\n\n\t\tif (this.#legacyAddress) {\n\t\t\tthis.#data = normalizeZkLoginPublicKeyBytes(this.#data);\n\t\t}\n\t}\n\n\tstatic fromBytes(\n\t\tbytes: Uint8Array,\n\t\t{\n\t\t\tclient,\n\t\t\taddress,\n\t\t\tlegacyAddress,\n\t\t}: { client?: ZkLoginCompatibleClient; address?: string; legacyAddress?: boolean } = {},\n\t) {\n\t\tlet publicKey: ZkLoginPublicIdentifier;\n\n\t\tif (legacyAddress === true) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, true), {\n\t\t\t\tclient,\n\t\t\t});\n\t\t} else if (legacyAddress === false) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, false), {\n\t\t\t\tclient,\n\t\t\t});\n\t\t} else if (address) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, false), {\n\t\t\t\tclient,\n\t\t\t});\n\n\t\t\tif (publicKey.toSuiAddress() !== address) {\n\t\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, true), {\n\t\t\t\t\tclient,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(bytes, {\n\t\t\t\tclient,\n\t\t\t});\n\t\t}\n\n\t\tif (address && publicKey.toSuiAddress() !== address) {\n\t\t\tthrow new Error('Public key bytes do not match the provided address');\n\t\t}\n\n\t\treturn publicKey;\n\t}\n\n\tstatic fromProof(address: string, proof: ZkLoginSignatureInputs) {\n\t\tconst { issBase64Details, addressSeed } = proof;\n\t\tconst iss = extractClaimValue<string>(issBase64Details, 'iss');\n\n\t\tconst legacyPublicKey = toZkLoginPublicIdentifier(BigInt(addressSeed), iss, {\n\t\t\tlegacyAddress: true,\n\t\t});\n\n\t\tif (legacyPublicKey.toSuiAddress() === address) {\n\t\t\treturn legacyPublicKey;\n\t\t}\n\n\t\tconst publicKey = toZkLoginPublicIdentifier(BigInt(addressSeed), iss, {\n\t\t\tlegacyAddress: false,\n\t\t});\n\n\t\tif (publicKey.toSuiAddress() !== address) {\n\t\t\tthrow new Error('Proof does not match address');\n\t\t}\n\n\t\treturn publicKey;\n\t}\n\n\t/**\n\t * Checks if two zkLogin public identifiers are equal\n\t */\n\toverride equals(publicKey: ZkLoginPublicIdentifier): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\toverride toSuiAddress(): string {\n\t\tif (this.#legacyAddress) {\n\t\t\treturn this.#toLegacyAddress();\n\t\t}\n\n\t\treturn super.toSuiAddress();\n\t}\n\n\t#toLegacyAddress() {\n\t\tconst legacyBytes = normalizeZkLoginPublicKeyBytes(this.#data, true);\n\t\tconst addressBytes = new Uint8Array(legacyBytes.length + 1);\n\t\taddressBytes[0] = this.flag();\n\t\taddressBytes.set(legacyBytes, 1);\n\t\treturn normalizeSuiAddress(\n\t\t\tbytesToHex(blake2b(addressBytes, { dkLen: 32 })).slice(0, SUI_ADDRESS_LENGTH * 2),\n\t\t);\n\t}\n\n\t/**\n\t * Return the byte array representation of the zkLogin public identifier\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.#data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this ZkLogin public identifier\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['ZkLogin'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(_message: Uint8Array, _signature: Uint8Array | string): Promise<boolean> {\n\t\tthrow Error('does not support');\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided PersonalMessage\n\t */\n\tverifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\tconst parsedSignature = parseSerializedZkLoginSignature(signature);\n\t\tconst address = new ZkLoginPublicIdentifier(parsedSignature.publicKey).toSuiAddress();\n\n\t\treturn graphqlVerifyZkLoginSignature({\n\t\t\taddress: address,\n\t\t\tbytes: toBase64(message),\n\t\t\tsignature: parsedSignature.serializedSignature,\n\t\t\tintentScope: 'PersonalMessage',\n\t\t\tclient: this.#client,\n\t\t});\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided Transaction\n\t */\n\tverifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\tconst parsedSignature = parseSerializedZkLoginSignature(signature);\n\t\tconst address = new ZkLoginPublicIdentifier(parsedSignature.publicKey).toSuiAddress();\n\t\treturn graphqlVerifyZkLoginSignature({\n\t\t\taddress: address,\n\t\t\tbytes: toBase64(transaction),\n\t\t\tsignature: parsedSignature.serializedSignature,\n\t\t\tintentScope: 'TransactionData',\n\t\t\tclient: this.#client,\n\t\t});\n\t}\n\n\t/**\n\t * Verifies that the public key is associated with the provided address\n\t */\n\toverride verifyAddress(address: string): boolean {\n\t\treturn address === super.toSuiAddress() || address === this.#toLegacyAddress();\n\t}\n}\n\n// Derive the public identifier for zklogin based on address seed and iss.\nexport function toZkLoginPublicIdentifier(\n\taddressSeed: bigint,\n\tiss: string,\n\toptions?: { client?: ZkLoginCompatibleClient; legacyAddress?: boolean },\n): ZkLoginPublicIdentifier {\n\t// Consists of iss_bytes_len || iss_bytes || padded_32_byte_address_seed.\n\tconst addressSeedBytesBigEndian = options?.legacyAddress\n\t\t? toBigEndianBytes(addressSeed, 32)\n\t\t: toPaddedBigEndianBytes(addressSeed, 32);\n\n\tconst issBytes = new TextEncoder().encode(normalizeZkLoginIssuer(iss));\n\tconst tmp = new Uint8Array(1 + issBytes.length + addressSeedBytesBigEndian.length);\n\ttmp.set([issBytes.length], 0);\n\ttmp.set(issBytes, 1);\n\ttmp.set(addressSeedBytesBigEndian, 1 + issBytes.length);\n\treturn new ZkLoginPublicIdentifier(tmp, options);\n}\n\nfunction normalizeZkLoginPublicKeyBytes(bytes: Uint8Array, legacyAddress = false) {\n\tconst issByteLength = bytes[0] + 1;\n\tconst addressSeed = BigInt(`0x${toHex(bytes.slice(issByteLength))}`);\n\tconst seedBytes = legacyAddress\n\t\t? toBigEndianBytes(addressSeed, 32)\n\t\t: toPaddedBigEndianBytes(addressSeed, 32);\n\tconst data = new Uint8Array(issByteLength + seedBytes.length);\n\tdata.set(bytes.slice(0, issByteLength), 0);\n\tdata.set(seedBytes, issByteLength);\n\treturn data;\n}\n\nasync function graphqlVerifyZkLoginSignature({\n\taddress,\n\tbytes,\n\tsignature,\n\tintentScope,\n\tclient = new SuiGraphQLClient({\n\t\turl: 'https://sui-mainnet.mystenlabs.com/graphql',\n\t}),\n}: {\n\taddress: string;\n\tbytes: string;\n\tsignature: string;\n\tintentScope: 'PersonalMessage' | 'TransactionData';\n\tclient?: ZkLoginCompatibleClient;\n}) {\n\tconst resp = await client.core.verifyZkLoginSignature({\n\t\tbytes,\n\t\tsignature,\n\t\tintentScope,\n\t\tauthor: address,\n\t});\n\n\treturn resp.success === true && resp.errors.length === 0;\n}\n\nexport function parseSerializedZkLoginSignature(signature: Uint8Array | string) {\n\tconst bytes = typeof signature === 'string' ? fromBase64(signature) : signature;\n\n\tif (bytes[0] !== SIGNATURE_SCHEME_TO_FLAG.ZkLogin) {\n\t\tthrow new Error('Invalid signature scheme');\n\t}\n\n\tconst signatureBytes = bytes.slice(1);\n\tconst { inputs, maxEpoch, userSignature } = parseZkLoginSignature(signatureBytes);\n\tconst { issBase64Details, addressSeed } = inputs;\n\tconst iss = extractClaimValue<string>(issBase64Details, 'iss');\n\tconst publicIdentifer = toZkLoginPublicIdentifier(BigInt(addressSeed), iss);\n\treturn {\n\t\tserializedSignature: toBase64(bytes),\n\t\tsignatureScheme: 'ZkLogin' as const,\n\t\tzkLogin: {\n\t\t\tinputs,\n\t\t\tmaxEpoch,\n\t\t\tuserSignature,\n\t\t\tiss,\n\t\t\taddressSeed: BigInt(addressSeed),\n\t\t},\n\t\tsignature: bytes,\n\t\tpublicKey: publicIdentifer.toRawBytes(),\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64, toHex } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { PublicKey } from '../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../cryptography/signature-scheme.js';\nimport { SuiGraphQLClient } from '../graphql/client.js';\nimport { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport type { ZkLoginSignatureInputs } from './bcs.js';\nimport { extractClaimValue } from './jwt-utils.js';\nimport { parseZkLoginSignature } from './signature.js';\nimport { normalizeZkLoginIssuer, toBigEndianBytes, toPaddedBigEndianBytes } from './utils.js';\nimport type { ClientWithExtensions, Experimental_SuiClientTypes } from '../experimental/types.js';\n\nexport interface ZkLoginCompatibleClient\n\textends ClientWithExtensions<{\n\t\tcore: {\n\t\t\tverifyZkLoginSignature: Experimental_SuiClientTypes.TransportMethods['verifyZkLoginSignature'];\n\t\t};\n\t}> {}\n\n/**\n * A zkLogin public identifier\n */\nexport class ZkLoginPublicIdentifier extends PublicKey {\n\t#data: Uint8Array;\n\t#client?: ZkLoginCompatibleClient;\n\t#legacyAddress: boolean;\n\n\t/**\n\t * Create a new ZkLoginPublicIdentifier object\n\t * @param value zkLogin public identifier as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData, { client }: { client?: ZkLoginCompatibleClient } = {}) {\n\t\tsuper();\n\n\t\tthis.#client = client;\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.#data = fromBase64(value);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.#data = value;\n\t\t} else {\n\t\t\tthis.#data = Uint8Array.from(value);\n\t\t}\n\t\tthis.#legacyAddress = this.#data.length !== this.#data[0] + 1 + 32;\n\n\t\tif (this.#legacyAddress) {\n\t\t\tthis.#data = normalizeZkLoginPublicKeyBytes(this.#data);\n\t\t}\n\t}\n\n\tstatic fromBytes(\n\t\tbytes: Uint8Array,\n\t\t{\n\t\t\tclient,\n\t\t\taddress,\n\t\t\tlegacyAddress,\n\t\t}: { client?: ZkLoginCompatibleClient; address?: string; legacyAddress?: boolean } = {},\n\t) {\n\t\tlet publicKey: ZkLoginPublicIdentifier;\n\n\t\tif (legacyAddress === true) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, true), {\n\t\t\t\tclient,\n\t\t\t});\n\t\t} else if (legacyAddress === false) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, false), {\n\t\t\t\tclient,\n\t\t\t});\n\t\t} else if (address) {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, false), {\n\t\t\t\tclient,\n\t\t\t});\n\n\t\t\tif (publicKey.toSuiAddress() !== address) {\n\t\t\t\tpublicKey = new ZkLoginPublicIdentifier(normalizeZkLoginPublicKeyBytes(bytes, true), {\n\t\t\t\t\tclient,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tpublicKey = new ZkLoginPublicIdentifier(bytes, {\n\t\t\t\tclient,\n\t\t\t});\n\t\t}\n\n\t\tif (address && publicKey.toSuiAddress() !== address) {\n\t\t\tthrow new Error('Public key bytes do not match the provided address');\n\t\t}\n\n\t\treturn publicKey;\n\t}\n\n\tstatic fromProof(address: string, proof: ZkLoginSignatureInputs) {\n\t\tconst { issBase64Details, addressSeed } = proof;\n\t\tconst iss = extractClaimValue<string>(issBase64Details, 'iss');\n\n\t\tconst legacyPublicKey = toZkLoginPublicIdentifier(BigInt(addressSeed), iss, {\n\t\t\tlegacyAddress: true,\n\t\t});\n\n\t\tif (legacyPublicKey.toSuiAddress() === address) {\n\t\t\treturn legacyPublicKey;\n\t\t}\n\n\t\tconst publicKey = toZkLoginPublicIdentifier(BigInt(addressSeed), iss, {\n\t\t\tlegacyAddress: false,\n\t\t});\n\n\t\tif (publicKey.toSuiAddress() !== address) {\n\t\t\tthrow new Error('Proof does not match address');\n\t\t}\n\n\t\treturn publicKey;\n\t}\n\n\t/**\n\t * Checks if two zkLogin public identifiers are equal\n\t */\n\toverride equals(publicKey: ZkLoginPublicIdentifier): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\toverride toSuiAddress(): string {\n\t\tif (this.#legacyAddress) {\n\t\t\treturn this.#toLegacyAddress();\n\t\t}\n\n\t\treturn super.toSuiAddress();\n\t}\n\n\t#toLegacyAddress() {\n\t\tconst legacyBytes = normalizeZkLoginPublicKeyBytes(this.#data, true);\n\t\tconst addressBytes = new Uint8Array(legacyBytes.length + 1);\n\t\taddressBytes[0] = this.flag();\n\t\taddressBytes.set(legacyBytes, 1);\n\t\treturn normalizeSuiAddress(\n\t\t\tbytesToHex(blake2b(addressBytes, { dkLen: 32 })).slice(0, SUI_ADDRESS_LENGTH * 2),\n\t\t);\n\t}\n\n\t/**\n\t * Return the byte array representation of the zkLogin public identifier\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.#data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this ZkLogin public identifier\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['ZkLogin'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(_message: Uint8Array, _signature: Uint8Array | string): Promise<boolean> {\n\t\tthrow Error('does not support');\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided PersonalMessage\n\t */\n\tverifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\tconst parsedSignature = parseSerializedZkLoginSignature(signature);\n\t\tconst address = new ZkLoginPublicIdentifier(parsedSignature.publicKey).toSuiAddress();\n\n\t\treturn graphqlVerifyZkLoginSignature({\n\t\t\taddress: address,\n\t\t\tbytes: toBase64(message),\n\t\t\tsignature: parsedSignature.serializedSignature,\n\t\t\tintentScope: 'PersonalMessage',\n\t\t\tclient: this.#client,\n\t\t});\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided Transaction\n\t */\n\tverifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\tconst parsedSignature = parseSerializedZkLoginSignature(signature);\n\t\tconst address = new ZkLoginPublicIdentifier(parsedSignature.publicKey).toSuiAddress();\n\t\treturn graphqlVerifyZkLoginSignature({\n\t\t\taddress: address,\n\t\t\tbytes: toBase64(transaction),\n\t\t\tsignature: parsedSignature.serializedSignature,\n\t\t\tintentScope: 'TransactionData',\n\t\t\tclient: this.#client,\n\t\t});\n\t}\n\n\t/**\n\t * Verifies that the public key is associated with the provided address\n\t */\n\toverride verifyAddress(address: string): boolean {\n\t\treturn address === super.toSuiAddress() || address === this.#toLegacyAddress();\n\t}\n}\n\n// Derive the public identifier for zklogin based on address seed and iss.\nexport function toZkLoginPublicIdentifier(\n\taddressSeed: bigint,\n\tiss: string,\n\toptions?: { client?: ZkLoginCompatibleClient; legacyAddress?: boolean },\n): ZkLoginPublicIdentifier {\n\t// Consists of iss_bytes_len || iss_bytes || padded_32_byte_address_seed.\n\tconst addressSeedBytesBigEndian = options?.legacyAddress\n\t\t? toBigEndianBytes(addressSeed, 32)\n\t\t: toPaddedBigEndianBytes(addressSeed, 32);\n\n\tconst issBytes = new TextEncoder().encode(normalizeZkLoginIssuer(iss));\n\tconst tmp = new Uint8Array(1 + issBytes.length + addressSeedBytesBigEndian.length);\n\ttmp.set([issBytes.length], 0);\n\ttmp.set(issBytes, 1);\n\ttmp.set(addressSeedBytesBigEndian, 1 + issBytes.length);\n\treturn new ZkLoginPublicIdentifier(tmp, options);\n}\n\nfunction normalizeZkLoginPublicKeyBytes(bytes: Uint8Array, legacyAddress = false) {\n\tconst issByteLength = bytes[0] + 1;\n\tconst addressSeed = BigInt(`0x${toHex(bytes.slice(issByteLength))}`);\n\tconst seedBytes = legacyAddress\n\t\t? toBigEndianBytes(addressSeed, 32)\n\t\t: toPaddedBigEndianBytes(addressSeed, 32);\n\tconst data = new Uint8Array(issByteLength + seedBytes.length);\n\tdata.set(bytes.slice(0, issByteLength), 0);\n\tdata.set(seedBytes, issByteLength);\n\treturn data;\n}\n\nasync function graphqlVerifyZkLoginSignature({\n\taddress,\n\tbytes,\n\tsignature,\n\tintentScope,\n\tclient = new SuiGraphQLClient({\n\t\turl: 'https://sui-mainnet.mystenlabs.com/graphql',\n\t}),\n}: {\n\taddress: string;\n\tbytes: string;\n\tsignature: string;\n\tintentScope: 'PersonalMessage' | 'TransactionData';\n\tclient?: ZkLoginCompatibleClient;\n}) {\n\tconst resp = await client.core.verifyZkLoginSignature({\n\t\tbytes,\n\t\tsignature,\n\t\tintentScope,\n\t\tauthor: address,\n\t});\n\n\treturn resp.success === true && resp.errors.length === 0;\n}\n\nexport function parseSerializedZkLoginSignature(signature: Uint8Array | string) {\n\tconst bytes = typeof signature === 'string' ? fromBase64(signature) : signature;\n\n\tif (bytes[0] !== SIGNATURE_SCHEME_TO_FLAG.ZkLogin) {\n\t\tthrow new Error('Invalid signature scheme');\n\t}\n\n\tconst signatureBytes = bytes.slice(1);\n\tconst { inputs, maxEpoch, userSignature } = parseZkLoginSignature(signatureBytes);\n\tconst { issBase64Details, addressSeed } = inputs;\n\tconst iss = extractClaimValue<string>(issBase64Details, 'iss');\n\tconst publicIdentifer = toZkLoginPublicIdentifier(BigInt(addressSeed), iss);\n\treturn {\n\t\tserializedSignature: toBase64(bytes),\n\t\tsignatureScheme: 'ZkLogin' as const,\n\t\tzkLogin: {\n\t\t\tinputs,\n\t\t\tmaxEpoch,\n\t\t\tuserSignature,\n\t\t\tiss,\n\t\t\taddressSeed: BigInt(addressSeed),\n\t\t},\n\t\tsignature: bytes,\n\t\tpublicKey: publicIdentifer.toRawBytes(),\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_utils"]
7
7
  }
@@ -60,24 +60,19 @@ export declare const Owner: BcsType<import("@mysten/bcs").EnumOutputShapeWithKey
60
60
  initialSharedVersion: string;
61
61
  };
62
62
  Immutable: true;
63
- ConsensusV2: {
64
- authenticator: {
65
- SingleOwner: string;
66
- $kind: "SingleOwner";
67
- };
63
+ ConsensusAddressOwner: {
64
+ owner: string;
68
65
  startVersion: string;
69
66
  };
70
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">, import("@mysten/bcs").EnumInputShape<{
67
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">, import("@mysten/bcs").EnumInputShape<{
71
68
  AddressOwner: string | Uint8Array<ArrayBufferLike>;
72
69
  ObjectOwner: string | Uint8Array<ArrayBufferLike>;
73
70
  Shared: {
74
71
  initialSharedVersion: string | number | bigint;
75
72
  };
76
73
  Immutable: boolean | object | null;
77
- ConsensusV2: {
78
- authenticator: {
79
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
80
- };
74
+ ConsensusAddressOwner: {
75
+ owner: string | Uint8Array<ArrayBufferLike>;
81
76
  startVersion: string | number | bigint;
82
77
  };
83
78
  }>>;
@@ -58,10 +58,8 @@ const Owner = bcs.enum("Owner", {
58
58
  initialSharedVersion: bcs.u64()
59
59
  }),
60
60
  Immutable: null,
61
- ConsensusV2: bcs.struct("ConsensusV2", {
62
- authenticator: bcs.enum("Authenticator", {
63
- SingleOwner: Address
64
- }),
61
+ ConsensusAddressOwner: bcs.struct("ConsensusAddressOwner", {
62
+ owner: Address,
65
63
  startVersion: bcs.u64()
66
64
  })
67
65
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/bcs/bcs.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType, BcsTypeOptions } from '@mysten/bcs';\nimport { bcs, fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from '@mysten/bcs';\n\nimport { isValidSuiAddress, normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { TypeTagSerializer } from './type-tag-serializer.js';\nimport type { TypeTag as TypeTagType } from './types.js';\n\nfunction unsafe_u64(options?: BcsTypeOptions<number>) {\n\treturn bcs\n\t\t.u64({\n\t\t\tname: 'unsafe_u64',\n\t\t\t...(options as object),\n\t\t})\n\t\t.transform({\n\t\t\tinput: (val: number | string) => val,\n\t\t\toutput: (val) => Number(val),\n\t\t});\n}\n\nfunction optionEnum<T extends BcsType<any, any>>(type: T) {\n\treturn bcs.enum('Option', {\n\t\tNone: null,\n\t\tSome: type,\n\t});\n}\n\nexport const Address = bcs.bytes(SUI_ADDRESS_LENGTH).transform({\n\tvalidate: (val) => {\n\t\tconst address = typeof val === 'string' ? val : toHex(val);\n\t\tif (!address || !isValidSuiAddress(normalizeSuiAddress(address))) {\n\t\t\tthrow new Error(`Invalid Sui address ${address}`);\n\t\t}\n\t},\n\tinput: (val: string | Uint8Array) =>\n\t\ttypeof val === 'string' ? fromHex(normalizeSuiAddress(val)) : val,\n\toutput: (val) => normalizeSuiAddress(toHex(val)),\n});\n\nexport const ObjectDigest = bcs.vector(bcs.u8()).transform({\n\tname: 'ObjectDigest',\n\tinput: (value: string) => fromBase58(value),\n\toutput: (value) => toBase58(new Uint8Array(value)),\n\tvalidate: (value) => {\n\t\tif (fromBase58(value).length !== 32) {\n\t\t\tthrow new Error('ObjectDigest must be 32 bytes');\n\t\t}\n\t},\n});\n\nexport const SuiObjectRef = bcs.struct('SuiObjectRef', {\n\tobjectId: Address,\n\tversion: bcs.u64(),\n\tdigest: ObjectDigest,\n});\n\nexport const SharedObjectRef = bcs.struct('SharedObjectRef', {\n\tobjectId: Address,\n\tinitialSharedVersion: bcs.u64(),\n\tmutable: bcs.bool(),\n});\n\nexport const ObjectArg = bcs.enum('ObjectArg', {\n\tImmOrOwnedObject: SuiObjectRef,\n\tSharedObject: SharedObjectRef,\n\tReceiving: SuiObjectRef,\n});\n\nexport const Owner = bcs.enum('Owner', {\n\tAddressOwner: Address,\n\tObjectOwner: Address,\n\tShared: bcs.struct('Shared', {\n\t\tinitialSharedVersion: bcs.u64(),\n\t}),\n\tImmutable: null,\n\tConsensusV2: bcs.struct('ConsensusV2', {\n\t\tauthenticator: bcs.enum('Authenticator', {\n\t\t\tSingleOwner: Address,\n\t\t}),\n\t\tstartVersion: bcs.u64(),\n\t}),\n});\n\nexport const CallArg = bcs.enum('CallArg', {\n\tPure: bcs.struct('Pure', {\n\t\tbytes: bcs.vector(bcs.u8()).transform({\n\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t}),\n\t}),\n\tObject: ObjectArg,\n});\n\nconst InnerTypeTag: BcsType<TypeTagType, TypeTagType> = bcs.enum('TypeTag', {\n\tbool: null,\n\tu8: null,\n\tu64: null,\n\tu128: null,\n\taddress: null,\n\tsigner: null,\n\tvector: bcs.lazy(() => InnerTypeTag),\n\tstruct: bcs.lazy(() => StructTag),\n\tu16: null,\n\tu32: null,\n\tu256: null,\n}) as BcsType<TypeTagType>;\n\nexport const TypeTag = InnerTypeTag.transform({\n\tinput: (typeTag: string | TypeTagType) =>\n\t\ttypeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag, true) : typeTag,\n\toutput: (typeTag: TypeTagType) => TypeTagSerializer.tagToString(typeTag),\n});\n\nexport const Argument = bcs.enum('Argument', {\n\tGasCoin: null,\n\tInput: bcs.u16(),\n\tResult: bcs.u16(),\n\tNestedResult: bcs.tuple([bcs.u16(), bcs.u16()]),\n});\n\nexport const ProgrammableMoveCall = bcs.struct('ProgrammableMoveCall', {\n\tpackage: Address,\n\tmodule: bcs.string(),\n\tfunction: bcs.string(),\n\ttypeArguments: bcs.vector(TypeTag),\n\targuments: bcs.vector(Argument),\n});\n\nexport const Command = bcs.enum('Command', {\n\t/**\n\t * A Move Call - any public Move function can be called via\n\t * this transaction. The results can be used that instant to pass\n\t * into the next transaction.\n\t */\n\tMoveCall: ProgrammableMoveCall,\n\t/**\n\t * Transfer vector of objects to a receiver.\n\t */\n\tTransferObjects: bcs.struct('TransferObjects', {\n\t\tobjects: bcs.vector(Argument),\n\t\taddress: Argument,\n\t}),\n\t// /**\n\t// * Split `amount` from a `coin`.\n\t// */\n\tSplitCoins: bcs.struct('SplitCoins', {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Merge Vector of Coins (`sources`) into a `destination`.\n\t// */\n\tMergeCoins: bcs.struct('MergeCoins', {\n\t\tdestination: Argument,\n\t\tsources: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Publish a Move module.\n\t// */\n\tPublish: bcs.struct('Publish', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t}),\n\t// /**\n\t// * Build a vector of objects using the input arguments.\n\t// * It is impossible to export construct a `vector<T: key>` otherwise,\n\t// * so this call serves a utility function.\n\t// */\n\tMakeMoveVec: bcs.struct('MakeMoveVec', {\n\t\ttype: optionEnum(TypeTag).transform({\n\t\t\tinput: (val: string | null) =>\n\t\t\t\tval === null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tNone: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tSome: val,\n\t\t\t\t\t\t},\n\t\t\toutput: (val) => val.Some ?? null,\n\t\t}),\n\t\telements: bcs.vector(Argument),\n\t}),\n\tUpgrade: bcs.struct('Upgrade', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t\tpackage: Address,\n\t\tticket: Argument,\n\t}),\n});\n\nexport const ProgrammableTransaction = bcs.struct('ProgrammableTransaction', {\n\tinputs: bcs.vector(CallArg),\n\tcommands: bcs.vector(Command),\n});\n\nexport const TransactionKind = bcs.enum('TransactionKind', {\n\tProgrammableTransaction: ProgrammableTransaction,\n\tChangeEpoch: null,\n\tGenesis: null,\n\tConsensusCommitPrologue: null,\n});\n\nexport const TransactionExpiration = bcs.enum('TransactionExpiration', {\n\tNone: null,\n\tEpoch: unsafe_u64(),\n});\n\nexport const StructTag = bcs.struct('StructTag', {\n\taddress: Address,\n\tmodule: bcs.string(),\n\tname: bcs.string(),\n\ttypeParams: bcs.vector(InnerTypeTag),\n});\n\nexport const GasData = bcs.struct('GasData', {\n\tpayment: bcs.vector(SuiObjectRef),\n\towner: Address,\n\tprice: bcs.u64(),\n\tbudget: bcs.u64(),\n});\n\nexport const TransactionDataV1 = bcs.struct('TransactionDataV1', {\n\tkind: TransactionKind,\n\tsender: Address,\n\tgasData: GasData,\n\texpiration: TransactionExpiration,\n});\n\nexport const TransactionData = bcs.enum('TransactionData', {\n\tV1: TransactionDataV1,\n});\n\nexport const IntentScope = bcs.enum('IntentScope', {\n\tTransactionData: null,\n\tTransactionEffects: null,\n\tCheckpointSummary: null,\n\tPersonalMessage: null,\n});\n\nexport const IntentVersion = bcs.enum('IntentVersion', {\n\tV0: null,\n});\n\nexport const AppId = bcs.enum('AppId', {\n\tSui: null,\n});\n\nexport const Intent = bcs.struct('Intent', {\n\tscope: IntentScope,\n\tversion: IntentVersion,\n\tappId: AppId,\n});\n\nexport function IntentMessage<T extends BcsType<any>>(T: T) {\n\treturn bcs.struct(`IntentMessage<${T.name}>`, {\n\t\tintent: Intent,\n\t\tvalue: T,\n\t});\n}\n\nexport const CompressedSignature = bcs.enum('CompressedSignature', {\n\tED25519: bcs.fixedArray(64, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(64, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(64, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const PublicKey = bcs.enum('PublicKey', {\n\tED25519: bcs.fixedArray(32, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(33, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(33, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const MultiSigPkMap = bcs.struct('MultiSigPkMap', {\n\tpubKey: PublicKey,\n\tweight: bcs.u8(),\n});\n\nexport const MultiSigPublicKey = bcs.struct('MultiSigPublicKey', {\n\tpk_map: bcs.vector(MultiSigPkMap),\n\tthreshold: bcs.u16(),\n});\n\nexport const MultiSig = bcs.struct('MultiSig', {\n\tsigs: bcs.vector(CompressedSignature),\n\tbitmap: bcs.u16(),\n\tmultisig_pk: MultiSigPublicKey,\n});\n\nexport const base64String = bcs.vector(bcs.u8()).transform({\n\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\toutput: (val) => toBase64(new Uint8Array(val)),\n});\n\nexport const SenderSignedTransaction = bcs.struct('SenderSignedTransaction', {\n\tintentMessage: IntentMessage(TransactionData),\n\ttxSignatures: bcs.vector(base64String),\n});\n\nexport const SenderSignedData = bcs.vector(SenderSignedTransaction, {\n\tname: 'SenderSignedData',\n});\n\nexport const PasskeyAuthenticator = bcs.struct('PasskeyAuthenticator', {\n\tauthenticatorData: bcs.vector(bcs.u8()),\n\tclientDataJson: bcs.string(),\n\tuserSignature: bcs.vector(bcs.u8()),\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType, BcsTypeOptions } from '@mysten/bcs';\nimport { bcs, fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from '@mysten/bcs';\n\nimport { isValidSuiAddress, normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { TypeTagSerializer } from './type-tag-serializer.js';\nimport type { TypeTag as TypeTagType } from './types.js';\n\nfunction unsafe_u64(options?: BcsTypeOptions<number>) {\n\treturn bcs\n\t\t.u64({\n\t\t\tname: 'unsafe_u64',\n\t\t\t...(options as object),\n\t\t})\n\t\t.transform({\n\t\t\tinput: (val: number | string) => val,\n\t\t\toutput: (val) => Number(val),\n\t\t});\n}\n\nfunction optionEnum<T extends BcsType<any, any>>(type: T) {\n\treturn bcs.enum('Option', {\n\t\tNone: null,\n\t\tSome: type,\n\t});\n}\n\nexport const Address = bcs.bytes(SUI_ADDRESS_LENGTH).transform({\n\tvalidate: (val) => {\n\t\tconst address = typeof val === 'string' ? val : toHex(val);\n\t\tif (!address || !isValidSuiAddress(normalizeSuiAddress(address))) {\n\t\t\tthrow new Error(`Invalid Sui address ${address}`);\n\t\t}\n\t},\n\tinput: (val: string | Uint8Array) =>\n\t\ttypeof val === 'string' ? fromHex(normalizeSuiAddress(val)) : val,\n\toutput: (val) => normalizeSuiAddress(toHex(val)),\n});\n\nexport const ObjectDigest = bcs.vector(bcs.u8()).transform({\n\tname: 'ObjectDigest',\n\tinput: (value: string) => fromBase58(value),\n\toutput: (value) => toBase58(new Uint8Array(value)),\n\tvalidate: (value) => {\n\t\tif (fromBase58(value).length !== 32) {\n\t\t\tthrow new Error('ObjectDigest must be 32 bytes');\n\t\t}\n\t},\n});\n\nexport const SuiObjectRef = bcs.struct('SuiObjectRef', {\n\tobjectId: Address,\n\tversion: bcs.u64(),\n\tdigest: ObjectDigest,\n});\n\nexport const SharedObjectRef = bcs.struct('SharedObjectRef', {\n\tobjectId: Address,\n\tinitialSharedVersion: bcs.u64(),\n\tmutable: bcs.bool(),\n});\n\nexport const ObjectArg = bcs.enum('ObjectArg', {\n\tImmOrOwnedObject: SuiObjectRef,\n\tSharedObject: SharedObjectRef,\n\tReceiving: SuiObjectRef,\n});\n\nexport const Owner = bcs.enum('Owner', {\n\tAddressOwner: Address,\n\tObjectOwner: Address,\n\tShared: bcs.struct('Shared', {\n\t\tinitialSharedVersion: bcs.u64(),\n\t}),\n\tImmutable: null,\n\tConsensusAddressOwner: bcs.struct('ConsensusAddressOwner', {\n\t\towner: Address,\n\t\tstartVersion: bcs.u64(),\n\t}),\n});\n\nexport const CallArg = bcs.enum('CallArg', {\n\tPure: bcs.struct('Pure', {\n\t\tbytes: bcs.vector(bcs.u8()).transform({\n\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t}),\n\t}),\n\tObject: ObjectArg,\n});\n\nconst InnerTypeTag: BcsType<TypeTagType, TypeTagType> = bcs.enum('TypeTag', {\n\tbool: null,\n\tu8: null,\n\tu64: null,\n\tu128: null,\n\taddress: null,\n\tsigner: null,\n\tvector: bcs.lazy(() => InnerTypeTag),\n\tstruct: bcs.lazy(() => StructTag),\n\tu16: null,\n\tu32: null,\n\tu256: null,\n}) as BcsType<TypeTagType>;\n\nexport const TypeTag = InnerTypeTag.transform({\n\tinput: (typeTag: string | TypeTagType) =>\n\t\ttypeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag, true) : typeTag,\n\toutput: (typeTag: TypeTagType) => TypeTagSerializer.tagToString(typeTag),\n});\n\nexport const Argument = bcs.enum('Argument', {\n\tGasCoin: null,\n\tInput: bcs.u16(),\n\tResult: bcs.u16(),\n\tNestedResult: bcs.tuple([bcs.u16(), bcs.u16()]),\n});\n\nexport const ProgrammableMoveCall = bcs.struct('ProgrammableMoveCall', {\n\tpackage: Address,\n\tmodule: bcs.string(),\n\tfunction: bcs.string(),\n\ttypeArguments: bcs.vector(TypeTag),\n\targuments: bcs.vector(Argument),\n});\n\nexport const Command = bcs.enum('Command', {\n\t/**\n\t * A Move Call - any public Move function can be called via\n\t * this transaction. The results can be used that instant to pass\n\t * into the next transaction.\n\t */\n\tMoveCall: ProgrammableMoveCall,\n\t/**\n\t * Transfer vector of objects to a receiver.\n\t */\n\tTransferObjects: bcs.struct('TransferObjects', {\n\t\tobjects: bcs.vector(Argument),\n\t\taddress: Argument,\n\t}),\n\t// /**\n\t// * Split `amount` from a `coin`.\n\t// */\n\tSplitCoins: bcs.struct('SplitCoins', {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Merge Vector of Coins (`sources`) into a `destination`.\n\t// */\n\tMergeCoins: bcs.struct('MergeCoins', {\n\t\tdestination: Argument,\n\t\tsources: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Publish a Move module.\n\t// */\n\tPublish: bcs.struct('Publish', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t}),\n\t// /**\n\t// * Build a vector of objects using the input arguments.\n\t// * It is impossible to export construct a `vector<T: key>` otherwise,\n\t// * so this call serves a utility function.\n\t// */\n\tMakeMoveVec: bcs.struct('MakeMoveVec', {\n\t\ttype: optionEnum(TypeTag).transform({\n\t\t\tinput: (val: string | null) =>\n\t\t\t\tval === null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tNone: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tSome: val,\n\t\t\t\t\t\t},\n\t\t\toutput: (val) => val.Some ?? null,\n\t\t}),\n\t\telements: bcs.vector(Argument),\n\t}),\n\tUpgrade: bcs.struct('Upgrade', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t\tpackage: Address,\n\t\tticket: Argument,\n\t}),\n});\n\nexport const ProgrammableTransaction = bcs.struct('ProgrammableTransaction', {\n\tinputs: bcs.vector(CallArg),\n\tcommands: bcs.vector(Command),\n});\n\nexport const TransactionKind = bcs.enum('TransactionKind', {\n\tProgrammableTransaction: ProgrammableTransaction,\n\tChangeEpoch: null,\n\tGenesis: null,\n\tConsensusCommitPrologue: null,\n});\n\nexport const TransactionExpiration = bcs.enum('TransactionExpiration', {\n\tNone: null,\n\tEpoch: unsafe_u64(),\n});\n\nexport const StructTag = bcs.struct('StructTag', {\n\taddress: Address,\n\tmodule: bcs.string(),\n\tname: bcs.string(),\n\ttypeParams: bcs.vector(InnerTypeTag),\n});\n\nexport const GasData = bcs.struct('GasData', {\n\tpayment: bcs.vector(SuiObjectRef),\n\towner: Address,\n\tprice: bcs.u64(),\n\tbudget: bcs.u64(),\n});\n\nexport const TransactionDataV1 = bcs.struct('TransactionDataV1', {\n\tkind: TransactionKind,\n\tsender: Address,\n\tgasData: GasData,\n\texpiration: TransactionExpiration,\n});\n\nexport const TransactionData = bcs.enum('TransactionData', {\n\tV1: TransactionDataV1,\n});\n\nexport const IntentScope = bcs.enum('IntentScope', {\n\tTransactionData: null,\n\tTransactionEffects: null,\n\tCheckpointSummary: null,\n\tPersonalMessage: null,\n});\n\nexport const IntentVersion = bcs.enum('IntentVersion', {\n\tV0: null,\n});\n\nexport const AppId = bcs.enum('AppId', {\n\tSui: null,\n});\n\nexport const Intent = bcs.struct('Intent', {\n\tscope: IntentScope,\n\tversion: IntentVersion,\n\tappId: AppId,\n});\n\nexport function IntentMessage<T extends BcsType<any>>(T: T) {\n\treturn bcs.struct(`IntentMessage<${T.name}>`, {\n\t\tintent: Intent,\n\t\tvalue: T,\n\t});\n}\n\nexport const CompressedSignature = bcs.enum('CompressedSignature', {\n\tED25519: bcs.fixedArray(64, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(64, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(64, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const PublicKey = bcs.enum('PublicKey', {\n\tED25519: bcs.fixedArray(32, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(33, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(33, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const MultiSigPkMap = bcs.struct('MultiSigPkMap', {\n\tpubKey: PublicKey,\n\tweight: bcs.u8(),\n});\n\nexport const MultiSigPublicKey = bcs.struct('MultiSigPublicKey', {\n\tpk_map: bcs.vector(MultiSigPkMap),\n\tthreshold: bcs.u16(),\n});\n\nexport const MultiSig = bcs.struct('MultiSig', {\n\tsigs: bcs.vector(CompressedSignature),\n\tbitmap: bcs.u16(),\n\tmultisig_pk: MultiSigPublicKey,\n});\n\nexport const base64String = bcs.vector(bcs.u8()).transform({\n\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\toutput: (val) => toBase64(new Uint8Array(val)),\n});\n\nexport const SenderSignedTransaction = bcs.struct('SenderSignedTransaction', {\n\tintentMessage: IntentMessage(TransactionData),\n\ttxSignatures: bcs.vector(base64String),\n});\n\nexport const SenderSignedData = bcs.vector(SenderSignedTransaction, {\n\tname: 'SenderSignedData',\n});\n\nexport const PasskeyAuthenticator = bcs.struct('PasskeyAuthenticator', {\n\tauthenticatorData: bcs.vector(bcs.u8()),\n\tclientDataJson: bcs.string(),\n\tuserSignature: bcs.vector(bcs.u8()),\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -161,14 +161,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
161
161
  initialSharedVersion: string;
162
162
  };
163
163
  Immutable: true;
164
- ConsensusV2: {
165
- authenticator: {
166
- SingleOwner: string;
167
- $kind: "SingleOwner";
168
- };
164
+ ConsensusAddressOwner: {
165
+ owner: string;
169
166
  startVersion: string;
170
167
  };
171
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">][];
168
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">][];
172
169
  mutated: [{
173
170
  objectId: string;
174
171
  version: string;
@@ -180,14 +177,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
180
177
  initialSharedVersion: string;
181
178
  };
182
179
  Immutable: true;
183
- ConsensusV2: {
184
- authenticator: {
185
- SingleOwner: string;
186
- $kind: "SingleOwner";
187
- };
180
+ ConsensusAddressOwner: {
181
+ owner: string;
188
182
  startVersion: string;
189
183
  };
190
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">][];
184
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">][];
191
185
  unwrapped: [{
192
186
  objectId: string;
193
187
  version: string;
@@ -199,14 +193,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
199
193
  initialSharedVersion: string;
200
194
  };
201
195
  Immutable: true;
202
- ConsensusV2: {
203
- authenticator: {
204
- SingleOwner: string;
205
- $kind: "SingleOwner";
206
- };
196
+ ConsensusAddressOwner: {
197
+ owner: string;
207
198
  startVersion: string;
208
199
  };
209
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">][];
200
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">][];
210
201
  deleted: {
211
202
  objectId: string;
212
203
  version: string;
@@ -233,14 +224,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
233
224
  initialSharedVersion: string;
234
225
  };
235
226
  Immutable: true;
236
- ConsensusV2: {
237
- authenticator: {
238
- SingleOwner: string;
239
- $kind: "SingleOwner";
240
- };
227
+ ConsensusAddressOwner: {
228
+ owner: string;
241
229
  startVersion: string;
242
230
  };
243
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">];
231
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">];
244
232
  eventsDigest: string | null;
245
233
  dependencies: string[];
246
234
  };
@@ -403,14 +391,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
403
391
  initialSharedVersion: string;
404
392
  };
405
393
  Immutable: true;
406
- ConsensusV2: {
407
- authenticator: {
408
- SingleOwner: string;
409
- $kind: "SingleOwner";
410
- };
394
+ ConsensusAddressOwner: {
395
+ owner: string;
411
396
  startVersion: string;
412
397
  };
413
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">];
398
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">];
414
399
  }, "NotExist" | "Exist">;
415
400
  outputState: import("@mysten/bcs").EnumOutputShapeWithKeys<{
416
401
  NotExist: true;
@@ -421,14 +406,11 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
421
406
  initialSharedVersion: string;
422
407
  };
423
408
  Immutable: true;
424
- ConsensusV2: {
425
- authenticator: {
426
- SingleOwner: string;
427
- $kind: "SingleOwner";
428
- };
409
+ ConsensusAddressOwner: {
410
+ owner: string;
429
411
  startVersion: string;
430
412
  };
431
- }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusV2">];
413
+ }, "AddressOwner" | "ObjectOwner" | "Shared" | "Immutable" | "ConsensusAddressOwner">];
432
414
  PackageWrite: [string, string];
433
415
  }, "NotExist" | "ObjectWrite" | "PackageWrite">;
434
416
  idOperation: import("@mysten/bcs").EnumOutputShapeWithKeys<{
@@ -617,10 +599,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
617
599
  initialSharedVersion: string | number | bigint;
618
600
  };
619
601
  Immutable: boolean | object | null;
620
- ConsensusV2: {
621
- authenticator: {
622
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
623
- };
602
+ ConsensusAddressOwner: {
603
+ owner: string | Uint8Array<ArrayBufferLike>;
624
604
  startVersion: string | number | bigint;
625
605
  };
626
606
  }>]> & {
@@ -637,10 +617,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
637
617
  initialSharedVersion: string | number | bigint;
638
618
  };
639
619
  Immutable: boolean | object | null;
640
- ConsensusV2: {
641
- authenticator: {
642
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
643
- };
620
+ ConsensusAddressOwner: {
621
+ owner: string | Uint8Array<ArrayBufferLike>;
644
622
  startVersion: string | number | bigint;
645
623
  };
646
624
  }>]> & {
@@ -657,10 +635,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
657
635
  initialSharedVersion: string | number | bigint;
658
636
  };
659
637
  Immutable: boolean | object | null;
660
- ConsensusV2: {
661
- authenticator: {
662
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
663
- };
638
+ ConsensusAddressOwner: {
639
+ owner: string | Uint8Array<ArrayBufferLike>;
664
640
  startVersion: string | number | bigint;
665
641
  };
666
642
  }>]> & {
@@ -698,10 +674,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
698
674
  initialSharedVersion: string | number | bigint;
699
675
  };
700
676
  Immutable: boolean | object | null;
701
- ConsensusV2: {
702
- authenticator: {
703
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
704
- };
677
+ ConsensusAddressOwner: {
678
+ owner: string | Uint8Array<ArrayBufferLike>;
705
679
  startVersion: string | number | bigint;
706
680
  };
707
681
  }>];
@@ -875,10 +849,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
875
849
  initialSharedVersion: string | number | bigint;
876
850
  };
877
851
  Immutable: boolean | object | null;
878
- ConsensusV2: {
879
- authenticator: {
880
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
881
- };
852
+ ConsensusAddressOwner: {
853
+ owner: string | Uint8Array<ArrayBufferLike>;
882
854
  startVersion: string | number | bigint;
883
855
  };
884
856
  }>];
@@ -892,10 +864,8 @@ export declare const TransactionEffects: import("@mysten/bcs").BcsType<import("@
892
864
  initialSharedVersion: string | number | bigint;
893
865
  };
894
866
  Immutable: boolean | object | null;
895
- ConsensusV2: {
896
- authenticator: {
897
- SingleOwner: string | Uint8Array<ArrayBufferLike>;
898
- };
867
+ ConsensusAddressOwner: {
868
+ owner: string | Uint8Array<ArrayBufferLike>;
899
869
  startVersion: string | number | bigint;
900
870
  };
901
871
  }>];