@btc-vision/transaction 1.7.28 → 1.7.29

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/browser/btc-vision-bitcoin.js +1610 -1609
  2. package/browser/consensus/ConsensusConfig.d.ts +1 -5
  3. package/browser/consensus/IConsensusConfig.d.ts +6 -0
  4. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -1
  5. package/browser/epoch/interfaces/IChallengeSolution.d.ts +15 -1
  6. package/browser/generators/builders/CalldataGenerator.d.ts +2 -2
  7. package/browser/generators/builders/DeploymentGenerator.d.ts +2 -2
  8. package/browser/generators/builders/P2WDAGenerator.d.ts +2 -2
  9. package/browser/index.js +876 -1055
  10. package/browser/opnet.d.ts +7 -2
  11. package/browser/signer/AddressRotation.d.ts +2 -3
  12. package/browser/signer/IRotationSigner.d.ts +8 -0
  13. package/browser/transaction/TransactionFactory.d.ts +4 -27
  14. package/browser/transaction/browser/Web3Provider.d.ts +2 -25
  15. package/browser/transaction/builders/CancelTransaction.d.ts +1 -4
  16. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +3 -3
  17. package/browser/transaction/builders/CustomScriptTransaction.d.ts +2 -8
  18. package/browser/transaction/builders/DeploymentTransaction.d.ts +3 -3
  19. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +2 -2
  20. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +3 -3
  21. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +4 -0
  22. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +8 -0
  23. package/browser/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  24. package/browser/transaction/interfaces/ITransactionResponses.d.ts +26 -0
  25. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +17 -0
  26. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +24 -0
  27. package/browser/transaction/shared/TweakedTransaction.d.ts +2 -14
  28. package/browser/transaction/utils/WitnessUtils.d.ts +1 -0
  29. package/browser/utxo/OPNetLimitedProvider.d.ts +1 -1
  30. package/browser/utxo/interfaces/IUTXO.d.ts +2 -2
  31. package/browser/vendors.js +90 -90
  32. package/browser/verification/TapscriptVerificator.d.ts +2 -2
  33. package/build/consensus/ConsensusConfig.d.ts +1 -5
  34. package/build/consensus/IConsensusConfig.d.ts +6 -0
  35. package/build/consensus/IConsensusConfig.js +1 -0
  36. package/build/consensus/metadata/RoswellConsensus.d.ts +1 -1
  37. package/build/epoch/interfaces/IChallengeSolution.d.ts +15 -1
  38. package/build/epoch/validator/EpochValidator.js +35 -3
  39. package/build/generators/builders/CalldataGenerator.d.ts +2 -2
  40. package/build/generators/builders/DeploymentGenerator.d.ts +2 -2
  41. package/build/generators/builders/P2WDAGenerator.d.ts +2 -2
  42. package/build/opnet.d.ts +7 -2
  43. package/build/opnet.js +7 -2
  44. package/build/signer/AddressRotation.d.ts +2 -3
  45. package/build/signer/IRotationSigner.d.ts +8 -0
  46. package/build/signer/IRotationSigner.js +1 -0
  47. package/build/transaction/TransactionFactory.d.ts +4 -27
  48. package/build/transaction/TransactionFactory.js +1 -1
  49. package/build/transaction/browser/Web3Provider.d.ts +2 -25
  50. package/build/transaction/builders/CancelTransaction.d.ts +1 -4
  51. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +3 -3
  52. package/build/transaction/builders/CustomScriptTransaction.d.ts +2 -8
  53. package/build/transaction/builders/DeploymentTransaction.d.ts +3 -3
  54. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +2 -2
  55. package/build/transaction/builders/SharedInteractionTransaction.d.ts +3 -3
  56. package/build/transaction/builders/TransactionBuilder.js +3 -21
  57. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +4 -0
  58. package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
  59. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +8 -0
  60. package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
  61. package/build/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  62. package/build/transaction/interfaces/ITransactionResponses.d.ts +26 -0
  63. package/build/transaction/interfaces/ITransactionResponses.js +1 -0
  64. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +17 -0
  65. package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
  66. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +24 -0
  67. package/build/transaction/interfaces/IWeb3ProviderTypes.js +1 -0
  68. package/build/transaction/shared/TweakedTransaction.d.ts +2 -14
  69. package/build/transaction/shared/TweakedTransaction.js +3 -3
  70. package/build/transaction/utils/WitnessUtils.d.ts +1 -0
  71. package/build/transaction/utils/WitnessUtils.js +23 -0
  72. package/build/tsconfig.build.tsbuildinfo +1 -1
  73. package/build/utxo/OPNetLimitedProvider.d.ts +1 -1
  74. package/build/utxo/OPNetLimitedProvider.js +1 -1
  75. package/build/utxo/interfaces/IUTXO.d.ts +2 -2
  76. package/build/verification/TapscriptVerificator.d.ts +2 -2
  77. package/package.json +6 -3
  78. package/src/consensus/ConsensusConfig.ts +1 -28
  79. package/src/consensus/IConsensusConfig.ts +29 -0
  80. package/src/consensus/metadata/RoswellConsensus.ts +1 -1
  81. package/src/epoch/interfaces/IChallengeSolution.ts +13 -1
  82. package/src/epoch/validator/EpochValidator.ts +54 -3
  83. package/src/generators/builders/CalldataGenerator.ts +3 -3
  84. package/src/generators/builders/DeploymentGenerator.ts +3 -3
  85. package/src/generators/builders/P2WDAGenerator.ts +2 -2
  86. package/src/keypair/MessageSigner.ts +1 -1
  87. package/src/opnet.ts +7 -4
  88. package/src/signer/AddressRotation.ts +3 -4
  89. package/src/signer/IRotationSigner.ts +35 -0
  90. package/src/transaction/TransactionFactory.ts +14 -38
  91. package/src/transaction/browser/Web3Provider.ts +14 -78
  92. package/src/transaction/builders/CancelTransaction.ts +2 -11
  93. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +3 -3
  94. package/src/transaction/builders/CustomScriptTransaction.ts +1 -15
  95. package/src/transaction/builders/DeploymentTransaction.ts +3 -3
  96. package/src/transaction/builders/InteractionTransactionP2WDA.ts +3 -3
  97. package/src/transaction/builders/SharedInteractionTransaction.ts +3 -3
  98. package/src/transaction/builders/TransactionBuilder.ts +2 -28
  99. package/src/transaction/interfaces/ICancelTransactionParameters.ts +8 -0
  100. package/src/transaction/interfaces/ICustomTransactionParameters.ts +15 -0
  101. package/src/transaction/interfaces/ITransactionParameters.ts +6 -6
  102. package/src/transaction/interfaces/ITransactionResponses.ts +29 -0
  103. package/src/transaction/interfaces/ITweakedTransactionData.ts +24 -0
  104. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +74 -0
  105. package/src/transaction/offline/TransactionReconstructor.ts +1 -1
  106. package/src/transaction/shared/TweakedTransaction.ts +6 -30
  107. package/src/transaction/utils/WitnessUtils.ts +36 -0
  108. package/src/utxo/OPNetLimitedProvider.ts +3 -1
  109. package/src/utxo/interfaces/IUTXO.ts +2 -2
  110. package/src/verification/TapscriptVerificator.ts +2 -2
  111. package/browser/metadata/tokens.d.ts +0 -39
  112. package/browser/transaction/processor/PsbtTransaction.d.ts +0 -25
  113. package/build/metadata/tokens.d.ts +0 -39
  114. package/build/metadata/tokens.js +0 -100
  115. package/build/transaction/processor/PsbtTransaction.d.ts +0 -25
  116. package/build/transaction/processor/PsbtTransaction.js +0 -80
  117. package/src/metadata/tokens.ts +0 -139
  118. package/src/transaction/processor/PsbtTransaction.ts +0 -179
