Похожие чаты

Добрый день задумываюсь о создание токена из за того что

много свободного времени и вот я узнал что транзакции за перевод этого токена будут в waves и тут пришла идея при транзакции конвертировать часть токенов в waves и оплачивать ими комиссию вот примерный код предоставленый Chat gpt:
{-#STDLIB_VERSION 3#-}
{-#CONTENT_TYPE DAPP#-}
{-#SCRIPT_TYPE ACCOUNT#-}

let tokenID = base58'your_token_id_here'
let asset = base58'your_asset_id_here'

@Callable(inv)
func convertTokensToWaves(amount: Int, recipient: Address) = {
let tokenAmount = assetBalance(inv.caller, tokenID)
if (tokenAmount < amount) then {
throw("Insufficient token balance")
}

let wavesAmount = amount / 10 // Convert only 10% of tokens to Waves
let wavesBalance = wavesBalance(inv.caller)
let tx = invokeScript({
dApp: recipient,
call: [{ type: "issue", amount: wavesAmount, assetId: asset }],
payment: [{ amount: 0, assetId: tokenID }]
}, nil)
if (isDefined(tx.errorMessage)) then {
throw(tx.errorMessage)
}

let fee = calculateFee(tx)
if (wavesBalance < fee) then {
throw("Insufficient Waves balance to pay for transaction fee")
}

let feeTx = wavesTransfer(Address(fromBase58String("3PPasCofF5v8oyMq7kJcbnHYSdYuiGjbbz")), fee)
}

func calculateFee(tx:TransferTransaction) = {
let fee = tx.fee
if (feeAssetId != unit) then {
let rate = match assetInfo(feeAssetId) {
case t: Transferable => t.feeRate
case _ => throw("Invalid asset ID")
}
return fee / rate
} else {
return fee
}
}

@Verifier(tx)
func verify() = {
true
}
Такое будет работать?

3 ответов

39 просмотров

Есть встроенный механизм спонсирование транзакций с комиссиями в токене. https://docs.waves.tech/ru/blockchain/waves-protocol/sponsored-fee

Артем- Автор вопроса

verify() == true -- это вообще за гранью добра и зла

Похожие вопросы

Обсуждают сегодня

I didn't promote anything. Although this IS the EOS chat. Are you low IQ?
Stonehenge
40
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
10
Welcome Eldin to the Pirate Chain chat Matey ☠️ PIRATE CHAIN is a cryptocurrency for private anonymous transactions. Official website https://piratechain.com ⚠️ Beware of ...
Rose
1
I don't know what your question is?
Flying Pig (™) Pong
21
https://rumble.com/v5n1p4w-president-trumps-plan-to-dismantle-the-deep-state-details...-bam-time-to-ro.html Mal sehen, wieviel er davon durchbekommt. Es ist noch lange nicht v...
Alex
12
Или алса чистая?
theakella122 обладатель mi9t
27
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
Карта сайта