@ledgerhq/device-signer-kit-solana 0.0.0-transactionInspector-resolutionObj-20250916113438 → 0.0.0-v0-transaction-unfunded-20250918091119

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 (83) hide show
  1. package/README.md +132 -25
  2. package/lib/cjs/api/SignerSolana.js +1 -1
  3. package/lib/cjs/api/SignerSolana.js.map +1 -1
  4. package/lib/cjs/api/SolanaTools.js +1 -1
  5. package/lib/cjs/api/SolanaTools.js.map +1 -1
  6. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  7. package/lib/cjs/api/index.js +1 -1
  8. package/lib/cjs/api/index.js.map +2 -2
  9. package/lib/cjs/api/model/TransactionOptions.js +1 -1
  10. package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
  11. package/lib/cjs/internal/DefaultSignerSolana.js +1 -1
  12. package/lib/cjs/internal/DefaultSignerSolana.js.map +3 -3
  13. package/lib/cjs/internal/app-binder/SolanaAppBinder.js +1 -1
  14. package/lib/cjs/internal/app-binder/SolanaAppBinder.js.map +2 -2
  15. package/lib/cjs/internal/app-binder/SolanaAppBinder.test.js +1 -1
  16. package/lib/cjs/internal/app-binder/SolanaAppBinder.test.js.map +2 -2
  17. package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.js +1 -1
  18. package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.js.map +2 -2
  19. package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.test.js +1 -1
  20. package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.test.js.map +2 -2
  21. package/lib/cjs/internal/app-binder/services/TransactionInspector.js +1 -1
  22. package/lib/cjs/internal/app-binder/services/TransactionInspector.js.map +3 -3
  23. package/lib/cjs/internal/app-binder/services/TransactionInspector.test.js +2 -0
  24. package/lib/cjs/internal/app-binder/services/TransactionInspector.test.js.map +7 -0
  25. package/lib/cjs/internal/app-binder/services/utils/transactionDecoders.js +1 -1
  26. package/lib/cjs/internal/app-binder/services/utils/transactionDecoders.js.map +3 -3
  27. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  28. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +1 -1
  29. package/lib/cjs/internal/use-cases/transaction/SignTransactionUseCase.js +1 -1
  30. package/lib/cjs/internal/use-cases/transaction/SignTransactionUseCase.js.map +3 -3
  31. package/lib/cjs/internal/use-cases/transaction/SignTransactionUseCase.test.js +1 -1
  32. package/lib/cjs/internal/use-cases/transaction/SignTransactionUseCase.test.js.map +2 -2
  33. package/lib/esm/api/index.js +1 -1
  34. package/lib/esm/api/index.js.map +2 -2
  35. package/lib/esm/internal/DefaultSignerSolana.js.map +3 -3
  36. package/lib/esm/internal/app-binder/SolanaAppBinder.js +1 -1
  37. package/lib/esm/internal/app-binder/SolanaAppBinder.js.map +2 -2
  38. package/lib/esm/internal/app-binder/SolanaAppBinder.test.js +1 -1
  39. package/lib/esm/internal/app-binder/SolanaAppBinder.test.js.map +2 -2
  40. package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.js +1 -1
  41. package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.js.map +2 -2
  42. package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.test.js +1 -1
  43. package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.test.js.map +2 -2
  44. package/lib/esm/internal/app-binder/services/TransactionInspector.js +1 -1
  45. package/lib/esm/internal/app-binder/services/TransactionInspector.js.map +3 -3
  46. package/lib/esm/internal/app-binder/services/TransactionInspector.test.js +2 -0
  47. package/lib/esm/internal/app-binder/services/TransactionInspector.test.js.map +7 -0
  48. package/lib/esm/internal/app-binder/services/utils/transactionDecoders.js +1 -1
  49. package/lib/esm/internal/app-binder/services/utils/transactionDecoders.js.map +3 -3
  50. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  51. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +1 -1
  52. package/lib/esm/internal/use-cases/transaction/SignTransactionUseCase.js +1 -1
  53. package/lib/esm/internal/use-cases/transaction/SignTransactionUseCase.js.map +3 -3
  54. package/lib/esm/internal/use-cases/transaction/SignTransactionUseCase.test.js +1 -1
  55. package/lib/esm/internal/use-cases/transaction/SignTransactionUseCase.test.js.map +2 -2
  56. package/lib/types/api/SignerSolana.d.ts +2 -3
  57. package/lib/types/api/SignerSolana.d.ts.map +1 -1
  58. package/lib/types/api/SolanaTools.d.ts +1 -2
  59. package/lib/types/api/SolanaTools.d.ts.map +1 -1
  60. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +3 -4
  61. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  62. package/lib/types/api/index.d.ts +0 -1
  63. package/lib/types/api/index.d.ts.map +1 -1
  64. package/lib/types/api/model/TransactionOptions.d.ts +5 -6
  65. package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
  66. package/lib/types/internal/DefaultSignerSolana.d.ts +337 -2
  67. package/lib/types/internal/DefaultSignerSolana.d.ts.map +1 -1
  68. package/lib/types/internal/app-binder/SolanaAppBinder.d.ts +2 -3
  69. package/lib/types/internal/app-binder/SolanaAppBinder.d.ts.map +1 -1
  70. package/lib/types/internal/app-binder/device-action/SignTransactionDeviceAction.d.ts +2 -1
  71. package/lib/types/internal/app-binder/device-action/SignTransactionDeviceAction.d.ts.map +1 -1
  72. package/lib/types/internal/app-binder/services/TransactionInspector.d.ts +18 -4
  73. package/lib/types/internal/app-binder/services/TransactionInspector.d.ts.map +1 -1
  74. package/lib/types/internal/app-binder/services/TransactionInspector.test.d.ts +2 -0
  75. package/lib/types/internal/app-binder/services/TransactionInspector.test.d.ts.map +1 -0
  76. package/lib/types/internal/app-binder/services/utils/transactionDecoders.d.ts +10 -12
  77. package/lib/types/internal/app-binder/services/utils/transactionDecoders.d.ts.map +1 -1
  78. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +2 -2
  79. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
  80. package/lib/types/internal/use-cases/transaction/SignTransactionUseCase.d.ts +2 -4
  81. package/lib/types/internal/use-cases/transaction/SignTransactionUseCase.d.ts.map +1 -1
  82. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  83. package/package.json +8 -8
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/BuildTransactionContextTask.ts"],
4
- "sourcesContent": ["import {\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\n\nexport type SolanaBuildContextResult = {\n challenge: string | undefined;\n addressResult: {\n tokenAccount: string;\n owner: string;\n contract: string;\n };\n calCertificate: PkiCertificate;\n descriptor: Uint8Array;\n};\n\nexport type BuildTransactionContextTaskArgs = {\n readonly contextModule: ContextModule;\n readonly options: TransactionOptions;\n};\n\nexport class BuildTransactionContextTask {\n constructor(\n private readonly api: InternalApi,\n private readonly args: BuildTransactionContextTaskArgs,\n ) {}\n\n async run(): Promise<SolanaBuildContextResult> {\n const { contextModule, options } = this.args;\n const deviceState = this.api.getDeviceSessionState();\n\n // get challenge\n let challenge: string | undefined;\n const challengeRes = await this.api.sendCommand(new GetChallengeCommand());\n if (isSuccessCommandResult(challengeRes)) {\n challenge = challengeRes.data.challenge;\n }\n\n // get Solana context\n const contextResult = await contextModule.getSolanaContext({\n deviceModelId: deviceState.deviceModelId,\n tokenAddress: options.tokenAddress,\n challenge,\n createATA: options.createATA,\n });\n\n return contextResult.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (ctx) => {\n return {\n challenge,\n descriptor: ctx.descriptor,\n addressResult: {\n tokenAccount: ctx.tokenAccount,\n owner: ctx.owner,\n contract: ctx.contract,\n },\n calCertificate: ctx.certificate,\n };\n },\n });\n }\n}\n"],
4
+ "sourcesContent": ["import {\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type TransactionResolutionContext } from \"@api/model/TransactionResolutionContext\";\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\n\nexport type SolanaBuildContextResult = {\n challenge: string | undefined;\n addressResult: {\n tokenAccount: string;\n owner: string;\n contract: string;\n };\n calCertificate: PkiCertificate;\n descriptor: Uint8Array;\n};\n\nexport type BuildTransactionContextTaskArgs = {\n readonly contextModule: ContextModule;\n readonly options: TransactionResolutionContext;\n};\n\nexport class BuildTransactionContextTask {\n constructor(\n private readonly api: InternalApi,\n private readonly args: BuildTransactionContextTaskArgs,\n ) {}\n\n async run(): Promise<SolanaBuildContextResult> {\n const { contextModule, options } = this.args;\n const deviceState = this.api.getDeviceSessionState();\n\n // get challenge\n let challenge: string | undefined;\n const challengeRes = await this.api.sendCommand(new GetChallengeCommand());\n if (isSuccessCommandResult(challengeRes)) {\n challenge = challengeRes.data.challenge;\n }\n\n // get Solana context\n const contextResult = await contextModule.getSolanaContext({\n deviceModelId: deviceState.deviceModelId,\n tokenAddress: options.tokenAddress,\n challenge,\n createATA: options.createATA,\n });\n\n return contextResult.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (ctx) => {\n return {\n challenge,\n descriptor: ctx.descriptor,\n addressResult: {\n tokenAccount: ctx.tokenAccount,\n owner: ctx.owner,\n contract: ctx.contract,\n },\n calCertificate: ctx.certificate,\n };\n },\n });\n }\n}\n"],
5
5
  "mappings": "AAIA,OAEE,0BAAAA,MACK,kCAGP,OAAS,uBAAAC,MAA2B,mDAkB7B,MAAMC,CAA4B,CACvC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,CAChB,CAEH,MAAM,KAAyC,CAC7C,KAAM,CAAE,cAAAC,EAAe,QAAAC,CAAQ,EAAI,KAAK,KAClCC,EAAc,KAAK,IAAI,sBAAsB,EAGnD,IAAIC,EACJ,MAAMC,EAAe,MAAM,KAAK,IAAI,YAAY,IAAIR,CAAqB,EACzE,OAAID,EAAuBS,CAAY,IACrCD,EAAYC,EAAa,KAAK,YAIV,MAAMJ,EAAc,iBAAiB,CACzD,cAAeE,EAAY,cAC3B,aAAcD,EAAQ,aACtB,UAAAE,EACA,UAAWF,EAAQ,SACrB,CAAC,GAEoB,OAAO,CAC1B,KAAOI,GAAQ,CACb,MAAMA,CACR,EACA,MAAQC,IACC,CACL,UAAAH,EACA,WAAYG,EAAI,WAChB,cAAe,CACb,aAAcA,EAAI,aAClB,MAAOA,EAAI,MACX,SAAUA,EAAI,QAChB,EACA,eAAgBA,EAAI,WACtB,EAEJ,CAAC,CACH,CACF",
