// Copyright 2017-2025 @pezkuwi/api-contract authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { ApiPromise } from '@pezkuwi/api'; import type { AccountId, AccountId20, Hash } from '@pezkuwi/types/interfaces'; import type { Abi } from '../Abi/index.js'; import { toPromiseMethod } from '@pezkuwi/api'; import { Blueprint, Code, Contract } from '../base/index.js'; export class BlueprintPromise extends Blueprint<'promise'> { constructor (api: ApiPromise, abi: string | Record | Abi, codeHash: string | Hash) { super(api, abi, codeHash, toPromiseMethod); } } export class CodePromise extends Code<'promise'> { constructor (api: ApiPromise, abi: string | Record | Abi, wasm: Uint8Array | string | Buffer | null | undefined) { super(api, abi, wasm, toPromiseMethod); } } export class ContractPromise extends Contract<'promise'> { constructor (api: ApiPromise, abi: string | Record | Abi, address: string | AccountId | AccountId20) { super(api, abi, address, toPromiseMethod); } }