@btc-vision/transaction 1.0.112 → 1.0.114

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 (150) hide show
  1. package/browser/_version.d.ts +1 -1
  2. package/browser/abi/ABICoder.d.ts +31 -0
  3. package/browser/buffer/BinaryReader.d.ts +37 -0
  4. package/browser/buffer/BinaryWriter.d.ts +46 -0
  5. package/browser/deterministic/AddressMap.d.ts +10 -0
  6. package/browser/deterministic/AddressSet.d.ts +13 -0
  7. package/browser/deterministic/DeterministicMap.d.ts +17 -0
  8. package/browser/deterministic/DeterministicSet.d.ts +13 -0
  9. package/browser/deterministic/Map.d.ts +14 -0
  10. package/browser/event/NetEvent.d.ts +5 -0
  11. package/browser/generators/AddressGenerator.d.ts +3 -0
  12. package/browser/index.js +1 -1
  13. package/browser/keypair/Address.d.ts +23 -0
  14. package/browser/keypair/AddressVerificator.d.ts +15 -4
  15. package/browser/keypair/EcKeyPair.d.ts +15 -12
  16. package/browser/keypair/Wallet.d.ts +12 -5
  17. package/browser/metadata/ContractBaseMetadata.d.ts +3 -4
  18. package/browser/metadata/contracts/wBTC.d.ts +2 -3
  19. package/browser/metadata/tokens.d.ts +1 -1
  20. package/browser/opnet.d.ts +11 -0
  21. package/browser/signer/TweakedSigner.d.ts +2 -2
  22. package/browser/transaction/TransactionFactory.d.ts +6 -6
  23. package/browser/transaction/browser/BrowserSignerBase.d.ts +3 -4
  24. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +3 -4
  25. package/browser/transaction/browser/types/Unisat.d.ts +2 -3
  26. package/browser/transaction/builders/CustomScriptTransaction.d.ts +4 -5
  27. package/browser/transaction/builders/DeploymentTransaction.d.ts +4 -2
  28. package/browser/transaction/builders/FundingTransaction.d.ts +2 -1
  29. package/browser/transaction/builders/MultiSignTransaction.d.ts +6 -6
  30. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +1 -1
  31. package/browser/transaction/builders/TransactionBuilder.d.ts +6 -7
  32. package/browser/transaction/builders/WrapTransaction.d.ts +2 -2
  33. package/browser/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  34. package/browser/transaction/processor/PsbtTransaction.d.ts +3 -4
  35. package/browser/transaction/shared/P2TR_MS.d.ts +1 -2
  36. package/browser/transaction/shared/TweakedTransaction.d.ts +8 -7
  37. package/browser/utils/BufferHelper.d.ts +11 -0
  38. package/browser/utils/types.d.ts +12 -0
  39. package/browser/utxo/OPNetLimitedProvider.d.ts +1 -2
  40. package/build/_version.d.ts +1 -1
  41. package/build/_version.js +1 -1
  42. package/build/abi/ABICoder.d.ts +31 -0
  43. package/build/abi/ABICoder.js +137 -0
  44. package/build/buffer/BinaryReader.d.ts +37 -0
  45. package/build/buffer/BinaryReader.js +192 -0
  46. package/build/buffer/BinaryWriter.d.ts +46 -0
  47. package/build/buffer/BinaryWriter.js +258 -0
  48. package/build/deterministic/AddressMap.d.ts +10 -0
  49. package/build/deterministic/AddressMap.js +46 -0
  50. package/build/deterministic/AddressSet.d.ts +13 -0
  51. package/build/deterministic/AddressSet.js +44 -0
  52. package/build/deterministic/DeterministicMap.d.ts +17 -0
  53. package/build/deterministic/DeterministicMap.js +83 -0
  54. package/build/deterministic/DeterministicSet.d.ts +13 -0
  55. package/build/deterministic/DeterministicSet.js +46 -0
  56. package/build/deterministic/Map.d.ts +14 -0
  57. package/build/deterministic/Map.js +56 -0
  58. package/build/event/NetEvent.d.ts +5 -0
  59. package/build/event/NetEvent.js +6 -0
  60. package/build/generators/AddressGenerator.d.ts +3 -0
  61. package/build/generators/AddressGenerator.js +8 -1
  62. package/build/keypair/Address.d.ts +23 -0
  63. package/build/keypair/Address.js +129 -0
  64. package/build/keypair/AddressVerificator.d.ts +15 -4
  65. package/build/keypair/AddressVerificator.js +79 -3
  66. package/build/keypair/EcKeyPair.d.ts +15 -12
  67. package/build/keypair/EcKeyPair.js +61 -9
  68. package/build/keypair/Wallet.d.ts +12 -5
  69. package/build/keypair/Wallet.js +19 -5
  70. package/build/metadata/ContractBaseMetadata.d.ts +3 -4
  71. package/build/metadata/contracts/wBTC.d.ts +2 -3
  72. package/build/metadata/contracts/wBTC.js +4 -6
  73. package/build/metadata/tokens.d.ts +1 -1
  74. package/build/metadata/tokens.js +19 -15
  75. package/build/opnet.d.ts +11 -0
  76. package/build/opnet.js +11 -0
  77. package/build/signer/TweakedSigner.d.ts +2 -2
  78. package/build/signer/TweakedSigner.js +1 -1
  79. package/build/transaction/TransactionFactory.d.ts +6 -6
  80. package/build/transaction/TransactionFactory.js +3 -2
  81. package/build/transaction/browser/BrowserSignerBase.d.ts +3 -4
  82. package/build/transaction/browser/extensions/UnisatSigner.d.ts +3 -4
  83. package/build/transaction/browser/types/Unisat.d.ts +2 -3
  84. package/build/transaction/builders/CustomScriptTransaction.d.ts +4 -5
  85. package/build/transaction/builders/CustomScriptTransaction.js +3 -3
  86. package/build/transaction/builders/DeploymentTransaction.d.ts +4 -2
  87. package/build/transaction/builders/DeploymentTransaction.js +10 -6
  88. package/build/transaction/builders/FundingTransaction.d.ts +2 -1
  89. package/build/transaction/builders/MultiSignTransaction.d.ts +6 -6
  90. package/build/transaction/builders/SharedInteractionTransaction.d.ts +1 -1
  91. package/build/transaction/builders/SharedInteractionTransaction.js +4 -4
  92. package/build/transaction/builders/TransactionBuilder.d.ts +6 -7
  93. package/build/transaction/builders/UnwrapSegwitTransaction.js +2 -1
  94. package/build/transaction/builders/UnwrapTransaction.js +4 -3
  95. package/build/transaction/builders/WrapTransaction.d.ts +2 -2
  96. package/build/transaction/builders/WrapTransaction.js +5 -6
  97. package/build/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  98. package/build/transaction/processor/PsbtTransaction.d.ts +3 -4
  99. package/build/transaction/shared/P2TR_MS.d.ts +1 -2
  100. package/build/transaction/shared/TweakedTransaction.d.ts +8 -7
  101. package/build/transaction/shared/TweakedTransaction.js +1 -1
  102. package/build/utils/BufferHelper.d.ts +11 -0
  103. package/build/utils/BufferHelper.js +50 -0
  104. package/build/utils/types.d.ts +12 -0
  105. package/build/utils/types.js +1 -0
  106. package/build/utxo/OPNetLimitedProvider.d.ts +1 -2
  107. package/build/utxo/OPNetLimitedProvider.js +1 -1
  108. package/build/verification/TapscriptVerificator.js +3 -2
  109. package/package.json +4 -2
  110. package/src/_version.ts +1 -1
  111. package/src/abi/ABICoder.ts +158 -0
  112. package/src/buffer/BinaryReader.ts +260 -0
  113. package/src/buffer/BinaryWriter.ts +331 -0
  114. package/src/deterministic/AddressMap.ts +57 -0
  115. package/src/deterministic/AddressSet.ts +62 -0
  116. package/src/deterministic/DeterministicMap.ts +88 -0
  117. package/src/deterministic/DeterministicSet.ts +56 -0
  118. package/src/deterministic/Map.ts +66 -0
  119. package/src/event/NetEvent.ts +6 -0
  120. package/src/generators/AddressGenerator.ts +15 -1
  121. package/src/keypair/Address.ts +235 -0
  122. package/src/keypair/AddressVerificator.ts +149 -6
  123. package/src/keypair/EcKeyPair.ts +146 -47
  124. package/src/keypair/Wallet.ts +72 -15
  125. package/src/metadata/ContractBaseMetadata.ts +3 -4
  126. package/src/metadata/contracts/wBTC.ts +8 -9
  127. package/src/metadata/tokens.ts +21 -16
  128. package/src/opnet.ts +13 -0
  129. package/src/signer/TweakedSigner.ts +3 -2
  130. package/src/transaction/TransactionFactory.ts +11 -10
  131. package/src/transaction/browser/BrowserSignerBase.ts +3 -4
  132. package/src/transaction/browser/extensions/UnisatSigner.ts +6 -7
  133. package/src/transaction/browser/types/Unisat.ts +2 -3
  134. package/src/transaction/builders/CustomScriptTransaction.ts +10 -10
  135. package/src/transaction/builders/DeploymentTransaction.ts +23 -9
  136. package/src/transaction/builders/FundingTransaction.ts +2 -1
  137. package/src/transaction/builders/MultiSignTransaction.ts +10 -7
  138. package/src/transaction/builders/SharedInteractionTransaction.ts +5 -5
  139. package/src/transaction/builders/TransactionBuilder.ts +26 -17
  140. package/src/transaction/builders/UnwrapSegwitTransaction.ts +10 -4
  141. package/src/transaction/builders/UnwrapTransaction.ts +5 -19
  142. package/src/transaction/builders/WrapTransaction.ts +7 -13
  143. package/src/transaction/interfaces/ITransactionParameters.ts +7 -6
  144. package/src/transaction/processor/PsbtTransaction.ts +3 -4
  145. package/src/transaction/shared/P2TR_MS.ts +2 -3
  146. package/src/transaction/shared/TweakedTransaction.ts +12 -12
  147. package/src/utils/BufferHelper.ts +71 -0
  148. package/src/utils/types.ts +19 -0
  149. package/src/utxo/OPNetLimitedProvider.ts +3 -8
  150. package/src/verification/TapscriptVerificator.ts +4 -2
