tx · GJrMwgyTHdJ8LnCsW3LCACfG4G3mDYixFdZen5XYbKyb

3N3sVqNviLW8oXtNFids96WheCPVhVH6MxY:  -0.01400000 Waves

2019.06.27 15:36 [560542] smart account 3N3sVqNviLW8oXtNFids96WheCPVhVH6MxY > SELF 0.00000000 Waves

{ "type": 13, "id": "GJrMwgyTHdJ8LnCsW3LCACfG4G3mDYixFdZen5XYbKyb", "fee": 1400000, "feeAssetId": null, "timestamp": 1561638758835, "version": 1, "sender": "3N3sVqNviLW8oXtNFids96WheCPVhVH6MxY", "senderPublicKey": "1wL7DuULCyVDWMe1JNaLWiTTEcWUinaWX8h82hgH8k2", "proofs": [ "2nw1ea2TkRQ6LijxobGoCxwZrCFtGpRwVmJHp8g7uyPvc4w9g6Ch3QxBYNNkS7V7t9PntRzfxd2JWKvECq9YNfXq" ], "script": "base64:AgQAAAARZW1wbG95ZWVQdWJsaWNLZXkBAAAAIOhJV7T3E/sDzyx0gkPLAHSn7un5Ex1h6AiuiE07fmJaBAAAAA5vd25lclB1YmxpY0tleQEAAAAgLs9qIqF/gFv4H5JpbGM4G2/jXU6IPL5XKgU/j2tvSm0EAAAADmNvbXBhbnlBc3NldElEAQAAACDzuvEcY7lmVpwQTbK1RUBOWABWYh6eWrhgnGMBFaaCsgQAAAAOd2l0aGRyYXdBbW91bnQAAAAAAA7msoAEAAAADm51bU9mV2l0aGRyYXdzAAAAAAAAAAAEBAAAAA1wcmVtaXVtQnVkZ2V0AAAAAAA7msoABAAAAAR0aGlzCQEAAAAHZXh0cmFjdAAAAAEIBQAAAAJ0eAAAAAZzZW5kZXIEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBAAAAAlmcm9tT3duZXIJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAUAAAAOb3duZXJQdWJsaWNLZXkDBQAAAAlmcm9tT3duZXIGBAAAAAxmcm9tRW1wbG95ZWUJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAUAAAARZW1wbG95ZWVQdWJsaWNLZXkDBQAAAAxmcm9tRW1wbG95ZWUEAAAAB2F0dGVtcHQJAABlAAAAAgUAAAAObnVtT2ZXaXRoZHJhd3MJAABpAAAAAgkAA+sAAAACCAUAAAABdAAAAAZzZW5kZXIFAAAADmNvbXBhbnlBc3NldElEBQAAAA53aXRoZHJhd0Ftb3VudAQAAAAHa2V5TmFtZQkAASwAAAACAgAAAAVkYXRlcwkAAaQAAAABBQAAAAdhdHRlbXB0BAAAAAp0YXJnZXREYXRlAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAAHa2V5TmFtZQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAB2tleU5hbWUJAAACAAAAAQIAAAA/SW5jb3JyZWN0IHdpdGRyYXcgYXR0ZW1wdCBvciBtaXNzaW5nIGtleSBvbiBTbWFydCBhY2NvdW50IHN0YXRlAwMJAABnAAAAAggFAAAAAXQAAAAJdGltZXN0YW1wBQAAAAp0YXJnZXREYXRlCQAAAAAAAAIIBQAAAAF0AAAABmFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQHCQAAAAAAAAIIBQAAAAF0AAAAB2Fzc2V0SWQFAAAADmNvbXBhbnlBc3NldElEBwcDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFzBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAFzAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABcwAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADm93bmVyUHVibGljS2V5B2m/2yg=", "chainId": 84, "height": 560542, "spentComplexity": 0 } View: original | compacted Prev: Eft2EKFKhJr8sEaffv4LiG9hY9Vo5LjpL8bCTwVJNDhG Next: 27u99cDbUcJy2mVFzfzQ4dMUAj3ZtRXcCyEkKGhm4H1F Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let employeePublicKey = base58'GdkT8KewPT7fZGtCmmPx94SqTzSpMuhnpBVdaQaq5PSR'
44 let ownerPublicKey = base58'49jCAx3nnNQ9Xj5xUXwhjy5czmt1AWLHMYf6PxxjFzip'
66 let withdrawAmount = 250000000
77 let numOfWithdraws = 4
88 let premiumBudget = 1000000000
9+let this = extract(tx.sender)
910 match tx {
1011 case t: TransferTransaction =>
1112 let fromOwner = sigVerify(t.bodyBytes, t.proofs[0], ownerPublicKey)
1516 let fromEmployee = sigVerify(t.bodyBytes, t.proofs[0], employeePublicKey)
1617 if (fromEmployee)
1718 then {
18- let dates = if (isDefined(getString(this, "dates")))
19- then extract(getString(this, "dates"))
20- else throw("No withdraw date specified")
2119 let attempt = (numOfWithdraws - (assetBalance(t.sender, companyAssetID) / withdrawAmount))
22- let targetDate = parseIntValue(split(dates, ",")[attempt])
20+ let keyName = ("dates" + toString(attempt))
21+ let targetDate = if (isDefined(getInteger(this, keyName)))
22+ then extract(getInteger(this, keyName))
23+ else throw("Incorrect witdraw attempt or missing key on Smart account state")
2324 if (if ((t.timestamp >= targetDate))
2425 then (t.amount == withdrawAmount)
2526 else false)
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let employeePublicKey = base58'GdkT8KewPT7fZGtCmmPx94SqTzSpMuhnpBVdaQaq5PSR'
44 let ownerPublicKey = base58'49jCAx3nnNQ9Xj5xUXwhjy5czmt1AWLHMYf6PxxjFzip'
55 let companyAssetID = base58'HQRQNF5iq1yAvSDqTvK8JC2D3dfn8tkkWPdBmDez2Riq'
66 let withdrawAmount = 250000000
77 let numOfWithdraws = 4
88 let premiumBudget = 1000000000
9+let this = extract(tx.sender)
910 match tx {
1011 case t: TransferTransaction =>
1112 let fromOwner = sigVerify(t.bodyBytes, t.proofs[0], ownerPublicKey)
1213 if (fromOwner)
1314 then true
1415 else {
1516 let fromEmployee = sigVerify(t.bodyBytes, t.proofs[0], employeePublicKey)
1617 if (fromEmployee)
1718 then {
18- let dates = if (isDefined(getString(this, "dates")))
19- then extract(getString(this, "dates"))
20- else throw("No withdraw date specified")
2119 let attempt = (numOfWithdraws - (assetBalance(t.sender, companyAssetID) / withdrawAmount))
22- let targetDate = parseIntValue(split(dates, ",")[attempt])
20+ let keyName = ("dates" + toString(attempt))
21+ let targetDate = if (isDefined(getInteger(this, keyName)))
22+ then extract(getInteger(this, keyName))
23+ else throw("Incorrect witdraw attempt or missing key on Smart account state")
2324 if (if ((t.timestamp >= targetDate))
2425 then (t.amount == withdrawAmount)
2526 else false)
2627 then (t.assetId == companyAssetID)
2728 else false
2829 }
2930 else false
3031 }
3132 case s: DataTransaction|SetScriptTransaction =>
3233 sigVerify(s.bodyBytes, s.proofs[0], ownerPublicKey)
3334 case _ =>
3435 false
3536 }

github/deemru/w8io/c3f4982 
20.98 ms