@invisi-labs/sdk 1.1.7 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +5 -0
  2. package/dist/broadcaster-3KTB4JO2.cjs +21 -0
  3. package/dist/broadcaster-3KTB4JO2.cjs.map +1 -0
  4. package/dist/broadcaster-7ZKKSTZQ.js +21 -0
  5. package/dist/broadcaster-preparation-PJ263WBL.cjs +15 -0
  6. package/dist/broadcaster-preparation-PJ263WBL.cjs.map +1 -0
  7. package/dist/broadcaster-preparation-ZQAPZAUG.js +15 -0
  8. package/dist/broadcaster-preparation-ZQAPZAUG.js.map +1 -0
  9. package/dist/{chunk-LOU7AP2B.cjs → chunk-2URICDPW.cjs} +72 -33
  10. package/dist/chunk-2URICDPW.cjs.map +1 -0
  11. package/dist/chunk-3D24ABYR.js +86 -0
  12. package/dist/chunk-3D24ABYR.js.map +1 -0
  13. package/dist/chunk-3KTQQZOW.cjs +71 -0
  14. package/dist/chunk-3KTQQZOW.cjs.map +1 -0
  15. package/dist/chunk-4H4FARQK.js +1582 -0
  16. package/dist/chunk-4H4FARQK.js.map +1 -0
  17. package/dist/chunk-4SDP53YQ.cjs +765 -0
  18. package/dist/chunk-4SDP53YQ.cjs.map +1 -0
  19. package/dist/{chunk-XHKQ2BO2.js → chunk-4VI6LYGH.js} +25 -2
  20. package/dist/chunk-4VI6LYGH.js.map +1 -0
  21. package/dist/chunk-BBSRP4MH.cjs +287 -0
  22. package/dist/chunk-BBSRP4MH.cjs.map +1 -0
  23. package/dist/chunk-DGMVGFKM.js +41 -0
  24. package/dist/chunk-DGMVGFKM.js.map +1 -0
  25. package/dist/chunk-GUD3LAUO.js +765 -0
  26. package/dist/chunk-GUD3LAUO.js.map +1 -0
  27. package/dist/chunk-HCB7RQ3S.cjs +79 -0
  28. package/dist/chunk-HCB7RQ3S.cjs.map +1 -0
  29. package/dist/{chunk-GTPUYPQL.js → chunk-HKGJXQVN.js} +69 -30
  30. package/dist/chunk-HKGJXQVN.js.map +1 -0
  31. package/dist/chunk-HLH5JZD4.js +287 -0
  32. package/dist/chunk-HLH5JZD4.js.map +1 -0
  33. package/dist/chunk-J6TZZVAM.cjs +230 -0
  34. package/dist/chunk-J6TZZVAM.cjs.map +1 -0
  35. package/dist/{chunk-7F7ZZW3L.cjs → chunk-LOR6PYH5.cjs} +25 -2
  36. package/dist/chunk-LOR6PYH5.cjs.map +1 -0
  37. package/dist/chunk-MA2QZEF5.cjs +399 -0
  38. package/dist/chunk-MA2QZEF5.cjs.map +1 -0
  39. package/dist/chunk-MI4IP4ZD.cjs +86 -0
  40. package/dist/chunk-MI4IP4ZD.cjs.map +1 -0
  41. package/dist/chunk-NKYHYIRP.cjs +1582 -0
  42. package/dist/chunk-NKYHYIRP.cjs.map +1 -0
  43. package/dist/chunk-OCZLJKIA.cjs +41 -0
  44. package/dist/chunk-OCZLJKIA.cjs.map +1 -0
  45. package/dist/chunk-R5YAOJKB.js +71 -0
  46. package/dist/chunk-R5YAOJKB.js.map +1 -0
  47. package/dist/chunk-RY4M2CIQ.js +399 -0
  48. package/dist/chunk-RY4M2CIQ.js.map +1 -0
  49. package/dist/chunk-THMD5QO2.js +79 -0
  50. package/dist/chunk-THMD5QO2.js.map +1 -0
  51. package/dist/chunk-ZD2652WH.js +230 -0
  52. package/dist/chunk-ZD2652WH.js.map +1 -0
  53. package/dist/credit.cjs +1 -0
  54. package/dist/credit.cjs.map +1 -0
  55. package/dist/credit.d.cts +12 -0
  56. package/dist/credit.d.ts +12 -0
  57. package/dist/credit.js +1 -0
  58. package/dist/credit.js.map +1 -0
  59. package/dist/ethers.cjs +2 -2
  60. package/dist/ethers.cjs.map +1 -1
  61. package/dist/ethers.d.cts +15 -4
  62. package/dist/ethers.d.ts +15 -4
  63. package/dist/ethers.js +1 -1
  64. package/dist/index-CLhGwLxZ.d.cts +42 -0
  65. package/dist/index-Crp-ZFiM.d.ts +42 -0
  66. package/dist/index.cjs +64 -38
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.d.cts +21 -14
  69. package/dist/index.d.ts +21 -14
  70. package/dist/index.js +59 -33
  71. package/dist/index.js.map +1 -1
  72. package/dist/note.cjs +11 -0
  73. package/dist/note.cjs.map +1 -0
  74. package/dist/note.d.cts +29 -0
  75. package/dist/note.d.ts +29 -0
  76. package/dist/note.js +11 -0
  77. package/dist/note.js.map +1 -0
  78. package/dist/{broadcaster-preparation-DMxxZ_1Q.d.cts → operation-bridge-CoECSxfi.d.cts} +130 -245
  79. package/dist/{broadcaster-preparation-DMxxZ_1Q.d.ts → operation-bridge-CoECSxfi.d.ts} +130 -245
  80. package/dist/preparation-HUBTVCZE.js +404 -0
  81. package/dist/preparation-HUBTVCZE.js.map +1 -0
  82. package/dist/preparation-QD3ZSYV5.cjs +404 -0
  83. package/dist/preparation-QD3ZSYV5.cjs.map +1 -0
  84. package/dist/provenance-preparation-43DN2WK7.cjs +16 -0
  85. package/dist/provenance-preparation-43DN2WK7.cjs.map +1 -0
  86. package/dist/provenance-preparation-HEZE4L5H.js +16 -0
  87. package/dist/provenance-preparation-HEZE4L5H.js.map +1 -0
  88. package/dist/provenance.cjs +59 -0
  89. package/dist/provenance.cjs.map +1 -0
  90. package/dist/provenance.d.cts +34 -0
  91. package/dist/provenance.d.ts +34 -0
  92. package/dist/provenance.js +59 -0
  93. package/dist/provenance.js.map +1 -0
  94. package/dist/{receipt-logs-m0-bhaxW.d.ts → receipt-logs-8Msm_HZS.d.ts} +82 -78
  95. package/dist/{receipt-logs-CvC951p7.d.cts → receipt-logs-DWG4In8N.d.cts} +82 -78
  96. package/dist/session-support.cjs +28 -7
  97. package/dist/session-support.cjs.map +1 -1
  98. package/dist/session-support.d.cts +71 -39
  99. package/dist/session-support.d.ts +71 -39
  100. package/dist/session-support.js +58 -37
  101. package/dist/session-support.js.map +1 -1
  102. package/package.json +22 -6
  103. package/dist/broadcaster-preparation-RMWQFYNL.js +0 -11
  104. package/dist/broadcaster-preparation-UGOTO4SX.cjs +0 -11
  105. package/dist/broadcaster-preparation-UGOTO4SX.cjs.map +0 -1
  106. package/dist/chunk-7F7ZZW3L.cjs.map +0 -1
  107. package/dist/chunk-EHP5TBC6.js +0 -3565
  108. package/dist/chunk-EHP5TBC6.js.map +0 -1
  109. package/dist/chunk-GTPUYPQL.js.map +0 -1
  110. package/dist/chunk-ITTGBIG2.js +0 -1877
  111. package/dist/chunk-ITTGBIG2.js.map +0 -1
  112. package/dist/chunk-J2JH6HIG.cjs +0 -1877
  113. package/dist/chunk-J2JH6HIG.cjs.map +0 -1
  114. package/dist/chunk-LOU7AP2B.cjs.map +0 -1
  115. package/dist/chunk-RHNIHI4P.cjs +0 -3565
  116. package/dist/chunk-RHNIHI4P.cjs.map +0 -1
  117. package/dist/chunk-XHKQ2BO2.js.map +0 -1
  118. /package/dist/{broadcaster-preparation-RMWQFYNL.js.map → broadcaster-7ZKKSTZQ.js.map} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,17 +1,23 @@
