@mysten/sui 1.18.0 → 1.19.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 (158) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/bcs/bcs.d.ts +95 -95
  3. package/dist/cjs/bcs/effects.d.ts +41 -41
  4. package/dist/cjs/bcs/index.d.ts +136 -136
  5. package/dist/cjs/client/client.d.ts +1 -0
  6. package/dist/cjs/cryptography/intent.d.ts +1 -1
  7. package/dist/cjs/cryptography/publickey.d.ts +7 -0
  8. package/dist/cjs/cryptography/publickey.js +24 -1
  9. package/dist/cjs/cryptography/publickey.js.map +2 -2
  10. package/dist/cjs/cryptography/signature.d.ts +13 -15
  11. package/dist/cjs/cryptography/signature.js +4 -11
  12. package/dist/cjs/cryptography/signature.js.map +2 -2
  13. package/dist/cjs/graphql/generated/2024.1/tada-env.d.ts +11380 -0
  14. package/dist/cjs/graphql/generated/2024.1/tada-env.js +13142 -0
  15. package/dist/cjs/graphql/generated/2024.1/tada-env.js.map +7 -0
  16. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +1 -1
  17. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js.map +1 -1
  18. package/dist/cjs/graphql/generated/2024.4/tada-env.d.ts +11496 -0
  19. package/dist/cjs/graphql/generated/2024.4/tada-env.js +13288 -0
  20. package/dist/cjs/graphql/generated/2024.4/tada-env.js.map +7 -0
  21. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +1 -1
  22. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js.map +1 -1
  23. package/dist/cjs/graphql/generated/latest/tada-env.d.ts +12540 -0
  24. package/dist/cjs/graphql/generated/latest/tada-env.js +14498 -0
  25. package/dist/cjs/graphql/generated/latest/tada-env.js.map +7 -0
  26. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +1 -1
  27. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js.map +1 -1
  28. package/dist/cjs/graphql/schemas/2024.1/index.d.ts +6 -8999
  29. package/dist/cjs/graphql/schemas/2024.1/index.js.map +1 -1
  30. package/dist/cjs/graphql/schemas/2024.4/index.d.ts +6 -9053
  31. package/dist/cjs/graphql/schemas/2024.4/index.js.map +1 -1
  32. package/dist/cjs/graphql/schemas/latest/index.d.ts +6 -9827
  33. package/dist/cjs/graphql/schemas/latest/index.js.map +1 -1
  34. package/dist/cjs/keypairs/ed25519/keypair.d.ts +1 -1
  35. package/dist/cjs/keypairs/ed25519/publickey.d.ts +1 -1
  36. package/dist/cjs/keypairs/ed25519/publickey.js +1 -2
  37. package/dist/cjs/keypairs/ed25519/publickey.js.map +2 -2
  38. package/dist/cjs/keypairs/passkey/keypair.d.ts +1 -1
  39. package/dist/cjs/keypairs/passkey/publickey.d.ts +4 -4
  40. package/dist/cjs/keypairs/secp256k1/keypair.d.ts +1 -1
  41. package/dist/cjs/keypairs/secp256k1/publickey.js +1 -2
  42. package/dist/cjs/keypairs/secp256k1/publickey.js.map +2 -2
  43. package/dist/cjs/keypairs/secp256r1/keypair.d.ts +1 -1
  44. package/dist/cjs/transactions/Arguments.d.ts +11 -980
  45. package/dist/cjs/transactions/Arguments.js +1 -3
  46. package/dist/cjs/transactions/Arguments.js.map +2 -2
  47. package/dist/cjs/transactions/Transaction.d.ts +8 -32
  48. package/dist/cjs/transactions/Transaction.js.map +2 -2
  49. package/dist/cjs/transactions/TransactionData.d.ts +1 -1
  50. package/dist/cjs/transactions/executor/caching.d.ts +1 -1
  51. package/dist/cjs/transactions/executor/serial.d.ts +1 -1
  52. package/dist/cjs/transactions/index.d.ts +1 -0
  53. package/dist/cjs/transactions/index.js +2 -0
  54. package/dist/cjs/transactions/index.js.map +3 -3
  55. package/dist/cjs/transactions/utils.d.ts +2 -0
  56. package/dist/cjs/transactions/utils.js +7 -1
  57. package/dist/cjs/transactions/utils.js.map +2 -2
  58. package/dist/cjs/version.d.ts +2 -2
  59. package/dist/cjs/version.js +2 -2
  60. package/dist/cjs/version.js.map +1 -1
  61. package/dist/cjs/zklogin/publickey.d.ts +2 -2
  62. package/dist/esm/bcs/bcs.d.ts +95 -95
  63. package/dist/esm/bcs/effects.d.ts +41 -41
  64. package/dist/esm/bcs/index.d.ts +136 -136
  65. package/dist/esm/client/client.d.ts +1 -0
  66. package/dist/esm/cryptography/intent.d.ts +1 -1
  67. package/dist/esm/cryptography/publickey.d.ts +7 -0
  68. package/dist/esm/cryptography/publickey.js +25 -2
  69. package/dist/esm/cryptography/publickey.js.map +2 -2
  70. package/dist/esm/cryptography/signature.d.ts +13 -15
  71. package/dist/esm/cryptography/signature.js +5 -16
  72. package/dist/esm/cryptography/signature.js.map +2 -2
  73. package/dist/esm/graphql/generated/2024.1/tada-env.d.ts +11380 -0
  74. package/dist/esm/graphql/generated/2024.1/tada-env.js +13122 -0
  75. package/dist/esm/graphql/generated/2024.1/tada-env.js.map +7 -0
  76. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +1 -1
  77. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js.map +1 -1
  78. package/dist/esm/graphql/generated/2024.4/tada-env.d.ts +11496 -0
  79. package/dist/esm/graphql/generated/2024.4/tada-env.js +13268 -0
  80. package/dist/esm/graphql/generated/2024.4/tada-env.js.map +7 -0
  81. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +1 -1
  82. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js.map +1 -1
  83. package/dist/esm/graphql/generated/latest/tada-env.d.ts +12540 -0
  84. package/dist/esm/graphql/generated/latest/tada-env.js +14478 -0
  85. package/dist/esm/graphql/generated/latest/tada-env.js.map +7 -0
  86. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +1 -1
  87. package/dist/esm/graphql/generated/latest/tsconfig.tada.js.map +1 -1
  88. package/dist/esm/graphql/schemas/2024.1/index.d.ts +6 -8999
  89. package/dist/esm/graphql/schemas/2024.1/index.js.map +1 -1
  90. package/dist/esm/graphql/schemas/2024.4/index.d.ts +6 -9053
  91. package/dist/esm/graphql/schemas/2024.4/index.js.map +1 -1
  92. package/dist/esm/graphql/schemas/latest/index.d.ts +6 -9827
  93. package/dist/esm/graphql/schemas/latest/index.js.map +1 -1
  94. package/dist/esm/keypairs/ed25519/keypair.d.ts +1 -1
  95. package/dist/esm/keypairs/ed25519/publickey.d.ts +1 -1
  96. package/dist/esm/keypairs/ed25519/publickey.js +6 -3
  97. package/dist/esm/keypairs/ed25519/publickey.js.map +2 -2
  98. package/dist/esm/keypairs/passkey/keypair.d.ts +1 -1
  99. package/dist/esm/keypairs/passkey/publickey.d.ts +4 -4
  100. package/dist/esm/keypairs/secp256k1/keypair.d.ts +1 -1
  101. package/dist/esm/keypairs/secp256k1/publickey.js +6 -3
  102. package/dist/esm/keypairs/secp256k1/publickey.js.map +2 -2
  103. package/dist/esm/keypairs/secp256r1/keypair.d.ts +1 -1
  104. package/dist/esm/transactions/Arguments.d.ts +11 -980
  105. package/dist/esm/transactions/Arguments.js +1 -3
  106. package/dist/esm/transactions/Arguments.js.map +2 -2
  107. package/dist/esm/transactions/Transaction.d.ts +8 -32
  108. package/dist/esm/transactions/Transaction.js.map +2 -2
  109. package/dist/esm/transactions/TransactionData.d.ts +1 -1
  110. package/dist/esm/transactions/executor/caching.d.ts +1 -1
  111. package/dist/esm/transactions/executor/serial.d.ts +1 -1
  112. package/dist/esm/transactions/index.d.ts +1 -0
  113. package/dist/esm/transactions/index.js +2 -0
  114. package/dist/esm/transactions/index.js.map +2 -2
  115. package/dist/esm/transactions/utils.d.ts +2 -0
  116. package/dist/esm/transactions/utils.js +7 -1
  117. package/dist/esm/transactions/utils.js.map +2 -2
  118. package/dist/esm/version.d.ts +2 -2
  119. package/dist/esm/version.js +2 -2
  120. package/dist/esm/version.js.map +1 -1
  121. package/dist/esm/zklogin/publickey.d.ts +2 -2
  122. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/package.json +11 -12
  125. package/src/cryptography/publickey.ts +29 -1
  126. package/src/cryptography/signature.ts +4 -17
  127. package/src/graphql/generated/2024.1/tada-env.ts +13144 -0
  128. package/src/graphql/generated/2024.1/tsconfig.tada.json +1 -1
  129. package/src/graphql/generated/2024.4/tada-env.ts +13290 -0
  130. package/src/graphql/generated/2024.4/tsconfig.tada.json +1 -1
  131. package/src/graphql/generated/latest/tada-env.ts +14500 -0
  132. package/src/graphql/generated/latest/tsconfig.tada.json +1 -1
  133. package/src/graphql/schemas/2024.1/index.ts +1 -1
  134. package/src/graphql/schemas/2024.4/index.ts +1 -1
  135. package/src/graphql/schemas/latest/index.ts +1 -1
  136. package/src/keypairs/ed25519/publickey.ts +6 -3
  137. package/src/keypairs/secp256k1/publickey.ts +6 -3
  138. package/src/transactions/Arguments.ts +6 -5
  139. package/src/transactions/Transaction.ts +3 -1
  140. package/src/transactions/__tests__/bcs.test.ts +1 -1
  141. package/src/transactions/index.ts +2 -0
  142. package/src/transactions/utils.ts +7 -0
  143. package/src/version.ts +2 -2
  144. package/dist/cjs/graphql/generated/2024.1/tada-env.d.js +0 -17
  145. package/dist/cjs/graphql/generated/2024.1/tada-env.d.js.map +0 -7
  146. package/dist/cjs/graphql/generated/2024.4/tada-env.d.js +0 -17
  147. package/dist/cjs/graphql/generated/2024.4/tada-env.d.js.map +0 -7
  148. package/dist/cjs/graphql/generated/latest/tada-env.d.js +0 -17
  149. package/dist/cjs/graphql/generated/latest/tada-env.d.js.map +0 -7
  150. package/dist/esm/graphql/generated/2024.1/tada-env.d.js +0 -1
  151. package/dist/esm/graphql/generated/2024.1/tada-env.d.js.map +0 -7
  152. package/dist/esm/graphql/generated/2024.4/tada-env.d.js +0 -1
  153. package/dist/esm/graphql/generated/2024.4/tada-env.d.js.map +0 -7
  154. package/dist/esm/graphql/generated/latest/tada-env.d.js +0 -1
  155. package/dist/esm/graphql/generated/latest/tada-env.d.js.map +0 -7
  156. package/src/graphql/generated/2024.1/tada-env.d.ts +0 -201
  157. package/src/graphql/generated/2024.4/tada-env.d.ts +0 -203
  158. package/src/graphql/generated/latest/tada-env.d.ts +0 -220
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/graphql/schemas/latest/index.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initGraphQLTada } from 'gql.tada';\n\nimport type { introspection } from '../../generated/latest/tada-env.js';\nimport type { CustomScalars } from '../../types.js';\n\nexport * from '../../types.js';\n\nexport type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';\nexport { readFragment, maskFragments } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n\tintrospection: introspection;\n\tscalars: CustomScalars;\n}>();\n"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initGraphQLTada } from 'gql.tada';\n\nimport type { introspection } from '../../generated/latest/tada-env.js';\nimport type { CustomScalars } from '../../types.js';\n\nexport * from '../../types.js';\n\nexport type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';\nexport { readFragment, maskFragments } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n\tintrospection: typeof introspection;\n\tscalars: CustomScalars;\n}>();\n"],
5
5
  "mappings": "AAGA,SAAS,uBAAuB;AAKhC,cAAc;AAGd,SAAS,cAAc,qBAAqB;AAErC,MAAM,UAAU,gBAGpB;",
