рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рд╕рд╛рде рдлрд╝рдирдЯрдХреНрд╢рдирд▓ рдореЗрдВ рдлрд╝рди рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛: рдХреИрд╕реЗ рд╕реЗрд░реЛрдХреЗрд▓ рд╡реЛрди рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛

рдЖрдкрдиреЗ рд╢рд╛рдпрдж рд╕реБрдирд╛ рд╣реЛ рдХрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЯрди рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕ рдЦрдмрд░ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ рдХрд┐ рдЗрддрдиреЗ рд╕рдордп рдкрд╣рд▓реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдиреЗ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХреА рдереАред


рдмрдбрд╝реА рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдореГрджреНрдз рдЕрдиреБрднрд╡ рд╡рд╛рд▓реА рд╕реЗрд░реЛрдХреЗрд▓ рдЯреАрдо рджреВрд░ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреА рдереАред рд╣рдордиреЗ рдкрд╛рдБрдЪ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛, рдФрд░ рджреЛ рд╣рдлреНрддреЗ рдмрд╛рдж рдЙрдиреНрд╣реЛрдВрдиреЗ (рдЕрди) рдорд╛рдореВрд▓реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдирд╛рдо рд╕реЗрдХреНрд╕реА рдЧрд┐рд░рдЧрд┐рдЯ рдХреЗ рддрд╣рдд рдЗрд╕рдореЗрдВ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рд╕рдлрд▓ рд╣реБрдПред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ рджрд╕ рдорд┐рдирдЯ рдореЗрдВ рдЖрдк рдХрдо рд╕реЗ рдХрдо рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╣рд╛рдиреА рдкрдврд╝реЗрдВрдЧреЗ, рдФрд░ рдЕрдзрд┐рдХрддрдо рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдорд┐рд▓реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдЖрдЗрдП рд╕рдВрджрд░реНрдн рдореЗрдВ рдереЛрдбрд╝рд╛ рдЧреЛрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВред


рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдФрд░ рдЙрд╕рдХреА рд╢рд░реНрддреЗрдВ


рддреЛ, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде TON рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡ рдмрдирд╛ рд░рд╣реЗ рдереЗред рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ 24 рд╕рд┐рддрдВрдмрд░ рд╕реЗ 15 рдЕрдХреНрдЯреВрдмрд░ рддрдХ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЧрдИ рдереА, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ 15 рдирд╡рдВрдмрд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЯреЗрд▓реАрдЧреНрд░рд╛рдо, C ++ рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╡реАрдУрдЖрдИрдкреА-рдХреЙрд▓ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред


рд╣рдордиреЗ рдЖрдпреЛрдЬрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рджреЛ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЯреЙрди рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рджреВрд╕рд░рд╛ рд╣рдордиреЗ рдЕрдкрдиреЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреЙрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред


рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЪреБрдирд╛рд╡ рдЖрдХрд╕реНрдорд┐рдХ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧ рдореЗрдВ, рд╣рдо рдЕрдХреНрд╕рд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдПрдХ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХреНрдпреЛрдВ рдорд╛рдирддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдХреНрдпреЛрдВ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рд╡реИрд╕реЗ, рдЗрд╕рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореВрд▓ рднреА рд╣реИред


рд╣рдордиреЗ рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдЧреИрд░-рдорд╛рдирдХ рдФрд░ рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдЖрдИрдЯреА рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдореВрд▓реНрдп рд╣реЛрддреЗ рд╣реИрдВред рд╣рдо рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЧрд░реНрдордЬреЛрд╢реА рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рд╕рд╛рде рд╣реА рд░реВрд╕ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдЧрдгрд┐рдд рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдЧреНрд░рдгреА рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред


рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдФрд░ рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдп, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдмрд╣реБрдд рдкреНрдпрд╛рд░ рдХрд░рддреЗ рдереЗ, рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░реЗрд░рдгрд╛ рдереЗ, рд▓реЗрдХрд┐рди рдкреБрд░рд╕реНрдХрд╛рд░ рд░рд╛рд╢рд┐ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдмрди рдЧрдИред :)