1
- import { DisclosureOutput, Disclosure, DisclosureResult, Wallet } from '@invisi-labs/core';
2
- export { Address, CreditDataV1, CreditDeliveryState, CreditNote, CreditOpening, CreditPolicy, Detector, Disclosure, DisclosureExport, DisclosureOutput, DisclosureResult, FundsDataV1, Hex, MAX_MEMO_BYTES, Memo, MissingCapabilityError, Note, NullifierCapability, PublicWallet, ReceivingKeys, SigningRequest, ViewingCapability, Wallet, WalletAuthorization, WalletAuthorizationProvider, computeCreditNullifier, creditPeriods, creditV1, decodeDeliveryHeader, decodeMemoText, encodeMemo, fundsV1 } from '@invisi-labs/core';
3
- import * as _invisi_labs_protocol from '@invisi-labs/protocol';
4
- import { CanonicalBlock, ChainReader, TokenProtocol, Protocol as Protocol$1, AddressRegistry as AddressRegistry$1, RegistrationPreparation, TransactionCall, Membership } from '@invisi-labs/protocol';
5
- export { AddressRegistryOptions, CanonicalBlock, CanonicalReceipt, ChainReader, FactoryReader, Membership, ProtocolDataProvider, ProtocolDataStatus, ProtocolOptions, ProtocolUpdateRange, ProtocolUpdates, RegistrationOperation, RegistryContext, RegistryReader, TokenProtocol, TokenProtocolOptions, TransactionCall, TransactionContext } from '@invisi-labs/protocol';
1
+ import { DisclosureOutput, Disclosure, DisclosureResult, Wallet } from '@invisi-labs/primitives';
2
+ export { Address, CreditDataV1, CreditDeliveryState, CreditOpening, CreditPolicy, CreditState, DeliveryDecryptionError, DeliveryDecryptor, Detector, Disclosure, DisclosureExport, DisclosureOutput, DisclosureResult, FundsDataV1, Hex, MAX_MEMO_BYTES, Memo, MissingCapabilityError, Note, NullifierCapability, ReceivingKeys, SigningRequest, ViewingCapability, Wallet, authenticatedDecryptor, computeCreditNullifier, creditPeriods, creditV1, decodeDeliveryHeader, decodeMemoText, encodeMemo, fundsV1 } from '@invisi-labs/primitives';
3
+ import * as _invisi_labs_rpc from '@invisi-labs/rpc';
4
+ import { TokenProtocol, Protocol as Protocol$1, ProtocolRpcClient as ProtocolRpcClient$1, AddressRegistry as AddressRegistry$1, RegistrationPreparation } from '@invisi-labs/rpc';
5
+ export { AddressRegistryOptions, IndexedCreditState, MAX_UPDATE_BLOCKS, ProtocolCreditTransition, ProtocolDeployment, ProtocolNoteOutput, ProtocolOptions, ProtocolRpcChain, ProtocolRpcClientOptions, ProtocolRpcConnectionOptions, ProtocolRpcError, ProtocolRpcReader, ProtocolTransactionCreditUpdates, ProtocolTransactionNoteUpdates, RegisteredReceivingAddress, RegistrationOperation, RegistryReader, TokenProtocol, TokenProtocolOptions } from '@invisi-labs/rpc';
6
+ import { CanonicalBlock, ChainReader, TransactionCall, Membership } from '@invisi-labs/protocol';
7
+ export { CanonicalBlock, CanonicalReceipt, ChainReader, DocumentedGasReference, DocumentedGasShape, FactoryReader, Membership, ProtocolDataProvider, ProtocolDataStatus, ProtocolUpdateRange, RegistryContext, TransactionCall, TransactionContext, getDocumentedGasReference } from '@invisi-labs/protocol';
6
8
  export { AggregateMember, AggregatorCapability, ProofBundle, ProofStatement, Prover, ProverOptions } from '@invisi-labs/prover';
