@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
42 lines (41 loc) • 1.45 kB
TypeScript
import { Cloneable } from "@harmoniclabs/cbor/dist/utils/Cloneable";
import { ToJson } from "../../utils/ToJson.js";
import { IHash } from "../interfaces/IHash.js";
import { IIRParent } from "../interfaces/IIRParent.js";
import { IRParentTerm } from "../utils/isIRParentTerm.js";
import { BaseIRMetadata } from "./BaseIRMetadata.js";
import { IRHash } from "../IRHash.js";
import { IRNodeKind } from "../IRNodeKind.js";
export interface IRVarMetadata extends BaseIRMetadata {
}
export declare class IRVar implements Cloneable<IRVar>, IHash, IIRParent, ToJson {
private _hash;
get hash(): IRHash;
/**
* called inside the dbn setter
*/
markHashAsInvalid(): void;
isHashPresent(): true;
private _dbn;
/**
* the IR DeBruijn index is not necessarly the same of the UPLC
* ( more ofthen than not it won't be the same )
*
* this is because in the IR things like `IRLetted` and `IRHoisted`
* are skipping some DeBruijin levels that are instead present
* in the final UPLC
**/
get dbn(): number;
set dbn(newDbn: number);
static get kind(): IRNodeKind.Var;
get kind(): IRNodeKind.Var;
static get tag(): Uint8Array;
readonly meta: IRVarMetadata;
private _parent;
get parent(): IRParentTerm | undefined;
set parent(newParent: IRParentTerm | undefined);
constructor(DeBruijn: number | bigint);
clone(): IRVar;
toJSON(): any;
toJson(): any;
}