Получите доступ к TON в кошельке типа контракта Jetton
-
эй, я написал смарт-контракт, который позволяет пользователям отправлять тонны на адрес смарт-контракта и получать мои джеттоны, каждый раз, когда я чеканю новые джеттоны и записываю их на свой основной кошелек (я не уверен, что это хороший способ, но я не смог найти способ "перевести" их). TON находятся в моем кошельке смарт-контрактов, но я действительно не могу найти способ получить к ним доступ, как мне это сделать? Нужно ли мне каким-то образом переводить их на другой кошелек после каждой транзакции пользователя, как я могу это запрограммировать? Спасибо.
код смарт-контракта: https://mystb.in/RingsVaultDiploma
-
Если эти тонны заблокированы в вашем контракте, у вас нет другого выбора, кроме как попросить получателя вывести баланс контракта. Итак, вам нужно выполнить новую операцию, чтобы вывести желаемое количество монет TON конкретному получателю.
например:
if (op == op::withdraw()) { throw_unless(73, equal_slices(sender_address, admin_address)); slice to_address = in_msg_body~load_msg_addr(); int amount = in_msg_body~load_coins(); ;; send raw message to "to_address" with specified withdraw "amount" ;; consider reserving some ton coins for storage and future fees return (); }