7
- import { N as NoteInput } from './receipt-logs-CvC951p7.cjs';
8
- export { C as CreditInput, D as DeliveryEventLog, a as DiscoveredCredit, b as DiscoveredNote, E as ExplicitCancelCreditPreparation, c as ExplicitCreateCreditPreparation, d as ExplicitDrawCreditPreparation, e as ExplicitShieldPreparation, f as ExplicitTopUpCreditPreparation, g as ExplicitTransferPreparation, I as Invisi, h as InvisiError, i as InvisiErrorCode, j as InvisiErrorDetails, k as InvisiOptions, P as PreparedTransaction, R as RegistrationPreparationOptions, T as TransactionIdentity, l as TransactionOutput, m as decryptCandidates, n as defineGasBenchmarks, r as readProtocolLogs } from './receipt-logs-CvC951p7.cjs';
9
+ export { D as DeliveryEventLog, a as DiscoveredCredit, b as DiscoveredNote, I as Invisi, c as InvisiError, d as InvisiErrorCode, e as InvisiErrorDetails, f as InvisiOptions, P as PreparedTransaction, R as RegistrationPreparationOptions, g as decryptCandidates, r as readProtocolLogs } from './receipt-logs-DWG4In8N.cjs';
9
10
  import { Hex, Address } from '@invisi-labs/protocol/contracts';
10
11
  import { Provider } from 'ethers';
