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