Mənim fikrimcə, kanoniləşdirmə — Nyuutonun qeyri-müəyyən Intent-i elə bir girişə çevirdiyi mərhələdir ki, Policy onu ardıcıl qiymətləndirə bilsin.

İlkin Intent müxtəlif formalarda gələ bilər. Eyni mübadilə sorğusu üçün bir istifadəçi 1 ETH daxil edə bilər, başqa biri isə 10¹⁸ wei istifadə edə bilər, üçüncüsü isə aktivi onun token simvolu ilə — müqavilə ünvanı əvəzinə — göstərə bilər. Son tarix göstərilə də bilər, göstərilməyə də; çünki istifadəçi sistemin bunu güman edəcəyini düşünür.

İnsana bu ifadələr ekvivalent kimi görünə bilər.

Amma Policy mühərriki üçün bu, eyni deyil.

Qiymətləndirmədən əvvəl Nyuuton Intent-i müəyyən edilmiş komponentlərə parçalamalıdır: əməliyyatı kim istəyir, hansı əməliyyat tələb olunur, hansı aktiv və hədəf iştirak edir, və icranı hansı məhdudiyyətlər idarə edir.

Yalnız bundan sonra normallaşdırma başlaya bilər.

Aktiv identifikatorları, məbləğlər, zəncirlər (chains), alıcılar, son tarixlər, slippage və digər məhdudiyyətlər standart istinadlara, vahidlərə, tiplərə və formatlara malik olmalıdır ki, sahələrin (field) sıralanması Intent-in mənasını dəyişə bilməsin.

Həmçinin default (standart) dəyərlər üçün də ümumi qayda lazımdır. Əgər tələb olunan sahə çatışmırsa və ya parametr bir neçə şərhə imkan verirsə, sistem hər bir operatora öz fərziyyəsini etmək üçün yer qoymamalıdır. Policy işə düşməmişdən əvvəl Intent ya qeyri-uyğun, ya da kifayət qədər spesifikasiya edilməmiş sayılmalıdır.

Sahələr yoxlanılıb normallaşdırıldıqdan sonra Nyuuton kanonik (canonical) reprezentasiya qura bilər: orijinal Intent-i tək bir semantik obyekt kimi təmsil edən vahid forma. Sonra onu eyni qaydalarla serializasiya etmək olar; bununla hər bir operator eyni struktur, dəyərlər və məna alır.

Mənim vacib hesab etdiyim hissə budur.

Policy istifadəçinin daxil etdiyi sözləri qiymətləndirməməlidir. Format, vahid və ifadə fərqləri aradan götürüldükdən sonra normallaşdırılmış Intent-i qiymətləndirməlidir.

Əgər bu addım uğursuz olarsa, hətta deterministik (qəti) Policy belə sistemi xilas edə bilməz.

Nyuuton yalnız o zaman səlahiyyət (authorization) uyğunluğunu qoruya bilər ki, Policy qiymətləndirməsindən əvvəl hər bir operator eyni kanonik Intent-i alsın.
@NewtonProtocol $NEWT #Newt $LAB $BTW