11
- import { B as BroadcasterClient, P as PaymentRequest } from './broadcaster-preparation-DMxxZ_1Q.cjs';
12
- export { a as BroadcasterConfiguration, b as BroadcasterFeeSource, c as BroadcasterQuote, d as BroadcasterRpcError, e as BroadcasterStatus, f as BroadcasterTransport, g as BroadcasterTrust, C as CancelCreditPreparation, h as CreateCreditPreparation, D as DrawCreditPreparation, F as FundingAuthorizationVerifier, i as FundingSigner, j as FundingSource, k as FundingTypedData, G as GasBenchmarkCircuit, l as GasBenchmarkDeployment, m as GasBenchmarkProfile, n as GasBenchmarkSample, o as GasBenchmarkShape, p as GasReference, N as NoteOutput, q as NoteOutputContext, r as NoteOutputExecutionOptions, s as NoteOutputRecipient, O as OperationAggregateMember, S as ShieldPreparation, t as SignedBroadcasterQuote, T as TopUpCreditPreparation, u as TransactionExecution, v as TransactionProveOptions, w as TransferPreparation, W as WithBroadcasterOptions, x as broadcasterQuoteDomain, y as broadcasterQuoteTypes, z as broadcasterRequestHash, A as broadcasterTransactInterface, E as decodeBroadcasterIntent, H as verifyBroadcasterQuote } from './broadcaster-preparation-DMxxZ_1Q.cjs';
13
- import { ProtocolRpcClient as ProtocolRpcClient$1 } from '@invisi-labs/rpc';
14
- export { MAX_UPDATE_BLOCKS, ProtocolCreditTransition, ProtocolDeployment, ProtocolOutput, ProtocolRpcChain, ProtocolRpcClientOptions, ProtocolRpcConnectionOptions, ProtocolRpcError, ProtocolRpcReader, ProtocolTransactionUpdates, RegisteredReceivingAddress } from '@invisi-labs/rpc';
12
+ import { i as BroadcasterClient, j as PaymentRequest } from './operation-bridge-CoECSxfi.cjs';
13
+ export { k as BroadcasterFeeSource, l as BroadcasterQuoteOptions, B as BroadcasterTransaction, C as CreateCreditPreparation, D as DrawCreditPreparation, c as FundingAuthorizationVerifier, F as FundingSigner, m as FundingSource, b as FundingTypedData, N as NoteOutput, n as NoteOutputContext, o as NoteOutputExecutionOptions, p as NoteOutputRecipient, g as OperationAggregateMember, a as PreparedProvenanceCapability, R as RevokeCreditPreparation, S as ShieldPreparation, q as TransactionExecution, f as TransactionProveOptions, r as TransferPreparation, U as UpdateCreditPreparation } from './operation-bridge-CoECSxfi.cjs';
14
+ import { N as NoteInput } from './index-CLhGwLxZ.cjs';
15
+ export { C as CreditInput, b as ExplicitCreateCreditPreparation, c as ExplicitDrawCreditPreparation, e as ExplicitRevokeCreditPreparation, a as ExplicitShieldPreparation, E as ExplicitTransferPreparation, d as ExplicitUpdateCreditPreparation, T as TransactionIdentity } from './index-CLhGwLxZ.cjs';
16
+ export { TransactionOutput } from './note.cjs';
17
+ export { BroadcasterConfiguration, BroadcasterEstimate, BroadcasterQuote, BroadcasterRpcError, BroadcasterStatus, BroadcasterTransport, BroadcasterTrust, SignedBroadcasterQuote, broadcasterQuoteDomain, broadcasterQuoteTypes, broadcasterRequestHash, broadcasterTransactInterface, decodeBroadcasterIntent, verifyBroadcasterQuote } from '@invisi-labs/rpc/broadcaster';
18
+ import '@invisi-labs/protocol/provenance';
19
+ import '@invisi-labs/prover/provenance-witness';
20
+ import '@invisi-labs/rpc/provenance';
15
21
 
16
22
  interface DisclosureReference {
17
23
  transactionHash: Hex;
@@ -58,14 +64,15 @@ declare class DisclosureVerifier {
58
64
  };
59
65
  }
60
66
 
61
- /** Deployment operations and token-compatible broadcaster discovery. */
67
+ /** Deployment operations and transaction-compatible broadcaster discovery. */
62
68
  declare class Protocol extends Protocol$1 {
63
69
  static fromRpc(rpc: Pick<ProtocolRpcClient$1, "getDeployment"> & Partial<Pick<ProtocolRpcClient$1, "getBroadcasters" | "withReader">>, provider: Provider, options?: {
64
70
  signal?: AbortSignal;
65
71
  }): Promise<Protocol>;
66
- /** Returns enabled services that answer a token fee probe; final quotes are checked by prepared. */
72
+ /** Discover token support without disclosing a transaction or requesting a price. */
67
73
  getBroadcasters(options: {
68
74
  tokenAddress: string;
75
+ signal?: AbortSignal;
69
76
  }): Promise<BroadcasterClient[]>;
70
77
  }
71
78
 
@@ -73,7 +80,7 @@ declare class Protocol extends Protocol$1 {
73
80
  declare class AddressRegistry extends AddressRegistry$1 {
74
81
  prepareRegistration(options: RegistrationPreparation | (Omit<RegistrationPreparation, "reader"> & {
75
82
  provider: Provider;
76
- })): Promise<_invisi_labs_protocol.RegistrationOperation>;
83
+ })): Promise<_invisi_labs_rpc.RegistrationOperation>;
77
84
  }
78
85
 
