Sebuah kontrak pada waktu senja dapat menahan saldo DUSK yang benar sementara monitor bendaharaku tiba-tiba membaca tidak ada apa pun setelah “upgrade” API.
Tebaljebaknya bukan pada kontraknya. Tebaljebaknya ada pada bentuk respons (response shape).
Rute kontrak lama /on/:<id>/status mengembalikan sebuah objek yang berisi balance di dalamnya. Jalur pengganti melakukan kueri contract_balance melalui kontrak genesis Transfer milik Dusk, dan responsnya adalah angka saldo itu sendiri (nilai skalar).
Jadi jika saya memigrasikan endpoint tetapi membiarkan parser tidak berubah, response.balance hilang. Fallback seperti undefined → 0 bisa membuat kontrak yang terisi terlihat kosong padahal saldo di-chain tidak pernah berpindah.
Itulah jenis bug pemeliharaan yang saya harapkan bisa lolos dari pengecekan kesehatan dasar. Rusk menjawab. Permintaan berhasil. Kontrak ada. Yang salah hanya interpretasinya.
Saya akan menempelkan (pin) saldo kontrak yang sudah diketahui dalam uji migrasi dan membandingkan nilai lama versus nilai baru sebelum mengalihkan pembacaan produksi. Bukan cuma HTTP 200. Bukan cuma JSON yang valid. Bilangan bulat LUX yang sama harus tetap bertahan melewati batas parser.
Jika bendahara Dusk bisa menahan dana dengan benar sementara perangkat lunak saya melaporkan nol, migrasi API telah mengubah keadaan finansial yang menurut operator saya memang ada.
#dusk $DUSK @Dusk
Tebaljebaknya bukan pada kontraknya. Tebaljebaknya ada pada bentuk respons (response shape).
Rute kontrak lama /on/:<id>/status mengembalikan sebuah objek yang berisi balance di dalamnya. Jalur pengganti melakukan kueri contract_balance melalui kontrak genesis Transfer milik Dusk, dan responsnya adalah angka saldo itu sendiri (nilai skalar).
Jadi jika saya memigrasikan endpoint tetapi membiarkan parser tidak berubah, response.balance hilang. Fallback seperti undefined → 0 bisa membuat kontrak yang terisi terlihat kosong padahal saldo di-chain tidak pernah berpindah.
Itulah jenis bug pemeliharaan yang saya harapkan bisa lolos dari pengecekan kesehatan dasar. Rusk menjawab. Permintaan berhasil. Kontrak ada. Yang salah hanya interpretasinya.
Saya akan menempelkan (pin) saldo kontrak yang sudah diketahui dalam uji migrasi dan membandingkan nilai lama versus nilai baru sebelum mengalihkan pembacaan produksi. Bukan cuma HTTP 200. Bukan cuma JSON yang valid. Bilangan bulat LUX yang sama harus tetap bertahan melewati batas parser.
Jika bendahara Dusk bisa menahan dana dengan benar sementara perangkat lunak saya melaporkan nol, migrasi API telah mengubah keadaan finansial yang menurut operator saya memang ada.
#dusk $DUSK @Dusk