Bethropic

Apa yang diperiksa jendela withdraw sebelum mengirim

sepialadle7750 dilihat
🌐 Originally written in English· AI translationView original

Urutan pemeriksaan

Jendela withdraw adalah formulir dengan alamat, jumlah, kadang jaringan, kadang tag, dan kadang kode. Formulir seperti ini ada di setiap exchange dan setiap wallet, dan mereka semua terlihat sama, yang menyembunyikan berapa banyak keputusan yang sudah dibuat pada saat tombol diaktifkan. Yang ini cukup pendek untuk dibaca secara lengkap, jadi ini adalah apa yang dilakukannya.

Pemeriksaan yang dilakukan jendela withdraw pada jumlah, dalam urutan

PEMERIKSAANAPA YANG LULUSAPA YANG ANDA LIHAT JIKA GAGAL
Apakah itu angka lebih besar dari nol?Jumlah positif apa punKesalahan jumlah, dan tombol tetap mati
Apakah Anda memilikinya?Jumlah ≤ saldo Anda dalam koin itu, dikonversi dari unit terkecil koin"Saldo tidak cukup"
Apakah cukup untuk dikirim?Jumlah ≥ penarikan minimum koinMinimum, dengan simbol koin, dalam pesan

Minimum dan biaya adalah per koin dan per jaringan, dan keduanya dicetak dalam teks peringatan di bawah formulir sebelum Anda mengetik apa pun.

ENGINE-VERIFIEDcomponent/common/popup/wallet/withdraw.tsx: amount validator menolak nilai non-positif (amountError), kemudian membandingkan Big(balance) ÷ 10^precision dengan nilai yang diketik (notEnoughBalance), kemudian membandingkan selectCoin.minWithdrawView dengannya (minWithdraw, dengan {min} dan {symbol} disubstitusi). Blok peringatan merender withdrawWarn dengan {symbol}, {min: selectCoin.minWithdrawView} dan {fee: selectCoin.feeView}. store/CoinStore.ts: minWithdrawView dan feeView membagi minWithdraw dan fee yang disimpan dengan 10^precision.

Jaringan, tag, dan kode

Tiga bidang muncul hanya ketika koin membutuhkannya, dan setiap bidang ada karena cara uang hilang. Pemilih jaringan muncul untuk koin yang berada di lebih dari satu rantai: stablecoin dapat bepergian sebagai token ERC-20, token TRC-20, atau di beberapa jaringan lain, dan transfer yang dikirim di jaringan yang tidak ditonton wallet penerima bukanlah transfer, itu adalah kerugian. Ketika Anda memilih jaringan, permintaan membawa koin dasar jaringan itu, jadi server tahu persis rantai mana yang Anda minta. Artikel jaringan mencakup separuh lain dari masalahnya.

Bidang tag muncul untuk koin yang alamatnya mengidentifikasi exchange atau wallet bersama daripada seseorang, dan tag tujuan atau memo yang mengidentifikasi Anda di dalamnya. Mengirim ke alamat tanpa tag mendarat dana di gedung yang tepat tanpa nomor ruangan. Jendela mengirim tag sebagai bidangnya sendiri, dan hanya untuk koin tersebut.

Kolom kode muncul jika Anda telah mengaktifkan kode sekali pakai untuk akun Anda. Jendela menerima tepat enam digit, menyertakan kode dalam permintaan, dan server memeriksanya sebelum melakukan apa pun. Ini adalah satu-satunya pemeriksaan dalam daftar yang melindungi Anda dari seseorang yang bukan Anda, dan itulah mengapa ini layak untuk diaktifkan.

ENGINE-VERIFIEDwithdraw.tsx: badan permintaan adalah { coinId, amount: Big(amount) × 10^precision sebagai string, address }; baseCoinId ditambahkan ketika isNetworkCoin && selectedNetwork; otpCode ditambahkan ketika input enam digit (onTypeOtp: code.length === 6) diisi; tag ditambahkan ketika selectCoin.type === ECoinType.TAG dan kolom tidak kosong. Permintaan adalah api.post('/wallet/withdraw', body); kode yang tidak berhasil dilempar dan ditampilkan, kesuksesan menunjukkan requestWithdrawDone dan menutup jendela.

