tx · 8FAeXkdHd5SvuNoHy3NV94kkZaL84iPwjdWGWKu5tLf8

3MwPsLy9F1mUQrdP37sCAKvHuE5HvPE674Y:  -0.04000000 Waves

2022.04.20 23:44 [2017362] smart account 3MwPsLy9F1mUQrdP37sCAKvHuE5HvPE674Y > SELF 0.00000000 Waves

{ "type": 13, "id": "8FAeXkdHd5SvuNoHy3NV94kkZaL84iPwjdWGWKu5tLf8", "fee": 4000000, "feeAssetId": null, "timestamp": 1650487480915, "version": 2, "chainId": 84, "sender": "3MwPsLy9F1mUQrdP37sCAKvHuE5HvPE674Y", "senderPublicKey": "AyAwWbMPM7a4VYkn1bhEBftC5WZgfvUXgrYDe98mvLsv", "proofs": [ "229KKXD2a8WRG5qUs55WkB494kiVj4JZHsupjFmeRwMeJ52qw78MLsBjg1qZGsecy4aukXjunxWv6smBWGak22AV" ], "script": "base64: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LAAAAAICAAAABXNhbGVfBQAAAAdhc3NldElkAgAAAAdfYW1vdW50AAAAAAAAAAAABQAAAANuaWwDCQEAAAACIT0AAAACBQAAAAdvd25lcklkBQAAABJob2xkaW5nc0FkZHJlc3NTdHIEAAAAGGFtb3VudFRvUmVtYWluSW5Ib2xkaW5ncwkAAGkAAAACBQAAAA1wYXltZW50QW1vdW50BQAAAA90cmFuc2ZlckNvc3RQY3QEAAAAF2Ftb3VudFRvVHJhbnNmZXJUb093bmVyCQAAZQAAAAIFAAAADXBheW1lbnRBbW91bnQFAAAAGGFtb3VudFRvUmVtYWluSW5Ib2xkaW5ncwQAAAAMb3duZXJBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAHb3duZXJJZAkABE4AAAACBQAAAAh0cmFuc2ZlcgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAxvd25lckFkZHJlc3MFAAAAF2Ftb3VudFRvVHJhbnNmZXJUb093bmVyBQAAAAR1bml0BQAAAANuaWwFAAAACHRyYW5zZmVyCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkGCQAAAAAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkFAAAAD2hvbGRpbmdzQWRkcmVzcwYJAAAAAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQUAAAALZEFwcEFkZHJlc3Nf+iJW", "height": 2017362, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HGo8PjgK91ozEKMtFJn78118KLJNTA3ktFxW6jr1GPQo Next: none Diff:
OldNewDifferences
9494 }
9595
9696
97-
98-@Callable(h)
99-func burnTest (j) = [Burn(fromBase58String(j), 1)]
100-
101-
10297 @Verifier(v)
10398 func w () = if (if (sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey))
10499 then true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3N7J6mMMkjVViBREz9y53JmcX7r7KZRXQpL"
55
66 let b = base58'G6aSmaqLJ4p7jzm7BnQcZuqa2NRRLVtzqdYNjYErnEZZ'
77
88 let c = addressFromPublicKey(b)
99
1010 let d = "3MwPsLy9F1mUQrdP37sCAKvHuE5HvPE674Y"
1111
1212 let e = base58'AyAwWbMPM7a4VYkn1bhEBftC5WZgfvUXgrYDe98mvLsv'
1313
1414 let f = addressFromPublicKey(e)
1515
1616 let g = 50
1717
1818 @Callable(h)
1919 func addOwnerAndAmount (i,j,k) = [StringEntry((("sale_" + j) + "_originalOwner"), i), IntegerEntry((("sale_" + j) + "_amount"), k)]
2020
2121
2222
2323 @Callable(h)
2424 func revokeForSale (j) = {
2525 let l = toBase58String(h.caller.bytes)
2626 let i = {
2727 let m = getString(this, (("sale_" + j) + "_originalOwner"))
2828 if ($isInstanceOf(m, "Unit"))
2929 then "unset"
3030 else if ($isInstanceOf(m, "String"))
3131 then {
3232 let n = m
3333 n
3434 }
3535 else throw("Match error")
3636 }
3737 if ((l != i))
3838 then throw("Owners do not match")
3939 else [StringEntry((("sale_" + j) + "_originalOwner"), ""), IntegerEntry((("sale_" + j) + "_amount"), 0), ScriptTransfer(h.caller, 1, fromBase58String(j))]
4040 }
4141
4242
4343
4444 @Callable(h)
4545 func buyFromHoldings (j,o) = {
4646 let i = {
4747 let m = getString(this, (("sale_" + j) + "_originalOwner"))
4848 if ($isInstanceOf(m, "Unit"))
4949 then "unset"
5050 else if ($isInstanceOf(m, "String"))
5151 then {
5252 let n = m
5353 n
5454 }
5555 else throw("Match error")
5656 }
5757 let p = valueOrElse(h.payments[0].amount, 0)
5858 let k = {
5959 let m = getInteger(this, (("sale_" + j) + "_amount"))
6060 if ($isInstanceOf(m, "Unit"))
6161 then 0
6262 else if ($isInstanceOf(m, "Int"))
6363 then {
6464 let n = m
6565 n
6666 }
6767 else throw("Match error")
6868 }
6969 if (if ((i == "unset"))
7070 then true
7171 else (i == ""))
7272 then throw("Original owner not found ")
7373 else if (if ((k == 0))
7474 then true
7575 else (k > p))
7676 then throw(((("Payment and amount do not match. This assets costs " + toString(k)) + "but you sent ") + toString(p)))
7777 else {
7878 let l = toBase58String(h.caller.bytes)
7979 let q = invoke(c, "finalizeSale", [j, l, o], [AttachedPayment(unit, 0)])
8080 if ((q == q))
8181 then {
8282 let r = [ScriptTransfer(h.caller, 1, fromBase58String(j)), StringEntry((("sale_" + j) + "_originalOwner"), ""), IntegerEntry((("sale_" + j) + "_amount"), 0)]
8383 if ((i != d))
8484 then {
8585 let s = (p / g)
8686 let t = (p - s)
8787 let u = Address(fromBase58String(i))
8888 (r ++ [ScriptTransfer(u, t, unit)])
8989 }
9090 else r
9191 }
9292 else throw("Strict value is not equal to itself.")
9393 }
9494 }
9595
9696
97-
98-@Callable(h)
99-func burnTest (j) = [Burn(fromBase58String(j), 1)]
100-
101-
10297 @Verifier(v)
10398 func w () = if (if (sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey))
10499 then true
105100 else (addressFromPublicKey(v.senderPublicKey) == f))
106101 then true
107102 else (addressFromPublicKey(v.senderPublicKey) == c)
108103

github/deemru/w8io/169f3d6 
36.41 ms