UNPKG

@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
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; }