tx · 58Ytg4pXNEQmAoVaJJ2rBvpHsdDNaZt7HePkNgx2uvy2

3N86fBeRNMYj4Lbc7po8PKtrXR2oLQXQB8a:  -0.05000000 Waves

2024.04.02 17:21 [3045264] smart account 3N86fBeRNMYj4Lbc7po8PKtrXR2oLQXQB8a > SELF 0.00000000 Waves

{ "type": 13, "id": "58Ytg4pXNEQmAoVaJJ2rBvpHsdDNaZt7HePkNgx2uvy2", "fee": 5000000, "feeAssetId": null, "timestamp": 1712067716095, "version": 2, "chainId": 84, "sender": "3N86fBeRNMYj4Lbc7po8PKtrXR2oLQXQB8a", "senderPublicKey": "4uUUD88FFMgtPjui9NEmEstYpUVQNPSLCQw5f8mYHmGz", "proofs": [ "41kJMXybUAxaYcHRjyweqFnD9JrWdSX45YQEqYk1s3uPCQSDoED7mmurRc95rqNchSmZrtcTcFEmadPjDbPoxbmG" ], "script": "base64:BgIECAISAAYADVVTRFRfQVNTRVRfSUQCLEc1V1dXenpWc1dSeXpHZjMyeG9qYm5mcDdnWGJXcmdxSlQ4UmNWV0VmTG1DAA9VU0RUXzJfQVNTRVRfSUQCLDl3YzNMWE5BNFRFQnNYeUt0b0xFOW1yYkREN1dNSFh2WHJDalp2YWJMQXNpAA1VU0RDX0FTU0VUX0lEAiwzYXlIM1BoV01raEZzeVNzVVZjQzhCdkZmMVF5eEdCNUJadVRQeVZ0bVA0dgAPVVNEQ18yX0FTU0VUX0lEAixIR2dhYlRxVVM4V3RWRlVKemZtclRETWdFY2NKdVpMQlBoRmdRRnh2bnNvVwAMQkFJX0FTU0VUX0lEAiwyZmR6eUh2WEdDcWF6MVhBOG05Zm9kZW1tUDlnaVZCY3BlNEpxOUY2M29GTAELd2hpdGVsaXN0ZWQBB2FkZHJlc3MEByRtYXRjaDAJAJsIAgUEdGhpcwkArAICAgp3aGl0ZWxpc3RfBQdhZGRyZXNzAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDAFAWIHAQFpAQNidXkABBFXQVZFU19VU0RUX09SQUNMRQkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BLa29qS2RkNkJCelRmMVJYYlFWZlVEcmFORlhYSEt6UUYEFVdBVkVTX1VTRFRfT1JBQ0xFX0tFWQIXJXMlc19fcHJpY2VfX1dBVkVTLVVTRFQEEG51bWJlck9mUGF5bWVudHMJAJADAQgFAWkIcGF5bWVudHMEDnBheW1lbnRBc3NldElkCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQEBnNlbmRlcggFAWkGY2FsbGVyAwkBASEBCQELd2hpdGVsaXN0ZWQBCQClCAEFBnNlbmRlcgkAAgECGEFkZHJlc3Mgbm90IHdoaXRlbGlzdGVkIQMJAQIhPQIFEG51bWJlck9mUGF5bWVudHMAAQkAAgECElBheW1lbnQgbmVjZXNzYXJ5IQQHcGF5bWVudAkAkQMCCAUBaQhwYXltZW50cwAABApmZWVBc3NldElkCAUHcGF5bWVudAdhc3NldElkBBBmZWVBc3NldElkU3RyaW5nBAckbWF0Y2gwBQpmZWVBc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIABA1wYXltZW50QW1vdW50CAUHcGF5bWVudAZhbW91bnQEBmFtb3VudAMJAQEhAQkBCWlzRGVmaW5lZAEFCmZlZUFzc2V0SWQEDndhdmVzVXNkdFByaWNlBAckbWF0Y2gwCQCaCAIFEVdBVkVTX1VTRFRfT1JBQ0xFBRVXQVZFU19VU0RUX09SQUNMRV9LRVkDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuAAAJAGgCCQBrAwUNcGF5bWVudEFtb3VudAUOd2F2ZXNVc2R0UHJpY2UAgMLXLwBkAwkAAAIFEGZlZUFzc2V0SWRTdHJpbmcFDVVTRFRfQVNTRVRfSUQJAGgCBQ1wYXltZW50QW1vdW50AGQDCQAAAgUQZmVlQXNzZXRJZFN0cmluZwUPVVNEVF8yX0FTU0VUX0lECQBoAgUNcGF5bWVudEFtb3VudABkAwkAAAIFEGZlZUFzc2V0SWRTdHJpbmcFDVVTRENfQVNTRVRfSUQJAGgCBQ1wYXltZW50QW1vdW50AGQDCQAAAgUQZmVlQXNzZXRJZFN0cmluZwUPVVNEQ18yX0FTU0VUX0lECQBoAgUNcGF5bWVudEFtb3VudABkCQACAQIpUGF5bWVudCBuZWNlc3NhcnkgaW4gV2F2ZXMsIFVTREMgb3IgVVNEVCEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUGc2VuZGVyBQZhbW91bnQJANkEAQUMQkFJX0FTU0VUX0lEBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5cl6W1w==", "height": 3045264, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6xho7p1E1TdEiADkxerHqGWvPNBKjgVDy84XkwWbXJ6E Next: 2owPwm4tcM3RUAhRSH2BdGqNzEuMVueBmCZviUCoX7Xw Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
4+let USDT_ASSET_ID = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
5+
6+let USDT_2_ASSET_ID = "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi"
7+
8+let USDC_ASSET_ID = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
9+
10+let USDC_2_ASSET_ID = "HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW"
11+
12+let BAI_ASSET_ID = "2fdzyHvXGCqaz1XA8m9fodemmP9giVBcpe4Jq9F63oFL"
513
614 func whitelisted (address) = match getBoolean(this, ("whitelist_" + address)) {
715 case b: Boolean =>
1321
1422 @Callable(i)
1523 func buy () = {
16- let WAVES_USDT_ORACLE = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
24+ let WAVES_USDT_ORACLE = addressFromStringValue("3PKkojKdd6BBzTf1RXbQVfUDraNFXXHKzQF")
1725 let WAVES_USDT_ORACLE_KEY = "%s%s__price__WAVES-USDT"
18- let USDT_ASSET_ID = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
19- let USDC_ASSET_ID = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
20- let BAI_ASSET_ID = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
2126 let numberOfPayments = size(i.payments)
27+ let paymentAssetId = i.payments[0].assetId
2228 let sender = i.caller
2329 if (!(whitelisted(toString(sender))))
2430 then throw("Address not whitelisted!")
4652 }
4753 else if ((feeAssetIdString == USDT_ASSET_ID))
4854 then (paymentAmount * 100)
49- else if ((feeAssetIdString == USDC_ASSET_ID))
55+ else if ((feeAssetIdString == USDT_2_ASSET_ID))
5056 then (paymentAmount * 100)
51- else throw("payment necessary in Waves, USDC or USDT!")
57+ else if ((feeAssetIdString == USDC_ASSET_ID))
58+ then (paymentAmount * 100)
59+ else if ((feeAssetIdString == USDC_2_ASSET_ID))
60+ then (paymentAmount * 100)
61+ else throw("Payment necessary in Waves, USDC or USDT!")
5262 [ScriptTransfer(sender, amount, fromBase58String(BAI_ASSET_ID))]
5363 }
5464 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
4+let USDT_ASSET_ID = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
5+
6+let USDT_2_ASSET_ID = "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi"
7+
8+let USDC_ASSET_ID = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
9+
10+let USDC_2_ASSET_ID = "HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW"
11+
12+let BAI_ASSET_ID = "2fdzyHvXGCqaz1XA8m9fodemmP9giVBcpe4Jq9F63oFL"
513
614 func whitelisted (address) = match getBoolean(this, ("whitelist_" + address)) {
715 case b: Boolean =>
816 b
917 case _ =>
1018 false
1119 }
1220
1321
1422 @Callable(i)
1523 func buy () = {
16- let WAVES_USDT_ORACLE = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
24+ let WAVES_USDT_ORACLE = addressFromStringValue("3PKkojKdd6BBzTf1RXbQVfUDraNFXXHKzQF")
1725 let WAVES_USDT_ORACLE_KEY = "%s%s__price__WAVES-USDT"
18- let USDT_ASSET_ID = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
19- let USDC_ASSET_ID = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
20- let BAI_ASSET_ID = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
2126 let numberOfPayments = size(i.payments)
27+ let paymentAssetId = i.payments[0].assetId
2228 let sender = i.caller
2329 if (!(whitelisted(toString(sender))))
2430 then throw("Address not whitelisted!")
2531 else if ((numberOfPayments != 1))
2632 then throw("Payment necessary!")
2733 else {
2834 let payment = i.payments[0]
2935 let feeAssetId = payment.assetId
3036 let feeAssetIdString = match feeAssetId {
3137 case b: ByteVector =>
3238 toBase58String(b)
3339 case _ =>
3440 ""
3541 }
3642 let paymentAmount = payment.amount
3743 let amount = if (!(isDefined(feeAssetId)))
3844 then {
3945 let wavesUsdtPrice = match getInteger(WAVES_USDT_ORACLE, WAVES_USDT_ORACLE_KEY) {
4046 case n: Int =>
4147 n
4248 case _ =>
4349 0
4450 }
4551 (fraction(paymentAmount, wavesUsdtPrice, 100000000) * 100)
4652 }
4753 else if ((feeAssetIdString == USDT_ASSET_ID))
4854 then (paymentAmount * 100)
49- else if ((feeAssetIdString == USDC_ASSET_ID))
55+ else if ((feeAssetIdString == USDT_2_ASSET_ID))
5056 then (paymentAmount * 100)
51- else throw("payment necessary in Waves, USDC or USDT!")
57+ else if ((feeAssetIdString == USDC_ASSET_ID))
58+ then (paymentAmount * 100)
59+ else if ((feeAssetIdString == USDC_2_ASSET_ID))
60+ then (paymentAmount * 100)
61+ else throw("Payment necessary in Waves, USDC or USDT!")
5262 [ScriptTransfer(sender, amount, fromBase58String(BAI_ASSET_ID))]
5363 }
5464 }
5565
5666
5767 @Verifier(tx)
5868 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5969

github/deemru/w8io/6500d08 
33.86 ms