@meow-laika/ton-lite-client 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,70 @@
1
+ /// <reference types="node" />
2
+ import type { Account, Address, CurrencyCollection } from "@ton/core";
3
+ import type { tonNode_blockIdExt } from "./schema";
4
+ export type BlockLookupIDRequest = {
5
+ seqno: number;
6
+ shard: string;
7
+ workchain: number;
8
+ mode: 'id';
9
+ };
10
+ export type BlockLookupUtimeRequest = {
11
+ shard: string;
12
+ workchain: number;
13
+ mode: 'utime';
14
+ utime: number;
15
+ };
16
+ export type BlockLookupLtRequest = {
17
+ shard: string;
18
+ workchain: number;
19
+ mode: 'lt';
20
+ lt: bigint;
21
+ };
22
+ export type BlockLookupRequest = BlockLookupIDRequest | BlockLookupUtimeRequest | BlockLookupLtRequest;
23
+ export type CacheMap = {
24
+ get(key: any): any | void;
25
+ set(key: any, value: any): any;
26
+ delete(key: any): any;
27
+ clear(): any;
28
+ };
29
+ export interface AccountsDataLoaderKey {
30
+ seqno: number;
31
+ shard: string;
32
+ workchain: number;
33
+ rootHash: Buffer;
34
+ fileHash: Buffer;
35
+ address: Address;
36
+ }
37
+ export interface BlockID {
38
+ seqno: number;
39
+ shard: string;
40
+ workchain: number;
41
+ rootHash: Buffer;
42
+ fileHash: Buffer;
43
+ }
44
+ export interface ClientAccountState {
45
+ state: Account | null;
46
+ lastTx: {
47
+ lt: bigint;
48
+ hash: bigint;
49
+ } | null;
50
+ balance: CurrencyCollection;
51
+ raw: Buffer;
52
+ proof: Buffer;
53
+ block: tonNode_blockIdExt;
54
+ shardBlock: tonNode_blockIdExt;
55
+ shardProof: Buffer;
56
+ }
57
+ export interface QueryArgs {
58
+ timeout?: number;
59
+ awaitSeqno?: number;
60
+ }
61
+ export type AllShardsResponse = {
62
+ id: tonNode_blockIdExt;
63
+ shards: {
64
+ [key: string]: {
65
+ [key: string]: number;
66
+ };
67
+ };
68
+ raw: Buffer;
69
+ proof: Buffer;
70
+ };
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export declare function findIntersection(arr1: string[], arr2: string[]): string[];
2
+ export declare function findOnlyOnFirst(arr1: string[], arr2: string[]): string[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findOnlyOnFirst = exports.findIntersection = void 0;
4
+ function findIntersection(arr1, arr2) {
5
+ return arr1.filter(value => arr2.includes(value));
6
+ }
7
+ exports.findIntersection = findIntersection;
8
+ function findOnlyOnFirst(arr1, arr2) {
9
+ return arr1.filter(value => !arr2.includes(value));
10
+ }
11
+ exports.findOnlyOnFirst = findOnlyOnFirst;
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ import { Buffer } from "buffer";
3
+ export declare function txHashToBuffer(hash: bigint): Buffer;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.txHashToBuffer = void 0;
4
+ const buffer_1 = require("buffer");
5
+ function txHashToBuffer(hash) {
6
+ return bigIntToBuffer(hash, 32);
7
+ }
8
+ exports.txHashToBuffer = txHashToBuffer;
9
+ function bigIntToBuffer(bigint, byteLength) {
10
+ return buffer_1.Buffer.from(bigIntToHex(bigint, byteLength), 'hex');
11
+ }
12
+ function bigIntToHex(bigint, byteLength) {
13
+ if (bigint < 0) {
14
+ throw new TypeError("Negative values are not supported");
15
+ }
16
+ if (byteLength !== undefined && byteLength <= 0) {
17
+ throw new TypeError("Invalid byte length");
18
+ }
19
+ const hex = bigint.toString(16);
20
+ if (byteLength === undefined) {
21
+ return hex.length % 2 ? `0${hex}` : hex;
22
+ }
23
+ const maxValue = (1n << BigInt(byteLength * 8)) - 1n;
24
+ if (bigint > maxValue) {
25
+ throw new TypeError(`Value exceeds the maximum for ${byteLength} bytes`);
26
+ }
27
+ return hex.padStart(byteLength * 2, '0');
28
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Whales Corp.
3
+ * All Rights Reserved.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /// <reference types="node" />
9
+ export declare function crc16(data: string | Buffer): number;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Whales Corp.
4
+ * All Rights Reserved.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.crc16 = void 0;
11
+ const TABLE = new Int16Array([
12
+ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
13
+ 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
14
+ 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
15
+ 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
16
+ 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
17
+ 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
18
+ 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
19
+ 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
20
+ 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
21
+ 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
22
+ 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
23
+ 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
24
+ 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
25
+ 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
26
+ 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
27
+ 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
28
+ 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
29
+ 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
30
+ 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
31
+ 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
32
+ 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
33
+ 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
34
+ 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
35
+ 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
36
+ 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
37
+ 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
38
+ 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
39
+ 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
40
+ 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
41
+ 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
42
+ 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
43
+ 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
44
+ ]);
45
+ function crc16(data) {
46
+ if (!(data instanceof Buffer)) {
47
+ data = Buffer.from(data);
48
+ }
49
+ let crc = 0;
50
+ for (let index = 0; index < data.length; index++) {
51
+ const byte = data[index];
52
+ crc = (TABLE[((crc >> 8) ^ byte) & 0xff] ^ (crc << 8)) & 0xffff;
53
+ }
54
+ return crc;
55
+ }
56
+ exports.crc16 = crc16;
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@meow-laika/ton-lite-client",
3
+ "version": "3.2.0",
4
+ "main": "dist/index.js",
5
+ "author": "Whales Corp. <developers@whalescorp.com>",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "license": "MIT",
10
+ "scripts": {
11
+ "build": "rm -fr dist && tsc --declaration",
12
+ "release": "yarn build && yarn npm publish"
13
+ },
14
+ "devDependencies": {
15
+ "@ton/core": "^0.56.0",
16
+ "@ton/crypto": "3.2.0",
17
+ "@types/node": "^17.0.27",
18
+ "@types/pegjs": "^0.10.3",
19
+ "buffer": "^6.0.3",
20
+ "jest": "^27.5.1",
21
+ "pegjs": "^0.10.0",
22
+ "ts-node": "^10.7.0",
23
+ "typescript": "^4.6.3"
24
+ },
25
+ "dependencies": {
26
+ "adnl": "^1.0.3",
27
+ "dataloader": "^2.1.0",
28
+ "lru_map": "^0.4.1",
29
+ "teslabot": "^1.5.0",
30
+ "ton-tl": "^1.0.1",
31
+ "tweetnacl": "^1.0.3"
32
+ },
33
+ "peerDependencies": {
34
+ "@ton/core": ">=0.56.0"
35
+ }
36
+ }