6
6
  "names": []
7
7
  }
@@ -55,7 +55,7 @@ export declare class Ed25519Keypair extends Keypair {
55
55
  /**
56
56
  * Return the signature for the provided data using Ed25519.
57
57
  */
58
- sign(data: Uint8Array): Promise<Uint8Array>;
58
+ sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
59
59
  /**
60
60
  * Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized
61
61
  * and validated against the english wordlist.
@@ -1,5 +1,5 @@
1
- import type { PublicKeyInitData } from '../../cryptography/publickey.js';
2
1
  import { PublicKey } from '../../cryptography/publickey.js';
2
+ import type { PublicKeyInitData } from '../../cryptography/publickey.js';
3
3
  /**
4
4
  * An Ed25519 public key
5
5
  */
@@ -1,8 +1,11 @@
1
1
  import { fromBase64 } from "@mysten/bcs";
2
2
  import { ed25519 } from "@noble/curves/ed25519";
3
- import { bytesEqual, PublicKey } from "../../cryptography/publickey.js";
3
+ import {
4
+ bytesEqual,
5
+ parseSerializedKeypairSignature,
6
+ PublicKey
7
+ } from "../../cryptography/publickey.js";
4
8
  import { SIGNATURE_SCHEME_TO_FLAG } from "../../cryptography/signature-scheme.js";
5
- import { parseSerializedSignature } from "../../cryptography/signature.js";
6
9
  const PUBLIC_KEY_SIZE = 32;
7
10
  class Ed25519PublicKey extends PublicKey {
8
11
  /**
@@ -48,7 +51,7 @@ class Ed25519PublicKey extends PublicKey {
48
51
  async verify(message, signature) {
49
52
  let bytes;
50
53
  if (typeof signature === "string") {
51
- const parsed = parseSerializedSignature(signature);
54
+ const parsed = parseSerializedKeypairSignature(signature);
52
55
  if (parsed.signatureScheme !== "ED25519") {
53
56
  throw new Error("Invalid signature scheme");
54
57
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/keypairs/ed25519/publickey.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport { ed25519 } from '@noble/curves/ed25519';\n\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { bytesEqual, PublicKey } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../../cryptography/signature.js';\n\nconst PUBLIC_KEY_SIZE = 32;\n\n/**\n * An Ed25519 public key\n */\nexport class Ed25519PublicKey extends PublicKey {\n\tstatic SIZE = PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array;\n\n\t/**\n\t * Create a new Ed25519PublicKey object\n\t * @param value ed25519 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\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\n\t\tif (this.data.length !== PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Ed25519 public keys are equal\n\t */\n\toverride equals(publicKey: Ed25519PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Ed25519 public key\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['ED25519'];\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\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'ED25519') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn ed25519.verify(bytes, message, this.toRawBytes());\n\t}\n}\n"],
5
- "mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAGxB,SAAS,YAAY,iBAAiB;AACtC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AAEzC,MAAM,kBAAkB;AAKjB,MAAM,yBAAyB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/C,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,iBAAiB;AACzC,YAAM,IAAI;AAAA,QACT,sCAAsC,eAAe,eAAe,KAAK,KAAK,MAAM;AAAA,MACrF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAsC;AACrD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAyB;AACxB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,yBAAyB,SAAS;AACjD,UAAI,OAAO,oBAAoB,WAAW;AACzC,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,QAAQ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC;AAAA,EACxD;AACD;AArEa,iBACL,OAAO;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport { ed25519 } from '@noble/curves/ed25519';\n\nimport {\n\tbytesEqual,\n\tparseSerializedKeypairSignature,\n\tPublicKey,\n} from '../../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\n\nconst PUBLIC_KEY_SIZE = 32;\n\n/**\n * An Ed25519 public key\n */\nexport class Ed25519PublicKey extends PublicKey {\n\tstatic SIZE = PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array;\n\n\t/**\n\t * Create a new Ed25519PublicKey object\n\t * @param value ed25519 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\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\n\t\tif (this.data.length !== PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Ed25519 public keys are equal\n\t */\n\toverride equals(publicKey: Ed25519PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Ed25519 public key\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['ED25519'];\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\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedKeypairSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'ED25519') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn ed25519.verify(bytes, message, this.toRawBytes());\n\t}\n}\n"],
5
+ "mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAExB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,SAAS,gCAAgC;AAEzC,MAAM,kBAAkB;AAKjB,MAAM,yBAAyB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/C,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,iBAAiB;AACzC,YAAM,IAAI;AAAA,QACT,sCAAsC,eAAe,eAAe,KAAK,KAAK,MAAM;AAAA,MACrF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAsC;AACrD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAyB;AACxB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,gCAAgC,SAAS;AACxD,UAAI,OAAO,oBAAoB,WAAW;AACzC,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,QAAQ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC;AAAA,EACxD;AACD;AArEa,iBACL,OAAO;",
6
6
  "names": []
