sushi 6.0.23 → 6.0.25
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/_cjs/evm/config/features/sushiswap-v3.js.map +1 -1
- package/_cjs/evm/config/subgraphs/subgraphs/sushiswap-v2.js +0 -2
- package/_cjs/evm/config/subgraphs/subgraphs/sushiswap-v2.js.map +1 -1
- package/_cjs/evm/config/subgraphs/subgraphs/sushiswap-v3.js +0 -1
- package/_cjs/evm/config/subgraphs/subgraphs/sushiswap-v3.js.map +1 -1
- package/_cjs/evm/currency/currency.js +4 -3
- package/_cjs/evm/currency/currency.js.map +1 -1
- package/_cjs/evm/currency/native.js +10 -2
- package/_cjs/evm/currency/native.js.map +1 -1
- package/_cjs/evm/currency/token.js +6 -4
- package/_cjs/evm/currency/token.js.map +1 -1
- package/_cjs/evm/pool/sushiswap-v2/zod.js +2 -2
- package/_cjs/evm/pool/sushiswap-v2/zod.js.map +1 -1
- package/_cjs/evm/token-list/constants.js +1 -1
- package/_cjs/evm/token-list/constants.js.map +1 -1
- package/_cjs/generic/currency/serialized-currency.js +5 -4
- package/_cjs/generic/currency/serialized-currency.js.map +1 -1
- package/_cjs/mvm/currency/token.js +5 -1
- package/_cjs/mvm/currency/token.js.map +1 -1
- package/_cjs/tvm/currency/currency.js +4 -3
- package/_cjs/tvm/currency/currency.js.map +1 -1
- package/_cjs/tvm/currency/native.js +13 -5
- package/_cjs/tvm/currency/native.js.map +1 -1
- package/_cjs/tvm/currency/token.js +8 -1
- package/_cjs/tvm/currency/token.js.map +1 -1
- package/_esm/evm/config/features/sushiswap-v3.js +0 -10
- package/_esm/evm/config/features/sushiswap-v3.js.map +1 -1
- package/_esm/evm/config/subgraphs/subgraphs/sushiswap-v2.js +0 -2
- package/_esm/evm/config/subgraphs/subgraphs/sushiswap-v2.js.map +1 -1
- package/_esm/evm/config/subgraphs/subgraphs/sushiswap-v3.js +0 -5
- package/_esm/evm/config/subgraphs/subgraphs/sushiswap-v3.js.map +1 -1
- package/_esm/evm/currency/currency.js +3 -3
- package/_esm/evm/currency/currency.js.map +1 -1
- package/_esm/evm/currency/native.js +9 -2
- package/_esm/evm/currency/native.js.map +1 -1
- package/_esm/evm/currency/token.js +5 -4
- package/_esm/evm/currency/token.js.map +1 -1
- package/_esm/evm/pool/sushiswap-v2/zod.js +2 -2
- package/_esm/evm/pool/sushiswap-v2/zod.js.map +1 -1
- package/_esm/evm/token-list/constants.js +1 -1
- package/_esm/evm/token-list/constants.js.map +1 -1
- package/_esm/generic/currency/serialized-currency.js +4 -4
- package/_esm/generic/currency/serialized-currency.js.map +1 -1
- package/_esm/mvm/currency/token.js +4 -1
- package/_esm/mvm/currency/token.js.map +1 -1
- package/_esm/tvm/currency/currency.js +3 -3
- package/_esm/tvm/currency/currency.js.map +1 -1
- package/_esm/tvm/currency/native.js +12 -5
- package/_esm/tvm/currency/native.js.map +1 -1
- package/_esm/tvm/currency/token.js +7 -1
- package/_esm/tvm/currency/token.js.map +1 -1
- package/_types/evm/config/features/sushiswap-v3.d.ts.map +1 -1
- package/_types/evm/config/subgraphs/subgraphs/sushiswap-v2.d.ts +4 -3
- package/_types/evm/config/subgraphs/subgraphs/sushiswap-v2.d.ts.map +1 -1
- package/_types/evm/config/subgraphs/subgraphs/sushiswap-v3.d.ts +4 -3
- package/_types/evm/config/subgraphs/subgraphs/sushiswap-v3.d.ts.map +1 -1
- package/_types/evm/config/tokens/token-maps/default-bases.d.ts +42 -42
- package/_types/evm/config/tokens/token-maps/default-quote.d.ts +43 -43
- package/_types/evm/config/tokens/token-maps/short-name-to-currency.d.ts +34 -34
- package/_types/evm/currency/currency.d.ts +68 -30
- package/_types/evm/currency/currency.d.ts.map +1 -1
- package/_types/evm/currency/native.d.ts +42 -20
- package/_types/evm/currency/native.d.ts.map +1 -1
- package/_types/evm/currency/token.d.ts +42 -19
- package/_types/evm/currency/token.d.ts.map +1 -1
- package/_types/evm/pool/sushiswap-v2/zod.d.ts +14 -0
- package/_types/evm/pool/sushiswap-v2/zod.d.ts.map +1 -1
- package/_types/evm/token-list/constants.d.ts +1 -1
- package/_types/evm/token-list/constants.d.ts.map +1 -1
- package/_types/generic/currency/currency.d.ts +1 -1
- package/_types/generic/currency/currency.d.ts.map +1 -1
- package/_types/generic/currency/serialized-currency.d.ts +168 -74
- package/_types/generic/currency/serialized-currency.d.ts.map +1 -1
- package/_types/mvm/currency/token.d.ts +42 -19
- package/_types/mvm/currency/token.d.ts.map +1 -1
- package/_types/tvm/config/tokens/native.d.ts +1 -1
- package/_types/tvm/config/tokens/token-maps/default-bases.d.ts +1 -1
- package/_types/tvm/currency/currency.d.ts +68 -30
- package/_types/tvm/currency/currency.d.ts.map +1 -1
- package/_types/tvm/currency/native.d.ts +42 -20
- package/_types/tvm/currency/native.d.ts.map +1 -1
- package/_types/tvm/currency/token.d.ts +42 -18
- package/_types/tvm/currency/token.d.ts.map +1 -1
- package/evm/config/features/sushiswap-v3.ts +0 -10
- package/evm/config/subgraphs/subgraphs/sushiswap-v2.ts +19 -18
- package/evm/config/subgraphs/subgraphs/sushiswap-v3.ts +19 -22
- package/evm/currency/currency.ts +13 -6
- package/evm/currency/native.ts +36 -14
- package/evm/currency/token.ts +27 -13
- package/evm/pool/sushiswap-v2/zod.ts +2 -2
- package/evm/token-list/constants.ts +1 -1
- package/generic/currency/amount.test.ts +0 -1
- package/generic/currency/currency.test-d.ts +115 -1
- package/generic/currency/currency.ts +1 -1
- package/generic/currency/serialized-currency.ts +26 -15
- package/mvm/currency/token.ts +27 -11
- package/package.json +1 -1
- package/tvm/currency/currency.ts +12 -5
- package/tvm/currency/native.ts +40 -18
- package/tvm/currency/token.ts +30 -10
package/mvm/currency/token.ts
CHANGED
|
@@ -17,7 +17,7 @@ export class MvmToken<
|
|
|
17
17
|
return this
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
public override toJSON(): SerializedMvmToken {
|
|
20
|
+
public override toJSON(): SerializedMvmToken<TMetadata> {
|
|
21
21
|
return {
|
|
22
22
|
chainId: this.chainId,
|
|
23
23
|
address: this.address,
|
|
@@ -25,21 +25,37 @@ export class MvmToken<
|
|
|
25
25
|
name: this.name,
|
|
26
26
|
decimals: this.decimals,
|
|
27
27
|
type: this.type,
|
|
28
|
+
|
|
29
|
+
metadata: this.metadata,
|
|
28
30
|
} as const
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
static fromJSON
|
|
33
|
+
static fromJSON<TMetadata extends CurrencyMetadata>(
|
|
34
|
+
data: Omit<SerializedMvmToken<TMetadata>, 'metadata'> & {
|
|
35
|
+
metadata?: TMetadata
|
|
36
|
+
},
|
|
37
|
+
): MvmToken<TMetadata> {
|
|
32
38
|
return new this(data)
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
export const serializedMvmTokenSchema =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
export const serializedMvmTokenSchema = <
|
|
43
|
+
TMetadata extends {} = CurrencyMetadata,
|
|
44
|
+
>({
|
|
45
|
+
metadata,
|
|
46
|
+
}: { metadata?: z.ZodType<TMetadata> } = {}) =>
|
|
47
|
+
z.object({
|
|
48
|
+
chainId: z.number().int().refine(isMvmChainId),
|
|
49
|
+
address: z.string().refine(isMvmAddress),
|
|
50
|
+
symbol: z.string(),
|
|
51
|
+
name: z.string(),
|
|
52
|
+
decimals: z.number().int().nonnegative(),
|
|
53
|
+
type: z.literal('token'),
|
|
54
|
+
|
|
55
|
+
metadata: (metadata ||
|
|
56
|
+
z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
|
|
57
|
+
})
|
|
44
58
|
|
|
45
|
-
export type SerializedMvmToken
|
|
59
|
+
export type SerializedMvmToken<
|
|
60
|
+
TMetadata extends CurrencyMetadata = CurrencyMetadata,
|
|
61
|
+
> = z.infer<ReturnType<typeof serializedMvmTokenSchema<TMetadata>>>
|
package/package.json
CHANGED
package/tvm/currency/currency.ts
CHANGED
|
@@ -15,12 +15,19 @@ export type TvmCurrency<
|
|
|
15
15
|
TMetadata extends CurrencyMetadata = Record<string, unknown>,
|
|
16
16
|
> = TvmNative | TvmToken<TMetadata>
|
|
17
17
|
|
|
18
|
-
export const serializedTvmCurrencySchema =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
export const serializedTvmCurrencySchema = <
|
|
19
|
+
TMetadata extends {} = CurrencyMetadata,
|
|
20
|
+
>(
|
|
21
|
+
opts: { metadata?: z.ZodType<TMetadata> } = {},
|
|
22
|
+
) =>
|
|
23
|
+
z.discriminatedUnion('type', [
|
|
24
|
+
serializedTvmTokenSchema(opts),
|
|
25
|
+
serializedTvmNativeSchema(opts),
|
|
26
|
+
])
|
|
22
27
|
|
|
23
|
-
export type SerializedTvmCurrency
|
|
28
|
+
export type SerializedTvmCurrency<
|
|
29
|
+
TMetadata extends CurrencyMetadata = CurrencyMetadata,
|
|
30
|
+
> = z.infer<ReturnType<typeof serializedTvmCurrencySchema<TMetadata>>>
|
|
24
31
|
|
|
25
32
|
function deserializeTvmCurrency(data: SerializedTvmToken): TvmToken
|
|
26
33
|
function deserializeTvmCurrency(data: SerializedTvmNative): TvmNative
|
package/tvm/currency/native.ts
CHANGED
|
@@ -1,40 +1,62 @@
|
|
|
1
1
|
import * as z from 'zod'
|
|
2
|
+
import type { CurrencyMetadata } from '~/generic/currency/currency.js'
|
|
2
3
|
import { Native } from '../../generic/currency/native.js'
|
|
3
4
|
import { type TvmChainId, isTvmChainId } from '../chain/chains.js'
|
|
4
5
|
import { NATIVE } from '../config/index.js'
|
|
5
6
|
import { WNATIVE } from '../config/tokens/wrapped-native.js'
|
|
6
|
-
import
|
|
7
|
+
import { TvmToken } from './token.js'
|
|
7
8
|
|
|
8
|
-
export class TvmNative
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
export class TvmNative<
|
|
10
|
+
TMetadata extends CurrencyMetadata = Record<string, unknown>,
|
|
11
|
+
> extends Native<TvmChainId, TMetadata> {
|
|
12
|
+
public override wrap(): TvmToken<TMetadata> {
|
|
13
|
+
return new TvmToken({
|
|
14
|
+
...WNATIVE[this.chainId],
|
|
15
|
+
metadata: structuredClone(this.metadata),
|
|
16
|
+
})
|
|
11
17
|
}
|
|
12
18
|
|
|
13
|
-
public override
|
|
14
|
-
return WNATIVE[this.chainId]
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public override toJSON(): SerializedTvmNative {
|
|
19
|
+
public override toJSON(): SerializedTvmNative<TMetadata> {
|
|
18
20
|
return {
|
|
19
21
|
chainId: this.chainId,
|
|
20
22
|
symbol: this.symbol,
|
|
21
23
|
name: this.name,
|
|
22
24
|
decimals: this.decimals,
|
|
23
25
|
type: this.type,
|
|
26
|
+
|
|
27
|
+
metadata: this.metadata,
|
|
24
28
|
} as const
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
static fromJSON<TMetadata extends CurrencyMetadata>(
|
|
32
|
+
data: Omit<SerializedTvmNative<TMetadata>, 'metadata'> & {
|
|
33
|
+
metadata?: TMetadata
|
|
34
|
+
},
|
|
35
|
+
): TvmNative<TMetadata> {
|
|
28
36
|
return new this(data)
|
|
29
37
|
}
|
|
38
|
+
|
|
39
|
+
static fromChainId(chainId: TvmChainId): TvmNative {
|
|
40
|
+
return NATIVE[chainId]
|
|
41
|
+
}
|
|
30
42
|
}
|
|
31
43
|
|
|
32
|
-
export const serializedTvmNativeSchema =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
export const serializedTvmNativeSchema = <
|
|
45
|
+
TMetadata extends {} = CurrencyMetadata,
|
|
46
|
+
>({
|
|
47
|
+
metadata,
|
|
48
|
+
}: { metadata?: z.ZodType<TMetadata> } = {}) =>
|
|
49
|
+
z.object({
|
|
50
|
+
chainId: z.number().int().refine(isTvmChainId),
|
|
51
|
+
symbol: z.string(),
|
|
52
|
+
name: z.string(),
|
|
53
|
+
decimals: z.number().int().nonnegative(),
|
|
54
|
+
type: z.literal('native'),
|
|
55
|
+
|
|
56
|
+
metadata: (metadata ||
|
|
57
|
+
z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
|
|
58
|
+
})
|
|
39
59
|
|
|
40
|
-
export type SerializedTvmNative
|
|
60
|
+
export type SerializedTvmNative<
|
|
61
|
+
TMetadata extends CurrencyMetadata = CurrencyMetadata,
|
|
62
|
+
> = z.infer<ReturnType<typeof serializedTvmNativeSchema<TMetadata>>>
|
package/tvm/currency/token.ts
CHANGED
|
@@ -32,7 +32,7 @@ export class TvmToken<
|
|
|
32
32
|
return this
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
public override toJSON(): SerializedTvmToken {
|
|
35
|
+
public override toJSON(): SerializedTvmToken<TMetadata> {
|
|
36
36
|
return {
|
|
37
37
|
chainId: this.chainId,
|
|
38
38
|
address: this.address,
|
|
@@ -40,17 +40,37 @@ export class TvmToken<
|
|
|
40
40
|
name: this.name,
|
|
41
41
|
decimals: this.decimals,
|
|
42
42
|
type: this.type,
|
|
43
|
+
|
|
44
|
+
metadata: this.metadata,
|
|
43
45
|
} as const
|
|
44
46
|
}
|
|
47
|
+
|
|
48
|
+
static fromJSON<TMetadata extends CurrencyMetadata>(
|
|
49
|
+
data: Omit<SerializedTvmToken<TMetadata>, 'metadata'> & {
|
|
50
|
+
metadata?: TMetadata
|
|
51
|
+
},
|
|
52
|
+
): TvmToken<TMetadata> {
|
|
53
|
+
return new this(data)
|
|
54
|
+
}
|
|
45
55
|
}
|
|
46
56
|
|
|
47
|
-
export const serializedTvmTokenSchema =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
export const serializedTvmTokenSchema = <
|
|
58
|
+
TMetadata extends {} = CurrencyMetadata,
|
|
59
|
+
>({
|
|
60
|
+
metadata,
|
|
61
|
+
}: { metadata?: z.ZodType<TMetadata> } = {}) =>
|
|
62
|
+
z.object({
|
|
63
|
+
chainId: z.number().int().refine(isTvmChainId),
|
|
64
|
+
address: z.string().refine(isTvmAddress),
|
|
65
|
+
symbol: z.string(),
|
|
66
|
+
name: z.string(),
|
|
67
|
+
decimals: z.number().int().nonnegative(),
|
|
68
|
+
type: z.literal('token'),
|
|
69
|
+
|
|
70
|
+
metadata: (metadata ||
|
|
71
|
+
z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
|
|
72
|
+
})
|
|
55
73
|
|
|
56
|
-
export type SerializedTvmToken
|
|
74
|
+
export type SerializedTvmToken<
|
|
75
|
+
TMetadata extends CurrencyMetadata = CurrencyMetadata,
|
|
76
|
+
> = z.infer<ReturnType<typeof serializedTvmTokenSchema<TMetadata>>>
|