/** * 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; format?: Maybe; } | { kind: 'dict'; format?: Maybe; key: string; keyFormat?: Maybe; value: string; valueFormat?: Maybe; }; export type ABIField = { name: string; type: ABITypeRef; }; export type ABIType = { name: string; header?: Maybe; fields: ABIField[]; }; export type ABIArgument = { name: string; type: ABITypeRef; }; export type ABIGetter = { name: string; methodId?: Maybe; arguments?: Maybe; returnType?: Maybe; }; export type ABIReceiverMessage = { kind: 'typed'; type: string; } | { kind: 'any'; } | { kind: 'empty'; } | { kind: 'text'; text?: Maybe; }; export type ABIReceiver = { receiver: 'internal' | 'external'; message: ABIReceiverMessage; }; export type ContractABI = { name?: Maybe; types?: Maybe; errors?: Maybe<{ [key: number]: ABIError; }>; getters?: Maybe; receivers?: Maybe; };