@@ -28,10 +28,16 @@ export * from './generators/MLDSAData.js';
28
28
  export * from './metadata/ContractBaseMetadata.js';
29
29
  export * from './network/ChainId.js';
30
30
  export * from './signer/TweakedSigner.js';
31
+ export * from './signer/IRotationSigner.js';
31
32
  export * from './signer/AddressRotation.js';
32
33
  export * from './transaction/enums/TransactionType.js';
33
34
  export * from './transaction/interfaces/ITransactionParameters.js';
34
35
  export * from './transaction/interfaces/IConsolidatedTransactionParameters.js';
36
+ export * from './transaction/interfaces/ITransactionResponses.js';
37
+ export * from './transaction/interfaces/IWeb3ProviderTypes.js';
38
+ export * from './transaction/interfaces/ICancelTransactionParameters.js';
39
+ export * from './transaction/interfaces/ICustomTransactionParameters.js';
40
+ export * from './transaction/interfaces/ITweakedTransactionData.js';
35
41
  export * from './transaction/interfaces/Tap.js';
36
42
  export * from './transaction/TransactionFactory.js';
37
43
  export * from './transaction/builders/CancelTransaction.js';
@@ -60,12 +66,12 @@ export * from './utils/BitcoinUtils.js';
60
66
  export * from './utils/lengths.js';
