@andrewkimjoseph/celina-sdk 0.2.3 → 0.2.5
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/build/config/aave.js +4 -3
- package/build/config/aave.js.map +1 -1
- package/build/config/chains.d.ts +2 -0
- package/build/config/chains.js +44 -2
- package/build/config/chains.js.map +1 -1
- package/build/services/token.service.d.ts +26 -13
- package/build/services/token.service.js +51 -101
- package/build/services/token.service.js.map +1 -1
- package/package.json +1 -1
package/build/config/aave.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isAddress } from "viem";
|
|
2
1
|
import { findKnownToken } from "./chains.js";
|
|
2
|
+
const HEX_ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
|
|
3
3
|
/** Aave V3 on Celo mainnet — from bgd-labs/aave-address-book AaveV3Celo */
|
|
4
4
|
export const AAVE_POOL = "0x3E59A31363E2ad014dcbc521c4a0d5757d9f3402";
|
|
5
5
|
export const AAVE_CHAIN_ID = 42220;
|
|
@@ -52,9 +52,10 @@ export function resolveAaveAsset(token) {
|
|
|
52
52
|
return byKnownSymbol;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
if (
|
|
55
|
+
if (HEX_ADDRESS_RE.test(normalized)) {
|
|
56
56
|
const lower = normalized.toLowerCase();
|
|
57
|
-
const byAddress = Object.values(AAVE_ASSETS).find((asset) => asset.underlying.toLowerCase() === lower
|
|
57
|
+
const byAddress = Object.values(AAVE_ASSETS).find((asset) => asset.underlying.toLowerCase() === lower ||
|
|
58
|
+
asset.aToken.toLowerCase() === lower);
|
|
58
59
|
if (byAddress) {
|
|
59
60
|
return byAddress;
|
|
60
61
|
}
|
package/build/config/aave.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aave.js","sourceRoot":"","sources":["../../src/config/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"aave.js","sourceRoot":"","sources":["../../src/config/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,4CAAqD,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AAQnC,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK;YACxC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CACvC,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CACnE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,kDAAkD,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtG,CAAC;AACJ,CAAC"}
|
package/build/config/chains.d.ts
CHANGED
|
@@ -930,6 +930,8 @@ export type Stablecoin = KnownToken & {
|
|
|
930
930
|
};
|
|
931
931
|
export declare const STABLECOINS: Stablecoin[];
|
|
932
932
|
export declare const KNOWN_TOKEN_SYMBOLS: string[];
|
|
933
|
+
/** Fuzzy registry lookup for mistyped symbols (e.g. GD for G$/GoodDollar). */
|
|
934
|
+
export declare function suggestKnownTokens(token: string): KnownToken[];
|
|
933
935
|
export declare function findKnownToken(token: string): KnownToken | undefined;
|
|
934
936
|
export declare function toMentoTokenAddress(address: `0x${string}` | "native"): `0x${string}`;
|
|
935
937
|
export declare function resolveStablecoins(symbols?: string[]): Stablecoin[];
|
package/build/config/chains.js
CHANGED
|
@@ -206,7 +206,7 @@ export const KNOWN_TOKENS = [
|
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
symbol: "GoodDollar",
|
|
209
|
-
aliases: ["G$"],
|
|
209
|
+
aliases: ["G$", "GD"],
|
|
210
210
|
address: "0x62B8B11039FcfE5aB0C56E502b1C372A3d2a9c7A",
|
|
211
211
|
issuer: "GoodDollar",
|
|
212
212
|
useCase: "UBI-focused stablecoin for financial inclusion",
|
|
@@ -226,7 +226,10 @@ function tokenMatchesInput(token, normalized, upper) {
|
|
|
226
226
|
}
|
|
227
227
|
return (token.aliases?.some((alias) => alias === normalized || alias.toUpperCase() === upper) ?? false);
|
|
228
228
|
}
|
|
229
|
-
|
|
229
|
+
function alphanumericKey(value) {
|
|
230
|
+
return value.trim().toUpperCase().replace(/[^A-Z0-9]/g, "");
|
|
231
|
+
}
|
|
232
|
+
function findKnownTokenExact(token) {
|
|
230
233
|
const normalized = token.trim();
|
|
231
234
|
const upper = normalized.toUpperCase();
|
|
232
235
|
const lower = normalized.toLowerCase();
|
|
@@ -234,6 +237,45 @@ export function findKnownToken(token) {
|
|
|
234
237
|
(upper === "NATIVE" && entry.address === "native") ||
|
|
235
238
|
(entry.address !== "native" && entry.address.toLowerCase() === lower));
|
|
236
239
|
}
|
|
240
|
+
/** Fuzzy registry lookup for mistyped symbols (e.g. GD for G$/GoodDollar). */
|
|
241
|
+
export function suggestKnownTokens(token) {
|
|
242
|
+
const normalized = token.trim();
|
|
243
|
+
const upper = normalized.toUpperCase();
|
|
244
|
+
const key = alphanumericKey(normalized);
|
|
245
|
+
if (!key) {
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
248
|
+
const matches = new Map();
|
|
249
|
+
for (const entry of KNOWN_TOKENS) {
|
|
250
|
+
if (tokenMatchesInput(entry, normalized, upper)) {
|
|
251
|
+
matches.set(entry.symbol, entry);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
const symbolKey = alphanumericKey(entry.symbol);
|
|
255
|
+
if (symbolKey === key ||
|
|
256
|
+
(key.length >= 2 &&
|
|
257
|
+
(symbolKey.startsWith(key) || key.startsWith(symbolKey)))) {
|
|
258
|
+
matches.set(entry.symbol, entry);
|
|
259
|
+
}
|
|
260
|
+
for (const alias of entry.aliases ?? []) {
|
|
261
|
+
const aliasKey = alphanumericKey(alias);
|
|
262
|
+
if (aliasKey === key ||
|
|
263
|
+
(key.length >= 2 &&
|
|
264
|
+
(aliasKey.startsWith(key) || key.startsWith(aliasKey)))) {
|
|
265
|
+
matches.set(entry.symbol, entry);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return [...matches.values()];
|
|
270
|
+
}
|
|
271
|
+
export function findKnownToken(token) {
|
|
272
|
+
const exact = findKnownTokenExact(token);
|
|
273
|
+
if (exact) {
|
|
274
|
+
return exact;
|
|
275
|
+
}
|
|
276
|
+
const suggestions = suggestKnownTokens(token);
|
|
277
|
+
return suggestions.length === 1 ? suggestions[0] : undefined;
|
|
278
|
+
}
|
|
237
279
|
export function toMentoTokenAddress(address) {
|
|
238
280
|
if (address === "native") {
|
|
239
281
|
return MENTO_CELO_ADDRESS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,29 +8,33 @@ export declare class TokenService {
|
|
|
8
8
|
private readonly clientFactory;
|
|
9
9
|
constructor(clientFactory: CeloClientFactory);
|
|
10
10
|
/**
|
|
11
|
-
* Resolve a
|
|
12
|
-
* @
|
|
13
|
-
* @throws If token is unknown
|
|
11
|
+
* Resolve a Celo mainnet registry token by symbol, alias, or registry address.
|
|
12
|
+
* @throws If the token is not in the Celo registry
|
|
14
13
|
*/
|
|
15
14
|
resolveToken(token: string): ResolvedToken;
|
|
16
|
-
/** Fetch
|
|
15
|
+
/** Fetch registry token metadata on Celo mainnet. */
|
|
17
16
|
getTokenInfo(token: string): Promise<{
|
|
18
|
-
network:
|
|
19
|
-
name: string;
|
|
17
|
+
network: "mainnet";
|
|
20
18
|
address: `0x${string}` | "native";
|
|
19
|
+
name: string;
|
|
21
20
|
symbol: string;
|
|
22
21
|
decimals: number;
|
|
23
22
|
}>;
|
|
24
|
-
/** CELO and ERC-20 balances for
|
|
23
|
+
/** CELO and ERC-20 balances for registry tokens (defaults: CELO, USDm). */
|
|
25
24
|
getBalances(address: `0x${string}`, tokens?: string[]): Promise<{
|
|
26
|
-
network:
|
|
25
|
+
network: "mainnet";
|
|
27
26
|
address: `0x${string}`;
|
|
28
|
-
balances: {
|
|
27
|
+
balances: ({
|
|
29
28
|
token: string;
|
|
30
|
-
address:
|
|
29
|
+
address: "native";
|
|
31
30
|
raw: string;
|
|
32
31
|
formatted: string;
|
|
33
|
-
}
|
|
32
|
+
} | {
|
|
33
|
+
token: string;
|
|
34
|
+
address: `0x${string}`;
|
|
35
|
+
raw: string;
|
|
36
|
+
formatted: string;
|
|
37
|
+
})[];
|
|
34
38
|
}>;
|
|
35
39
|
/**
|
|
36
40
|
* Scan registry stablecoins for an address; omits zero balances by default.
|
|
@@ -63,8 +67,17 @@ export declare class TokenService {
|
|
|
63
67
|
readError?: undefined;
|
|
64
68
|
})[];
|
|
65
69
|
}>;
|
|
66
|
-
/**
|
|
67
|
-
getTokenBalance(
|
|
70
|
+
/** Balance for a Celo mainnet registry token (symbol or registry address). */
|
|
71
|
+
getTokenBalance(token: string, accountAddress: `0x${string}`): Promise<{
|
|
72
|
+
network: "mainnet";
|
|
73
|
+
tokenAddress: "native";
|
|
74
|
+
accountAddress: `0x${string}`;
|
|
75
|
+
name: string;
|
|
76
|
+
symbol: string;
|
|
77
|
+
decimals: number;
|
|
78
|
+
raw: string;
|
|
79
|
+
formatted: string;
|
|
80
|
+
} | {
|
|
68
81
|
network: "mainnet";
|
|
69
82
|
tokenAddress: `0x${string}`;
|
|
70
83
|
accountAddress: `0x${string}`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { erc20Abi, formatUnits,
|
|
2
|
-
import { findKnownToken, KNOWN_TOKEN_SYMBOLS, resolveStablecoins, } from "../config/chains.js";
|
|
1
|
+
import { erc20Abi, formatUnits, parseUnits } from "viem";
|
|
2
|
+
import { findKnownToken, KNOWN_TOKEN_SYMBOLS, resolveStablecoins, suggestKnownTokens, } from "../config/chains.js";
|
|
3
3
|
import { normalizeAddress } from "../utils/normalize-address.js";
|
|
4
4
|
export class TokenService {
|
|
5
5
|
clientFactory;
|
|
@@ -7,67 +7,36 @@ export class TokenService {
|
|
|
7
7
|
this.clientFactory = clientFactory;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Resolve a
|
|
11
|
-
* @
|
|
12
|
-
* @throws If token is unknown
|
|
10
|
+
* Resolve a Celo mainnet registry token by symbol, alias, or registry address.
|
|
11
|
+
* @throws If the token is not in the Celo registry
|
|
13
12
|
*/
|
|
14
13
|
resolveToken(token) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
if (isAddress(normalized)) {
|
|
25
|
-
return {
|
|
26
|
-
address: normalized,
|
|
27
|
-
symbol: normalized,
|
|
28
|
-
decimals: 18,
|
|
29
|
-
};
|
|
14
|
+
const known = findKnownToken(token.trim());
|
|
15
|
+
if (!known) {
|
|
16
|
+
const suggestions = suggestKnownTokens(token);
|
|
17
|
+
if (suggestions.length > 0) {
|
|
18
|
+
throw new Error(`Unknown token "${token}" on Celo mainnet. Did you mean ${suggestions.map((entry) => entry.symbol).join(", ")}?`);
|
|
19
|
+
}
|
|
20
|
+
throw new Error(`Unknown token "${token}" on Celo mainnet. Use ${KNOWN_TOKEN_SYMBOLS.join(", ")}.`);
|
|
30
21
|
}
|
|
31
|
-
|
|
22
|
+
return {
|
|
23
|
+
address: known.address,
|
|
24
|
+
symbol: known.symbol,
|
|
25
|
+
decimals: known.decimals,
|
|
26
|
+
};
|
|
32
27
|
}
|
|
33
|
-
/** Fetch
|
|
28
|
+
/** Fetch registry token metadata on Celo mainnet. */
|
|
34
29
|
async getTokenInfo(token) {
|
|
35
30
|
const resolved = this.resolveToken(token);
|
|
36
|
-
if (resolved.address === "native") {
|
|
37
|
-
return {
|
|
38
|
-
...resolved,
|
|
39
|
-
network: "mainnet",
|
|
40
|
-
name: "Celo",
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
const { public: client } = this.clientFactory.getClients();
|
|
44
|
-
const address = resolved.address;
|
|
45
|
-
const [name, symbol, decimals] = await Promise.all([
|
|
46
|
-
client.readContract({
|
|
47
|
-
address,
|
|
48
|
-
abi: erc20Abi,
|
|
49
|
-
functionName: "name",
|
|
50
|
-
}),
|
|
51
|
-
client.readContract({
|
|
52
|
-
address,
|
|
53
|
-
abi: erc20Abi,
|
|
54
|
-
functionName: "symbol",
|
|
55
|
-
}),
|
|
56
|
-
client.readContract({
|
|
57
|
-
address,
|
|
58
|
-
abi: erc20Abi,
|
|
59
|
-
functionName: "decimals",
|
|
60
|
-
}),
|
|
61
|
-
]);
|
|
62
31
|
return {
|
|
63
32
|
network: "mainnet",
|
|
64
|
-
address,
|
|
65
|
-
name,
|
|
66
|
-
symbol,
|
|
67
|
-
decimals:
|
|
33
|
+
address: resolved.address,
|
|
34
|
+
name: resolved.address === "native" ? "Celo" : resolved.symbol,
|
|
35
|
+
symbol: resolved.symbol,
|
|
36
|
+
decimals: resolved.decimals,
|
|
68
37
|
};
|
|
69
38
|
}
|
|
70
|
-
/** CELO and ERC-20 balances for
|
|
39
|
+
/** CELO and ERC-20 balances for registry tokens (defaults: CELO, USDm). */
|
|
71
40
|
async getBalances(address, tokens = ["CELO", "USDm"]) {
|
|
72
41
|
const { public: client } = this.clientFactory.getClients();
|
|
73
42
|
const balances = await Promise.all(tokens.map(async (tokenInput) => {
|
|
@@ -87,18 +56,11 @@ export class TokenService {
|
|
|
87
56
|
functionName: "balanceOf",
|
|
88
57
|
args: [address],
|
|
89
58
|
});
|
|
90
|
-
const decimals = token.symbol === token.address
|
|
91
|
-
? Number(await client.readContract({
|
|
92
|
-
address: token.address,
|
|
93
|
-
abi: erc20Abi,
|
|
94
|
-
functionName: "decimals",
|
|
95
|
-
}))
|
|
96
|
-
: token.decimals;
|
|
97
59
|
return {
|
|
98
60
|
token: token.symbol,
|
|
99
61
|
address: token.address,
|
|
100
62
|
raw: balance.toString(),
|
|
101
|
-
formatted: formatUnits(balance, decimals),
|
|
63
|
+
formatted: formatUnits(balance, token.decimals),
|
|
102
64
|
};
|
|
103
65
|
}));
|
|
104
66
|
return { network: "mainnet", address, balances };
|
|
@@ -154,51 +116,39 @@ export class TokenService {
|
|
|
154
116
|
stablecoins,
|
|
155
117
|
};
|
|
156
118
|
}
|
|
157
|
-
/**
|
|
158
|
-
async getTokenBalance(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
try {
|
|
162
|
-
token = normalizeAddress(tokenAddress, "token address");
|
|
163
|
-
account = normalizeAddress(accountAddress, "account address");
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
throw error instanceof Error ? error : new Error(String(error));
|
|
167
|
-
}
|
|
119
|
+
/** Balance for a Celo mainnet registry token (symbol or registry address). */
|
|
120
|
+
async getTokenBalance(token, accountAddress) {
|
|
121
|
+
const resolved = this.resolveToken(token);
|
|
122
|
+
const account = normalizeAddress(accountAddress, "account address");
|
|
168
123
|
const { public: client } = this.clientFactory.getClients();
|
|
169
|
-
|
|
170
|
-
client.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
functionName: "balanceOf",
|
|
189
|
-
args: [account],
|
|
190
|
-
}),
|
|
191
|
-
]);
|
|
192
|
-
const dec = Number(decimals);
|
|
124
|
+
if (resolved.address === "native") {
|
|
125
|
+
const balance = await client.getBalance({ address: account });
|
|
126
|
+
return {
|
|
127
|
+
network: "mainnet",
|
|
128
|
+
tokenAddress: "native",
|
|
129
|
+
accountAddress: account,
|
|
130
|
+
name: "Celo",
|
|
131
|
+
symbol: "CELO",
|
|
132
|
+
decimals: resolved.decimals,
|
|
133
|
+
raw: balance.toString(),
|
|
134
|
+
formatted: formatUnits(balance, resolved.decimals),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
const balance = await client.readContract({
|
|
138
|
+
address: resolved.address,
|
|
139
|
+
abi: erc20Abi,
|
|
140
|
+
functionName: "balanceOf",
|
|
141
|
+
args: [account],
|
|
142
|
+
});
|
|
193
143
|
return {
|
|
194
144
|
network: "mainnet",
|
|
195
|
-
tokenAddress:
|
|
145
|
+
tokenAddress: resolved.address,
|
|
196
146
|
accountAddress: account,
|
|
197
|
-
name,
|
|
198
|
-
symbol,
|
|
199
|
-
decimals:
|
|
147
|
+
name: resolved.symbol,
|
|
148
|
+
symbol: resolved.symbol,
|
|
149
|
+
decimals: resolved.decimals,
|
|
200
150
|
raw: balance.toString(),
|
|
201
|
-
formatted: formatUnits(balance,
|
|
151
|
+
formatted: formatUnits(balance, resolved.decimals),
|
|
202
152
|
};
|
|
203
153
|
}
|
|
204
154
|
parseAmount(amount, decimals) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../src/services/token.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../src/services/token.service.ts"],"names":[],"mappings":"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"}
|