UNPKG

@ton/core

Version:

Core TypeScript library that implements low level primitives for TON blockchain.

68 lines (67 loc) 1.52 kB
/** * Copyright (c) Whales Corp. * All Rights Reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { Maybe } from "../utils/maybe"; export type ABIError = { message: string; }; export type ABITypeRef = { kind: "simple"; type: string; optional?: Maybe<boolean>; format?: Maybe<string | number | boolean>; } | { kind: "dict"; format?: Maybe<string | number | boolean>; key: string; keyFormat?: Maybe<string | number | boolean>; value: string; valueFormat?: Maybe<string | number | boolean>; }; export type ABIField = { name: string; type: ABITypeRef; }; export type ABIType = { name: string; header?: Maybe<number>; fields: ABIField[]; }; export type ABIArgument = { name: string; type: ABITypeRef; }; export type ABIGetter = { name: string; methodId?: Maybe<number>; arguments?: Maybe<ABIArgument[]>; returnType?: Maybe<ABITypeRef>; }; export type ABIReceiverMessage = { kind: "typed"; type: string; } | { kind: "any"; } | { kind: "empty"; } | { kind: "text"; text?: Maybe<string>; }; export type ABIReceiver = { receiver: "internal" | "external"; message: ABIReceiverMessage; }; export type ContractABI = { name?: Maybe<string>; types?: Maybe<ABIType[]>; errors?: Maybe<{ [key: number]: ABIError; }>; getters?: Maybe<ABIGetter[]>; receivers?: Maybe<ABIReceiver[]>; };