61
67
  export * from './utxo/interfaces/IUTXO.js';
62
68
  export * from './utxo/OPNetLimitedProvider.js';
63
- export * from './transaction/processor/PsbtTransaction.js';
64
69
  export * from './transaction/psbt/PSBTTypes.js';
65
70
  export * from './transaction/shared/TweakedTransaction.js';
66
71
  export * from './utxo/interfaces/BroadcastResponse.js';
67
72
  export * from './transaction/shared/P2TR_MS.js';
68
73
  export * from './consensus/Consensus.js';
74
+ export * from './consensus/IConsensusConfig.js';
69
75
  export * from './consensus/ConsensusConfig.js';
70
76
  export * from './consensus/metadata/RoswellConsensus.js';
71
77
  export * from './abi/ABICoder.js';
@@ -85,7 +91,6 @@ export * from './transaction/browser/extensions/XverseSigner.js';
85
91
  export * from './transaction/browser/types/Unisat.js';
86
92
  export * from './transaction/browser/types/Xverse.js';
87
93
  export * from './transaction/browser/types/OPWallet.js';
88
- export * from './metadata/tokens.js';
89
94
  export * from './transaction/browser/Web3Provider.js';
90
95
  export * from './keypair/Secp256k1PointDeriver.js';
91
96
  export * from './transaction/ContractAddress.js';
@@ -1,7 +1,6 @@
1
- import { Signer } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { RotationSignerBase } from './IRotationSigner.js';
3
2
  import { UnisatSigner } from '../transaction/browser/extensions/UnisatSigner.js';
4
- export type RotationSigner = Signer | ECPairInterface | UnisatSigner;
3
+ export type RotationSigner = RotationSignerBase | UnisatSigner;
5
4
  export type SignerMap = Map<string, RotationSigner>;
