@btc-vision/transaction 1.7.6 → 1.7.10

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 (183) hide show
  1. package/browser/_version.d.ts +1 -0
  2. package/browser/chain/ChainData.d.ts +4 -0
  3. package/browser/{src/deterministic → deterministic}/DeterministicMap.d.ts +3 -3
  4. package/browser/deterministic/FastMap.d.ts +24 -0
  5. package/browser/{src/epoch → epoch}/interfaces/IChallengeSolution.d.ts +4 -4
  6. package/browser/{src/generators → generators}/Features.d.ts +6 -1
  7. package/browser/{src/generators → generators}/Generator.d.ts +1 -0
  8. package/browser/generators/MLDSAData.d.ts +15 -0
  9. package/browser/index.js +1 -1
  10. package/browser/{src/keypair → keypair}/Address.d.ts +9 -3
  11. package/browser/{src/keypair → keypair}/MessageSigner.d.ts +9 -0
  12. package/browser/{src/opnet.d.ts → opnet.d.ts} +2 -1
  13. package/browser/{src/transaction → transaction}/browser/Web3Provider.d.ts +15 -4
  14. package/browser/transaction/browser/types/OPWallet.d.ts +6 -0
  15. package/browser/{src/transaction → transaction}/builders/CustomScriptTransaction.d.ts +1 -0
  16. package/browser/{src/transaction → transaction}/builders/DeploymentTransaction.d.ts +1 -0
  17. package/browser/{src/transaction → transaction}/builders/TransactionBuilder.d.ts +4 -0
  18. package/browser/{src/transaction → transaction}/interfaces/ITransactionParameters.d.ts +3 -0
  19. package/browser/{src/transaction → transaction}/shared/TweakedTransaction.d.ts +6 -0
  20. package/browser/{src/utxo → utxo}/OPNetLimitedProvider.d.ts +1 -0
  21. package/build/_version.d.ts +1 -1
  22. package/build/_version.js +1 -1
  23. package/build/chain/ChainData.d.ts +4 -0
  24. package/build/chain/ChainData.js +20 -0
  25. package/build/deterministic/AddressMap.js +2 -2
  26. package/build/deterministic/DeterministicMap.d.ts +3 -3
  27. package/build/deterministic/DeterministicMap.js +2 -2
  28. package/build/deterministic/FastMap.d.ts +24 -0
  29. package/build/deterministic/{Map.js → FastMap.js} +22 -28
  30. package/build/epoch/ChallengeSolution.js +4 -4
  31. package/build/epoch/interfaces/IChallengeSolution.d.ts +4 -4
  32. package/build/generators/Features.d.ts +6 -1
  33. package/build/generators/Features.js +1 -0
  34. package/build/generators/Generator.d.ts +1 -0
  35. package/build/generators/Generator.js +24 -2
  36. package/build/generators/MLDSAData.d.ts +15 -0
  37. package/build/generators/MLDSAData.js +19 -0
  38. package/build/generators/builders/CalldataGenerator.js +1 -1
  39. package/build/generators/builders/DeploymentGenerator.js +1 -1
  40. package/build/generators/builders/P2WDAGenerator.js +1 -1
  41. package/build/keypair/Address.d.ts +9 -3
  42. package/build/keypair/Address.js +63 -38
  43. package/build/keypair/MessageSigner.d.ts +9 -0
  44. package/build/keypair/MessageSigner.js +101 -3
  45. package/build/opnet.d.ts +2 -1
  46. package/build/opnet.js +2 -1
  47. package/build/transaction/TransactionFactory.js +3 -0
  48. package/build/transaction/browser/Web3Provider.d.ts +15 -4
  49. package/build/transaction/browser/types/OPWallet.d.ts +2 -10
  50. package/build/transaction/browser/types/OPWallet.js +4 -2
  51. package/build/transaction/builders/CustomScriptTransaction.d.ts +1 -0
  52. package/build/transaction/builders/CustomScriptTransaction.js +3 -0
  53. package/build/transaction/builders/DeploymentTransaction.d.ts +1 -0
  54. package/build/transaction/builders/DeploymentTransaction.js +26 -1
  55. package/build/transaction/builders/InteractionTransaction.js +14 -1
  56. package/build/transaction/builders/InteractionTransactionP2WDA.js +14 -1
  57. package/build/transaction/builders/TransactionBuilder.d.ts +4 -0
  58. package/build/transaction/builders/TransactionBuilder.js +77 -0
  59. package/build/transaction/interfaces/ITransactionParameters.d.ts +3 -0
  60. package/build/transaction/shared/P2TR_MS.js +1 -0
  61. package/build/transaction/shared/TweakedTransaction.d.ts +6 -0
  62. package/build/transaction/shared/TweakedTransaction.js +19 -0
  63. package/build/utxo/OPNetLimitedProvider.d.ts +1 -0
  64. package/build/utxo/OPNetLimitedProvider.js +11 -1
  65. package/eslint.config.js +2 -1
  66. package/package.json +1 -1
  67. package/src/_version.ts +1 -1
  68. package/src/chain/ChainData.ts +32 -0
  69. package/src/deterministic/AddressMap.ts +3 -3
  70. package/src/deterministic/DeterministicMap.ts +9 -6
  71. package/src/deterministic/{Map.ts → FastMap.ts} +46 -33
  72. package/src/epoch/ChallengeSolution.ts +4 -4
  73. package/src/epoch/interfaces/IChallengeSolution.ts +4 -4
  74. package/src/generators/Features.ts +8 -2
  75. package/src/generators/Generator.ts +35 -2
  76. package/src/generators/MLDSAData.ts +30 -0
  77. package/src/generators/builders/CalldataGenerator.ts +1 -1
  78. package/src/generators/builders/DeploymentGenerator.ts +2 -1
  79. package/src/generators/builders/LegacyCalldataGenerator.ts +1 -0
  80. package/src/generators/builders/P2WDAGenerator.ts +5 -1
  81. package/src/keypair/Address.ts +78 -38
  82. package/src/keypair/MessageSigner.ts +214 -15
  83. package/src/opnet.ts +3 -1
  84. package/src/transaction/TransactionFactory.ts +3 -0
  85. package/src/transaction/browser/Web3Provider.ts +64 -4
  86. package/src/transaction/browser/types/OPWallet.ts +6 -53
  87. package/src/transaction/builders/CustomScriptTransaction.ts +4 -0
  88. package/src/transaction/builders/DeploymentTransaction.ts +36 -8
  89. package/src/transaction/builders/InteractionTransaction.ts +17 -7
  90. package/src/transaction/builders/InteractionTransactionP2WDA.ts +17 -7
  91. package/src/transaction/builders/TransactionBuilder.ts +107 -0
  92. package/src/transaction/interfaces/ITransactionParameters.ts +12 -0
  93. package/src/transaction/shared/P2TR_MS.ts +1 -0
  94. package/src/transaction/shared/TweakedTransaction.ts +35 -0
  95. package/src/utxo/OPNetLimitedProvider.ts +19 -2
  96. package/test/address.test.ts +18 -20
  97. package/test/addressmap.test.ts +783 -0
  98. package/test/addressverificator-mldsa.test.ts +40 -16
  99. package/test/fastmap-setall.test.ts +143 -0
  100. package/test/fastmap.test.ts +917 -0
  101. package/test/messagesigner-mldsa.test.ts +50 -50
  102. package/test/messagesigner-schnorr.test.ts +40 -40
  103. package/test/old/FastBigIntMap.ts +132 -0
  104. package/test/oldfastmap.test.ts +917 -0
  105. package/tsconfig.webpack.json +2 -6
  106. package/webpack.config.js +1 -1
  107. package/browser/src/_version.d.ts +0 -1
  108. package/browser/src/deterministic/Map.d.ts +0 -19
  109. package/browser/src/transaction/browser/types/OPWallet.d.ts +0 -14
  110. package/browser/test/address.test.d.ts +0 -1
  111. package/browser/test/addressverificator-mldsa.test.d.ts +0 -1
  112. package/browser/test/derivePath.test.d.ts +0 -1
  113. package/browser/test/messagesigner-mldsa.test.d.ts +0 -1
  114. package/browser/test/messagesigner-schnorr.test.d.ts +0 -1
  115. package/browser/test/network-awareness.test.d.ts +0 -1
  116. package/build/deterministic/Map.d.ts +0 -19
  117. /package/browser/{src/abi → abi}/ABICoder.d.ts +0 -0
  118. /package/browser/{src/buffer → buffer}/BinaryReader.d.ts +0 -0
  119. /package/browser/{src/buffer → buffer}/BinaryWriter.d.ts +0 -0
  120. /package/browser/{src/bytecode → bytecode}/Compressor.d.ts +0 -0
  121. /package/browser/{src/consensus → consensus}/Consensus.d.ts +0 -0
  122. /package/browser/{src/consensus → consensus}/ConsensusConfig.d.ts +0 -0
  123. /package/browser/{src/consensus → consensus}/metadata/RoswellConsensus.d.ts +0 -0
  124. /package/browser/{src/crypto → crypto}/crypto-browser.d.ts +0 -0
  125. /package/browser/{src/crypto → crypto}/crypto.d.ts +0 -0
  126. /package/browser/{src/deterministic → deterministic}/AddressMap.d.ts +0 -0
  127. /package/browser/{src/deterministic → deterministic}/AddressSet.d.ts +0 -0
  128. /package/browser/{src/deterministic → deterministic}/CustomMap.d.ts +0 -0
  129. /package/browser/{src/deterministic → deterministic}/DeterministicSet.d.ts +0 -0
  130. /package/browser/{src/epoch → epoch}/ChallengeSolution.d.ts +0 -0
  131. /package/browser/{src/epoch → epoch}/validator/EpochValidator.d.ts +0 -0
  132. /package/browser/{src/event → event}/NetEvent.d.ts +0 -0
  133. /package/browser/{src/generators → generators}/AddressGenerator.d.ts +0 -0
  134. /package/browser/{src/generators → generators}/builders/CalldataGenerator.d.ts +0 -0
  135. /package/browser/{src/generators → generators}/builders/CustomGenerator.d.ts +0 -0
  136. /package/browser/{src/generators → generators}/builders/DeploymentGenerator.d.ts +0 -0
  137. /package/browser/{src/generators → generators}/builders/LegacyCalldataGenerator.d.ts +0 -0
  138. /package/browser/{src/generators → generators}/builders/MultiSignGenerator.d.ts +0 -0
  139. /package/browser/{src/generators → generators}/builders/P2WDAGenerator.d.ts +0 -0
  140. /package/browser/{src/index.d.ts → index.d.ts} +0 -0
  141. /package/browser/{src/keypair → keypair}/AddressVerificator.d.ts +0 -0
  142. /package/browser/{src/keypair → keypair}/EcKeyPair.d.ts +0 -0
  143. /package/browser/{src/keypair → keypair}/Secp256k1PointDeriver.d.ts +0 -0
  144. /package/browser/{src/keypair → keypair}/Wallet.d.ts +0 -0
  145. /package/browser/{src/keypair → keypair}/interfaces/IWallet.d.ts +0 -0
  146. /package/browser/{src/metadata → metadata}/ContractBaseMetadata.d.ts +0 -0
  147. /package/browser/{src/metadata → metadata}/tokens.d.ts +0 -0
  148. /package/browser/{src/mnemonic → mnemonic}/BIPStandard.d.ts +0 -0
  149. /package/browser/{src/mnemonic → mnemonic}/Mnemonic.d.ts +0 -0
  150. /package/browser/{src/mnemonic → mnemonic}/MnemonicStrength.d.ts +0 -0
  151. /package/browser/{src/network → network}/ChainId.d.ts +0 -0
  152. /package/browser/{src/p2wda → p2wda}/P2WDADetector.d.ts +0 -0
  153. /package/browser/{src/signer → signer}/SignerUtils.d.ts +0 -0
  154. /package/browser/{src/signer → signer}/TweakedSigner.d.ts +0 -0
  155. /package/browser/{src/transaction → transaction}/ContractAddress.d.ts +0 -0
  156. /package/browser/{src/transaction → transaction}/TransactionFactory.d.ts +0 -0
  157. /package/browser/{src/transaction → transaction}/browser/BrowserSignerBase.d.ts +0 -0
  158. /package/browser/{src/transaction → transaction}/browser/extensions/UnisatSigner.d.ts +0 -0
  159. /package/browser/{src/transaction → transaction}/browser/extensions/XverseSigner.d.ts +0 -0
  160. /package/browser/{src/transaction → transaction}/browser/types/Unisat.d.ts +0 -0
  161. /package/browser/{src/transaction → transaction}/browser/types/Xverse.d.ts +0 -0
  162. /package/browser/{src/transaction → transaction}/builders/CancelTransaction.d.ts +0 -0
  163. /package/browser/{src/transaction → transaction}/builders/ChallengeSolutionTransaction.d.ts +0 -0
  164. /package/browser/{src/transaction → transaction}/builders/FundingTransaction.d.ts +0 -0
  165. /package/browser/{src/transaction → transaction}/builders/InteractionTransaction.d.ts +0 -0
  166. /package/browser/{src/transaction → transaction}/builders/InteractionTransactionP2WDA.d.ts +0 -0
  167. /package/browser/{src/transaction → transaction}/builders/MultiSignTransaction.d.ts +0 -0
  168. /package/browser/{src/transaction → transaction}/builders/SharedInteractionTransaction.d.ts +0 -0
  169. /package/browser/{src/transaction → transaction}/enums/TransactionType.d.ts +0 -0
  170. /package/browser/{src/transaction → transaction}/interfaces/Tap.d.ts +0 -0
  171. /package/browser/{src/transaction → transaction}/mineable/IP2WSHAddress.d.ts +0 -0
  172. /package/browser/{src/transaction → transaction}/mineable/TimelockGenerator.d.ts +0 -0
  173. /package/browser/{src/transaction → transaction}/processor/PsbtTransaction.d.ts +0 -0
  174. /package/browser/{src/transaction → transaction}/psbt/PSBTTypes.d.ts +0 -0
  175. /package/browser/{src/transaction → transaction}/shared/P2TR_MS.d.ts +0 -0
  176. /package/browser/{src/utils → utils}/BitcoinUtils.d.ts +0 -0
  177. /package/browser/{src/utils → utils}/BufferHelper.d.ts +0 -0
  178. /package/browser/{src/utils → utils}/StringToBuffer.d.ts +0 -0
  179. /package/browser/{src/utils → utils}/lengths.d.ts +0 -0
  180. /package/browser/{src/utils → utils}/types.d.ts +0 -0
  181. /package/browser/{src/utxo → utxo}/interfaces/BroadcastResponse.d.ts +0 -0
  182. /package/browser/{src/utxo → utxo}/interfaces/IUTXO.d.ts +0 -0
  183. /package/browser/{src/verification → verification}/TapscriptVerificator.d.ts +0 -0
