tx · Ddjn6f6shy9Hh1GnawgUucDcNCN9np8dMhE517RrGa2L
3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN: -0.01000000 Waves
2019.07.24 23:44 [600606] smart account 3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN > SELF 0.00000000 Waves
{
"type": 13,
"id": "Ddjn6f6shy9Hh1GnawgUucDcNCN9np8dMhE517RrGa2L",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1564000832210,
"version": 1,
"sender": "3NCEnW5hTnRQ7J9TFQsHS4W92f54PCCWQvN",
"senderPublicKey": "8PUyJHGVRUxhY118c4H5isGCGLYgRBmcSzNYooDAqwh",
"proofs": [
"61mPbLWbEwDwk8sfrHfv7FRq8pZoQcuv8TXs8HJxAawmRgkmbk9y2NJyJgEM2ebV2dZzrwvxbEYLumo99zZmua8s"
],
"script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAdnZXRMb2NrAAAAAQAAAAhsb2NrTmFtZQQAAAACb2sEAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAAIbG9ja05hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAXQFAAAAByRtYXRjaDADCQEAAAACIT0AAAACBQAAAAF0CAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBgkAAAAAAAACBQAAAAF0CAUAAAAEdGhpcwAAAAVieXRlcwQAAAAEVW5pdAUAAAAHJG1hdGNoMAYDBQAAAAJvawkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIbG9ja05hbWUICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAA25pbAkAAAIAAAABAgAAABlBbHJlYWR5IGxvY2tlZCBieSBhbm90aGVyAAAAAWkBAAAAC3JlbGVhc2VMb2NrAAAAAQAAAAhsb2NrTmFtZQQAAAACb2sEAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAAIbG9ja05hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAXQFAAAAByRtYXRjaDAJAAAAAAAAAgUAAAABdAgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEVW5pdAUAAAAHJG1hdGNoMAcDBQAAAAJvawkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIbG9ja05hbWUIBQAAAAR0aGlzAAAABWJ5dGVzBQAAAANuaWwJAAACAAAAAQIAAAARTG9ja2VkIGJ5IGFub3RoZXIAAAAA/t55kA==",
"chainId": 84,
"height": 600606,
"spentComplexity": 0
}
View: original | compacted
Prev: none
Next: Hcsw6mWxJA2Np2NKEUjp5wiwo8B128bnhpCuAxS7W1ZZ
Full:
Old | New | | Differences |
---|
1 | | - | # no script |
---|
| 1 | + | {-# STDLIB_VERSION 3 #-} |
---|
| 2 | + | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
| 3 | + | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | |
---|
| 5 | + | |
---|
| 6 | + | @Callable(i) |
---|
| 7 | + | func getLock (lockName) = { |
---|
| 8 | + | let ok = match getBinary(this, lockName) { |
---|
| 9 | + | case t: ByteVector => |
---|
| 10 | + | if ((t != i.caller.bytes)) |
---|
| 11 | + | then true |
---|
| 12 | + | else (t == this.bytes) |
---|
| 13 | + | case Unit => |
---|
| 14 | + | true |
---|
| 15 | + | } |
---|
| 16 | + | if (ok) |
---|
| 17 | + | then WriteSet([DataEntry(lockName, i.caller.bytes)]) |
---|
| 18 | + | else throw("Already locked by another") |
---|
| 19 | + | } |
---|
| 20 | + | |
---|
| 21 | + | |
---|
| 22 | + | |
---|
| 23 | + | @Callable(i) |
---|
| 24 | + | func releaseLock (lockName) = { |
---|
| 25 | + | let ok = match getBinary(this, lockName) { |
---|
| 26 | + | case t: ByteVector => |
---|
| 27 | + | (t == i.caller.bytes) |
---|
| 28 | + | case Unit => |
---|
| 29 | + | false |
---|
| 30 | + | } |
---|
| 31 | + | if (ok) |
---|
| 32 | + | then WriteSet([DataEntry(lockName, this.bytes)]) |
---|
| 33 | + | else throw("Locked by another") |
---|
| 34 | + | } |
---|
| 35 | + | |
---|
| 36 | + | |
---|