@iota/signers 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @iota/signers
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bd1fa0b: Updated @iota/iota-sdk.
8
+ - 8738efb: Expose ledger signing utilities for external consumers.
9
+
10
+ ### Patch Changes
11
+
12
+ - 331b7ab: Refreshed the README with up to date APIs, examples and more.
13
+ - adea573: Enable declarationMap in TS packages
14
+ - Updated dependencies [fe97265]
15
+ - Updated dependencies [d2ed95a]
16
+ - Updated dependencies [379dd4b]
17
+ - Updated dependencies [1a2b37f]
18
+ - Updated dependencies [1a2b37f]
19
+ - Updated dependencies [66d0c0d]
20
+ - Updated dependencies [9c6137c]
21
+ - Updated dependencies [331b7ab]
22
+ - Updated dependencies [adea573]
23
+ - Updated dependencies [bd1fa0b]
24
+ - Updated dependencies [1a2b37f]
25
+ - Updated dependencies [3f80310]
26
+ - Updated dependencies [2a9a1df]
27
+ - Updated dependencies [999224b]
28
+ - Updated dependencies [1a2b37f]
29
+ - Updated dependencies [f3d9079]
30
+ - Updated dependencies [7849d0e]
31
+ - Updated dependencies [0be1d8d]
32
+ - Updated dependencies [235a8d7]
33
+ - Updated dependencies [46171b1]
34
+ - Updated dependencies [9d88461]
35
+ - @iota/iota-sdk@1.12.0
36
+ - @iota/ledgerjs-hw-app-iota@0.6.2
37
+
3
38
  ## 0.3.3
4
39
 
5
40
  ### Patch Changes
package/README.md CHANGED
@@ -53,7 +53,7 @@ const signer = await LedgerSigner.fromDerivationPath(
53
53
  );
54
54
 
55
55
  // Log the IOTA address:
56
- console.log(signer.toIOTAAddress());
56
+ console.log(signer.toIotaAddress());
57
57
 
58
58
  // Define a test transaction:
59
59
  const testTransaction = new Transaction();
@@ -1,25 +1,14 @@
1
1
  import type { ObjectOwner } from '@iota/iota-sdk/client';
2
- export declare const IotaMoveObject: import("@iota/iota-sdk/bcs").BcsType<{
3
- data: {
4
- MoveObject: {
5
- type: any;
6
- version: string;
7
- contents: any;
8
- };
9
- $kind: "MoveObject";
10
- };
11
- owner: any;
12
- previousTransaction: string;
13
- storageRebate: string;
14
- }, {
15
- data: {
16
- MoveObject: {
17
- type: string;
18
- version: string | number | bigint;
19
- contents: string;
20
- };
21
- };
22
- owner: ObjectOwner;
23
- previousTransaction: string;
24
- storageRebate: string | number | bigint;
25
- }>;
2
+ export declare const IotaMoveObject: import("@iota/iota-sdk/bcs").BcsStruct<{
3
+ data: import("@iota/iota-sdk/bcs").BcsEnum<{
4
+ MoveObject: import("@iota/iota-sdk/bcs").BcsStruct<{
5
+ type: import("@iota/iota-sdk/bcs").BcsType<any, string, string>;
6
+ version: import("@iota/iota-sdk/bcs").BcsType<string, string | number | bigint, "u64">;
7
+ contents: import("@iota/iota-sdk/bcs").BcsType<any, string, string>;
8
+ }, string>;
9
+ }, "Data">;
10
+ owner: import("@iota/iota-sdk/bcs").BcsType<any, ObjectOwner, string>;
11
+ previousTransaction: import("@iota/iota-sdk/bcs").BcsType<string, string, "ObjectDigest">;
12
+ storageRebate: import("@iota/iota-sdk/bcs").BcsType<string, string | number | bigint, "u64">;
13
+ }, string>;
14
+ //# sourceMappingURL=bcs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bcs.d.ts","sourceRoot":"","sources":["../../../src/ledger/bcs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAkBzD,eAAO,MAAM,cAAc;;;;;;;;;;;UA4DzB,CAAC"}
@@ -60,7 +60,7 @@ const IotaMoveObject = import_bcs.bcs.struct("IotaMoveObject", {
60
60
  }
61
61
  }),
62
62
  version: import_bcs.bcs.u64(),
63
- contents: import_bcs.bcs.byteVector().transform({ input: import_utils.fromB64 })
63
+ contents: import_bcs.bcs.byteVector().transform({ input: import_utils.fromBase64 })
64
64
  })
65
65
  }),
