@btc-vision/transaction 1.0.113 → 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 (134) 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 +1 -2
  15. package/browser/keypair/EcKeyPair.d.ts +9 -9
  16. package/browser/keypair/Wallet.d.ts +11 -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/transaction/TransactionFactory.d.ts +6 -6
  22. package/browser/transaction/browser/BrowserSignerBase.d.ts +3 -4
  23. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +3 -4
  24. package/browser/transaction/browser/types/Unisat.d.ts +2 -3
  25. package/browser/transaction/builders/CustomScriptTransaction.d.ts +4 -5
  26. package/browser/transaction/builders/DeploymentTransaction.d.ts +4 -2
  27. package/browser/transaction/builders/MultiSignTransaction.d.ts +4 -5
  28. package/browser/transaction/builders/TransactionBuilder.d.ts +5 -6
  29. package/browser/transaction/builders/WrapTransaction.d.ts +2 -2
  30. package/browser/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  31. package/browser/transaction/processor/PsbtTransaction.d.ts +3 -4
  32. package/browser/transaction/shared/P2TR_MS.d.ts +1 -2
  33. package/browser/utils/BufferHelper.d.ts +11 -0
  34. package/browser/utils/types.d.ts +12 -0
  35. package/browser/utxo/OPNetLimitedProvider.d.ts +1 -2
  36. package/build/_version.d.ts +1 -1
  37. package/build/_version.js +1 -1
  38. package/build/abi/ABICoder.d.ts +31 -0
  39. package/build/abi/ABICoder.js +137 -0
  40. package/build/buffer/BinaryReader.d.ts +37 -0
  41. package/build/buffer/BinaryReader.js +192 -0
  42. package/build/buffer/BinaryWriter.d.ts +46 -0
  43. package/build/buffer/BinaryWriter.js +258 -0
  44. package/build/deterministic/AddressMap.d.ts +10 -0
  45. package/build/deterministic/AddressMap.js +46 -0
  46. package/build/deterministic/AddressSet.d.ts +13 -0
  47. package/build/deterministic/AddressSet.js +44 -0
  48. package/build/deterministic/DeterministicMap.d.ts +17 -0
  49. package/build/deterministic/DeterministicMap.js +83 -0
  50. package/build/deterministic/DeterministicSet.d.ts +13 -0
  51. package/build/deterministic/DeterministicSet.js +46 -0
  52. package/build/deterministic/Map.d.ts +14 -0
  53. package/build/deterministic/Map.js +56 -0
  54. package/build/event/NetEvent.d.ts +5 -0
  55. package/build/event/NetEvent.js +6 -0
  56. package/build/generators/AddressGenerator.d.ts +3 -0
  57. package/build/generators/AddressGenerator.js +8 -1
  58. package/build/keypair/Address.d.ts +23 -0
  59. package/build/keypair/Address.js +129 -0
  60. package/build/keypair/AddressVerificator.d.ts +1 -2
  61. package/build/keypair/AddressVerificator.js +7 -2
  62. package/build/keypair/EcKeyPair.d.ts +9 -9
  63. package/build/keypair/EcKeyPair.js +9 -2
  64. package/build/keypair/Wallet.d.ts +11 -5
  65. package/build/keypair/Wallet.js +14 -1
  66. package/build/metadata/ContractBaseMetadata.d.ts +3 -4
  67. package/build/metadata/contracts/wBTC.d.ts +2 -3
  68. package/build/metadata/contracts/wBTC.js +4 -6
  69. package/build/metadata/tokens.d.ts +1 -1
  70. package/build/metadata/tokens.js +19 -15
  71. package/build/opnet.d.ts +11 -0
  72. package/build/opnet.js +11 -0
  73. package/build/transaction/TransactionFactory.d.ts +6 -6
  74. package/build/transaction/TransactionFactory.js +3 -2
  75. package/build/transaction/browser/BrowserSignerBase.d.ts +3 -4
  76. package/build/transaction/browser/extensions/UnisatSigner.d.ts +3 -4
  77. package/build/transaction/browser/types/Unisat.d.ts +2 -3
  78. package/build/transaction/builders/CustomScriptTransaction.d.ts +4 -5
  79. package/build/transaction/builders/DeploymentTransaction.d.ts +4 -2
  80. package/build/transaction/builders/DeploymentTransaction.js +6 -2
  81. package/build/transaction/builders/MultiSignTransaction.d.ts +4 -5
  82. package/build/transaction/builders/TransactionBuilder.d.ts +5 -6
  83. package/build/transaction/builders/UnwrapSegwitTransaction.js +2 -1
  84. package/build/transaction/builders/UnwrapTransaction.js +2 -1
  85. package/build/transaction/builders/WrapTransaction.d.ts +2 -2
  86. package/build/transaction/builders/WrapTransaction.js +5 -6
  87. package/build/transaction/interfaces/ITransactionParameters.d.ts +6 -6
  88. package/build/transaction/processor/PsbtTransaction.d.ts +3 -4
  89. package/build/transaction/shared/P2TR_MS.d.ts +1 -2
  90. package/build/utils/BufferHelper.d.ts +11 -0
  91. package/build/utils/BufferHelper.js +50 -0
  92. package/build/utils/types.d.ts +12 -0
  93. package/build/utils/types.js +1 -0
  94. package/build/utxo/OPNetLimitedProvider.d.ts +1 -2
  95. package/build/utxo/OPNetLimitedProvider.js +1 -1
  96. package/build/verification/TapscriptVerificator.js +3 -2
  97. package/package.json +3 -2
  98. package/src/_version.ts +1 -1
  99. package/src/abi/ABICoder.ts +158 -0
  100. package/src/buffer/BinaryReader.ts +260 -0
  101. package/src/buffer/BinaryWriter.ts +331 -0
  102. package/src/deterministic/AddressMap.ts +57 -0
  103. package/src/deterministic/AddressSet.ts +62 -0
  104. package/src/deterministic/DeterministicMap.ts +88 -0
  105. package/src/deterministic/DeterministicSet.ts +56 -0
  106. package/src/deterministic/Map.ts +66 -0
  107. package/src/event/NetEvent.ts +6 -0
  108. package/src/generators/AddressGenerator.ts +15 -1
  109. package/src/keypair/Address.ts +235 -0
  110. package/src/keypair/AddressVerificator.ts +9 -5
  111. package/src/keypair/EcKeyPair.ts +39 -37
  112. package/src/keypair/Wallet.ts +61 -12
  113. package/src/metadata/ContractBaseMetadata.ts +3 -4
  114. package/src/metadata/contracts/wBTC.ts +8 -9
  115. package/src/metadata/tokens.ts +21 -16
  116. package/src/opnet.ts +13 -0
  117. package/src/transaction/TransactionFactory.ts +11 -10
  118. package/src/transaction/browser/BrowserSignerBase.ts +3 -4
  119. package/src/transaction/browser/extensions/UnisatSigner.ts +6 -7
  120. package/src/transaction/browser/types/Unisat.ts +2 -3
  121. package/src/transaction/builders/CustomScriptTransaction.ts +4 -5
  122. package/src/transaction/builders/DeploymentTransaction.ts +17 -4
  123. package/src/transaction/builders/MultiSignTransaction.ts +4 -5
  124. package/src/transaction/builders/TransactionBuilder.ts +8 -9
  125. package/src/transaction/builders/UnwrapSegwitTransaction.ts +3 -1
  126. package/src/transaction/builders/UnwrapTransaction.ts +3 -17
  127. package/src/transaction/builders/WrapTransaction.ts +7 -8
  128. package/src/transaction/interfaces/ITransactionParameters.ts +7 -6
  129. package/src/transaction/processor/PsbtTransaction.ts +3 -4
  130. package/src/transaction/shared/P2TR_MS.ts +2 -3
  131. package/src/utils/BufferHelper.ts +71 -0
  132. package/src/utils/types.ts +19 -0
  133. package/src/utxo/OPNetLimitedProvider.ts +3 -8
  134. package/src/verification/TapscriptVerificator.ts +4 -2
