tx · 361J2E2Exey8agc4m3ABoc6iJtTeCykeYwFCVDLgUT4a 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua: -0.01400000 Waves 2021.03.22 18:02 [1449106] smart account 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua > SELF 0.00000000 Waves
{ "type": 13, "id": "361J2E2Exey8agc4m3ABoc6iJtTeCykeYwFCVDLgUT4a", "fee": 1400000, "feeAssetId": null, "timestamp": 1616425406939, "version": 2, "chainId": 84, "sender": "3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua", "senderPublicKey": "CTyHhnVTxf16Z4CmGGneAK8WB5g2QyT4MB8kUn8vPPcu", "proofs": [ "3fYnHX43wSwkt1NcFPuKBrit4UmgMW9ewjgmDJ6FEoXHVEiwtNJRgHXqKukG1JcUqaDR4Ft6q6jbpxzT3enQQCGp" ], "script": "base64:AAIEAAAAAAAAAAYIAhIAEgAAAAAVAAAAABR2ZXJzaW9uU3Rha2VDb250cmFjdAAAAAAAAAAAAQAAAAALaGNTZXBhcmF0b3ICAAAAA19fXwAAAAAHaGNXYXZlcwIAAAAFV0FWRVMAAAAAE2tleVN0YWtpbmdXaGl0ZWxpc3QCAAAAEVNUQUtJTkdfV0hJVEVMSVNUAAAAAAhrZXlOb25jZQIAAAAFTk9OQ0UAAAAAFGtleVN0YWtlQ29udHJhY3ROYW1lAgAAABBTdGFrZUNvbnRyYWN0TkZUAAAAAA9rZXlMb2NrZWRBbW91bnQCAAAADkxPQ0tFRF9BTU9VTlRfAAAAABtrZXlUb2tlbkNpcmN1bGF0aW5nU3VwcGxpZXMCAAAAGlRPS0VOX0NJUkNVTEFUSU5HX1NVUFBMSUVTAAAAABtrZXlUb2tlblRvdGFsSXNzdWVkU3VwcGxpZXMCAAAAG1RPS0VOX1RPVEFMX0lTU1VFRF9TVVBQTElFUwAAAAAba2V5VG9rZW5Ub3RhbEJ1cm5lZFN1cHBsaWVzAgAAABtUT0tFTl9UT1RBTF9CVVJORURfU1VQUExJRVMAAAAAGGtleUFzc2V0T25nb2luZ0NvbnRyYWN0cwIAAAAYQVNTRVRfT05HT0lOR19DT05UUkFDVFNfAAAAABdrZXlBc3NldElzc3VlZENvbnRyYWN0cwIAAAAXQVNTRVRfSVNTVUVEX0NPTlRSQUNUU18AAAAAF2tleUFzc2V0QnVybmVkQ29udHJhY3RzAgAAABdBU1NFVF9CVVJORURfQ09OVFJBQ1RTXwAAAAAYa2V5VG90YWxPbmdvaW5nQ29udHJhY3RzAgAAABdUT1RBTF9PTkdPSU5HX0NPTlRSQUNUUwAAAAAXa2V5VG90YWxJc3N1ZWRDb250cmFjdHMCAAAAFlRPVEFMX0lTU1VFRF9DT05UUkFDVFMAAAAAF2tleVRvdGFsQnVybmVkQ29udHJhY3RzAgAAABZUT1RBTF9CVVJORURfQ09OVFJBQ1RTAAAAAAd0b2tlbklkAQAAACBdiKEMaBIMwiIbCz1LjRLL434EfqEYF4b7v21w4wyh/AAAAAAYdG9rZW5FbGlnaWJpbGl0eVBlckJsb2NrCQAAaAAAAAIAAAAAAAAAAAoAAAAAAAX14QABAAAAEGdldFN0cmlu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bwAAAAEJAAEsAAAAAgUAAAAYa2V5QXNzZXRPbmdvaW5nQ29udHJhY3RzBQAAAAdhc3NldElkAAAAAAAAAAABBAAAABduZXdBc3NldElzc3VlZENvbnRyYWN0cwkAAGQAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEJAAEsAAAAAgUAAAAXa2V5QXNzZXRJc3N1ZWRDb250cmFjdHMFAAAAB2Fzc2V0SWQAAAAAAAAAAAEEAAAAGG5ld1RvdGFsT25nb2luZ0NvbnRyYWN0cwkAAGQAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEFAAAAGGtleVRvdGFsT25nb2luZ0NvbnRyYWN0cwAAAAAAAAAAAQQAAAAXbmV3VG90YWxJc3N1ZWRDb250cmFjdHMJAABkAAAAAgkBAAAAEGdldEludGVnZXJPclplcm8AAAABBQAAABdrZXlUb3RhbElzc3VlZENvbnRyYWN0cwAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIa2V5Tm9uY2UJAAGRAAAAAgUAAAAFbm9uY2UAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAPa2V5TG9ja2VkQW1vdW50BQAAAAdhc3NldElkBQAAAA9uZXdMb2NrZWRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAYa2V5QXNzZXRPbmdvaW5nQ29udHJhY3RzBQAAAAdhc3NldElkBQAAABhuZXdBc3NldE9uZ29pbmdDb250cmFjdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAXa2V5QXNzZXRJc3N1ZWRDb250cmFjdHMFAAAAB2Fzc2V0SWQFAAAAF25ld0Fzc2V0SXNzdWVkQ29udHJhY3RzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABhrZXlUb3RhbE9uZ29pbmdDb250cmFjdHMFAAAAGG5ld1RvdGFsT25nb2luZ0NvbnRyYWN0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXa2V5VG90YWxJc3N1ZWRDb250cmFjdHMFAAAAF25ld1RvdGFsSXNzdWVkQ29udHJhY3RzCQAETAAAAAIFAAAADWNvbnRyYWN0SXNzdWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCAUAAAANY29udHJhY3RJc3N1ZQAAAAhxdWFudGl0eQUAAAAKY29udHJhY3RJZAUAAAADbmlsAAAAAWkBAAAADXdpdGhkcmF3U3Rha2UAAAAAAwkAAAAAAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAdZEFwcCBjYW4ndCBpbnRlcmFjdCB3aXRoIHNlbGYDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAKk5vdCBhIHZhbGlkIGFtb3VudCBvZiBwYXltZW50cyAocmVxdWlyZSAxKQMJAABmAAAAAgAAAAAAAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAAAgAAAAECAAAAG0Nhbid0IHN0YWtlIG5lZ2F0aWYgb3IgemVybwQAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAAMaXNCeXRlVmVjdG9yBQAAAAckbWF0Y2gwBQAAAAxpc0J5dGVWZWN0b3IJAAACAAAAAQIAAAAMTm90IGFuIEFzc2V0BAAAAAxjb250cmFjdEluZm8EAAAAByRtYXRjaDAJAAPsAAAAAQUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFQXNzZXQEAAAACWlzQW5Bc3NldAUAAAAHJG1hdGNoMAUAAAAJaXNBbkFzc2V0CQAAAgAAAAECAAAAE0NvdWxkbid0IGZpbmQgQXNzZXQDAwMDAwkBAAAAAiE9AAAAAggFAAAADGNvbnRyYWN0SW5mbwAAAAZpc3N1ZXIFAAAABHRoaXMGCQEAAAACIT0AAAACCAUAAAAMY29udHJhY3RJbmZvAAAACGRlY2ltYWxzAAAAAAAAAAAABgkBAAAAAiE9AAAAAggFAAAADGNvbnRyYWN0SW5mbwAAAAhxdWFudGl0eQAAAAAAAAAAAQYJAQAAAAIhPQAAAAIIBQAAAAxjb250cmFjdEluZm8AAAAKcmVpc3N1YWJsZQcGCQEAAAACIT0AAAACCAUAAAAMY29udHJhY3RJbmZvAAAABG5hbWUFAAAAFGtleVN0YWtlQ29udHJhY3ROYW1lCQAAAgAAAAECAAAADk5vdCBhIENvbnRyYWN0BAAAABFjb250cmFjdERlc2NBcnJheQkABLUAAAACCAUAAAAMY29udHJhY3RJbmZvAAAAC2Rlc2NyaXB0aW9uBQAAAAtoY1NlcGFyYXRvcgQAAAAPY29udHJhY3RWZXJzaW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAARY29udHJhY3REZXNjQXJyYXkAAAAAAAAAAAAEAAAAFmNvbnRyYWN0U3RhcnRpbmdIZWlnaHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABFjb250cmFjdERlc2NBcnJheQAAAAAAAAAAAQQAAAAQY29udHJhY3RTdGFrZXJJZAkAAZEAAAACBQAAABFjb250cmFjdERlc2NBcnJheQAAAAAAAAAAAgQAAAANY29udHJhY3RBc3NldAQAAAAHJG1hdGNoMAkAA+wAAAABCQACWQAAAAEJAAGRAAAAAgUAAAARY29udHJhY3REZXNjQXJyYXkAAAAAAAAAAAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAlpc0FuQXNzZXQFAAAAByRtYXRjaDAFAAAACWlzQW5Bc3NldAkAAAIAAAABAgAAABVDb250cmFjdCBlcnJvcjogYXNzZXQEAAAAE2NvbnRyYWN0QXNzZXRBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABFjb250cmFjdERlc2NBcnJheQAAAAAAAAAABAMJAQAAAAIhPQAAAAIJAAGQAAAAAQUAAAARY29udHJhY3REZXNjQXJyYXkAAAAAAAAAAAUJAAACAAAAAQIAAAAZQ29udHJhY3QgZXJyb3I6IGNvcnJ1cHRlZAMJAABmAAAAAgUAAAAPY29udHJhY3RWZXJzaW9uBQAAABR2ZXJzaW9uU3Rha2VDb250cmFjdAkAAAIAAAABAgAAABdDb250cmFjdCBlcnJvcjogdmVyc2lvbgMJAABnAAAAAgUAAAAWY29udHJhY3RTdGFydGluZ0hlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAH0NvbnRyYWN0IGVycm9yOiBzdGFydGluZyBoZWlnaHQDAwkAAGYAAAACAAAAAAAAAAABBQAAABNjb250cmFjdEFzc2V0QW1vdW50BgkAAGYAAAACBQAAABNjb250cmFjdEFzc2V0QW1vdW50CAUAAAANY29udHJhY3RBc3NldAAAAAhxdWFudGl0eQkAAAIAAAABAgAAABhDb250cmFjdCBlcnJvcjogcXVhbnRpdHkDCQAAZgAAAAIFAAAAE2NvbnRyYWN0QXNzZXRBbW91bnQJAAPwAAAAAgUAAAAEdGhpcwgFAAAADWNvbnRyYWN0QXNzZXQAAAACaWQJAAACAAAAAQIAAAAcQ29udHJhY3QgZXJyb3I6IGRBcHAgYmFsYW5jZQQAAAANYXNzZXRJZFN0cmluZwkAAlgAAAABCAUAAAANY29udHJhY3RBc3NldAAAAAJpZAQAAAAKYmxvY2tzQXdheQkAAGUAAAACBQAAAAZoZWlnaHQFAAAAFmNvbnRyYWN0U3RhcnRpbmdIZWlnaHQEAAAAFHVzZXJUb2tlbkVsaWdpYmlsaXR5CQAAaAAAAAIFAAAACmJsb2Nrc0F3YXkFAAAAGHRva2VuRWxpZ2liaWxpdHlQZXJCbG9jawQAAAAYY3VycmVudEFzc2V0TG9ja2VkQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAD2tleUxvY2tlZEFtb3VudAkAAZEAAAACBQAAABFjb250cmFjdERlc2NBcnJheQAAAAAAAAAAAwQAAAAYdXNlclRva2VuQW1vdW50VG9SZWNlaXZlCQAAawAAAAMFAAAAFHVzZXJUb2tlbkVsaWdpYmlsaXR5BQAAABNjb250cmFjdEFzc2V0QW1vdW50BQAAABhjdXJyZW50QXNzZXRMb2NrZWRBbW91bnQEAAAAD25ld0xvY2tlZEFtb3VudAkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAD2tleUxvY2tlZEFtb3VudAkAAZEAAAACBQAAABFjb250cmFjdERlc2NBcnJheQAAAAAAAAAAAwUAAAATY29udHJhY3RBc3NldEFtb3VudAQAAAAWbmV3Q2lyY3VsYXRpbmdTdXBwbGllcwkAAGQAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEFAAAAG2tleVRva2VuQ2lyY3VsYXRpbmdTdXBwbGllcwUAAAAYdXNlclRva2VuQW1vdW50VG9SZWNlaXZlBAAAABZuZXdUb3RhbElzc3VlZFN1cHBsaWVzCQAAZAAAAAIJAQAAABBnZXRJbnRlZ2VyT3JaZXJvAAAAAQUAAAAba2V5VG9rZW5Ub3RhbElzc3VlZFN1cHBsaWVzBQAAABh1c2VyVG9rZW5BbW91bnRUb1JlY2VpdmUEAAAAGG5ld0Fzc2V0T25nb2luZ0NvbnRyYWN0cwkAAGUAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEJAAEsAAAAAgUAAAAYa2V5QXNzZXRPbmdvaW5nQ29udHJhY3RzBQAAAA1hc3NldElkU3RyaW5nAAAAAAAAAAABBAAAABduZXdBc3NldEJ1cm5lZENvbnRyYWN0cwkAAGQAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEJAAEsAAAAAgUAAAAXa2V5QXNzZXRCdXJuZWRDb250cmFjdHMFAAAADWFzc2V0SWRTdHJpbmcAAAAAAAAAAAEEAAAAGG5ld1RvdGFsT25nb2luZ0NvbnRyYWN0cwkAAGUAAAACCQEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEFAAAAGGtleVRvdGFsT25nb2luZ0NvbnRyYWN0cwAAAAAAAAAAAQQAAAAXbmV3VG90YWxCdXJuZWRDb250cmFjdHMJAABkAAAAAgkBAAAAEGdldEludGVnZXJPclplcm8AAAABBQAAABdrZXlUb3RhbEJ1cm5lZENvbnRyYWN0cwAAAAAAAAAAAQkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAB2Fzc2V0SWQAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAPa2V5TG9ja2VkQW1vdW50CQABkQAAAAIFAAAAEWNvbnRyYWN0RGVzY0FycmF5AAAAAAAAAAADBQAAAA9uZXdMb2NrZWRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAG2tleVRva2VuQ2lyY3VsYXRpbmdTdXBwbGllcwUAAAAWbmV3Q2lyY3VsYXRpbmdTdXBwbGllcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAba2V5VG9rZW5Ub3RhbElzc3VlZFN1cHBsaWVzBQAAABZuZXdUb3RhbElzc3VlZFN1cHBsaWVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAGGtleUFzc2V0T25nb2luZ0NvbnRyYWN0cwUAAAANYXNzZXRJZFN0cmluZwUAAAAYbmV3QXNzZXRPbmdvaW5nQ29udHJhY3RzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAF2tleUFzc2V0QnVybmVkQ29udHJhY3RzBQAAAA1hc3NldElkU3RyaW5nBQAAABduZXdBc3NldEJ1cm5lZENvbnRyYWN0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAYa2V5VG90YWxPbmdvaW5nQ29udHJhY3RzBQAAABhuZXdUb3RhbE9uZ29pbmdDb250cmFjdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2tleVRvdGFsQnVybmVkQ29udHJhY3RzBQAAABduZXdUb3RhbEJ1cm5lZENvbnRyYWN0cwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAE2NvbnRyYWN0QXNzZXRBbW91bnQIBQAAAA1jb250cmFjdEFzc2V0AAAAAmlkCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAAHdG9rZW5JZAUAAAAYdXNlclRva2VuQW1vdW50VG9SZWNlaXZlBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAGHVzZXJUb2tlbkFtb3VudFRvUmVjZWl2ZQUAAAAHdG9rZW5JZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmqDOtu", "height": 1449106, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6CiJjNEkVb8e1VD9MCuAmNnaCuQW3rpN3p4YoXxSpFwi Next: 8YwTxoUN3NHoT9WWRWe5zHb141dJa7FwQYtMsjGU3PQH Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = 1 | |
4 | 5 | ||
6 | + | let b = "___" | |
5 | 7 | ||
6 | - | @Callable(a) | |
7 | - | func call () = { | |
8 | - | let b = Issue("Asset", "", 1, 0, true, unit, 0) | |
9 | - | let c = calculateAssetId(b) | |
10 | - | [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), b, Reissue(c, 1, false), Burn(c, 1), ScriptTransfer(a.caller, 1, c)] | |
8 | + | let c = "WAVES" | |
9 | + | ||
10 | + | let d = "STAKING_WHITELIST" | |
11 | + | ||
12 | + | let e = "NONCE" | |
13 | + | ||
14 | + | let f = "StakeContractNFT" | |
15 | + | ||
16 | + | let g = "LOCKED_AMOUNT_" | |
17 | + | ||
18 | + | let h = "TOKEN_CIRCULATING_SUPPLIES" | |
19 | + | ||
20 | + | let i = "TOKEN_TOTAL_ISSUED_SUPPLIES" | |
21 | + | ||
22 | + | let j = "TOKEN_TOTAL_BURNED_SUPPLIES" | |
23 | + | ||
24 | + | let k = "ASSET_ONGOING_CONTRACTS_" | |
25 | + | ||
26 | + | let l = "ASSET_ISSUED_CONTRACTS_" | |
27 | + | ||
28 | + | let m = "ASSET_BURNED_CONTRACTS_" | |
29 | + | ||
30 | + | let n = "TOTAL_ONGOING_CONTRACTS" | |
31 | + | ||
32 | + | let o = "TOTAL_ISSUED_CONTRACTS" | |
33 | + | ||
34 | + | let p = "TOTAL_BURNED_CONTRACTS" | |
35 | + | ||
36 | + | let q = base58'7J7kaZgCXKkWFxjths5ZuMGsrkpxoawPBUGaFvzpHe7V' | |
37 | + | ||
38 | + | let r = (10 * 100000000) | |
39 | + | ||
40 | + | func s (t) = { | |
41 | + | let u = getString(this, t) | |
42 | + | if ($isInstanceOf(u, "String")) | |
43 | + | then { | |
44 | + | let v = u | |
45 | + | v | |
46 | + | } | |
47 | + | else "" | |
11 | 48 | } | |
12 | 49 | ||
13 | 50 | ||
14 | - | @Verifier(d) | |
15 | - | func e () = sigVerify(d.bodyBytes, d.proofs[0], d.senderPublicKey) | |
51 | + | func w (t) = { | |
52 | + | let u = getInteger(this, t) | |
53 | + | if ($isInstanceOf(u, "Int")) | |
54 | + | then { | |
55 | + | let x = u | |
56 | + | x | |
57 | + | } | |
58 | + | else 0 | |
59 | + | } | |
60 | + | ||
61 | + | ||
62 | + | func y () = { | |
63 | + | let z = (w(e) + 1) | |
64 | + | [parseIntValue((toString(z) + toString(height))), z] | |
65 | + | } | |
66 | + | ||
67 | + | ||
68 | + | @Callable(A) | |
69 | + | func depositToStake () = if ((this == A.caller)) | |
70 | + | then throw("dApp can't interact with self") | |
71 | + | else if ((size(A.payments) != 1)) | |
72 | + | then throw("Not a valid amount of payments (require 1)") | |
73 | + | else if ((1 > A.payments[0].amount)) | |
74 | + | then throw("Can't stake negatif or zero") | |
75 | + | else { | |
76 | + | let B = { | |
77 | + | let u = A.payments[0].assetId | |
78 | + | if ($isInstanceOf(u, "ByteVector")) | |
79 | + | then { | |
80 | + | let C = u | |
81 | + | toBase58String(C) | |
82 | + | } | |
83 | + | else c | |
84 | + | } | |
85 | + | if ((contains(s(d), B) != true)) | |
86 | + | then throw("Asset not on staking whitelist") | |
87 | + | else { | |
88 | + | let D = y() | |
89 | + | let E = ((((((((toString(a) + b) + toString(height)) + b) + toBase58String(A.caller.bytes)) + b) + B) + b) + toString(A.payments[0].amount)) | |
90 | + | let F = Issue(f, E, 1, 0, false, unit, D[0]) | |
91 | + | let G = calculateAssetId(F) | |
92 | + | let H = (w((g + B)) + A.payments[0].amount) | |
93 | + | let I = (w((k + B)) + 1) | |
94 | + | let J = (w((l + B)) + 1) | |
95 | + | let K = (w(n) + 1) | |
96 | + | let L = (w(o) + 1) | |
97 | + | [IntegerEntry(e, D[1]), IntegerEntry((g + B), H), IntegerEntry((k + B), I), IntegerEntry((l + B), J), IntegerEntry(n, K), IntegerEntry(o, L), F, ScriptTransfer(A.caller, F.quantity, G)] | |
98 | + | } | |
99 | + | } | |
100 | + | ||
101 | + | ||
102 | + | ||
103 | + | @Callable(A) | |
104 | + | func withdrawStake () = if ((this == A.caller)) | |
105 | + | then throw("dApp can't interact with self") | |
106 | + | else if ((size(A.payments) != 1)) | |
107 | + | then throw("Not a valid amount of payments (require 1)") | |
108 | + | else if ((1 > A.payments[0].amount)) | |
109 | + | then throw("Can't stake negatif or zero") | |
110 | + | else { | |
111 | + | let B = { | |
112 | + | let u = A.payments[0].assetId | |
113 | + | if ($isInstanceOf(u, "ByteVector")) | |
114 | + | then { | |
115 | + | let M = u | |
116 | + | M | |
117 | + | } | |
118 | + | else throw("Not an Asset") | |
119 | + | } | |
120 | + | let N = { | |
121 | + | let u = assetInfo(B) | |
122 | + | if ($isInstanceOf(u, "Asset")) | |
123 | + | then { | |
124 | + | let C = u | |
125 | + | C | |
126 | + | } | |
127 | + | else throw("Couldn't find Asset") | |
128 | + | } | |
129 | + | if (if (if (if (if ((N.issuer != this)) | |
130 | + | then true | |
131 | + | else (N.decimals != 0)) | |
132 | + | then true | |
133 | + | else (N.quantity != 1)) | |
134 | + | then true | |
135 | + | else (N.reissuable != false)) | |
136 | + | then true | |
137 | + | else (N.name != f)) | |
138 | + | then throw("Not a Contract") | |
139 | + | else { | |
140 | + | let O = split(N.description, b) | |
141 | + | let P = parseIntValue(O[0]) | |
142 | + | let Q = parseIntValue(O[1]) | |
143 | + | let R = O[2] | |
144 | + | let S = { | |
145 | + | let u = assetInfo(fromBase58String(O[3])) | |
146 | + | if ($isInstanceOf(u, "Asset")) | |
147 | + | then { | |
148 | + | let C = u | |
149 | + | C | |
150 | + | } | |
151 | + | else throw("Contract error: asset") | |
152 | + | } | |
153 | + | let T = parseIntValue(O[4]) | |
154 | + | if ((size(O) != 5)) | |
155 | + | then throw("Contract error: corrupted") | |
156 | + | else if ((P > a)) | |
157 | + | then throw("Contract error: version") | |
158 | + | else if ((Q >= height)) | |
159 | + | then throw("Contract error: starting height") | |
160 | + | else if (if ((1 > T)) | |
161 | + | then true | |
162 | + | else (T > S.quantity)) | |
163 | + | then throw("Contract error: quantity") | |
164 | + | else if ((T > assetBalance(this, S.id))) | |
165 | + | then throw("Contract error: dApp balance") | |
166 | + | else { | |
167 | + | let U = toBase58String(S.id) | |
168 | + | let V = (height - Q) | |
169 | + | let W = (V * r) | |
170 | + | let X = getIntegerValue(this, (g + O[3])) | |
171 | + | let Y = fraction(W, T, X) | |
172 | + | let H = (getIntegerValue(this, (g + O[3])) - T) | |
173 | + | let Z = (w(h) + Y) | |
174 | + | let aa = (w(i) + Y) | |
175 | + | let I = (w((k + U)) - 1) | |
176 | + | let ab = (w((m + U)) + 1) | |
177 | + | let K = (w(n) - 1) | |
178 | + | let ac = (w(p) + 1) | |
179 | + | [Burn(B, 1), IntegerEntry((g + O[3]), H), IntegerEntry(h, Z), IntegerEntry(i, aa), IntegerEntry((k + U), I), IntegerEntry((m + U), ab), IntegerEntry(n, K), IntegerEntry(p, ac), ScriptTransfer(A.caller, T, S.id), Reissue(q, Y, true), ScriptTransfer(A.caller, Y, q)] | |
180 | + | } | |
181 | + | } | |
182 | + | } | |
183 | + | ||
184 | + | ||
185 | + | @Verifier(ad) | |
186 | + | func ae () = sigVerify(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey) | |
16 | 187 |
github/deemru/w8io/169f3d6 34.85 ms ◑![]()