66
66
  owner: import_bcs.bcs.Owner.transform({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ledger/bcs.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, TypeTagSerializer } from '@iota/iota-sdk/bcs';\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport {\n fromB64,\n normalizeStructTag,\n normalizeIotaAddress,\n parseStructTag,\n} from '@iota/iota-sdk/utils';\n\nconst IOTA_FRAMEWORK_ADDRESS = normalizeIotaAddress('0x2');\nconst IOTA_SYSTEM_ADDRESS = normalizeIotaAddress('0x3');\n\nconst MoveObjectType = bcs.enum('MoveObjectType', {\n Other: bcs.StructTag,\n GasCoin: null,\n StakedIota: null,\n Coin: bcs.TypeTag,\n});\n\nexport const IotaMoveObject = bcs.struct('IotaMoveObject', {\n data: bcs.enum('Data', {\n MoveObject: bcs.struct('MoveObject', {\n type: MoveObjectType.transform({\n input: (objectType: string): typeof MoveObjectType.$inferType => {\n const structTag = parseStructTag(objectType);\n\n if (\n structTag.address === IOTA_FRAMEWORK_ADDRESS &&\n structTag.module === 'coin' &&\n structTag.name === 'Coin' &&\n typeof structTag.typeParams[0] === 'object'\n ) {\n const innerStructTag = structTag.typeParams[0];\n if (\n innerStructTag.address === IOTA_FRAMEWORK_ADDRESS &&\n innerStructTag.module === 'iota' &&\n innerStructTag.name === 'IOTA'\n ) {\n return { GasCoin: true, $kind: 'GasCoin' };\n }\n return { Coin: normalizeStructTag(innerStructTag), $kind: 'Coin' };\n } else if (\n structTag.address === IOTA_SYSTEM_ADDRESS &&\n structTag.module === 'staking_pool' &&\n structTag.name === 'StakedIota'\n ) {\n return { StakedIota: true, $kind: 'StakedIota' };\n }\n return {\n Other: {\n ...structTag,\n typeParams: structTag.typeParams.map((typeParam) => {\n return TypeTagSerializer.parseFromStr(\n normalizeStructTag(typeParam),\n );\n }),\n },\n $kind: 'Other',\n };\n },\n }),\n version: bcs.u64(),\n contents: bcs.byteVector().transform({ input: fromB64 }),\n }),\n }),\n owner: bcs.Owner.transform({\n input: (objectOwner: ObjectOwner) => {\n if (objectOwner === 'Immutable') {\n return { Immutable: null };\n } else if ('Shared' in objectOwner) {\n return {\n Shared: { initialSharedVersion: objectOwner.Shared.initial_shared_version },\n };\n }\n return objectOwner;\n },\n }),\n previousTransaction: bcs.ObjectDigest,\n storageRebate: bcs.u64(),\n});\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAuC;AAEvC,mBAKO;AAEP,MAAM,6BAAyB,mCAAqB,KAAK;AACzD,MAAM,0BAAsB,mCAAqB,KAAK;AAEtD,MAAM,iBAAiB,eAAI,KAAK,kBAAkB;AAAA,EAC9C,OAAO,eAAI;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM,eAAI;AACd,CAAC;AAEM,MAAM,iBAAiB,eAAI,OAAO,kBAAkB;AAAA,EACvD,MAAM,eAAI,KAAK,QAAQ;AAAA,IACnB,YAAY,eAAI,OAAO,cAAc;AAAA,MACjC,MAAM,eAAe,UAAU;AAAA,QAC3B,OAAO,CAAC,eAAyD;AAC7D,gBAAM,gBAAY,6BAAe,UAAU;AAE3C,cACI,UAAU,YAAY,0BACtB,UAAU,WAAW,UACrB,UAAU,SAAS,UACnB,OAAO,UAAU,WAAW,CAAC,MAAM,UACrC;AACE,kBAAM,iBAAiB,UAAU,WAAW,CAAC;AAC7C,gBACI,eAAe,YAAY,0BAC3B,eAAe,WAAW,UAC1B,eAAe,SAAS,QAC1B;AACE,qBAAO,EAAE,SAAS,MAAM,OAAO,UAAU;AAAA,YAC7C;AACA,mBAAO,EAAE,UAAM,iCAAmB,cAAc,GAAG,OAAO,OAAO;AAAA,UACrE,WACI,UAAU,YAAY,uBACtB,UAAU,WAAW,kBACrB,UAAU,SAAS,cACrB;AACE,mBAAO,EAAE,YAAY,MAAM,OAAO,aAAa;AAAA,UACnD;AACA,iBAAO;AAAA,YACH,OAAO;AAAA,cACH,GAAG;AAAA,cACH,YAAY,UAAU,WAAW,IAAI,CAAC,cAAc;AAChD,uBAAO,6BAAkB;AAAA,sBACrB,iCAAmB,SAAS;AAAA,gBAChC;AAAA,cACJ,CAAC;AAAA,YACL;AAAA,YACA,OAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,MACD,SAAS,eAAI,IAAI;AAAA,MACjB,UAAU,eAAI,WAAW,EAAE,UAAU,EAAE,OAAO,qBAAQ,CAAC;AAAA,IAC3D,CAAC;AAAA,EACL,CAAC;AAAA,EACD,OAAO,eAAI,MAAM,UAAU;AAAA,IACvB,OAAO,CAAC,gBAA6B;AACjC,UAAI,gBAAgB,aAAa;AAC7B,eAAO,EAAE,WAAW,KAAK;AAAA,MAC7B,WAAW,YAAY,aAAa;AAChC,eAAO;AAAA,UACH,QAAQ,EAAE,sBAAsB,YAAY,OAAO,uBAAuB;AAAA,QAC9E;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AAAA,EACD,qBAAqB,eAAI;AAAA,EACzB,eAAe,eAAI,IAAI;AAC3B,CAAC;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, TypeTagSerializer } from '@iota/iota-sdk/bcs';\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport {\n fromBase64,\n normalizeStructTag,\n normalizeIotaAddress,\n parseStructTag,\n} from '@iota/iota-sdk/utils';\n\nconst IOTA_FRAMEWORK_ADDRESS = normalizeIotaAddress('0x2');\nconst IOTA_SYSTEM_ADDRESS = normalizeIotaAddress('0x3');\n\nconst MoveObjectType = bcs.enum('MoveObjectType', {\n Other: bcs.StructTag,\n GasCoin: null,\n StakedIota: null,\n Coin: bcs.TypeTag,\n});\n\nexport const IotaMoveObject = bcs.struct('IotaMoveObject', {\n data: bcs.enum('Data', {\n MoveObject: bcs.struct('MoveObject', {\n type: MoveObjectType.transform({\n input: (objectType: string): typeof MoveObjectType.$inferType => {\n const structTag = parseStructTag(objectType);\n\n if (\n structTag.address === IOTA_FRAMEWORK_ADDRESS &&\n structTag.module === 'coin' &&\n structTag.name === 'Coin' &&\n typeof structTag.typeParams[0] === 'object'\n ) {\n const innerStructTag = structTag.typeParams[0];\n if (\n innerStructTag.address === IOTA_FRAMEWORK_ADDRESS &&\n innerStructTag.module === 'iota' &&\n innerStructTag.name === 'IOTA'\n ) {\n return { GasCoin: true, $kind: 'GasCoin' };\n }\n return { Coin: normalizeStructTag(innerStructTag), $kind: 'Coin' };\n } else if (\n structTag.address === IOTA_SYSTEM_ADDRESS &&\n structTag.module === 'staking_pool' &&\n structTag.name === 'StakedIota'\n ) {\n return { StakedIota: true, $kind: 'StakedIota' };\n }\n return {\n Other: {\n ...structTag,\n typeParams: structTag.typeParams.map((typeParam) => {\n return TypeTagSerializer.parseFromStr(\n normalizeStructTag(typeParam),\n );\n }),\n },\n $kind: 'Other',\n };\n },\n }),\n version: bcs.u64(),\n contents: bcs.byteVector().transform({ input: fromBase64 }),\n }),\n }),\n owner: bcs.Owner.transform({\n input: (objectOwner: ObjectOwner) => {\n if (objectOwner === 'Immutable') {\n return { Immutable: null };\n } else if ('Shared' in objectOwner) {\n return {\n Shared: { initialSharedVersion: objectOwner.Shared.initial_shared_version },\n };\n }\n return objectOwner;\n },\n }),\n previousTransaction: bcs.ObjectDigest,\n storageRebate: bcs.u64(),\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAuC;AAEvC,mBAKO;AAEP,MAAM,6BAAyB,mCAAqB,KAAK;AACzD,MAAM,0BAAsB,mCAAqB,KAAK;AAEtD,MAAM,iBAAiB,eAAI,KAAK,kBAAkB;AAAA,EAC9C,OAAO,eAAI;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM,eAAI;AACd,CAAC;AAEM,MAAM,iBAAiB,eAAI,OAAO,kBAAkB;AAAA,EACvD,MAAM,eAAI,KAAK,QAAQ;AAAA,IACnB,YAAY,eAAI,OAAO,cAAc;AAAA,MACjC,MAAM,eAAe,UAAU;AAAA,QAC3B,OAAO,CAAC,eAAyD;AAC7D,gBAAM,gBAAY,6BAAe,UAAU;AAE3C,cACI,UAAU,YAAY,0BACtB,UAAU,WAAW,UACrB,UAAU,SAAS,UACnB,OAAO,UAAU,WAAW,CAAC,MAAM,UACrC;AACE,kBAAM,iBAAiB,UAAU,WAAW,CAAC;AAC7C,gBACI,eAAe,YAAY,0BAC3B,eAAe,WAAW,UAC1B,eAAe,SAAS,QAC1B;AACE,qBAAO,EAAE,SAAS,MAAM,OAAO,UAAU;AAAA,YAC7C;AACA,mBAAO,EAAE,UAAM,iCAAmB,cAAc,GAAG,OAAO,OAAO;AAAA,UACrE,WACI,UAAU,YAAY,uBACtB,UAAU,WAAW,kBACrB,UAAU,SAAS,cACrB;AACE,mBAAO,EAAE,YAAY,MAAM,OAAO,aAAa;AAAA,UACnD;AACA,iBAAO;AAAA,YACH,OAAO;AAAA,cACH,GAAG;AAAA,cACH,YAAY,UAAU,WAAW,IAAI,CAAC,cAAc;AAChD,uBAAO,6BAAkB;AAAA,sBACrB,iCAAmB,SAAS;AAAA,gBAChC;AAAA,cACJ,CAAC;AAAA,YACL;AAAA,YACA,OAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,MACD,SAAS,eAAI,IAAI;AAAA,MACjB,UAAU,eAAI,WAAW,EAAE,UAAU,EAAE,OAAO,wBAAW,CAAC;AAAA,IAC9D,CAAC;AAAA,EACL,CAAC;AAAA,EACD,OAAO,eAAI,MAAM,UAAU;AAAA,IACvB,OAAO,CAAC,gBAA6B;AACjC,UAAI,gBAAgB,aAAa;AAC7B,eAAO,EAAE,WAAW,KAAK;AAAA,MAC7B,WAAW,YAAY,aAAa;AAChC,eAAO;AAAA,UACH,QAAQ,EAAE,sBAAsB,YAAY,OAAO,uBAAuB;AAAA,QAC9E;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AAAA,EACD,qBAAqB,eAAI;AAAA,EACzB,eAAe,eAAI,IAAI;AAC3B,CAAC;",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,8 @@ import type { IotaClient } from '@iota/iota-sdk/client';
3
3
  import type { SignatureWithBytes } from '@iota/iota-sdk/cryptography';
4
4
  import { Signer } from '@iota/iota-sdk/cryptography';
5
5
  import { Ed25519PublicKey } from '@iota/iota-sdk/keypairs/ed25519';
6
+ export { IotaMoveObject } from './bcs.js';
7
+ export { getInputObjects } from './objects.js';
6
8
  /**
7
9
  * Configuration options for initializing the LedgerSigner.
8
10
  */
@@ -61,3 +63,4 @@ export declare class LedgerSigner extends Signer {
61
63
  */
62
64
  signWithIntent(): never;
63
65
  }
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAqB,MAAM,EAAyB,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAOnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM;;IAMpC;;;;;;OAMG;gBACS,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,mBAAmB;IAQxF;;OAEG;IACM,YAAY,IACV,SAAS;IAGpB;;;OAGG;IACM,YAAY;IAIrB;;;OAGG;IACY,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0B9E;;;OAGG;IACY,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoBlF;;;;OAIG;WACU,kBAAkB,CAC3B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,UAAU;IAe1B;;;OAGG;IACM,IAAI,IAAI,KAAK;IAItB;;;OAGG;IACM,cAAc,IAAI,KAAK;CAGnC"}
@@ -23,19 +23,22 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
23
23
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
24
24
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
25
25
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
26
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
27
26
  var ledger_exports = {};
28
27
  __export(ledger_exports, {
29
- LedgerSigner: () => LedgerSigner
28
+ IotaMoveObject: () => import_bcs2.IotaMoveObject,
29
+ LedgerSigner: () => LedgerSigner,
30
+ getInputObjects: () => import_objects2.getInputObjects
30
31
  });
31
32
  module.exports = __toCommonJS(ledger_exports);
32
33
  var import_cryptography = require("@iota/iota-sdk/cryptography");
33
34
  var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
34
35
  var import_transactions = require("@iota/iota-sdk/transactions");
35
36
  var import_utils = require("@iota/iota-sdk/utils");
36
- var import_bcs = require("./bcs.js");
37
- var import_bcs2 = require("@iota/iota-sdk/bcs");
38
- var _derivationPath, _publicKey, _ledgerClient, _iotaClient, _LedgerSigner_instances, getClearSigningOptions_fn;
37
+ var import_bcs = require("@iota/iota-sdk/bcs");
38
+ var import_objects = require("./objects.js");
39
+ var import_bcs2 = require("./bcs.js");
40
+ var import_objects2 = require("./objects.js");
41
+ var _derivationPath, _publicKey, _ledgerClient, _iotaClient;
39
42
  const _LedgerSigner = class _LedgerSigner extends import_cryptography.Signer {
40
43
  /**
41
44
  * Creates an instance of LedgerSigner. It's expected to call the static `fromDerivationPath` method to create an instance.
@@ -46,7 +49,6 @@ const _LedgerSigner = class _LedgerSigner extends import_cryptography.Signer {
46
49
  */
47
50
  constructor({ publicKey, derivationPath, ledgerClient, iotaClient }) {
48
51
  super();
49
- __privateAdd(this, _LedgerSigner_instances);
50
52
  __privateAdd(this, _derivationPath);
51
53
  __privateAdd(this, _publicKey);
52
54
  __privateAdd(this, _ledgerClient);
@@ -74,7 +76,10 @@ const _LedgerSigner = class _LedgerSigner extends import_cryptography.Signer {
74
76
  * @returns The signed transaction bytes and signature.
75
77
  */
76
78
  async signTransaction(bytes) {
77
- const transactionOptions = await __privateMethod(this, _LedgerSigner_instances, getClearSigningOptions_fn).call(this, bytes).catch(() => ({
79
+ const transactionOptions = await (0, import_objects.getInputObjects)(
80
+ import_transactions.Transaction.from(bytes),
81
+ __privateGet(this, _iotaClient)
82
+ ).catch(() => ({
78
83
  // Fail gracefully so network errors or serialization issues don't break transaction signing:
79
84
  bcsObjects: []
80
85
  }));
@@ -85,7 +90,7 @@ const _LedgerSigner = class _LedgerSigner extends import_cryptography.Signer {
85
90
  transactionOptions
86
91
  );
87
92
  return {
88
- bytes: (0, import_utils.toB64)(bytes),
93
+ bytes: (0, import_utils.toBase64)(bytes),
89
94
  signature: (0, import_cryptography.toSerializedSignature)({
90
95
  signature,
91
96
  signatureScheme: this.getKeyScheme(),
@@ -100,14 +105,14 @@ const _LedgerSigner = class _LedgerSigner extends import_cryptography.Signer {
100
105
  async signPersonalMessage(bytes) {
101
106
  const intentMessage = (0, import_cryptography.messageWithIntent)(
102
107
  "PersonalMessage",
103
- import_bcs2.bcs.byteVector().serialize(bytes).toBytes()
108
+ import_bcs.bcs.byteVector().serialize(bytes).toBytes()
104
109
  );
105
110
  const { signature } = await __privateGet(this, _ledgerClient).signTransaction(
106
111
  __privateGet(this, _derivationPath),
107
112
  intentMessage
108
113
  );
109
114
  return {
110
- bytes: (0, import_utils.toB64)(bytes),
115
+ bytes: (0, import_utils.toBase64)(bytes),
111
116
  signature: (0, import_cryptography.toSerializedSignature)({
112
117
  signature,
113
118
  signatureScheme: this.getKeyScheme(),
@@ -151,41 +156,5 @@ _derivationPath = new WeakMap();
151
156
  _publicKey = new WeakMap();
152
157
  _ledgerClient = new WeakMap();
153
158
  _iotaClient = new WeakMap();
154
- _LedgerSigner_instances = new WeakSet();
155
- getClearSigningOptions_fn = async function(transactionBytes) {
156
- const transaction = import_transactions.Transaction.from(transactionBytes);
157
- const data = transaction.getData();
158
- const gasObjectIds = data.gasData.payment?.map((object) => object.objectId) ?? [];
159
- const inputObjectIds = data.inputs.map((input) => {
160
- return input.$kind === "Object" && input.Object.$kind === "ImmOrOwnedObject" ? input.Object.ImmOrOwnedObject.objectId : null;
161
- }).filter((objectId) => !!objectId);
162
- const objects = await __privateGet(this, _iotaClient).multiGetObjects({
163
- ids: [...gasObjectIds, ...inputObjectIds],
164
- options: {
165
- showBcs: true,
166
- showPreviousTransaction: true,
167
- showStorageRebate: true,
168
- showOwner: true
169
- }
170
- });
171
- const bcsObjects = objects.map((object) => {
172
- if (object.error || !object.data || object.data.bcs?.dataType !== "moveObject") {
173
- return null;
174
- }
175
- return import_bcs.IotaMoveObject.serialize({
176
- data: {
177
- MoveObject: {
178
- type: object.data.bcs.type,
179
- version: object.data.bcs.version,
180
- contents: object.data.bcs.bcsBytes
181
- }
182
- },
183
- owner: object.data.owner,
184
- previousTransaction: object.data.previousTransaction,
185
- storageRebate: object.data.storageRebate
186
- }).toBytes();
187
- }).filter((bcsBytes) => !!bcsBytes);
188
- return { bcsObjects };
189
- };
190
159
  let LedgerSigner = _LedgerSigner;
191
160
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ledger/index.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type IotaLedgerClient from '@iota/ledgerjs-hw-app-iota';\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport type { SignatureWithBytes } from '@iota/iota-sdk/cryptography';\nimport { messageWithIntent, Signer, toSerializedSignature } from '@iota/iota-sdk/cryptography';\nimport { Ed25519PublicKey } from '@iota/iota-sdk/keypairs/ed25519';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport { toB64 } from '@iota/iota-sdk/utils';\n\nimport { IotaMoveObject } from './bcs.js';\nimport { bcs } from '@iota/iota-sdk/bcs';\n\n/**\n * Configuration options for initializing the LedgerSigner.\n */\nexport interface LedgerSignerOptions {\n publicKey: Ed25519PublicKey;\n derivationPath: string;\n ledgerClient: IotaLedgerClient;\n iotaClient: IotaClient;\n}\n\n/**\n * Ledger integrates with the Iota blockchain to provide signing capabilities using Ledger devices.\n */\nexport class LedgerSigner extends Signer {\n #derivationPath: string;\n #publicKey: Ed25519PublicKey;\n #ledgerClient: IotaLedgerClient;\n #iotaClient: IotaClient;\n\n /**\n * Creates an instance of LedgerSigner. It's expected to call the static `fromDerivationPath` method to create an instance.\n * @example\n * ```\n * const signer = await LedgerSigner.fromDerivationPath(derivationPath, options);\n * ```\n */\n constructor({ publicKey, derivationPath, ledgerClient, iotaClient }: LedgerSignerOptions) {\n super();\n this.#publicKey = publicKey;\n this.#derivationPath = derivationPath;\n this.#ledgerClient = ledgerClient;\n this.#iotaClient = iotaClient;\n }\n\n /**\n * Retrieves the key scheme used by this signer.\n */\n override getKeyScheme() {\n return 'ED25519' as const;\n }\n\n /**\n * Retrieves the public key associated with this signer.\n * @returns The Ed25519PublicKey instance.\n */\n override getPublicKey() {\n return this.#publicKey;\n }\n\n /**\n * Signs the provided transaction bytes.\n * @returns The signed transaction bytes and signature.\n */\n override async signTransaction(bytes: Uint8Array): Promise<SignatureWithBytes> {\n const transactionOptions = await this.#getClearSigningOptions(bytes).catch(() => ({\n // Fail gracefully so network errors or serialization issues don't break transaction signing:\n bcsObjects: [],\n }));\n\n const intentMessage = messageWithIntent('TransactionData', bytes);\n const { signature } = await this.#ledgerClient.signTransaction(\n this.#derivationPath,\n intentMessage,\n transactionOptions,\n );\n\n return {\n bytes: toB64(bytes),\n signature: toSerializedSignature({\n signature,\n signatureScheme: this.getKeyScheme(),\n publicKey: this.#publicKey,\n }),\n };\n }\n\n /**\n * Signs the provided personal message.\n * @returns The signed message bytes and signature.\n */\n override async signPersonalMessage(bytes: Uint8Array): Promise<SignatureWithBytes> {\n const intentMessage = messageWithIntent(\n 'PersonalMessage',\n bcs.byteVector().serialize(bytes).toBytes(),\n );\n const { signature } = await this.#ledgerClient.signTransaction(\n this.#derivationPath,\n intentMessage,\n );\n\n return {\n bytes: toB64(bytes),\n signature: toSerializedSignature({\n signature,\n signatureScheme: this.getKeyScheme(),\n publicKey: this.#publicKey,\n }),\n };\n }\n\n /**\n * Prepares the signer by fetching and setting the public key from a Ledger device.\n * It is recommended to initialize an `LedgerSigner` instance using this function.\n * @returns A promise that resolves once a `LedgerSigner` instance is prepared (public key is set).\n */\n static async fromDerivationPath(\n derivationPath: string,\n ledgerClient: IotaLedgerClient,\n iotaClient: IotaClient,\n ) {\n const { publicKey } = await ledgerClient.getPublicKey(derivationPath);\n if (!publicKey) {\n throw new Error('Failed to get public key from Ledger.');\n }\n\n return new LedgerSigner({\n derivationPath,\n publicKey: new Ed25519PublicKey(publicKey),\n ledgerClient,\n iotaClient,\n });\n }\n\n async #getClearSigningOptions(transactionBytes: Uint8Array) {\n const transaction = Transaction.from(transactionBytes);\n const data = transaction.getData();\n\n const gasObjectIds = data.gasData.payment?.map((object) => object.objectId) ?? [];\n const inputObjectIds = data.inputs\n .map((input) => {\n return input.$kind === 'Object' && input.Object.$kind === 'ImmOrOwnedObject'\n ? input.Object.ImmOrOwnedObject.objectId\n : null;\n })\n .filter((objectId): objectId is string => !!objectId);\n\n const objects = await this.#iotaClient.multiGetObjects({\n ids: [...gasObjectIds, ...inputObjectIds],\n options: {\n showBcs: true,\n showPreviousTransaction: true,\n showStorageRebate: true,\n showOwner: true,\n },\n });\n\n // NOTE: We should probably get rid of this manual serialization logic in favor of using the\n // already serialized object bytes from the GraphQL API once there is more mainstream support\n // for it + we can enforce the transport type on the Iota client.\n const bcsObjects = objects\n .map((object) => {\n if (object.error || !object.data || object.data.bcs?.dataType !== 'moveObject') {\n return null;\n }\n\n return IotaMoveObject.serialize({\n data: {\n MoveObject: {\n type: object.data.bcs.type,\n version: object.data.bcs.version,\n contents: object.data.bcs.bcsBytes,\n },\n },\n owner: object.data.owner!,\n previousTransaction: object.data.previousTransaction!,\n storageRebate: object.data.storageRebate!,\n }).toBytes();\n })\n .filter((bcsBytes): bcsBytes is Uint8Array => !!bcsBytes);\n\n return { bcsObjects };\n }\n\n /**\n * Generic signing is not supported by Ledger.\n * @throws Always throws an error indicating generic signing is unsupported.\n */\n override sign(): never {\n throw new Error('Ledger Signer does not support generic signing.');\n }\n\n /**\n * Generic signing is not supported by Ledger.\n * @throws Always throws an error indicating generic signing is unsupported.\n */\n override signWithIntent(): never {\n throw new Error('Ledger Signer does not support generic signing.');\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_bcs"]
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type IotaLedgerClient from '@iota/ledgerjs-hw-app-iota';\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport type { SignatureWithBytes } from '@iota/iota-sdk/cryptography';\nimport { messageWithIntent, Signer, toSerializedSignature } from '@iota/iota-sdk/cryptography';\nimport { Ed25519PublicKey } from '@iota/iota-sdk/keypairs/ed25519';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport { toBase64 } from '@iota/iota-sdk/utils';\n\nimport { bcs } from '@iota/iota-sdk/bcs';\nimport { getInputObjects } from './objects.js';\n\nexport { IotaMoveObject } from './bcs.js';\nexport { getInputObjects } from './objects.js';\n\n/**\n * Configuration options for initializing the LedgerSigner.\n */\nexport interface LedgerSignerOptions {\n publicKey: Ed25519PublicKey;\n derivationPath: string;\n ledgerClient: IotaLedgerClient;\n iotaClient: IotaClient;\n}\n\n/**\n * Ledger integrates with the Iota blockchain to provide signing capabilities using Ledger devices.\n */\nexport class LedgerSigner extends Signer {\n #derivationPath: string;\n #publicKey: Ed25519PublicKey;\n #ledgerClient: IotaLedgerClient;\n #iotaClient: IotaClient;\n\n /**\n * Creates an instance of LedgerSigner. It's expected to call the static `fromDerivationPath` method to create an instance.\n * @example\n * ```\n * const signer = await LedgerSigner.fromDerivationPath(derivationPath, options);\n * ```\n */\n constructor({ publicKey, derivationPath, ledgerClient, iotaClient }: LedgerSignerOptions) {\n super();\n this.#publicKey = publicKey;\n this.#derivationPath = derivationPath;\n this.#ledgerClient = ledgerClient;\n this.#iotaClient = iotaClient;\n }\n\n /**\n * Retrieves the key scheme used by this signer.\n */\n override getKeyScheme() {\n return 'ED25519' as const;\n }\n\n /**\n * Retrieves the public key associated with this signer.\n * @returns The Ed25519PublicKey instance.\n */\n override getPublicKey() {\n return this.#publicKey;\n }\n\n /**\n * Signs the provided transaction bytes.\n * @returns The signed transaction bytes and signature.\n */\n override async signTransaction(bytes: Uint8Array): Promise<SignatureWithBytes> {\n const transactionOptions = await getInputObjects(\n Transaction.from(bytes),\n this.#iotaClient,\n ).catch(() => ({\n // Fail gracefully so network errors or serialization issues don't break transaction signing:\n bcsObjects: [],\n }));\n\n const intentMessage = messageWithIntent('TransactionData', bytes);\n const { signature } = await this.#ledgerClient.signTransaction(\n this.#derivationPath,\n intentMessage,\n transactionOptions,\n );\n\n return {\n bytes: toBase64(bytes),\n signature: toSerializedSignature({\n signature,\n signatureScheme: this.getKeyScheme(),\n publicKey: this.#publicKey,\n }),\n };\n }\n\n /**\n * Signs the provided personal message.\n * @returns The signed message bytes and signature.\n */\n override async signPersonalMessage(bytes: Uint8Array): Promise<SignatureWithBytes> {\n const intentMessage = messageWithIntent(\n 'PersonalMessage',\n bcs.byteVector().serialize(bytes).toBytes(),\n );\n const { signature } = await this.#ledgerClient.signTransaction(\n this.#derivationPath,\n intentMessage,\n );\n\n return {\n bytes: toBase64(bytes),\n signature: toSerializedSignature({\n signature,\n signatureScheme: this.getKeyScheme(),\n publicKey: this.#publicKey,\n }),\n };\n }\n\n /**\n * Prepares the signer by fetching and setting the public key from a Ledger device.\n * It is recommended to initialize an `LedgerSigner` instance using this function.\n * @returns A promise that resolves once a `LedgerSigner` instance is prepared (public key is set).\n */\n static async fromDerivationPath(\n derivationPath: string,\n ledgerClient: IotaLedgerClient,\n iotaClient: IotaClient,\n ) {\n const { publicKey } = await ledgerClient.getPublicKey(derivationPath);\n if (!publicKey) {\n throw new Error('Failed to get public key from Ledger.');\n }\n\n return new LedgerSigner({\n derivationPath,\n publicKey: new Ed25519PublicKey(publicKey),\n ledgerClient,\n iotaClient,\n });\n }\n\n /**\n * Generic signing is not supported by Ledger.\n * @throws Always throws an error indicating generic signing is unsupported.\n */\n override sign(): never {\n throw new Error('Ledger Signer does not support generic signing.');\n }\n\n /**\n * Generic signing is not supported by Ledger.\n * @throws Always throws an error indicating generic signing is unsupported.\n */\n override signWithIntent(): never {\n throw new Error('Ledger Signer does not support generic signing.');\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,0BAAiE;AACjE,qBAAiC;AACjC,0BAA4B;AAC5B,mBAAyB;AAEzB,iBAAoB;AACpB,qBAAgC;AAEhC,IAAAA,cAA+B;AAC/B,IAAAC,kBAAgC;AAhBhC;AA+BO,MAAM,gBAAN,MAAM,sBAAqB,2BAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAarC,YAAY,EAAE,WAAW,gBAAgB,cAAc,WAAW,GAAwB;AACtF,UAAM;AAbV;AACA;AACA;AACA;AAWI,uBAAK,YAAa;AAClB,uBAAK,iBAAkB;AACvB,uBAAK,eAAgB;AACrB,uBAAK,aAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKS,eAAe;AACpB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMS,eAAe;AACpB,WAAO,mBAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAe,gBAAgB,OAAgD;AAC3E,UAAM,qBAAqB,UAAM;AAAA,MAC7B,gCAAY,KAAK,KAAK;AAAA,MACtB,mBAAK;AAAA,IACT,EAAE,MAAM,OAAO;AAAA;AAAA,MAEX,YAAY,CAAC;AAAA,IACjB,EAAE;AAEF,UAAM,oBAAgB,uCAAkB,mBAAmB,KAAK;AAChE,UAAM,EAAE,UAAU,IAAI,MAAM,mBAAK,eAAc;AAAA,MAC3C,mBAAK;AAAA,MACL;AAAA,MACA;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,WAAO,uBAAS,KAAK;AAAA,MACrB,eAAW,2CAAsB;AAAA,QAC7B;AAAA,QACA,iBAAiB,KAAK,aAAa;AAAA,QACnC,WAAW,mBAAK;AAAA,MACpB,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAe,oBAAoB,OAAgD;AAC/E,UAAM,oBAAgB;AAAA,MAClB;AAAA,MACA,eAAI,WAAW,EAAE,UAAU,KAAK,EAAE,QAAQ;AAAA,IAC9C;AACA,UAAM,EAAE,UAAU,IAAI,MAAM,mBAAK,eAAc;AAAA,MAC3C,mBAAK;AAAA,MACL;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,WAAO,uBAAS,KAAK;AAAA,MACrB,eAAW,2CAAsB;AAAA,QAC7B;AAAA,QACA,iBAAiB,KAAK,aAAa;AAAA,QACnC,WAAW,mBAAK;AAAA,MACpB,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,mBACT,gBACA,cACA,YACF;AACE,UAAM,EAAE,UAAU,IAAI,MAAM,aAAa,aAAa,cAAc;AACpE,QAAI,CAAC,WAAW;AACZ,YAAM,IAAI,MAAM,uCAAuC;AAAA,IAC3D;AAEA,WAAO,IAAI,cAAa;AAAA,MACpB;AAAA,MACA,WAAW,IAAI,gCAAiB,SAAS;AAAA,MACzC;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA,EAMS,OAAc;AACnB,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMS,iBAAwB;AAC7B,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACrE;AACJ;AA/HI;AACA;AACA;AACA;AAJG,IAAM,eAAN;",
6
+ "names": ["import_bcs", "import_objects"]
7
7
  }
@@ -0,0 +1,6 @@
1
+ import type { Transaction } from '@iota/iota-sdk/transactions';
2
+ import type { IotaClient } from '@iota/iota-sdk/client';
3
+ export declare const getInputObjects: (transaction: Transaction, client: IotaClient) => Promise<{
4
+ bcsObjects: Uint8Array<ArrayBuffer>[];
5
+ }>;
6
+ //# sourceMappingURL=objects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/ledger/objects.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,eAAe,GAAU,aAAa,WAAW,EAAE,QAAQ,UAAU;;EA+CjF,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var objects_exports = {};
20
+ __export(objects_exports, {
21
+ getInputObjects: () => getInputObjects
22
+ });
23
+ module.exports = __toCommonJS(objects_exports);
24
+ var import_bcs = require("./bcs.js");
25
+ const getInputObjects = async (transaction, client) => {
26
+ const data = transaction.getData();
27
+ const gasObjectIds = data.gasData.payment?.map((object) => object.objectId) ?? [];
28
+ const inputObjectIds = data.inputs.map((input) => {
29
+ return input.$kind === "Object" && input.Object.$kind === "ImmOrOwnedObject" ? input.Object.ImmOrOwnedObject.objectId : null;
30
+ }).filter((objectId) => !!objectId);
31
+ const objects = await client.multiGetObjects({
32
+ ids: [...gasObjectIds, ...inputObjectIds],
33
+ options: {
34
+ showBcs: true,
35
+ showPreviousTransaction: true,
36
+ showStorageRebate: true,
37
+ showOwner: true
38
+ }
39
+ });
40
+ const bcsObjects = objects.map((object) => {
41
+ if (object.error || !object.data || object.data.bcs?.dataType !== "moveObject") {
42
+ return null;
43
+ }
44
+ return import_bcs.IotaMoveObject.serialize({
45
+ data: {
46
+ MoveObject: {
47
+ type: object.data.bcs.type,
48
+ version: object.data.bcs.version,
49
+ contents: object.data.bcs.bcsBytes
50
+ }
51
+ },
52
+ owner: object.data.owner,
53
+ previousTransaction: object.data.previousTransaction,
54
+ storageRebate: object.data.storageRebate
55
+ }).toBytes();
56
+ }).filter((bcsBytes) => !!bcsBytes);
57
+ return { bcsObjects };
58
+ };
59
+ //# sourceMappingURL=objects.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ledger/objects.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2026 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction } from '@iota/iota-sdk/transactions';\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { IotaMoveObject } from './bcs.js';\n\nexport const getInputObjects = async (transaction: Transaction, client: IotaClient) => {\n const data = transaction.getData();\n\n const gasObjectIds = data.gasData.payment?.map((object) => object.objectId) ?? [];\n const inputObjectIds = data.inputs\n .map((input) => {\n return input.$kind === 'Object' && input.Object.$kind === 'ImmOrOwnedObject'\n ? input.Object.ImmOrOwnedObject.objectId\n : null;\n })\n .filter((objectId): objectId is string => !!objectId);\n\n const objects = await client.multiGetObjects({\n ids: [...gasObjectIds, ...inputObjectIds],\n options: {\n showBcs: true,\n showPreviousTransaction: true,\n showStorageRebate: true,\n showOwner: true,\n },\n });\n\n // NOTE: We should probably get rid of this manual serialization logic in favor of using the\n // already serialized object bytes from the GraphQL API once there is more mainstream support\n // for it + we can enforce the transport type on the IOTA client.\n const bcsObjects = objects\n .map((object) => {\n if (object.error || !object.data || object.data.bcs?.dataType !== 'moveObject') {\n return null;\n }\n\n return IotaMoveObject.serialize({\n data: {\n MoveObject: {\n type: object.data.bcs.type,\n version: object.data.bcs.version,\n contents: object.data.bcs.bcsBytes,\n },\n },\n owner: object.data.owner!,\n previousTransaction: object.data.previousTransaction!,\n storageRebate: object.data.storageRebate!,\n }).toBytes();\n })\n .filter((bcsBytes): bcsBytes is Uint8Array<ArrayBuffer> => !!bcsBytes);\n\n return { bcsObjects };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iBAA+B;AAExB,MAAM,kBAAkB,OAAO,aAA0B,WAAuB;AACnF,QAAM,OAAO,YAAY,QAAQ;AAEjC,QAAM,eAAe,KAAK,QAAQ,SAAS,IAAI,CAAC,WAAW,OAAO,QAAQ,KAAK,CAAC;AAChF,QAAM,iBAAiB,KAAK,OACvB,IAAI,CAAC,UAAU;AACZ,WAAO,MAAM,UAAU,YAAY,MAAM,OAAO,UAAU,qBACpD,MAAM,OAAO,iBAAiB,WAC9B;AAAA,EACV,CAAC,EACA,OAAO,CAAC,aAAiC,CAAC,CAAC,QAAQ;AAExD,QAAM,UAAU,MAAM,OAAO,gBAAgB;AAAA,IACzC,KAAK,CAAC,GAAG,cAAc,GAAG,cAAc;AAAA,IACxC,SAAS;AAAA,MACL,SAAS;AAAA,MACT,yBAAyB;AAAA,MACzB,mBAAmB;AAAA,MACnB,WAAW;AAAA,IACf;AAAA,EACJ,CAAC;AAKD,QAAM,aAAa,QACd,IAAI,CAAC,WAAW;AACb,QAAI,OAAO,SAAS,CAAC,OAAO,QAAQ,OAAO,KAAK,KAAK,aAAa,cAAc;AAC5E,aAAO;AAAA,IACX;AAEA,WAAO,0BAAe,UAAU;AAAA,MAC5B,MAAM;AAAA,QACF,YAAY;AAAA,UACR,MAAM,OAAO,KAAK,IAAI;AAAA,UACtB,SAAS,OAAO,KAAK,IAAI;AAAA,UACzB,UAAU,OAAO,KAAK,IAAI;AAAA,QAC9B;AAAA,MACJ;AAAA,MACA,OAAO,OAAO,KAAK;AAAA,MACnB,qBAAqB,OAAO,KAAK;AAAA,MACjC,eAAe,OAAO,KAAK;AAAA,IAC/B,CAAC,EAAE,QAAQ;AAAA,EACf,CAAC,EACA,OAAO,CAAC,aAAkD,CAAC,CAAC,QAAQ;AAEzE,SAAO,EAAE,WAAW;AACxB;",
6
+ "names": []
7
+ }
@@ -24,3 +24,4 @@ export declare class WebCryptoSigner extends Signer {
24
24
  getPublicKey(): Secp256r1PublicKey;
25
25
  sign(bytes: Uint8Array): Promise<Uint8Array>;
26
26
  }
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webcrypto/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAkBvE,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,eAAgB,SAAQ,MAAM;;IACvC,UAAU,EAAE,SAAS,CAAC;WAIT,QAAQ,CAAC,EAAE,WAAmB,EAAE,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO;IAkB7E;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB;IAI5C,YAAY,IAAI,eAAe;gBAInB,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU;IAMxD;;OAEG;IACH,MAAM,IAAI,wBAAwB;IAkBlC,YAAY;IAIN,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAcrD"}
@@ -1,25 +1,14 @@
1
1
  import type { ObjectOwner } from '@iota/iota-sdk/client';
2
- export declare const IotaMoveObject: import("@iota/iota-sdk/bcs").BcsType<{
3
- data: {
4
- MoveObject: {
5
- type: any;
6
- version: string;
7
- contents: any;
8
- };
9
- $kind: "MoveObject";
10
- };
11
- owner: any;
12
- previousTransaction: string;
13
- storageRebate: string;
14
- }, {
15
- data: {
16
- MoveObject: {
17
- type: string;
18
- version: string | number | bigint;
19
- contents: string;
20
- };
21
- };
22
- owner: ObjectOwner;
23
- previousTransaction: string;
24
- storageRebate: string | number | bigint;
25
- }>;
2
+ export declare const IotaMoveObject: import("@iota/iota-sdk/bcs").BcsStruct<{
3
+ data: import("@iota/iota-sdk/bcs").BcsEnum<{
4
+ MoveObject: import("@iota/iota-sdk/bcs").BcsStruct<{
5
+ type: import("@iota/iota-sdk/bcs").BcsType<any, string, string>;
6
+ version: import("@iota/iota-sdk/bcs").BcsType<string, string | number | bigint, "u64">;
7
+ contents: import("@iota/iota-sdk/bcs").BcsType<any, string, string>;
8
+ }, string>;
9
+ }, "Data">;
10
+ owner: import("@iota/iota-sdk/bcs").BcsType<any, ObjectOwner, string>;
11
+ previousTransaction: import("@iota/iota-sdk/bcs").BcsType<string, string, "ObjectDigest">;
12
+ storageRebate: import("@iota/iota-sdk/bcs").BcsType<string, string | number | bigint, "u64">;
13
+ }, string>;
14
+ //# sourceMappingURL=bcs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bcs.d.ts","sourceRoot":"","sources":["../../../src/ledger/bcs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAkBzD,eAAO,MAAM,cAAc;;;;;;;;;;;UA4DzB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { bcs, TypeTagSerializer } from "@iota/iota-sdk/bcs";
2
2
  import {
3
- fromB64,
3
+ fromBase64,
4
4
  normalizeStructTag,
5
5
  normalizeIotaAddress,
6
6
  parseStructTag
@@ -42,7 +42,7 @@ const IotaMoveObject = bcs.struct("IotaMoveObject", {
42
42
  }
43
43
  }),
44
44
  version: bcs.u64(),
45
- contents: bcs.byteVector().transform({ input: fromB64 })
45
+ contents: bcs.byteVector().transform({ input: fromBase64 })
46
46
  })
47
47
  }),
48
48
  owner: bcs.Owner.transform({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ledger/bcs.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, TypeTagSerializer } from '@iota/iota-sdk/bcs';\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport {\n fromB64,\n normalizeStructTag,\n normalizeIotaAddress,\n parseStructTag,\n} from '@iota/iota-sdk/utils';\n\nconst IOTA_FRAMEWORK_ADDRESS = normalizeIotaAddress('0x2');\nconst IOTA_SYSTEM_ADDRESS = normalizeIotaAddress('0x3');\n\nconst MoveObjectType = bcs.enum('MoveObjectType', {\n Other: bcs.StructTag,\n GasCoin: null,\n StakedIota: null,\n Coin: bcs.TypeTag,\n});\n\nexport const IotaMoveObject = bcs.struct('IotaMoveObject', {\n data: bcs.enum('Data', {\n MoveObject: bcs.struct('MoveObject', {\n type: MoveObjectType.transform({\n input: (objectType: string): typeof MoveObjectType.$inferType => {\n const structTag = parseStructTag(objectType);\n\n if (\n structTag.address === IOTA_FRAMEWORK_ADDRESS &&\n structTag.module === 'coin' &&\n structTag.name === 'Coin' &&\n typeof structTag.typeParams[0] === 'object'\n ) {\n const innerStructTag = structTag.typeParams[0];\n if (\n innerStructTag.address === IOTA_FRAMEWORK_ADDRESS &&\n innerStructTag.module === 'iota' &&\n innerStructTag.name === 'IOTA'\n ) {\n return { GasCoin: true, $kind: 'GasCoin' };\n }\n return { Coin: normalizeStructTag(innerStructTag), $kind: 'Coin' };\n } else if (\n structTag.address === IOTA_SYSTEM_ADDRESS &&\n structTag.module === 'staking_pool' &&\n structTag.name === 'StakedIota'\n ) {\n return { StakedIota: true, $kind: 'StakedIota' };\n }\n return {\n Other: {\n ...structTag,\n typeParams: structTag.typeParams.map((typeParam) => {\n return TypeTagSerializer.parseFromStr(\n normalizeStructTag(typeParam),\n );\n }),\n },\n $kind: 'Other',\n };\n },\n }),\n version: bcs.u64(),\n contents: bcs.byteVector().transform({ input: fromB64 }),\n }),\n }),\n owner: bcs.Owner.transform({\n input: (objectOwner: ObjectOwner) => {\n if (objectOwner === 'Immutable') {\n return { Immutable: null };\n } else if ('Shared' in objectOwner) {\n return {\n Shared: { initialSharedVersion: objectOwner.Shared.initial_shared_version },\n };\n }\n return objectOwner;\n },\n }),\n previousTransaction: bcs.ObjectDigest,\n storageRebate: bcs.u64(),\n});\n"],
5
- "mappings": "AAIA,SAAS,KAAK,yBAAyB;AAEvC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,MAAM,yBAAyB,qBAAqB,KAAK;AACzD,MAAM,sBAAsB,qBAAqB,KAAK;AAEtD,MAAM,iBAAiB,IAAI,KAAK,kBAAkB;AAAA,EAC9C,OAAO,IAAI;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM,IAAI;AACd,CAAC;AAEM,MAAM,iBAAiB,IAAI,OAAO,kBAAkB;AAAA,EACvD,MAAM,IAAI,KAAK,QAAQ;AAAA,IACnB,YAAY,IAAI,OAAO,cAAc;AAAA,MACjC,MAAM,eAAe,UAAU;AAAA,QAC3B,OAAO,CAAC,eAAyD;AAC7D,gBAAM,YAAY,eAAe,UAAU;AAE3C,cACI,UAAU,YAAY,0BACtB,UAAU,WAAW,UACrB,UAAU,SAAS,UACnB,OAAO,UAAU,WAAW,CAAC,MAAM,UACrC;AACE,kBAAM,iBAAiB,UAAU,WAAW,CAAC;AAC7C,gBACI,eAAe,YAAY,0BAC3B,eAAe,WAAW,UAC1B,eAAe,SAAS,QAC1B;AACE,qBAAO,EAAE,SAAS,MAAM,OAAO,UAAU;AAAA,YAC7C;AACA,mBAAO,EAAE,MAAM,mBAAmB,cAAc,GAAG,OAAO,OAAO;AAAA,UACrE,WACI,UAAU,YAAY,uBACtB,UAAU,WAAW,kBACrB,UAAU,SAAS,cACrB;AACE,mBAAO,EAAE,YAAY,MAAM,OAAO,aAAa;AAAA,UACnD;AACA,iBAAO;AAAA,YACH,OAAO;AAAA,cACH,GAAG;AAAA,cACH,YAAY,UAAU,WAAW,IAAI,CAAC,cAAc;AAChD,uBAAO,kBAAkB;AAAA,kBACrB,mBAAmB,SAAS;AAAA,gBAChC;AAAA,cACJ,CAAC;AAAA,YACL;AAAA,YACA,OAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,MACD,SAAS,IAAI,IAAI;AAAA,MACjB,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,OAAO,QAAQ,CAAC;AAAA,IAC3D,CAAC;AAAA,EACL,CAAC;AAAA,EACD,OAAO,IAAI,MAAM,UAAU;AAAA,IACvB,OAAO,CAAC,gBAA6B;AACjC,UAAI,gBAAgB,aAAa;AAC7B,eAAO,EAAE,WAAW,KAAK;AAAA,MAC7B,WAAW,YAAY,aAAa;AAChC,eAAO;AAAA,UACH,QAAQ,EAAE,sBAAsB,YAAY,OAAO,uBAAuB;AAAA,QAC9E;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AAAA,EACD,qBAAqB,IAAI;AAAA,EACzB,eAAe,IAAI,IAAI;AAC3B,CAAC;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, TypeTagSerializer } from '@iota/iota-sdk/bcs';\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport {\n fromBase64,\n normalizeStructTag,\n normalizeIotaAddress,\n parseStructTag,\n} from '@iota/iota-sdk/utils';\n\nconst IOTA_FRAMEWORK_ADDRESS = normalizeIotaAddress('0x2');\nconst IOTA_SYSTEM_ADDRESS = normalizeIotaAddress('0x3');\n\nconst MoveObjectType = bcs.enum('MoveObjectType', {\n Other: bcs.StructTag,\n GasCoin: null,\n StakedIota: null,\n Coin: bcs.TypeTag,\n});\n\nexport const IotaMoveObject = bcs.struct('IotaMoveObject', {\n data: bcs.enum('Data', {\n MoveObject: bcs.struct('MoveObject', {\n type: MoveObjectType.transform({\n input: (objectType: string): typeof MoveObjectType.$inferType => {\n const structTag = parseStructTag(objectType);\n\n if (\n structTag.address === IOTA_FRAMEWORK_ADDRESS &&\n structTag.module === 'coin' &&\n structTag.name === 'Coin' &&\n typeof structTag.typeParams[0] === 'object'\n ) {\n const innerStructTag = structTag.typeParams[0];\n if (\n innerStructTag.address === IOTA_FRAMEWORK_ADDRESS &&\n innerStructTag.module === 'iota' &&\n innerStructTag.name === 'IOTA'\n ) {\n return { GasCoin: true, $kind: 'GasCoin' };\n }\n return { Coin: normalizeStructTag(innerStructTag), $kind: 'Coin' };\n } else if (\n structTag.address === IOTA_SYSTEM_ADDRESS &&\n structTag.module === 'staking_pool' &&\n structTag.name === 'StakedIota'\n ) {\n return { StakedIota: true, $kind: 'StakedIota' };\n }\n return {\n Other: {\n ...structTag,\n typeParams: structTag.typeParams.map((typeParam) => {\n return TypeTagSerializer.parseFromStr(\n normalizeStructTag(typeParam),\n );\n }),\n },\n $kind: 'Other',\n };\n },\n }),\n version: bcs.u64(),\n contents: bcs.byteVector().transform({ input: fromBase64 }),\n }),\n }),\n owner: bcs.Owner.transform({\n input: (objectOwner: ObjectOwner) => {\n if (objectOwner === 'Immutable') {\n return { Immutable: null };\n } else if ('Shared' in objectOwner) {\n return {\n Shared: { initialSharedVersion: objectOwner.Shared.initial_shared_version },\n };\n }\n return objectOwner;\n },\n }),\n previousTransaction: bcs.ObjectDigest,\n storageRebate: bcs.u64(),\n});\n"],
5
+ "mappings": "AAIA,SAAS,KAAK,yBAAyB;AAEvC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,MAAM,yBAAyB,qBAAqB,KAAK;AACzD,MAAM,sBAAsB,qBAAqB,KAAK;AAEtD,MAAM,iBAAiB,IAAI,KAAK,kBAAkB;AAAA,EAC9C,OAAO,IAAI;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM,IAAI;AACd,CAAC;AAEM,MAAM,iBAAiB,IAAI,OAAO,kBAAkB;AAAA,EACvD,MAAM,IAAI,KAAK,QAAQ;AAAA,IACnB,YAAY,IAAI,OAAO,cAAc;AAAA,MACjC,MAAM,eAAe,UAAU;AAAA,QAC3B,OAAO,CAAC,eAAyD;AAC7D,gBAAM,YAAY,eAAe,UAAU;AAE3C,cACI,UAAU,YAAY,0BACtB,UAAU,WAAW,UACrB,UAAU,SAAS,UACnB,OAAO,UAAU,WAAW,CAAC,MAAM,UACrC;AACE,kBAAM,iBAAiB,UAAU,WAAW,CAAC;AAC7C,gBACI,eAAe,YAAY,0BAC3B,eAAe,WAAW,UAC1B,eAAe,SAAS,QAC1B;AACE,qBAAO,EAAE,SAAS,MAAM,OAAO,UAAU;AAAA,YAC7C;AACA,mBAAO,EAAE,MAAM,mBAAmB,cAAc,GAAG,OAAO,OAAO;AAAA,UACrE,WACI,UAAU,YAAY,uBACtB,UAAU,WAAW,kBACrB,UAAU,SAAS,cACrB;AACE,mBAAO,EAAE,YAAY,MAAM,OAAO,aAAa;AAAA,UACnD;AACA,iBAAO;AAAA,YACH,OAAO;AAAA,cACH,GAAG;AAAA,cACH,YAAY,UAAU,WAAW,IAAI,CAAC,cAAc;AAChD,uBAAO,kBAAkB;AAAA,kBACrB,mBAAmB,SAAS;AAAA,gBAChC;AAAA,cACJ,CAAC;AAAA,YACL;AAAA,YACA,OAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,MACD,SAAS,IAAI,IAAI;AAAA,MACjB,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,OAAO,WAAW,CAAC;AAAA,IAC9D,CAAC;AAAA,EACL,CAAC;AAAA,EACD,OAAO,IAAI,MAAM,UAAU;AAAA,IACvB,OAAO,CAAC,gBAA6B;AACjC,UAAI,gBAAgB,aAAa;AAC7B,eAAO,EAAE,WAAW,KAAK;AAAA,MAC7B,WAAW,YAAY,aAAa;AAChC,eAAO;AAAA,UACH,QAAQ,EAAE,sBAAsB,YAAY,OAAO,uBAAuB;AAAA,QAC9E;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AAAA,EACD,qBAAqB,IAAI;AAAA,EACzB,eAAe,IAAI,IAAI;AAC3B,CAAC;",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,8 @@ import type { IotaClient } from '@iota/iota-sdk/client';
3
3
  import type { SignatureWithBytes } from '@iota/iota-sdk/cryptography';
4
4
  import { Signer } from '@iota/iota-sdk/cryptography';
5
5
  import { Ed25519PublicKey } from '@iota/iota-sdk/keypairs/ed25519';
6
+ export { IotaMoveObject } from './bcs.js';
7
+ export { getInputObjects } from './objects.js';
6
8
  /**
7
9
  * Configuration options for initializing the LedgerSigner.
8
10
  */
@@ -61,3 +63,4 @@ export declare class LedgerSigner extends Signer {
61
63
  */
62
64
  signWithIntent(): never;
63
65
  }
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAqB,MAAM,EAAyB,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAOnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM;;IAMpC;;;;;;OAMG;gBACS,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,mBAAmB;IAQxF;;OAEG;IACM,YAAY,IACV,SAAS;IAGpB;;;OAGG;IACM,YAAY;IAIrB;;;OAGG;IACY,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0B9E;;;OAGG;IACY,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoBlF;;;;OAIG;WACU,kBAAkB,CAC3B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,UAAU;IAe1B;;;OAGG;IACM,IAAI,IAAI,KAAK;IAItB;;;OAGG;IACM,cAAc,IAAI,KAAK;CAGnC"}