@solana/keychain-fireblocks 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * Unlike other signers, Fireblocks PROGRAM_CALL mode signs AND broadcasts
5
5
  * the transaction to Solana through Fireblocks' infrastructure. The signed
6
- * transaction never returns to the caller only a txHash comes back after
7
- * polling. This means LiteSVM (used by runSignerIntegrationTest) can never
8
- * observe the transaction, so we test against devnet directly.
6
+ * transaction never returns to the caller, and the broadcast transaction id
7
+ * is not a reusable signer-bound signature artifact. This means LiteSVM
8
+ * (used by runSignerIntegrationTest) can never observe a signer-specific
9
+ * transaction signature from PROGRAM_CALL, so we test against devnet directly.
9
10
  *
10
11
  * RAW mode returns a raw signature but is not available on the Fireblocks
11
12
  * sandbox/testnet environment used in CI.
@@ -21,7 +22,7 @@ function hasRequiredEnvVars() {
21
22
  return REQUIRED_ENV_VARS.every(v => process.env[v]);
22
23
  }
23
24
  describe('FireblocksSigner Integration', () => {
24
- it.skipIf(!hasRequiredEnvVars())('signs transactions with PROGRAM_CALL', async () => {
25
+ it.skipIf(!hasRequiredEnvVars())('fails closed for PROGRAM_CALL because Fireblocks only returns a broadcast transaction id', async () => {
25
26
  const signer = await createFireblocksSigner({
26
27
  apiKey: process.env.FIREBLOCKS_API_KEY,
27
28
  assetId: process.env.FIREBLOCKS_ASSET_ID ?? 'SOL_TEST',
@@ -33,9 +34,7 @@ describe('FireblocksSigner Integration', () => {
33
34
  const rpc = createSolanaRpc(rpcUrl);
34
35
  const { value: { blockhash, lastValidBlockHeight }, } = await rpc.getLatestBlockhash().send();
35
36
  const transaction = pipe(createTransactionMessage({ version: 0 }), tx => setTransactionMessageFeePayerSigner(signer, tx), tx => appendTransactionMessageInstructions([getAddMemoInstruction({ memo: 'Fireblocks test' })], tx), tx => setTransactionMessageLifetimeUsingBlockhash({ blockhash, lastValidBlockHeight }, tx));
36
- const signed = await signTransactionMessageWithSigners(transaction);
37
- expect(signed.signatures[signer.address]).toBeDefined();
38
- expect(signed.signatures[signer.address]?.length).toBe(64);
37
+ await expect(signTransactionMessageWithSigners(transaction)).rejects.toThrow('Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature');
39
38
  }, 120000);
40
39
  // RAW signing not available on Fireblocks testnet/sandbox
41
40
  it.skip('signs messages with real API', () => { });
@@ -1 +1 @@
1
- {"version":3,"file":"fireblocks-signer.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/fireblocks-signer.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fireblocks-signer.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/fireblocks-signer.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { generateKeyPairSigner } from '@solana/signers';
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  import { assertIsSolanaSigner } from '@solana/keychain-core';
4
+ vi.mock('@solana/transactions', async (importOriginal) => {
5
+ const mod = await importOriginal();
6
+ return {
7
+ ...mod,
8
+ getBase64EncodedWireTransaction: vi.fn(() => 'base64-wire-transaction'),
9
+ };
10
+ });
4
11
  import { FireblocksSigner } from '../fireblocks-signer.js';
5
12
  import { TEST_API_KEY, TEST_RSA_PRIVATE_KEY, TEST_VAULT_ACCOUNT_ID } from './setup.js';
6
13
  vi.mock('@solana/keychain-core', async (importOriginal) => {
@@ -438,7 +445,7 @@ describe('FireblocksSigner', () => {
438
445
  expect(result).toHaveLength(1);
439
446
  expect(result[0]).toHaveProperty(signer.address);
440
447
  });
441
- it('should extract signature from txHash (base58) when signedMessages is absent', async () => {
448
+ it('should reject PROGRAM_CALL txHash because it is not a reusable signer-bound signature', async () => {
442
449
  const keyPair = await generateKeyPairSigner();
443
450
  // Mock init fetch
444
451
  mockFetch.mockResolvedValueOnce({
@@ -450,8 +457,8 @@ describe('FireblocksSigner', () => {
450
457
  ok: true,
451
458
  json: async () => ({ id: 'tx-123', status: 'SUBMITTED' }),
452
459
  });
453
- // Mock poll for completion - return txHash (base58 encoded 64 bytes) instead of signedMessages
454
- // This tests the txHash extraction path in pollForSignature
460
+ // Mock poll for completion - PROGRAM_CALL returns txHash after broadcast,
461
+ // which must not be treated as a reusable signer-bound signature.
455
462
  mockFetch.mockResolvedValueOnce({
456
463
  ok: true,
457
464
  json: async () => ({
@@ -463,6 +470,7 @@ describe('FireblocksSigner', () => {
463
470
  const signer = new FireblocksSigner({
464
471
  apiKey: TEST_API_KEY,
465
472
  privateKeyPem: TEST_RSA_PRIVATE_KEY,
473
+ useProgramCall: true,
466
474
  vaultAccountId: TEST_VAULT_ACCOUNT_ID,
467
475
  });
468
476
  await signer.init();
@@ -470,11 +478,9 @@ describe('FireblocksSigner', () => {
470
478
  messageBytes: new Uint8Array([1, 2, 3, 4]),
471
479
  signatures: {},
472
480
  };
473
- const result = await signer.signTransactions([transaction]);
474
- expect(result).toHaveLength(1);
475
- expect(result[0]).toHaveProperty(signer.address);
481
+ await expect(signer.signTransactions([transaction])).rejects.toThrow('Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature');
476
482
  });
477
- it('should throw error when txHash decodes to invalid length', async () => {
483
+ it('should still reject malformed txHash in PROGRAM_CALL because it is not a reusable signer-bound signature', async () => {
478
484
  const keyPair = await generateKeyPairSigner();
479
485
  // Mock init fetch
480
486
  mockFetch.mockResolvedValueOnce({
@@ -486,18 +492,20 @@ describe('FireblocksSigner', () => {
486
492
  ok: true,
487
493
  json: async () => ({ id: 'tx-123', status: 'SUBMITTED' }),
488
494
  });
489
- // Mock poll for completion - return a short base58 string (not 64 bytes)
495
+ // Mock poll for completion - txHash remains a broadcast transaction id,
496
+ // regardless of whether it would decode to a valid signature length.
490
497
  mockFetch.mockResolvedValueOnce({
491
498
  ok: true,
492
499
  json: async () => ({
493
500
  id: 'tx-123',
494
501
  status: 'COMPLETED',
495
- txHash: '2abc', // Very short, will decode to fewer than 64 bytes
502
+ txHash: '2abc',
496
503
  }),
497
504
  });
498
505
  const signer = new FireblocksSigner({
499
506
  apiKey: TEST_API_KEY,
500
507
  privateKeyPem: TEST_RSA_PRIVATE_KEY,
508
+ useProgramCall: true,
501
509
  vaultAccountId: TEST_VAULT_ACCOUNT_ID,
502
510
  });
503
511
  await signer.init();
@@ -505,7 +513,7 @@ describe('FireblocksSigner', () => {
505
513
  messageBytes: new Uint8Array([1, 2, 3, 4]),
506
514
  signatures: {},
507
515
  };
508
- await expect(signer.signTransactions([transaction])).rejects.toThrow('Invalid txHash length');
516
+ await expect(signer.signTransactions([transaction])).rejects.toThrow('Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature');
509
517
  });
510
518
  });
511
519
  describe('isAvailable', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"fireblocks-signer.test.js","sourceRoot":"","sources":["../../src/__tests__/fireblocks-signer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEvF,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAC,cAAc,EAAC,EAAE;IACpD,MAAM,GAAG,GAAG,MAAM,cAAc,EAA0C,CAAC;IAC3E,OAAO;QACH,GAAG,GAAG;QACN,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7B,2BAA2B,EACvB,GAAG,CAAC,2BAA2B;YAC/B,CAAC,CAAC,IAAY,EAAE,EAAE,CACd,GAAG,IAAI;iBACF,OAAO,CAAC,iDAAiD,EAAE,GAAG,CAAC;iBAC/D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,IAAI,EAAE;iBACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;KAC5C,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAEvB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAiC,CAAC;AAE3D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAA2B;gBACnC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,qBAAqB;iBACxC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,EAAE;oBACjB,cAAc,EAAE,qBAAqB;iBACxC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,EAAE;iBACrB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,qBAAqB;iBACxC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,UAAU,EAAE,4BAA4B;oBACxC,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,qBAAqB;iBACxC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,EAAE;gBACR,IAAI,gBAAgB,CAAC;oBACjB,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,qBAAqB;oBACrC,cAAc,EAAE,CAAC,CAAC;iBACrB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEvE,IAAI,gBAAgB,CAAC;gBACjB,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;gBACrC,cAAc,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAEvG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;gBACrC,OAAO,EAAE,UAAU;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC;gBACzC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC7D,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc;aACnC,CAAC,CAAC;YAEH,MAAM,MAAM,CACR,gBAAgB,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,CACR,gBAAgB,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,SAAS,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE9D,MAAM,MAAM,CACR,gBAAgB,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CACL,CAAC,OAAO,CAAC,aAAa,CAAC;gBACpB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;aACxE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QAClB,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc;aACnC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAC/E,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC9C,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,wCAAwC,CAAC;aAC7E,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,gCAAgC;YAErD,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,4BAA4B;YAC5B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC;gBACzC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,kDAAkD;YAClD,SAAS,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE9D,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,EAAE;aACjB,CAAC;YACF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC/D,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;aACxE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,EAAE;aACjB,CAAC;YAEF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,2BAA2B;YAC3B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE;wBACZ;4BACI,SAAS,EAAE;gCACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,kBAAkB;6BAC/C;yBACJ;qBACJ;iBACJ,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,EAAE;aACjB,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,oCAAoC;YACpC,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,QAAQ;iBACnB,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,EAAE;aACjB,CAAC;YAEF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,wCAAwC;YACxC,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE;wBACZ;4BACI,SAAS,EAAE;gCACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,yBAAyB;6BACtD;yBACJ;qBACJ;iBACJ,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,EAAE;aACjB,CAAC;YAEF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,2BAA2B;YAC3B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE;wBACZ;4BACI,SAAS,EAAE;gCACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;6BAC3B;yBACJ;qBACJ;iBACJ,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,WAAW,GAAG;gBAChB,YAAY,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,UAAU,EAAE,EAAE;aAC8C,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,+FAA+F;YAC/F,4DAA4D;YAC5D,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,0FAA0F;iBACrG,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,WAAW,GAAG;gBAChB,YAAY,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,UAAU,EAAE,EAAE;aAC8C,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAE9C,kBAAkB;YAClB,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,0BAA0B;YAC1B,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC5D,CAAC,CAAC;YAEH,yEAAyE;YACzE,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACf,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,MAAM,EAAE,iDAAiD;iBACpE,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,WAAW,GAAG;gBAChB,YAAY,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,UAAU,EAAE,EAAE;aAC8C,CAAC;YAEjE,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC;aACpD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YACxD,SAAS,CAAC,qBAAqB,CAAC;gBAC5B,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;aACd,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACnD,SAAS,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;gBAChC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,oBAAoB;gBACnC,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fireblocks-signer.test.js","sourceRoot":"","sources":["../../src/__tests__/fireblocks-signer.test.ts"],"names":[],"mappings":"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"}
@@ -80,12 +80,13 @@ export declare class FireblocksSigner<TAddress extends string = string> implemen
80
80
  */
81
81
  private signRawBytes;
82
82
  /**
83
- * Sign a transaction using Fireblocks PROGRAM_CALL operation
84
- * This broadcasts the transaction to Solana through Fireblocks
83
+ * Sign a transaction using Fireblocks PROGRAM_CALL operation.
84
+ * This broadcasts the transaction through Fireblocks but does not yield a
85
+ * reusable signer-bound signature artifact for the local signer address.
85
86
  */
86
87
  private signWithProgramCall;
87
88
  /**
88
- * Poll for transaction completion and extract signature
89
+ * Poll for transaction completion and extract a reusable signer-bound signature.
89
90
  */
90
91
  private pollForSignature;
91
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fireblocks-signer.d.ts","sourceRoot":"","sources":["../src/fireblocks-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAKH,YAAY,EAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAEH,WAAW,EACX,0BAA0B,EAC1B,uBAAuB,EAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAGR,sBAAsB,EAGzB,MAAM,YAAY,CAAC;AAGpB;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACzE,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAEjC;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,CAAE,YAAW,YAAY,CAAC,QAAQ,CAAC;IAC7F,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;WACU,MAAM,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChD,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAMtC;;OAEG;gBACS,MAAM,EAAE,sBAAsB;IAmC1C;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAO/B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;YACW,KAAK;IAMnB;;OAEG;YACW,cAAc;IA2D5B;;OAEG;YACW,OAAO;IA2CrB;;OAEG;YACW,YAAY;IAsB1B;;;OAGG;YACW,mBAAmB;IAsBjC;;OAEG;YACW,gBAAgB;IA4D9B;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC;IAwBjG;;OAEG;IACG,gBAAgB,CAClB,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,0BAA0B,GAAG,uBAAuB,CAAC,EAAE,GAC9F,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC;IA0B1C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAO5B"}
1
+ {"version":3,"file":"fireblocks-signer.d.ts","sourceRoot":"","sources":["../src/fireblocks-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAKH,YAAY,EAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAEH,WAAW,EACX,0BAA0B,EAC1B,uBAAuB,EAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAGR,sBAAsB,EAGzB,MAAM,YAAY,CAAC;AAGpB;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACzE,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAEjC;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,CAAE,YAAW,YAAY,CAAC,QAAQ,CAAC;IAC7F,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;WACU,MAAM,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChD,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAMtC;;OAEG;gBACS,MAAM,EAAE,sBAAsB;IAmC1C;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAO/B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;YACW,KAAK;IAMnB;;OAEG;YACW,cAAc;IA2D5B;;OAEG;YACW,OAAO;IA2CrB;;OAEG;YACW,YAAY;IAsB1B;;;;OAIG;YACW,mBAAmB;IAsBjC;;OAEG;YACW,gBAAgB;IA0D9B;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC;IAwBjG;;OAEG;IACG,gBAAgB,CAClB,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,0BAA0B,GAAG,uBAAuB,CAAC,EAAE,GAC9F,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC;IAsB1C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAO5B"}
@@ -1,5 +1,5 @@
1
1
  import { assertIsAddress } from '@solana/addresses';
2
- import { getBase16Decoder, getBase16Encoder, getBase58Encoder } from '@solana/codecs-strings';
2
+ import { getBase16Decoder, getBase16Encoder } from '@solana/codecs-strings';
3
3
  import { assertSignatureValid, createSignatureDictionary, sanitizeRemoteErrorResponse, SignerErrorCode, throwSignerError, } from '@solana/keychain-core';
4
4
  import { getBase64EncodedWireTransaction, } from '@solana/transactions';
5
5
  import { createJwt } from './jwt.js';
@@ -252,8 +252,9 @@ export class FireblocksSigner {
252
252
  return await this.pollForSignature(createResponse.id);
253
253
  }
254
254
  /**
255
- * Sign a transaction using Fireblocks PROGRAM_CALL operation
256
- * This broadcasts the transaction to Solana through Fireblocks
255
+ * Sign a transaction using Fireblocks PROGRAM_CALL operation.
256
+ * This broadcasts the transaction through Fireblocks but does not yield a
257
+ * reusable signer-bound signature artifact for the local signer address.
257
258
  */
258
259
  async signWithProgramCall(transaction) {
259
260
  // Use the same serialization as Privy - proper wire format with all signatures
@@ -273,7 +274,7 @@ export class FireblocksSigner {
273
274
  return await this.pollForSignature(createResponse.id);
274
275
  }
275
276
  /**
276
- * Poll for transaction completion and extract signature
277
+ * Poll for transaction completion and extract a reusable signer-bound signature.
277
278
  */
278
279
  async pollForSignature(transactionId) {
279
280
  const uri = `/v1/transactions/${transactionId}`;
@@ -299,15 +300,12 @@ export class FireblocksSigner {
299
300
  }
300
301
  return sigBytes;
301
302
  }
302
- // Try txHash (PROGRAM_CALL - base58 encoded signature)
303
+ // PROGRAM_CALL only returns a broadcast transaction id, not a
304
+ // reusable signer-bound signature over the local message bytes.
303
305
  if (txResponse.txHash) {
304
- const sigBytes = getBase58Encoder().encode(txResponse.txHash);
305
- if (sigBytes.length !== 64) {
306
- throwSignerError(SignerErrorCode.SIGNING_FAILED, {
307
- message: `Invalid txHash length: expected 64 bytes, got ${sigBytes.length}`,
308
- });
309
- }
310
- return sigBytes;
306
+ throwSignerError(SignerErrorCode.SIGNING_FAILED, {
307
+ message: 'Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature; use RAW signing for local signature artifacts',
308
+ });
311
309
  }
312
310
  throwSignerError(SignerErrorCode.SIGNING_FAILED, {
313
311
  message: 'No signature found in response (no signedMessages or txHash)',
@@ -358,15 +356,11 @@ export class FireblocksSigner {
358
356
  const signatureBytes = this.useProgramCall
359
357
  ? await this.signWithProgramCall(transaction)
360
358
  : await this.signRawBytes(new Uint8Array(transaction.messageBytes));
361
- // Skip verification for PROGRAM_CALL: it broadcasts to Solana and returns
362
- // a txHash (on-chain confirmation), not a signature over the message bytes.
363
- if (!this.useProgramCall) {
364
- await assertSignatureValid({
365
- data: transaction.messageBytes,
366
- signature: signatureBytes,
367
- signerAddress: this.address,
368
- });
369
- }
359
+ await assertSignatureValid({
360
+ data: transaction.messageBytes,
361
+ signature: signatureBytes,
362
+ signerAddress: this.address,
363
+ });
370
364
  return createSignatureDictionary({
371
365
  signature: signatureBytes,
372
366
  signerAddress: this.address,
@@ -1 +1 @@
1
- {"version":3,"file":"fireblocks-signer.js","sourceRoot":"","sources":["../src/fireblocks-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EAEf,gBAAgB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,+BAA+B,GAIlC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQrC,OAAO,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAA8B;IAE9B,OAAO,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,IAAI,aAA8D,CAAC;AACnE,IAAI,aAA8D,CAAC;AAEnE,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AACzD,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,gBAAgB;IAazB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,MAA8B;QAE9B,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAW,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,MAA8B;QA3BlC,aAAQ,GAA6B,IAAI,CAAC;QAU1C,gBAAW,GAAG,KAAK,CAAC;QAkBxB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;gBAC3C,OAAO,EAAE,+BAA+B;aAC3C,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACxB,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;gBAC3C,OAAO,EAAE,sCAAsC;aAClD,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACzB,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;gBAC3C,OAAO,EAAE,uCAAuC;aACnD,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,oBAAoB,CAAC;QAC7D,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAC;QACxE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,yBAAyB,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QAErD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,EAAE;gBACrD,OAAO,EAAE,4CAA4C;aACxD,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAA2B,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,cAAsB;QACjD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACrB,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;gBAC3C,OAAO,EAAE,qCAAqC;aACjD,CAAC,CAAC;QACP,CAAC;QACD,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CACR,yHAAyH,CAC5H,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,KAAK,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QACxB,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,sBAAsB,CAAC;QAC5F,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAExE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QACvC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACxB,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,WAAW,EAAE,IAAI,CAAC,MAAM;iBAC3B;gBACD,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,CAAC,eAAe,CAAC,UAAU,EAAE;gBACzC,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,mCAAmC;gBAC5C,GAAG;aACN,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;YACrF,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,EAAE;gBAC/C,OAAO,EAAE,yBAAyB,QAAQ,CAAC,MAAM,EAAE;gBACnD,QAAQ,EAAE,2BAA2B,CAAC,SAAS,CAAC;gBAChD,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,iBAAyC,CAAC;QAC9C,IAAI,CAAC;YACD,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,CAAC,eAAe,CAAC,aAAa,EAAE;gBAC5C,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,qCAAqC;aACjD,CAAC,CAAC;QACP,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,EAAE;gBACjD,OAAO,EAAE,wCAAwC;aACpD,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC;YACD,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,YAAuB,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,EAAE;gBACjD,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,iCAAiC;aAC7C,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,GAAW,EAAE,IAAc;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QACvC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACxB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAChC,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;iBAC3B;gBACD,MAAM;aACT,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,CAAC,eAAe,CAAC,UAAU,EAAE;gBACzC,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,mCAAmC;gBAC5C,GAAG;aACN,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;YACrF,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,EAAE;gBAC/C,OAAO,EAAE,yBAAyB,QAAQ,CAAC,MAAM,EAAE;gBACnD,QAAQ,EAAE,2BAA2B,CAAC,SAAS,CAAC;gBAChD,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC;YACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,CAAC,eAAe,CAAC,aAAa,EAAE;gBAC5C,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,qCAAqC;aACjD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,YAAwB;QAC/C,aAAa,KAAb,aAAa,GAAK,gBAAgB,EAAE,EAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,OAAO,GAA6B;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE;gBACb,cAAc,EAAE;oBACZ,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;iBACtC;aACJ;YACD,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,IAAI,EAAE,eAAe;aACxB;SACJ,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAA4B,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC1G,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC7B,WAA+E;QAE/E,+EAA+E;QAC/E,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;QAE3E,MAAM,OAAO,GAA6B;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE;gBACb,eAAe,EAAE,qBAAqB;aACzC;YACD,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,IAAI,EAAE,eAAe;aACxB;SACJ,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAA4B,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC1G,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QAChD,MAAM,GAAG,GAAG,oBAAoB,aAAa,EAAE,CAAC;QAEhD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAsB,KAAK,EAAE,GAAG,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAqC,CAAC;YAEhE,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpC,uDAAuD;gBACvD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC;gBACnE,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACnG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC5B,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;4BAC7C,OAAO,EAAE,sCAAsC,QAAQ,CAAC,MAAM,SAAS;yBAC1E,CAAC,CAAC;oBACP,CAAC;oBACD,aAAa,KAAb,aAAa,GAAK,gBAAgB,EAAE,EAAC;oBACrC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;wBACzB,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;4BAC7C,OAAO,EAAE,oDAAoD,QAAQ,CAAC,MAAM,EAAE;yBACjF,CAAC,CAAC;oBACP,CAAC;oBACD,OAAO,QAA0B,CAAC;gBACtC,CAAC;gBAED,uDAAuD;gBACvD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;wBACzB,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;4BAC7C,OAAO,EAAE,iDAAiD,QAAQ,CAAC,MAAM,EAAE;yBAC9E,CAAC,CAAC;oBACP,CAAC;oBACD,OAAO,QAA0B,CAAC;gBACtC,CAAC;gBAED,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;oBAC7C,OAAO,EAAE,8DAA8D;iBAC1E,CAAC,CAAC;YACP,CAAC;YAED,sCAAsC;YACtC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;oBAC7C,OAAO,EAAE,mCAAmC,UAAU,CAAC,MAAM,EAAE;iBAClE,CAAC,CAAC;YACP,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE;YAC7C,OAAO,EAAE,uCAAuC,IAAI,CAAC,eAAe,WAAW;SAClF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAoC;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,MAAM,OAAO,CAAC,GAAG,CACpB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,YAAY,GACd,OAAO,CAAC,OAAO,YAAY,UAAU;gBACjC,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,oBAAoB,CAAC;gBACvB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,cAAc;gBACzB,aAAa,EAAE,IAAI,CAAC,OAAO;aAC9B,CAAC,CAAC;YACH,OAAO,yBAAyB,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,aAAa,EAAE,IAAI,CAAC,OAAO;aAC9B,CAAC,CAAC;QACP,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAClB,YAA6F;QAE7F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,MAAM,OAAO,CAAC,GAAG,CACpB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc;gBACtC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBAC7C,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,oBAAoB,CAAC;oBACvB,IAAI,EAAE,WAAW,CAAC,YAAY;oBAC9B,SAAS,EAAE,cAAc;oBACzB,aAAa,EAAE,IAAI,CAAC,OAAO;iBAC9B,CAAC,CAAC;YACP,CAAC;YACD,OAAO,yBAAyB,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,aAAa,EAAE,IAAI,CAAC,OAAO;aAC9B,CAAC,CAAC;QACP,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAExE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,WAAW,EAAE,IAAI,CAAC,MAAM;iBAC3B;gBACD,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,EAAE;gBACrD,OAAO,EAAE,4CAA4C;aACxD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ;AAED,SAAS,uBAAuB,CAAC,UAAkB;IAC/C,IAAI,SAAc,CAAC;IACnB,IAAI,CAAC;QACD,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;YAC3C,OAAO,EAAE,+BAA+B;SAC3C,CAAC,CAAC;IACP,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE;YAC3C,OAAO,EAAE,2BAA2B;SACvC,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"fireblocks-signer.js","sourceRoot":"","sources":["../src/fireblocks-signer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -18,7 +18,8 @@ export interface FireblocksSignerConfig {
18
18
  requestDelayMs?: number;
19
19
  /**
20
20
  * Use PROGRAM_CALL operation for signing transactions (default: false)
21
- * When true, Fireblocks signs and broadcasts the transaction to Solana.
21
+ * When true, Fireblocks signs and broadcasts the transaction to Solana,
22
+ * but callers must not treat the broadcast response as a reusable local signature.
22
23
  * When false, uses RAW signing (signs message bytes only, caller broadcasts).
23
24
  */
24
25
  useProgramCall?: boolean;
@@ -70,7 +71,10 @@ export interface TransactionResponse {
70
71
  id: string;
71
72
  signedMessages?: SignedMessage[];
72
73
  status: string;
73
- /** Transaction hash (base58 encoded signature) - populated for PROGRAM_CALL after broadcast */
74
+ /**
75
+ * Transaction id returned for PROGRAM_CALL after broadcast.
76
+ * This is a broadcast artifact, not a reusable signer-bound signature.
77
+ */
74
78
  txHash?: string;
75
79
  }
76
80
  export interface SignedMessage {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IAEtB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,0BAA0B,GAAG,kBAAkB,CAAC;IACjE,SAAS,EAAE,cAAc,GAAG,KAAK,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;CAc9B,CAAC;AACX,MAAM,MAAM,2BAA2B,GACnC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQxD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IAEtB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,0BAA0B,GAAG,kBAAkB,CAAC;IACjE,SAAS,EAAE,cAAc,GAAG,KAAK,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;CAc9B,CAAC;AACX,MAAM,MAAM,2BAA2B,GACnC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQxD"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA+GA;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,iBAAiB,EAAE,mBAAmB;IACtC,iCAAiC,EAAE,mCAAmC;IACtE,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CAChB,CAAC;AAIX;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,OAAO,CACH,MAAM,KAAK,2BAA2B,CAAC,SAAS;QAChD,MAAM,KAAK,2BAA2B,CAAC,SAAS;QAChD,MAAM,KAAK,2BAA2B,CAAC,QAAQ;QAC/C,MAAM,KAAK,2BAA2B,CAAC,OAAO;QAC9C,MAAM,KAAK,2BAA2B,CAAC,MAAM,CAChD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmHA;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,iBAAiB,EAAE,mBAAmB;IACtC,iCAAiC,EAAE,mCAAmC;IACtE,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CAChB,CAAC;AAIX;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,OAAO,CACH,MAAM,KAAK,2BAA2B,CAAC,SAAS;QAChD,MAAM,KAAK,2BAA2B,CAAC,SAAS;QAChD,MAAM,KAAK,2BAA2B,CAAC,QAAQ;QAC/C,MAAM,KAAK,2BAA2B,CAAC,OAAO;QAC9C,MAAM,KAAK,2BAA2B,CAAC,MAAM,CAChD,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solana/keychain-fireblocks",
3
3
  "author": "Solana Foundation",
4
- "version": "1.0.1",
4
+ "version": "1.1.0",
5
5
  "description": "Fireblocks-based signer for Solana transactions",
6
6
  "license": "MIT",
7
7
  "repository": "https://github.com/solana-foundation/solana-keychain",
@@ -29,7 +29,7 @@
29
29
  ],
30
30
  "dependencies": {
31
31
  "jose": "^6.1.3",
32
- "@solana/keychain-core": "1.0.1"
32
+ "@solana/keychain-core": "1.1.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@solana/addresses": ">=6.0.1",
@@ -47,7 +47,7 @@
47
47
  "@solana-program/memo": "^0.11.0",
48
48
  "@solana/kit": "^6.0.1",
49
49
  "dotenv": "^17.2.3",
50
- "@solana/keychain-test-utils": "1.0.1"
50
+ "@solana/keychain-test-utils": "1.1.0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * Unlike other signers, Fireblocks PROGRAM_CALL mode signs AND broadcasts
5
5
  * the transaction to Solana through Fireblocks' infrastructure. The signed
6
- * transaction never returns to the caller only a txHash comes back after
7
- * polling. This means LiteSVM (used by runSignerIntegrationTest) can never
8
- * observe the transaction, so we test against devnet directly.
6
+ * transaction never returns to the caller, and the broadcast transaction id
7
+ * is not a reusable signer-bound signature artifact. This means LiteSVM
8
+ * (used by runSignerIntegrationTest) can never observe a signer-specific
9
+ * transaction signature from PROGRAM_CALL, so we test against devnet directly.
9
10
  *
10
11
  * RAW mode returns a raw signature but is not available on the Fireblocks
11
12
  * sandbox/testnet environment used in CI.
@@ -35,7 +36,7 @@ function hasRequiredEnvVars(): boolean {
35
36
 
36
37
  describe('FireblocksSigner Integration', () => {
37
38
  it.skipIf(!hasRequiredEnvVars())(
38
- 'signs transactions with PROGRAM_CALL',
39
+ 'fails closed for PROGRAM_CALL because Fireblocks only returns a broadcast transaction id',
39
40
  async () => {
40
41
  const signer = await createFireblocksSigner({
41
42
  apiKey: process.env.FIREBLOCKS_API_KEY!,
@@ -58,10 +59,9 @@ describe('FireblocksSigner Integration', () => {
58
59
  tx => setTransactionMessageLifetimeUsingBlockhash({ blockhash, lastValidBlockHeight }, tx),
59
60
  );
60
61
 
61
- const signed = await signTransactionMessageWithSigners(transaction);
62
-
63
- expect(signed.signatures[signer.address]).toBeDefined();
64
- expect(signed.signatures[signer.address]?.length).toBe(64);
62
+ await expect(signTransactionMessageWithSigners(transaction)).rejects.toThrow(
63
+ 'Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature',
64
+ );
65
65
  },
66
66
  120_000,
67
67
  );
@@ -2,6 +2,14 @@ import { generateKeyPairSigner } from '@solana/signers';
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  import { assertIsSolanaSigner } from '@solana/keychain-core';
4
4
 
5
+ vi.mock('@solana/transactions', async importOriginal => {
6
+ const mod = await importOriginal<typeof import('@solana/transactions')>();
7
+ return {
8
+ ...mod,
9
+ getBase64EncodedWireTransaction: vi.fn(() => 'base64-wire-transaction'),
10
+ };
11
+ });
12
+
5
13
  import { FireblocksSigner } from '../fireblocks-signer.js';
6
14
  import type { FireblocksSignerConfig } from '../types.js';
7
15
  import { TEST_API_KEY, TEST_RSA_PRIVATE_KEY, TEST_VAULT_ACCOUNT_ID } from './setup.js';
@@ -540,7 +548,7 @@ describe('FireblocksSigner', () => {
540
548
  expect(result[0]).toHaveProperty(signer.address);
541
549
  });
542
550
 
543
- it('should extract signature from txHash (base58) when signedMessages is absent', async () => {
551
+ it('should reject PROGRAM_CALL txHash because it is not a reusable signer-bound signature', async () => {
544
552
  const keyPair = await generateKeyPairSigner();
545
553
 
546
554
  // Mock init fetch
@@ -555,8 +563,8 @@ describe('FireblocksSigner', () => {
555
563
  json: async () => ({ id: 'tx-123', status: 'SUBMITTED' }),
556
564
  });
557
565
 
558
- // Mock poll for completion - return txHash (base58 encoded 64 bytes) instead of signedMessages
559
- // This tests the txHash extraction path in pollForSignature
566
+ // Mock poll for completion - PROGRAM_CALL returns txHash after broadcast,
567
+ // which must not be treated as a reusable signer-bound signature.
560
568
  mockFetch.mockResolvedValueOnce({
561
569
  ok: true,
562
570
  json: async () => ({
@@ -569,6 +577,7 @@ describe('FireblocksSigner', () => {
569
577
  const signer = new FireblocksSigner({
570
578
  apiKey: TEST_API_KEY,
571
579
  privateKeyPem: TEST_RSA_PRIVATE_KEY,
580
+ useProgramCall: true,
572
581
  vaultAccountId: TEST_VAULT_ACCOUNT_ID,
573
582
  });
574
583
 
@@ -579,13 +588,12 @@ describe('FireblocksSigner', () => {
579
588
  signatures: {},
580
589
  } as unknown as Parameters<typeof signer.signTransactions>[0][0];
581
590
 
582
- const result = await signer.signTransactions([transaction]);
583
-
584
- expect(result).toHaveLength(1);
585
- expect(result[0]).toHaveProperty(signer.address);
591
+ await expect(signer.signTransactions([transaction])).rejects.toThrow(
592
+ 'Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature',
593
+ );
586
594
  });
587
595
 
588
- it('should throw error when txHash decodes to invalid length', async () => {
596
+ it('should still reject malformed txHash in PROGRAM_CALL because it is not a reusable signer-bound signature', async () => {
589
597
  const keyPair = await generateKeyPairSigner();
590
598
 
591
599
  // Mock init fetch
@@ -600,19 +608,21 @@ describe('FireblocksSigner', () => {
600
608
  json: async () => ({ id: 'tx-123', status: 'SUBMITTED' }),
601
609
  });
602
610
 
603
- // Mock poll for completion - return a short base58 string (not 64 bytes)
611
+ // Mock poll for completion - txHash remains a broadcast transaction id,
612
+ // regardless of whether it would decode to a valid signature length.
604
613
  mockFetch.mockResolvedValueOnce({
605
614
  ok: true,
606
615
  json: async () => ({
607
616
  id: 'tx-123',
608
617
  status: 'COMPLETED',
609
- txHash: '2abc', // Very short, will decode to fewer than 64 bytes
618
+ txHash: '2abc',
610
619
  }),
611
620
  });
612
621
 
613
622
  const signer = new FireblocksSigner({
614
623
  apiKey: TEST_API_KEY,
615
624
  privateKeyPem: TEST_RSA_PRIVATE_KEY,
625
+ useProgramCall: true,
616
626
  vaultAccountId: TEST_VAULT_ACCOUNT_ID,
617
627
  });
618
628
 
@@ -623,7 +633,9 @@ describe('FireblocksSigner', () => {
623
633
  signatures: {},
624
634
  } as unknown as Parameters<typeof signer.signTransactions>[0][0];
625
635
 
626
- await expect(signer.signTransactions([transaction])).rejects.toThrow('Invalid txHash length');
636
+ await expect(signer.signTransactions([transaction])).rejects.toThrow(
637
+ 'Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature',
638
+ );
627
639
  });
628
640
  });
629
641
 
@@ -1,5 +1,5 @@
1
1
  import { Address, assertIsAddress } from '@solana/addresses';
2
- import { getBase16Decoder, getBase16Encoder, getBase58Encoder } from '@solana/codecs-strings';
2
+ import { getBase16Decoder, getBase16Encoder } from '@solana/codecs-strings';
3
3
  import {
4
4
  assertSignatureValid,
5
5
  createSignatureDictionary,
@@ -314,8 +314,9 @@ export class FireblocksSigner<TAddress extends string = string> implements Solan
314
314
  }
315
315
 
316
316
  /**
317
- * Sign a transaction using Fireblocks PROGRAM_CALL operation
318
- * This broadcasts the transaction to Solana through Fireblocks
317
+ * Sign a transaction using Fireblocks PROGRAM_CALL operation.
318
+ * This broadcasts the transaction through Fireblocks but does not yield a
319
+ * reusable signer-bound signature artifact for the local signer address.
319
320
  */
320
321
  private async signWithProgramCall(
321
322
  transaction: Transaction & TransactionWithinSizeLimit & TransactionWithLifetime,
@@ -340,7 +341,7 @@ export class FireblocksSigner<TAddress extends string = string> implements Solan
340
341
  }
341
342
 
342
343
  /**
343
- * Poll for transaction completion and extract signature
344
+ * Poll for transaction completion and extract a reusable signer-bound signature.
344
345
  */
345
346
  private async pollForSignature(transactionId: string): Promise<SignatureBytes> {
346
347
  const uri = `/v1/transactions/${transactionId}`;
@@ -370,15 +371,13 @@ export class FireblocksSigner<TAddress extends string = string> implements Solan
370
371
  return sigBytes as SignatureBytes;
371
372
  }
372
373
 
373
- // Try txHash (PROGRAM_CALL - base58 encoded signature)
374
+ // PROGRAM_CALL only returns a broadcast transaction id, not a
375
+ // reusable signer-bound signature over the local message bytes.
374
376
  if (txResponse.txHash) {
375
- const sigBytes = getBase58Encoder().encode(txResponse.txHash);
376
- if (sigBytes.length !== 64) {
377
- throwSignerError(SignerErrorCode.SIGNING_FAILED, {
378
- message: `Invalid txHash length: expected 64 bytes, got ${sigBytes.length}`,
379
- });
380
- }
381
- return sigBytes as SignatureBytes;
377
+ throwSignerError(SignerErrorCode.SIGNING_FAILED, {
378
+ message:
379
+ 'Fireblocks PROGRAM_CALL returned txHash without a reusable signer-bound signature; use RAW signing for local signature artifacts',
380
+ });
382
381
  }
383
382
 
384
383
  throwSignerError(SignerErrorCode.SIGNING_FAILED, {
@@ -443,15 +442,11 @@ export class FireblocksSigner<TAddress extends string = string> implements Solan
443
442
  const signatureBytes = this.useProgramCall
444
443
  ? await this.signWithProgramCall(transaction)
445
444
  : await this.signRawBytes(new Uint8Array(transaction.messageBytes));
446
- // Skip verification for PROGRAM_CALL: it broadcasts to Solana and returns
447
- // a txHash (on-chain confirmation), not a signature over the message bytes.
448
- if (!this.useProgramCall) {
449
- await assertSignatureValid({
450
- data: transaction.messageBytes,
451
- signature: signatureBytes,
452
- signerAddress: this.address,
453
- });
454
- }
445
+ await assertSignatureValid({
446
+ data: transaction.messageBytes,
447
+ signature: signatureBytes,
448
+ signerAddress: this.address,
449
+ });
455
450
  return createSignatureDictionary({
456
451
  signature: signatureBytes,
457
452
  signerAddress: this.address,
package/src/types.ts CHANGED
@@ -25,7 +25,8 @@ export interface FireblocksSignerConfig {
25
25
 
26
26
  /**
27
27
  * Use PROGRAM_CALL operation for signing transactions (default: false)
28
- * When true, Fireblocks signs and broadcasts the transaction to Solana.
28
+ * When true, Fireblocks signs and broadcasts the transaction to Solana,
29
+ * but callers must not treat the broadcast response as a reusable local signature.
29
30
  * When false, uses RAW signing (signs message bytes only, caller broadcasts).
30
31
  */
31
32
  useProgramCall?: boolean;
@@ -86,7 +87,10 @@ export interface TransactionResponse {
86
87
  id: string;
87
88
  signedMessages?: SignedMessage[];
88
89
  status: string;
89
- /** Transaction hash (base58 encoded signature) - populated for PROGRAM_CALL after broadcast */
90
+ /**
91
+ * Transaction id returned for PROGRAM_CALL after broadcast.
92
+ * This is a broadcast artifact, not a reusable signer-bound signature.
93
+ */
90
94
  txHash?: string;
91
95
  }
92
96