Apa yang tidak dapat diperiksa

Setiap pemeriksaan di atas adalah tentang jumlah, rute, dan pengirim. Tidak ada yang tentang tujuan, karena tidak ada yang bisa. Alamat adalah string yang baik bentuknya atau tidak, dan alamat yang terbentuk dengan baik milik orang asing tidak dapat dibedakan dari alamat yang terbentuk dengan baik milik Anda. Situs dapat melihat bahwa string tersebut diuraikan. Tidak dapat melihat milik siapa itu.

  • Situs memeriksa jumlah, saldo, minimum, jaringan, tag, dan kode. Itu adalah tugasnya, dan kegagalan dalam salah satunya menghentikan permintaan sebelum meninggalkan browser.
  • Anda memeriksa alamatnya. Salin dari tempat yang mengeluarkannya, baca karakter tengah serta ujungnya, dan perlakukan setiap transfer kecil baru dalam riwayat Anda sebagai alasan untuk melihat lebih keras, bukan sebagai jalan pintas.
  • Biaya adalah milik jaringan, ditampilkan di muka. Biaya dicetak di sebelah minimum sebelum Anda mengetik, dan artikel tentang biaya menjelaskan mengapa biaya berubah.
  • Setelah tombol, rantai memutuskan. Penarikan yang diajukan diproses oleh layanan dompet dan kemudian dikonfirmasi oleh jaringan; apa itu konfirmasi mencakup penantian.

Artikel ini menjelaskan komponen penarikan sisi klien seperti yang muncul di repositori; layanan dompet melakukan pemeriksaannya sendiri di server dan merupakan otoritas tentang apakah penarikan dikirim. Batas, biaya, dan minimum adalah per koin dan dapat berubah; jendela menampilkan nilai saat ini.

FAQ

Mengapa tombol penarikan tetap dinonaktifkan?

Karena salah satu pemeriksaan gagal: jumlahnya tidak positif, melebihi saldo Anda, atau di bawah minimum koin, atau kolom yang diperlukan seperti jaringan, tag, atau kode enam digit hilang. Pesan di bawah jumlah mengatakan yang mana.

Di mana saya melihat minimum dan biayanya?

Dalam teks peringatan di bawah formulir, untuk koin dan jaringan yang telah Anda pilih. Keduanya disimpan per koin dalam unit terkecil koin dan ditampilkan dikonversi ke unit normal.

Mengapa ada pemilih jaringan untuk beberapa koin?

Karena koin-koin itu ada di lebih dari satu rantai. Permintaan membawa koin dasar dari jaringan yang Anda pilih sehingga transfer turun rantai yang dompet penerima Anda pantau.

Apa itu kolom tag?

Tag tujuan atau memo untuk koin yang alamatnya mengidentifikasi dompet bersama. Ia dikirim sebagai bidang terpisahnya hanya untuk koin-koin itu; tanpanya dana tiba di alamat tetapi bukan untuk Anda.

Apakah jendela memeriksa alamatnya?

Hanya bahwa itu ada. Tidak dapat mengatakan alamat siapa itu, dan itulah mengapa Anda harus menyalinnya dari tempat yang mengeluarkannya dan membaca lebih dari sekadar karakter pertama dan terakhir.

SUMBER & REFERENSI

  • Betkyo client source: component/common/popup/wallet/withdraw.tsx (validation, request body, OTP dan tag handling), store/CoinStore.ts (minWithdrawView, feeView)
Apa yang diperiksa jendela withdraw sebelum mengirim

Komentar (1)

  • bluekettle58

    So the withdraw form basically locks you out until you hit every single requirement - makes sense but never really thought about the order mattering like that.