sushi 6.6.1 → 6.6.3
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/stellar/currency/token.js +2 -2
- package/_cjs/stellar/currency/token.js.map +1 -1
- package/_esm/stellar/currency/token.js +3 -3
- package/_esm/stellar/currency/token.js.map +1 -1
- package/_types/generic/currency/serialized-currency.d.ts +2 -2
- package/_types/stellar/currency/currency.d.ts +3 -3
- package/_types/stellar/currency/currency.d.ts.map +1 -1
- package/_types/stellar/currency/token.d.ts +7 -7
- package/_types/stellar/currency/token.d.ts.map +1 -1
- package/package.json +1 -1
- package/stellar/currency/token.ts +14 -9
|
@@ -73,11 +73,11 @@ const serializedStellarTokenSchema = ({ metadata, } = {}) => z.object({
|
|
|
73
73
|
.transform((chainId) => chainId),
|
|
74
74
|
address: z
|
|
75
75
|
.string()
|
|
76
|
-
.refine(address_js_1.
|
|
76
|
+
.refine(address_js_1.isStellarContractAddress)
|
|
77
77
|
.transform((address) => address),
|
|
78
78
|
issuer: z
|
|
79
79
|
.string()
|
|
80
|
-
.refine(address_js_1.
|
|
80
|
+
.refine(address_js_1.isStellarAccountAddress)
|
|
81
81
|
.transform((address) => address)
|
|
82
82
|
.optional(),
|
|
83
83
|
symbol: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AAExB,8DAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AAExB,8DAAuD;AACvD,8CAKsB;AACtB,kDAA0E;AAC1E,wEAAuE;AAEvE,MAAa,YAEX,SAAQ,gBAAwD;IAIhE,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,IAAI,EAML;QACF,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,8CAAuB,EAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,8CAAuB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,IAAI;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACf,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,IAEC;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CACF;AA/CD,oCA+CC;AAEM,MAAM,4BAA4B,GAAG,CAE1C,EACA,QAAQ,MAGN,EAAE,EAAE,EAAE,CACR,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,MAAM,CAAC,4BAAgB,CAAC;SACxB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAyB,CAAC;IACpD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,MAAM,CAAC,qCAAwB,CAAC;SAChC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAiC,CAAC;IAC5D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,oCAAuB,CAAC;SAC/B,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAgC,CAAC;SACxD,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAExB,QAAQ,EAAE,CAAC,QAAQ;QACjB,CAAC;aACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC,CAAyB;CAC1C,CAAC,CAAA;AAhCS,QAAA,4BAA4B,gCAgCrC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
2
|
import { Token } from '../../generic/currency/token.js';
|
|
3
|
-
import {
|
|
3
|
+
import { isStellarAccountAddress, isStellarContractAddress, } from '../address.js';
|
|
4
4
|
import { isStellarChainId } from '../chain/chains.js';
|
|
5
5
|
import { normalizeStellarAddress } from '../utils/normalize-address.js';
|
|
6
6
|
export class StellarToken extends Token {
|
|
@@ -36,11 +36,11 @@ export const serializedStellarTokenSchema = ({ metadata, } = {}) => z.object({
|
|
|
36
36
|
.transform((chainId) => chainId),
|
|
37
37
|
address: z
|
|
38
38
|
.string()
|
|
39
|
-
.refine(
|
|
39
|
+
.refine(isStellarContractAddress)
|
|
40
40
|
.transform((address) => address),
|
|
41
41
|
issuer: z
|
|
42
42
|
.string()
|
|
43
|
-
.refine(
|
|
43
|
+
.refine(isStellarAccountAddress)
|
|
44
44
|
.transform((address) => address)
|
|
45
45
|
.optional(),
|
|
46
46
|
symbol: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GAGzB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,MAAM,OAAO,YAEX,SAAQ,KAAwD;IAIhE,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,IAAI,EAML;QACF,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,IAAI;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACf,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,IAEC;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAE1C,EACA,QAAQ,MAGN,EAAE,EAAE,EAAE,CACR,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,MAAM,CAAC,gBAAgB,CAAC;SACxB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAyB,CAAC;IACpD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,MAAM,CAAC,wBAAwB,CAAC;SAChC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAiC,CAAC;IAC5D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,uBAAuB,CAAC;SAC/B,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAgC,CAAC;SACxD,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAExB,QAAQ,EAAE,CAAC,QAAQ;QACjB,CAAC;aACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC,CAAyB;CAC1C,CAAC,CAAA"}
|
|
@@ -52,8 +52,8 @@ export declare const serializedCurrencySchema: <TMetadata extends {} = CurrencyM
|
|
|
52
52
|
metadata: z.ZodType<TMetadata, unknown, z.core.$ZodTypeInternals<TMetadata, unknown>>;
|
|
53
53
|
}, z.core.$strip>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
54
54
|
chainId: z.ZodPipe<z.ZodNumber, z.ZodTransform<-4, number>>;
|
|
55
|
-
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}
|
|
56
|
-
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`
|
|
55
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}`, string>>;
|
|
56
|
+
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`G${string}`, string>>>;
|
|
57
57
|
symbol: z.ZodString;
|
|
58
58
|
name: z.ZodString;
|
|
59
59
|
decimals: z.ZodNumber;
|
|
@@ -6,14 +6,14 @@ export declare const serializedStellarCurrencySchema: <TMetadata extends {} = Cu
|
|
|
6
6
|
metadata?: z.ZodType<TMetadata>;
|
|
7
7
|
}) => z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
8
8
|
chainId: z.ZodPipe<z.ZodNumber, z.ZodTransform<-4, number>>;
|
|
9
|
-
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}
|
|
10
|
-
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`
|
|
9
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}`, string>>;
|
|
10
|
+
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`G${string}`, string>>>;
|
|
11
11
|
symbol: z.ZodString;
|
|
12
12
|
name: z.ZodString;
|
|
13
13
|
decimals: z.ZodNumber;
|
|
14
14
|
type: z.ZodLiteral<"token">;
|
|
15
15
|
metadata: z.ZodType<TMetadata, unknown, z.core.$ZodTypeInternals<TMetadata, unknown>>;
|
|
16
16
|
}, z.core.$strip>], "type">;
|
|
17
|
-
export declare function getStellarCurrencyAddress(currency: StellarCurrency):
|
|
17
|
+
export declare function getStellarCurrencyAddress(currency: StellarCurrency): `C${string}`;
|
|
18
18
|
export type SerializedStellarCurrency<TMetadata extends CurrencyMetadata = CurrencyMetadata> = z.infer<ReturnType<typeof serializedStellarCurrencySchema<TMetadata>>>;
|
|
19
19
|
//# sourceMappingURL=currency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../stellar/currency/currency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAgC,MAAM,YAAY,CAAA;AAE5E,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1D,YAAY,CAAC,SAAS,CAAC,CAAA;AAE3B,eAAO,MAAM,+BAA+B,GAC1C,SAAS,SAAS,EAAE,GAAG,gBAAgB,EAEvC,OAAM;IAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAAO;;;;;;;;;2BACuB,CAAA;AAEvE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../stellar/currency/currency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAgC,MAAM,YAAY,CAAA;AAE5E,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1D,YAAY,CAAC,SAAS,CAAC,CAAA;AAE3B,eAAO,MAAM,+BAA+B,GAC1C,SAAS,SAAS,EAAE,GAAG,gBAAgB,EAEvC,OAAM;IAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAAO;;;;;;;;;2BACuB,CAAA;AAEvE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,gBAElE;AAED,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
2
|
import type { CurrencyMetadata } from '../../generic/currency/currency.js';
|
|
3
3
|
import { Token } from '../../generic/currency/token.js';
|
|
4
|
-
import { type
|
|
4
|
+
import { type StellarAccountAddress, type StellarContractAddress } from '../address.js';
|
|
5
5
|
import { type StellarChainId } from '../chain/chains.js';
|
|
6
|
-
export declare class StellarToken<TMetadata extends CurrencyMetadata = Record<string, unknown>> extends Token<StellarChainId,
|
|
6
|
+
export declare class StellarToken<TMetadata extends CurrencyMetadata = Record<string, unknown>> extends Token<StellarChainId, StellarContractAddress, TMetadata> {
|
|
7
7
|
readonly origin: string | undefined;
|
|
8
|
-
readonly issuer:
|
|
8
|
+
readonly issuer: StellarAccountAddress | undefined;
|
|
9
9
|
constructor({ issuer, origin, address, ...rest }: {
|
|
10
|
-
issuer?:
|
|
10
|
+
issuer?: StellarAccountAddress | undefined;
|
|
11
11
|
origin?: string;
|
|
12
|
-
} & ConstructorParameters<typeof Token<StellarChainId,
|
|
12
|
+
} & ConstructorParameters<typeof Token<StellarChainId, StellarContractAddress, TMetadata>>[0]);
|
|
13
13
|
wrap(): StellarToken<TMetadata>;
|
|
14
14
|
toJSON(): SerializedStellarToken<TMetadata>;
|
|
15
15
|
static fromJSON<TMetadata extends CurrencyMetadata>(data: Omit<SerializedStellarToken<TMetadata>, 'metadata'> & {
|
|
@@ -20,8 +20,8 @@ export declare const serializedStellarTokenSchema: <TMetadata extends {} = Curre
|
|
|
20
20
|
metadata?: z.ZodType<TMetadata>;
|
|
21
21
|
}) => z.ZodObject<{
|
|
22
22
|
chainId: z.ZodPipe<z.ZodNumber, z.ZodTransform<-4, number>>;
|
|
23
|
-
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}
|
|
24
|
-
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`
|
|
23
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`C${string}`, string>>;
|
|
24
|
+
issuer: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`G${string}`, string>>>;
|
|
25
25
|
symbol: z.ZodString;
|
|
26
26
|
name: z.ZodString;
|
|
27
27
|
decimals: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../stellar/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG1E,qBAAa,YAAY,CACvB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5D,SAAQ,KAAK,CAAC,cAAc,EAAE,sBAAsB,EAAE,SAAS,CAAC;IAChE,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,SAAgB,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAA;gBAE7C,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,IAAI,EACR,EAAE;QACD,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,qBAAqB,CACvB,OAAO,KAAK,CAAC,cAAc,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAChE,CAAC,CAAC,CAAC;IAMY,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC;IAI/B,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC;IAc3D,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,gBAAgB,EAChD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QAC1D,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GACA,YAAY,CAAC,SAAS,CAAC;CAG3B;AAED,eAAO,MAAM,4BAA4B,GACvC,SAAS,SAAS,EAAE,GAAG,gBAAgB,EACvC,gBAEC;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3B;;;;;;;;cAyBmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;iBACzC,CAAA;AAEJ,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import * as z from 'zod'
|
|
2
2
|
import type { CurrencyMetadata } from '../../generic/currency/currency.js'
|
|
3
3
|
import { Token } from '../../generic/currency/token.js'
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
isStellarAccountAddress,
|
|
6
|
+
isStellarContractAddress,
|
|
7
|
+
type StellarAccountAddress,
|
|
8
|
+
type StellarContractAddress,
|
|
9
|
+
} from '../address.js'
|
|
5
10
|
import { isStellarChainId, type StellarChainId } from '../chain/chains.js'
|
|
6
11
|
import { normalizeStellarAddress } from '../utils/normalize-address.js'
|
|
7
12
|
|
|
8
13
|
export class StellarToken<
|
|
9
14
|
TMetadata extends CurrencyMetadata = Record<string, unknown>,
|
|
10
|
-
> extends Token<StellarChainId,
|
|
15
|
+
> extends Token<StellarChainId, StellarContractAddress, TMetadata> {
|
|
11
16
|
public readonly origin: string | undefined
|
|
12
|
-
public readonly issuer:
|
|
17
|
+
public readonly issuer: StellarAccountAddress | undefined
|
|
13
18
|
|
|
14
19
|
constructor({
|
|
15
20
|
issuer,
|
|
@@ -17,10 +22,10 @@ export class StellarToken<
|
|
|
17
22
|
address,
|
|
18
23
|
...rest
|
|
19
24
|
}: {
|
|
20
|
-
issuer?:
|
|
25
|
+
issuer?: StellarAccountAddress | undefined
|
|
21
26
|
origin?: string
|
|
22
27
|
} & ConstructorParameters<
|
|
23
|
-
typeof Token<StellarChainId,
|
|
28
|
+
typeof Token<StellarChainId, StellarContractAddress, TMetadata>
|
|
24
29
|
>[0]) {
|
|
25
30
|
super({ address: normalizeStellarAddress(address), ...rest })
|
|
26
31
|
this.issuer = issuer ? normalizeStellarAddress(issuer) : issuer
|
|
@@ -69,12 +74,12 @@ export const serializedStellarTokenSchema = <
|
|
|
69
74
|
.transform((chainId) => chainId as StellarChainId),
|
|
70
75
|
address: z
|
|
71
76
|
.string()
|
|
72
|
-
.refine(
|
|
73
|
-
.transform((address) => address as
|
|
77
|
+
.refine(isStellarContractAddress)
|
|
78
|
+
.transform((address) => address as StellarContractAddress),
|
|
74
79
|
issuer: z
|
|
75
80
|
.string()
|
|
76
|
-
.refine(
|
|
77
|
-
.transform((address) => address as
|
|
81
|
+
.refine(isStellarAccountAddress)
|
|
82
|
+
.transform((address) => address as StellarAccountAddress)
|
|
78
83
|
.optional(),
|
|
79
84
|
symbol: z.string(),
|
|
80
85
|
name: z.string(),
|