Bài viết này được dịch máy
Xem bản gốc
Đêm qua, @cumbercapital đã liên hệ với một vấn đề: anh ấy đã vô tình gửi 60.000 đô la USDC trên Arbitrum đến địa chỉ của một token trên Base.
Rất vui được thông báo rằng hôm nay chúng tôi đã thành công trong việc khôi phục nó.
Đây là cách thức (liên kết kho lưu trữ cứu hộ ở cuối)
1/🧵

2/ Tôi đã đi thẳng đến triển khai hợp đồng trên Base để tìm hiểu cách triển khai. Nếu triển khai thông qua opcode `CREATE`, thì chúng ta có thể triển khai hợp đồng cứu hộ trên Arbitrum từ cùng một người triển khai và Nonce, và nó sẽ kết thúc ở cùng một địa chỉ.
3/ Thật không may, nó được tạo ra bởi một hợp đồng khác, điều này có thể gây ra thảm họa. Rất may, hợp đồng đó đã được triển khai bởi cùng một đơn vị triển khai chỉ ba giao dịch trước đó -- chỉ là một sự phức tạp nhỏ.
Và thậm chí còn may mắn hơn, nó thực sự được triển khai thông qua `CREATE`


4/ Giống như triển khai EOA `CREATE` được xác định dựa trên Nonce, triển khai hợp đồng thông minh cũng vậy. Hợp đồng có Nonce riêng, hơi vô hình, được sử dụng cụ thể và chỉ tăng lên khi chính chúng triển khai một hợp đồng thông minh mới.
5/ Để tiến hành cứu hộ, chúng ta chỉ cần:
- Truy cập vào ví triển khai (0x2CD5)
- Triển khai nhà máy hợp đồng thông minh bằng cách sử dụng Nonce 2 của người triển khai
- Triển khai hợp đồng cứu hộ từ nhà máy đó bằng cách sử dụng Nonce 0 của nhà máy
Nhìn chung, nó trông giống như thế này:

6/ Bản thân hợp đồng nhà máy và cứu hộ rất đơn giản. Hãy xem chúng bên dưới -
Nhà máy chỉ có một chức năng duy nhất là tạo ra hợp đồng cứu hộ mới.
Hợp đồng cứu hộ chuyển USDC khi triển khai.
Ngoài ra còn có một biện pháp cứu hộ chung trong trường hợp có bất kỳ thứ gì khác được gửi đến.

7/ Xin gửi lời cảm ơn chân thành đến @mjayceee vì đã phản hồi và hợp tác rất tích cực trong suốt quá trình, và đã thiết lập và vận hành mọi thứ vào sáng nay.
Tôi rất vui vì chúng tôi đã có thể lấy lại được tiền và giúp @cumbercapital trở lại trạng thái hoàn chỉnh. twitter.com/2573380344/status/...
Đúng rồi, LINK (Chainlink) repo: github.com/QuitCrypto/Rescue-U...
Và cứu hộ tx: arbiscan.io/tx/0x556373755a365...
Khu vực:
Từ Twitter
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận
Chia sẻ
Nội dung liên quan





