@@ -14,12 +14,9 @@ import useNotification from "../lib/useNotification";
1414import { Getters } from "./Getters" ;
1515import { useLoadVerifierRegistryInfo } from "../lib/useLoadVerifierRegistryInfo" ;
1616import { useContractAddress } from "../lib/useContractAddress" ;
17- import { useLoadContractInfo } from "../lib/useLoadContractInfo" ;
18- import { useQueries } from "@tanstack/react-query" ;
19- import { loadProofData } from "../lib/useLoadContractProof" ;
20- import { useIsTestnet } from "./TestnetBar" ;
2117import { useSyncGetters } from "../lib/getter/useGetters" ;
2218import { SourcesData } from "@ton-community/contract-verifier-sdk" ;
19+ import { ContractProofData , useLoadContractProof } from "../lib/useLoadContractProof" ;
2320
2421const TitleWrapper = styled ( CenteringBox ) ( {
2522 justifyContent : "space-between" ,
@@ -49,8 +46,6 @@ const SourceCodeTabs = styled(Tabs)({
4946 } ,
5047} ) ;
5148
52- type ProofData = Partial < SourcesData > & { hasOnchainProof : boolean } ;
53-
5449type DomIds = {
5550 containerId : string ;
5651 filesId : string ;
@@ -63,41 +58,32 @@ type TabConfig =
6358 id : string ;
6459 label : string ;
6560 type : "sources" ;
66- proof : ProofData ;
61+ proof : ContractProofData ;
6762 domIds : DomIds ;
6863 getterKey : string ;
6964 }
7065 | {
7166 id : string ;
7267 label : string ;
7368 type : "getters" ;
74- proof : ProofData ;
69+ proof : ContractProofData ;
7570 getterKey : string ;
7671 } ;
7772
7873function ContractSourceCode ( ) {
7974 const { contractAddress } = useContractAddress ( ) ;
80- const { data : contractInfo } = useLoadContractInfo ( contractAddress ) ;
8175 const { data : verifierRegistry } = useLoadVerifierRegistryInfo ( ) ;
76+ const { data : proofMap } = useLoadContractProof ( ) ;
8277 const [ value , setValue ] = useState ( 0 ) ;
8378 const isExtraSmallScreen = useMediaQuery ( "(max-width: 450px)" ) ;
8479 const modifiedCodeBlock = useMediaQuery ( "(max-width: 600px)" ) ;
8580 const { showNotification } = useNotification ( ) ;
86- const isTestnet = useIsTestnet ( ) ;
8781
8882 const verifierEntries = useMemo ( ( ) => Object . entries ( verifierRegistry ?? { } ) , [ verifierRegistry ] ) ;
8983
90- const proofQueries = useQueries ( {
91- queries : verifierEntries . map ( ( [ id , config ] ) => ( {
92- queryKey : [ "verifierProof" , contractAddress , id , isTestnet ] ,
93- enabled : ! ! contractAddress && ! ! contractInfo ?. codeCellToCompileBase64 ,
94- queryFn : ( ) => loadProofData ( contractInfo ! . codeCellToCompileBase64 , config . name , isTestnet ) ,
95- } ) ) ,
96- } ) ;
97-
9884 const verifierProofs = useMemo (
9985 ( ) =>
100- verifierEntries . map ( ( [ id , config ] , index ) => {
86+ verifierEntries . map ( ( [ id , config ] ) => {
10187 const safeKey = `${ contractAddress ?? "unknown" } -${ id } ` . replace ( / [ ^ a - z A - Z 0 - 9 ] / g, "-" ) ;
10288 return {
10389 id,
@@ -108,10 +94,10 @@ function ContractSourceCode() {
10894 filesId : `${ safeKey } -files` ,
10995 contentId : `${ safeKey } -content` ,
11096 } ,
111- proof : proofQueries [ index ] ?. data as ProofData | undefined ,
97+ proof : proofMap ?. get ( id ) ,
11298 } ;
11399 } ) ,
114- [ verifierEntries , proofQueries , contractAddress ] ,
100+ [ verifierEntries , proofMap , contractAddress ] ,
115101 ) ;
116102
117103 const tabs = useMemo < TabConfig [ ] > ( ( ) => {
@@ -265,7 +251,7 @@ function VerifierGettersPanel({
265251 isVisible,
266252} : {
267253 getterKey : string ;
268- proof : ProofData ;
254+ proof : ContractProofData ;
269255 isVisible : boolean ;
270256} ) {
271257 useSyncGetters ( getterKey , proof ?. files ) ;
0 commit comments