tx · CoxwYtbu9viwXqwdyUnRZSVM48PS7KvDK4CJXrgrvMPE 3PCECdLHXY4zmEqaLnanNTs1RkdyHxUxsWq: -0.14000000 Waves 2019.06.27 13:57 [1590344] smart account 3PCECdLHXY4zmEqaLnanNTs1RkdyHxUxsWq > SELF 0.00000000 Waves
{ "type": 13, "id": "CoxwYtbu9viwXqwdyUnRZSVM48PS7KvDK4CJXrgrvMPE", "fee": 14000000, "feeAssetId": null, "timestamp": 1561633045959, "version": 1, "sender": "3PCECdLHXY4zmEqaLnanNTs1RkdyHxUxsWq", "senderPublicKey": "Bs4V4gJ2ZhmTXxRn1hULKt7EZDZJbLBNKEWBbeNP2mdK", "proofs": [ "3wsYV8DqG4UYy7LauFsgmH2u1ukoxeTFzHAiDzVXCoaXqFetAUQVg1DbTE9a6Pq6nmH3u7N7g5Bs5Kp2t5WTnEJB" ], "script": "base64:AgQAAAARZW1wbG95ZWVQdWJsaWNLZXkBAAAAIIyyBP/MXla4h9nc7M682xiMgWfNloCfuhbZScpxaEUKBAAAAA5vd25lclB1YmxpY0tleQEAAAAgOA/N71P1QIc7CuZaavajxbf/uCi4qwmzdF9vWcdZjmIEAAAADmNvbXBhbnlBc3NldElEAQAAACAxg4RvRZ/dtx1aHhf9QX5E2DfZB5PX5OV7imckX+PA+QQAAAAOd2l0aGRyYXdBbW91bnQAAAAAAA7msoAEAAAADm51bU9mV2l0aGRyYXdzAAAAAAAAAAABBAAAAA1wcmVtaXVtQnVkZ2V0AAAAAAAO5rKABAAAAAR0aGlzCQEAAAAHZXh0cmFjdAAAAAEIBQAAAAJ0eAAAAAZzZW5kZXIEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBAAAAAlmcm9tT3duZXIJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAUAAAAOb3duZXJQdWJsaWNLZXkDBQAAAAlmcm9tT3duZXIGBAAAAAxmcm9tRW1wbG95ZWUJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAUAAAARZW1wbG95ZWVQdWJsaWNLZXkDBQAAAAxmcm9tRW1wbG95ZWUEAAAAB2F0dGVtcHQJAABlAAAAAgUAAAAObnVtT2ZXaXRoZHJhd3MJAABpAAAAAgkAA+sAAAACCAUAAAABdAAAAAZzZW5kZXIFAAAADmNvbXBhbnlBc3NldElEBQAAAA53aXRoZHJhd0Ftb3VudAQAAAAHa2V5TmFtZQkAASwAAAACAgAAAAVkYXRlcwkAAaQAAAABBQAAAAdhdHRlbXB0BAAAAAp0YXJnZXREYXRlAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAAHa2V5TmFtZQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAB2tleU5hbWUJAAACAAAAAQIAAAA/SW5jb3JyZWN0IHdpdGRyYXcgYXR0ZW1wdCBvciBtaXNzaW5nIGtleSBvbiBTbWFydCBhY2NvdW50IHN0YXRlAwMJAABnAAAAAggFAAAAAXQAAAAJdGltZXN0YW1wBQAAAAp0YXJnZXREYXRlCQAAAAAAAAIIBQAAAAF0AAAABmFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQHCQAAAAAAAAIIBQAAAAF0AAAAB2Fzc2V0SWQFAAAADmNvbXBhbnlBc3NldElEBwcDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFzBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAFzAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABcwAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADm93bmVyUHVibGljS2V5B/Kld4I=", "chainId": 87, "height": 1590344, "spentComplexity": 0 } View: original | compacted Prev: 4nkMGgSM6ZTnFtdZbbLeFmsMxPPy4Q6jPvNBnEk33ry5 Next: Bi8JEXGzMdRUU8DpUVfRtQDxLKAv52hq5ChyZEsvvfCP Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let employeePublicKey = base58' | |
4 | - | let ownerPublicKey = base58' | |
3 | + | let employeePublicKey = base58'AUDX77nTnXAKAz97qHdgnBz6aMp6iJ3BEiAz5JCkTQuf' | |
4 | + | let ownerPublicKey = base58'4mqou7fTXB2rE8cMYP2L6hD8QaT39nodRwbTKHtFYCUZ' | |
5 | 5 | let companyAssetID = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8' | |
6 | 6 | let withdrawAmount = 250000000 | |
7 | 7 | let numOfWithdraws = 1 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let employeePublicKey = base58' | |
4 | - | let ownerPublicKey = base58' | |
3 | + | let employeePublicKey = base58'AUDX77nTnXAKAz97qHdgnBz6aMp6iJ3BEiAz5JCkTQuf' | |
4 | + | let ownerPublicKey = base58'4mqou7fTXB2rE8cMYP2L6hD8QaT39nodRwbTKHtFYCUZ' | |
5 | 5 | let companyAssetID = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8' | |
6 | 6 | let withdrawAmount = 250000000 | |
7 | 7 | let numOfWithdraws = 1 | |
8 | 8 | let premiumBudget = 250000000 | |
9 | 9 | let this = extract(tx.sender) | |
10 | 10 | match tx { | |
11 | 11 | case t: TransferTransaction => | |
12 | 12 | let fromOwner = sigVerify(t.bodyBytes, t.proofs[0], ownerPublicKey) | |
13 | 13 | if (fromOwner) | |
14 | 14 | then true | |
15 | 15 | else { | |
16 | 16 | let fromEmployee = sigVerify(t.bodyBytes, t.proofs[0], employeePublicKey) | |
17 | 17 | if (fromEmployee) | |
18 | 18 | then { | |
19 | 19 | let attempt = (numOfWithdraws - (assetBalance(t.sender, companyAssetID) / withdrawAmount)) | |
20 | 20 | let keyName = ("dates" + toString(attempt)) | |
21 | 21 | let targetDate = if (isDefined(getInteger(this, keyName))) | |
22 | 22 | then extract(getInteger(this, keyName)) | |
23 | 23 | else throw("Incorrect witdraw attempt or missing key on Smart account state") | |
24 | 24 | if (if ((t.timestamp >= targetDate)) | |
25 | 25 | then (t.amount == withdrawAmount) | |
26 | 26 | else false) | |
27 | 27 | then (t.assetId == companyAssetID) | |
28 | 28 | else false | |
29 | 29 | } | |
30 | 30 | else false | |
31 | 31 | } | |
32 | 32 | case s: DataTransaction|SetScriptTransaction => | |
33 | 33 | sigVerify(s.bodyBytes, s.proofs[0], ownerPublicKey) | |
34 | 34 | case _ => | |
35 | 35 | false | |
36 | 36 | } |
github/deemru/w8io/3ef1775 88.61 ms ◑