TON рдмреНрд▓реЙрдХрдЪреЗрди рд░рд┐рд╕рд░реНрдЪ


рд╣рдо рдмреНрд▓реЙрдХрдЪреЗрди, рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ рдирдП рд╡рд┐рдХрд╛рд╕ рдХреА рдмрд╛рд░реАрдХреА рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЬрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬ рдХреЛ рди рдЫреЛрдбрд╝реЗрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╢реБрд░реВ рд╣реБрдИ, рддрдм рддрдХ рд╣рдорд╛рд░реА рдЯреАрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА TON рд╢реНрд╡реЗрдд рдкрддреНрд░ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐, TON рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдордВрдЪ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рдерд╛ - рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдВрдбрд╛рд░ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╛ рдЧрд╣рди рдЕрдзреНрдпрдпрдиред


рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рд╢реБрд░реБрдЖрдд рддрдХ, рдХреЛрдб рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рдЧрд╛рдЗрдб рдпрд╛ рдирд┐рдЪреЛрдбрд╝ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдиреЗ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ - рдЙрдмрдВрдЯреВ рдкрд░ рдордВрдЪ рдмрдирд╛рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рдорд┐рд▓реАред


рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдерд╛ред рдХрд╛рдлреА рдмрд╛рд░, рд╣рдореЗрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЕрдореВрд░реНрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╡рд┐рд╡рд░рдгреЛрдВ рд╕реЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред


рдпрджрд┐ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛрддрд╛ред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЕрдкрдиреЗ рд╕реНрдЯреИрдХ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ TON рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИред


рдирд┐рдХреНрд╕: рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


рд╕реЗрд░реЛрдХреЗрд▓ рдореЗрдВ, рд╣рдо рдирд┐рдХреНрд╕ рдХреЗ рдмрдбрд╝реЗ рдкреНрд░рд╢рдВрд╕рдХ рд╣реИрдВред рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рдХреНрд╕рдСрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рдХреНрд╕реЛрд╕ рд╣рдорд╛рд░реЗ рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдорд╛рд░реЗ рд╕рднреА рдмрд┐рд▓реНрдб рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдирд┐рдХреНрд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ TON рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдирд┐рдХреНрд╕ рдУрд╡рд░рд▓реЗ рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХреАред TON рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд╣реИ:


$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix $ cd /path/to/ton/repo && nix-shell [nix-shell]$ cmakeConfigurePhase && make 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдирд┐рдХреНрд╕ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░реЗрдЧрд╛, рдЪрд╛рд╣реЗ рдЖрдк рдирд┐рдХреНрд╕рдУрдПрд╕, рдЙрдмрдВрдЯреВ рдпрд╛ рдореИрдХрдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


TON рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ


TON рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛрдб TON рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (TVM) рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯреАрд╡реАрдПрдо рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рдирд┐рд░рдВрддрд░рддрд╛ рдФрд░ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, TON рд▓реЛрдЧреЛрдВ рдиреЗ рддреАрди рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛:


рдлрд┐рдлреНрдЯ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реНрдЯреИрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдлреЛрд░реНрде рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИред рдЙрдирдХреА рд╕реБрдкрд░ рдХреНрд╖рдорддрд╛ рдЯреАрд╡реАрдПрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред


FunC рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ C рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реИ - Fift Assemblerред


Fift Assembler - TVM рдХреЗ рд▓рд┐рдП рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Fift рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдлрд┐рдлреНрдЯ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдХрдореА рд╣реИред рдпрд╣ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ (eDSL) рд╣реИ ред


рд╣рдорд╛рд░реЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдЕрдВрдд рдореЗрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред


рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рднреБрдЧрддрд╛рди рдЪреИрдирд▓


