tx · HVQkHsLULXyUXPMTB6KDw2uL6VToLhF6wpD6LoyVcVB5

3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id:  -0.01400000 Waves

2021.05.19 20:45 [1532862] smart account 3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id > SELF 0.00000000 Waves

{ "type": 13, "id": "HVQkHsLULXyUXPMTB6KDw2uL6VToLhF6wpD6LoyVcVB5", "fee": 1400000, "feeAssetId": null, "timestamp": 1621446372695, "version": 2, "chainId": 84, "sender": "3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id", "senderPublicKey": "8agr5kfwDL7NLuMetvciXCcd9TcDKZhRwYZPPTAShaCC", "proofs": [ "5PLHSrVWR8Kt2troJR8Nz66SZZoTA2Z16QCm2wwJMkaPRuAVoRyW3QLYbmMXqALhZiJbQDQvpyEjcXvgs7S2Mdoz" ], "script": "base64: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cGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDAxOTMwMjAwNQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDE5MzAyMDA1AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAHYXNzZXRJZAkAAAIAAAABAgAAABdBc3NldCBtdXN0IGJlIFVTRE4gb25seQQAAAAMZXhjaGFuZ2VSYXRlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAA9rZXlFeGNoYW5nZVJhdGUEAAAAGmV4Y2hhbmdlUmF0ZVNjYWxlRGVsaW1pdGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAB1rZXlFeGNoYW5nZVJhdGVTY2FsZURlbGltaXRlcgQAAAALYW1vdW50VG9QYXkJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAABpleGNoYW5nZVJhdGVTY2FsZURlbGltaXRlcgUAAAAMZXhjaGFuZ2VSYXRlBAAAABBhbW91bnRDb21taXNzaW9uCQAAawAAAAMFAAAAC2Ftb3VudFRvUGF5BQAAAApjb21taXNzaW9uBQAAABhjb21taXNzaW9uU2NhbGVEZWxpbWl0ZXIEAAAAF2Ftb3VudFdpdGhvdXRDb21taXNzaW9uCQAAZQAAAAIFAAAAC2Ftb3VudFRvUGF5BQAAABBhbW91bnRDb21taXNzaW9uCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAXYW1vdW50V2l0aG91dENvbW1pc3Npb24FAAAABlVXT1JMRAUAAAADbmlsAAAAAWkBAAAACnNlbGxVV09STEQAAAAABAAAAAskdDAyNjYzMjczOAkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDI2NjMyNzM4AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwMjY2MzI3MzgAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAZVV09STEQJAAACAAAAAQIAAAAZQXNzZXQgbXVzdCBiZSBVV09STEQgb25seQQAAAAMZXhjaGFuZ2VSYXRlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAA9rZXlFeGNoYW5nZVJhdGUEAAAAGmV4Y2hhbmdlUmF0ZVNjYWxlRGVsaW1pdGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAB1rZXlFeGNoYW5nZVJhdGVTY2FsZURlbGltaXRlcgQAAAALYW1vdW50VG9QYXkJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAAxleGNoYW5nZVJhdGUFAAAAGmV4Y2hhbmdlUmF0ZVNjYWxlRGVsaW1pdGVyBAAAABBhbW91bnRDb21taXNzaW9uCQAAawAAAAMFAAAAC2Ftb3VudFRvUGF5BQAAAApjb21taXNzaW9uBQAAABhjb21taXNzaW9uU2NhbGVEZWxpbWl0ZXIEAAAAF2Ftb3VudFdpdGhvdXRDb21taXNzaW9uCQAAZQAAAAIFAAAAC2Ftb3VudFRvUGF5BQAAABBhbW91bnRDb21taXNzaW9uCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAXYW1vdW50V2l0aG91dENvbW1pc3Npb24FAAAABFVTRE4FAAAAA25pbAAAAAFpAQAAAAttYWtlUGF5bWVudAAAAAIAAAAJcmVjaXBpZW50AAAACXByb2R1Y3RJZAQAAAAQcmVjaXBpZW50QWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAJcmVjaXBpZW50BAAAAAskdDAzNDkzMzU2OAkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDM0OTMzNTY4AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwMzQ5MzM1NjgAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAdhc3NldElkCQAAAgAAAAECAAAAF0Fzc2V0IG11c3QgYmUgVVNETiBvbmx5BAAAABBhbW91bnRDb21taXNzaW9uCQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAKY29tbWlzc2lvbgUAAAAYY29tbWlzc2lvblNjYWxlRGVsaW1pdGVyBAAAABdhbW91bnRXaXRob3V0Q29tbWlzc2lvbgkAAGUAAAACBQAAAAlwbXRBbW91bnQFAAAAEGFtb3VudENvbW1pc3Npb24EAAAADmFtb3VudENhc2hiYWNrCQAAawAAAAMFAAAACXBtdEFtb3VudAAAAAAAAAAACgAAAAAAAAAAZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAACXByb2R1Y3RJZAQAAAAKTkZUYXNzZXRJZAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAlwcm9kdWN0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQcmVjaXBpZW50QWRkcmVzcwUAAAAXYW1vdW50V2l0aG91dENvbW1pc3Npb24FAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA5hbW91bnRDYXNoYmFjawUAAAAGVVdPUkxECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAKTkZUYXNzZXRJZAUAAAADbmlsCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEHJlY2lwaWVudEFkZHJlc3MFAAAAF2Ftb3VudFdpdGhvdXRDb21taXNzaW9uBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOYW1vdW50Q2FzaGJhY2sFAAAABlVXT1JMRAUAAAADbmlsAAAAACHFFHU=", "height": 1532862, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BK7R1AQkZxZy2wzVvBz2hJhT5pJHheV5SNfJ7pcV5Jv9 Next: 7mCQXQpfg9qRiQFn37vmeynCp4PdaGoRT47G3GbkxW91 Diff:
OldNewDifferences
101101 if (isDefined(getString(this, productId)))
102102 then {
103103 let NFTassetId = fromBase58String(getStringValue(this, productId))
104-[ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(recipientAddress, amountCashback, UWORLD), ScriptTransfer(i.caller, amountCashback, UWORLD), ScriptTransfer(i.caller, 1, NFTassetId)]
104+[ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(i.caller, amountCashback, UWORLD), ScriptTransfer(i.caller, 1, NFTassetId)]
105105 }
106- else [ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(recipientAddress, amountCashback, UWORLD), ScriptTransfer(i.caller, amountCashback, UWORLD)]
106+ else [ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(i.caller, amountCashback, UWORLD)]
107107 }
108108 }
109109
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyExchangeRate = "exchange_rate"
55
66 let keyExchangeRateScaleDelimiter = "exchange_rate_scale_delimiter"
77
88 let keyCommission = "commission"
99
1010 let keyCommissionScaleDelimiter = "commission_scale_delimiter"
1111
1212 let USDN = base58'GPi1Q6QVgUmuomtThbim81hBYBEUWyf5BVmE4Tnd3sNg'
1313
1414 let UWORLD = base58'7D191wpwpSs4WanizHWgiRhAYhCGkmpop4h3NzUQreig'
1515
1616 let assetId = USDN
1717
1818 let commission = 30000
1919
2020 let commissionScaleDelimiter = 1000000
2121
2222 let makeNFTfee = 1000000
2323
2424 @Callable(i)
2525 func makeNFT (name,description,productId) = {
2626 let $t0864939 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
2727 let pmtAmount = $t0864939._1
2828 let pmtAssetId = $t0864939._2
2929 if ((pmtAssetId != assetId))
3030 then throw("Asset must be USDN only")
3131 else if ((makeNFTfee > pmtAmount))
3232 then throw(("Fee for make NFT token is " + toString(makeNFTfee)))
3333 else if (isDefined(getString(this, productId)))
3434 then throw("NFT for this productId is already issued.")
3535 else {
3636 let newAsset = Issue(name, (((description + "[") + productId) + "]"), 1, 0, false, unit, 0)
3737 let newAssetId = calculateAssetId(newAsset)
3838 [newAsset, StringEntry(productId, toBase58String(newAssetId))]
3939 }
4040 }
4141
4242
4343
4444 @Callable(i)
4545 func setParams (exchangeRate,exchangeRateScaleDelimiter) = if ((i.caller != this))
4646 then throw("Only the DApp itself can call this function")
4747 else [IntegerEntry(keyExchangeRate, exchangeRate), IntegerEntry(keyExchangeRateScaleDelimiter, exchangeRateScaleDelimiter), IntegerEntry(keyCommission, commission), IntegerEntry(keyCommissionScaleDelimiter, commissionScaleDelimiter)]
4848
4949
5050
5151 @Callable(i)
5252 func buyUWORLD () = {
5353 let $t019302005 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
5454 let pmtAmount = $t019302005._1
5555 let pmtAssetId = $t019302005._2
5656 if ((pmtAssetId != assetId))
5757 then throw("Asset must be USDN only")
5858 else {
5959 let exchangeRate = getIntegerValue(this, keyExchangeRate)
6060 let exchangeRateScaleDelimiter = getIntegerValue(this, keyExchangeRateScaleDelimiter)
6161 let amountToPay = fraction(pmtAmount, exchangeRateScaleDelimiter, exchangeRate)
6262 let amountCommission = fraction(amountToPay, commission, commissionScaleDelimiter)
6363 let amountWithoutCommission = (amountToPay - amountCommission)
6464 [ScriptTransfer(i.caller, amountWithoutCommission, UWORLD)]
6565 }
6666 }
6767
6868
6969
7070 @Callable(i)
7171 func sellUWORLD () = {
7272 let $t026632738 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
7373 let pmtAmount = $t026632738._1
7474 let pmtAssetId = $t026632738._2
7575 if ((pmtAssetId != UWORLD))
7676 then throw("Asset must be UWORLD only")
7777 else {
7878 let exchangeRate = getIntegerValue(this, keyExchangeRate)
7979 let exchangeRateScaleDelimiter = getIntegerValue(this, keyExchangeRateScaleDelimiter)
8080 let amountToPay = fraction(pmtAmount, exchangeRate, exchangeRateScaleDelimiter)
8181 let amountCommission = fraction(amountToPay, commission, commissionScaleDelimiter)
8282 let amountWithoutCommission = (amountToPay - amountCommission)
8383 [ScriptTransfer(i.caller, amountWithoutCommission, USDN)]
8484 }
8585 }
8686
8787
8888
8989 @Callable(i)
9090 func makePayment (recipient,productId) = {
9191 let recipientAddress = addressFromStringValue(recipient)
9292 let $t034933568 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
9393 let pmtAmount = $t034933568._1
9494 let pmtAssetId = $t034933568._2
9595 if ((pmtAssetId != assetId))
9696 then throw("Asset must be USDN only")
9797 else {
9898 let amountCommission = fraction(pmtAmount, commission, commissionScaleDelimiter)
9999 let amountWithoutCommission = (pmtAmount - amountCommission)
100100 let amountCashback = fraction(pmtAmount, 10, 100)
101101 if (isDefined(getString(this, productId)))
102102 then {
103103 let NFTassetId = fromBase58String(getStringValue(this, productId))
104-[ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(recipientAddress, amountCashback, UWORLD), ScriptTransfer(i.caller, amountCashback, UWORLD), ScriptTransfer(i.caller, 1, NFTassetId)]
104+[ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(i.caller, amountCashback, UWORLD), ScriptTransfer(i.caller, 1, NFTassetId)]
105105 }
106- else [ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(recipientAddress, amountCashback, UWORLD), ScriptTransfer(i.caller, amountCashback, UWORLD)]
106+ else [ScriptTransfer(recipientAddress, amountWithoutCommission, assetId), ScriptTransfer(i.caller, amountCashback, UWORLD)]
107107 }
108108 }
109109
110110

github/deemru/w8io/026f985 
30.20 ms