6
6
  "names": ["isSuccessCommandResult", "GetChallengeCommand", "BuildTransactionContextTask", "api", "args", "contextModule", "options", "deviceState", "challenge", "challengeRes", "err", "ctx"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var c=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=(t,p,r,o)=>{for(var n=o>1?void 0:o?l(p,r):p,e=t.length-1,a;e>=0;e--)(a=t[e])&&(n=(o?a(p,r,n):a(n))||n);return o&&n&&c(p,r,n),n},s=(t,p)=>(r,o)=>p(r,o,t);import{inject as u,injectable as A}from"inversify";import{appBinderTypes as f}from"../../app-binder/di/appBinderTypes";let i=class{constructor(p){this.appBinder=p}execute(p,r,o,n){return this.appBinder.signTransaction({derivationPath:p,transaction:r,resolutionContext:o,skipOpenApp:n?.skipOpenApp??!1})}};i=m([A(),s(0,u(f.AppBinder))],i);export{i as SignTransactionUseCase};
1
+ var s=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var m=(t,r,o,n)=>{for(var p=n>1?void 0:n?T(r,o):r,a=t.length-1,e;a>=0;a--)(e=t[a])&&(p=(n?e(r,o,p):e(p))||p);return n&&p&&s(r,o,p),p},c=(t,r)=>(o,n)=>r(o,n,t);import{inject as d,injectable as f}from"inversify";import{appBinderTypes as l}from"../../app-binder/di/appBinderTypes";let i=class{constructor(r){this.appBinder=r}execute(r,o,n){return this.appBinder.signTransaction({derivationPath:r,transaction:o,solanaTransactionOptions:n})}};i=m([f(),c(0,d(l.AppBinder))],i);export{i as SignTransactionUseCase};
2
2
  //# sourceMappingURL=SignTransactionUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/transaction/SignTransactionUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { Transaction } from \"@api/model/Transaction\";\nimport { TransactionResolutionContext } from \"@api/model/TransactionResolutionContext\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { SolanaAppBinder } from \"@internal/app-binder/SolanaAppBinder\";\n\n@injectable()\nexport class SignTransactionUseCase {\n constructor(\n @inject(appBinderTypes.AppBinder) private appBinder: SolanaAppBinder,\n ) {}\n\n execute(\n derivationPath: string,\n transaction: Transaction,\n resolutionContext?: TransactionResolutionContext,\n options?: {\n skipOpenApp?: boolean;\n },\n ): SignTransactionDAReturnType {\n return this.appBinder.signTransaction({\n derivationPath,\n transaction,\n resolutionContext: resolutionContext,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAKnC,OAAS,kBAAAC,MAAsB,yCAIxB,IAAMC,EAAN,KAA6B,CAClC,YAC4CC,EAC1C,CAD0C,eAAAA,CACzC,CAEH,QACEC,EACAC,EACAC,EACAC,EAG6B,CAC7B,OAAO,KAAK,UAAU,gBAAgB,CACpC,eAAAH,EACA,YAAAC,EACA,kBAAmBC,EACnB,YAAaC,GAAS,aAAe,EACvC,CAAC,CACH,CACF,EApBaL,EAANM,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAe,SAAS,IAFvBV",
6
- "names": ["inject", "injectable", "appBinderTypes", "SignTransactionUseCase", "appBinder", "derivationPath", "transaction", "resolutionContext", "options", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { Transaction } from \"@api/model/Transaction\";\nimport { SolanaTransactionOptions } from \"@api/model/TransactionOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { SolanaAppBinder } from \"@internal/app-binder/SolanaAppBinder\";\n\n@injectable()\nexport class SignTransactionUseCase {\n constructor(\n @inject(appBinderTypes.AppBinder) private appBinder: SolanaAppBinder,\n ) {}\n\n execute(\n derivationPath: string,\n transaction: Transaction,\n solanaTransactionOptions?: SolanaTransactionOptions,\n ): SignTransactionDAReturnType {\n return this.appBinder.signTransaction({\n derivationPath,\n transaction,\n solanaTransactionOptions,\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAKnC,OAAS,kBAAAC,MAAsB,yCAIxB,IAAMC,EAAN,KAA6B,CAClC,YAC4CC,EAC1C,CAD0C,eAAAA,CACzC,CAEH,QACEC,EACAC,EACAC,EAC6B,CAC7B,OAAO,KAAK,UAAU,gBAAgB,CACpC,eAAAF,EACA,YAAAC,EACA,yBAAAC,CACF,CAAC,CACH,CACF,EAhBaJ,EAANK,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAe,SAAS,IAFvBT",
6
+ "names": ["inject", "injectable", "appBinderTypes", "SignTransactionUseCase", "appBinder", "derivationPath", "transaction", "solanaTransactionOptions", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{SignTransactionUseCase as o}from"./SignTransactionUseCase";describe("GetAppConfigurationUseCase",()=>{const e=vi.fn(),i={signTransaction:e};let t;beforeEach(()=>{vi.clearAllMocks(),t=new o(i)}),it("should return the config from the appBinder's getAppConfiguration method",()=>{e.mockReturnValue(new Uint8Array([66]));const n=t.execute("44'/501'/0'/0'",new Uint8Array([1,2,3,4]));expect(e).toHaveBeenCalledWith({derivationPath:"44'/501'/0'/0'",transaction:new Uint8Array([1,2,3,4]),skipOpenApp:!1,options:void 0}),expect(n).toEqual(new Uint8Array([66]))}),it("should forward skipOpenApp and TransactionOptions to appBinder.signTransaction",()=>{const n="44'/501'/1'/2'",a=new Uint8Array([170,187]),s={skipOpenApp:!0,tokenAddress:"someToken",createATA:{address:"someAddress",mintAddress:"mint"}};t.execute(n,a,void 0,s),expect(e).toHaveBeenCalledWith({derivationPath:n,transaction:a,skipOpenApp:!0})})});
1
+ import{SignTransactionUseCase as i}from"./SignTransactionUseCase";describe("GetAppConfigurationUseCase",()=>{const n=vi.fn(),s={signTransaction:n};let t;beforeEach(()=>{vi.clearAllMocks(),t=new i(s)}),it("should return the config from the appBinder's getAppConfiguration method",()=>{n.mockReturnValue(new Uint8Array([66]));const e=t.execute("44'/501'/0'/0'",new Uint8Array([1,2,3,4]));expect(n).toHaveBeenCalledWith({derivationPath:"44'/501'/0'/0'",transaction:new Uint8Array([1,2,3,4]),solanaTransactionOptions:void 0}),expect(e).toEqual(new Uint8Array([66]))}),it("should forward skipOpenApp and TransactionResolutionContext to appBinder.signTransaction",()=>{const e="44'/501'/1'/2'",a=new Uint8Array([170,187]),o={skipOpenApp:!0,transactionResolutionContext:{tokenAddress:"someToken",createATA:{address:"someAddress",mintAddress:"someMint"}}};t.execute(e,a,o),expect(n).toHaveBeenCalledWith({derivationPath:e,transaction:a,solanaTransactionOptions:o})})});
2
2
  //# sourceMappingURL=SignTransactionUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/transaction/SignTransactionUseCase.test.ts"],
4
- "sourcesContent": ["import { type SolanaAppBinder } from \"@internal/app-binder/SolanaAppBinder\";\n\nimport { SignTransactionUseCase } from \"./SignTransactionUseCase\";\n\ndescribe(\"GetAppConfigurationUseCase\", () => {\n const signTransactionMock = vi.fn();\n const appBinderMock = {\n signTransaction: signTransactionMock,\n } as unknown as SolanaAppBinder;\n let useCase: SignTransactionUseCase;\n\n beforeEach(() => {\n vi.clearAllMocks();\n useCase = new SignTransactionUseCase(appBinderMock);\n });\n\n it(\"should return the config from the appBinder's getAppConfiguration method\", () => {\n // GIVEN\n signTransactionMock.mockReturnValue(new Uint8Array([0x042]));\n\n // WHEN\n const result = useCase.execute(\n \"44'/501'/0'/0'\",\n new Uint8Array([0x01, 0x02, 0x03, 0x04]),\n );\n\n // THEN\n expect(signTransactionMock).toHaveBeenCalledWith({\n derivationPath: \"44'/501'/0'/0'\",\n transaction: new Uint8Array([0x01, 0x02, 0x03, 0x04]),\n skipOpenApp: false,\n options: undefined,\n });\n expect(result).toEqual(new Uint8Array([0x042]));\n });\n\n it(\"should forward skipOpenApp and TransactionOptions to appBinder.signTransaction\", () => {\n // GIVEN\n const derivationPath = \"44'/501'/1'/2'\";\n const tx = new Uint8Array([0xaa, 0xbb]);\n const opts = {\n skipOpenApp: true,\n tokenAddress: \"someToken\",\n createATA: { address: \"someAddress\", mintAddress: \"mint\" },\n };\n\n // WHEN\n useCase.execute(derivationPath, tx, undefined, opts);\n\n // THEN\n expect(signTransactionMock).toHaveBeenCalledWith({\n derivationPath,\n transaction: tx,\n skipOpenApp: true,\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,0BAAAA,MAA8B,2BAEvC,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAsB,GAAG,GAAG,EAC5BC,EAAgB,CACpB,gBAAiBD,CACnB,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAU,IAAIH,EAAuBE,CAAa,CACpD,CAAC,EAED,GAAG,2EAA4E,IAAM,CAEnFD,EAAoB,gBAAgB,IAAI,WAAW,CAAC,EAAK,CAAC,CAAC,EAG3D,MAAMG,EAASD,EAAQ,QACrB,iBACA,IAAI,WAAW,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,CACzC,EAGA,OAAOF,CAAmB,EAAE,qBAAqB,CAC/C,eAAgB,iBAChB,YAAa,IAAI,WAAW,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,EACpD,YAAa,GACb,QAAS,MACX,CAAC,EACD,OAAOG,CAAM,EAAE,QAAQ,IAAI,WAAW,CAAC,EAAK,CAAC,CAAC,CAChD,CAAC,EAED,GAAG,iFAAkF,IAAM,CAEzF,MAAMC,EAAiB,iBACjBC,EAAK,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EAChCC,EAAO,CACX,YAAa,GACb,aAAc,YACd,UAAW,CAAE,QAAS,cAAe,YAAa,MAAO,CAC3D,EAGAJ,EAAQ,QAAQE,EAAgBC,EAAI,OAAWC,CAAI,EAGnD,OAAON,CAAmB,EAAE,qBAAqB,CAC/C,eAAAI,EACA,YAAaC,EACb,YAAa,EACf,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type SolanaAppBinder } from \"@internal/app-binder/SolanaAppBinder\";\n\nimport { SignTransactionUseCase } from \"./SignTransactionUseCase\";\n\ndescribe(\"GetAppConfigurationUseCase\", () => {\n const signTransactionMock = vi.fn();\n const appBinderMock = {\n signTransaction: signTransactionMock,\n } as unknown as SolanaAppBinder;\n let useCase: SignTransactionUseCase;\n\n beforeEach(() => {\n vi.clearAllMocks();\n useCase = new SignTransactionUseCase(appBinderMock);\n });\n\n it(\"should return the config from the appBinder's getAppConfiguration method\", () => {\n // GIVEN\n signTransactionMock.mockReturnValue(new Uint8Array([0x042]));\n\n // WHEN\n const result = useCase.execute(\n \"44'/501'/0'/0'\",\n new Uint8Array([0x01, 0x02, 0x03, 0x04]),\n );\n\n // THEN\n expect(signTransactionMock).toHaveBeenCalledWith({\n derivationPath: \"44'/501'/0'/0'\",\n transaction: new Uint8Array([0x01, 0x02, 0x03, 0x04]),\n solanaTransactionOptions: undefined,\n });\n expect(result).toEqual(new Uint8Array([0x042]));\n });\n\n it(\"should forward skipOpenApp and TransactionResolutionContext to appBinder.signTransaction\", () => {\n // GIVEN\n const derivationPath = \"44'/501'/1'/2'\";\n const tx = new Uint8Array([0xaa, 0xbb]);\n const opts = {\n skipOpenApp: true,\n transactionResolutionContext: {\n tokenAddress: \"someToken\",\n createATA: { address: \"someAddress\", mintAddress: \"someMint\" },\n },\n };\n\n // WHEN\n useCase.execute(derivationPath, tx, opts);\n\n // THEN\n expect(signTransactionMock).toHaveBeenCalledWith({\n derivationPath,\n transaction: tx,\n solanaTransactionOptions: opts,\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,0BAAAA,MAA8B,2BAEvC,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAsB,GAAG,GAAG,EAC5BC,EAAgB,CACpB,gBAAiBD,CACnB,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAU,IAAIH,EAAuBE,CAAa,CACpD,CAAC,EAED,GAAG,2EAA4E,IAAM,CAEnFD,EAAoB,gBAAgB,IAAI,WAAW,CAAC,EAAK,CAAC,CAAC,EAG3D,MAAMG,EAASD,EAAQ,QACrB,iBACA,IAAI,WAAW,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,CACzC,EAGA,OAAOF,CAAmB,EAAE,qBAAqB,CAC/C,eAAgB,iBAChB,YAAa,IAAI,WAAW,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,EACpD,yBAA0B,MAC5B,CAAC,EACD,OAAOG,CAAM,EAAE,QAAQ,IAAI,WAAW,CAAC,EAAK,CAAC,CAAC,CAChD,CAAC,EAED,GAAG,2FAA4F,IAAM,CAEnG,MAAMC,EAAiB,iBACjBC,EAAK,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EAChCC,EAAO,CACX,YAAa,GACb,6BAA8B,CAC5B,aAAc,YACd,UAAW,CAAE,QAAS,cAAe,YAAa,UAAW,CAC/D,CACF,EAGAJ,EAAQ,QAAQE,EAAgBC,EAAIC,CAAI,EAGxC,OAAON,CAAmB,EAAE,qBAAqB,CAC/C,eAAAI,EACA,YAAaC,EACb,yBAA0BC,CAC5B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["SignTransactionUseCase", "signTransactionMock", "appBinderMock", "useCase", "result", "derivationPath", "tx", "opts"]
7
7
  }
@@ -5,10 +5,9 @@ import { type SignTransactionDAReturnType } from "./app-binder/SignTransactionDe
5
5
  import { type AddressOptions } from "./model/AddressOption";
6
6
  import { type MessageOptions } from "./model/MessageOptions";
7
7
  import { type Transaction } from "./model/Transaction";
8
- import { type TransactionOptions } from "./model/TransactionOptions";
9
- import { type TransactionResolutionContext } from "./model/TransactionResolutionContext";
8
+ import { type SolanaTransactionOptions } from "./model/TransactionOptions";
10
9
  export interface SignerSolana {
11
- signTransaction: (derivationPath: string, transaction: Transaction, resolutionContext?: TransactionResolutionContext, options?: TransactionOptions) => SignTransactionDAReturnType;
10
+ signTransaction: (derivationPath: string, transaction: Transaction, solanaTransactionOptions?: SolanaTransactionOptions) => SignTransactionDAReturnType;
12
11
  signMessage: (derivationPath: string, message: string, options?: MessageOptions) => SignMessageDAReturnType;
13
12
  getAddress: (derivationPath: string, options?: AddressOptions) => GetAddressDAReturnType;
14
13
  getAppConfiguration: () => GetAppConfigurationDAReturnType;
@@ -1 +1 @@
1
- {"version":3,"file":"SignerSolana.d.ts","sourceRoot":"","sources":["../../../src/api/SignerSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,CACf,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,4BAA4B,EAChD,OAAO,CAAC,EAAE,kBAAkB,KACzB,2BAA2B,CAAC;IAEjC,WAAW,EAAE,CACX,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,KACrB,uBAAuB,CAAC;IAE7B,UAAU,EAAE,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,KACrB,sBAAsB,CAAC;IAE5B,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;CAC5D"}
1
+ {"version":3,"file":"SignerSolana.d.ts","sourceRoot":"","sources":["../../../src/api/SignerSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,CACf,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,wBAAwB,CAAC,EAAE,wBAAwB,KAChD,2BAA2B,CAAC;IAEjC,WAAW,EAAE,CACX,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,KACrB,uBAAuB,CAAC;IAE7B,UAAU,EAAE,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,KACrB,sBAAsB,CAAC;IAE5B,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;CAC5D"}
@@ -2,9 +2,8 @@ import { type GenerateTransactionDAReturnType } from "./app-binder/GenerateTrans
2
2
  import { type GetAddressDAReturnType } from "./app-binder/GetAddressDeviceActionTypes";
3
3
  import { type GetAppConfigurationDAReturnType } from "./app-binder/GetAppConfigurationDeviceActionTypes";
4
4
  import { type AddressOptions } from "./model/AddressOption";
5
- import { type TransactionOptions } from "./model/TransactionOptions";
6
5
  export interface SolanaTools {
7
- generateTransaction: (derivationPath: string, options?: TransactionOptions) => GenerateTransactionDAReturnType;
6
+ generateTransaction: (derivationPath: string) => GenerateTransactionDAReturnType;
8
7
  getAddress: (derivationPath: string, options?: AddressOptions) => GetAddressDAReturnType;
9
8
  getAppConfiguration: () => GetAppConfigurationDAReturnType;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaTools.d.ts","sourceRoot":"","sources":["../../../src/api/SolanaTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,mBAAmB,EAAE,CACnB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,kBAAkB,KACzB,+BAA+B,CAAC;IAErC,UAAU,EAAE,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,KACrB,sBAAsB,CAAC;IAE5B,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;CAC5D"}
1
+ {"version":3,"file":"SolanaTools.d.ts","sourceRoot":"","sources":["../../../src/api/SolanaTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,mBAAmB,EAAE,CACnB,cAAc,EAAE,MAAM,KACnB,+BAA+B,CAAC;IAErC,UAAU,EAAE,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,KACrB,sBAAsB,CAAC;IAE5B,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;CAC5D"}
@@ -4,15 +4,14 @@ import { type DeviceActionState, type ExecuteDeviceActionReturnType, type OpenAp
4
4
  import { type AppConfiguration } from "../model/AppConfiguration";
5
5
  import { type Signature } from "../model/Signature";
6
6
  import { type Transaction } from "../model/Transaction";
7
- import { type TransactionResolutionContext } from "../model/TransactionResolutionContext";
7
+ import { type SolanaTransactionOptions } from "../model/TransactionOptions";
8
8
  import { type SolanaAppErrorCodes } from "../../internal/app-binder/command/utils/SolanaApplicationErrors";
9
- import { type TxInspectorResult } from "../../internal/app-binder/services/utils/transactionDecoders";
9
+ import { type TxInspectorResult } from "../../internal/app-binder/services/TransactionInspector";
10
10
  export type SignTransactionDAOutput = Signature;
11
11
  export type SignTransactionDAInput = {
12
12
  readonly derivationPath: string;
13
13
  readonly transaction: Transaction;
14
- readonly resolutionContext?: TransactionResolutionContext;
15
- readonly skipOpenApp: boolean;
14
+ readonly transactionOptions?: SolanaTransactionOptions;
16
15
  readonly contextModule: ContextModule;
17
16
  };
18
17
  export type SignTransactionDAError = OpenAppDAError | SendCommandInAppDAError<SolanaAppErrorCodes>;
@@ -1 +1 @@
1
- {"version":3,"file":"SignTransactionDeviceActionTypes.d.ts","sourceRoot":"","sources":["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AAEjG,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;AAEjD,KAAK,oCAAoC,GACrC,uBAAuB,GACvB,4BAA4B,CAAC;AAEjC,MAAM,MAAM,kCAAkC,GAAG;IAC/C,uBAAuB,EAAE,oCAAoC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CACpD,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,EAAE,qCAAqC,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,CACrE,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC"}
1
+ {"version":3,"file":"SignTransactionDeviceActionTypes.d.ts","sourceRoot":"","sources":["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAE5F,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;AAEjD,KAAK,oCAAoC,GACrC,uBAAuB,GACvB,4BAA4B,CAAC;AAEjC,MAAM,MAAM,kCAAkC,GAAG;IAC/C,uBAAuB,EAAE,oCAAoC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CACpD,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,EAAE,qCAAqC,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,CACrE,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC"}
@@ -5,7 +5,6 @@ export type { SignMessageDAError, SignMessageDAIntermediateValue, SignMessageDAO
5
5
  export type { SignTransactionDAError, SignTransactionDAIntermediateValue, SignTransactionDAOutput, SignTransactionDAReturnType, } from "./app-binder/SignTransactionDeviceActionTypes";
6
6
  export type { Signature } from "./model/Signature";
7
7
  export type { Transaction } from "./model/Transaction";
8
- export type { TransactionOptions } from "./model/TransactionOptions";
9
8
  export type { SignerSolana } from "./SignerSolana";
10
9
  export { SignerSolanaBuilder } from "./SignerSolanaBuilder";
11
10
  export type { SolanaTools } from "./SolanaTools";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,kCAAkC,EAClC,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,kCAAkC,EAClC,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,8 +1,7 @@
1
- export type TransactionOptions = {
2
- tokenAddress?: string;
3
- createATA?: {
4
- address: string;
5
- mintAddress: string;
6
- };
1
+ import { type TransactionResolutionContext } from "./TransactionResolutionContext";
2
+ export type SolanaTransactionOptions = {
3
+ transactionResolutionContext?: TransactionResolutionContext;
4
+ solanaRPCURL?: string;
5
+ skipOpenApp?: boolean;
7
6
  };
8
7
  //# sourceMappingURL=TransactionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionOptions.d.ts","sourceRoot":"","sources":["../../../../src/api/model/TransactionOptions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"TransactionOptions.d.ts","sourceRoot":"","sources":["../../../../src/api/model/TransactionOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAEnF,MAAM,MAAM,wBAAwB,GAAG;IACrC,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
@@ -7,7 +7,7 @@ import { type SignTransactionDAReturnType } from "../api/app-binder/SignTransact
7
7
  import { type AddressOptions } from "../api/model/AddressOption";
8
8
  import { type MessageOptions } from "../api/model/MessageOptions";
9
9
  import { type Transaction } from "../api/model/Transaction";
10
- import { type TransactionResolutionContext } from "../api/model/TransactionResolutionContext";
10
+ import { type SolanaTransactionOptions } from "../api/model/TransactionOptions";
11
11
  import { type SignerSolana } from "../api/SignerSolana";
12
12
  export type DefaultSignerSolanaConstructorArgs = {
13
13
  dmk: DeviceManagementKit;
@@ -17,9 +17,344 @@ export type DefaultSignerSolanaConstructorArgs = {
17
17
  export declare class DefaultSignerSolana implements SignerSolana {
18
18
  private _container;
19
19
  constructor({ dmk, sessionId, contextModule, }: DefaultSignerSolanaConstructorArgs);
20
- signTransaction(derivationPath: string, transaction: Transaction, resolutionContext?: TransactionResolutionContext): SignTransactionDAReturnType;
20
+ /**
21
+ * ## signTransaction
22
+ * #### Securely sign a Solana or SPL transaction using **clear signing** on Ledger devices.
23
+ * ---
24
+ * ### Parameters
25
+ *
26
+ * **Required**
27
+ * - **derivationPath** `string`
28
+ * The derivation path used in the transaction.
29
+ *
30
+ * - **transaction** `Uint8Array`
31
+ * The serialised transaction to sign.
32
+ *
33
+ * **Optional**
34
+ * - **transactionOptions** `SolanaTransactionOptions`
35
+ * Provides additional context for transaction signing.
36
+ *
37
+ * - **transactionResolutionContext** `object`
38
+ * Lets you explicitly pass `tokenAddress` and ATA details, bypassing extraction from the transaction itself.
39
+ *
40
+ * - **tokenAddress** `string`
41
+ * SPL token address being transferred.
42
+ *
43
+ * - **createATA** `object`
44
+ * Information about creating an associated token account (ATA).
45
+ *
46
+ * - **owner** `string` – Owner of the ATA.
47
+ * - **mint** `string` – Mint of the ATA.
48
+ *
49
+ * - **solanaRPCURL** `string`
50
+ * RPC endpoint to use if `transactionResolutionContext` is not provided
51
+ * and parsing requires network lookups.
52
+ * In browser environments, use a CORS-enabled RPC URL.
53
+ * Defaults to: `"https://api.mainnet-beta.solana.com/"`.
54
+ *
55
+ * ---
56
+ * ### Returns
57
+ *
58
+ * `Promise<SolanaSignature>`
59
+ * Resolves once the Ledger device signs the transaction.
60
+ *
61
+ * ```ts
62
+ * type SolanaSignature = {
63
+ * signature: Uint8Array; // Signed transaction bytes
64
+ * };
65
+ * ```
66
+ *
67
+ * ---
68
+ * ### Internal Flow
69
+ *
70
+ * Under the hood, this method subscribes to an
71
+ * `Observable<DeviceActionState<Uint8Array, SignTransactionDAError, IntermediateValue>>`.
72
+ *
73
+ * #### DeviceActionState
74
+ * Represents the lifecycle of a device action:
75
+ *
76
+ * ```ts
77
+ * type DeviceActionState<Output, Error, IntermediateValue> =
78
+ * | { status: DeviceActionStatus.NotStarted }
79
+ * | { status: DeviceActionStatus.Pending; intermediateValue: IntermediateValue }
80
+ * | { status: DeviceActionStatus.Stopped }
81
+ * | { status: DeviceActionStatus.Completed; output: Output }
82
+ * | { status: DeviceActionStatus.Error; error: Error };
83
+ *
84
+ * enum DeviceActionStatus {
85
+ * NotStarted = "not-started",
86
+ * Pending = "pending",
87
+ * Stopped = "stopped",
88
+ * Completed = "completed",
89
+ * Error = "error"
90
+ * }
91
+ * ```
92
+ *
93
+ * - **NotStarted** → Action hasn’t begun.
94
+ * - **Pending** → Waiting for user confirmation on the device.
95
+ * Includes an `intermediateValue` of type `IntermediateValue`.
96
+ * - **Stopped** → Action was cancelled before completion.
97
+ * - **Completed** → Provides the signed transaction bytes (`Uint8Array`).
98
+ * - **Error** → The device or signing operation failed (`SignTransactionDAError`).
99
+ *
100
+ * ---
101
+ * ### Example
102
+ *
103
+ * **Basic usage**
104
+ * ```ts
105
+ * const sig = await signerSolana.signTransaction("m/44'/501'/0'/0'", serializedTx, {
106
+ * transactionResolutionContext: {
107
+ * tokenAddress: "So11111111111111111111111111111111111111112",
108
+ * createATA: {
109
+ * owner: "Fh9v...xyz",
110
+ * mint: "9n4n...eJ9E"
111
+ * }
112
+ * },
113
+ * });
114
+ * console.log(sig.signature);
115
+ * ```
116
+ *
117
+ * **Advanced usage (observing device state)**
118
+ * ```ts
119
+ * const { observable } = signerSolana.signTransaction("m/44'/501'/0'/0'", serializedTx, {
120
+ * transactionResolutionContext: resolution,
121
+ * });
122
+ * observable.subscribe({
123
+ * next: state => {
124
+ * if (state.status === DeviceActionStatus.Pending) {
125
+ * console.log("Waiting for user action...", state.intermediateValue);
126
+ * }
127
+ * if (state.status === DeviceActionStatus.Completed) {
128
+ * console.log("Signature:", state.output);
129
+ * }
130
+ * },
131
+ * error: err => console.error("Error:", err),
132
+ * });
133
+ * ```
134
+ */
135
+ signTransaction(derivationPath: string, transaction: Transaction, solanaTransactionOptions?: SolanaTransactionOptions): SignTransactionDAReturnType;
136
+ /**
137
+ * ## signMessage
138
+ * #### Securely sign an arbitrary message on Ledger devices.
139
+ * ---
140
+ * ### Parameters
141
+ *
142
+ * **Required**
143
+ * - **derivationPath** `string`
144
+ * The derivation path used for signing.
145
+ *
146
+ * - **message** `string`
147
+ * The message to sign.
148
+ *
149
+ * ---
150
+ * ### Returns
151
+ *
152
+ * `Promise<SolanaSignature>`
153
+ * Resolves once the Ledger device signs the message.
154
+ *
155
+ * ```ts
156
+ * type SolanaSignature = {
157
+ * signature: Uint8Array; // Signed message bytes
158
+ * };
159
+ * ```
160
+ *
161
+ * ---
162
+ * ### Internal Flow
163
+ *
164
+ * Under the hood, this method subscribes to an
165
+ * `Observable<DeviceActionState<Uint8Array, SignMessageDAError, IntermediateValue>>`.
166
+ *
167
+ * #### DeviceActionState
168
+ * Represents the lifecycle of a device action:
169
+ *
170
+ * ```ts
171
+ * type DeviceActionState<Output, Error, IntermediateValue> =
172
+ * | { status: DeviceActionStatus.NotStarted }
173
+ * | { status: DeviceActionStatus.Pending; intermediateValue: IntermediateValue }
174
+ * | { status: DeviceActionStatus.Stopped }
175
+ * | { status: DeviceActionStatus.Completed; output: Output }
176
+ * | { status: DeviceActionStatus.Error; error: Error };
177
+ *
178
+ * enum DeviceActionStatus {
179
+ * NotStarted = "not-started",
180
+ * Pending = "pending",
181
+ * Stopped = "stopped",
182
+ * Completed = "completed",
183
+ * Error = "error"
184
+ * }
185
+ * ```
186
+ *
187
+ * - **NotStarted** → Action hasn’t begun.
188
+ * - **Pending** → Waiting for user confirmation on the device.
189
+ * Includes an `intermediateValue` of type `IntermediateValue`.
190
+ * - **Stopped** → Action was cancelled before completion.
191
+ * - **Completed** → Provides the signed message bytes (`Uint8Array`).
192
+ * - **Error** → The device or signing operation failed (`SignMessageDAError`).
193
+ *
194
+ * ---
195
+ * ### Example
196
+ *
197
+ * **Basic usage**
198
+ * ```ts
199
+ * const sig = await signerSolana.signMessage("m/44'/501'/0'/0'", "Hello World");
200
+ * console.log(sig.signature);
201
+ * ```
202
+ *
203
+ * **Advanced usage (observing device state)**
204
+ * ```ts
205
+ * const { observable } = signerSolana.signMessage("m/44'/501'/0'/0'", "Hello World");
206
+ * observable.subscribe({
207
+ * next: state => {
208
+ * if (state.status === DeviceActionStatus.Pending) {
209
+ * console.log("Waiting for user action...", state.intermediateValue);
210
+ * }
211
+ * if (state.status === DeviceActionStatus.Completed) {
212
+ * console.log("Signature:", state.output);
213
+ * }
214
+ * },
215
+ * error: err => console.error("Error:", err),
216
+ * });
217
+ * ```
218
+ */
21
219
  signMessage(derivationPath: string, message: string, options?: MessageOptions): SignMessageDAReturnType;
220
+ /**
221
+ * ## getAddress
222
+ * #### Retrieve a Solana address from Ledger devices, with optional on-device display for verification.
223
+ * ---
224
+ * ### Parameters
225
+ *
226
+ * **Required**
227
+ * - **derivationPath** `string`
228
+ * The derivation path of the account to retrieve the address from.
229
+ *
230
+ * **Optional**
231
+ * - **options** `AddressOptions`
232
+ * Context for address retrieval.
233
+ * - `checkOnDevice?: boolean` – If `true`, prompts the user to verify the address on the device.
234
+ *
235
+ * ---
236
+ * ### Returns
237
+ *
238
+ * `Promise<SolanaAddress>`
239
+ * Resolves with the derived Solana address.
240
+ *
241
+ * ```ts
242
+ * type SolanaAddress = {
243
+ * address: Uint8Array; // 32-byte address
244
+ * };
245
+ * ```
246
+ *
247
+ * ---
248
+ * ### Internal Flow
249
+ *
250
+ * Under the hood, this method subscribes to an
251
+ * `Observable<DeviceActionState<string, GetAddressDAError, IntermediateValue>>`.
252
+ *
253
+ * #### DeviceActionState
254
+ * Represents the lifecycle of a device action:
255
+ *
256
+ * ```ts
257
+ * type DeviceActionState<Output, Error, IntermediateValue> =
258
+ * | { status: DeviceActionStatus.NotStarted }
259
+ * | { status: DeviceActionStatus.Pending; intermediateValue: IntermediateValue }
260
+ * | { status: DeviceActionStatus.Stopped }
261
+ * | { status: DeviceActionStatus.Completed; output: Output }
262
+ * | { status: DeviceActionStatus.Error; error: Error };
263
+ *
264
+ * enum DeviceActionStatus {
265
+ * NotStarted = "not-started",
266
+ * Pending = "pending",
267
+ * Stopped = "stopped",
268
+ * Completed = "completed",
269
+ * Error = "error"
270
+ * }
271
+ * ```
272
+ *
273
+ * - **NotStarted** → Action hasn’t begun.
274
+ * - **Pending** → Waiting for user confirmation on the device.
275
+ * Includes an `intermediateValue` of type `IntermediateValue`.
276
+ * - **Stopped** → Action was cancelled before completion.
277
+ * - **Completed** → Provides the base58-encoded address string, decoded to `Uint8Array`.
278
+ * - **Error** → The device or signing operation failed (`GetAddressDAError`).
279
+ *
280
+ * ---
281
+ * ### Example
282
+ *
283
+ * **Basic usage**
284
+ * ```ts
285
+ * const addr = await signerSolana.getAddress("m/44'/501'/0'/0'");
286
+ * console.log(addr.address);
287
+ * ```
288
+ *
289
+ * **With on-device verification**
290
+ * ```ts
291
+ * const addr = await signerSolana.getAddress("m/44'/501'/0'/0'", { checkOnDevice: true });
292
+ * console.log(addr.address);
293
+ * ```
294
+ */
22
295
  getAddress(derivationPath: string, options?: AddressOptions): GetAddressDAReturnType;
296
+ /**
297
+ * ## getAppConfiguration
298
+ * #### Retrieve the current Solana app configuration from a Ledger device.
299
+ * ---
300
+ * ### Parameters
301
+ *
302
+ * This method does not require any parameters.
303
+ *
304
+ * ---
305
+ * ### Returns
306
+ *
307
+ * `Promise<GetAppConfigurationResult>`
308
+ * Resolves with the app configuration details from the device.
309
+ *
310
+ * ```ts
311
+ * type GetAppConfigurationResult = {
312
+ * version: string;
313
+ * flags: string[];
314
+ * };
315
+ * ```
316
+ *
317
+ * ---
318
+ * ### Internal Flow
319
+ *
320
+ * Under the hood, this method subscribes to an
321
+ * `Observable<DeviceActionState<GetAppConfigurationResult, Error, IntermediateValue>>`.
322
+ *
323
+ * #### DeviceActionState
324
+ * Represents the lifecycle of a device action:
325
+ *
326
+ * ```ts
327
+ * type DeviceActionState<Output, Error, IntermediateValue> =
328
+ * | { status: DeviceActionStatus.NotStarted }
329
+ * | { status: DeviceActionStatus.Pending; intermediateValue: IntermediateValue }
330
+ * | { status: DeviceActionStatus.Stopped }
331
+ * | { status: DeviceActionStatus.Completed; output: Output }
332
+ * | { status: DeviceActionStatus.Error; error: Error };
333
+ *
334
+ * enum DeviceActionStatus {
335
+ * NotStarted = "not-started",
336
+ * Pending = "pending",
337
+ * Stopped = "stopped",
338
+ * Completed = "completed",
339
+ * Error = "error"
340
+ * }
341
+ * ```
342
+ *
343
+ * - **NotStarted** → Action hasn’t begun.
344
+ * - **Pending** → Waiting for user confirmation on the device.
345
+ * Includes an `intermediateValue` of type `IntermediateValue`.
346
+ * - **Stopped** → Action was cancelled before completion.
347
+ * - **Completed** → Provides the app configuration object.
348
+ * - **Error** → The device or signing operation failed.
349
+ *
350
+ * ---
351
+ * ### Example
352
+ *
353
+ * ```ts
354
+ * const config = await signerSolana.getAppConfiguration();
355
+ * console.log(config.version, config.flags);
356
+ * ```
357
+ */
23
358
  getAppConfiguration(): GetAppConfigurationDAReturnType;
24
359
  }
25
360
  //# sourceMappingURL=DefaultSignerSolana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSignerSolana.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultSignerSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,MAAM,MAAM,kCAAkC,GAAG;IAC/C,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,UAAU,CAAY;gBAElB,EACV,GAAG,EACH,SAAS,EACT,aAAa,GACd,EAAE,kCAAkC;IAIrC,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,4BAA4B,GAC/C,2BAA2B;IAM9B,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,uBAAuB;IAM1B,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,sBAAsB;IAMzB,mBAAmB,IAAI,+BAA+B;CAKvD"}
1
+ {"version":3,"file":"DefaultSignerSolana.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultSignerSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,MAAM,MAAM,kCAAkC,GAAG;IAC/C,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,UAAU,CAAY;gBAElB,EACV,GAAG,EACH,SAAS,EACT,aAAa,GACd,EAAE,kCAAkC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkHG;IACH,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,2BAA2B;IAM9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkFG;IACH,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,uBAAuB;IAM1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0EG;IACH,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,sBAAsB;IAMzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,mBAAmB,IAAI,+BAA+B;CAKvD"}
@@ -6,7 +6,7 @@ import { GetAppConfigurationDAReturnType } from "../../api/app-binder/GetAppConf
6
6
  import { SignMessageDAReturnType } from "../../api/app-binder/SignMessageDeviceActionTypes";
7
7
  import { SignTransactionDAReturnType } from "../../api/app-binder/SignTransactionDeviceActionTypes";
8
8
  import { Transaction } from "../../api/model/Transaction";
9
- import { TransactionResolutionContext } from "../../api/model/TransactionResolutionContext";
9
+ import { SolanaTransactionOptions } from "../../api/model/TransactionOptions";
10
10
  export declare class SolanaAppBinder {
11
11
  private dmk;
12
12
  private sessionId;
@@ -20,8 +20,7 @@ export declare class SolanaAppBinder {
20
20
  signTransaction(args: {
21
21
  derivationPath: string;
22
22
  transaction: Transaction;
23
- resolutionContext?: TransactionResolutionContext;
24
- skipOpenApp: boolean;
23
+ solanaTransactionOptions?: SolanaTransactionOptions;
25
24
  }): SignTransactionDAReturnType;
26
25
  generateTransaction(args: {
27
26
  derivationPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/SolanaAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAEL,mBAAmB,EACnB,KAAK,eAAe,EAGrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AASvF,qBACa,eAAe;IAEG,OAAO,CAAC,GAAG;IACL,OAAO,CAAC,SAAS;IACb,OAAO,CAAC,aAAa;gBAFvB,GAAG,EAAE,mBAAmB,EAClB,SAAS,EAAE,eAAe,EACtB,aAAa,EAAE,aAAa;IAG3E,UAAU,CAAC,IAAI,EAAE;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,sBAAsB;IAgB1B,eAAe,CAAC,IAAI,EAAE;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;QACzB,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;QACjD,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,2BAA2B;IAe/B,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,+BAA+B;IAanC,WAAW,CAAC,IAAI,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,uBAAuB;IAkB3B,mBAAmB,IAAI,+BAA+B;CAavD"}
1
+ {"version":3,"file":"SolanaAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/SolanaAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAEL,mBAAmB,EACnB,KAAK,eAAe,EAGrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AASzE,qBACa,eAAe;IAEG,OAAO,CAAC,GAAG;IACL,OAAO,CAAC,SAAS;IACb,OAAO,CAAC,aAAa;gBAFvB,GAAG,EAAE,mBAAmB,EAClB,SAAS,EAAE,eAAe,EACtB,aAAa,EAAE,aAAa;IAG3E,UAAU,CAAC,IAAI,EAAE;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,sBAAsB;IAgB1B,eAAe,CAAC,IAAI,EAAE;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;QACzB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;KACrD,GAAG,2BAA2B;IAc/B,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,+BAA+B;IAanC,WAAW,CAAC,IAAI,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,uBAAuB;IAkB3B,mBAAmB,IAAI,+BAA+B;CAavD"}
@@ -5,7 +5,7 @@ import { type AppConfiguration } from "../../../api/model/AppConfiguration";
5
5
  import { type Signature } from "../../../api/model/Signature";
6
6
  import { type TransactionResolutionContext } from "../../../api/model/TransactionResolutionContext";
7
7
  import { type SolanaAppErrorCodes } from "../../app-binder/command/utils/SolanaApplicationErrors";
8
- import { type TxInspectorResult } from "../../app-binder/services/utils/transactionDecoders";
8
+ import { type TxInspectorResult } from "../../app-binder/services/TransactionInspector";
9
9
  import { type BuildTransactionContextTaskArgs, type SolanaBuildContextResult } from "../../app-binder/task/BuildTransactionContextTask";
10
10
  import { type SolanaContextForDevice } from "../../app-binder/task/ProvideTransactionContextTask";
11
11
  export type MachineDependencies = {
@@ -19,6 +19,7 @@ export type MachineDependencies = {
19
19
  readonly inspectTransaction: (arg0: {
20
20
  serializedTransaction: Uint8Array;
21
21
  resolutionContext?: TransactionResolutionContext;
22
+ RPCURL?: string;
22
23
  }) => Promise<TxInspectorResult>;
23
24
  readonly signTransaction: (arg0: {
24
25
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"SignTransactionDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/device-action/SignTransactionDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAE7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAQ,KAAK,KAAK,EAAS,MAAM,WAAW,CAAC;AAGpD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAG5F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAMtG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,yDAAyD,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAClC,aAAa,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CACrD,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;QAC5B,KAAK,EAAE,+BAA+B,CAAC;KACxC,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sBAAsB,CAAC;KAC/B,KAAK,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAClC,qBAAqB,EAAE,UAAU,CAAC;QAClC,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;KAClD,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;QAC/B,KAAK,EAAE;YACL,cAAc,EAAE,MAAM,CAAC;YACvB,qBAAqB,EAAE,UAAU,CAAC;SACnC,CAAC;KACH,KAAK,OAAO,CACX,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAC3E,CAAC;CACH,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IA8VD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAgDnE"}
1
+ {"version":3,"file":"SignTransactionDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/device-action/SignTransactionDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAE7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAQ,KAAK,KAAK,EAAS,MAAM,WAAW,CAAC;AAGpD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAG5F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAMtG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,yDAAyD,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAClC,aAAa,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CACrD,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;QAC5B,KAAK,EAAE,+BAA+B,CAAC;KACxC,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sBAAsB,CAAC;KAC/B,KAAK,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAClC,qBAAqB,EAAE,UAAU,CAAC;QAClC,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;QACjD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;QAC/B,KAAK,EAAE;YACL,cAAc,EAAE,MAAM,CAAC;YACvB,qBAAqB,EAAE,UAAU,CAAC;SACnC,CAAC;KACH,KAAK,OAAO,CACX,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAC3E,CAAC;CACH,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IAmWD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAkDnE"}