@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
34 lines (33 loc) • 1.26 kB
TypeScript
import { Cloneable } from "@harmoniclabs/cbor/dist/utils/Cloneable";
import { ToJson } from "../../utils/ToJson.js";
import { IRTerm } from "../IRTerm.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 IRFuncMetadata extends BaseIRMetadata {
}
export declare class IRFunc implements Cloneable<IRFunc>, IHash, IIRParent, ToJson {
readonly arity: number;
constructor(arity: number, body: IRTerm, func_name?: string | undefined, _unsafeHash?: IRHash);
static get kind(): IRNodeKind.Func;
get kind(): IRNodeKind.Func;
static get tag(): Uint8Array;
private _body;
get body(): IRTerm;
set body(newBody: IRTerm);
private _hash;
get hash(): IRHash;
isHashPresent(): boolean;
markHashAsInvalid(): void;
readonly meta: IRFuncMetadata;
get name(): string | undefined;
private _parent;
get parent(): IRParentTerm | undefined;
set parent(newParent: IRTerm | undefined);
clone(): IRFunc;
toJSON(): any;
toJson(): any;
}