@@ -1 +1 @@
1
- export declare const version = "1.0.111";
1
+ export declare const version = "1.0.114";
@@ -0,0 +1,31 @@
1
+ export declare enum ABIDataTypes {
2
+ UINT8 = "UINT8",
3
+ UINT16 = "UINT16",
4
+ UINT32 = "UINT32",
5
+ UINT64 = "UINT64",
6
+ BOOL = "BOOL",
7
+ ADDRESS = "ADDRESS",
8
+ STRING = "STRING",
9
+ BYTES32 = "BYTES32",
10
+ UINT256 = "UINT256",
11
+ TUPLE = "TUPLE",
12
+ BYTES = "BYTES",
13
+ ADDRESS_UINT256_TUPLE = "ADDRESS_UINT256_TUPLE",
14
+ ARRAY_OF_ADDRESSES = "ARRAY_OF_ADDRESSES",
15
+ ARRAY_OF_UINT256 = "ARRAY_OF_UINT256",
16
+ ARRAY_OF_UINT64 = "ARRAY_OF_UINT64",
17
+ ARRAY_OF_UINT32 = "ARRAY_OF_UINT32",
18
+ ARRAY_OF_UINT16 = "ARRAY_OF_UINT16",
19
+ ARRAY_OF_UINT8 = "ARRAY_OF_UINT8",
20
+ ARRAY_OF_STRING = "ARRAY_OF_STRING",
21
+ ARRAY_OF_BYTES = "ARRAY_OF_BYTES"
22
+ }
23
+ export declare class ABICoder {
24
+ decodeData(data: Uint8Array, types: ABIDataTypes[]): unknown[];
25
+ encodePointer(key: string): bigint;
26
+ encodePointerHash(pointer: number, sub: bigint): Uint8Array;
27
+ encodeSelector(selectorIdentifier: string): string;
28
+ numericSelectorToHex(selector: number): string;
29
+ private bigIntToUint8Array;
30
+ private sha256;
31
+ }
@@ -0,0 +1,37 @@
1
+ import { BufferLike, i32, Selector, u16, u32, u8 } from '../utils/types.js';
2
+ import { Address } from '../keypair/Address.js';
3
+ import { AddressMap } from '../deterministic/AddressMap.js';
4
+ export declare class BinaryReader {
5
+ private buffer;
6
+ private currentOffset;
7
+ constructor(bytes: BufferLike);
8
+ static stringCompare(a: string, b: string): number;
9
+ static bigintCompare(a: bigint, b: bigint): number;
10
+ static numberCompare(a: number, b: number): number;
11
+ setBuffer(bytes: BufferLike): void;
12
+ readAddressArray(): Address[];
13
+ readU256Array(): bigint[];
14
+ readU64Array(): bigint[];
15
+ readU32Array(): u32[];
16
+ readU16Array(): u16[];
17
+ readU8Array(): u8[];
18
+ readStringArray(): string[];
19
+ readBytesArray(): Uint8Array[];
20
+ readBytesWithLength(maxLength?: number): Uint8Array;
21
+ readTuple(): bigint[];
22
+ readU8(): u8;
23
+ readU16(): u16;
24
+ readU32(le?: boolean): u32;
25
+ readU64(): bigint;
26
+ readAddressValueTuple(): AddressMap<bigint>;
27
+ readU256(): bigint;
28
+ readBytes(length: u32, zeroStop?: boolean): Uint8Array;
29
+ readString(length: u16): string;
30
+ readSelector(): Selector;
31
+ readStringWithLength(): string;
32
+ readBoolean(): boolean;
33
+ readAddress(): Address;
34
+ getOffset(): u16;
35
+ setOffset(offset: u16): void;
36
+ verifyEnd(size: i32): void;
37
+ }
@@ -0,0 +1,46 @@
1
+ import { Selector, u16, u32, u64, u8 } from '../utils/types.js';
2
+ import { Address } from '../keypair/Address.js';
3
+ import { BinaryReader } from './BinaryReader.js';
4
+ import { AddressMap } from '../deterministic/AddressMap.js';
5
+ export declare class BinaryWriter {
6
+ private currentOffset;
7
+ private buffer;
8
+ constructor(length?: number);
9
+ writeU8(value: u8): void;
10
+ writeU16(value: u16): void;
11
+ writeU32(value: u32, le?: boolean): void;
12
+ writeU64(value: u64): void;
13
+ writeSelector(value: Selector): void;
14
+ writeBoolean(value: boolean): void;
15
+ writeU256(bigIntValue: bigint): void;
16
+ writeBytes(value: Uint8Array | Buffer): void;
17
+ writeString(value: string): void;
18
+ writeAddress(value: Address): void;
19
+ writeStringWithLength(value: string): void;
20
+ getBuffer(clear?: boolean): Uint8Array;
21
+ reset(): void;
22
+ writeTuple(values: bigint[]): void;
23
+ toBytesReader(): BinaryReader;
24
+ getOffset(): u32;
25
+ setOffset(offset: u32): void;
26
+ clear(): void;
27
+ allocSafe(size: u32): void;
28
+ writeABISelector(name: string, selector: Selector): void;
29
+ writeAddressValueTupleMap(map: AddressMap<bigint>): void;
30
+ writeLimitedAddressBytesMap(map: AddressMap<Uint8Array[]>): void;
31
+ writeBytesWithLength(value: Uint8Array): void;
32
+ writeAddressArray(value: Address[]): void;
33
+ writeU32Array(value: u32[]): void;
34
+ writeU256Array(value: bigint[]): void;
35
+ writeStringArray(value: string[]): void;
36
+ writeU16Array(value: u16[]): void;
37
+ writeU8Array(value: u8[]): void;
38
+ writeU64Array(value: bigint[]): void;
39
+ writeBytesArray(value: Uint8Array[]): void;
40
+ writeSelectorArray(value: Selector[]): void;
41
+ private getChecksum;
42
+ private writeMethodSelectorMap;
43
+ private fromAddress;
44
+ private resize;
45
+ private getDefaultBuffer;
46
+ }
@@ -0,0 +1,10 @@
1
+ import { i32 } from '../utils/types.js';
2
+ import { Address } from '../keypair/Address.js';
3
+ import { Map } from './Map.js';
4
+ export declare class AddressMap<V> extends Map<Address, V> {
5
+ set(key: Address, value: V): void;
6
+ indexOf(address: Address): i32;
7
+ has(key: Address): boolean;
8
+ get(key: Address): V;
9
+ delete(key: Address): boolean;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { i32 } from '../utils/types.js';
2
+ import { Address } from '../keypair/Address.js';
3
+ export declare class AddressSet {
4
+ private keys;
5
+ constructor(keys?: Address[]);
6
+ add(address: Address): void;
7
+ contains(address: Address): boolean;
8
+ remove(address: Address): void;
9
+ size(): i32;
10
+ clone(): AddressSet;
11
+ clear(): void;
12
+ combine(set: AddressSet): AddressSet;
13
+ }
@@ -0,0 +1,17 @@
1
+ export declare class DeterministicMap<K, V> {
2
+ #private;
3
+ private compareFn;
4
+ private map;
5
+ constructor(compareFn: (a: K, b: K) => number);
6
+ get size(): number;
7
+ static fromMap<K, V>(map: Map<K, V>, compareFn: (a: K, b: K) => number): DeterministicMap<K, V>;
8
+ set(key: K, value: V): void;
9
+ get(key: K): V | undefined;
10
+ keys(): IterableIterator<K>;
11
+ values(): IterableIterator<V>;
12
+ has(key: K): boolean;
13
+ delete(key: K): boolean;
14
+ clear(): void;
15
+ forEach(callback: (value: V, key: K, map: DeterministicMap<K, V>) => void): void;
16
+ [Symbol.iterator](): IterableIterator<[K, V]>;
17
+ }
@@ -0,0 +1,13 @@
1
+ export declare class DeterministicSet<T> {
2
+ private compareFn;
3
+ private elements;
4
+ constructor(compareFn: (a: T, b: T) => number);
5
+ add(value: T): void;
6
+ delete(value: T): boolean;
7
+ has(value: T): boolean;
8
+ clear(): void;
9
+ forEach(callback: (value: T, set: DeterministicSet<T>) => void): void;
10
+ static fromSet<T>(set: Set<T>, compareFn: (a: T, b: T) => number): DeterministicSet<T>;
11
+ get size(): number;
12
+ [Symbol.iterator](): IterableIterator<T>;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { i32 } from '../utils/types.js';
2
+ export declare class Map<K, V> {
3
+ protected _keys: K[];
4
+ protected _values: V[];
5
+ get size(): i32;
6
+ keys(): K[];
7
+ values(): V[];
8
+ set(key: K, value: V): void;
9
+ indexOf(key: K): i32;
10
+ get(key: K): V;
11
+ has(key: K): boolean;
12
+ delete(key: K): boolean;
13
+ clear(): void;
14
+ }
@@ -0,0 +1,5 @@
1
+ export declare class NetEvent {
2
+ readonly eventType: string;
3
+ readonly eventData: Uint8Array;
4
+ constructor(eventType: string, eventData: Uint8Array);
5
+ }
@@ -1,5 +1,8 @@
1
1
  import { Network } from 'bitcoinjs-lib';
2
2
  export declare class AddressGenerator {
3
3
  static generatePKSH(sha256Hash: Buffer, network: Network): string;
4
+ static generateTaprootAddress(pubKey: Buffer, network: {
5
+ bech32: string;
6
+ }): string;
4
7
  private static toSegwitAddress;
5
8
  }