tx · FBRAnf31t8SZrBoUExHKKPmEQKtMS7CnBKKqfWMewuuF

3MwGdE779Vhf4bkn8UbqQqEQwos38KtWhsn:  -0.01400000 Waves

2019.06.26 15:11 [559076] smart account 3MwGdE779Vhf4bkn8UbqQqEQwos38KtWhsn > SELF 0.00000000 Waves

{ "type": 13, "id": "FBRAnf31t8SZrBoUExHKKPmEQKtMS7CnBKKqfWMewuuF", "fee": 1400000, "feeAssetId": null, "timestamp": 1561551090205, "version": 1, "sender": "3MwGdE779Vhf4bkn8UbqQqEQwos38KtWhsn", "senderPublicKey": "H4suXc6RCHTrdq9J8rbqDw6qw4Rcc1QXgy8Zj19AqRSh", "proofs": [ "5137k84A8qFiGPa7XBS7CZJXg8CJKgmERXQvP5ypnGBppzNB3jT6D2n6gkN4uqwmrbBRmGCftqMZdY5UQJKj27we" ], "script": "base64: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", "chainId": 84, "height": 559076, "spentComplexity": 0 } View: original | compacted Prev: HgMtaLYCJ5S9ybsVPQXNEBATfpLtjyyqMXn4d9Sr5mGA Next: hfYMM1FSDQjeCJZDK3yLH6kefENk7H7ZrdfsnSBraSP Diff:
OldNewDifferences
7373
7474
7575 @Callable(D)
76-func create (E) = {
77- let F = extract(D.payment)
78- if (isDefined(F.assetId))
79- then throw("Payment should be in WAVES.")
80- else if ((F.amount != (1 * a)))
81- then throw("Amount should be 1 WAVE.")
82- else if ((size(E) != c))
83- then throw("Invalid moves.")
84- else WriteSet([A(((toBase58String(D.callerPublicKey) + "_") + toBase58String(D.transactionId)), E)])
85- }
76+func create (E) = if (!(isDefined(D.payment)))
77+ then throw("Create call should be payed with 1 WAVE.")
78+ else {
79+ let F = extract(D.payment)
80+ if (isDefined(F.assetId))
81+ then throw("Payment should be in WAVES.")
82+ else if ((F.amount != (1 * a)))
83+ then throw("Amount should be 1 WAVE.")
84+ else if ((size(E) != c))
85+ then throw("Invalid moves.")
86+ else WriteSet([A(((toBase58String(D.callerPublicKey) + "_") + toBase58String(D.transactionId)), E)])
87+ }
8688
8789
8890
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = base58''
77
88 let c = 32
99
1010 let d = 32
1111
1212 let e = 8
1313
1414 let f = 100
1515
1616 let g = 3
1717
1818 let h = 1
1919
2020 let i = 2
2121
2222 let j = 3
2323
2424 func k (l,m) = toInt(take(drop(l, m), 1))
2525
2626
2727 func n (o,p) = if (isDefined(getBinary(this, o)))
2828 then getBinaryValue(this, o)
2929 else p
3030
3131
3232 func q (r) = if (if ((r == h))
3333 then true
3434 else (r == i))
3535 then true
3636 else (r == j)
3737
3838
3939 func s (t) = if (if (if ((size(t) >= g))
4040 then q(k(t, 0))
4141 else false)
4242 then q(k(t, 1))
4343 else false)
4444 then q(k(t, 2))
4545 else false
4646
4747
4848 func u (v,w,u) = {
4949 let x = k(v, u)
5050 let y = k(w, u)
5151 if ((x == y))
5252 then 0
5353 else if (if (if (if ((x == j))
5454 then (y == i)
5555 else false)
5656 then true
5757 else if ((x == h))
5858 then (y == j)
5959 else false)
6060 then true
6161 else if ((x == i))
6262 then (y == h)
6363 else false)
6464 then -1
6565 else 1
6666 }
6767
6868
6969 func z (v,w) = ((u(v, w, 0) + u(v, w, 1)) + u(v, w, 2))
7070
7171
7272 func A (B,C) = DataEntry(B, (n(B, b) + C))
7373
7474
7575 @Callable(D)
76-func create (E) = {
77- let F = extract(D.payment)
78- if (isDefined(F.assetId))
79- then throw("Payment should be in WAVES.")
80- else if ((F.amount != (1 * a)))
81- then throw("Amount should be 1 WAVE.")
82- else if ((size(E) != c))
83- then throw("Invalid moves.")
84- else WriteSet([A(((toBase58String(D.callerPublicKey) + "_") + toBase58String(D.transactionId)), E)])
85- }
76+func create (E) = if (!(isDefined(D.payment)))
77+ then throw("Create call should be payed with 1 WAVE.")
78+ else {
79+ let F = extract(D.payment)
80+ if (isDefined(F.assetId))
81+ then throw("Payment should be in WAVES.")
82+ else if ((F.amount != (1 * a)))
83+ then throw("Amount should be 1 WAVE.")
84+ else if ((size(E) != c))
85+ then throw("Invalid moves.")
86+ else WriteSet([A(((toBase58String(D.callerPublicKey) + "_") + toBase58String(D.transactionId)), E)])
87+ }
8688
8789
8890
8991 @Callable(D)
9092 func join (B,t) = {
9193 let F = extract(D.payment)
9294 if (isDefined(F.assetId))
9395 then throw("Payment should be in WAVES.")
9496 else if ((F.amount != (1 * a)))
9597 then throw("Amount should be 1 WAVE.")
9698 else if (!(isDefined(getBinary(this, B))))
9799 then throw("Fight is not found.")
98100 else if ((size(getBinaryValue(this, B)) != c))
99101 then throw("Fight is already started.")
100102 else if (!(s(t)))
101103 then throw("Invalid moves.")
102104 else WriteSet([A(B, ((toBytes(height) + D.callerPublicKey) + t))])
103105 }
104106
105107
106108
107109 @Callable(D)
108110 func complete (B,t) = if (!(isDefined(getBinary(this, B))))
109111 then throw("Fight is not found.")
110112 else {
111113 let G = getBinaryValue(this, B)
112114 if ((size(G) == c))
113115 then throw("Fight is not started.")
114116 else if ((size(G) > (((c + e) + d) + g)))
115117 then throw("Fight is already finished.")
116118 else {
117119 let H = take(getBinaryValue(this, B), c)
118120 if (if ((H != blake2b256(t)))
119121 then true
120122 else !(s(t)))
121123 then throw("Invalid moves.")
122124 else {
123125 let I = takeRightBytes(dropRightBytes(G, g), d)
124126 let J = z(take(t, g), takeRightBytes(G, g))
125127 ScriptResult(WriteSet([A(B, t)]), TransferSet(if ((J == 0))
126128 then [ScriptTransfer(D.caller, (1 * a), unit), ScriptTransfer(addressFromPublicKey(I), (1 * a), unit)]
127129 else if ((0 > J))
128130 then [ScriptTransfer(D.caller, (2 * a), unit)]
129131 else [ScriptTransfer(addressFromPublicKey(I), (2 * a), unit)]))
130132 }
131133 }
132134 }
133135
134136
135137
136138 @Callable(D)
137139 func timeout (B) = if (!(isDefined(getBinary(this, B))))
138140 then throw("Fight is not found.")
139141 else {
140142 let G = getBinaryValue(this, B)
141143 if ((size(G) == c))
142144 then throw("Fight is not started.")
143145 else if ((size(G) > (((c + e) + d) + g)))
144146 then throw("Fight is already finished.")
145147 else {
146148 let K = toInt(take(drop(G, c), e))
147149 if ((f > (height - K)))
148150 then throw("Player1 still has a time to complete the fight.")
149151 else {
150152 let I = takeRightBytes(dropRightBytes(G, g), d)
151153 ScriptResult(WriteSet([A(B, I)]), TransferSet([ScriptTransfer(addressFromPublicKey(I), (2 * a), unit)]))
152154 }
153155 }
154156 }
155157
156158

github/deemru/w8io/3ef1775 
48.46 ms