6
5
  export interface AddressRotationConfig {
7
6
  readonly enabled: boolean;
@@ -0,0 +1,8 @@
1
+ import { Signer } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
2
+ import { ECPairInterface } from 'ecpair';
3
+ export type RotationSignerBase = Signer | ECPairInterface;
4
+ export type SignerMapBase = Map<string, RotationSignerBase>;
5
+ export interface AddressRotationConfigBase {
6
+ readonly enabled: boolean;
7
+ readonly signerMap: SignerMapBase;
8
+ }
@@ -1,22 +1,15 @@
1
1
  import { Transaction } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
2
2
  import { UTXO } from '../utxo/interfaces/IUTXO.js';
3
- import { ICustomTransactionParameters } from './builders/CustomScriptTransaction.js';
4
3
  import { FundingTransaction } from './builders/FundingTransaction.js';
5
4
  import { TransactionBuilder } from './builders/TransactionBuilder.js';
6
5
  import { TransactionType } from './enums/TransactionType.js';
7
6
  import { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters } from './interfaces/ITransactionParameters.js';
8
- import { ICancelTransactionParametersWithoutSigner, ICustomTransactionWithoutSigner, InteractionParametersWithoutSigner } from './browser/Web3Provider.js';
7
+ import { ICancelTransactionParametersWithoutSigner, ICustomTransactionWithoutSigner, InteractionParametersWithoutSigner } from './interfaces/IWeb3ProviderTypes.js';
9
8
  import { RawChallenge } from '../epoch/interfaces/IChallengeSolution.js';
10
- import { ICancelTransactionParameters } from './builders/CancelTransaction.js';
11
9
  import { IConsolidatedInteractionParameters } from './interfaces/IConsolidatedTransactionParameters.js';
12
- export interface DeploymentResult {
13
- readonly transaction: [string, string];
14
- readonly contractAddress: string;
15
- readonly contractPubKey: string;
16
- readonly challenge: RawChallenge;
17
- readonly utxos: UTXO[];
18
- readonly inputUtxos: UTXO[];
19
- }
10
+ import { CancelledTransaction, DeploymentResult, InteractionResponse } from './interfaces/ITransactionResponses.js';
11
+ import { ICancelTransactionParameters } from './interfaces/ICancelTransactionParameters.js';
12
+ import { ICustomTransactionParameters } from './interfaces/ICustomTransactionParameters.js';
20
13
  export interface FundingTransactionResponse {
21
14
  readonly tx: Transaction;
22
15
  readonly original: FundingTransaction;
@@ -30,25 +23,9 @@ export interface BitcoinTransferBase {
30
23
  readonly nextUTXOs: UTXO[];
31
24
  readonly inputUtxos: UTXO[];
32
25
  }
33
- export interface InteractionResponse {
34
- readonly fundingTransaction: string | null;
35
- readonly interactionTransaction: string;
36
- readonly estimatedFees: bigint;
37
- readonly nextUTXOs: UTXO[];
38
- readonly fundingUTXOs: UTXO[];
39
- readonly fundingInputUtxos: UTXO[];
40
- readonly challenge: RawChallenge;
41
- readonly interactionAddress: string | null;
42
- readonly compiledTargetScript: string | null;
43
- }
44
26
  export interface BitcoinTransferResponse extends BitcoinTransferBase {
45
27
  readonly original: FundingTransaction;
46
28
  }
47
- export interface CancelledTransaction {
48
- readonly transaction: string;
49
- readonly nextUTXOs: UTXO[];
50
- readonly inputUtxos: UTXO[];
51
- }
52
29
  export interface ConsolidatedInteractionResponse {
53
30
  readonly setupTransaction: string;
54
31
  readonly revealTransaction: string;
@@ -1,29 +1,6 @@
1
- import { IDeploymentParameters, IInteractionParameters } from '../interfaces/ITransactionParameters.js';
2
1
  import { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
- import { CancelledTransaction, DeploymentResult, InteractionResponse } from '../TransactionFactory';
4
- import { ICustomTransactionParameters } from '../builders/CustomScriptTransaction.js';
5
- import { ICancelTransactionParameters } from '../builders/CancelTransaction.js';
6
- import { MLDSASecurityLevel } from '../../../node_modules/@btc-vision/bip32/src/cjs/index.cjs';
7
- export type InteractionParametersWithoutSigner = Omit<IInteractionParameters, 'signer' | 'challenge' | 'mldsaSigner'>;
8
- export type IDeploymentParametersWithoutSigner = Omit<IDeploymentParameters, 'signer' | 'network' | 'challenge' | 'mldsaSigner'>;
9
- export type ICustomTransactionWithoutSigner = Omit<ICustomTransactionParameters, 'signer' | 'challenge' | 'mldsaSigner'>;
10
- export type ICancelTransactionParametersWithoutSigner = Omit<ICancelTransactionParameters, 'signer' | 'challenge' | 'network' | 'mldsaSigner'>;
11
- export interface BroadcastTransactionOptions {
12
- raw: string;
13
- psbt: boolean;
14
- }
15
- export interface BroadcastedTransaction {
16
- readonly success: boolean;
17
- readonly result?: string;
18
- readonly error?: string;
19
- readonly peers?: number;
20
- }
21
- export interface MLDSASignature {
22
- readonly signature: string;
23
- readonly publicKey: string;
24
- readonly securityLevel: MLDSASecurityLevel;
25
- readonly messageHash: string;
26
- }
2
+ import { CancelledTransaction, DeploymentResult, InteractionResponse } from '../interfaces/ITransactionResponses.js';
3
+ import { BroadcastedTransaction, BroadcastTransactionOptions, ICancelTransactionParametersWithoutSigner, ICustomTransactionWithoutSigner, IDeploymentParametersWithoutSigner, InteractionParametersWithoutSigner, MLDSASignature } from '../interfaces/IWeb3ProviderTypes.js';
27
4
  export interface Web3Provider {
28
5
  signInteraction(interactionParameters: InteractionParametersWithoutSigner): Promise<InteractionResponse>;
29
6
  signAndBroadcastInteraction(interactionParameters: InteractionParametersWithoutSigner): Promise<[BroadcastedTransaction, BroadcastedTransaction, UTXO[], string]>;
@@ -2,10 +2,7 @@ import { TransactionType } from '../enums/TransactionType.js';
2
2
  import { P2TRPayment, Psbt, PsbtInput, Taptree } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
3
3
  import { TransactionBuilder } from './TransactionBuilder.js';
4
4
  import { TapLeafScript } from '../interfaces/Tap.js';
5
- import { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
6
- export interface ICancelTransactionParameters extends Omit<ITransactionParameters, 'priorityFee' | 'gasSatFee'> {
7
- readonly compiledTargetScript: string | Buffer;
8
- }
5
+ import { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
9
6
  export declare class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL> {
10
7
  type: TransactionType.CANCEL;
11
8
  protected tapLeafScript: TapLeafScript | null;
@@ -6,14 +6,14 @@ import { HashCommitmentGenerator } from '../../generators/builders/HashCommitmen
6
6
  import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
7
7
  import { IConsolidatedInteractionParameters, IConsolidatedInteractionResult, IHashCommittedP2WSH, IRevealTransactionResult } from '../interfaces/IConsolidatedTransactionParameters.js';
8
8
  import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
9
- import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
9
+ import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
10
10
  export declare class ConsolidatedInteractionTransaction extends TransactionBuilder<TransactionType.INTERACTION> {
11
11
  readonly type: TransactionType.INTERACTION;
12
12
  readonly randomBytes: Buffer;
13
13
  protected readonly contractAddress: string;
14
14
  protected readonly contractSecret: Buffer;
15
15
  protected readonly calldata: Buffer;
16
- protected readonly challenge: ChallengeSolution;
16
+ protected readonly challenge: IChallengeSolution;
17
17
  protected readonly epochChallenge: IP2WSHAddress;
18
18
  protected readonly scriptSigner: ECPairInterface;
19
19
  protected readonly calldataGenerator: CalldataGenerator;
@@ -27,7 +27,7 @@ export declare class ConsolidatedInteractionTransaction extends TransactionBuild
27
27
  exportCompiledTargetScript(): Buffer;
28
28
  getContractSecret(): Buffer;
29
29
  getRndBytes(): Buffer;
30
- getChallenge(): ChallengeSolution;
30
+ getChallenge(): IChallengeSolution;
31
31
  getCommitmentOutputs(): IHashCommittedP2WSH[];
32
32
  getOutputCount(): number;
33
33
  getTotalChunkCount(): number;
@@ -1,14 +1,8 @@
1
- import { P2TRPayment, Psbt, PsbtInput, Stack } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { P2TRPayment, Psbt, PsbtInput } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
2
2
  import { TransactionType } from '../enums/TransactionType.js';
3
3
  import { TapLeafScript } from '../interfaces/Tap.js';
4
- import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
4
  import { TransactionBuilder } from './TransactionBuilder.js';
6
- export interface ICustomTransactionParameters extends Omit<SharedInteractionParameters, 'challenge'> {
7
- script: (Buffer | Stack)[];
8
- witnesses: Buffer[];
9
- annex?: Buffer;
10
- to: string;
11
- }
5
+ import { ICustomTransactionParameters } from '../interfaces/ICustomTransactionParameters.js';
12
6
  export declare class CustomScriptTransaction extends TransactionBuilder<TransactionType.CUSTOM_CODE> {
13
7
  type: TransactionType.CUSTOM_CODE;
14
8
  protected readonly _scriptAddress: string;
@@ -4,12 +4,12 @@ import { P2TRPayment, Psbt } from '../../../node_modules/@btc-vision/bitcoin/bui
4
4
  import { TransactionBuilder } from './TransactionBuilder.js';
5
5
  import { TapLeafScript } from '../interfaces/Tap.js';
6
6
  import { Address } from '../../keypair/Address.js';
7
- import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
7
+ import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
8
8
  import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
9
9
  export declare class DeploymentTransaction extends TransactionBuilder<TransactionType.DEPLOYMENT> {
10
10
  static readonly MAXIMUM_CONTRACT_SIZE: number;
11
11
  type: TransactionType.DEPLOYMENT;
12
- protected readonly challenge: ChallengeSolution;
12
+ protected readonly challenge: IChallengeSolution;
13
13
  protected readonly epochChallenge: IP2WSHAddress;
14
14
  protected readonly _contractAddress: Address;
15
15
  protected tapLeafScript: TapLeafScript | null;
@@ -32,7 +32,7 @@ export declare class DeploymentTransaction extends TransactionBuilder<Transactio
32
32
  get p2trAddress(): string;
33
33
  exportCompiledTargetScript(): Buffer;
34
34
  getRndBytes(): Buffer;
35
- getChallenge(): ChallengeSolution;
35
+ getChallenge(): IChallengeSolution;
36
36
  getContractAddress(): string;
37
37
  protected contractSignerXOnlyPubKey(): Buffer;
38
38
  protected buildTransaction(): Promise<void>;
@@ -3,7 +3,7 @@ import { Psbt } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
4
  import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
5
  import { TransactionBuilder } from './TransactionBuilder.js';
6
- import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
6
+ import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
7
7
  import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
8
8
  export declare class InteractionTransactionP2WDA extends TransactionBuilder<TransactionType.INTERACTION> {
9
9
  private static readonly MAX_WITNESS_FIELDS;
@@ -22,7 +22,7 @@ export declare class InteractionTransactionP2WDA extends TransactionBuilder<Tran
22
22
  private readonly compiledOperationData;
23
23
  constructor(parameters: IInteractionParameters);
24
24
  getRndBytes(): Buffer;
25
- getChallenge(): ChallengeSolution;
25
+ getChallenge(): IChallengeSolution;
26
26
  getContractSecret(): Buffer;
27
27
  protected buildTransaction(): Promise<void>;
28
28
  protected createMineableRewardOutputs(): Promise<void>;
@@ -4,7 +4,7 @@ import { TransactionBuilder } from './TransactionBuilder.js';
4
4
  import { TransactionType } from '../enums/TransactionType.js';
5
5
  import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
6
6
  import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
7
- import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
7
+ import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
8
8
  import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
9
9
  export declare abstract class SharedInteractionTransaction<T extends TransactionType> extends TransactionBuilder<T> {
10
10
  static readonly MAXIMUM_CALLDATA_SIZE: number;
@@ -13,7 +13,7 @@ export declare abstract class SharedInteractionTransaction<T extends Transaction
13
13
  protected leftOverFundsScriptRedeem: P2TRPayment | null;
14
14
  protected abstract readonly compiledTargetScript: Buffer;
15
15
  protected abstract readonly scriptTree: Taptree;
16
- protected readonly challenge: ChallengeSolution;
16
+ protected readonly challenge: IChallengeSolution;
17
17
  protected readonly epochChallenge: IP2WSHAddress;
18
18
  protected calldataGenerator: CalldataGenerator;
19
19
  protected readonly calldata: Buffer;
@@ -24,7 +24,7 @@ export declare abstract class SharedInteractionTransaction<T extends Transaction
24
24
  exportCompiledTargetScript(): Buffer;
25
25
  getContractSecret(): Buffer;
26
26
  getRndBytes(): Buffer;
27
- getChallenge(): ChallengeSolution;
27
+ getChallenge(): IChallengeSolution;
28
28
  protected scriptSignerXOnlyPubKey(): Buffer;
29
29
  protected generateKeyPairFromSeed(): ECPairInterface;
30
30
  protected buildTransaction(): Promise<void>;
@@ -0,0 +1,4 @@
1
+ import { ITransactionParameters } from './ITransactionParameters.js';
2
+ export interface ICancelTransactionParameters extends Omit<ITransactionParameters, 'priorityFee' | 'gasSatFee'> {
3
+ readonly compiledTargetScript: string | Buffer;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { Stack } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
2
+ import { SharedInteractionParameters } from './ITransactionParameters.js';
3
+ export interface ICustomTransactionParameters extends Omit<SharedInteractionParameters, 'challenge'> {
4
+ script: (Buffer | Stack)[];
5
+ witnesses: Buffer[];
6
+ annex?: Buffer;
7
+ to: string;
8
+ }
@@ -1,9 +1,9 @@
1
1
  import { UTXO } from '../../utxo/interfaces/IUTXO.js';
2
- import { ITweakedTransactionData } from '../shared/TweakedTransaction.js';
2
+ import { ITweakedTransactionData } from './ITweakedTransactionData.js';
3
3
  import { ChainId } from '../../network/ChainId.js';
4
4
  import { PsbtOutputExtended } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
5
- import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
6
- import { AddressRotationConfig } from '../../signer/AddressRotation.js';
5
+ import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
6
+ import { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
7
7
  export interface LoadedStorage {
8
8
  [key: string]: string[];
9
9
  }
@@ -26,7 +26,7 @@ export interface ITransactionParameters extends ITweakedTransactionData {
26
26
  readonly priorityFee: bigint;
27
27
  readonly gasSatFee: bigint;
28
28
  readonly compiledTargetScript?: Buffer | string;
29
- readonly addressRotation?: AddressRotationConfig;
29
+ readonly addressRotation?: AddressRotationConfigBase;
30
30
  }
31
31
  export interface IFundingTransactionParameters extends ITransactionParameters {
32
32
  amount: bigint;
@@ -35,7 +35,7 @@ export interface IFundingTransactionParameters extends ITransactionParameters {
35
35
  export interface SharedInteractionParameters extends ITransactionParameters {
36
36
  calldata?: Buffer;
37
37
  disableAutoRefund?: boolean;
38
- readonly challenge: ChallengeSolution;
38
+ readonly challenge: IChallengeSolution;
39
39
  readonly randomBytes?: Buffer;
40
40
  readonly loadedStorage?: LoadedStorage;
41
41
  readonly isCancellation?: boolean;
@@ -49,5 +49,5 @@ export interface IDeploymentParameters extends Omit<ITransactionParameters, 'to'
49
49
  readonly bytecode: Buffer;
50
50
  readonly calldata?: Buffer;
51
51
  readonly randomBytes?: Buffer;
52
- readonly challenge: ChallengeSolution;
52
+ readonly challenge: IChallengeSolution;
53
53
  }
@@ -0,0 +1,26 @@
1
+ import { RawChallenge } from '../../epoch/interfaces/IChallengeSolution.js';
2
+ import { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
+ export interface DeploymentResult {
4
+ readonly transaction: [string, string];
5
+ readonly contractAddress: string;
6
+ readonly contractPubKey: string;
7
+ readonly challenge: RawChallenge;
8
+ readonly utxos: UTXO[];
9
+ readonly inputUtxos: UTXO[];
10
+ }
11
+ export interface InteractionResponse {
12
+ readonly fundingTransaction: string | null;
13
+ readonly interactionTransaction: string;
14
+ readonly estimatedFees: bigint;
15
+ readonly nextUTXOs: UTXO[];
16
+ readonly fundingUTXOs: UTXO[];
17
+ readonly fundingInputUtxos: UTXO[];
18
+ readonly challenge: RawChallenge;
19
+ readonly interactionAddress: string | null;
20
+ readonly compiledTargetScript: string | null;
21
+ }
22
+ export interface CancelledTransaction {
23
+ readonly transaction: string;
24
+ readonly nextUTXOs: UTXO[];
25
+ readonly inputUtxos: UTXO[];
26
+ }
@@ -0,0 +1,17 @@
1
+ import { Network, Signer } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
2
+ import { ECPairInterface } from 'ecpair';
3
+ import { QuantumBIP32Interface } from '../../../node_modules/@btc-vision/bip32/src/cjs/index.cjs';
4
+ import { ChainId } from '../../network/ChainId.js';
5
+ import { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
6
+ export type SupportedTransactionVersion = 1 | 2 | 3;
7
+ export interface ITweakedTransactionData {
8
+ readonly mldsaSigner: QuantumBIP32Interface | null;
9
+ readonly signer: Signer | ECPairInterface;
10
+ readonly network: Network;
11
+ readonly chainId?: ChainId;
12
+ readonly nonWitnessUtxo?: Buffer;
13
+ readonly noSignatures?: boolean;
14
+ readonly unlockScript?: Buffer[];
15
+ readonly txVersion?: SupportedTransactionVersion;
16
+ readonly addressRotation?: AddressRotationConfigBase;
17
+ }
@@ -0,0 +1,24 @@
1
+ import { IDeploymentParameters, IInteractionParameters } from './ITransactionParameters.js';
2
+ import { ICustomTransactionParameters } from './ICustomTransactionParameters.js';
3
+ import { ICancelTransactionParameters } from './ICancelTransactionParameters.js';
4
+ import { MLDSASecurityLevel } from '../../../node_modules/@btc-vision/bip32/src/cjs/index.cjs';
5
+ export type InteractionParametersWithoutSigner = Omit<IInteractionParameters, 'signer' | 'challenge' | 'mldsaSigner'>;
6
+ export type IDeploymentParametersWithoutSigner = Omit<IDeploymentParameters, 'signer' | 'network' | 'challenge' | 'mldsaSigner'>;
7
+ export type ICustomTransactionWithoutSigner = Omit<ICustomTransactionParameters, 'signer' | 'challenge' | 'mldsaSigner'>;
8
+ export type ICancelTransactionParametersWithoutSigner = Omit<ICancelTransactionParameters, 'signer' | 'challenge' | 'network' | 'mldsaSigner'>;
9
+ export interface BroadcastTransactionOptions {
10
+ raw: string;
11
+ psbt: boolean;
12
+ }
13
+ export interface BroadcastedTransaction {
14
+ readonly success: boolean;
15
+ readonly result?: string;
16
+ readonly error?: string;
17
+ readonly peers?: number;
18
+ }
19
+ export interface MLDSASignature {
20
+ readonly signature: string;
21
+ readonly publicKey: string;
22
+ readonly securityLevel: MLDSASecurityLevel;
23
+ readonly messageHash: string;
24
+ }
@@ -3,23 +3,11 @@ import { Network, P2TRPayment, Psbt, PsbtInput, PsbtInputExtended, Signer, Trans
3
3
  import { ECPairInterface } from 'ecpair';
4
4
  import { UTXO } from '../../utxo/interfaces/IUTXO.js';
5
5
  import { TapLeafScript } from '../interfaces/Tap.js';
6
- import { ChainId } from '../../network/ChainId.js';
7
6
  import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
8
7
  import { Buffer } from '../../../buffer';
9
8
  import { QuantumBIP32Interface } from '../../../node_modules/@btc-vision/bip32/src/cjs/index.cjs';
10
- import { AddressRotationConfig, RotationSigner, SignerMap } from '../../signer/AddressRotation.js';
11
- export type SupportedTransactionVersion = 1 | 2 | 3;
12
- export interface ITweakedTransactionData {
13
- readonly mldsaSigner: QuantumBIP32Interface | null;
14
- readonly signer: Signer | ECPairInterface | UnisatSigner;
15
- readonly network: Network;
16
- readonly chainId?: ChainId;
17
- readonly nonWitnessUtxo?: Buffer;
18
- readonly noSignatures?: boolean;
19
- readonly unlockScript?: Buffer[];
20
- readonly txVersion?: SupportedTransactionVersion;
21
- readonly addressRotation?: AddressRotationConfig;
22
- }
9
+ import { RotationSigner, SignerMap } from '../../signer/AddressRotation.js';
10
+ import { ITweakedTransactionData, SupportedTransactionVersion } from '../interfaces/ITweakedTransactionData.js';
23
11
  export declare enum TransactionSequence {
24
12
  REPLACE_BY_FEE = 4294967293,
25
13
  FINAL = 4294967295
@@ -0,0 +1 @@
1
+ export declare function witnessStackToScriptWitness(witness: Buffer[]): Buffer;
@@ -1,5 +1,5 @@
1
1
  import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
2
- import { Wallet } from '../opnet.js';
2
+ import { Wallet } from '../keypair/Wallet.js';
3
3
  import { BroadcastResponse } from './interfaces/BroadcastResponse.js';
4
4
  import { FetchUTXOParams, FetchUTXOParamsMultiAddress, RawUTXOResponse, UTXO } from './interfaces/IUTXO.js';
5
5
  export interface WalletUTXOs {
@@ -1,5 +1,5 @@
1
1
  import { ScriptPubKey } from '@btc-vision/bitcoin-rpc';
2
- import { RotationSigner } from '../../signer/AddressRotation.js';
2
+ import { RotationSignerBase } from '../../signer/IRotationSigner.js';
3
3
  export interface UTXO {
4
4
  readonly transactionId: string;
5
5
  readonly outputIndex: number;
@@ -8,7 +8,7 @@ export interface UTXO {
8
8
  redeemScript?: string | Buffer;
9
9
  witnessScript?: string | Buffer;
10
10
  nonWitnessUtxo?: string | Buffer;
11
- signer?: RotationSigner;
11
+ signer?: RotationSignerBase;
12
12
  }
13
13
  export interface FetchUTXOParams {
14
14
  readonly address: string;