ccxt-ir 4.9.22 → 4.9.23
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.
- package/README.md +3 -3
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/src/abantether.js +344 -344
- package/dist/cjs/src/abstract/bitbarg.js +1 -1
- package/dist/cjs/src/abstract/bydfi.js +1 -1
- package/dist/cjs/src/abstract/cafearz.js +1 -1
- package/dist/cjs/src/abstract/hamtapay.js +1 -1
- package/dist/cjs/src/abstract/iranexchange.js +11 -0
- package/dist/cjs/src/abstract/kifpoolme.js +1 -1
- package/dist/cjs/src/abstract/mazdax.js +1 -1
- package/dist/cjs/src/abstract/pingi.js +1 -1
- package/dist/cjs/src/abstract/pooleno.js +1 -1
- package/dist/cjs/src/abstract/tehran_exchange.js +1 -1
- package/dist/cjs/src/afratether.js +347 -347
- package/dist/cjs/src/arzplus.js +572 -572
- package/dist/cjs/src/bitbarg.js +303 -303
- package/dist/cjs/src/bydfi.js +425 -425
- package/dist/cjs/src/cafearz.js +337 -337
- package/dist/cjs/src/hamtapay.js +294 -294
- package/dist/cjs/src/iranexchange.js +398 -0
- package/dist/cjs/src/kcex.js +326 -326
- package/dist/cjs/src/kifpoolme.js +401 -401
- package/dist/cjs/src/mazdax.js +525 -525
- package/dist/cjs/src/ompfinex.js +501 -501
- package/dist/cjs/src/pingi.js +437 -437
- package/dist/cjs/src/pooleno.js +338 -338
- package/dist/cjs/src/sarmayex.js +367 -367
- package/dist/cjs/src/tehran_exchange.js +324 -324
- package/dist/cjs/src/tetherland.js +358 -358
- package/dist/cjs/src/toobit.js +436 -436
- package/dist/cjs/src/twox.js +362 -362
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abantether.js +347 -347
- package/js/src/abstract/abantether.d.ts +8 -8
- package/js/src/abstract/arzplus.d.ts +11 -11
- package/js/src/abstract/bitbarg.d.ts +8 -8
- package/js/src/abstract/bitbarg.js +5 -5
- package/js/src/abstract/bydfi.d.ts +11 -11
- package/js/src/abstract/bydfi.js +5 -5
- package/js/src/abstract/cafearz.d.ts +8 -8
- package/js/src/abstract/cafearz.js +5 -5
- package/js/src/abstract/hamtapay.d.ts +9 -9
- package/js/src/abstract/hamtapay.js +5 -5
- package/js/src/abstract/iranexchange.d.ts +9 -0
- package/js/src/abstract/iranexchange.js +11 -0
- package/js/src/abstract/kifpoolme.d.ts +9 -9
- package/js/src/abstract/kifpoolme.js +5 -5
- package/js/src/abstract/mazdax.d.ts +11 -11
- package/js/src/abstract/mazdax.js +5 -5
- package/js/src/abstract/pingi.d.ts +9 -9
- package/js/src/abstract/pingi.js +5 -5
- package/js/src/abstract/pooleno.d.ts +8 -8
- package/js/src/abstract/pooleno.js +5 -5
- package/js/src/abstract/tehran_exchange.d.ts +9 -9
- package/js/src/abstract/tehran_exchange.js +5 -5
- package/js/src/abstract/toobit.d.ts +10 -10
- package/js/src/afratether.js +350 -350
- package/js/src/arzplus.d.ts +26 -26
- package/js/src/arzplus.js +575 -575
- package/js/src/base/Exchange.d.ts +2 -2
- package/js/src/base/types.d.ts +586 -586
- package/js/src/bitbarg.d.ts +21 -21
- package/js/src/bitbarg.js +306 -306
- package/js/src/bydfi.d.ts +23 -23
- package/js/src/bydfi.js +428 -428
- package/js/src/cafearz.d.ts +21 -21
- package/js/src/cafearz.js +340 -340
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/hamtapay.d.ts +21 -21
- package/js/src/hamtapay.js +297 -297
- package/js/src/iranexchange.d.ts +21 -0
- package/js/src/iranexchange.js +397 -0
- package/js/src/kcex.js +329 -329
- package/js/src/kifpoolme.d.ts +23 -23
- package/js/src/kifpoolme.js +404 -404
- package/js/src/mazdax.d.ts +23 -23
- package/js/src/mazdax.js +528 -528
- package/js/src/ompfinex.js +504 -504
- package/js/src/pingi.d.ts +22 -22
- package/js/src/pingi.js +440 -440
- package/js/src/pooleno.d.ts +21 -21
- package/js/src/pooleno.js +341 -341
- package/js/src/protobuf/mexc/compiled.d.cts +0 -6
- package/js/src/sarmayex.js +370 -370
- package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -51
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -101
- package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -204
- package/js/src/static_dependencies/qs/formats.d.cts +0 -6
- package/js/src/static_dependencies/qs/index.d.cts +0 -6
- package/js/src/static_dependencies/qs/parse.d.cts +0 -6
- package/js/src/static_dependencies/qs/stringify.d.cts +0 -6
- package/js/src/static_dependencies/qs/utils.d.cts +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -5
- package/js/src/tehran_exchange.d.ts +21 -21
- package/js/src/tehran_exchange.js +327 -327
- package/js/src/tetherland.js +361 -361
- package/js/src/toobit.js +439 -439
- package/js/src/twox.js +365 -365
- package/package.json +1 -1
|
@@ -1,204 +1,204 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
|
-
import * as mod from './modular.js';
|
|
4
|
-
import * as ut from './utils.js';
|
|
5
|
-
import { CHash, Hex, PrivKey } from './utils.js';
|
|
6
|
-
import { Group, GroupConstructor, BasicCurve, AffinePoint } from './curve.js';
|
|
7
|
-
export type { AffinePoint };
|
|
8
|
-
declare type HmacFnSync = (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
9
|
-
declare type EndomorphismOpts = {
|
|
10
|
-
beta: bigint;
|
|
11
|
-
splitScalar: (k: bigint) => {
|
|
12
|
-
k1neg: boolean;
|
|
13
|
-
k1: bigint;
|
|
14
|
-
k2neg: boolean;
|
|
15
|
-
k2: bigint;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare type BasicWCurve<T> = BasicCurve<T> & {
|
|
19
|
-
a: T;
|
|
20
|
-
b: T;
|
|
21
|
-
allowedPrivateKeyLengths?: readonly number[];
|
|
22
|
-
wrapPrivateKey?: boolean;
|
|
23
|
-
endo?: EndomorphismOpts;
|
|
24
|
-
isTorsionFree?: (c: ProjConstructor<T>, point: ProjPointType<T>) => boolean;
|
|
25
|
-
clearCofactor?: (c: ProjConstructor<T>, point: ProjPointType<T>) => ProjPointType<T>;
|
|
26
|
-
};
|
|
27
|
-
declare type Entropy = Hex | true;
|
|
28
|
-
export declare type SignOpts = {
|
|
29
|
-
lowS?: boolean;
|
|
30
|
-
extraEntropy?: Entropy;
|
|
31
|
-
prehash?: boolean;
|
|
32
|
-
};
|
|
33
|
-
export declare type VerOpts = {
|
|
34
|
-
lowS?: boolean;
|
|
35
|
-
prehash?: boolean;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* ### Design rationale for types
|
|
39
|
-
*
|
|
40
|
-
* * Interaction between classes from different curves should fail:
|
|
41
|
-
* `k256.Point.BASE.add(p256.Point.BASE)`
|
|
42
|
-
* * For this purpose we want to use `instanceof` operator, which is fast and works during runtime
|
|
43
|
-
* * Different calls of `curve()` would return different classes -
|
|
44
|
-
* `curve(params) !== curve(params)`: if somebody decided to monkey-patch their curve,
|
|
45
|
-
* it won't affect others
|
|
46
|
-
*
|
|
47
|
-
* TypeScript can't infer types for classes created inside a function. Classes is one instance of nominative types in TypeScript and interfaces only check for shape, so it's hard to create unique type for every function call.
|
|
48
|
-
*
|
|
49
|
-
* We can use generic types via some param, like curve opts, but that would:
|
|
50
|
-
* 1. Enable interaction between `curve(params)` and `curve(params)` (curves of same params)
|
|
51
|
-
* which is hard to debug.
|
|
52
|
-
* 2. Params can be generic and we can't enforce them to be constant value:
|
|
53
|
-
* if somebody creates curve from non-constant params,
|
|
54
|
-
* it would be allowed to interact with other curves with non-constant params
|
|
55
|
-
*
|
|
56
|
-
* TODO: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#unique-symbol
|
|
57
|
-
*/
|
|
58
|
-
export interface ProjPointType<T> extends Group<ProjPointType<T>> {
|
|
59
|
-
readonly px: T;
|
|
60
|
-
readonly py: T;
|
|
61
|
-
readonly pz: T;
|
|
62
|
-
multiply(scalar: bigint): ProjPointType<T>;
|
|
63
|
-
toAffine(iz?: T): AffinePoint<T>;
|
|
64
|
-
isTorsionFree(): boolean;
|
|
65
|
-
clearCofactor(): ProjPointType<T>;
|
|
66
|
-
assertValidity(): void;
|
|
67
|
-
hasEvenY(): boolean;
|
|
68
|
-
toRawBytes(isCompressed?: boolean): Uint8Array;
|
|
69
|
-
toHex(isCompressed?: boolean): string;
|
|
70
|
-
multiplyUnsafe(scalar: bigint): ProjPointType<T>;
|
|
71
|
-
multiplyAndAddUnsafe(Q: ProjPointType<T>, a: bigint, b: bigint): ProjPointType<T> | undefined;
|
|
72
|
-
_setWindowSize(windowSize: number): void;
|
|
73
|
-
}
|
|
74
|
-
export interface ProjConstructor<T> extends GroupConstructor<ProjPointType<T>> {
|
|
75
|
-
new (x: T, y: T, z: T): ProjPointType<T>;
|
|
76
|
-
fromAffine(p: AffinePoint<T>): ProjPointType<T>;
|
|
77
|
-
fromHex(hex: Hex): ProjPointType<T>;
|
|
78
|
-
fromPrivateKey(privateKey: PrivKey): ProjPointType<T>;
|
|
79
|
-
normalizeZ(points: ProjPointType<T>[]): ProjPointType<T>[];
|
|
80
|
-
}
|
|
81
|
-
export declare type CurvePointsType<T> = BasicWCurve<T> & {
|
|
82
|
-
fromBytes: (bytes: Uint8Array) => AffinePoint<T>;
|
|
83
|
-
toBytes: (c: ProjConstructor<T>, point: ProjPointType<T>, compressed: boolean) => Uint8Array;
|
|
84
|
-
};
|
|
85
|
-
export declare type CurvePointsRes<T> = {
|
|
86
|
-
ProjectivePoint: ProjConstructor<T>;
|
|
87
|
-
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
88
|
-
weierstrassEquation: (x: T) => T;
|
|
89
|
-
isWithinCurveOrder: (num: bigint) => boolean;
|
|
90
|
-
};
|
|
91
|
-
export declare const DER: {
|
|
92
|
-
Err: {
|
|
93
|
-
new (m?: string): {
|
|
94
|
-
name: string;
|
|
95
|
-
message: string;
|
|
96
|
-
stack?: string;
|
|
97
|
-
};
|
|
98
|
-
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
99
|
-
prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any;
|
|
100
|
-
stackTraceLimit: number;
|
|
101
|
-
};
|
|
102
|
-
_parseInt(data: Uint8Array): {
|
|
103
|
-
d: bigint;
|
|
104
|
-
l: Uint8Array;
|
|
105
|
-
};
|
|
106
|
-
toSig(hex: string | Uint8Array): {
|
|
107
|
-
r: bigint;
|
|
108
|
-
s: bigint;
|
|
109
|
-
};
|
|
110
|
-
hexFromSig(sig: {
|
|
111
|
-
r: bigint;
|
|
112
|
-
s: bigint;
|
|
113
|
-
}): string;
|
|
114
|
-
};
|
|
115
|
-
export declare function weierstrassPoints<T>(opts: CurvePointsType<T>): {
|
|
116
|
-
ProjectivePoint: ProjConstructor<T>;
|
|
117
|
-
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
118
|
-
weierstrassEquation: (x: T) => T;
|
|
119
|
-
isWithinCurveOrder: (num: bigint) => boolean;
|
|
120
|
-
};
|
|
121
|
-
export interface SignatureType {
|
|
122
|
-
readonly r: bigint;
|
|
123
|
-
readonly s: bigint;
|
|
124
|
-
readonly recovery?: number;
|
|
125
|
-
assertValidity(): void;
|
|
126
|
-
addRecoveryBit(recovery: number): SignatureType;
|
|
127
|
-
hasHighS(): boolean;
|
|
128
|
-
normalizeS(): SignatureType;
|
|
129
|
-
recoverPublicKey(msgHash: Hex): ProjPointType<bigint>;
|
|
130
|
-
toCompactRawBytes(): Uint8Array;
|
|
131
|
-
toCompactHex(): string;
|
|
132
|
-
toDERRawBytes(isCompressed?: boolean): Uint8Array;
|
|
133
|
-
toDERHex(isCompressed?: boolean): string;
|
|
134
|
-
}
|
|
135
|
-
export declare type SignatureConstructor = {
|
|
136
|
-
new (r: bigint, s: bigint): SignatureType;
|
|
137
|
-
fromCompact(hex: Hex): SignatureType;
|
|
138
|
-
fromDER(hex: Hex): SignatureType;
|
|
139
|
-
};
|
|
140
|
-
declare type SignatureLike = {
|
|
141
|
-
r: bigint;
|
|
142
|
-
s: bigint;
|
|
143
|
-
};
|
|
144
|
-
export declare type PubKey = Hex | ProjPointType<bigint>;
|
|
145
|
-
export declare type CurveType = BasicWCurve<bigint> & {
|
|
146
|
-
hash: CHash;
|
|
147
|
-
hmac: HmacFnSync;
|
|
148
|
-
randomBytes: (bytesLength?: number) => Uint8Array;
|
|
149
|
-
lowS?: boolean;
|
|
150
|
-
bits2int?: (bytes: Uint8Array) => bigint;
|
|
151
|
-
bits2int_modN?: (bytes: Uint8Array) => bigint;
|
|
152
|
-
};
|
|
153
|
-
declare function validateOpts(curve: CurveType): Readonly<{
|
|
154
|
-
readonly nBitLength: number;
|
|
155
|
-
readonly nByteLength: number;
|
|
156
|
-
readonly Fp: mod.Field<bigint>;
|
|
157
|
-
readonly n: bigint;
|
|
158
|
-
readonly h: bigint;
|
|
159
|
-
readonly hEff?: bigint;
|
|
160
|
-
readonly Gx: bigint;
|
|
161
|
-
readonly Gy: bigint;
|
|
162
|
-
readonly allowInfinityPoint?: boolean;
|
|
163
|
-
readonly a: bigint;
|
|
164
|
-
readonly b: bigint;
|
|
165
|
-
readonly allowedPrivateKeyLengths?: readonly number[];
|
|
166
|
-
readonly wrapPrivateKey?: boolean;
|
|
167
|
-
readonly endo?: EndomorphismOpts;
|
|
168
|
-
readonly isTorsionFree?: (c: ProjConstructor<bigint>, point: ProjPointType<bigint>) => boolean;
|
|
169
|
-
readonly clearCofactor?: (c: ProjConstructor<bigint>, point: ProjPointType<bigint>) => ProjPointType<bigint>;
|
|
170
|
-
readonly hash: ut.CHash;
|
|
171
|
-
readonly hmac: HmacFnSync;
|
|
172
|
-
readonly randomBytes: (bytesLength?: number) => Uint8Array;
|
|
173
|
-
lowS: boolean;
|
|
174
|
-
readonly bits2int?: (bytes: Uint8Array) => bigint;
|
|
175
|
-
readonly bits2int_modN?: (bytes: Uint8Array) => bigint;
|
|
176
|
-
}>;
|
|
177
|
-
export declare type CurveFn = {
|
|
178
|
-
CURVE: ReturnType<typeof validateOpts>;
|
|
179
|
-
getPublicKey: (privateKey: PrivKey, isCompressed?: boolean) => Uint8Array;
|
|
180
|
-
getSharedSecret: (privateA: PrivKey, publicB: Hex, isCompressed?: boolean) => Uint8Array;
|
|
181
|
-
sign: (msgHash: Hex, privKey: PrivKey, opts?: SignOpts) => SignatureType;
|
|
182
|
-
verify: (signature: Hex | SignatureLike, msgHash: Hex, publicKey: Hex, opts?: VerOpts) => boolean;
|
|
183
|
-
ProjectivePoint: ProjConstructor<bigint>;
|
|
184
|
-
Signature: SignatureConstructor;
|
|
185
|
-
utils: {
|
|
186
|
-
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
187
|
-
isValidPrivateKey(privateKey: PrivKey): boolean;
|
|
188
|
-
randomPrivateKey: () => Uint8Array;
|
|
189
|
-
precompute: (windowSize?: number, point?: ProjPointType<bigint>) => ProjPointType<bigint>;
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
export declare function weierstrass(curveDef: CurveType): CurveFn;
|
|
193
|
-
export declare function SWUFpSqrtRatio<T>(Fp: mod.Field<T>, Z: T): (u: T, v: T) => {
|
|
194
|
-
isValid: boolean;
|
|
195
|
-
value: T;
|
|
196
|
-
};
|
|
197
|
-
export declare function mapToCurveSimpleSWU<T>(Fp: mod.Field<T>, opts: {
|
|
198
|
-
A: T;
|
|
199
|
-
B: T;
|
|
200
|
-
Z: T;
|
|
201
|
-
}): (u: T) => {
|
|
202
|
-
x: T;
|
|
203
|
-
y: T;
|
|
204
|
-
};
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
|
+
import * as mod from './modular.js';
|
|
4
|
+
import * as ut from './utils.js';
|
|
5
|
+
import { CHash, Hex, PrivKey } from './utils.js';
|
|
6
|
+
import { Group, GroupConstructor, BasicCurve, AffinePoint } from './curve.js';
|
|
7
|
+
export type { AffinePoint };
|
|
8
|
+
declare type HmacFnSync = (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
|
|
9
|
+
declare type EndomorphismOpts = {
|
|
10
|
+
beta: bigint;
|
|
11
|
+
splitScalar: (k: bigint) => {
|
|
12
|
+
k1neg: boolean;
|
|
13
|
+
k1: bigint;
|
|
14
|
+
k2neg: boolean;
|
|
15
|
+
k2: bigint;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare type BasicWCurve<T> = BasicCurve<T> & {
|
|
19
|
+
a: T;
|
|
20
|
+
b: T;
|
|
21
|
+
allowedPrivateKeyLengths?: readonly number[];
|
|
22
|
+
wrapPrivateKey?: boolean;
|
|
23
|
+
endo?: EndomorphismOpts;
|
|
24
|
+
isTorsionFree?: (c: ProjConstructor<T>, point: ProjPointType<T>) => boolean;
|
|
25
|
+
clearCofactor?: (c: ProjConstructor<T>, point: ProjPointType<T>) => ProjPointType<T>;
|
|
26
|
+
};
|
|
27
|
+
declare type Entropy = Hex | true;
|
|
28
|
+
export declare type SignOpts = {
|
|
29
|
+
lowS?: boolean;
|
|
30
|
+
extraEntropy?: Entropy;
|
|
31
|
+
prehash?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export declare type VerOpts = {
|
|
34
|
+
lowS?: boolean;
|
|
35
|
+
prehash?: boolean;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* ### Design rationale for types
|
|
39
|
+
*
|
|
40
|
+
* * Interaction between classes from different curves should fail:
|
|
41
|
+
* `k256.Point.BASE.add(p256.Point.BASE)`
|
|
42
|
+
* * For this purpose we want to use `instanceof` operator, which is fast and works during runtime
|
|
43
|
+
* * Different calls of `curve()` would return different classes -
|
|
44
|
+
* `curve(params) !== curve(params)`: if somebody decided to monkey-patch their curve,
|
|
45
|
+
* it won't affect others
|
|
46
|
+
*
|
|
47
|
+
* TypeScript can't infer types for classes created inside a function. Classes is one instance of nominative types in TypeScript and interfaces only check for shape, so it's hard to create unique type for every function call.
|
|
48
|
+
*
|
|
49
|
+
* We can use generic types via some param, like curve opts, but that would:
|
|
50
|
+
* 1. Enable interaction between `curve(params)` and `curve(params)` (curves of same params)
|
|
51
|
+
* which is hard to debug.
|
|
52
|
+
* 2. Params can be generic and we can't enforce them to be constant value:
|
|
53
|
+
* if somebody creates curve from non-constant params,
|
|
54
|
+
* it would be allowed to interact with other curves with non-constant params
|
|
55
|
+
*
|
|
56
|
+
* TODO: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#unique-symbol
|
|
57
|
+
*/
|
|
58
|
+
export interface ProjPointType<T> extends Group<ProjPointType<T>> {
|
|
59
|
+
readonly px: T;
|
|
60
|
+
readonly py: T;
|
|
61
|
+
readonly pz: T;
|
|
62
|
+
multiply(scalar: bigint): ProjPointType<T>;
|
|
63
|
+
toAffine(iz?: T): AffinePoint<T>;
|
|
64
|
+
isTorsionFree(): boolean;
|
|
65
|
+
clearCofactor(): ProjPointType<T>;
|
|
66
|
+
assertValidity(): void;
|
|
67
|
+
hasEvenY(): boolean;
|
|
68
|
+
toRawBytes(isCompressed?: boolean): Uint8Array;
|
|
69
|
+
toHex(isCompressed?: boolean): string;
|
|
70
|
+
multiplyUnsafe(scalar: bigint): ProjPointType<T>;
|
|
71
|
+
multiplyAndAddUnsafe(Q: ProjPointType<T>, a: bigint, b: bigint): ProjPointType<T> | undefined;
|
|
72
|
+
_setWindowSize(windowSize: number): void;
|
|
73
|
+
}
|
|
74
|
+
export interface ProjConstructor<T> extends GroupConstructor<ProjPointType<T>> {
|
|
75
|
+
new (x: T, y: T, z: T): ProjPointType<T>;
|
|
76
|
+
fromAffine(p: AffinePoint<T>): ProjPointType<T>;
|
|
77
|
+
fromHex(hex: Hex): ProjPointType<T>;
|
|
78
|
+
fromPrivateKey(privateKey: PrivKey): ProjPointType<T>;
|
|
79
|
+
normalizeZ(points: ProjPointType<T>[]): ProjPointType<T>[];
|
|
80
|
+
}
|
|
81
|
+
export declare type CurvePointsType<T> = BasicWCurve<T> & {
|
|
82
|
+
fromBytes: (bytes: Uint8Array) => AffinePoint<T>;
|
|
83
|
+
toBytes: (c: ProjConstructor<T>, point: ProjPointType<T>, compressed: boolean) => Uint8Array;
|
|
84
|
+
};
|
|
85
|
+
export declare type CurvePointsRes<T> = {
|
|
86
|
+
ProjectivePoint: ProjConstructor<T>;
|
|
87
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
88
|
+
weierstrassEquation: (x: T) => T;
|
|
89
|
+
isWithinCurveOrder: (num: bigint) => boolean;
|
|
90
|
+
};
|
|
91
|
+
export declare const DER: {
|
|
92
|
+
Err: {
|
|
93
|
+
new (m?: string): {
|
|
94
|
+
name: string;
|
|
95
|
+
message: string;
|
|
96
|
+
stack?: string;
|
|
97
|
+
};
|
|
98
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
99
|
+
prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any;
|
|
100
|
+
stackTraceLimit: number;
|
|
101
|
+
};
|
|
102
|
+
_parseInt(data: Uint8Array): {
|
|
103
|
+
d: bigint;
|
|
104
|
+
l: Uint8Array;
|
|
105
|
+
};
|
|
106
|
+
toSig(hex: string | Uint8Array): {
|
|
107
|
+
r: bigint;
|
|
108
|
+
s: bigint;
|
|
109
|
+
};
|
|
110
|
+
hexFromSig(sig: {
|
|
111
|
+
r: bigint;
|
|
112
|
+
s: bigint;
|
|
113
|
+
}): string;
|
|
114
|
+
};
|
|
115
|
+
export declare function weierstrassPoints<T>(opts: CurvePointsType<T>): {
|
|
116
|
+
ProjectivePoint: ProjConstructor<T>;
|
|
117
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
118
|
+
weierstrassEquation: (x: T) => T;
|
|
119
|
+
isWithinCurveOrder: (num: bigint) => boolean;
|
|
120
|
+
};
|
|
121
|
+
export interface SignatureType {
|
|
122
|
+
readonly r: bigint;
|
|
123
|
+
readonly s: bigint;
|
|
124
|
+
readonly recovery?: number;
|
|
125
|
+
assertValidity(): void;
|
|
126
|
+
addRecoveryBit(recovery: number): SignatureType;
|
|
127
|
+
hasHighS(): boolean;
|
|
128
|
+
normalizeS(): SignatureType;
|
|
129
|
+
recoverPublicKey(msgHash: Hex): ProjPointType<bigint>;
|
|
130
|
+
toCompactRawBytes(): Uint8Array;
|
|
131
|
+
toCompactHex(): string;
|
|
132
|
+
toDERRawBytes(isCompressed?: boolean): Uint8Array;
|
|
133
|
+
toDERHex(isCompressed?: boolean): string;
|
|
134
|
+
}
|
|
135
|
+
export declare type SignatureConstructor = {
|
|
136
|
+
new (r: bigint, s: bigint): SignatureType;
|
|
137
|
+
fromCompact(hex: Hex): SignatureType;
|
|
138
|
+
fromDER(hex: Hex): SignatureType;
|
|
139
|
+
};
|
|
140
|
+
declare type SignatureLike = {
|
|
141
|
+
r: bigint;
|
|
142
|
+
s: bigint;
|
|
143
|
+
};
|
|
144
|
+
export declare type PubKey = Hex | ProjPointType<bigint>;
|
|
145
|
+
export declare type CurveType = BasicWCurve<bigint> & {
|
|
146
|
+
hash: CHash;
|
|
147
|
+
hmac: HmacFnSync;
|
|
148
|
+
randomBytes: (bytesLength?: number) => Uint8Array;
|
|
149
|
+
lowS?: boolean;
|
|
150
|
+
bits2int?: (bytes: Uint8Array) => bigint;
|
|
151
|
+
bits2int_modN?: (bytes: Uint8Array) => bigint;
|
|
152
|
+
};
|
|
153
|
+
declare function validateOpts(curve: CurveType): Readonly<{
|
|
154
|
+
readonly nBitLength: number;
|
|
155
|
+
readonly nByteLength: number;
|
|
156
|
+
readonly Fp: mod.Field<bigint>;
|
|
157
|
+
readonly n: bigint;
|
|
158
|
+
readonly h: bigint;
|
|
159
|
+
readonly hEff?: bigint;
|
|
160
|
+
readonly Gx: bigint;
|
|
161
|
+
readonly Gy: bigint;
|
|
162
|
+
readonly allowInfinityPoint?: boolean;
|
|
163
|
+
readonly a: bigint;
|
|
164
|
+
readonly b: bigint;
|
|
165
|
+
readonly allowedPrivateKeyLengths?: readonly number[];
|
|
166
|
+
readonly wrapPrivateKey?: boolean;
|
|
167
|
+
readonly endo?: EndomorphismOpts;
|
|
168
|
+
readonly isTorsionFree?: (c: ProjConstructor<bigint>, point: ProjPointType<bigint>) => boolean;
|
|
169
|
+
readonly clearCofactor?: (c: ProjConstructor<bigint>, point: ProjPointType<bigint>) => ProjPointType<bigint>;
|
|
170
|
+
readonly hash: ut.CHash;
|
|
171
|
+
readonly hmac: HmacFnSync;
|
|
172
|
+
readonly randomBytes: (bytesLength?: number) => Uint8Array;
|
|
173
|
+
lowS: boolean;
|
|
174
|
+
readonly bits2int?: (bytes: Uint8Array) => bigint;
|
|
175
|
+
readonly bits2int_modN?: (bytes: Uint8Array) => bigint;
|
|
176
|
+
}>;
|
|
177
|
+
export declare type CurveFn = {
|
|
178
|
+
CURVE: ReturnType<typeof validateOpts>;
|
|
179
|
+
getPublicKey: (privateKey: PrivKey, isCompressed?: boolean) => Uint8Array;
|
|
180
|
+
getSharedSecret: (privateA: PrivKey, publicB: Hex, isCompressed?: boolean) => Uint8Array;
|
|
181
|
+
sign: (msgHash: Hex, privKey: PrivKey, opts?: SignOpts) => SignatureType;
|
|
182
|
+
verify: (signature: Hex | SignatureLike, msgHash: Hex, publicKey: Hex, opts?: VerOpts) => boolean;
|
|
183
|
+
ProjectivePoint: ProjConstructor<bigint>;
|
|
184
|
+
Signature: SignatureConstructor;
|
|
185
|
+
utils: {
|
|
186
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
187
|
+
isValidPrivateKey(privateKey: PrivKey): boolean;
|
|
188
|
+
randomPrivateKey: () => Uint8Array;
|
|
189
|
+
precompute: (windowSize?: number, point?: ProjPointType<bigint>) => ProjPointType<bigint>;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
export declare function weierstrass(curveDef: CurveType): CurveFn;
|
|
193
|
+
export declare function SWUFpSqrtRatio<T>(Fp: mod.Field<T>, Z: T): (u: T, v: T) => {
|
|
194
|
+
isValid: boolean;
|
|
195
|
+
value: T;
|
|
196
|
+
};
|
|
197
|
+
export declare function mapToCurveSimpleSWU<T>(Fp: mod.Field<T>, opts: {
|
|
198
|
+
A: T;
|
|
199
|
+
B: T;
|
|
200
|
+
Z: T;
|
|
201
|
+
}): (u: T) => {
|
|
202
|
+
x: T;
|
|
203
|
+
y: T;
|
|
204
|
+
};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
3
|
-
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
-
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
-
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
-
|
|
7
1
|
declare const _default: string;
|
|
8
2
|
export declare namespace formatters {
|
|
9
3
|
function RFC1738(value: any): string;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
3
|
-
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
-
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
-
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
-
|
|
7
1
|
import formats = require("./formats.cjs");
|
|
8
2
|
import parse = require("./parse.cjs");
|
|
9
3
|
import stringify = require("./stringify.cjs");
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
3
|
-
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
-
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
-
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
-
|
|
7
1
|
declare function _exports(str: any, opts: any): any;
|
|
8
2
|
export = _exports;
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
3
|
-
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
-
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
-
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
-
|
|
7
1
|
declare function _exports(object: any, opts: any): string;
|
|
8
2
|
export = _exports;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
3
|
-
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
-
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
-
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
-
|
|
7
1
|
export function arrayToObject(source: any, options: any): any;
|
|
8
2
|
export function assign(target: any, source: any): any;
|
|
9
3
|
export function combine(a: any, b: any): any[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Abi, FunctionAbi, RawArgs } from '../../../types/index.js';
|
|
2
|
-
import { AbiParserInterface } from './interface.js';
|
|
3
|
-
export declare function createAbiParser(abi: Abi): AbiParserInterface;
|
|
4
|
-
export declare function getAbiVersion(abi: Abi): 0 | 1 | 2;
|
|
5
|
-
export declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
|
|
1
|
+
import { Abi, FunctionAbi, RawArgs } from '../../../types/index.js';
|
|
2
|
+
import { AbiParserInterface } from './interface.js';
|
|
3
|
+
export declare function createAbiParser(abi: Abi): AbiParserInterface;
|
|
4
|
+
export declare function getAbiVersion(abi: Abi): 0 | 1 | 2;
|
|
5
|
+
export declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import Exchange from './abstract/tehran_exchange.js';
|
|
2
|
-
import { Market, Strings, Ticker, Tickers } from './base/types.js';
|
|
3
|
-
/**
|
|
4
|
-
* @class tehran_exchange
|
|
5
|
-
* @augments Exchange
|
|
6
|
-
* @description Set rateLimit to 1000 if fully verified
|
|
7
|
-
*/
|
|
8
|
-
export default class tehran_exchange extends Exchange {
|
|
9
|
-
describe(): any;
|
|
10
|
-
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
|
-
parseMarket(market: any): Market;
|
|
12
|
-
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
13
|
-
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
14
|
-
parseTicker(ticker: any, market?: Market): Ticker;
|
|
15
|
-
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
16
|
-
url: string;
|
|
17
|
-
method: string;
|
|
18
|
-
body: any;
|
|
19
|
-
headers: any;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
import Exchange from './abstract/tehran_exchange.js';
|
|
2
|
+
import { Market, Strings, Ticker, Tickers } from './base/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @class tehran_exchange
|
|
5
|
+
* @augments Exchange
|
|
6
|
+
* @description Set rateLimit to 1000 if fully verified
|
|
7
|
+
*/
|
|
8
|
+
export default class tehran_exchange extends Exchange {
|
|
9
|
+
describe(): any;
|
|
10
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
|
+
parseMarket(market: any): Market;
|
|
12
|
+
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
13
|
+
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
14
|
+
parseTicker(ticker: any, market?: Market): Ticker;
|
|
15
|
+
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
16
|
+
url: string;
|
|
17
|
+
method: string;
|
|
18
|
+
body: any;
|
|
19
|
+
headers: any;
|
|
20
|
+
};
|
|
21
|
+
}
|