Skip to content

Commit cf90866

Browse files
authored
Merge pull request #35 from macalinao/igm/ue-accouns
Refactor useAccounts to have simpler types
2 parents 4f79666 + b3c1751 commit cf90866

File tree

10 files changed

+98
-60
lines changed

10 files changed

+98
-60
lines changed

.changeset/plain-keys-join.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"@macalinao/grill": minor
3+
"@macalinao/wallet-adapter-compat": patch
4+
"@macalinao/token-utils": patch
5+
"example-dapp": patch
6+
---
7+
8+
Breaking: Simplify useAccounts return type

.changeset/thick-pants-study.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
"@macalinao/wallet-adapter-compat": patch
3+
"@macalinao/token-utils": patch
4+
"@macalinao/zod-solana": patch
5+
"example-dapp": patch
6+
"@macalinao/grill": patch
7+
---
8+
9+
Dependency bumps

apps/example-dapp/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@
3636
"@solana/wallet-adapter-wallets": "^0.19.37",
3737
"@tailwindcss/vite": "^4.1.12",
3838
"@tanstack/react-query": "catalog:",
39-
"@tanstack/react-router": "^1.131.10",
39+
"@tanstack/react-router": "^1.131.27",
4040
"class-variance-authority": "^0.7.1",
4141
"clsx": "^2.1.1",
4242
"gill": "catalog:",
4343
"gill-react": "catalog:",
44-
"lucide-react": "^0.539.0",
44+
"lucide-react": "^0.540.0",
4545
"react": "catalog:",
4646
"react-dom": "catalog:",
4747
"react-hook-form": "^7.62.0",
@@ -53,21 +53,21 @@
5353
"@eslint/js": "^9.33.0",
5454
"@macalinao/eslint-config": "catalog:",
5555
"@macalinao/tsconfig": "catalog:",
56-
"@tanstack/react-query-devtools": "^5.85.3",
57-
"@tanstack/react-router-devtools": "^1.131.10",
58-
"@tanstack/router-plugin": "^1.131.11",
56+
"@tanstack/react-query-devtools": "^5.85.5",
57+
"@tanstack/react-router-devtools": "^1.131.27",
58+
"@tanstack/router-plugin": "^1.131.27",
5959
"@types/react": "catalog:",
6060
"@types/react-dom": "catalog:",
61-
"@vitejs/plugin-react": "^5.0.0",
61+
"@vitejs/plugin-react": "^5.0.1",
6262
"eslint": "catalog:",
6363
"eslint-plugin-react-hooks": "^5.2.0",
6464
"eslint-plugin-react-refresh": "^0.4.20",
6565
"globals": "^16.3.0",
6666
"tailwindcss": "^4.1.12",
67-
"tw-animate-css": "^1.3.6",
67+
"tw-animate-css": "^1.3.7",
6868
"typescript": "catalog:",
69-
"typescript-eslint": "^8.39.1",
70-
"vite": "^7.1.2",
69+
"typescript-eslint": "^8.40.0",
70+
"vite": "^7.1.3",
7171
"vite-plugin-node-polyfills": "^0.24.0",
7272
"vite-tsconfig-paths": "^5.1.4"
7373
},