@@ -0,0 +1,23 @@
1
+ import { Network } from 'bitcoinjs-lib';
2
+ import { ECPairInterface } from 'ecpair';
3
+ export declare class Address extends Uint8Array {
4
+ #private;
5
+ private isP2TROnly;
6
+ constructor(bytes?: ArrayLike<number>);
7
+ private _keyPair;
8
+ get keyPair(): ECPairInterface;
9
+ static dead(): Address;
10
+ static fromString(pubKey: string): Address;
11
+ static wrap(bytes: ArrayLike<number>): Address;
12
+ toHex(): string;
13
+ equals(a: Address): boolean;
14
+ isBiggerThan(a: Address): boolean;
15
+ isSmallerThan(a: Address): boolean;
16
+ set(publicKey: ArrayLike<number>): void;
17
+ isValid(network: Network): boolean;
18
+ p2wpkh(network: Network): string;
19
+ p2pkh(network: Network): string;
20
+ p2shp2wpkh(network: Network): string;
21
+ toString(): string;
22
+ p2tr(network: Network): string;
23
+ }
@@ -1,5 +1,4 @@
1
1
  import { Network } from 'bitcoinjs-lib';
2
- import { Address } from '@btc-vision/bsi-binary';
3
2
  export declare enum AddressTypes {
4
3
  P2PKH = "P2PKH",
5
4
  P2SH = "P2SH",
@@ -10,7 +9,7 @@ export declare enum AddressTypes {
10
9
  P2WPKH = "P2WPKH"
11
10
  }
12
11
  export declare class AddressVerificator {
13
- static isValidP2TRAddress(inAddress: Address, network: Network): boolean;
12
+ static isValidP2TRAddress(inAddress: string, network: Network): boolean;
14
13
  static isP2WPKHAddress(inAddress: string, network: Network): boolean;
15
14
  static isP2PKHOrP2SH(addy: string, network: Network): boolean;
16
15
  static isValidPublicKey(input: string, network: Network): boolean;
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { BIP32API, BIP32Interface } from 'bip32';
3
2
  import { Network, Signer } from 'bitcoinjs-lib';
4
3
  import { ECPairAPI, ECPairInterface } from 'ecpair';
@@ -9,20 +8,21 @@ export declare class EcKeyPair {
9
8
  static fromWIF(wif: string, network?: Network): ECPairInterface;
10
9
  static fromPrivateKey(privateKey: Buffer | Uint8Array, network?: Network): ECPairInterface;
11
10
  static fromPublicKey(publicKey: Buffer | Uint8Array, network?: Network): ECPairInterface;
12
- static generateMultiSigAddress(pubKeys: Buffer[], minimumSignatureRequired: number, network?: Network): Address;
11
+ static generateMultiSigAddress(pubKeys: Buffer[], minimumSignatureRequired: number, network?: Network): string;
13
12
  static verifyPubKeys(pubKeys: Buffer[], network?: Network): Buffer[];
14
- static getP2WPKHAddress(keyPair: ECPairInterface, network?: Network): Address;
13
+ static getP2WPKHAddress(keyPair: ECPairInterface, network?: Network): string;
15
14
  static tweakedPubKeyToAddress(tweakedPubKeyHex: string, network: Network): string;
15
+ static tweakedPubKeyBufferToAddress(tweakedPubKeyBuffer: Buffer | Uint8Array, network: Network): string;
16
16
  static xOnlyTweakedPubKeyToAddress(tweakedPubKeyHex: string, network: Network): string;
17
17
  static tweakPublicKey(compressedPubKeyHex: string): string;
18
18
  static generateWallet(network?: Network): IWallet;
19
- static verifyContractAddress(contractAddress: Address, network?: Network): boolean;
20
- static getLegacySegwitAddress(keyPair: ECPairInterface, network?: Network): Address;
21
- static getLegacyAddress(keyPair: ECPairInterface, network?: Network): Address;
22
- static getP2PKAddress(keyPair: ECPairInterface, network?: Network): Address;
19
+ static verifyContractAddress(contractAddress: string, network?: Network): boolean;
20
+ static getLegacySegwitAddress(keyPair: ECPairInterface, network?: Network): string;
21
+ static getLegacyAddress(keyPair: ECPairInterface, network?: Network): string;
22
+ static getP2PKAddress(keyPair: ECPairInterface, network?: Network): string;
23
23
  static generateRandomKeyPair(network?: Network): ECPairInterface;
24
24
  static fromSeed(seed: Buffer, network?: Network): BIP32Interface;
25
- static getTaprootAddress(keyPair: ECPairInterface | Signer, network?: Network): Address;
26
- static getTaprootAddressFromAddress(inAddr: Address, network?: Network): Address;
25
+ static getTaprootAddress(keyPair: ECPairInterface | Signer, network?: Network): string;
26
+ static getTaprootAddressFromAddress(inAddr: string, network?: Network): string;
27
27
  static fromSeedKeyPair(seed: Buffer, network?: Network): ECPairInterface;
28
28
  }
@@ -1,20 +1,26 @@
1
1
  import { IWallet } from './interfaces/IWallet.js';
2
2
  import { ECPairInterface } from 'ecpair';
3
3
  import { Network } from 'bitcoinjs-lib';
4
- import { Address } from '@btc-vision/bsi-binary';
4
+ import { Address } from './Address.js';
5
5
  export declare class Wallet {
6
6
  readonly network: Network;
7
7
  private readonly _keypair;
8
8
  private readonly _p2wpkh;
9
9
  private readonly _p2tr;
10
10
  private readonly _legacy;
11
+ private readonly _segwitLegacy;
11
12
  private readonly _bufferPubKey;
13
+ private readonly _tweakedKey;
14
+ private readonly _address;
12
15
  constructor(wallet: IWallet, network?: Network);
16
+ get address(): Address;
17
+ get tweakedPubKeyKey(): Buffer;
13
18
  get keypair(): ECPairInterface;
14
- get p2wpkh(): Address;
15
- get p2tr(): Address;
16
- get legacy(): Address;
17
- get addresses(): Address[];
19
+ get p2wpkh(): string;
20
+ get p2tr(): string;
21
+ get legacy(): string;
22
+ get addresses(): string[];
23
+ get segwitLegacy(): string;
18
24
  get publicKey(): Buffer;
19
25
  get xOnly(): Buffer;
20
26
  static fromWif(wif: string, network?: Network): Wallet;
@@ -1,9 +1,8 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Network } from 'bitcoinjs-lib';
3
2
  export declare abstract class ContractBaseMetadata {
4
3
  protected network: Network;
5
- protected abstract readonly address: Address;
4
+ protected abstract readonly address: string;
6
5
  protected constructor(network?: Network);
7
- static getAddress(network?: Network): Address;
8
- getAddress(): Address;
6
+ static getAddress(network?: Network): string;
7
+ getAddress(): string;
9
8
  }
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Network } from 'bitcoinjs-lib';
3
2
  import { ChainId } from '../../network/ChainId.js';
4
3
  import { ContractBaseMetadata } from '../ContractBaseMetadata.js';
@@ -7,8 +6,8 @@ export declare class wBTC extends ContractBaseMetadata {
7
6
  readonly tokenName: string;
8
7
  readonly tokenSymbol: string;
9
8
  readonly decimals: number;
10
- protected readonly address: Address;
9
+ protected readonly address: string;
11
10
  constructor(network?: Network, chainId?: ChainId);
12
- static getAddress(network?: Network, chainId?: ChainId): Address;
11
+ static getAddress(network?: Network, chainId?: ChainId): string;
13
12
  private static getWBTCAddressForChain;
14
13
  }
@@ -1,5 +1,5 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { ChainId } from '../network/ChainId.js';
2
+ import { Address } from '../keypair/Address.js';
3
3
  export declare const FACTORY_ADDRESS_REGTEST: Address;
4
4
  export declare const POOL_ADDRESS_REGTEST: Address;
5
5
  export declare const WBTC_ADDRESS_REGTEST: Address;
@@ -43,6 +43,17 @@ export * from './wbtc/UnwrapGeneration.js';
43
43
  export * from './consensus/ConsensusConfig.js';
44
44
  export * from './consensus/Consensus.js';
45
45
  export * from './consensus/metadata/RoswellConsensus.js';
46
+ export * from './utils/BufferHelper.js';
47
+ export * from './utils/types.js';
48
+ export * from './keypair/Address.js';
49
+ export * from './event/NetEvent.js';
50
+ export * from './deterministic/DeterministicMap.js';
51
+ export * from './deterministic/DeterministicSet.js';
52
+ export * from './deterministic/AddressMap.js';
53
+ export * from './deterministic/AddressSet.js';
54
+ export * from './abi/ABICoder.js';
55
+ export * from './buffer/BinaryWriter.js';
56
+ export * from './buffer/BinaryReader.js';
46
57
  export * from './transaction/browser/BrowserSignerBase.js';
47
58
  export * from './transaction/browser/extensions/UnisatSigner.js';
48
59
  export * from './transaction/browser/types/Unisat.js';
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Transaction } from 'bitcoinjs-lib';
3
2
  import { UTXO } from '../utxo/interfaces/IUTXO.js';