7
7
  }
@@ -49,7 +49,7 @@ export declare class PasskeyKeypair extends Signer {
49
49
  * Return the signature for the provided data (i.e. blake2b(intent_message)).
50
50
  * This is sent to passkey as the challenge field.
51
51
  */
52
- sign(data: Uint8Array): Promise<Uint8Array>;
52
+ sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
53
53
  /**
54
54
  * This overrides the base class implementation that accepts the raw bytes and signs its
55
55
  * digest of the intent message, then serialize it with the passkey flag.
@@ -21,7 +21,7 @@ DER structure for P-256 SPKI:
21
21
  ===== above bytes are considered header =====
22
22
  04 || x || y -- uncompressed point (65 bytes: 0x04 || 32-byte x || 32-byte y)
23
23
  */
24
- export declare const SECP256R1_SPKI_HEADER: Uint8Array;
24
+ export declare const SECP256R1_SPKI_HEADER: Uint8Array<ArrayBuffer>;
25
25
  /**
26
26
  * A passkey public key
27
27
  */
@@ -64,9 +64,9 @@ export declare function parseDerSPKI(derBytes: Uint8Array): Uint8Array;
64
64
  export declare function parseSerializedPasskeySignature(signature: Uint8Array | string): {
65
65
  signatureScheme: "Passkey";
66
66
  serializedSignature: string;
67
- signature: Uint8Array;
67
+ signature: Uint8Array<ArrayBufferLike>;
68
68
  authenticatorData: number[];
69
69
  clientDataJson: string;
70
- userSignature: Uint8Array;
71
- publicKey: Uint8Array;
70
+ userSignature: Uint8Array<ArrayBuffer>;
71
+ publicKey: Uint8Array<ArrayBuffer>;
72
72
  };
@@ -61,7 +61,7 @@ export declare class Secp256k1Keypair extends Keypair {
61
61
  /**
62
62
  * Return the signature for the provided data.
63
63
  */
64
- sign(data: Uint8Array): Promise<Uint8Array>;
64
+ sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
65
65
  /**
66
66
  * Derive Secp256k1 keypair from mnemonics and path. The mnemonics must be normalized
67
67
  * and validated against the english wordlist.
@@ -1,9 +1,12 @@
1
1
  import { fromBase64 } from "@mysten/bcs";
2
2
  import { secp256k1 } from "@noble/curves/secp256k1";
3
3
  import { sha256 } from "@noble/hashes/sha256";
4
- import { bytesEqual, PublicKey } from "../../cryptography/publickey.js";
4
+ import {
5
+ bytesEqual,
6
+ parseSerializedKeypairSignature,
7
+ PublicKey
8
+ } from "../../cryptography/publickey.js";
5
9
  import { SIGNATURE_SCHEME_TO_FLAG } from "../../cryptography/signature-scheme.js";
6
- import { parseSerializedSignature } from "../../cryptography/signature.js";
7
10
  const SECP256K1_PUBLIC_KEY_SIZE = 33;
8
11
  class Secp256k1PublicKey extends PublicKey {
9
12
  /**
@@ -49,7 +52,7 @@ class Secp256k1PublicKey extends PublicKey {
49
52
  async verify(message, signature) {
50
53
  let bytes;
51
54
  if (typeof signature === "string") {
52
- const parsed = parseSerializedSignature(signature);
55
+ const parsed = parseSerializedKeypairSignature(signature);
53
56
  if (parsed.signatureScheme !== "Secp256k1") {
54
57
  throw new Error("Invalid signature scheme");
55
58
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/keypairs/secp256k1/publickey.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport { sha256 } from '@noble/hashes/sha256';\n\nimport { bytesEqual, PublicKey } from '../../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../../cryptography/signature.js';\n\nconst SECP256K1_PUBLIC_KEY_SIZE = 33;\n\n/**\n * A Secp256k1 public key\n */\nexport class Secp256k1PublicKey extends PublicKey {\n\tstatic SIZE = SECP256K1_PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array;\n\n\t/**\n\t * Create a new Secp256k1PublicKey object\n\t * @param value secp256k1 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\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\n\t\tif (this.data.length !== SECP256K1_PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${SECP256K1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Secp256k1 public keys are equal\n\t */\n\toverride equals(publicKey: Secp256k1PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Secp256k1 public key\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Secp256k1 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['Secp256k1'];\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\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'Secp256k1') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn secp256k1.verify(\n\t\t\tsecp256k1.Signature.fromCompact(bytes),\n\t\t\tsha256(message),\n\t\t\tthis.toRawBytes(),\n\t\t);\n\t}\n}\n"],
5
- "mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB,SAAS,YAAY,iBAAiB;AAEtC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AAEzC,MAAM,4BAA4B;AAK3B,MAAM,2BAA2B,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,2BAA2B;AACnD,YAAM,IAAI;AAAA,QACT,sCAAsC,yBAAyB,eAAe,KAAK,KAAK,MAAM;AAAA,MAC/F;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAwC;AACvD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAyB;AACxB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,WAAW;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,yBAAyB,SAAS;AACjD,UAAI,OAAO,oBAAoB,aAAa;AAC3C,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MAChB,UAAU,UAAU,YAAY,KAAK;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,KAAK,WAAW;AAAA,IACjB;AAAA,EACD;AACD;AAzEa,mBACL,OAAO;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport { sha256 } from '@noble/hashes/sha256';\n\nimport {\n\tbytesEqual,\n\tparseSerializedKeypairSignature,\n\tPublicKey,\n} from '../../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\n\nconst SECP256K1_PUBLIC_KEY_SIZE = 33;\n\n/**\n * A Secp256k1 public key\n */\nexport class Secp256k1PublicKey extends PublicKey {\n\tstatic SIZE = SECP256K1_PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array;\n\n\t/**\n\t * Create a new Secp256k1PublicKey object\n\t * @param value secp256k1 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\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\n\t\tif (this.data.length !== SECP256K1_PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${SECP256K1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Secp256k1 public keys are equal\n\t */\n\toverride equals(publicKey: Secp256k1PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Secp256k1 public key\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Secp256k1 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['Secp256k1'];\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\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedKeypairSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'Secp256k1') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn secp256k1.verify(\n\t\t\tsecp256k1.Signature.fromCompact(bytes),\n\t\t\tsha256(message),\n\t\t\tthis.toRawBytes(),\n\t\t);\n\t}\n}\n"],
5
+ "mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,SAAS,gCAAgC;AAEzC,MAAM,4BAA4B;AAK3B,MAAM,2BAA2B,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,2BAA2B;AACnD,YAAM,IAAI;AAAA,QACT,sCAAsC,yBAAyB,eAAe,KAAK,KAAK,MAAM;AAAA,MAC/F;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAwC;AACvD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAyB;AACxB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,WAAW;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,gCAAgC,SAAS;AACxD,UAAI,OAAO,oBAAoB,aAAa;AAC3C,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MAChB,UAAU,UAAU,YAAY,KAAK;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,KAAK,WAAW;AAAA,IACjB;AAAA,EACD;AACD;AAzEa,mBACL,OAAO;",
6
6
  "names": []
7
7
  }
@@ -61,7 +61,7 @@ export declare class Secp256r1Keypair extends Keypair {
61
61
  /**
62
62
  * Return the signature for the provided data.
63
63
  */
64
- sign(data: Uint8Array): Promise<Uint8Array>;
64
+ sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
65
65
  /**
66
66
  * Derive Secp256r1 keypair from mnemonics and path. The mnemonics must be normalized
67
67
  * and validated against the english wordlist.