tx · 2Udp9CKgWM17xc5ZqbBL9J2yKf6amseveuj8AzcqwFsQ

3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx:  -0.01000000 Waves

2023.03.27 09:54 [2508046] smart account 3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx > SELF 0.00000000 Waves

{ "type": 13, "id": "2Udp9CKgWM17xc5ZqbBL9J2yKf6amseveuj8AzcqwFsQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1679900222948, "version": 2, "chainId": 84, "sender": "3N5BTH4bjnXn7AAKoj4sswxytsPGmdXUuTx", "senderPublicKey": "DyeDJ3fgwVVux2WRkxpLU9BbVjTM96AyV58b7bRFzCBx", "proofs": [ "3xYtyBPHESfNLPtwoxMyNnb6wTGGjTovuatEVkuaKvLX85Xfd19T7aLFMPZxp9Tbcvo86UtV43cM191yvbUBb2ma" ], "script": "base64:BgIKCAISBgoEGBgRAQEABXRlYW1zASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgEBaQEGYnV5TmZ0BAZzZWxsZXIEbmZ0cwVwcmljZQt0b3RhbGFtb3VudAQFYnV5ZXIIBQFpBmNhbGxlcgQDbmZ0CQCQAwEFBG5mdHMEDGJ1eWVyQmFsYW5jZQkA8AcCBQVidXllcgEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4EBmFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQKAQNzdW0CBWFjY3VtBG5leHQJAGQCBQVhY2N1bQUEbmV4dAQDYXJyBQVwcmljZQQJdG90YWxDb3N0CgACJGwFA2FycgoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDc3VtAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQMDCQBmAgUJdG90YWxDb3N0BQZhbW91bnQGCQBmAgULdG90YWxhbW91bnQFBmFtb3VudAkAAgECHXlvdXIgcGF5aW5nIGFtbW91bnQgaXMgd3JvbmcgAwMJAQIhPQIJAJADAQUEbmZ0cwkAkAMBBQZzZWxsZXIGCQECIT0CCQCQAwEFBnNlbGxlcgkAkAMBBQVwcmljZQkAAgECTEludmFsaWQgaW5wdXQ6IE51bWJlciBvZiBORlRzLCBzZWxsZXIgYWRkcmVzc2VzLCBhbmQgY29zdHMgbXVzdCBiZSB0aGUgc2FtZS4DCQBmAgUGYW1vdW50BQxidXllckJhbGFuY2UJAAIBAjpCdXllciBkb2VzIG5vdCBoYXZlIGVub3VnaCBmdW5kcyB0byBjb21wbGV0ZSB0aGUgcHVyY2hhc2UuCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKUIAQgFAWkGY2FsbGVyCQCkAwEFBmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZ0cwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZnRzAAEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mdHMAAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQZzZWxsZXIAAAkAkQMCBQVwcmljZQAAASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQZzZWxsZXIAAQkAkQMCBQVwcmljZQABASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQZzZWxsZXIAAQkAkQMCBQVwcmljZQACASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgUDbmlsAJenysA=", "height": 2508046, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3vSppiy9vnnjPuLNXvv5YJBBdxAtQQZRHLm7HWMA6Fw9 Next: JCkYpSGCuTKgEgc9LeGGXN3zJFB4kgg1g6jkj96e4S3G Diff:
OldNewDifferences
2626
2727 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
2828 }
29- func foldFunc (acc,e) = e
30-
31- let a = nfts
32- let final = {
33- let $l = a
34- let $s = size($l)
35- let $acc0 = nil
36- func $f1_1 ($a,$i) = if (($i >= $s))
37- then $a
38- else foldFunc($a, $l[$i])
39-
40- func $f1_2 ($a,$i) = if (($i >= $s))
41- then $a
42- else throw("List size exceeds 5")
43-
44- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5)
45- }
4629 if (if ((totalCost > amount))
4730 then true
4831 else (totalamount > amount))
5336 then throw("Invalid input: Number of NFTs, seller addresses, and costs must be the same.")
5437 else if ((amount > buyerBalance))
5538 then throw("Buyer does not have enough funds to complete the purchase.")
56- else [StringEntry(toString(i.caller), toString(amount)), ScriptTransfer(buyer, 1, toBytes(final[0])), ScriptTransfer(Address(fromBase58String(seller[0])), price[0], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[1], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[2], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
39+ else [StringEntry(toString(i.caller), toString(amount)), ScriptTransfer(buyer, 1, fromBase58String(nfts[0])), ScriptTransfer(buyer, 1, fromBase58String(nfts[1])), ScriptTransfer(buyer, 1, fromBase58String(nfts[2])), ScriptTransfer(Address(fromBase58String(seller[0])), price[0], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[1], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[2], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
5740 }
5841
5942
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let teams = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
55
66 @Callable(i)
77 func buyNft (seller,nfts,price,totalamount) = {
88 let buyer = i.caller
99 let nft = size(nfts)
1010 let buyerBalance = assetBalance(buyer, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')
1111 let amount = value(i.payments[0].amount)
1212 func sum (accum,next) = (accum + next)
1313
1414 let arr = price
1515 let totalCost = {
1616 let $l = arr
1717 let $s = size($l)
1818 let $acc0 = 0
1919 func $f0_1 ($a,$i) = if (($i >= $s))
2020 then $a
2121 else sum($a, $l[$i])
2222
2323 func $f0_2 ($a,$i) = if (($i >= $s))
2424 then $a
2525 else throw("List size exceeds 5")
2626
2727 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
2828 }
29- func foldFunc (acc,e) = e
30-
31- let a = nfts
32- let final = {
33- let $l = a
34- let $s = size($l)
35- let $acc0 = nil
36- func $f1_1 ($a,$i) = if (($i >= $s))
37- then $a
38- else foldFunc($a, $l[$i])
39-
40- func $f1_2 ($a,$i) = if (($i >= $s))
41- then $a
42- else throw("List size exceeds 5")
43-
44- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5)
45- }
4629 if (if ((totalCost > amount))
4730 then true
4831 else (totalamount > amount))
4932 then throw("your paying ammount is wrong ")
5033 else if (if ((size(nfts) != size(seller)))
5134 then true
5235 else (size(seller) != size(price)))
5336 then throw("Invalid input: Number of NFTs, seller addresses, and costs must be the same.")
5437 else if ((amount > buyerBalance))
5538 then throw("Buyer does not have enough funds to complete the purchase.")
56- else [StringEntry(toString(i.caller), toString(amount)), ScriptTransfer(buyer, 1, toBytes(final[0])), ScriptTransfer(Address(fromBase58String(seller[0])), price[0], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[1], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[2], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
39+ else [StringEntry(toString(i.caller), toString(amount)), ScriptTransfer(buyer, 1, fromBase58String(nfts[0])), ScriptTransfer(buyer, 1, fromBase58String(nfts[1])), ScriptTransfer(buyer, 1, fromBase58String(nfts[2])), ScriptTransfer(Address(fromBase58String(seller[0])), price[0], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[1], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(seller[1])), price[2], base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
5740 }
5841
5942

github/deemru/w8io/169f3d6 
60.55 ms