tx · 62sxiBmiAEbo46GqRg9LN6tzRexgNSXc8UZi3zkNMKSQ

3N5JsQHh6GJBT7gCj8pKKGhfmdVbHUUE7Ra:  -0.01400000 Waves

2021.07.22 21:29 [1625210] smart account 3N5JsQHh6GJBT7gCj8pKKGhfmdVbHUUE7Ra > SELF 0.00000000 Waves

{ "type": 13, "id": "62sxiBmiAEbo46GqRg9LN6tzRexgNSXc8UZi3zkNMKSQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1626978638155, "version": 2, "chainId": 84, "sender": "3N5JsQHh6GJBT7gCj8pKKGhfmdVbHUUE7Ra", "senderPublicKey": "6hg3zCfLeDbfSrz2QVG7hdax7eXSpabUDqSP1ya8PBVZ", "proofs": [ "5bBVW5ULVhMYG1Dk4jW4YfQC7nU4iJKM8amiN2MzfmyrRRZWmwbkgLANEh8mnbGEdLnMwSj5uQfKyRoRDTPiWxLa" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEBAAAACgAAAAAOZ292ZXJuYW5jZUFkZHIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVSq+mnegfQTUoXKPy46iFGzGeqYHFnyDS0AAAAAC3NlcnZpY2VBZGRyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU1mt5dWK5qVBdy3fN3rygy+dzMgU+ip9tAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAEWtleVVzZXJTV09QTG9ja2VkAgAAAAxfU1dPUF9hbW91bnQAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAADmdvdmVybmFuY2VBZGRyBQAAAA9rZXlMYXN0SW50ZXJlc3QAAAAAAAAAAAAFAAAADGxhc3RJbnRlcmVzdAEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAOZ292ZXJuYW5jZUFkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAADmdvdmVybmFuY2VBZGRyCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUFAAAADnVzZXJTV09QQW1vdW50AQAAAAljbGFpbUNhbGMAAAABAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAABHVpZm8JAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAR1aWZvAAAAAl8xBAAAAA51c2VyU1dPUExvY2tlZAgFAAAABHVpZm8AAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAEAAAABaQEAAAARcmVzdGFrZUdvdmVybmFuY2UAAAABAAAADW1pblNXT1ByZXdhcmQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAC3NlcnZpY2VBZGRyCQAAAgAAAAECAAAAMU9ubHkgc3Rha2luZyBzZXJ2aWNlIGlzIGFsbG93ZWQgdG8gY2FsbCB0aGlzIGZ1bmMEAAAAC2NsYWltQW1vdW50CAkBAAAACWNsYWltQ2FsYwAAAAEFAAAABHRoaXMAAAACXzIDCQAAZgAAAAIFAAAADW1pblNXT1ByZXdhcmQFAAAAC2NsYWltQW1vdW50CQAAAgAAAAECAAAAKkFtb3VudCB0byBjbGFpbSBpcyBsZXNzIHRoYW4gbWluU1dPUHJld2FyZAQAAAABegkAA/wAAAAEBQAAAA5nb3Zlcm5hbmNlQWRkcgIAAAARY2xhaW1BbmRTdGFrZVNXT1AFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAF6BQAAAAF6BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXleVqhZ", "height": 1625210, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FuKAqhWzSzR6W2kR1YWywd3kcH9SiKqzCZVY8jF2bqap Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let governanceAddr = Address(base58'')
4+let governanceAddr = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
55
6-let serviceAddr = Address(base58'')
6+let serviceAddr = Address(base58'3N9Tq8RmGw456c1eYphzoMyvtwJGrY98jfr')
77
88 let keyLastInterest = "last_interest"
99
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let governanceAddr = Address(base58'')
4+let governanceAddr = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
55
6-let serviceAddr = Address(base58'')
6+let serviceAddr = Address(base58'3N9Tq8RmGw456c1eYphzoMyvtwJGrY98jfr')
77
88 let keyLastInterest = "last_interest"
99
1010 let keyUserSWOPLocked = "_SWOP_amount"
1111
1212 let keyUserLastInterest = "_last_interest"
1313
1414 let scaleValue = 100000000
1515
1616 func getLastInterestInfo () = {
1717 let lastInterest = valueOrElse(getInteger(governanceAddr, keyLastInterest), 0)
1818 lastInterest
1919 }
2020
2121
2222 func getUserSWOPLocked (user) = valueOrElse(getInteger(governanceAddr, (toString(user) + keyUserSWOPLocked)), 0)
2323
2424
2525 func getUserInterestInfo (user,lastInterest) = {
2626 let userSWOPAmount = getUserSWOPLocked(user)
2727 let userLastInterest = getInteger(governanceAddr, (toString(user) + keyUserLastInterest))
2828 let userLastInterestValue = match userLastInterest {
2929 case userLastInterest: Int =>
3030 userLastInterest
3131 case _ =>
3232 lastInterest
3333 }
3434 $Tuple2(userLastInterestValue, userSWOPAmount)
3535 }
3636
3737
3838 func claimCalc (caller) = {
3939 let lastInterest = getLastInterestInfo()
4040 let uifo = getUserInterestInfo(caller, lastInterest)
4141 let userLastInterest = uifo._1
4242 let userSWOPLocked = uifo._2
4343 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
4444 let userNewInterest = lastInterest
4545 $Tuple2(userNewInterest, claimAmount)
4646 }
4747
4848
4949 @Callable(i)
5050 func restakeGovernance (minSWOPreward) = if ((i.caller != serviceAddr))
5151 then throw("Only staking service is allowed to call this func")
5252 else {
5353 let claimAmount = claimCalc(this)._2
5454 if ((minSWOPreward > claimAmount))
5555 then throw("Amount to claim is less than minSWOPreward")
5656 else {
5757 let z = invoke(governanceAddr, "claimAndStakeSWOP", nil, nil)
5858 if ((z == z))
5959 then nil
6060 else throw("Strict value is not equal to itself.")
6161 }
6262 }
6363
6464
6565 @Verifier(tx)
6666 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6767

github/deemru/w8io/3ef1775 
34.81 ms