@@ -0,0 +1 @@
1
+ export declare const version = "1.7.10";
@@ -0,0 +1,4 @@
1
+ import { Network } from '@btc-vision/bitcoin';
2
+ export declare function getChainIdHex(network: Network): string;
3
+ export declare function getChainId(network: Network): Uint8Array;
4
+ export declare const BITCOIN_PROTOCOL_ID: Uint8Array<ArrayBuffer>;
@@ -1,11 +1,11 @@
1
- import { Map } from './Map.js';
2
- export declare class DeterministicMap<K, V> {
1
+ import { FastMap, PropertyExtendedKey } from './FastMap.js';
2
+ export declare class DeterministicMap<K extends PropertyExtendedKey, V> {
3
3
  #private;
4
4
  private compareFn;
5
5
  private map;
6
6
  constructor(compareFn: (a: K, b: K) => number);
7
7
  get size(): number;
8
- static fromMap<K, V>(map: Map<K, V>, compareFn: (a: K, b: K) => number): DeterministicMap<K, V>;
8
+ static fromMap<K extends PropertyExtendedKey, V>(map: FastMap<K, V>, compareFn: (a: K, b: K) => number): DeterministicMap<K, V>;
9
9
  set(key: K, value: V): void;
10
10
  get(key: K): V | undefined;
11
11
  entries(): IterableIterator<[K, V]>;
@@ -0,0 +1,24 @@
1
+ export type PropertyExtendedKey = PropertyKey | bigint;
2
+ export type FastRecord<V> = {
3
+ [key: string]: V;
4
+ };
5
+ export type IndexKey = string | number;
6
+ export declare class FastMap<K extends PropertyExtendedKey, V> {
7
+ protected _keys: K[];
8
+ protected _values: FastRecord<V>;
9
+ constructor(iterable?: ReadonlyArray<readonly [K, V]> | null | FastMap<K, V>);
10
+ get size(): number;
11
+ setAll(map: FastMap<K, V>): void;
12
+ addAll(map: FastMap<K, V>): void;
13
+ keys(): IterableIterator<K>;
14
+ values(): IterableIterator<V>;
15
+ entries(): IterableIterator<[K, V]>;
16
+ set(key: K, value: V): this;
17
+ indexOf(key: K): number;
18
+ get(key: K): V | undefined;
19
+ has(key: K): boolean;
20
+ delete(key: K): boolean;
21
+ clear(): void;
22
+ forEach(callback: (value: V, key: K, map: FastMap<K, V>) => void, thisArg?: unknown): void;
23
+ [Symbol.iterator](): IterableIterator<[K, V]>;
24
+ }
@@ -27,8 +27,8 @@ export interface RawChallengeVerification {
27
27
  readonly proofs: readonly string[];
28
28
  }
29
29
  export interface RawChallengeSubmission {
30
- readonly classicPublicKey: string;
31
- readonly publicKey: string;
30
+ readonly mldsaPublicKey: string;
31
+ readonly legacyPublicKey: string;
32
32
  readonly solution: string;
33
33
  readonly graffiti?: string;
34
34
  readonly signature: string;
@@ -41,8 +41,8 @@ export interface IChallengeSubmission {
41
41
  }
42
42
  export interface RawChallenge {
43
43
  readonly epochNumber: string;
44
- readonly classicPublicKey: string;
45
- readonly publicKey: string;
44
+ readonly mldsaPublicKey: string;
45
+ readonly legacyPublicKey: string;
46
46
  readonly solution: string;
47
47
  readonly salt: string;
48
48
  readonly graffiti: string;
@@ -1,8 +1,10 @@
1
1
  import { LoadedStorage } from '../transaction/interfaces/ITransactionParameters.js';
2
2
  import { ChallengeSubmission } from '../epoch/ChallengeSolution.js';
3
+ import { MLDSARequestData } from './MLDSAData.js';
3
4
  export declare enum Features {
4
5
  ACCESS_LIST = 1,
5
- EPOCH_SUBMISSION = 2
6
+ EPOCH_SUBMISSION = 2,
7
+ MLDSA_LINK_PUBKEY = 4
6
8
  }
7
9
  export interface Feature<T extends Features> {
8
10
  opcode: T;
@@ -14,3 +16,6 @@ export interface AccessListFeature extends Feature<Features.ACCESS_LIST> {
14
16
  export interface EpochSubmissionFeature extends Feature<Features.EPOCH_SUBMISSION> {
15
17
  data: ChallengeSubmission;
16
18
  }
19
+ export interface MLDSALinkRequest extends Feature<Features.MLDSA_LINK_PUBKEY> {
20
+ data: MLDSARequestData;
21
+ }
@@ -15,4 +15,5 @@ export declare abstract class Generator {
15
15
  protected encodeFeature(feature: Feature<Features>): Buffer[][];
16
16
  private encodeAccessListFeature;
17
17
  private encodeChallengeSubmission;
18
+ private encodeLinkRequest;
18
19
  }
@@ -0,0 +1,15 @@
1
+ import { MLDSASecurityLevel } from '@btc-vision/bip32';
2
+ export declare enum MLDSAPublicKeyMetadata {
3
+ MLDSA44 = 1312,
4
+ MLDSA65 = 1952,
5
+ MLDSA87 = 2592
6
+ }
7
+ export interface MLDSARequestData {
8
+ readonly verifyRequest: boolean;
9
+ readonly publicKey: Uint8Array | Buffer | null;
10
+ readonly hashedPublicKey: Uint8Array | Buffer;
11
+ readonly level: MLDSASecurityLevel;
12
+ readonly mldsaSignature: Uint8Array | Buffer | null;
13
+ readonly legacySignature: Uint8Array | Buffer;
14
+ }
15
+ export declare function getLevelFromPublicKeyLength(length: number): MLDSASecurityLevel;