79
86
  interface BroadcasterRegistration {
package/dist/index.d.ts CHANGED
@@ -1,17 +1,23 @@
1
- import { DisclosureOutput, Disclosure, DisclosureResult, Wallet } from '@invisi-labs/core';
2
- export { Address, CreditDataV1, CreditDeliveryState, CreditNote, CreditOpening, CreditPolicy, Detector, Disclosure, DisclosureExport, DisclosureOutput, DisclosureResult, FundsDataV1, Hex, MAX_MEMO_BYTES, Memo, MissingCapabilityError, Note, NullifierCapability, PublicWallet, ReceivingKeys, SigningRequest, ViewingCapability, Wallet, WalletAuthorization, WalletAuthorizationProvider, computeCreditNullifier, creditPeriods, creditV1, decodeDeliveryHeader, decodeMemoText, encodeMemo, fundsV1 } from '@invisi-labs/core';
3
- import * as _invisi_labs_protocol from '@invisi-labs/protocol';
4
- import { CanonicalBlock, ChainReader, TokenProtocol, Protocol as Protocol$1, AddressRegistry as AddressRegistry$1, RegistrationPreparation, TransactionCall, Membership } from '@invisi-labs/protocol';
5
- export { AddressRegistryOptions, CanonicalBlock, CanonicalReceipt, ChainReader, FactoryReader, Membership, ProtocolDataProvider, ProtocolDataStatus, ProtocolOptions, ProtocolUpdateRange, ProtocolUpdates, RegistrationOperation, RegistryContext, RegistryReader, TokenProtocol, TokenProtocolOptions, TransactionCall, TransactionContext } from '@invisi-labs/protocol';
1
+ import { DisclosureOutput, Disclosure, DisclosureResult, Wallet } from '@invisi-labs/primitives';
2
+ export { Address, CreditDataV1, CreditDeliveryState, CreditOpening, CreditPolicy, CreditState, DeliveryDecryptionError, DeliveryDecryptor, Detector, Disclosure, DisclosureExport, DisclosureOutput, DisclosureResult, FundsDataV1, Hex, MAX_MEMO_BYTES, Memo, MissingCapabilityError, Note, NullifierCapability, ReceivingKeys, SigningRequest, ViewingCapability, Wallet, authenticatedDecryptor, computeCreditNullifier, creditPeriods, creditV1, decodeDeliveryHeader, decodeMemoText, encodeMemo, fundsV1 } from '@invisi-labs/primitives';
3
+ import * as _invisi_labs_rpc from '@invisi-labs/rpc';
4
+ import { TokenProtocol, Protocol as Protocol$1, ProtocolRpcClient as ProtocolRpcClient$1, AddressRegistry as AddressRegistry$1, RegistrationPreparation } from '@invisi-labs/rpc';
5
+ export { AddressRegistryOptions, IndexedCreditState, MAX_UPDATE_BLOCKS, ProtocolCreditTransition, ProtocolDeployment, ProtocolNoteOutput, ProtocolOptions, ProtocolRpcChain, ProtocolRpcClientOptions, ProtocolRpcConnectionOptions, ProtocolRpcError, ProtocolRpcReader, ProtocolTransactionCreditUpdates, ProtocolTransactionNoteUpdates, RegisteredReceivingAddress, RegistrationOperation, RegistryReader, TokenProtocol, TokenProtocolOptions } from '@invisi-labs/rpc';
6
+ import { CanonicalBlock, ChainReader, TransactionCall, Membership } from '@invisi-labs/protocol';
7
+ export { CanonicalBlock, CanonicalReceipt, ChainReader, DocumentedGasReference, DocumentedGasShape, FactoryReader, Membership, ProtocolDataProvider, ProtocolDataStatus, ProtocolUpdateRange, RegistryContext, TransactionCall, TransactionContext, getDocumentedGasReference } from '@invisi-labs/protocol';
6
8
  export { AggregateMember, AggregatorCapability, ProofBundle, ProofStatement, Prover, ProverOptions } from '@invisi-labs/prover';
7
- import { N as NoteInput } from './receipt-logs-m0-bhaxW.js';
8
- export { C as CreditInput, D as DeliveryEventLog, a as DiscoveredCredit, b as DiscoveredNote, E as ExplicitCancelCreditPreparation, c as ExplicitCreateCreditPreparation, d as ExplicitDrawCreditPreparation, e as ExplicitShieldPreparation, f as ExplicitTopUpCreditPreparation, g as ExplicitTransferPreparation, I as Invisi, h as InvisiError, i as InvisiErrorCode, j as InvisiErrorDetails, k as InvisiOptions, P as PreparedTransaction, R as RegistrationPreparationOptions, T as TransactionIdentity, l as TransactionOutput, m as decryptCandidates, n as defineGasBenchmarks, r as readProtocolLogs } from './receipt-logs-m0-bhaxW.js';
9
+ export { D as DeliveryEventLog, a as DiscoveredCredit, b as DiscoveredNote, I as Invisi, c as InvisiError, d as InvisiErrorCode, e as InvisiErrorDetails, f as InvisiOptions, P as PreparedTransaction, R as RegistrationPreparationOptions, g as decryptCandidates, r as readProtocolLogs } from './receipt-logs-8Msm_HZS.js';
9
10
  import { Hex, Address } from '@invisi-labs/protocol/contracts';
10
11
  import { Provider } from 'ethers';
11
- import { B as BroadcasterClient, P as PaymentRequest } from './broadcaster-preparation-DMxxZ_1Q.js';
12
- export { a as BroadcasterConfiguration, b as BroadcasterFeeSource, c as BroadcasterQuote, d as BroadcasterRpcError, e as BroadcasterStatus, f as BroadcasterTransport, g as BroadcasterTrust, C as CancelCreditPreparation, h as CreateCreditPreparation, D as DrawCreditPreparation, F as FundingAuthorizationVerifier, i as FundingSigner, j as FundingSource, k as FundingTypedData, G as GasBenchmarkCircuit, l as GasBenchmarkDeployment, m as GasBenchmarkProfile, n as GasBenchmarkSample, o as GasBenchmarkShape, p as GasReference, N as NoteOutput, q as NoteOutputContext, r as NoteOutputExecutionOptions, s as NoteOutputRecipient, O as OperationAggregateMember, S as ShieldPreparation, t as SignedBroadcasterQuote, T as TopUpCreditPreparation, u as TransactionExecution, v as TransactionProveOptions, w as TransferPreparation, W as WithBroadcasterOptions, x as broadcasterQuoteDomain, y as broadcasterQuoteTypes, z as broadcasterRequestHash, A as broadcasterTransactInterface, E as decodeBroadcasterIntent, H as verifyBroadcasterQuote } from './broadcaster-preparation-DMxxZ_1Q.js';
13
- import { ProtocolRpcClient as ProtocolRpcClient$1 } from '@invisi-labs/rpc';
14
- export { MAX_UPDATE_BLOCKS, ProtocolCreditTransition, ProtocolDeployment, ProtocolOutput, ProtocolRpcChain, ProtocolRpcClientOptions, ProtocolRpcConnectionOptions, ProtocolRpcError, ProtocolRpcReader, ProtocolTransactionUpdates, RegisteredReceivingAddress } from '@invisi-labs/rpc';
12
+ import { i as BroadcasterClient, j as PaymentRequest } from './operation-bridge-CoECSxfi.js';
13
+ export { k as BroadcasterFeeSource, l as BroadcasterQuoteOptions, B as BroadcasterTransaction, C as CreateCreditPreparation, D as DrawCreditPreparation, c as FundingAuthorizationVerifier, F as FundingSigner, m as FundingSource, b as FundingTypedData, N as NoteOutput, n as NoteOutputContext, o as NoteOutputExecutionOptions, p as NoteOutputRecipient, g as OperationAggregateMember, a as PreparedProvenanceCapability, R as RevokeCreditPreparation, S as ShieldPreparation, q as TransactionExecution, f as TransactionProveOptions, r as TransferPreparation, U as UpdateCreditPreparation } from './operation-bridge-CoECSxfi.js';
14
+ import { N as NoteInput } from './index-Crp-ZFiM.js';
15
+ export { C as CreditInput, b as ExplicitCreateCreditPreparation, c as ExplicitDrawCreditPreparation, e as ExplicitRevokeCreditPreparation, a as ExplicitShieldPreparation, E as ExplicitTransferPreparation, d as ExplicitUpdateCreditPreparation, T as TransactionIdentity } from './index-Crp-ZFiM.js';
16
+ export { TransactionOutput } from './note.js';
17
+ export { BroadcasterConfiguration, BroadcasterEstimate, BroadcasterQuote, BroadcasterRpcError, BroadcasterStatus, BroadcasterTransport, BroadcasterTrust, SignedBroadcasterQuote, broadcasterQuoteDomain, broadcasterQuoteTypes, broadcasterRequestHash, broadcasterTransactInterface, decodeBroadcasterIntent, verifyBroadcasterQuote } from '@invisi-labs/rpc/broadcaster';
18
+ import '@invisi-labs/protocol/provenance';
19
+ import '@invisi-labs/prover/provenance-witness';
20
+ import '@invisi-labs/rpc/provenance';
15
21
 
16
22
  interface DisclosureReference {
17
23
  transactionHash: Hex;
@@ -58,14 +64,15 @@ declare class DisclosureVerifier {
58
64
  };
59
65
  }
60
66
 
61
- /** Deployment operations and token-compatible broadcaster discovery. */
67
+ /** Deployment operations and transaction-compatible broadcaster discovery. */
62
68
  declare class Protocol extends Protocol$1 {
63
69
  static fromRpc(rpc: Pick<ProtocolRpcClient$1, "getDeployment"> & Partial<Pick<ProtocolRpcClient$1, "getBroadcasters" | "withReader">>, provider: Provider, options?: {
64
70
  signal?: AbortSignal;
65
71
  }): Promise<Protocol>;
66
- /** Returns enabled services that answer a token fee probe; final quotes are checked by prepared. */
72
+ /** Discover token support without disclosing a transaction or requesting a price. */
67
73
  getBroadcasters(options: {
68
74
  tokenAddress: string;
75
+ signal?: AbortSignal;
69
76
  }): Promise<BroadcasterClient[]>;
70
77
  }
71
78
 
@@ -73,7 +80,7 @@ declare class Protocol extends Protocol$1 {
73
80
  declare class AddressRegistry extends AddressRegistry$1 {
74
81
  prepareRegistration(options: RegistrationPreparation | (Omit<RegistrationPreparation, "reader"> & {
75
82
  provider: Provider;
76
- })): Promise<_invisi_labs_protocol.RegistrationOperation>;
83
+ })): Promise<_invisi_labs_rpc.RegistrationOperation>;
77
84
  }
