tx · 4jBJTxo9QoaJYY38vGoFQmCFzo6Zqt74BdAUzg2ajQPV

3MtoBpCc3s2T4CxasJ5MXrZZsU339D28mvD:  -0.01400000 Waves

2021.05.26 13:30 [1542514] smart account 3MtoBpCc3s2T4CxasJ5MXrZZsU339D28mvD > SELF 0.00000000 Waves

{ "type": 13, "id": "4jBJTxo9QoaJYY38vGoFQmCFzo6Zqt74BdAUzg2ajQPV", "fee": 1400000, "feeAssetId": null, "timestamp": 1622025086149, "version": 2, "chainId": 84, "sender": "3MtoBpCc3s2T4CxasJ5MXrZZsU339D28mvD", "senderPublicKey": "8SRjg8K8B7rhV2pih6qRgku886VQE4phwNCDjWZu1fUe", "proofs": [ "5gHNi5f1pAMrvuZQRN9oYWQXdJzHZXSNj3Vg4K8jZEB2KPzWNdcUdJy2wKKktpBjTRnRMZi4db5w1UYDzGhEXGdA" ], "script": "base64:AAIEAAAAAAAAACYIAhIDCgEIEgMKAQESAwoBARIECgIIARIHCgUICAEBCBIECgIIAQAAABEBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAABm51bWJlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAAGbnVtYmVyAAAAAAROT05FAgAAAARub25lAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAZzdHJpbmcEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAABnN0cmluZwEAAAAPZ2V0S2V5VXNlckVtYWlsAAAAAQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgIAAAAFdXNlcl8FAAAABHVzZXICAAAABl9lbWFpbAEAAAARZ2V0VmFsdWVVc2VyRW1haWwAAAABAAAABHVzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRLZXlVc2VyRW1haWwAAAABBQAAAAR1c2VyAQAAABFnZXRLZXlVc2VyQmFsYW5jZQAAAAEAAAAEdXNlcgkAASwAAAACCQABLAAAAAICAAAABXVzZXJfBQAAAAR1c2VyAgAAAAhfYmFsYW5jZQEAAAATZ2V0VmFsdWVVc2VyQmFsYW5jZQAAAAEAAAAEdXNlcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEWdldEtleVVzZXJCYWxhbmNlAAAAAQUAAAAEdXNlcgEAAAARZ2V0S2V5REFwcEFzc2V0SWQAAAAAAgAAAAxkQXBwX2Fzc2V0SWQBAAAAE2dldFZhbHVlREFwcEFzc2V0SWQAAAAACQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0S2V5REFwcEFzc2V0SWQAAAAAAQAAABFnZXRLZXlEQXBwQmFsYW5jZQAAAAACAAAADGRBcHBfYmFsYW5jZQEAAAATZ2V0VmFsdWVEQXBwQmFsYW5jZQAAAAAJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABFnZXRLZXlEQXBwQmFsYW5jZQAAAAABAAAAEWdldEtleUFzc2V0QW1vdW50AAAAAQAAAAVhc3NldAkAASwAAAACCQABLAAAAAICAAAABmFzc2V0XwUAAAAFYXNzZXQCAAAAB19hbW91bnQBAAAAE2dldFZhbHVlQXNzZXRBbW91bnQAAAABAAAABWFzc2V0CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAARZ2V0S2V5QXNzZXRBbW91bnQAAAABBQAAAAVhc3NldAEAAAAQZ2V0S2V5QXNzZXRQcmljZQAAAAEAAAAFYXNzZXQJAAEsAAAAAgkAASwAAAACAgAAAAZhc3NldF8FAAAABWFzc2V0AgAAAAZfcHJpY2UBAAAAEmdldFZhbHVlQXNzZXRQcmljZQAAAAEAAAAFYXNzZXQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRLZXlBc3NldFByaWNlAAAAAQUAAAAFYXNzZXQBAAAAD2dldEtleUFzc2V0RGF0YQAAAAEAAAAFYXNzZXQJAAEsAAAAAgkAASwAAAACAgAAAAZhc3NldF8FAAAABWFzc2V0AgAAAAVfZGF0YQEAAAARZ2V0VmFsdWVBc3NldERhdGEAAAABAAAABWFzc2V0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0S2V5QXNzZXRQcmljZQAAAAEFAAAABWFzc2V0AAAABgAAAAFpAQAAAAZzaWduVXAAAAABAAAABWVtYWlsBAAAABJjdXJyZW50VXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAQY3VycmVudFVzZXJFbWFpbAkBAAAAEWdldFZhbHVlVXNlckVtYWlsAAAAAQUAAAASY3VycmVudFVzZXJBZGRyZXNzAwkBAAAAAiE9AAAAAgUAAAAQY3VycmVudFVzZXJFbWFpbAUAAAAETk9ORQkAAAIAAAABAgAAABp1c2VyIGlzIGFscmVhZHkgcmVnaXN0ZXJlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0S2V5VXNlckVtYWlsAAAAAQUAAAASY3VycmVudFVzZXJBZGRyZXNzBQAAAAVlbWFpbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldEtleVVzZXJCYWxhbmNlAAAAAQUAAAASY3VycmVudFVzZXJBZGRyZXNzAAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAKaXNzdWVUb2tlbgAAAAEAAAAIcXVhbnRpdHkEAAAAC2RBcHBBc3NldElkCQEAAAATZ2V0VmFsdWVEQXBwQXNzZXRJZAAAAAADCQEAAAACIT0AAAACBQAAAAtkQXBwQXNzZXRJZAUAAAAETk9ORQkAAAIAAAABAgAAAB10b2tlbiBoYXMgYWxyZWFkeSBiZWVuIGlzc3VlZAQAAAAFYXNzZXQJAARCAAAABQIAAAAHTllBTi0yNQIAAAANTllBTi0yNSB0b2tlbgUAAAAIcXVhbnRpdHkAAAAAAAAAAAAGBAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0CQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRLZXlEQXBwQXNzZXRJZAAAAAAJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldEtleURBcHBCYWxhbmNlAAAAAAUAAAAIcXVhbnRpdHkFAAAAA25pbAAAAAFpAQAAAAxyZWlzc3VlVG9rZW4AAAABAAAACHF1YW50aXR5BAAAAAtkQXBwQXNzZXRJZAkBAAAAE2dldFZhbHVlREFwcEFzc2V0SWQAAAAAAwkAAAAAAAACBQAAAAtkQXBwQXNzZXRJZAUAAAAETk9ORQkAAAIAAAABAgAAABl0b2tlbiBoYXMgbm90IGJlZW4gaXNzdWVkBAAAABJjdXJyZW50REFwcEJhbGFuY2UJAQAAABNnZXRWYWx1ZURBcHBCYWxhbmNlAAAAAAQAAAAKbmV3QmFsYW5jZQkAAGQAAAACBQAAABJjdXJyZW50REFwcEJhbGFuY2UFAAAACHF1YW50aXR5CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwkAAlkAAAABBQAAAAtkQXBwQXNzZXRJZAUAAAAIcXVhbnRpdHkGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0S2V5REFwcEJhbGFuY2UAAAAABQAAAApuZXdCYWxhbmNlBQAAAANuaWwAAAABaQEAAAANdHJhbnNmZXJUb2tlbgAAAAIAAAAJcmVjaXBpZW50AAAABmFtb3VudAQAAAASY3VycmVudERBcHBCYWxhbmNlCQEAAAATZ2V0VmFsdWVEQXBwQmFsYW5jZQAAAAAEAAAADm5ld0RBcHBCYWxhbmNlCQAAZQAAAAIFAAAAEmN1cnJlbnREQXBwQmFsYW5jZQUAAAAGYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAA5uZXdEQXBwQmFsYW5jZQkAAAIAAAABAgAAABJub3QgZW5vdW5nIGJhbGFuY2UEAAAAEmN1cnJlbnRVc2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABJjdXJyZW50VXNlckJhbGFuY2UJAQAAABNnZXRWYWx1ZVVzZXJCYWxhbmNlAAAAAQUAAAASY3VycmVudFVzZXJBZGRyZXNzBAAAAA5uZXdVc2VyQmFsYW5jZQkAAGQAAAACBQAAABJjdXJyZW50VXNlckJhbGFuY2UFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldEtleURBcHBCYWxhbmNlAAAAAAUAAAAObmV3REFwcEJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRLZXlVc2VyQmFsYW5jZQAAAAEFAAAACXJlY2lwaWVudAUAAAAObmV3VXNlckJhbGFuY2UJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAACXJlY2lwaWVudAUAAAAGYW1vdW50CQACWQAAAAEJAQAAABNnZXRWYWx1ZURBcHBBc3NldElkAAAAAAUAAAADbmlsAAAAAWkBAAAAD2lzc3VlQXNzZXRUb2tlbgAAAAUAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAhxdWFudGl0eQAAAAVwcmljZQAAAARkYXRhBAAAAAVhc3NldAkABEIAAAAFBQAAAARuYW1lBQAAAAtkZXNjcmlwdGlvbgUAAAAIcXVhbnRpdHkAAAAAAAAAAAAGBAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0CQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0S2V5QXNzZXRBbW91bnQAAAABCQACWAAAAAEFAAAAB2Fzc2V0SWQFAAAACHF1YW50aXR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQZ2V0S2V5QXNzZXRQcmljZQAAAAEJAAJYAAAAAQUAAAAHYXNzZXRJZAUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldEtleUFzc2V0RGF0YQAAAAEJAAJYAAAAAQUAAAAHYXNzZXRJZAUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAAEmV4Y2hhbmdlQXNzZXRUb2tlbgAAAAIAAAAHYXNzZXRJZAAAAAZhbW91bnQEAAAAB3BheW1lbnQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAZhbW91bnQJAAJZAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAEQnVybgAAAAIJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnPuvw+", "height": 1542514, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BkPfgYJ6o1jJeuWrSs7ExxHjCCwECXKuMxHw2WH2LquW Next: 8Zj1t2KQoUSNvVDsUjojSWnwFD3cM6kGNGz5UCH7zKKz Diff:
OldNewDifferences
139139
140140 @Callable(y)
141141 func exchangeAssetToken (E,I) = {
142- let A = toBase58String(y.caller.bytes)
143- let Q = v(E)
144- let R = (Q * I)
145- let S = y.payments
146- let T = S[0]
147- let U = value(T)
148-[StringEntry("payment_assetId", toBase58String(value(T.assetId))), IntegerEntry("payment_amount", T.amount)]
142+ let Q = y.payments[0]
143+[ScriptTransfer(Address(y.caller.bytes), I, fromBase58String(E)), Burn(value(Q.assetId), Q.amount)]
149144 }
150145
151146
152-@Verifier(V)
153-func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
147+@Verifier(R)
148+func S () = sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey)
154149
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = {
66 let d = getInteger(this, b)
77 if ($isInstanceOf(d, "Int"))
88 then {
99 let e = d
1010 e
1111 }
1212 else 0
1313 }
1414 c
1515 }
1616
1717
1818 let f = "none"
1919
2020 func g (b) = {
2121 let h = {
2222 let d = getString(this, b)
2323 if ($isInstanceOf(d, "String"))
2424 then {
2525 let e = d
2626 e
2727 }
2828 else f
2929 }
3030 h
3131 }
3232
3333
3434 func i (j) = (("user_" + j) + "_email")
3535
3636
3737 func k (j) = g(i(j))
3838
3939
4040 func l (j) = (("user_" + j) + "_balance")
4141
4242
4343 func m (j) = a(l(j))
4444
4545
4646 func n () = "dApp_assetId"
4747
4848
4949 func o () = g(n())
5050
5151
5252 func p () = "dApp_balance"
5353
5454
5555 func q () = a(p())
5656
5757
5858 func r (s) = (("asset_" + s) + "_amount")
5959
6060
6161 func t (s) = a(r(s))
6262
6363
6464 func u (s) = (("asset_" + s) + "_price")
6565
6666
6767 func v (s) = a(u(s))
6868
6969
7070 func w (s) = (("asset_" + s) + "_data")
7171
7272
7373 func x (s) = g(u(s))
7474
7575
7676 @Callable(y)
7777 func signUp (z) = {
7878 let A = toBase58String(y.caller.bytes)
7979 let B = k(A)
8080 if ((B != f))
8181 then throw("user is already registered")
8282 else [StringEntry(i(A), z), IntegerEntry(l(A), 0)]
8383 }
8484
8585
8686
8787 @Callable(y)
8888 func issueToken (C) = {
8989 let D = o()
9090 if ((D != f))
9191 then throw("token has already been issued")
9292 else {
9393 let s = Issue("NYAN-25", "NYAN-25 token", C, 0, true)
9494 let E = calculateAssetId(s)
9595 [s, StringEntry(n(), toBase58String(E)), IntegerEntry(p(), C)]
9696 }
9797 }
9898
9999
100100
101101 @Callable(y)
102102 func reissueToken (C) = {
103103 let D = o()
104104 if ((D == f))
105105 then throw("token has not been issued")
106106 else {
107107 let F = q()
108108 let G = (F + C)
109109 [Reissue(fromBase58String(D), C, true), IntegerEntry(p(), G)]
110110 }
111111 }
112112
113113
114114
115115 @Callable(y)
116116 func transferToken (H,I) = {
117117 let F = q()
118118 let J = (F - I)
119119 if ((0 > J))
120120 then throw("not enoung balance")
121121 else {
122122 let A = toBase58String(y.caller.bytes)
123123 let K = m(A)
124124 let L = (K + I)
125125 [IntegerEntry(p(), J), IntegerEntry(l(H), L), ScriptTransfer(Address(fromBase58String(H)), I, fromBase58String(o()))]
126126 }
127127 }
128128
129129
130130
131131 @Callable(y)
132132 func issueAssetToken (M,N,C,O,P) = {
133133 let s = Issue(M, N, C, 0, true)
134134 let E = calculateAssetId(s)
135135 [s, IntegerEntry(r(toBase58String(E)), C), IntegerEntry(u(toBase58String(E)), O), StringEntry(w(toBase58String(E)), P)]
136136 }
137137
138138
139139
140140 @Callable(y)
141141 func exchangeAssetToken (E,I) = {
142- let A = toBase58String(y.caller.bytes)
143- let Q = v(E)
144- let R = (Q * I)
145- let S = y.payments
146- let T = S[0]
147- let U = value(T)
148-[StringEntry("payment_assetId", toBase58String(value(T.assetId))), IntegerEntry("payment_amount", T.amount)]
142+ let Q = y.payments[0]
143+[ScriptTransfer(Address(y.caller.bytes), I, fromBase58String(E)), Burn(value(Q.assetId), Q.amount)]
149144 }
150145
151146
152-@Verifier(V)
153-func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
147+@Verifier(R)
148+func S () = sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey)
154149

github/deemru/w8io/169f3d6 
32.98 ms