рднреБрдЧрддрд╛рди рдЪреИрдирд▓ - рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдЬреЛ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЗ рдмрд╛рд╣рд░ рднреБрдЧрддрд╛рди рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рди рдХреЗрд╡рд▓ рдкреИрд╕рд╛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреЛрдИ рдХрдореАрд╢рди рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рд╕рдордп рднреА (рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ рдмреНрд▓реЙрдХ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред рднреБрдЧрддрд╛рди рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрд┐рдо рд╕рдордЭреМрддреЗ рдХреА рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИред


рд╣рдордиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ред рджреЛ рдкрдХреНрд╖ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рджреЛ рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВ - рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреБрдЧрддрд╛рди рдХреА рдЧрдИ рдХреБрд▓ рд░рд╛рд╢рд┐ред рдпреЗ рджреЛ рдирдВрдмрд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдШрдбрд╝рд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдирджреЗрди рдкрд░ "рдкрд╣рд▓реЗ рд╣реБрдП рдЖрджреЗрд╢" рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдиреБрдмрдВрдз рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдШрд░реНрд╖ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рджреЛрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдореЗрдВ рдПрдХ рднреБрдЧрддрд╛рди рд░рд╛рд╢рд┐ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рднреА рдорд╛рддреНрд░рд╛рдПрдВ рдФрд░ рдЕрдВрддрд┐рдо рдЧрдгрдирд╛ рд╕рд╣реА рд╣реЛрдЧреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдиреБрдХрд╕рд╛рди рдХреА рд╕реВрдЪрдирд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред


рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдРрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднреБрдЧрддрд╛рди рдЪреИрдирд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреАред рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ, рд╣рдо рдХреЗрд╡рд▓ рджреЛ рдкрд╛рдпрд╛:


  1. рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╡рд┐рд╡рд░рдг , рдХреЗрд╡рд▓ рдПрдХ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдЪреИрдирд▓ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдПред
  2. рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢реБрджреНрдзрддрд╛ рдФрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЗрд╕рдХреА рд╢реБрджреНрдзрддрд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реИред рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рддреИрдпрд╛рд░ рдерд╛, рдФрд░ рдЕрдм рдЖрдк рднреА рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред


рд╣рдордиреЗ FunC рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдмрдВрдз рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдФрд░ рд╣рдордиреЗ рдЖрдпреЛрдЬрдХреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдЕрдиреБрдмрдВрдз рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреАред рд╣рдо рдЕрдкрдиреЗ рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдХрд┐ рд╡рд╣ рдХреИрд╕реЗ рдПрдХреНрд╢рди рдореЗрдВ рдЦреБрдж рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред


рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдлрд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреВрд▓ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рджреЗрдЦрд╛ред рд╕реНрдЯреИрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдмрд▓реНрдХрд┐ рдЕрдкреНрд░рд┐рдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕реНрдЯреИрдХ рдкрд░ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓, рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, Fift рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдФрдЪрд┐рддреНрдп рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ Fift Assembler рдХреЗ рд▓рд┐рдП рдореЗрдЬрдмрд╛рди рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЯреАрд╡реАрдПрдо рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЛ рдХреБрдЫ рдореМрдЬреВрджрд╛ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рднреА рдирд╣реАрдВ рдЖрдПрдЧрд╛, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп?


рдЯреАрд╡реАрдПрдо рд╣рд╛рд╕реНрдХреЗрд▓ рдИрдбреАрдПрд╕рдПрд▓


рдЕрдм рд╣рдорд╛рд░реЗ рджреВрд╕рд░реЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдордиреЗ рдПрдХ рдорд▓реНрдЯреА-рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╡реЙрд▓реЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди FunC рдкрд░ рдПрдХ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЙрдмрд╛рдК рд╣реЛрдЧрд╛ред рд╣рдо рдХреБрдЫ рдЙрддреНрд╕рд╛рд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рдФрд░ рдпрд╣ рдЯреАрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЕрдкрдиреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛ рдмрди рдЧрдИред


Fift Assembler рдХреА рддрд░рд╣, рд╣рдорд╛рд░реА рдирдИ рднрд╛рд╖рд╛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди Fift рдХреЗ рдмрдЬрд╛рдп рд╣рдордиреЗ Haskell рдХреЛ рд╣реЛрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдиреНрдирдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЬрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рддреНрд░реБрдЯрд┐ рдХреА рдХреАрдордд рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╕реНрдерд┐рд░ рд░рд╛рдп, рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рдмрдбрд╝рд╛ рд▓рд╛рдн рд╣реИред


рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЯреАрд╡реАрдПрдо рдПрд╕реЗрдВрдмрд▓рд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЗрд╕ рдкрд░ рдПрдХ рдорд╛рдирдХ рдмрдЯреБрдЖ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдХреБрдЫ рдЪреАрдЬреЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ:


  • рдЗрд╕ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЬрд┐рддрдирд╛ рдЪрд╛рд╣реЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рд╣реЛрд╕реНрдЯ рднрд╛рд╖рд╛ (рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ) рдореЗрдВ рдПрдХ рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдИрдбреАрдПрд╕рдПрд▓ рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЯреАрд╡реАрдПрдо рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдмрд╕ рдХреЙрд▓ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╣рд╛рд╕реНрдХреЗрд▓ рдХреА рддрд░рд╣, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ рдЬреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЬрд╛рдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдИрдбреАрдПрд╕рдПрд▓ рдореЗрдВ, рдлрдВрдХреНрд╢рди рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреИрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреИрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдХреЛрдб рдореЗрдВ stacktype рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдбрд╛рдпрд▓ рдкреАрдпрд░ рдкрд░ рд╕реНрдЯреИрдХ рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдореВрд▓ рд╡реЙрд▓реЗрдЯ рдЕрдиреБрдмрдВрдз рдореЗрдВ, рдпреЗ рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдереАрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдИрдбреАрдПрд╕рдПрд▓ рдореЗрдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ рдФрд░ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╡реЗ рдкреНрд░рд▓реЗрдЦрди рдпрд╛ рдмрдпрд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдХреЛрдб рдмрджрд▓рддреЗ рд╣реА рд╕реНрдЯреИрдХ рдкреНрд░рдХрд╛рд░ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рд░рдирдЯрд╛рдЗрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЯреАрд╡реАрдПрдо рдХреЛрдб рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
  • рдпрд╣ рдЕрднреА рднреА рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рд╣рдорд╛рд░реЗ рдИрдбреАрдПрд╕рдПрд▓ рдкрд░ рдорд▓реНрдЯреАрдЧрд┐рдЧ рд╡реЙрд▓реЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:


 main :: IO () main = putText $ pretty $ declProgram procedures methods where procedures = [ ("recv_external", decl recvExternal) , ("recv_internal", decl recvInternal) ] methods = [ ("seqno", declMethod getSeqno) ] data Storage = Storage { sCnt :: Word32 , sPubKey :: PublicKey } instance DecodeSlice Storage where type DecodeSliceFields Storage = [PublicKey, Word32] decodeFromSliceImpl = do decodeFromSliceImpl @Word32 decodeFromSliceImpl @PublicKey instance EncodeBuilder Storage where encodeToBuilder = do encodeToBuilder @Word32 encodeToBuilder @PublicKey data WalletError = SeqNoMismatch | SignatureMismatch deriving (Eq, Ord, Show, Generic) instance Exception WalletError instance Enum WalletError where toEnum 33 = SeqNoMismatch toEnum 34 = SignatureMismatch toEnum _ = error "Uknown MultiSigError id" fromEnum SeqNoMismatch = 33 fromEnum SignatureMismatch = 34 recvInternal :: '[Slice] :-> '[] recvInternal = drop recvExternal :: '[Slice] :-> '[] recvExternal = do decodeFromSlice @Signature dup preloadFromSlice @Word32 stacktype @[Word32, Slice, Signature] -- cnt cs sign pushRoot decodeFromCell @Storage stacktype @[PublicKey, Word32, Word32, Slice, Signature] -- pk cnt' cnt cs sign xcpu @1 @2 stacktype @[Word32, Word32, PublicKey, Word32, Slice, Signature] -- cnt cnt' pk cnt cs sign equalInt >> throwIfNot SeqNoMismatch push @2 sliceHash stacktype @[Hash Slice, PublicKey, Word32, Slice, Signature] -- hash pk cnt cs sign xc2pu @0 @4 @4 stacktype @[PublicKey, Signature, Hash Slice, Word32, Slice, PublicKey] -- pubk sign hash cnt cs pubk chkSignU stacktype @[Bool, Word32, Slice, PublicKey] -- ? cnt cs pubk throwIfNot SignatureMismatch accept swap decodeFromSlice @Word32 nip dup srefs @Word8 pushInt 0 if IsEq then ignore else do decodeFromSlice @Word8 decodeFromSlice @(Cell MessageObject) stacktype @[Slice, Cell MessageObject, Word8, Word32, PublicKey] xchg @2 sendRawMsg stacktype @[Slice, Word32, PublicKey] endS inc encodeToCell @Storage popRoot getSeqno :: '[] :-> '[Word32] getSeqno = do pushRoot cToS preloadFromSlice @Word32 

рд╣рдорд╛рд░реЗ рдИрдбреАрдПрд╕рдПрд▓ рдХрд╛ рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдмрд╣реБ-рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╡реЙрд▓реЗрдЯ рдЕрдиреБрдмрдВрдз рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд╣рдпреЛрдЧреА рдЬреЙрд░реНрдЬ рдЕрдЧрд╛рдкреЛрд╡ рдиреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА ред


рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдФрд░ TON рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдорд╛рд░реЗ рдХрд╛рдо рдореЗрдВ 380 рдШрдВрдЯреЗ рд▓рдЧреЗ (рджрд╕реНрддрд╛рд╡реЗрдЬ, рдмреИрдардХреЛрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде)ред рдкрд╛рдВрдЪ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛: рдПрд╕рдЯреАрдУ, рдЯреАрдо рд▓реАрдбрд░, рдмреНрд▓реЙрдХрдЪреИрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ред


рд╣рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдард┐рдирд╛рдИ рдХреЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдорд┐рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдХрдереЙрди рдХреА рднрд╛рд╡рдирд╛, рдХрд░реАрдмреА рдЯреАрдо рд╡рд░реНрдХ, рдирдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рддреНрд╡рд░рд┐рдд рд╡рд┐рд╕рд░реНрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣рдореЗрд╢рд╛ рд░реЛрдорд╛рдВрдЪрдХ рд╣реЛрддреА рд╣реИред рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░рд╛рддреЛрдВ рдХреА рдиреАрдВрдж рд╣рд░рд╛рдо рдЕрдиреБрднрд╡ рдФрд░ рдЙрддреНрдХреГрд╖реНрдЯ рдпрд╛рджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдореБрдЖрд╡рдЬрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдХрдВрдкрдиреА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрдХреГрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдЖрдВрддрд░рд┐рдХ рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред


рдЧреАрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛: рд╣рдо TON рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдереЗред рд╡реЗ рдПрдХ рдЬрдЯрд┐рд▓, рд╕реБрдВрджрд░ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред TON рдмрдбрд╝реА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рд╛рдмрд┐рдд рд╣реБрдЖред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдФрдЬрд╛рд░реЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рджреЛрдиреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЕрдм рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдЧрд░реНрд╡ рд╣реИред


рдпрджрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рд╡рд╛рд▓ рдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TON рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рддреЛ рд╣рдореЗрдВ рд▓рд┐рдЦреЗрдВ - рд╣рдо рдЦрд╝реБрд╢реА рд╕реЗ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗред

Source: https://habr.com/ru/post/hi476756/


All Articles