tx · B4E4HJiNJNr8FV3HJs9AChh1j7Ry2vTGr7aaw7FqGNrs

3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN:  -0.01400000 Waves

2020.02.02 14:34 [881473] smart account 3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN > SELF 0.00000000 Waves

{ "type": 13, "id": "B4E4HJiNJNr8FV3HJs9AChh1j7Ry2vTGr7aaw7FqGNrs", "fee": 1400000, "feeAssetId": null, "timestamp": 1580643152407, "version": 1, "sender": "3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN", "senderPublicKey": "8PUyJHGVRUxhY118c4H5isGCGLYgRBmcSzNYooDAqwh", "proofs": [ "32qSjmw6k3dp68V2MapEsnezvCPYvw9UavmMfj3LMNwfJoipyg1p387fjpxcXsy9Ut5HV8ZeXqhm6dxFAFATwCQR" ], "script": "base64:AAIDAAAAAAAAAAgIARIECgIIAQAAAAEAAAAAD25hbWVVbnRpbFN1ZmZ1eAIAAAAGOnVudGlsAAAAAQAAAAFpAQAAAAdnZXRMb2NrAAAAAgAAAAhsb2NrTmFtZQAAAAV1bnRpbAQAAAANbG9ja05hbWVVbnRpbAkAASwAAAACBQAAAAhsb2NrTmFtZQUAAAAPbmFtZVVudGlsU3VmZnV4BAAAAAhub3dVbmlvbgkAA+0AAAABBQAAAAZoZWlnaHQEAAAAA25vdwQAAAAHJG1hdGNoMAUAAAAIbm93VW5pb24DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACUJsb2NrSW5mbwQAAAABdAUAAAAHJG1hdGNoMAUAAAABdAkAAAIAAAABAgAAABVDYW5ub3QgZ2V0IGxhc3QgYmxvY2sEAAAAAXEDCQAAZwAAAAIIBQAAAANub3cAAAAJdGltZXN0YW1wBQAAAAV1bnRpbAkAAAIAAAABAgAAABlTdXBwbGllZCB1bnRpbCBpcyB0b28gbG93BgQAAAACcXEDCQAAZgAAAAIFAAAABXVudGlsCQAAZAAAAAIIBQAAAANub3cAAAAJdGltZXN0YW1wAAAAAAAACSfACQAAAgAAAAECAAAAGlN1cHBsaWVkIHVudGlsIGlzIHRvbyBoaWdoBgQAAAALY2FuQmVMb2NrZWQEAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAAIbG9ja05hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAWIFAAAAByRtYXRjaDAJAAAAAAAAAgUAAAABYggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEVW5pdAUAAAAHJG1hdGNoMAYEAAAADGxhc3RMb2NrVGltZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA1sb2NrTmFtZVVudGlsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXQFAAAAByRtYXRjaDAFAAAAAXQEAAAABFVuaXQFAAAAByRtYXRjaDAAAAAAAAAAAAADAwUAAAALY2FuQmVMb2NrZWQGCQAAZwAAAAIIBQAAAANub3cAAAAJdGltZXN0YW1wBQAAAAxsYXN0TG9ja1RpbWUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACGxvY2tOYW1lCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA1sb2NrTmFtZVVudGlsBQAAAAV1bnRpbAUAAAADbmlsCQAAAgAAAAECAAAAE0xvY2sgY2FudCBiZSBsb2NrZWQAAAAAxDSJTg==", "chainId": 84, "height": 881473, "spentComplexity": 0 } View: original | compacted Prev: 9WBeRwUDqtTWgfcrZXsgxMm9uAsBew3bh41YGR2K3omv Next: Masa2LZG6gbvvEtfuM7UhBkbgBxiwrFvZ4FPrHDEtWX Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let a = ":until"
45
5-
6-@Callable(a)
7-func getLock (b) = {
8- let c = {
9- let d = getBinary(this, b)
10- if ($isInstanceOf(d, "ByteVector"))
6+@Callable(b)
7+func getLock (c,d) = {
8+ let e = (c + a)
9+ let f = blockInfoByHeight(height)
10+ let g = {
11+ let h = f
12+ if ($isInstanceOf(h, "BlockInfo"))
1113 then {
12- let e = d
13- if ((e == a.caller.bytes))
14- then true
15- else (e == this.bytes)
14+ let i = h
15+ i
16+ }
17+ else throw("Cannot get last block")
18+ }
19+ let j = if ((g.timestamp >= d))
20+ then throw("Supplied until is too low")
21+ else true
22+ let k = if ((d > (g.timestamp + 600000)))
23+ then throw("Supplied until is too high")
24+ else true
25+ let l = {
26+ let h = getBinary(this, c)
27+ if ($isInstanceOf(h, "ByteVector"))
28+ then {
29+ let m = h
30+ (m == b.caller.bytes)
1631 }
1732 else {
18- let f = d
33+ let n = h
1934 true
2035 }
2136 }
22- if (c)
23- then WriteSet([DataEntry(b, a.caller.bytes)])
24- else throw("Already locked by another")
25- }
26-
27-
28-
29-@Callable(a)
30-func releaseLock (b) = {
31- let c = {
32- let d = getBinary(this, b)
33- if ($isInstanceOf(d, "ByteVector"))
37+ let o = {
38+ let h = getInteger(this, e)
39+ if ($isInstanceOf(h, "Int"))
3440 then {
35- let e = d
36- (e == a.caller.bytes)
41+ let i = h
42+ i
3743 }
3844 else {
39- let f = d
40- false
45+ let n = h
46+ 0
4147 }
4248 }
43- if (c)
44- then WriteSet([DataEntry(b, this.bytes)])
45- else throw("Locked by another")
49+ if (if (l)
50+ then true
51+ else (g.timestamp >= o))
52+ then WriteSet([DataEntry(c, b.caller.bytes), DataEntry(e, d)])
53+ else throw("Lock cant be locked")
4654 }
4755
4856

github/deemru/w8io/169f3d6 
35.76 ms