locklift
Version:
Node JS framework for working with Ever contracts. Inspired by Truffle and Hardhat. Helps you to build, test, run and maintain your smart contracts.
79 lines (78 loc) • 2.18 kB
TypeScript
import { Address, Contract, Transaction } from "everscale-inpage-provider";
import { Account } from "everscale-standalone-client";
import { ContractData } from "../internal/factory";
export type ValueOf<T> = T[keyof T];
export type ConstructorParams<Abi> = Parameters<constructorParams<Abi, Contract<Abi>["methods"]>>[0];
type constructorParams<Abi, T extends Contract<Abi>["methods"]> = {
[key in keyof T]: key extends "constructor" ? T[key] : never;
}[keyof T];
export type ContractWithArtifacts<Abi = any> = {
contract: Contract<Abi>;
name: string;
} & ContractData<Abi>;
export type Optional<T extends Record<string, unknown>, K extends keyof T> = Omit<T, K> & {
[key in K]?: T[K];
};
export type TransactionWithOutput = {
transaction: Transaction;
output?: Record<string, unknown> | undefined;
};
export type TransactionParameter = TransactionWithOutput | {
tx: TransactionWithOutput;
} | Transaction;
export type DeployTransaction = Extract<TransactionParameter, {
tx: TransactionWithOutput;
}>;
export type Transfer = {
recipient: Address;
value: string;
bounce?: boolean;
flags?: number;
payload?: string;
};
export declare enum WalletTypes {
/**
* WalletV3
*/
WalletV3 = 0,
/**
* HighLoadWalletV2
*/
HighLoadWalletV2 = 1,
/**
* Any account which supports Giver ABI (GiverV2, SafeMultisig, SetcodeMultisig, Surf):
*
* ```
* {
* "ABI version": 2,
* "header": ["pubkey", "time", "expire"],
* "functions": [{
* "name": "sendTransaction",
* "inputs": [
* {"name":"dest","type":"address"},
* {"name":"value","type":"uint128"},
* {"name":"bounce","type":"bool"},
* {"name":"flags","type":"uint8"},
* {"name":"payload","type":"cell"}
* ],
* "outputs": []
* }],
* "events": []
* }
* ```
*/
MsigAccount = 2,
/**
* EverWallet
*/
EverWallet = 3,
/**
* WalletV5R1
*/
WalletV5R1 = 4
}
export type CreateAccountOutput = {
account: Account;
tx: TransactionWithOutput;
};
export {};