मुख्य सामग्री पर जाएं
जब आप किसी proxy contract के साथ transaction का simulation करते हैं, तो Tenderly आसान debugging and editing code के लिए proxy और उस contract दोनों के सभी functions दिखाएगा जिस पर वह delegate करता है।
Proxy contract में मूल रूप से केवल एक variable होता है, जो आपकी transaction को forward करने के लिए destination address होता है। इनका उपयोग मुख्य रूप से contract versioning या bug fixes को आसान बनाने के लिए किया जाता है, जहाँ यदि आप अपने smart contract को बदलना चाहते हैं तो आप dependencies की चिंता किए बिना एक नई deployment कर सकते हैं, और बस अपने proxy contract में delivery address को नए अपडेट किए गए contract में बदल सकते हैं। आप standard flow के माध्यम से किसी भी contract को इम्पोर्ट कर सकते हैं: Tenderly स्वचालित रूप से proxy contract का पता लगा लेगा और आपको इसका latest implementation भी जोड़ने का विकल्प देगा: आप अपने proxy contract के लिए सेट किए गए सभी पिछले (ऐतिहासिक) destinations भी देख सकेंगे: इसके अतिरिक्त, यदि आपका contract proxy के रूप में उपयोग किया जाना है लेकिन वर्तमान industry standards द्वारा परिभाषित नहीं है, तो आप किसी भी contract को proxy contract में बदल सकते हैं: यदि आप एक proxy contract इम्पोर्ट कर रहे हैं जो उन दो industry standards में से किसी एक के अनुरूप नहीं है जिसे Tenderly स्वचालित रूप से पहचानता है (EIP-1967 और EIP-1167), तो आप अब आसानी से उस proxy contract को Tenderly द्वारा पहचाने जाने के लिए बदल सकते हैं। यदि आप ऊपर उल्लिखित दो के अलावा एक अलग standard का उपयोग कर रहे हैं, तो आप अपने contract पर परिभाषित एक view function प्रदान कर सकते हैं जो implementation address लौटाता है। आप इस contract को Proxy में बदलने के लिए implementation address वाले storage slot को मैन्युअल रूप से सेट भी कर सकते हैं। Tenderly उन सभी functions को सूचीबद्ध करेगा जो parameters के बिना हैं और जो address को अपने return type के रूप में लौटाते हैं, ताकि आप एक function चुन सकें जो proxied contract के लिए implementation लौटाता है। आप वह account भी चुन सकते हैं जिससे यह transaction भेजा जाएगा, जो महत्वपूर्ण है यदि आपके द्वारा चुने गए proxy contract function के कुछ विशिष्ट execution नियम हैं (उदा., वे addresses जिनसे इसे कॉल किया जा सकता है)। यदि यह आपका पसंदीदा तरीका है तो आप अभी भी use storage slot switch को चालू करके अपने proxy contracts को इम्पोर्ट करने के लिए implementation slot hash का उपयोग कर सकते हैं।