UNPKG

@harmoniclabs/plu-ts-onchain

Version:

An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript

47 lines (46 loc) 1.67 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"; import { IRRecursive } from "./IRRecursive.js"; export interface IRSelfCallMetadata extends BaseIRMetadata { } export declare class IRSelfCall implements Cloneable<IRSelfCall>, 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 `plet` * are skipping some DeBruijin levels that are instead present * in the final UPLC **/ get dbn(): number; set dbn(newDbn: number); static get kind(): IRNodeKind.SelfCall; get kind(): IRNodeKind.SelfCall; static get tag(): Uint8Array; readonly meta: IRSelfCallMetadata; private _definition; get definition(): IRRecursive; set definition(newDefinition: IRRecursive | undefined); private _parent; get parent(): IRParentTerm | undefined; set parent(newParent: IRParentTerm | undefined); private _findDefinition; constructor(DeBruijn: number | bigint); clone(): IRSelfCall; toJSON(): any; toJson(): any; }