78
85
 
79
86
  interface BroadcasterRegistration {
package/dist/index.js CHANGED
@@ -1,21 +1,27 @@
1
1
  import {
2
2
  AddressRegistry,
3
- BroadcasterClient,
4
- BroadcasterRpcError,
5
3
  Invisi,
6
4
  PreparedTransaction,
7
- TransactionOutput,
5
+ decryptCandidates,
6
+ extractDeliveryCandidates,
7
+ readProtocolLogs
8
+ } from "./chunk-4H4FARQK.js";
9
+ import "./chunk-HLH5JZD4.js";
10
+ import "./chunk-THMD5QO2.js";
11
+ import {
12
+ TransactionOutput
13
+ } from "./chunk-DGMVGFKM.js";
14
+ import {
15
+ BroadcasterClient,
16
+ BroadcasterRpcError,
8
17
  broadcasterQuoteDomain,
9
18
  broadcasterQuoteTypes,
10
19
  broadcasterRequestHash,
11
20
  broadcasterTransactInterface,
12
21
  decodeBroadcasterIntent,
13
- decryptCandidates,
14
- defineGasBenchmarks,
15
- extractDeliveryCandidates,
16
- readProtocolLogs,
17
22
  verifyBroadcasterQuote
18
- } from "./chunk-EHP5TBC6.js";
23
+ } from "./chunk-R5YAOJKB.js";
24
+ import "./chunk-RY4M2CIQ.js";
19
25
  import {
20
26
  InvisiError,
21
27
  NoteOutput,
@@ -23,10 +29,10 @@ import {
23
29
  decodePaymentRequest,
24
30
  encodePaymentNote,
25
31
  encodePaymentRequest
26
- } from "./chunk-ITTGBIG2.js";
32
+ } from "./chunk-GUD3LAUO.js";
27
33
  import {
28
34
  EthersChainReader
29
- } from "./chunk-XHKQ2BO2.js";
35
+ } from "./chunk-4VI6LYGH.js";
30
36
 
