@renproject/ren
Version:
Official Ren JavaScript SDK for bridging crypto assets cross-chain.
59 lines • 2.28 kB
TypeScript
import { RenVMProvider } from "@renproject/provider";
import { Chain, ChainTransactionProgress, InputType, OutputType, TxSubmitter, TxWaiter } from "@renproject/utils";
import { TransactionParams } from "./params";
import { RenVMCrossChainTxSubmitter } from "./renVMTxSubmitter";
import { defaultRenJSConfig, RenJSConfig } from "./utils/config";
/**
* A GatewayTransaction handles a specific bridging transaction through RenVM.
* It includes an input chain transaction that should have already been
* submitted, a RenVM transaction, and an output chain transaction.
* Additionally, there may be some setup transactions required to be submitted
* before the output transaction.
*/
export declare class GatewayTransaction<ToPayload extends {
chain: string;
txConfig?: any;
} = {
chain: string;
}> {
/** The parameters passed in when calling [[RenJS.lockAndMint]]. */
params: TransactionParams<ToPayload>;
/**
* `txHash` returns the RenVM transaction hash, which is distinct from the
* chain transaction hashes. It can be used to query the transaction details
* from RenVM once they've been submitted.
*
* The RenVM txHash is a URL-base64 string.
*
* ```ts
* tx.hash;
* // > "QNM87rNDuxx54H7VK7D_NAU0u_mjk09-G25IJZL1QrI"
* ```
*/
private _hash;
get hash(): string;
selector: string;
provider: RenVMProvider;
fromChain: Chain;
toChain: Chain;
nHash: Uint8Array;
pHash: Uint8Array;
gHash: Uint8Array;
_config: typeof defaultRenJSConfig & RenJSConfig;
in: TxSubmitter | TxWaiter;
renVM: RenVMCrossChainTxSubmitter;
outSetup: {
[key: string]: TxSubmitter | TxWaiter;
};
out: TxSubmitter<ChainTransactionProgress, ToPayload["txConfig"]> | TxWaiter;
private queryTxResult;
inputType: InputType | undefined;
outputType: OutputType | undefined;
/** @hidden */
constructor(renVM: RenVMProvider, fromChain: Chain, toChain: Chain, params: TransactionParams<ToPayload>, fromTxWaiter?: TxSubmitter<ChainTransactionProgress> | TxWaiter, config?: RenJSConfig);
/** @hidden */
initialize: () => Promise<this>;
/** PRIVATE METHODS */
private _defaultGetter;
}
//# sourceMappingURL=gatewayTransaction.d.ts.map