diff --git a/packages/client/package.json b/packages/client/package.json index 4ca60089..7969e816 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -9,7 +9,8 @@ "scripts": { "test": "mocha -r ts-node/register \"tests/**/*.spec.ts\"", "docs": "typedoc", - "build": "tsc" + "build": "tsc", + "gen-client": "node ./scripts/generate-client.js" }, "dependencies": { "@types/node": "18.16.0", @@ -20,4 +21,4 @@ "file-type": "16.5.4", "long": "5.2.3" } -} \ No newline at end of file +} diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index f9d97709..58f7daaa 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -3,16 +3,18 @@ import { Readable } from 'stream' import { - AsyncLock, BaseTelegramClient, BaseTelegramClientOptions, - Deque, MaybeArray, MaybeAsync, - SortedLinkedList, } from '@mtcute/core' -import { ConditionVariable } from '@mtcute/core/src/utils/condition-variable' -import { Logger } from '@mtcute/core/src/utils/logger' +import { + AsyncLock, + ConditionVariable, + Deque, + Logger, + SortedLinkedList, +} from '@mtcute/core/utils' import { tdFileId } from '@mtcute/file-id' import { tl } from '@mtcute/tl' diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 45832ba8..c7680031 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -5,7 +5,6 @@ export * from './utils/peer-utils' export { createDummyUpdate } from './utils/updates-utils' export { assertNever, - defaultDcs, JsonFileStorage, LocalstorageStorage, MemoryStorage, diff --git a/packages/client/src/methods/_imports.ts b/packages/client/src/methods/_imports.ts index 0b2abc89..d885368b 100644 --- a/packages/client/src/methods/_imports.ts +++ b/packages/client/src/methods/_imports.ts @@ -2,9 +2,15 @@ import { Readable } from 'stream' // @copy -import { AsyncLock, MaybeArray, MaybeAsync } from '@mtcute/core' +import { MaybeArray, MaybeAsync } from '@mtcute/core' // @copy -import { Logger } from '@mtcute/core/src/utils/logger' +import { + AsyncLock, + ConditionVariable, + Deque, + Logger, + SortedLinkedList, +} from '@mtcute/core/utils' // @copy import { tdFileId } from '@mtcute/file-id' diff --git a/packages/client/src/methods/auth/check-password.ts b/packages/client/src/methods/auth/check-password.ts index 4c0aeb1a..e382dd0c 100644 --- a/packages/client/src/methods/auth/check-password.ts +++ b/packages/client/src/methods/auth/check-password.ts @@ -1,4 +1,4 @@ -import { computeSrpParams } from '@mtcute/core' +import { computeSrpParams } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { User } from '../../types' diff --git a/packages/client/src/methods/bots/get-callback-answer.ts b/packages/client/src/methods/bots/get-callback-answer.ts index c131494d..d2a00ae0 100644 --- a/packages/client/src/methods/bots/get-callback-answer.ts +++ b/packages/client/src/methods/bots/get-callback-answer.ts @@ -1,4 +1,4 @@ -import { computeSrpParams } from '@mtcute/core' +import { computeSrpParams } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/chats/kick-chat-member.ts b/packages/client/src/methods/chats/kick-chat-member.ts index 5439779f..9d2b8574 100644 --- a/packages/client/src/methods/chats/kick-chat-member.ts +++ b/packages/client/src/methods/chats/kick-chat-member.ts @@ -1,4 +1,4 @@ -import { sleep } from '@mtcute/core' +import { sleep } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { InputPeerLike } from '../../types' diff --git a/packages/client/src/methods/files/download-iterable.ts b/packages/client/src/methods/files/download-iterable.ts index 00ffc88f..12e992f4 100644 --- a/packages/client/src/methods/files/download-iterable.ts +++ b/packages/client/src/methods/files/download-iterable.ts @@ -1,4 +1,5 @@ -import { ConditionVariable, ConnectionKind } from '@mtcute/core' +import { ConnectionKind } from '@mtcute/core' +import { ConditionVariable } from '@mtcute/core/utils' import { fileIdToInputFileLocation, fileIdToInputWebFileLocation, diff --git a/packages/client/src/methods/files/upload-file.ts b/packages/client/src/methods/files/upload-file.ts index da49f97d..d1ddc1f6 100644 --- a/packages/client/src/methods/files/upload-file.ts +++ b/packages/client/src/methods/files/upload-file.ts @@ -2,7 +2,7 @@ import { fromBuffer as fileTypeFromBuffer } from 'file-type' import type { ReadStream } from 'fs' import { Readable } from 'stream' -import { AsyncLock, randomLong } from '@mtcute/core' +import { AsyncLock, randomLong } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/messages/forward-messages.ts b/packages/client/src/methods/messages/forward-messages.ts index 3b19596a..b227485b 100644 --- a/packages/client/src/methods/messages/forward-messages.ts +++ b/packages/client/src/methods/messages/forward-messages.ts @@ -1,4 +1,5 @@ -import { MaybeArray, randomLong } from '@mtcute/core' +import { MaybeArray } from '@mtcute/core' +import { randomLong } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/messages/send-media-group.ts b/packages/client/src/methods/messages/send-media-group.ts index 43c065d6..db466410 100644 --- a/packages/client/src/methods/messages/send-media-group.ts +++ b/packages/client/src/methods/messages/send-media-group.ts @@ -1,4 +1,5 @@ -import { getMarkedPeerId, randomLong } from '@mtcute/core' +import { getMarkedPeerId } from '@mtcute/core' +import { randomLong } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/messages/send-media.ts b/packages/client/src/methods/messages/send-media.ts index 1e3d0beb..df947aca 100644 --- a/packages/client/src/methods/messages/send-media.ts +++ b/packages/client/src/methods/messages/send-media.ts @@ -1,4 +1,5 @@ -import { getMarkedPeerId, randomLong } from '@mtcute/core' +import { getMarkedPeerId } from '@mtcute/core' +import { randomLong } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/messages/send-text.ts b/packages/client/src/methods/messages/send-text.ts index 1ecfa787..8b988c45 100644 --- a/packages/client/src/methods/messages/send-text.ts +++ b/packages/client/src/methods/messages/send-text.ts @@ -1,4 +1,5 @@ -import { getMarkedPeerId, randomLong } from '@mtcute/core' +import { getMarkedPeerId } from '@mtcute/core' +import { randomLong } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/methods/messages/translate-message.ts b/packages/client/src/methods/messages/translate-message.ts index 994b9839..f3f9e366 100644 --- a/packages/client/src/methods/messages/translate-message.ts +++ b/packages/client/src/methods/messages/translate-message.ts @@ -1,4 +1,4 @@ -import { isPresent } from '@mtcute/core' +import { isPresent } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { InputPeerLike, MessageEntity } from '../../types' diff --git a/packages/client/src/methods/pasword/change-cloud-password.ts b/packages/client/src/methods/pasword/change-cloud-password.ts index 79b41b93..cbb18a91 100644 --- a/packages/client/src/methods/pasword/change-cloud-password.ts +++ b/packages/client/src/methods/pasword/change-cloud-password.ts @@ -1,4 +1,4 @@ -import { computeNewPasswordHash, computeSrpParams } from '@mtcute/core' +import { computeNewPasswordHash, computeSrpParams } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { MtArgumentError } from '../../types' @@ -20,7 +20,9 @@ export async function changeCloudPassword( ): Promise { const pwd = await this.call({ _: 'account.getPassword' }) - if (!pwd.hasPassword) { throw new MtArgumentError('Cloud password is not enabled') } + if (!pwd.hasPassword) { + throw new MtArgumentError('Cloud password is not enabled') + } const algo = pwd.newAlgo assertTypeIs( diff --git a/packages/client/src/methods/pasword/enable-cloud-password.ts b/packages/client/src/methods/pasword/enable-cloud-password.ts index 3fdfebec..79e84ebc 100644 --- a/packages/client/src/methods/pasword/enable-cloud-password.ts +++ b/packages/client/src/methods/pasword/enable-cloud-password.ts @@ -1,4 +1,4 @@ -import { computeNewPasswordHash } from '@mtcute/core' +import { computeNewPasswordHash } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { MtArgumentError } from '../../types' @@ -25,7 +25,9 @@ export async function enableCloudPassword( ): Promise { const pwd = await this.call({ _: 'account.getPassword' }) - if (pwd.hasPassword) { throw new MtArgumentError('Cloud password is already enabled') } + if (pwd.hasPassword) { + throw new MtArgumentError('Cloud password is already enabled') + } const algo = pwd.newAlgo assertTypeIs( diff --git a/packages/client/src/methods/pasword/remove-cloud-password.ts b/packages/client/src/methods/pasword/remove-cloud-password.ts index 707e2f84..350b50c3 100644 --- a/packages/client/src/methods/pasword/remove-cloud-password.ts +++ b/packages/client/src/methods/pasword/remove-cloud-password.ts @@ -1,4 +1,4 @@ -import { computeSrpParams } from '@mtcute/core' +import { computeSrpParams } from '@mtcute/core/utils' import { TelegramClient } from '../../client' import { MtArgumentError } from '../../types' @@ -15,7 +15,9 @@ export async function removeCloudPassword( ): Promise { const pwd = await this.call({ _: 'account.getPassword' }) - if (!pwd.hasPassword) { throw new MtArgumentError('Cloud password is not enabled') } + if (!pwd.hasPassword) { + throw new MtArgumentError('Cloud password is not enabled') + } const oldSrp = await computeSrpParams(this._crypto, pwd, password) diff --git a/packages/client/src/methods/updates.ts b/packages/client/src/methods/updates.ts index b4efd0ea..0ac9e48c 100644 --- a/packages/client/src/methods/updates.ts +++ b/packages/client/src/methods/updates.ts @@ -1,17 +1,16 @@ /* eslint-disable max-depth */ +import { assertNever } from '@mtcute/core' import { - assertNever, AsyncLock, + ConditionVariable, + Deque, getBarePeerId, getMarkedPeerId, Logger, markedPeerIdToBare, + SortedLinkedList, toggleChannelIdMark, -} from '@mtcute/core' -// @copy -import { Deque, SortedLinkedList } from '@mtcute/core' -// @copy -import { ConditionVariable } from '@mtcute/core/src/utils/condition-variable' +} from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../client' diff --git a/packages/client/src/types/conversation.ts b/packages/client/src/types/conversation.ts index e5faf11d..c730dd31 100644 --- a/packages/client/src/types/conversation.ts +++ b/packages/client/src/types/conversation.ts @@ -1,6 +1,11 @@ /* eslint-disable dot-notation */ -import { AsyncLock, Deque, getMarkedPeerId, MaybeAsync } from '@mtcute/core' -import { ControllablePromise, createControllablePromise } from '@mtcute/core' +import { getMarkedPeerId, MaybeAsync } from '@mtcute/core' +import { + AsyncLock, + ControllablePromise, + createControllablePromise, + Deque, +} from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../client' diff --git a/packages/client/src/types/misc/sticker-set.ts b/packages/client/src/types/misc/sticker-set.ts index 518421dd..61bf176e 100644 --- a/packages/client/src/types/misc/sticker-set.ts +++ b/packages/client/src/types/misc/sticker-set.ts @@ -1,4 +1,4 @@ -import { LongMap } from '@mtcute/core' +import { LongMap } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' import { TelegramClient } from '../../client' diff --git a/packages/client/src/types/updates/index.ts b/packages/client/src/types/updates/index.ts index 0e98edc0..f038ecf0 100644 --- a/packages/client/src/types/updates/index.ts +++ b/packages/client/src/types/updates/index.ts @@ -2,7 +2,7 @@ import { CallbackQuery, InlineQuery, Message } from '../..' import { BotChatJoinRequestUpdate } from './bot-chat-join-request' import { BotStoppedUpdate } from './bot-stopped' import { ChatJoinRequestUpdate } from './chat-join-request' -import { ChatMemberUpdate } from './chat-member-update' +import { ChatMemberUpdate, ChatMemberUpdateType } from './chat-member-update' import { ChosenInlineResult } from './chosen-inline-result' import { DeleteMessageUpdate } from './delete-message-update' import { HistoryReadUpdate } from './history-read-update' @@ -17,6 +17,7 @@ export { BotStoppedUpdate, ChatJoinRequestUpdate, ChatMemberUpdate, + ChatMemberUpdateType, ChosenInlineResult, DeleteMessageUpdate, HistoryReadUpdate, diff --git a/packages/client/src/utils/inline-utils.ts b/packages/client/src/utils/inline-utils.ts index 297d2f9b..b6f34b2c 100644 --- a/packages/client/src/utils/inline-utils.ts +++ b/packages/client/src/utils/inline-utils.ts @@ -1,10 +1,5 @@ -import { - assertNever, - encodeUrlSafeBase64, - parseUrlSafeBase64, - TlBinaryReader, - TlBinaryWriter, -} from '@mtcute/core' +import { assertNever, TlBinaryReader, TlBinaryWriter } from '@mtcute/core' +import { encodeUrlSafeBase64, parseUrlSafeBase64 } from '@mtcute/core/utils' import { tl } from '@mtcute/tl' /** diff --git a/packages/client/src/utils/rps-meter.ts b/packages/client/src/utils/rps-meter.ts index 51de6064..642f5e97 100644 --- a/packages/client/src/utils/rps-meter.ts +++ b/packages/client/src/utils/rps-meter.ts @@ -1,11 +1,13 @@ -import { Deque } from '@mtcute/core' +import { Deque } from '@mtcute/core/utils' export class RpsMeter { _hits: Deque time: bigint constructor(readonly size = 500, time = 5000) { - if (typeof process === 'undefined' || !process.hrtime.bigint) { throw new Error('RPS meter is not supported on this platform') } + if (typeof process === 'undefined' || !process.hrtime.bigint) { + throw new Error('RPS meter is not supported on this platform') + } this._hits = new Deque(size) this.time = BigInt(time) * BigInt(1e6) diff --git a/packages/core/package.json b/packages/core/package.json index 4332e848..ccee0c05 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -32,4 +32,4 @@ "exit-hook": "^4.0.0", "ws": "8.13.0" } -} \ No newline at end of file +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 48d60223..641b1493 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -2,7 +2,7 @@ export * from './base-client' export * from './network' export * from './storage' export * from './types' -export * from './utils' +export * from './utils/peer-utils' /** @hidden */ export * from '@mtcute/tl' diff --git a/packages/core/src/utils/crypto/index.ts b/packages/core/src/utils/crypto/index.ts index 4d8f1f53..4e8ed81e 100644 --- a/packages/core/src/utils/crypto/index.ts +++ b/packages/core/src/utils/crypto/index.ts @@ -2,6 +2,7 @@ import { ForgeCryptoProvider } from './forge-crypto' import { NodeCryptoProvider } from './node-crypto' export * from './abstract' +export * from './keys' export * from './password' export { ForgeCryptoProvider, NodeCryptoProvider } diff --git a/packages/core/tests/bigint-utils.spec.ts b/packages/core/tests/bigint-utils.spec.ts index 43ab02c3..64ce2c64 100644 --- a/packages/core/tests/bigint-utils.spec.ts +++ b/packages/core/tests/bigint-utils.spec.ts @@ -2,7 +2,7 @@ import bigInt from 'big-integer' import { expect } from 'chai' import { describe, it } from 'mocha' -import { bigIntToBuffer, bufferToBigInt } from '../src' +import { bigIntToBuffer, bufferToBigInt } from '../utils' // since bigIntToBuffer is a tiny wrapper over writeBigInt, no need to test it individually describe('bigIntToBuffer', () => { diff --git a/packages/core/tests/crypto-providers.spec.ts b/packages/core/tests/crypto-providers.spec.ts index 42c6e576..d30fe4d7 100644 --- a/packages/core/tests/crypto-providers.spec.ts +++ b/packages/core/tests/crypto-providers.spec.ts @@ -5,7 +5,7 @@ import { ForgeCryptoProvider, ICryptoProvider, NodeCryptoProvider, -} from '../src' +} from '../utils' export function testCryptoProvider(c: ICryptoProvider): void { it('should calculate sha1', async () => { diff --git a/packages/core/tests/fuzz/utils.ts b/packages/core/tests/fuzz/utils.ts index 8d9ba735..79679a78 100644 --- a/packages/core/tests/fuzz/utils.ts +++ b/packages/core/tests/fuzz/utils.ts @@ -1,4 +1,5 @@ -import { BaseTelegramClient, NodeCryptoProvider, TcpTransport } from '../../src' +import { BaseTelegramClient, TcpTransport } from '../../src' +import { NodeCryptoProvider } from '../../utils' export function createTestTelegramClient() { const tg = new BaseTelegramClient({ diff --git a/packages/core/tests/keys.spec.ts b/packages/core/tests/keys.spec.ts index 63cce410..f3a094e2 100644 --- a/packages/core/tests/keys.spec.ts +++ b/packages/core/tests/keys.spec.ts @@ -1,8 +1,7 @@ import { expect } from 'chai' import { describe, it } from 'mocha' -import { NodeCryptoProvider } from '../src' -import { parsePublicKey } from '../src/utils/crypto/keys' +import { NodeCryptoProvider, parsePublicKey } from '../utils' const crypto = new NodeCryptoProvider() diff --git a/packages/core/tests/lru-map.spec.ts b/packages/core/tests/lru-map.spec.ts index 9eff8d54..4e07cb39 100644 --- a/packages/core/tests/lru-map.spec.ts +++ b/packages/core/tests/lru-map.spec.ts @@ -1,7 +1,7 @@ import { expect } from 'chai' import { describe, it } from 'mocha' -import { LruMap } from '../src' +import { LruMap } from '../utils' describe('LruMap', () => { it('Map backend', () => { diff --git a/packages/core/tests/lru-set.spec.ts b/packages/core/tests/lru-set.spec.ts index 1de980ca..a281d4a5 100644 --- a/packages/core/tests/lru-set.spec.ts +++ b/packages/core/tests/lru-set.spec.ts @@ -2,7 +2,7 @@ import { expect } from 'chai' import Long from 'long' import { describe, it } from 'mocha' -import { LruSet } from '../src' +import { LruSet } from '../utils' describe('LruSet', () => { describe('for strings', () => { diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 9637bdbb..85468e53 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -5,7 +5,8 @@ }, "include": [ "./src", - "./tests" + "./tests", + "./utils.ts", ], "typedocOptions": { "name": "@mtcute/core", diff --git a/packages/core/utils.ts b/packages/core/utils.ts new file mode 100644 index 00000000..d014f0a3 --- /dev/null +++ b/packages/core/utils.ts @@ -0,0 +1,4 @@ +// this file only exists as a hint to IDEs that we can use @mtcute/core/utils instead of @mtcute/core/src/utils. +// it is not present in the built package, just a DX improvement + +export * from './src/utils' diff --git a/packages/crypto-node/src/index.ts b/packages/crypto-node/src/index.ts index 22fb1513..631d5bb5 100644 --- a/packages/crypto-node/src/index.ts +++ b/packages/crypto-node/src/index.ts @@ -1,4 +1,4 @@ -import { IEncryptionScheme, NodeCryptoProvider } from '@mtcute/core' +import { IEncryptionScheme, NodeCryptoProvider } from '@mtcute/core/utils' // eslint-disable-next-line camelcase import { ige256_decrypt, ige256_encrypt } from './native' diff --git a/packages/dispatcher/src/filters.ts b/packages/dispatcher/src/filters.ts index 9e374f94..3c87c79c 100644 --- a/packages/dispatcher/src/filters.ts +++ b/packages/dispatcher/src/filters.ts @@ -6,6 +6,7 @@ import { CallbackQuery, Chat, ChatMemberUpdate, + ChatMemberUpdateType, ChatType, ChosenInlineResult, Contact, @@ -36,7 +37,6 @@ import { Voice, WebPage, } from '@mtcute/client' -import { ChatMemberUpdateType } from '@mtcute/client/src/types/updates/chat-member-update' import { MaybeArray } from '@mtcute/core' import { UpdateState } from './state' diff --git a/packages/dispatcher/src/state/update-state.ts b/packages/dispatcher/src/state/update-state.ts index 29ff1761..b41fe66f 100644 --- a/packages/dispatcher/src/state/update-state.ts +++ b/packages/dispatcher/src/state/update-state.ts @@ -1,5 +1,5 @@ import { MtArgumentError, MtClientError } from '@mtcute/client' -import { sleep } from '@mtcute/core' +import { sleep } from '@mtcute/core/utils' import { IStateStorage } from './storage' @@ -101,7 +101,9 @@ export class UpdateState { return this._cached } - let res = await this._localStorage.getState(this._localKey) as State | null + let res = (await this._localStorage.getState( + this._localKey, + )) as State | null if (!res && fallback) res = fallback this._cached = res diff --git a/packages/file-id/src/parse.ts b/packages/file-id/src/parse.ts index 1bc3357e..5c34ab99 100644 --- a/packages/file-id/src/parse.ts +++ b/packages/file-id/src/parse.ts @@ -1,4 +1,4 @@ -import { parseUrlSafeBase64 } from '@mtcute/core' +import { parseUrlSafeBase64 } from '@mtcute/core/utils' import { TlBinaryReader } from '@mtcute/tl-runtime' import { tdFileId as td } from './types' diff --git a/packages/file-id/src/serialize-unique.ts b/packages/file-id/src/serialize-unique.ts index 2d676f21..9e4b5de9 100644 --- a/packages/file-id/src/serialize-unique.ts +++ b/packages/file-id/src/serialize-unique.ts @@ -1,4 +1,5 @@ -import { assertNever, encodeUrlSafeBase64 } from '@mtcute/core' +import { assertNever } from '@mtcute/core' +import { encodeUrlSafeBase64 } from '@mtcute/core/utils' import { TlBinaryWriter } from '@mtcute/tl-runtime' import { tdFileId as td } from './types' diff --git a/packages/file-id/src/serialize.ts b/packages/file-id/src/serialize.ts index 8610f17d..58a1ea7b 100644 --- a/packages/file-id/src/serialize.ts +++ b/packages/file-id/src/serialize.ts @@ -1,4 +1,5 @@ -import { assertNever, encodeUrlSafeBase64 } from '@mtcute/core' +import { assertNever } from '@mtcute/core' +import { encodeUrlSafeBase64 } from '@mtcute/core/utils' import { TlBinaryWriter } from '@mtcute/tl-runtime' import { tdFileId as td } from './types' diff --git a/packages/mtproxy/fake-tls.ts b/packages/mtproxy/fake-tls.ts index 0b88104f..c7b55f1f 100644 --- a/packages/mtproxy/fake-tls.ts +++ b/packages/mtproxy/fake-tls.ts @@ -1,13 +1,12 @@ import bigInt, { BigInteger } from 'big-integer' +import { IPacketCodec, WrappedCodec } from '@mtcute/core' import { bigIntToBuffer, bufferToBigInt, ICryptoProvider, - IPacketCodec, randomBytes, - WrappedCodec, -} from '@mtcute/core' +} from '@mtcute/core/utils' const MAX_TLS_PACKET_LENGTH = 2878 const TLS_FIRST_PREFIX = Buffer.from('140303000101', 'hex') diff --git a/packages/mtproxy/index.ts b/packages/mtproxy/index.ts index 2e337f8b..75394bea 100644 --- a/packages/mtproxy/index.ts +++ b/packages/mtproxy/index.ts @@ -8,10 +8,10 @@ import { IPacketCodec, ObfuscatedPacketCodec, PaddedIntermediatePacketCodec, - parseUrlSafeBase64, tl, TransportState, } from '@mtcute/core' +import { parseUrlSafeBase64 } from '@mtcute/core/utils' import { FakeTlsPacketCodec, generateFakeTlsHeader } from './fake-tls' diff --git a/packages/sqlite/index.ts b/packages/sqlite/index.ts index 9a5af938..446cafc4 100644 --- a/packages/sqlite/index.ts +++ b/packages/sqlite/index.ts @@ -4,11 +4,6 @@ import sqlite3, { Options } from 'better-sqlite3' import { ITelegramStorage, - Logger, - longFromFastString, - longToFastString, - LruMap, - throttle, tl, TlBinaryReader, TlBinaryWriter, @@ -16,6 +11,13 @@ import { TlWriterMap, toggleChannelIdMark, } from '@mtcute/core' +import { + Logger, + longFromFastString, + longToFastString, + LruMap, + throttle, +} from '@mtcute/core/utils' import { IStateStorage } from '@mtcute/dispatcher' // todo: add testMode to "self" diff --git a/packages/tl/scripts/fetch-api.ts b/packages/tl/scripts/fetch-api.ts index 8aaf053d..8b79823b 100644 --- a/packages/tl/scripts/fetch-api.ts +++ b/packages/tl/scripts/fetch-api.ts @@ -9,7 +9,7 @@ import { readFile, writeFile } from 'fs/promises' import { join } from 'path' import * as readline from 'readline' -import { hasPresentKey, isPresent } from '@mtcute/core' +import { hasPresentKey, isPresent } from '@mtcute/core/utils' import { generateTlSchemasDifference, mergeTlEntries, diff --git a/packages/tl/scripts/gen-rsa-keys.ts b/packages/tl/scripts/gen-rsa-keys.ts index e68c2bc2..85294401 100644 --- a/packages/tl/scripts/gen-rsa-keys.ts +++ b/packages/tl/scripts/gen-rsa-keys.ts @@ -3,8 +3,7 @@ import { writeFile } from 'fs/promises' import { join } from 'path' import readline from 'readline' -import { NodeCryptoProvider } from '@mtcute/core/src/utils/crypto' -import { parsePublicKey } from '@mtcute/core/src/utils/crypto/keys' +import { NodeCryptoProvider, parsePublicKey } from '@mtcute/core/utils' import { TlPublicKey } from '../binary/rsa-keys' import { ESM_PRELUDE } from './constants'