@@ -750,6 +750,14 @@ function ConnectedView({ error, setError, formData, setFormData, handlers, state
750750 </ TableBody >
751751 </ Table >
752752 </ TableContainer >
753+ < Button
754+ variant = "contained"
755+ onClick = { handlers . handleCleanupExpiredProposals }
756+ disabled = { states . isCleaning }
757+ sx = { { mt : 2 } }
758+ >
759+ { states . isCleaning ? < CircularProgress size = { 24 } /> : 'Cleanup Expired Proposals' }
760+ </ Button >
753761 </ AccordionDetails >
754762 </ Accordion >
755763 </ Grid >
@@ -803,6 +811,7 @@ export function TokenAdmin() {
803811 nonceEvents,
804812 bridgeOpEvents,
805813 transferFromContract,
814+ cleanupExpiredProposals,
806815 } = useAdminContract ( )
807816
808817 const [ isAddingToWhitelist , setIsAddingToWhitelist ] = useState ( false )
@@ -814,6 +823,7 @@ export function TokenAdmin() {
814823 const [ isWhitelisting , setIsWhitelisting ] = useState ( false )
815824 const [ isSettingNonce , setIsSettingNonce ] = useState ( false )
816825 const [ isTransferring , setIsTransferring ] = useState ( false )
826+ const [ isCleaning , setIsCleaning ] = useState ( false )
817827 const [ whitelistedAddresses , setWhitelistedAddresses ] = useState < string [ ] > ( [ ] ) ;
818828
819829 // Add this effect to fetch whitelisted addresses when component mounts
@@ -991,6 +1001,18 @@ export function TokenAdmin() {
9911001 }
9921002 }
9931003
1004+ const handleCleanupExpiredProposals = async ( ) => {
1005+ try {
1006+ setError ( null )
1007+ setIsCleaning ( true )
1008+ await cleanupExpiredProposals ( 10 )
1009+ } catch ( error : any ) {
1010+ setError ( error . message )
1011+ } finally {
1012+ setIsCleaning ( false )
1013+ }
1014+ }
1015+
9941016 const handlers = {
9951017 handleAddToWhitelist,
9961018 handleSetTransactionLimit,
@@ -1003,6 +1025,7 @@ export function TokenAdmin() {
10031025 handleSetBridgeOpNonce,
10041026 handleBridgeOp,
10051027 handleTransfer,
1028+ handleCleanupExpiredProposals,
10061029 }
10071030
10081031 const states = {
@@ -1016,6 +1039,7 @@ export function TokenAdmin() {
10161039 isSettingNonce,
10171040 isBridgeOp,
10181041 isTransferring,
1042+ isCleaning,
10191043 }
10201044
10211045 const data = {
0 commit comments