Skip to content

Commit 55c650a

Browse files
chore: bump web3auth and skip (#588) (#602)
(cherry picked from commit 467261f) Co-authored-by: Félix C. Morency <1102868+fmorency@users.noreply.github.com>
1 parent d11a83c commit 55c650a

File tree

6 files changed

+645
-842
lines changed

6 files changed

+645
-842
lines changed

bun.lock

Lines changed: 507 additions & 751 deletions
Large diffs are not rendered by default.

components/admins/modals/__tests__/validatorModal.test.tsx

Lines changed: 132 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ function renderWithProps(props = {}) {
2828
}
2929

3030
describe('ValidatorDetailsModal Component', () => {
31+
const TIMEOUT = 30000;
32+
3133
beforeEach(() => {
3234
mockRouter();
3335
});
@@ -36,105 +38,149 @@ describe('ValidatorDetailsModal Component', () => {
3638
clearAllMocks();
3739
});
3840

39-
test('renders modal with correct details', () => {
40-
renderWithProps();
41-
expect(screen.getByText('Validator Details')).toBeInTheDocument();
42-
expect(screen.getByText('Validator One')).toBeInTheDocument();
43-
expect(screen.getByText('security1@foobar.com')).toBeInTheDocument();
44-
const detailsContainer = screen.getByLabelText('details');
45-
expect(within(detailsContainer).getByText('details1')).toBeInTheDocument();
46-
});
41+
test(
42+
'renders modal with correct details',
43+
() => {
44+
renderWithProps();
45+
expect(screen.getByText('Validator Details')).toBeInTheDocument();
46+
expect(screen.getByText('Validator One')).toBeInTheDocument();
47+
expect(screen.getByText('security1@foobar.com')).toBeInTheDocument();
48+
const detailsContainer = screen.getByLabelText('details');
49+
expect(within(detailsContainer).getByText('details1')).toBeInTheDocument();
50+
},
51+
TIMEOUT
52+
);
4753

48-
test('updates input field correctly', async () => {
49-
renderWithProps();
50-
const input = screen.getByPlaceholderText('1000');
51-
fireEvent.change(input, { target: { value: '2000' } });
52-
await waitFor(() => {
53-
expect(input).toHaveValue(2000);
54-
});
55-
});
54+
test(
55+
'updates input field correctly',
56+
async () => {
57+
renderWithProps();
58+
const input = screen.getByPlaceholderText('1000');
59+
fireEvent.change(input, { target: { value: '2000' } });
60+
await waitFor(() => {
61+
expect(input).toHaveValue(2000);
62+
});
63+
},
64+
TIMEOUT
65+
);
5666

57-
test('enables upgrade button when input is valid', async () => {
58-
renderWithProps();
59-
const input = screen.getByPlaceholderText('1000');
60-
fireEvent.change(input, { target: { value: '2000' } });
61-
await waitFor(() => {
62-
const updateButton = screen.getByText('Update');
63-
expect(updateButton).not.toBeDisabled();
64-
});
65-
});
67+
test(
68+
'enables upgrade button when input is valid',
69+
async () => {
70+
renderWithProps();
71+
const input = screen.getByPlaceholderText('1000');
72+
fireEvent.change(input, { target: { value: '2000' } });
73+
await waitFor(() => {
74+
const updateButton = screen.getByText('Update');
75+
expect(updateButton).not.toBeDisabled();
76+
});
77+
},
78+
TIMEOUT
79+
);
6680

67-
test('disables upgrade button when input is invalid', async () => {
68-
renderWithProps();
69-
const input = screen.getByPlaceholderText('1000');
70-
fireEvent.change(input, { target: { value: '-1' } });
71-
fireEvent.blur(input);
72-
await waitFor(() => {
73-
const updateButton = screen.getByText('Update');
74-
expect(updateButton).toBeDisabled();
75-
});
76-
});
81+
test(
82+
'disables upgrade button when input is invalid',
83+
async () => {
84+
renderWithProps();
85+
const input = screen.getByPlaceholderText('1000');
86+
fireEvent.change(input, { target: { value: '-1' } });
87+
fireEvent.blur(input);
88+
await waitFor(() => {
89+
const updateButton = screen.getByText('Update');
90+
expect(updateButton).toBeDisabled();
91+
});
92+
},
93+
TIMEOUT
94+
);
7795

78-
test('shows error message for invalid power input', async () => {
79-
renderWithProps();
80-
const input = screen.getByPlaceholderText('1000');
81-
fireEvent.change(input, { target: { value: '-1' } });
82-
fireEvent.blur(input);
83-
await waitFor(() => {
84-
const errorMessage = screen.getByText(
85-
(_content, element) =>
86-
(element as HTMLElement)?.dataset?.tip === 'Power must be greater than 0'
87-
);
88-
expect(errorMessage).toBeInTheDocument();
89-
});
90-
});
96+
test(
97+
'shows error message for invalid power input',
98+
async () => {
99+
renderWithProps();
100+
const input = screen.getByPlaceholderText('1000');
101+
fireEvent.change(input, { target: { value: '-1' } });
102+
fireEvent.blur(input);
103+
await waitFor(() => {
104+
const errorMessage = screen.getByText(
105+
(_content, element) =>
106+
(element as HTMLElement)?.dataset?.tip === 'Power must be greater than 0'
107+
);
108+
expect(errorMessage).toBeInTheDocument();
109+
});
110+
},
111+
TIMEOUT
112+
);
91113

92-
test('shows warning message for unsafe power upgrade', async () => {
93-
renderWithProps();
94-
const input = screen.getByPlaceholderText('1000');
95-
fireEvent.change(input, { target: { value: '9000' } });
96-
fireEvent.blur(input);
97-
await waitFor(() => {
98-
const warningMessage = screen.getByText(/Warning: This power update may be unsafe/i);
99-
expect(warningMessage).toBeInTheDocument();
100-
});
101-
});
114+
test(
115+
'shows warning message for unsafe power upgrade',
116+
async () => {
117+
renderWithProps();
118+
const input = screen.getByPlaceholderText('1000');
119+
fireEvent.change(input, { target: { value: '9000' } });
120+
fireEvent.blur(input);
121+
await waitFor(() => {
122+
const warningMessage = screen.getByText(/Warning: This power update may be unsafe/i);
123+
expect(warningMessage).toBeInTheDocument();
124+
});
125+
},
126+
TIMEOUT
127+
);
102128

103-
test('show banner when hasUnbonding is true (active)', () => {
104-
renderWithProps({ hasUnbonding: true });
129+
test(
130+
'show banner when hasUnbonding is true (active)',
131+
() => {
132+
renderWithProps({ hasUnbonding: true });
105133

106-
expect(
107-
screen.queryByText(/You cannot update validator power while validator\(s\) are unbonding\./i)
108-
).toBeInTheDocument();
134+
expect(
135+
screen.queryByText(
136+
/You cannot update validator power while validator\(s\) are unbonding\./i
137+
)
138+
).toBeInTheDocument();
109139

110-
const updateButton = screen.getByText('Update');
111-
expect(updateButton).toBeDisabled();
112-
});
140+
const updateButton = screen.getByText('Update');
141+
expect(updateButton).toBeDisabled();
142+
},
143+
TIMEOUT
144+
);
113145

114-
test('show banner when hasUnbonding is true (pending)', () => {
115-
renderWithProps({ validator: mockPendingValidators[0], hasUnbonding: true });
146+
test(
147+
'show banner when hasUnbonding is true (pending)',
148+
() => {
149+
renderWithProps({ validator: mockPendingValidators[0], hasUnbonding: true });
116150

117-
expect(
118-
screen.queryByText(/You cannot update validator power while validator\(s\) are unbonding\./i)
119-
).toBeInTheDocument();
151+
expect(
152+
screen.queryByText(
153+
/You cannot update validator power while validator\(s\) are unbonding\./i
154+
)
155+
).toBeInTheDocument();
120156

121-
const updateButton = screen.getByText('Update');
122-
expect(updateButton).toBeDisabled();
123-
});
157+
const updateButton = screen.getByText('Update');
158+
expect(updateButton).toBeDisabled();
159+
},
160+
TIMEOUT
161+
);
124162

125-
test('shows UNBONDING TIME and hides POWER when unbonding_time is set', () => {
126-
renderWithProps({ validator: mockUnbondingValidators[0], hasUnbonding: true });
163+
test(
164+
'shows UNBONDING TIME and hides POWER when unbonding_time is set',
165+
() => {
166+
renderWithProps({ validator: mockUnbondingValidators[0], hasUnbonding: true });
127167

128-
expect(screen.getByText('UNBONDING TIME (UTC)')).toBeInTheDocument();
129-
expect(screen.queryByText('POWER')).not.toBeInTheDocument();
130-
expect(screen.queryByText('Update')).not.toBeInTheDocument();
131-
});
168+
expect(screen.getByText('UNBONDING TIME (UTC)')).toBeInTheDocument();
169+
expect(screen.queryByText('POWER')).not.toBeInTheDocument();
170+
expect(screen.queryByText('Update')).not.toBeInTheDocument();
171+
},
172+
TIMEOUT
173+
);
132174

133-
test('ignores Unix epoch 0 unbonding_time and shows POWER', () => {
134-
renderWithProps({});
175+
test(
176+
'ignores Unix epoch 0 unbonding_time and shows POWER',
177+
() => {
178+
renderWithProps({});
135179

136-
expect(screen.queryByText('UNBONDING TIME (UTC)')).not.toBeInTheDocument();
137-
expect(screen.getByText('POWER')).toBeInTheDocument();
138-
expect(screen.getByText('Update')).toBeInTheDocument();
139-
});
180+
expect(screen.queryByText('UNBONDING TIME (UTC)')).not.toBeInTheDocument();
181+
expect(screen.getByText('POWER')).toBeInTheDocument();
182+
expect(screen.getByText('Update')).toBeInTheDocument();
183+
},
184+
TIMEOUT
185+
);
140186
});

components/bank/forms/ibcSendForm.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ function IbcSendForm({ token }: { token: string }) {
161161
},
162162
success: {
163163
text: '#4caf50',
164+
background: '#161616',
164165
},
165166
warning: {
166167
background: '#ffb300',

contexts/web3AuthContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,11 @@ export const Web3AuthProvider = ({ children }: { children: ReactNode }) => {
115115
logo: '/sms',
116116
},
117117
],
118-
mfaLevel: 'optional',
119118
client: {
120119
clientId: env.web3AuthClientId,
121120
web3AuthNetwork: env.web3AuthNetwork as WEB3AUTH_NETWORK_TYPE, // Safe to cast since we validate the env vars in config/env.ts
122121
sessionTime: 60 * 60 * 24 * 7, // 7 days in s
122+
mfaLevel: 'optional',
123123
},
124124
promptSign: async (_, signData) =>
125125
new Promise(resolve =>

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"@cosmos-kit/leap-metamask-cosmos-snap": "0.15.3",
3838
"@cosmos-kit/ledger": "2.14.3",
3939
"@cosmos-kit/react": "2.22.3",
40-
"@cosmos-kit/web3auth": "2.16.3",
40+
"@cosmos-kit/web3auth": "npm:@manifest-network/web3auth@2.16.6-ll.1",
4141
"@fontsource/manrope": "5.2.5",
4242
"@headlessui/react": "2.2.0",
4343
"@headlessui/tailwindcss": "0.2.2",
@@ -47,8 +47,8 @@
4747
"@react-three/drei": "10.0.5",
4848
"@react-three/fiber": "9.1.0",
4949
"@sinonjs/fake-timers": "14.0.0",
50-
"@skip-go/client": "1.3.7",
51-
"@skip-go/widget": "3.12.11",
50+
"@skip-go/client": "1.5.9",
51+
"@skip-go/widget": "3.14.14",
5252
"@tailwindcss/postcss": "4.0.17",
5353
"@tanstack/react-query": "5.69.0",
5454
"@tanstack/react-query-devtools": "5.71.5",

tests/mock.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ describe('Mock', () => {
1212
expect(() => mockModule('./data', () => ({}))).toThrow(
1313
'Module "./data" is already mocked. Use force=true to overwrite.'
1414
);
15-
});
15+
}, 15000);
1616
});

0 commit comments

Comments
 (0)