tx · HXP6zH2EzVFi2JPYT9cgow6Nyym4RL3n2jSFBL3TCt2Z

3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id:  -0.01400000 Waves

2021.04.23 01:16 [1494239] smart account 3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id > SELF 0.00000000 Waves

{ "type": 13, "id": "HXP6zH2EzVFi2JPYT9cgow6Nyym4RL3n2jSFBL3TCt2Z", "fee": 1400000, "feeAssetId": null, "timestamp": 1619129872660, "version": 2, "chainId": 84, "sender": "3NADYuG3G91PrmsrRqQfyeDCf2Pi53UV5id", "senderPublicKey": "8agr5kfwDL7NLuMetvciXCcd9TcDKZhRwYZPPTAShaCC", "proofs": [ "33fDsd2YkpBDe3qnUNipY9dW5FpaJZ1TkJuGxSG88TTQYTWk8sxhLGbgsPE8vyqua5GvQYNmzBkbcaM2xtj3LeKj" ], "script": "base64:AAIEAAAAAAAAAAcIAhIDCgEIAAAABAAAAAAEVVNETgEAAAAgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEAAAAAB1VTRHRlc3QBAAAAIOSwcsQaO/7w9gk22WMNYWxRgCp4LSxG18pSVz66uVShAAAAAAdhc3NldElkBQAAAAdVU0R0ZXN0AQAAAAxnZXRBc3NldEluZm8AAAABAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDAFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gwBAAAAAhzdHJpbmdJZAkAAlgAAAABBQAAAAJpZAQAAAAEaW5mbwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEFAAAAAmlkCQABLAAAAAIJAAEsAAAAAgIAAAAGQXNzZXQgBQAAAAhzdHJpbmdJZAIAAAAOIGRvZXNuJ3QgZXhpc3QJAAUVAAAAAwUAAAAIc3RyaW5nSWQIBQAAAARpbmZvAAAABG5hbWUIBQAAAARpbmZvAAAACGRlY2ltYWxzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAV3YXZlcwUAAAAHJG1hdGNoMAkABRUAAAADAgAAAAVXQVZFUwIAAAAFV0FWRVMAAAAAAAAAAAgJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IAAAABAAAAAWkBAAAABGNhbGwAAAABAAAACXJlY2lwaWVudAQAAAAQcmVjaXBpZW50QWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAJcmVjaXBpZW50BAAAAAkkdDA3NTY4MzEJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAkkdDA3NTY4MzEAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAkkdDA3NTY4MzEAAAACXzIEAAAACSR0MDgzNDkwNwkBAAAADGdldEFzc2V0SW5mbwAAAAEFAAAACnBtdEFzc2V0SWQEAAAADXBtdFN0ckFzc2V0SWQIBQAAAAkkdDA4MzQ5MDcAAAACXzEEAAAADHBtdEFzc2V0TmFtZQgFAAAACSR0MDgzNDkwNwAAAAJfMgQAAAALcG10RGVjaW1hbHMIBQAAAAkkdDA4MzQ5MDcAAAACXzMDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAdhc3NldElkCQAAAgAAAAECAAAAGEFzc2V0cyBtdXN0IGJlIFVTRE4gb25seQQAAAAKY29tbWlzc2lvbgAAAAAAAAB1MAQAAAAYY29tbWlzc2lvblNjYWxlRGVsaW1pdGVyAAAAAAAAD0JABAAAAANmZWUJAABrAAAAAwUAAAAJcG10QW1vdW50AAAAAAAAAABhAAAAAAAAAABkBAAAABBhbW91bnRXaXRob3V0RmVlCQAAZQAAAAIFAAAACXBtdEFtb3VudAUAAAADZmVlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABByZWNpcGllbnRBZGRyZXNzBQAAABBhbW91bnRXaXRob3V0RmVlBQAAAAdhc3NldElkBQAAAANuaWwAAAAAItbq9A==", "height": 1494239, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 62jCt8pEFqLfQHzHiFVcwgtPmd1XFQHZFQndxWHKBifw Next: BC8monaYtxij8jUZtvQkjqDSddmn8XpvsJHSbXwjf3GD Diff:
OldNewDifferences
55
66 let USDtest = base58'GPi1Q6QVgUmuomtThbim81hBYBEUWyf5BVmE4Tnd3sNg'
77
8+let assetId = USDtest
9+
10+func getAssetInfo (assetId) = match assetId {
11+ case id: ByteVector =>
12+ let stringId = toBase58String(id)
13+ let info = valueOrErrorMessage(assetInfo(id), (("Asset " + stringId) + " doesn't exist"))
14+ $Tuple3(stringId, info.name, info.decimals)
15+ case waves: Unit =>
16+ $Tuple3("WAVES", "WAVES", 8)
17+ case _ =>
18+ throw("Match error")
19+}
20+
21+
822 @Callable(i)
923 func call (recipient) = {
1024 let recipientAddress = addressFromStringValue(recipient)
11-[ScriptTransfer(i.caller, 1, unit), ScriptTransfer(recipientAddress, 1, USDtest)]
25+ let $t0756831 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
26+ let pmtAmount = $t0756831._1
27+ let pmtAssetId = $t0756831._2
28+ let $t0834907 = getAssetInfo(pmtAssetId)
29+ let pmtStrAssetId = $t0834907._1
30+ let pmtAssetName = $t0834907._2
31+ let pmtDecimals = $t0834907._3
32+ if ((pmtAssetId != assetId))
33+ then throw("Assets must be USDN only")
34+ else {
35+ let commission = 30000
36+ let commissionScaleDelimiter = 1000000
37+ let fee = fraction(pmtAmount, 97, 100)
38+ let amountWithoutFee = (pmtAmount - fee)
39+[ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(recipientAddress, amountWithoutFee, assetId)]
40+ }
1241 }
1342
1443
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
66 let USDtest = base58'GPi1Q6QVgUmuomtThbim81hBYBEUWyf5BVmE4Tnd3sNg'
77
8+let assetId = USDtest
9+
10+func getAssetInfo (assetId) = match assetId {
11+ case id: ByteVector =>
12+ let stringId = toBase58String(id)
13+ let info = valueOrErrorMessage(assetInfo(id), (("Asset " + stringId) + " doesn't exist"))
14+ $Tuple3(stringId, info.name, info.decimals)
15+ case waves: Unit =>
16+ $Tuple3("WAVES", "WAVES", 8)
17+ case _ =>
18+ throw("Match error")
19+}
20+
21+
822 @Callable(i)
923 func call (recipient) = {
1024 let recipientAddress = addressFromStringValue(recipient)
11-[ScriptTransfer(i.caller, 1, unit), ScriptTransfer(recipientAddress, 1, USDtest)]
25+ let $t0756831 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
26+ let pmtAmount = $t0756831._1
27+ let pmtAssetId = $t0756831._2
28+ let $t0834907 = getAssetInfo(pmtAssetId)
29+ let pmtStrAssetId = $t0834907._1
30+ let pmtAssetName = $t0834907._2
31+ let pmtDecimals = $t0834907._3
32+ if ((pmtAssetId != assetId))
33+ then throw("Assets must be USDN only")
34+ else {
35+ let commission = 30000
36+ let commissionScaleDelimiter = 1000000
37+ let fee = fraction(pmtAmount, 97, 100)
38+ let amountWithoutFee = (pmtAmount - fee)
39+[ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(recipientAddress, amountWithoutFee, assetId)]
40+ }
1241 }
1342
1443

github/deemru/w8io/026f985 
18.78 ms