4
3
  import { ICustomTransactionParameters } from './builders/CustomScriptTransaction.js';
@@ -8,15 +7,16 @@ import { TransactionType } from './enums/TransactionType.js';
8
7
  import { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters, IUnwrapParameters, IWrapParameters } from './interfaces/ITransactionParameters.js';
9
8
  export interface DeploymentResult {
10
9
  readonly transaction: [string, string];
11
- readonly contractAddress: Address;
12
- readonly p2trAddress: Address;
10
+ readonly contractAddress: string;
11
+ readonly contractPubKey: string;
12
+ readonly p2trAddress: string;
13
13
  readonly utxos: UTXO[];
14
14
  }
15
15
  export interface WrapResult {
16
16
  readonly transaction: [string, string];
17
- readonly vaultAddress: Address;
17
+ readonly vaultAddress: string;
18
18
  readonly amount: bigint;
19
- readonly receiverAddress: Address;
19
+ readonly receiverAddress: string;
20
20
  readonly utxos: UTXO[];
21
21
  }
22
22
  export interface FundingTransactionResponse {
@@ -45,7 +45,7 @@ export declare class TransactionFactory {
45
45
  unwrapSegwit(unwrapParameters: IUnwrapParameters): Promise<UnwrapResult>;
46
46
  unwrap(unwrapParameters: IUnwrapParameters): Promise<UnwrapResult>;
47
47
  createBTCTransfer(parameters: IFundingTransactionParameters): Promise<BitcoinTransferResponse>;
48
- getAllNewUTXOs(original: TransactionBuilder<TransactionType>, tx: Transaction, to: Address): UTXO[];
48
+ getAllNewUTXOs(original: TransactionBuilder<TransactionType>, tx: Transaction, to: string): UTXO[];
49
49
  private createFundTransaction;
50
50
  private calculateNumSignatures;
51
51
  private calculateNumInputs;
@@ -1,11 +1,10 @@
1
1
  import { Network, Psbt, Signer } from 'bitcoinjs-lib';
2
- import { Address } from '@btc-vision/bsi-binary';
3
2
  export declare abstract class CustomKeypair implements Signer {
4
3
  abstract network: Network;
5
4
  abstract publicKey: Buffer;
6
- abstract addresses: Address[];
7
- abstract p2tr: Address;
8
- abstract p2wpkh: Address;
5
+ abstract addresses: string[];
6
+ abstract p2tr: string;
7
+ abstract p2wpkh: string;
9
8
  protected constructor();
10
9
  abstract signTaprootInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
11
10
  abstract signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Network, Psbt } from 'bitcoinjs-lib';
3
2
  import { CustomKeypair } from '../BrowserSignerBase.js';
4
3
  import { Unisat } from '../types/Unisat.js';
@@ -12,11 +11,11 @@ export declare class UnisatSigner extends CustomKeypair {
12
11
  private isInitialized;
13
12
  constructor();
14
13
  private _p2tr;
15
- get p2tr(): Address;
14
+ get p2tr(): string;
16
15
  private _p2wpkh;
17
- get p2wpkh(): Address;
16
+ get p2wpkh(): string;
18
17
  private _addresses;
19
- get addresses(): Address[];
18
+ get addresses(): string[];
20
19
  private _publicKey;
21
20
  get publicKey(): Buffer;
22
21
  _network: Network | undefined;
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Web3Provider } from '../Web3Provider.js';
3
2
  export declare enum UnisatNetwork {
4
3
  testnet = "testnet",
@@ -37,7 +36,7 @@ export interface ToSignInputPublicKey extends ToSignInputBase {
37
36
  readonly publicKey: string;
38
37
  }
39
38
  export interface ToSignInputAddress extends ToSignInputBase {
40
- readonly address: Address;
39
+ readonly address: string;
41
40
  }
42
41
  export type ToSignInput = ToSignInputPublicKey | ToSignInputAddress;
43
42
  export interface PsbtSignatureOptions {
@@ -46,7 +45,7 @@ export interface PsbtSignatureOptions {
46
45
  }
47
46
  export interface Unisat {
48
47
  web3?: Web3Provider;
49
- sendBitcoin(toAddress: Address, satoshis: number, options: {
48
+ sendBitcoin(toAddress: string, satoshis: number, options: {
50
49
  feeRate: number;
51
50
  memo?: string;
52
51
  memos?: string[];
@@ -1,17 +1,16 @@
1
1
  import { TransactionType } from '../enums/TransactionType.js';
2
2
  import { TapLeafScript } from '../interfaces/Tap.js';
3
3
  import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
4
- import { Address } from '@btc-vision/bsi-binary';
5
4
  import { Payment, Psbt, Stack } from 'bitcoinjs-lib';
6
5
  import { TransactionBuilder } from './TransactionBuilder.js';
7
6
  export interface ICustomTransactionParameters extends SharedInteractionParameters {
8
7
  readonly script: (Buffer | Stack)[];
9
8
  readonly witnesses: Buffer[];
10
- readonly to: Address;
9
+ readonly to: string;
11
10
  }
12
11
  export declare class CustomScriptTransaction extends TransactionBuilder<TransactionType.CUSTOM_CODE> {
13
12
  type: TransactionType.CUSTOM_CODE;
14
- protected readonly _scriptAddress: Address;
13
+ protected readonly _scriptAddress: string;
15
14
  protected tapLeafScript: TapLeafScript | null;
16
15
  private targetScriptRedeem;
17
16
  private leftOverFundsScriptRedeem;
@@ -23,8 +22,8 @@ export declare class CustomScriptTransaction extends TransactionBuilder<Transact
23
22
  private readonly randomBytes;
24
23
  private readonly witnesses;
25
24
  constructor(parameters: ICustomTransactionParameters);
26
- get scriptAddress(): Address;
27
- get p2trAddress(): Address;
25
+ get scriptAddress(): string;
26
+ get p2trAddress(): string;
28
27
  getRndBytes(): Buffer;
29
28
  protected contractSignerXOnlyPubKey(): Buffer;
30
29
  protected buildTransaction(): Promise<void>;
@@ -3,7 +3,7 @@ import { IDeploymentParameters } from '../interfaces/ITransactionParameters.js';
3
3
  import { Payment, Psbt } from 'bitcoinjs-lib';
4
4
  import { TransactionBuilder } from './TransactionBuilder.js';
5
5
  import { TapLeafScript } from '../interfaces/Tap.js';
6
- import { Address } from '@btc-vision/bsi-binary';
6
+ import { Address } from '../../keypair/Address.js';
7
7
  export declare class DeploymentTransaction extends TransactionBuilder<TransactionType.DEPLOYMENT> {
8
8
  static readonly MAXIMUM_CONTRACT_SIZE: number;
9
9
  type: TransactionType.DEPLOYMENT;
@@ -18,10 +18,12 @@ export declare class DeploymentTransaction extends TransactionBuilder<Transactio
18
18
  private readonly bytecode;
19
19
  private readonly calldata?;
20
20
  private readonly contractSigner;
21
+ private readonly _contractPubKey;
21
22
  private readonly randomBytes;
22
23
  constructor(parameters: IDeploymentParameters);
24
+ get contractPubKey(): string;
23
25
  get contractAddress(): Address;
24
- get p2trAddress(): Address;
26
+ get p2trAddress(): string;
25
27
  getRndBytes(): Buffer;
26
28
  protected contractSignerXOnlyPubKey(): Buffer;
27
29
  protected buildTransaction(): Promise<void>;
@@ -4,7 +4,6 @@ import { Taptree } from 'bitcoinjs-lib/src/types.js';
4
4
  import { TransactionBuilder } from './TransactionBuilder.js';
5
5
  import { TransactionType } from '../enums/TransactionType.js';
6
6
  import { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
7
- import { Address } from '@btc-vision/bsi-binary';
8
7
  import { ECPairInterface } from 'ecpair';
9
8
  export interface MultiSignParameters extends Omit<ITransactionParameters, 'priorityFee' | 'signer'> {
10
9
  readonly pubkeys: Buffer[];
@@ -12,9 +11,9 @@ export interface MultiSignParameters extends Omit<ITransactionParameters, 'prior
12
11
  readonly from?: undefined;
13
12
  readonly to?: undefined;
14
13
  readonly psbt?: Psbt;
15
- readonly receiver: Address;
14
+ readonly receiver: string;
16
15
  readonly requestedAmount: bigint;
17
- readonly refundVault: Address;
16
+ readonly refundVault: string;
18
17
  }
19
18
  export interface MultiSignFromBase64Params extends Omit<MultiSignParameters, 'psbt'> {
20
19
  readonly psbt: string;
@@ -32,8 +31,8 @@ export declare class MultiSignTransaction extends TransactionBuilder<Transaction
32
31
  protected readonly minimumSignatures: number;
33
32
  protected readonly originalInputCount: number;
34
33
  protected readonly requestedAmount: bigint;
35
- protected readonly receiver: Address;
36
- protected readonly refundVault: Address;
34
+ protected readonly receiver: string;
35
+ protected readonly refundVault: string;
37
36
  protected readonly sighashTypes: number[];
38
37
  constructor(parameters: MultiSignParameters);
39
38
  static fromBase64(params: MultiSignFromBase64Params): MultiSignTransaction;
@@ -2,7 +2,6 @@ import { Network, Psbt, Signer, Transaction } from 'bitcoinjs-lib';
2
2
  import { PsbtInputExtended, PsbtOutputExtended, UpdateInput } from '../interfaces/Tap.js';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
4
  import { IFundingTransactionParameters, ITransactionParameters } from '../interfaces/ITransactionParameters.js';
5
- import { Address } from '@btc-vision/bsi-binary';
6
5
  import { UTXO } from '../../utxo/interfaces/IUTXO.js';
7
6
  import { ECPairInterface } from 'ecpair';
8
7
  import { TweakedTransaction } from '../shared/TweakedTransaction.js';
@@ -25,15 +24,15 @@ export declare abstract class TransactionBuilder<T extends TransactionType> exte
25
24
  protected readonly feeRate: number;
26
25
  protected priorityFee: bigint;
27
26
  protected utxos: UTXO[];
28
- protected to: Address | undefined;
29
- protected from: Address;
27
+ protected to: string | undefined;
28
+ protected from: string;
30
29
  protected _maximumFeeRate: number;
31
30
  protected isPubKeyDestination: boolean;
32
31
  protected constructor(parameters: ITransactionParameters);
33
- static getFrom(from: string | undefined, keypair: ECPairInterface | Signer, network: Network): Address;
32
+ static getFrom(from: string | undefined, keypair: ECPairInterface | Signer, network: Network): string;
34
33
  static witnessStackToScriptWitness(witness: Buffer[]): Buffer;
35
34
  getFundingTransactionParameters(): Promise<IFundingTransactionParameters>;
36
- setDestinationAddress(address: Address): void;
35
+ setDestinationAddress(address: string): void;
37
36
  setMaximumFeeRate(feeRate: number): void;
38
37
  signTransaction(): Promise<Transaction>;
39
38
  generateTransactionMinimalSignatures(checkPartialSigs?: boolean): Promise<void>;
@@ -41,7 +40,7 @@ export declare abstract class TransactionBuilder<T extends TransactionType> exte
41
40
  addInput(input: PsbtInputExtended): void;
42
41
  addOutput(output: PsbtOutputExtended): void;
43
42
  toAddress(): string | undefined;
44
- address(): Address | undefined;
43
+ address(): string | undefined;
45
44
  estimateTransactionFees(): Promise<bigint>;
46
45
  rebuildFromBase64(base64: string): Promise<Psbt>;
47
46
  setPSBT(psbt: Psbt): void;
@@ -3,12 +3,12 @@ import { TransactionType } from '../enums/TransactionType.js';
3
3
  import { TapLeafScript } from '../interfaces/Tap.js';
4
4
  import { IWrapParameters } from '../interfaces/ITransactionParameters.js';
5
5
  import { SharedInteractionTransaction } from './SharedInteractionTransaction.js';
6
- import { Address } from '@btc-vision/bsi-binary';
7
6
  import { WrappedGeneration } from '../../wbtc/WrappedGenerationParameters.js';
7
+ import { Address } from '../../keypair/Address.js';
8
8
  export declare class WrapTransaction extends SharedInteractionTransaction<TransactionType.WBTC_WRAP> {
9
9
  private static readonly WRAP_SELECTOR;
10
10
  type: TransactionType.WBTC_WRAP;
11
- readonly vault: Address;
11
+ readonly vault: string;
12
12
  readonly amount: bigint;
13
13
  readonly receiver: Address;
14
14
  protected readonly compiledTargetScript: Buffer;
@@ -1,13 +1,13 @@
1
1
  import { UTXO } from '../../utxo/interfaces/IUTXO.js';
2
- import { Address } from '@btc-vision/bsi-binary';
3
2
  import { WrappedGeneration } from '../../wbtc/WrappedGenerationParameters.js';
4
3
  import { ITweakedTransactionData } from '../shared/TweakedTransaction.js';
5
4
  import { VaultUTXOs } from '../processor/PsbtTransaction.js';
6
5
  import { ChainId } from '../../network/ChainId.js';
7
6
  import { PsbtOutputExtended } from './Tap.js';
7
+ import { Address } from '../../keypair/Address.js';
8
8
  export interface ITransactionParameters extends ITweakedTransactionData {
9
- readonly from?: Address;
10
- readonly to?: Address;
9
+ readonly from?: string;
10
+ readonly to?: string;
11
11
  utxos: UTXO[];
12
12
  nonWitnessUtxo?: Buffer;
13
13
  estimatedFees?: bigint;
@@ -27,11 +27,11 @@ export interface SharedInteractionParameters extends ITransactionParameters {
27
27
  }
28
28
  export interface IInteractionParameters extends Omit<SharedInteractionParameters, 'optionalOutputs'> {
29
29
  readonly calldata: Buffer;
30
- readonly to: Address;
30
+ readonly to: string;
31
31
  }
32
32
  export interface IWrapParameters extends Omit<SharedInteractionParameters, 'optionalOutputs'> {
33
- readonly to?: Address;
34
- readonly from: Address;
33
+ readonly to?: string;
34
+ readonly from: string;
35
35
  readonly amount: bigint;
36
36
  readonly receiver?: Address;
37
37
  readonly generationParameters: WrappedGeneration;
@@ -1,4 +1,3 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Network, Psbt, Signer, Transaction } from 'bitcoinjs-lib';
3
2
  import { PsbtInputExtended, PsbtOutputExtended } from '../interfaces/Tap.js';
4
3
  import { ITweakedTransactionData, TweakedTransaction } from '../shared/TweakedTransaction.js';
@@ -8,7 +7,7 @@ export interface PsbtTransactionData extends ITweakedTransactionData {
8
7
  readonly network: Network;
9
8
  }
10
9
  export interface IWBTCUTXODocument {
11
- readonly vault: Address;
10
+ readonly vault: string;
12
11
  readonly blockId: bigint;
13
12
  readonly hash: string;
14
13
  readonly value: bigint;
@@ -16,8 +15,8 @@ export interface IWBTCUTXODocument {
16
15
  readonly output: string;
17
16
  }
18
17
  export interface VaultUTXOs {
19
- readonly vault: Address;
20
- readonly publicKeys: Address[];
18
+ readonly vault: string;
19
+ readonly publicKeys: string[];
21
20
  readonly minimum: number;
22
21
  readonly utxos: IWBTCUTXODocument[];
23
22
  }
@@ -1,5 +1,4 @@
1
1
  import { Network } from 'bitcoinjs-lib';
2
- import { Address } from '@btc-vision/bsi-binary';
3
2
  export declare class P2TR_MS {
4
- static generateMultiSigAddress(pubKeys: Buffer[], minimumSignatureRequired: number, network?: Network): Address;
3
+ static generateMultiSigAddress(pubKeys: Buffer[], minimumSignatureRequired: number, network?: Network): string;
5
4
  }
@@ -0,0 +1,11 @@
1
+ import { MemorySlotPointer } from './types.js';
2
+ export declare class BufferHelper {
3
+ static readonly EXPECTED_BUFFER_LENGTH: number;
4
+ static bufferToUint8Array(buffer: Buffer | Uint8Array): Uint8Array;
5
+ static uint8ArrayToHex(input: Uint8Array): string;
6
+ static hexToUint8Array(input: string): Uint8Array;
7
+ static pointerToUint8Array(pointer: MemorySlotPointer): Uint8Array;
8
+ static uint8ArrayToPointer(input: Uint8Array): MemorySlotPointer;
9
+ static valueToUint8Array(value: bigint): Uint8Array;
10
+ static uint8ArrayToValue(input: Uint8Array): bigint;
11
+ }
@@ -0,0 +1,12 @@
1
+ import { DeterministicMap } from '../deterministic/DeterministicMap.js';
2
+ export declare const ADDRESS_BYTE_LENGTH: number;
3
+ export type MemorySlotPointer = bigint;
4
+ export type BufferLike = Uint8Array | Buffer;
5
+ export type MemorySlotData<T> = T;
6
+ export type PointerStorage = DeterministicMap<MemorySlotPointer, MemorySlotData<bigint>>;
7
+ export type i32 = number;
8
+ export type u8 = number;
9
+ export type u16 = number;
10
+ export type u32 = number;
11
+ export type u64 = bigint;
12
+ export type Selector = number;
@@ -1,6 +1,5 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
1
  import { Network } from 'bitcoinjs-lib';
3
- import { Wallet } from '../opnet.js';
2
+ import { Address, Wallet } from '../opnet.js';
4
3
  import { UnwrapGeneration } from '../wbtc/UnwrapGeneration.js';
5
4
  import { WrappedGeneration } from '../wbtc/WrappedGenerationParameters.js';
6
5
  import { BroadcastResponse } from './interfaces/BroadcastResponse.js';
@@ -1 +1 @@
1
- export declare const version = "1.0.113";
1
+ export declare const version = "1.0.114";
package/build/_version.js CHANGED
@@ -1 +1 @@
1
- export const version = '1.0.113';
1
+ export 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
+ }