@helios-lang/compiler
Version:
Helios is a Domain Specific Language that compiles to Plutus-Core (i.e. Cardano on-chain validator scripts). Helios is a non-Haskell alternative to Plutus. With this library you can compile Helios scripts and build Cardano transactions, all you need to bu
187 lines • 4.74 kB
TypeScript
/**
* @returns {NamedNamespace}
*/
export function Cip67Namespace(): NamedNamespace;
/**
* @param {MultiValidatorInfo} info
* @returns {NamedNamespace}
*/
export function ScriptContextNamespace(info: MultiValidatorInfo): NamedNamespace;
/**
* @typedef {import("@helios-lang/compiler-utils").Site} Site
* @typedef {import("./common.js").InferenceMap} InferenceMap
* @typedef {import("./common.js").DataType} DataType
* @typedef {import("./common.js").EnumMemberType} EnumMemberType
* @typedef {import("./common.js").Named} Named
* @typedef {import("./common.js").Type} Type
* @typedef {import("./common.js").Typed} Typed
* @typedef {import("./common.js").InstanceMembers} InstanceMembers
* @typedef {import("./common.js").TypeMembers} TypeMembers
* @typedef {import("./common.js").TypeSchema} TypeSchema
*/
/**
* Buitin Address type
* @type {DataType}
*/
export const AddressType: DataType;
/**
* @type {DataType}
*/
export const DCertType: DataType;
/**
* Builtin Credential type
* @type {DataType}
*/
export const SpendingCredentialType: DataType;
/**
* @type {DataType}
*/
export const TxOutputDatumType: DataType;
/**
* Base class for ScriptContext, ContractContext, Scripts and other "macro"-types
*/
export class MacroType extends Common {
/**
* @type {string[]}
*/
get fieldNames(): string[];
/**
* @type {InstanceMembers}
*/
get instanceMembers(): import("./common.js").InstanceMembers;
/**
* @type {string}
*/
get name(): string;
/**
* @type {string}
*/
get path(): string;
/**
* @type {TypeMembers}
*/
get typeMembers(): import("./common.js").TypeMembers;
/**
* @type {DataType}
*/
get asDataType(): import("./common.js").DataType;
/**
* @type {Named}
*/
get asNamed(): import("./common.js").Named;
/**
* @type {Type}
*/
get asType(): import("./common.js").Type;
/**
* @param {Set<string>} parents
* @returns {TypeSchema}
*/
toSchema(parents?: Set<string>): TypeSchema;
/**
* @param {Site} site
* @param {InferenceMap} map
* @param {null | Type} type
* @returns {Type}
*/
infer(site: Site, map: InferenceMap, type: null | Type): Type;
/**
* @param {Type} other
* @returns {boolean}
*/
isBaseOf(other: Type): boolean;
/**
* @returns {Typed}
*/
toTyped(): Typed;
}
/**
* @typedef {{[name: string]: ScriptHashType}} ScriptTypes
*/
/**
* @typedef {{
* currentScript: string
* scriptTypes?: ScriptTypes
* }} MultiValidatorInfo
*/
/**
* @implements {DataType}
*/
export class ScriptsType extends MacroType implements DataType {
/**
* @param {ScriptTypes} scripts
*/
constructor(scripts: ScriptTypes);
/**
* @private
* @readonly
* @type {{[name: string]: Typed}}
*/
private readonly _scripts;
/**
* @returns {boolean}
*/
isEmpty(): boolean;
}
/**
* Builtin ScriptPurpose type (Minting| Spending| Rewarding | Certifying)
* @type {DataType}
*/
export const ScriptPurposeType: DataType;
/**
* Builtin StakingCredential type
* @type {DataType}
*/
export const StakingCredentialType: DataType;
/**
* Builtin StakingPurpose type (Rewarding or Certifying)
* @type {DataType}
*/
export const StakingPurposeType: DataType;
/**
* Builtin Tx type
* @type {DataType}
*/
export const TxType: DataType;
/**
* Builtin TxId type
* @type {DataType}
*/
export const TxIdType: DataType;
/**
* Builtin TxInput type
* @type {DataType}
*/
export const TxInputType: DataType;
/**
* Builtin TxOutput type
* @type {DataType}
*/
export const TxOutputType: DataType;
/**
* Builtin TxOutputId type
* @type {DataType}
*/
export const TxOutputIdType: DataType;
export const MixedArgsType: any;
export type Site = import("@helios-lang/compiler-utils").Site;
export type InferenceMap = import("./common.js").InferenceMap;
export type DataType = import("./common.js").DataType;
export type EnumMemberType = import("./common.js").EnumMemberType;
export type Named = import("./common.js").Named;
export type Type = import("./common.js").Type;
export type Typed = import("./common.js").Typed;
export type InstanceMembers = import("./common.js").InstanceMembers;
export type TypeMembers = import("./common.js").TypeMembers;
export type TypeSchema = import("./common.js").TypeSchema;
export type ScriptTypes = {
[name: string]: ScriptHashType;
};
export type MultiValidatorInfo = {
currentScript: string;
scriptTypes?: ScriptTypes;
};
import { NamedNamespace } from "./common.js";
import { Common } from "./common.js";
import { ScriptHashType } from "./hashes.js";
//# sourceMappingURL=tx.d.ts.map