import { Sha256 } from '../../crypto/crypto'; import { TransactionContextCommon } from '../../transaction/transaction-types'; import { AuthenticationProgramStateBCH } from '../../vm/instruction-sets/instruction-sets'; import { AnyCompilationEnvironment, CompilationData, CompilationEnvironment, CompilerOperationResult } from '../compiler-types'; import { AuthenticationTemplate } from '../template-types'; export declare type CompilerOperationsKeyBCH = 'data_signature' | 'public_key' | 'schnorr_data_signature' | 'schnorr_signature' | 'signature'; export declare enum SigningSerializationAlgorithmIdentifier { /** * A.K.A. `SIGHASH_ALL` */ allOutputs = "all_outputs", /** * A.K.A. `SIGHASH_ALL|ANYONE_CAN_PAY` */ allOutputsSingleInput = "all_outputs_single_input", /** * A.K.A. `SIGHASH_SINGLE` */ correspondingOutput = "corresponding_output", /** * A.K.A. `SIGHASH_SINGLE|ANYONE_CAN_PAY` */ correspondingOutputSingleInput = "corresponding_output_single_input", /** * A.K.A `SIGHASH_NONE` */ noOutputs = "no_outputs", /** * A.K.A `SIGHASH_NONE|ANYONE_CAN_PAY` */ noOutputsSingleInput = "no_outputs_single_input" } export declare const compilerOperationHelperComputeSignatureBCH: ({ coveredBytecode, identifier, transactionContext, operationName, privateKey, sha256, sign, }: { coveredBytecode: Uint8Array; identifier: string; privateKey: Uint8Array; transactionContext: TransactionContextCommon; operationName: string; sign: (privateKey: Uint8Array, messageHash: Uint8Array) => Uint8Array; sha256: { hash: Sha256['hash']; }; }) => CompilerOperationResult; export declare const compilerOperationHelperHdKeySignatureBCH: ({ operationName, secp256k1Method, }: { operationName: string; secp256k1Method: keyof NonNullable; }) => import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHdKeyEcdsaSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHdKeySchnorrSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHelperKeySignatureBCH: ({ operationName, secp256k1Method, }: { operationName: string; secp256k1Method: keyof NonNullable; }) => import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationKeyEcdsaSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationKeySchnorrSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHelperComputeDataSignatureBCH: , Environment extends AnyCompilationEnvironment>({ data, environment, identifier, operationName, privateKey, sha256, sign, }: { data: Data; environment: Environment; identifier: string; privateKey: Uint8Array; operationName: string; sign: (privateKey: Uint8Array, messageHash: Uint8Array) => Uint8Array; sha256: { hash: Sha256['hash']; }; }) => CompilerOperationResult; export declare const compilerOperationHelperKeyDataSignatureBCH: ({ operationName, secp256k1Method, }: { operationName: string; secp256k1Method: keyof NonNullable; }) => import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationKeyEcdsaDataSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationKeySchnorrDataSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHelperHdKeyDataSignatureBCH: ({ operationName, secp256k1Method, }: { operationName: string; secp256k1Method: keyof NonNullable; }) => import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHdKeyEcdsaDataSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationHdKeySchnorrDataSignatureBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationSigningSerializationFullBCH: import("../compiler-types").CompilerOperation, CompilationEnvironment>; export declare const compilerOperationsBCH: { hdKey: { data_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; public_key: import("../compiler-types").CompilerOperation, CompilationEnvironment>; schnorr_data_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; schnorr_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; }; key: { data_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; public_key: import("../compiler-types").CompilerOperation, CompilationEnvironment>; schnorr_data_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; schnorr_signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; signature: import("../compiler-types").CompilerOperation, CompilationEnvironment>; }; signingSerialization: { full_all_outputs: import("../compiler-types").CompilerOperation, CompilationEnvironment>; full_all_outputs_single_input: import("../compiler-types").CompilerOperation, CompilationEnvironment>; full_corresponding_output: import("../compiler-types").CompilerOperation, CompilationEnvironment>; full_corresponding_output_single_input: import("../compiler-types").CompilerOperation, CompilationEnvironment>; full_no_outputs: import("../compiler-types").CompilerOperation, CompilationEnvironment>; full_no_outputs_single_input: import("../compiler-types").CompilerOperation, CompilationEnvironment>; corresponding_output: import("../compiler-types").CompilerOperation, CompilationEnvironment>; corresponding_output_hash: import("../compiler-types").CompilerOperation, CompilationEnvironment>; covered_bytecode: import("../compiler-types").CompilerOperation, CompilationEnvironment>; covered_bytecode_length: import("../compiler-types").CompilerOperation, CompilationEnvironment>; locktime: import("../compiler-types").CompilerOperation, CompilationEnvironment>; outpoint_index: import("../compiler-types").CompilerOperation, CompilationEnvironment>; outpoint_transaction_hash: import("../compiler-types").CompilerOperation, CompilationEnvironment>; output_value: import("../compiler-types").CompilerOperation, CompilationEnvironment>; sequence_number: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_outpoints: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_outpoints_hash: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_outputs: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_outputs_hash: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_sequence_numbers: import("../compiler-types").CompilerOperation, CompilationEnvironment>; transaction_sequence_numbers_hash: import("../compiler-types").CompilerOperation, CompilationEnvironment>; version: import("../compiler-types").CompilerOperation, CompilationEnvironment>; }; addressData: import("../compiler-types").CompilerOperation, CompilationEnvironment>; currentBlockHeight: import("../compiler-types").CompilerOperation, CompilationEnvironment>; currentBlockTime: import("../compiler-types").CompilerOperation, CompilationEnvironment>; walletData: import("../compiler-types").CompilerOperation, CompilationEnvironment>; }; export declare type TransactionContextBCH = TransactionContextCommon; export declare type CompilationEnvironmentBCH = CompilationEnvironment; /** * Create a compiler using the default BCH environment. * * Internally instantiates the necessary crypto and VM implementations – use * `createCompiler` for more control. * * @param scriptsAndOverrides - a compilation environment from which properties * will be used to override properties of the default BCH environment – must * include the `scripts` property */ export declare const createCompilerBCH: , ProgramState extends AuthenticationProgramStateBCH>(scriptsAndOverrides: Environment) => Promise>; /** * Create a BCH `Compiler` from an `AuthenticationTemplate` and an optional set * of overrides. * @param template - the `AuthenticationTemplate` from which to create the BCH * compiler * @param overrides - a compilation environment from which properties will be * used to override properties of the default BCH environment */ export declare const authenticationTemplateToCompilerBCH: , ProgramState extends AuthenticationProgramStateBCH>(template: AuthenticationTemplate, overrides?: CompilationEnvironment | undefined) => Promise>; //# sourceMappingURL=compiler-bch.d.ts.map