@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.
@@ -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 (isAddress(normalized)) {
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../src/config/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,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,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,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,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK,CACpD,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"}
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"}
@@ -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[];
@@ -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
- export function findKnownToken(token) {
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 token symbol or address to metadata (sync, no RPC).
12
- * @param token - Known symbol (`CELO`, `USDm`, …) or `0x` contract address
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 ERC-20 metadata or native CELO info for a symbol or address. */
15
+ /** Fetch registry token metadata on Celo mainnet. */
17
16
  getTokenInfo(token: string): Promise<{
18
- network: string;
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 specific tokens (defaults: CELO, USDm). */
23
+ /** CELO and ERC-20 balances for registry tokens (defaults: CELO, USDm). */
25
24
  getBalances(address: `0x${string}`, tokens?: string[]): Promise<{
26
- network: string;
25
+ network: "mainnet";
27
26
  address: `0x${string}`;
28
- balances: {
27
+ balances: ({
29
28
  token: string;
30
- address: string;
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
- /** ERC-20 balance for a specific token contract address. */
67
- getTokenBalance(tokenAddress: `0x${string}`, accountAddress: `0x${string}`): Promise<{
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, isAddress, parseUnits } from "viem";
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 token symbol or address to metadata (sync, no RPC).
11
- * @param token - Known symbol (`CELO`, `USDm`, …) or `0x` contract address
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 normalized = token.trim();
16
- const known = findKnownToken(normalized);
17
- if (known) {
18
- return {
19
- address: known.address,
20
- symbol: known.symbol,
21
- decimals: known.decimals,
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
- throw new Error(`Unknown token "${token}". Use ${KNOWN_TOKEN_SYMBOLS.join(", ")}, or a contract address.`);
22
+ return {
23
+ address: known.address,
24
+ symbol: known.symbol,
25
+ decimals: known.decimals,
26
+ };
32
27
  }
33
- /** Fetch ERC-20 metadata or native CELO info for a symbol or address. */
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: Number(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 specific tokens (defaults: CELO, USDm). */
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
- /** ERC-20 balance for a specific token contract address. */
158
- async getTokenBalance(tokenAddress, accountAddress) {
159
- let token;
160
- let account;
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
- const [name, symbol, decimals, balance] = await Promise.all([
170
- client.readContract({
171
- address: token,
172
- abi: erc20Abi,
173
- functionName: "name",
174
- }),
175
- client.readContract({
176
- address: token,
177
- abi: erc20Abi,
178
- functionName: "symbol",
179
- }),
180
- client.readContract({
181
- address: token,
182
- abi: erc20Abi,
183
- functionName: "decimals",
184
- }),
185
- client.readContract({
186
- address: token,
187
- abi: erc20Abi,
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: token,
145
+ tokenAddress: resolved.address,
196
146
  accountAddress: account,
197
- name,
198
- symbol,
199
- decimals: dec,
147
+ name: resolved.symbol,
148
+ symbol: resolved.symbol,
149
+ decimals: resolved.decimals,
200
150
  raw: balance.toString(),
201
- formatted: formatUnits(balance, dec),
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":"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"}
1
+ {"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../src/services/token.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina-sdk",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,