31
37
  // src/index.ts
32
38
  import {
@@ -35,10 +41,8 @@ import {
35
41
  MAX_MEMO_BYTES,
36
42
  MissingCapabilityError,
37
43
  NullifierCapability,
38
- PublicWallet,
39
44
  ViewingCapability,
40
45
  Wallet as Wallet2,
41
- WalletAuthorization,
42
46
  computeCreditNullifier,
43
47
  creditPeriods,
44
48
  creditV1,
@@ -46,8 +50,8 @@ import {
46
50
  decodeMemoText,
47
51
  encodeMemo,
48
52
  fundsV1
49
- } from "@invisi-labs/core";
50
- import { RegistrationOperation } from "@invisi-labs/protocol";
53
+ } from "@invisi-labs/primitives";
54
+ import { RegistrationOperation } from "@invisi-labs/rpc";
51
55
 
52
56
  // src/disclosure/DisclosureVerifier.ts
53
57
  function check(value, message) {
@@ -177,7 +181,7 @@ function protocolConnection(protocol) {
177
181
  }
178
182
 
179
183
  // src/protocol/Protocol.ts
180
- import { Protocol as BaseProtocol } from "@invisi-labs/protocol";
184
+ import { Protocol as BaseProtocol } from "@invisi-labs/rpc";
181
185
  import { getAddress } from "ethers";
182
186
  var sources = /* @__PURE__ */ new WeakMap();
183
187
  var Protocol = class _Protocol extends BaseProtocol {
@@ -194,9 +198,11 @@ var Protocol = class _Protocol extends BaseProtocol {
194
198
  );
195
199
  return protocol;
196
200
  }
197
- /** Returns enabled services that answer a token fee probe; final quotes are checked by prepared. */
201
+ /** Discover token support without disclosing a transaction or requesting a price. */
198
202
  async getBroadcasters(options) {
203
+ options.signal?.throwIfAborted();
199
204
  const token = getAddress(options.tokenAddress);
205
+ if (BigInt(token) === 0n) throw Error("Invalid Broadcaster token address");
200
206
  if (!this.deployment.broadcasterRegistry)
201
207
  throw new Error("broadcaster registry is not configured");
202
208
  const rpc = sources.get(this);
@@ -206,9 +212,11 @@ var Protocol = class _Protocol extends BaseProtocol {
206
212
  let block;
207
213
  const seen = /* @__PURE__ */ new Set();
208
214
  do {
215
+ options.signal?.throwIfAborted();
209
216
  const page = await rpc.getBroadcasters({
210
217
  enabled: true,
211
218
  limit: 100,
219
+ ...options.signal ? { signal: options.signal } : {},
212
220
  ...after ? { after } : {},
213
221
  ...block ? { block } : {}
214
222
  });
@@ -217,14 +225,28 @@ var Protocol = class _Protocol extends BaseProtocol {
217
225
  page.broadcasters.map(async (entry) => {
218
226
  if (!entry.enabled) return void 0;
219
227
  try {
220
- const client = new BroadcasterClient(entry);
221
- await client.fee(token);
228
+ const client = new BroadcasterClient({
229
+ endpoint: entry.endpoint,
230
+ quoteSigner: entry.quoteSigner,
231
+ feeRecipient: entry.feeRecipient
232
+ });
233
+ if (!await client.supportsToken(
234
+ token,
235
+ {
236
+ chainId: this.context.chainId,
237
+ protocol: this.context.protocolAddress
238
+ },
239
+ options
240
+ ))
241
+ return void 0;
222
242
  return client;
223
243
  } catch {
244
+ options.signal?.throwIfAborted();
224
245
  return void 0;
225
246
  }
226
247
  })
227
248
  );
249
+ options.signal?.throwIfAborted();
228
250
  clients.push(
229
251
  ...compatible.filter((client) => client !== void 0)
230
252
  );
@@ -353,15 +375,18 @@ var ProtocolRpcClient = class extends RpcClient {
353
375
  }
354
376
  };
355
377
 
378
+ // src/index.ts
379
+ import { getDocumentedGasReference } from "@invisi-labs/protocol";
380
+
356
381
  // src/payment-note/PaymentNote.ts
357
- import { computeNoteIdentity, computeNoteCommitment, Wallet } from "@invisi-labs/core";
382
+ import { computeNoteIdentity, computeNoteCommitment, Wallet } from "@invisi-labs/primitives";
358
383
 
359
384
  // src/payment-note/verification.ts
360
385
  import {
361
386
  poseidonHash,
362
387
  TREE_DEPTH,
363
388
  computeNoteNullifier
364
- } from "@invisi-labs/core";
389
+ } from "@invisi-labs/primitives";
365
390
  import { getAddress as getAddress3 } from "ethers";
366
391
  function verificationOptions(protocol, options = {}) {
367
392
  const connected = protocolConnection(protocol);
@@ -395,13 +420,6 @@ async function verifyPaymentNote(data, protocol, options, wallet) {
395
420
  await protocol.validateDeployment(reader);
396
421
  if (wallet && getAddress3(wallet.ownerAddress) !== getAddress3(data.ownerAddress))
397
422
  throw new Error("Payment note owner mismatch");
398
- if (wallet) {
399
- if (typeof wallet.exportAuthorization !== "function")
400
- throw new Error("Wallet spending authorization capability required");
401
- const authorization = wallet.exportAuthorization();
402
- if (getAddress3(authorization.ownerAddress) !== getAddress3(data.ownerAddress))
403
- throw new Error("Wallet authorization owner mismatch");
404
- }
405
423
  const latest = await reader.getLatestBlockNumber();
406
424
  const number = latest - BigInt(confirmations - 1);
407
425
  if (number < protocol.deployment.protocol.fromBlock)
@@ -434,7 +452,12 @@ async function verifyPaymentNote(data, protocol, options, wallet) {
434
452
  let spendabilityCheckedAt;
435
453
  if (wallet) {
436
454
  const current = await reader.getBlock(await reader.getLatestBlockNumber());
437
- const nullifier = await computeNoteNullifier(data.chainId, data.nonce, data.commitment);
455
+ const nullifier = await computeNoteNullifier(
456
+ data.chainId,
457
+ BigInt(data.protocolAddress),
458
+ data.nonce,
459
+ data.commitment
460
+ );
438
461
  const spent = await reader.isSpent(protocol.context, [nullifier], current);
439
462
  if (spent.length !== 1 || spent[0] !== false)
440
463
  throw new Error("Payment note is already spent");
@@ -522,6 +545,7 @@ var PaymentNote = class _PaymentNote {
522
545
  const identity = await computeNoteIdentity(BigInt(data.ownerAddress), data.nonce);
523
546
  const commitment = await computeNoteCommitment(
524
547
  data.chainId,
548
+ BigInt(data.protocolAddress),
525
549
  identity,
526
550
  BigInt(data.tokenAddress),
527
551
  data.amount
@@ -540,8 +564,7 @@ var PaymentNote = class _PaymentNote {
540
564
  return verified;
541
565
  }
542
566
  async verifySpendable(protocol, wallet, options = {}) {
543
- if (!(wallet instanceof Wallet))
544
- throw new Error("Wallet spending authorization capability required");
567
+ if (!(wallet instanceof Wallet)) throw new Error("A public Wallet is required");
545
568
  const result = await verifyPaymentNote(
546
569
  this.data(),
547
570
  protocol,
@@ -561,11 +584,15 @@ var PaymentNote = class _PaymentNote {
561
584
  return { chainId, protocolAddress, tokenAddress, amount, ownerAddress, nonce, commitment };
562
585
  }
563
586
  };
587
+
588
+ // src/index.ts
589
+ import { authenticatedDecryptor, DeliveryDecryptionError } from "@invisi-labs/primitives";
564
590
  export {
565
591
  AddressRegistry,
566
592
  BroadcasterClient,
567
593
  BroadcasterRegistry,
568
594
  BroadcasterRpcError,
595
+ DeliveryDecryptionError,
569
596
  Detector,
570
597
  Disclosure,
571
598
  DisclosureVerifier,
@@ -581,14 +608,13 @@ export {
581
608
  Protocol,
582
609
  ProtocolRpcClient,
583
610
  ProtocolRpcError,
584
- PublicWallet,
585
611
  RegistrationOperation,
586
612
  SpendablePaymentNote,
587
613
  TransactionOutput,
588
614
  VerifiedPaymentNote,
589
615
  ViewingCapability,
590
616
  Wallet2 as Wallet,
591
- WalletAuthorization,
617
+ authenticatedDecryptor,
592
618
  broadcasterQuoteDomain,
593
619
  broadcasterQuoteTypes,
594
620
  broadcasterRequestHash,
@@ -602,11 +628,11 @@ export {
602
628
  decodePaymentNote,
603
629
  decodePaymentRequest,
604
630
  decryptCandidates,
605
- defineGasBenchmarks,
606
631
  encodeMemo,
607
632
  encodePaymentNote,
608
633
  encodePaymentRequest,
609
634
  fundsV1,
635
+ getDocumentedGasReference,
610
636
  readProtocolLogs,
611
637
  verifyBroadcasterQuote
612
638
  };