UNPKG

@btc-vision/transaction

Version:

OPNet transaction library allows you to create and sign transactions for the OPNet network.

52 lines (51 loc) 2.2 kB
import { TransactionType } from '../enums/TransactionType.js'; import { IDeploymentParameters } from '../interfaces/ITransactionParameters.js'; import { P2TRPayment, Psbt } from '@btc-vision/bitcoin'; import { TransactionBuilder } from './TransactionBuilder.js'; import { TapLeafScript } from '../interfaces/Tap.js'; import { Address } from '../../keypair/Address.js'; import { ChallengeSolution } from '../../epoch/ChallengeSolution.js'; import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js'; export declare class DeploymentTransaction extends TransactionBuilder<TransactionType.DEPLOYMENT> { static readonly MAXIMUM_CONTRACT_SIZE: number; type: TransactionType.DEPLOYMENT; protected readonly challenge: ChallengeSolution; protected readonly epochChallenge: IP2WSHAddress; protected readonly _contractAddress: Address; protected tapLeafScript: TapLeafScript | null; private readonly deploymentVersion; private targetScriptRedeem; private leftOverFundsScriptRedeem; private readonly compiledTargetScript; private readonly scriptTree; private deploymentGenerator; private readonly contractSeed; private readonly bytecode; private readonly calldata?; private readonly contractSigner; private readonly _contractPubKey; private readonly randomBytes; private _computedAddress; constructor(parameters: IDeploymentParameters); get contractPubKey(): string; get contractAddress(): Address; get p2trAddress(): string; getRndBytes(): Buffer; getChallenge(): ChallengeSolution; getContractAddress(): string; protected contractSignerXOnlyPubKey(): Buffer; protected buildTransaction(): Promise<void>; protected signInputsWalletBased(transaction: Psbt): Promise<void>; protected signInputs(transaction: Psbt): Promise<void>; protected generateScriptAddress(): P2TRPayment; protected generateTapData(): P2TRPayment; private generateFeatures; private verifyCalldata; private verifyBytecode; private getContractSeed; private customFinalizer; private getPubKeys; private generateRedeemScripts; private getLeafScript; private getScriptTree; }