tx · 4Q3wRLhXjRqqjnPXQZZzEDwJHSqmvZZSTT2SAV6pVGHk 3N4Lz2iWoYPd82cxU6vMMa8cZ9BCcPCaaXu: -0.00200000 Waves 2022.07.21 05:03 [2148893] smart account 3N4Lz2iWoYPd82cxU6vMMa8cZ9BCcPCaaXu > SELF 0.00000000 Waves
{ "type": 13, "id": "4Q3wRLhXjRqqjnPXQZZzEDwJHSqmvZZSTT2SAV6pVGHk", "fee": 200000, "feeAssetId": null, "timestamp": 1658369050656, "version": 2, "chainId": 84, "sender": "3N4Lz2iWoYPd82cxU6vMMa8cZ9BCcPCaaXu", "senderPublicKey": "5sUTyr8zPCCZHgVwgBgFhQA8Q26w2V1dnitx3izrEJ1B", "proofs": [ "2pLW7uv6o32gRUbd77rt3wP8xoSGsHiykXn3hawXvMvTzjMmCkijkEALGv64nnQNQG7RpTkfbUGwNyeTHfchW4UW" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEIAAAABQAAAAADU0VQAgAAAAJfXwAAAAAFTVVMVDYAAAAAAAAPQkAAAAAABU1VTFQ4AAAAAAAF9eEAAAAAAApXQVZFU0lEU1RSAgAAAAVXQVZFUwAAAAAHV0FWRVNJRAkAAlkAAAABBQAAAApXQVZFU0lEU1RSAAAAAQAAAAFpAQAAABVkaXN0cmlidXRlTWluZXJSZXdhcmQAAAABAAAAFGJlbmlmaWNhcnlBZGRyZXNzU3RyAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAACBleGFjdCAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQAAAgAAAAECAAAAImRhcHAgdG8gZGFwcCBjYWxscyBhcmUgbm90IGFsbG93ZWQEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAIbWluZWRBbXQIBQAAAANwbXQAAAAGYW1vdW50BAAAAApwbXRBc3NldElkCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAB1dBVkVTSUQEAAAABmZlZUFtdAgFAAAAAWkAAAADZmVlBAAAAApmZWVBc3NldElkCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAABaQAAAApmZWVBc3NldElkBQAAAAdXQVZFU0lEAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAHV0FWRVNJRAkAAAIAAAABAgAAACFvbmx5IFdhdmVzIGNhbiBiZSB1c2VkIGluIHBheW1lbnQDCQEAAAACIT0AAAACBQAAAApmZWVBc3NldElkBQAAAAdXQVZFU0lECQAAAgAAAAECAAAAHm9ubHkgV2F2ZXMgY2FuIGJlIHVzZWQgaW4gZmVlcwMJAQAAAAIhPQAAAAIFAAAABmZlZUFtdAkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAUFAAAABU1VTFQ4AAAAAAAAAAPoCQAAAgAAAAECAAAAIGZlZSBhbW91bnQgY291bGRuJ3QgZXhjZWVkIDAuMDA1BAAAAA9uZXV0cmlub0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNONEx6MmlXb1lQZDgyY3hVNnZNTWE4Y1o5QkNjUENhYVh1BAAAAAxtaW5lckFkZHJlc3MIBQAAAAFpAAAABmNhbGxlcgQAAAARYmVuaWZpY2FyeUFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAFGJlbmlmaWNhcnlBZGRyZXNzU3RyBAAAAAxwcm90b2NvbFBhcnQAAAAAAAAOfvAEAAAADmJlbmlmaWNhcnlQYXJ0AAAAAAAAAMNQBAAAABBhdmFpbGFibGVCYWxhbmNlCQAAZQAAAAIICQAD7wAAAAEFAAAADG1pbmVyQWRkcmVzcwAAAAlhdmFpbGFibGUFAAAABmZlZUFtdAMJAABmAAAAAgUAAAAQYXZhaWxhYmxlQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAEYWxsIAkAAaQAAAABBQAAABBhdmFpbGFibGVCYWxhbmNlAgAAAEEgV2F2ZWxldHMgZnJvbSB0aGUgTm9kZSBiYWxhbmNlIG11c3QgYmUgYXR0YWNoZWQgaW50byB0aGUgcGF5bWVudAQAAAANYmVuaWZpY2FyeUFtdAkAAGsAAAADBQAAAAhtaW5lZEFtdAUAAAAOYmVuaWZpY2FyeVBhcnQFAAAABU1VTFQ2BAAAAAtwcm90b2NvbEFtdAkAAGUAAAACBQAAAAhtaW5lZEFtdAUAAAANYmVuaWZpY2FyeUFtdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFiZW5pZmljYXJ5QWRkcmVzcwUAAAANYmVuaWZpY2FyeUFtdAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA9uZXV0cmlub0FkZHJlc3MFAAAAC3Byb3RvY29sQW10BQAAAAR1bml0BQAAAANuaWwAAAAA5Y8tYg==", "height": 2148893, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HYBSYnWEJq72HCHHPNLHST3VVffMpiUq9CUfp3NrzpHi Next: 7K1J7gUZPBbpzBbEGy56Z8NfszGiZEJifiaGXzM5WeJT Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let SEP = "__" | |
5 | + | ||
6 | + | let MULT6 = 1000000 | |
7 | + | ||
8 | + | let MULT8 = 100000000 | |
9 | + | ||
10 | + | let WAVESIDSTR = "WAVES" | |
11 | + | ||
12 | + | let WAVESID = fromBase58String(WAVESIDSTR) | |
13 | + | ||
14 | + | @Callable(i) | |
15 | + | func distributeMinerReward (benificaryAddressStr) = if ((size(i.payments) != 1)) | |
16 | + | then throw("exact 1 payment must be attached") | |
17 | + | else if ((i.caller != i.originCaller)) | |
18 | + | then throw("dapp to dapp calls are not allowed") | |
19 | + | else { | |
20 | + | let pmt = i.payments[0] | |
21 | + | let minedAmt = pmt.amount | |
22 | + | let pmtAssetId = valueOrElse(pmt.assetId, WAVESID) | |
23 | + | let feeAmt = i.fee | |
24 | + | let feeAssetId = valueOrElse(i.feeAssetId, WAVESID) | |
25 | + | if ((pmtAssetId != WAVESID)) | |
26 | + | then throw("only Waves can be used in payment") | |
27 | + | else if ((feeAssetId != WAVESID)) | |
28 | + | then throw("only Waves can be used in fees") | |
29 | + | else if ((feeAmt != ((5 * MULT8) / 1000))) | |
30 | + | then throw("fee amount couldn't exceed 0.005") | |
31 | + | else { | |
32 | + | let neutrinoAddress = addressFromStringValue("3N4Lz2iWoYPd82cxU6vMMa8cZ9BCcPCaaXu") | |
33 | + | let minerAddress = i.caller | |
34 | + | let benificaryAddress = addressFromStringValue(benificaryAddressStr) | |
35 | + | let protocolPart = 950000 | |
36 | + | let benificaryPart = 50000 | |
37 | + | let availableBalance = (wavesBalance(minerAddress).available - feeAmt) | |
38 | + | if ((availableBalance > 0)) | |
39 | + | then throw((("all " + toString(availableBalance)) + " Wavelets from the Node balance must be attached into the payment")) | |
40 | + | else { | |
41 | + | let benificaryAmt = fraction(minedAmt, benificaryPart, MULT6) | |
42 | + | let protocolAmt = (minedAmt - benificaryAmt) | |
43 | + | [ScriptTransfer(benificaryAddress, benificaryAmt, unit), ScriptTransfer(neutrinoAddress, protocolAmt, unit)] | |
44 | + | } | |
45 | + | } | |
46 | + | } | |
47 | + | ||
48 | + |
github/deemru/w8io/169f3d6 49.14 ms ◑