apps/example-dapp/src/routes/examples/batch-accounts.tsx

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,25 +80,25 @@ const BatchAccountsComparison: React.FC = () => {
8080

8181
// Count how many are loading, have data, or errored
8282
const stats = useMemo(() => {
83-
let loading = 0;
8483
let found = 0;
8584
let notFound = 0;
86-
let errors = 0;
85+
const errors = 0;
8786

88-
batchResults.forEach((result) => {
89-
if (result.isLoading) {
90-
loading++;
91-
} else if (result.error) {
92-
errors++;
93-
} else if (result.data) {
87+
if (batchResults.isLoading) {
88+
const loading = tokenAccountAddresses.length;
89+
return { loading, found, notFound, errors };
90+
}
91+
92+
batchResults.data.forEach((account) => {
93+
if (account) {
9494
found++;
9595
} else {
9696
notFound++;
9797
}
9898
});
9999

100-
return { loading, found, notFound, errors };
101-
}, [batchResults]);
100+
return { loading: 0, found, notFound, errors };
101+
}, [batchResults, tokenAccountAddresses.length]);
102102

103103
return (
104104
<Card>
@@ -148,7 +148,8 @@ const BatchAccountsComparison: React.FC = () => {
148148
</p>
149149
<div className="grid grid-cols-2 gap-2">
150150
{COMMON_TOKENS.map((token, index) => {
151-
const result = batchResults[index];
151+
const account = batchResults.data[index];
152+
const isLoading = batchResults.isLoading;
152153
return (
153154
<div
154155
key={token.mint}
@@ -160,13 +161,9 @@ const BatchAccountsComparison: React.FC = () => {
160161
{token.symbol}
161162
</span>
162163
</div>
163-
{result?.isLoading ? (
164+
{isLoading ? (
164165
<Loader2 className="h-4 w-4 animate-spin" />
165-
) : result?.error ? (
166-
<span className="text-xs font-medium text-red-600">
167-
Error
168-
</span>
169-
) : result?.data ? (
166+
) : account ? (
170167
<span className="text-xs font-medium text-green-600">
171168
Found
172169
</span>

bun.lock

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@
3939
"@solana/wallet-adapter-wallets": "^0.19.37",
4040
"@tailwindcss/vite": "^4.1.12",
4141
"@tanstack/react-query": "catalog:",
42-
"@tanstack/react-router": "^1.131.10",
42+
"@tanstack/react-router": "^1.131.27",
4343
"class-variance-authority": "^0.7.1",
4444
"clsx": "^2.1.1",
4545
"gill": "catalog:",
4646
"gill-react": "catalog:",
47-
"lucide-react": "^0.539.0",
47+
"lucide-react": "^0.540.0",
4848
"react": "catalog:",
4949
"react-dom": "catalog:",
5050
"react-hook-form": "^7.62.0",
@@ -56,21 +56,21 @@
5656
"@eslint/js": "^9.33.0",
5757
"@macalinao/eslint-config": "catalog:",
5858
"@macalinao/tsconfig": "catalog:",
59-
"@tanstack/react-query-devtools": "^5.85.3",
60-
"@tanstack/react-router-devtools": "^1.131.10",
61-
"@tanstack/router-plugin": "^1.131.11",
59+
"@tanstack/react-query-devtools": "^5.85.5",
60+
"@tanstack/react-router-devtools": "^1.131.27",
61+
"@tanstack/router-plugin": "^1.131.27",
6262
"@types/react": "catalog:",
6363
"@types/react-dom": "catalog:",
64-
"@vitejs/plugin-react": "^5.0.0",
64+
"@vitejs/plugin-react": "^5.0.1",
6565
"eslint": "catalog:",
6666
"eslint-plugin-react-hooks": "^5.2.0",
6767
"eslint-plugin-react-refresh": "^0.4.20",
6868
"globals": "^16.3.0",
6969
"tailwindcss": "^4.1.12",
70-
"tw-animate-css": "^1.3.6",
70+
"tw-animate-css": "^1.3.7",
7171
"typescript": "catalog:",
72-
"typescript-eslint": "^8.39.1",
73-
"vite": "^7.1.2",
72+
"typescript-eslint": "^8.40.0",
73+
"vite": "^7.1.3",
7474
"vite-plugin-node-polyfills": "^0.24.0",
7575
"vite-tsconfig-paths": "^5.1.4",
7676
},
@@ -90,7 +90,7 @@
9090
"name": "@macalinao/grill",
9191
"version": "0.4.3",
9292
"dependencies": {
93-
"@macalinao/clients-token-metadata": "^0.2.0",
93+
"@macalinao/clients-token-metadata": "^0.2.1",
9494
"@macalinao/dataloader-es": "workspace:*",
9595
"@macalinao/solana-batch-accounts-loader": "workspace:*",
9696
"@macalinao/token-utils": "workspace:*",
@@ -103,7 +103,7 @@
103103
},
104104
"devDependencies": {
105105
"@macalinao/eslint-config": "catalog:",
106-
"@macalinao/eslint-config-react": "^3.1.2",
106+
"@macalinao/eslint-config-react": "^4.0.1",
107107
"@macalinao/tsconfig": "catalog:",
108108
"@tanstack/react-query": "catalog:",
109109
"@testing-library/react": "^16.3.0",
@@ -163,7 +163,7 @@
163163
},
164164
"devDependencies": {
165165
"@macalinao/eslint-config": "catalog:",
166-
"@macalinao/eslint-config-react": "^3.1.2",
166+
"@macalinao/eslint-config-react": "^4.0.1",
167167
"@macalinao/grill": "workspace:*",
168168
"@macalinao/tsconfig": "catalog:",
169169
"@solana/web3.js": "^1.98.4",
@@ -188,7 +188,7 @@
188188
"devDependencies": {
189189
"@macalinao/eslint-config": "catalog:",
190190
"@macalinao/tsconfig": "catalog:",
191-
"@solana/keys": "^2.0.0",
191+
"@solana/keys": "^2.3.0",
192192
"@solana/kit": "catalog:",
193193
"@types/bun": "catalog:",
194194
"eslint": "catalog:",
@@ -624,13 +624,13 @@
624624

625625
"@lit/reactive-element": ["@lit/[email protected]", "", { "dependencies": { "@lit-labs/ssr-dom-shim": "^1.4.0" } }, "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg=="],
626626

627-
"@macalinao/clients-token-metadata": ["@macalinao/[email protected].0", "", { "peerDependencies": { "@solana/kit": "*" } }, "sha512-ikUK2dJJoev99mFa7HCgIIWCdewOMJy6tr+3kLrBRlv2mag6LMH+IVhl1xuY69GC5UtG2+jVXUoKsw41wAVsLw=="],
627+
"@macalinao/clients-token-metadata": ["@macalinao/[email protected].1", "", { "peerDependencies": { "@solana/kit": "*" } }, "sha512-Hz/xjTK+74g1tamSkoYPH+2Kkwu7KX1b5KAu5Cej6xHv3DpyQYTsqvwskbldufM28O/JdqY+uJXihp61IjAW1Q=="],
628628

629629
"@macalinao/dataloader-es": ["@macalinao/dataloader-es@workspace:packages/dataloader-es"],
630630

631631
"@macalinao/eslint-config": ["@macalinao/[email protected]", "", { "dependencies": { "@eslint/js": "^9.30.0", "@typescript-eslint/eslint-plugin": "^8.35.1", "@typescript-eslint/parser": "^8.35.1", "@typescript-eslint/utils": "^8.35.1", "eslint": "^9.30.0", "eslint-config-prettier": "^10.1.5", "eslint-config-turbo": "^2.5.4", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-prettier": "^5.5.1", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-turbo": "^2.5.4", "eslint-plugin-unused-imports": "^4.1.4", "globals": "^16.2.0", "prettier": "^3.6.2", "tslib": "^2.8.1", "typescript-eslint": "^8.35.1" } }, "sha512-/oPhUUYQr8Kpbv4AJW+w7eF5VF/dtxwiteq3lSBr+poWZGmtwDklbvYKew2m01TVKWUmFQRhd3d8BSSzGC5pkA=="],
632632

633-
"@macalinao/eslint-config-react": ["@macalinao/eslint-config-react@3.1.2", "", { "dependencies": { "@eslint/js": "^9.30.0", "@macalinao/eslint-config": "^4.2.2", "@tanstack/eslint-plugin-query": "^5.81.2", "@tanstack/eslint-plugin-router": "^1.121.21", "@typescript-eslint/eslint-plugin": "^8.35.1", "@typescript-eslint/parser": "^8.35.1", "@typescript-eslint/utils": "^8.35.1", "eslint": "^9.30.0", "eslint-config-turbo": "^2.5.4", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-turbo": "^2.5.4", "globals": "^16.2.0", "react": "^19.1.0", "react-dom": "^19.1.0", "tslib": "^2.8.1", "typescript-eslint": "^8.35.1" } }, "sha512-+wu1ToQ12QsxikpPLczA71gOlkOa/kzOJAux8vPMeg4c7oIyntJHw/uAeao1fb5+4uu2AQkp6bVM0yaTeZWKVw=="],
633+
"@macalinao/eslint-config-react": ["@macalinao/eslint-config-react@4.0.1", "", { "dependencies": { "@macalinao/eslint-config": "^5.0.1", "@tanstack/eslint-plugin-query": "^5.83.1", "@typescript-eslint/utils": "^8.39.1", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "typescript-eslint": "^8.39.1" }, "peerDependencies": { "eslint": "^9.33.0" } }, "sha512-asQm8kvc9QeIVmzX54OumN8F86kChYXwzUZXIgYG5EHjLEhvvgENHdxkaKMu2SNnk59BeDPWloN3OtBcr1MToQ=="],
634634

635635
"@macalinao/grill": ["@macalinao/grill@workspace:packages/grill"],
636636

@@ -1114,8 +1114,6 @@
11141114

11151115
"@tanstack/eslint-plugin-query": ["@tanstack/[email protected]", "", { "dependencies": { "@typescript-eslint/utils": "^8.37.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" } }, "sha512-tdkpPFfzkTksN9BIlT/qjixSAtKrsW6PUVRwdKWaOcag7DrD1vpki3UzzdfMQGDRGeg1Ue1Dg+rcl5FJGembNg=="],
11161116

1117-
"@tanstack/eslint-plugin-router": ["@tanstack/[email protected]", "", { "dependencies": { "@typescript-eslint/utils": "^8.23.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" } }, "sha512-f0x2+MqVnfo+0z+HhAnJYoFbRRGcuc9W4p662Qsgi/z6KCFj1/HCQdorcZ3C8yjYAOsLd8zJivY1YnPbcJE+Yg=="],
1118-
11191117
"@tanstack/history": ["@tanstack/[email protected]", "", {}, "sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw=="],
11201118

11211119
"@tanstack/query-core": ["@tanstack/[email protected]", "", {}, "sha512-KO0WTob4JEApv69iYp1eGvfMSUkgw//IpMnq+//cORBzXf0smyRwPLrUvEe5qtAEGjwZTXrjxg+oJNP/C00t6w=="],
@@ -2298,7 +2296,7 @@
22982296

22992297
"lru-cache": ["[email protected]", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
23002298

2301-
"lucide-react": ["lucide-react@0.539.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-VVISr+VF2krO91FeuCrm1rSOLACQUYVy7NQkzrOty52Y8TlTPcXcMdQFj9bYzBgXbWCiywlwSZ3Z8u6a+6bMlg=="],
2299+
"lucide-react": ["lucide-react@0.540.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-armkCAqQvO62EIX4Hq7hqX/q11WSZu0Jd23cnnqx0/49yIxGXyL/zyZfBxNN9YDx0ensPTb4L+DjTh3yQXUxtQ=="],
23022300

23032301
"lz-string": ["[email protected]", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="],
23042302

@@ -3094,6 +3092,8 @@
30943092

30953093
"@keystonehq/sol-keyring/bs58": ["[email protected]", "", { "dependencies": { "base-x": "^4.0.0" } }, "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ=="],
30963094

3095+
"@macalinao/eslint-config-react/@macalinao/eslint-config": ["@macalinao/[email protected]", "", { "dependencies": { "@eslint/js": "^9.33.0", "@typescript-eslint/parser": "^8.39.1", "@typescript-eslint/utils": "^8.39.1", "eslint-config-prettier": "^10.1.8", "eslint-config-turbo": "^2.5.6", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-unused-imports": "^4.1.4", "globals": "^16.3.0", "typescript-eslint": "^8.39.1" }, "peerDependencies": { "eslint": "^9.33.0" } }, "sha512-y2irsItbTh2+qk5ICCGiNozKEcDJzZZjZ6ohRBbwNPWnl/X5hzS/pmeFvQzcw/USM4/eWbynsayobZMCIOWjAg=="],
3096+
30973097
"@manypkg/find-root/@types/node": ["@types/[email protected]", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="],
30983098

30993099
"@manypkg/find-root/find-up": ["[email protected]", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],

packages/grill/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"typecheck": "tsc --noEmit"
4646
},
4747
"dependencies": {
48-
"@macalinao/clients-token-metadata": "^0.2.0",
48+
"@macalinao/clients-token-metadata": "^0.2.1",
4949
"@macalinao/dataloader-es": "workspace:*",
5050
"@macalinao/solana-batch-accounts-loader": "workspace:*",
5151
"@macalinao/token-utils": "workspace:*",
@@ -58,7 +58,7 @@
5858
},
5959
"devDependencies": {
6060
"@macalinao/eslint-config": "catalog:",
61-
"@macalinao/eslint-config-react": "^3.1.2",
61+
"@macalinao/eslint-config-react": "^4.0.1",
6262
"@macalinao/tsconfig": "catalog:",
6363
"@tanstack/react-query": "catalog:",
6464
"@testing-library/react": "^16.3.0",

packages/grill/src/hooks/create-decoded-accounts-hook.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import type { Account, Address, Decoder } from "@solana/kit";
2-
import type { QueriesResults } from "@tanstack/react-query";
1+
import type { Address, Decoder } from "@solana/kit";
2+
import type { UseAccountsResult } from "./use-accounts.js";
33
import { useAccounts } from "./use-accounts.js";
44

55
/**
66
* A hook for fetching and decoding multiple accounts.
77
*/
88
export type UseDecodedAccountsHook<TData extends object> = (args: {
99
addresses: (Address | null | undefined)[];
10-
}) => QueriesResults<(Account<TData> | null)[]>;
10+
}) => UseAccountsResult<TData>;
1111

1212
/**
1313
* Generic helper to create a hook for fetching and decoding multiple accounts
@@ -21,7 +21,7 @@ export function createDecodedAccountsHook<TData extends object>(
2121
addresses,
2222
}: {
2323
addresses: (Address | null | undefined)[];
24-
}): QueriesResults<(Account<TData> | null)[]> {
24+
}): UseAccountsResult<TData> {
2525
return useAccounts({
2626
addresses,
2727
decoder,

packages/grill/src/hooks/use-accounts.ts

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { QueriesResults } from "@tanstack/react-query";
21
import { useQueries } from "@tanstack/react-query";
32
import type {
43
Account,
@@ -16,7 +15,7 @@ import type { GillUseRpcHook } from "./types.js";
1615

1716
type RpcConfig = Simplify<Omit<FetchAccountConfig, "abortSignal">>;
1817

19-
type UseAccountsInput<
18+
export type UseAccountsInput<
2019
TConfig extends RpcConfig = RpcConfig,
2120
TDecodedData extends object = Uint8Array,
2221
> = GillUseRpcHook<TConfig> & {
@@ -32,6 +31,16 @@ type UseAccountsInput<
3231
decoder?: Decoder<TDecodedData>;
3332
};
3433

34+
export type UseAccountsResult<TDecodedData extends object> =
35+
| {
36+
isLoading: true;
37+
data: (Account<TDecodedData> | null | undefined)[];
38+
}
39+
| {
40+
isLoading: false;
41+
data: (Account<TDecodedData> | null)[];
42+
};
43+
3544
/**
3645
* Get account info for multiple addresses with automatic batching via DataLoader.
3746
* Concurrent queries are automatically batched into a single RPC call.
@@ -58,19 +67,34 @@ export function useAccounts<
5867
options,
5968
addresses,
6069
decoder,
61-
}: UseAccountsInput<TConfig, TDecodedData>): QueriesResults<
62-
(Account<TDecodedData> | null)[]
63-
> {
70+
}: UseAccountsInput<TConfig, TDecodedData>): UseAccountsResult<TDecodedData> {
6471
const { accountLoader } = useGrillContext();
65-
6672
return useQueries({
6773
queries: addresses.map((address) => ({
6874
networkMode: "offlineFirst" as const,
6975
...options,
7076
// eslint-disable-next-line @tanstack/query/exhaustive-deps
7177
queryKey: address ? createAccountQueryKey(address) : [null],
72-
queryFn: () => fetchAndDecodeAccount(address, accountLoader, decoder),
78+
queryFn: (): Promise<Account<TDecodedData> | null> =>
79+
fetchAndDecodeAccount(address, accountLoader, decoder),
7380
enabled: !!address,
7481
})),
82+
combine: (results) => {
83+
const isLoading = results.some(
84+
(result) => result.isLoading || result.data === undefined,
85+
);
86+
if (isLoading) {
87+
return {
88+
isLoading: true,
89+
data: results.map((result) => result.data),
90+
};
91+
}
92+
return {
93+
isLoading: false,
94+
data: results
95+
.map((result) => result.data)
96+
.filter((r) => r !== undefined),
97+
};
98+
},
7599
});
76100
}

packages/wallet-adapter-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@
4646
"tslib": "catalog:"
4747
},
4848
"devDependencies": {
49-
"@macalinao/grill": "workspace:*",
5049
"@macalinao/eslint-config": "catalog:",
51-
"@macalinao/eslint-config-react": "^3.1.2",
50+
"@macalinao/eslint-config-react": "^4.0.1",
51+
"@macalinao/grill": "workspace:*",
5252
"@macalinao/tsconfig": "catalog:",
5353
"@solana/web3.js": "^1.98.4",
5454
"@types/react": "catalog:",

packages/zod-solana/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"devDependencies": {
4949
"@macalinao/eslint-config": "catalog:",
5050
"@macalinao/tsconfig": "catalog:",
51-
"@solana/keys": "^2.0.0",
51+
"@solana/keys": "^2.3.0",
5252
"@solana/kit": "catalog:",
5353
"@types/bun": "catalog:",
5454
"eslint": "catalog:",

0 commit comments

Comments
 (0)