tx · E8TuKQ2h8UuVi6usdWantyLgbjsMit3rZhvqS4ohqgyy

3N4ngEpA29qJdUKnRto5zUzXvJJLwUuNs5J:  -0.01400000 Waves

2021.10.25 00:01 [1760911] smart account 3N4ngEpA29qJdUKnRto5zUzXvJJLwUuNs5J > SELF 0.00000000 Waves

{ "type": 13, "id": "E8TuKQ2h8UuVi6usdWantyLgbjsMit3rZhvqS4ohqgyy", "fee": 1400000, "feeAssetId": null, "timestamp": 1635109318662, "version": 1, "sender": "3N4ngEpA29qJdUKnRto5zUzXvJJLwUuNs5J", "senderPublicKey": "B7ayemTreAJnAMuzH9P3MnVXhpL6PTtRBrV29h7EUS1H", "proofs": [ "4zXbLpmBg3WYBxGz7BqQBLTijF72xfdB4XEcyns2JGKxx4hwiRPpEeVi5dGgPKRMeiPo6AhyY5xQ8oAdR9NL1KFB" ], "script": "base64:AAIFAAAAAAAAAB0IAhIFCgMICAESBAoCCAQSAwoBARIDCgEBEgASAAAAAAkAAAAADlNXT1Bnb3Zlcm5hbmNlCQAEJgAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwIAAAAPU1dPUF9nb3Zlcm5hbmNlAgAAACFFbXB0eSBrZXkgU1dPUF9nb3Zlcm5hbmNlX2FkZHJlc3MAAAAADVdhdmVzVXNkblBvb2wJAAQmAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzAgAAAA9XQVZFU19VU0ROX1Bvb2wCAAAAIUVtcHR5IGtleSBTV09QX2dvdmVybmFuY2VfYWRkcmVzcwAAAAAXZGVmaWhlbHBlck1hbmFnZXJQdWJLZXkJAAJZAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzAgAAABlkZWZpaGVscGVyX21hbmFnZXJfUHViS2V5AgAAACNFbXB0eSBrZXkgZGVmaWhlbHBlcl9tYW5hZ2VyX1B1YktleQAAAAAMYWRtaW5QdWJLZXkxAQAAACCSNK70i9jfuCXd7LPDoBAK8G2oXZwl0CoNcvoy807iQwAAAAAMYWRtaW5QdWJLZXkyAQAAACCSNK70i9jfuCXd7LPDoBAK8G2oXZwl0CoNcvoy807iQwAAAAAMYWRtaW5QdWJLZXkzAQAAACCSNK70i9jfuCXd7LPDoBAK8G2oXZwl0CoNcvoy807iQwAAAAAKa2V5QmFsYW5jZQIAAAAIX2JhbGFuY2UAAAAADGtleUZlZUluVVNETgIAAAALZmVlX2luX3VzZG4AAAAAEGlzUHJvdG9jb2xBY3RpdmUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzAgAAABBpc1Byb3RvY29sQWN0aXZlAgAAABpFbXB0eSBrZXkgaXNQcm90b2NvbEFjdGl2ZQAAAAYAAAABaQEAAAAEaW5pdAAAAAMAAAAXZGVmaWhlbHBlck1hbmFnZXJQdWJLZXkAAAANV2F2ZXNVc2RuUG9vbAAAAAxuZXdGZWVJblVTRE4DAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAAPV0FWRVNfVVNETl9Qb29sBgkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAAZZGVmaWhlbHBlcl9tYW5hZ2VyX1B1YktleQkAAAIAAAABAgAAABNBbHJlYWR5IGluaXRpYWxpemVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAGWRlZmloZWxwZXJfbWFuYWdlcl9QdWJLZXkFAAAAF2RlZmloZWxwZXJNYW5hZ2VyUHViS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAD1dBVkVTX1VTRE5fUG9vbAUAAAANV2F2ZXNVc2RuUG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALZmVlX2luX3VzZG4FAAAADG5ld0ZlZUluVVNETgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAQaXNQcm90b2NvbEFjdGl2ZQYFAAAAA25pbAAAAAFpAQAAABR1cGRhdGVBdXRvbWF0ZVN0YXR1cwAAAAIAAAAIYXV0b21hdGUAAAAGc3RhdHVzAwkBAAAAASEAAAABBQAAABBpc1Byb3RvY29sQWN0aXZlCQAAAgAAAAECAAAAF1Byb3RvbCBzdG9wcGVkIGJ5IGFkbWluAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAABdkZWZpaGVscGVyTWFuYWdlclB1YktleQUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAhhdXRvbWF0ZQUAAAAGc3RhdHVzBQAAAANuaWwAAAABaQEAAAARdXBkYXRlUHJvdG9jb2xGZWUAAAABAAAADG5ld0ZlZUluVVNETgMJAQAAAAEhAAAAAQUAAAAQaXNQcm90b2NvbEFjdGl2ZQkAAAIAAAABAgAAABdQcm90b2wgc3RvcHBlZCBieSBhZG1pbgMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAXZGVmaWhlbHBlck1hbmFnZXJQdWJLZXkFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUcHJvdG9jb2xfZmVlX2luX3VzZG4FAAAADG5ld0ZlZUluVVNETgUAAAADbmlsAAAAAWkBAAAADXVwZGF0ZUJhbGFuY2UAAAABAAAAA2ZlZQMJAQAAAAEhAAAAAQUAAAAQaXNQcm90b2NvbEFjdGl2ZQkAAAIAAAABAgAAABdQcm90b2wgc3RvcHBlZCBieSBhZG1pbgQAAAAPYXV0b21hdGVBZGRyU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAQaXNBdXRvbWF0ZUFjdGl2ZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAD2F1dG9tYXRlQWRkclN0cgkAASwAAAACAgAAABNFbXB0eSBrZXkgbmV3VXNlcjogBQAAAA9hdXRvbWF0ZUFkZHJTdHIDCQEAAAABIQAAAAEFAAAAEGlzQXV0b21hdGVBY3RpdmUJAAACAAAAAQIAAAAZVGhpcyBhdXRvbWF0ZSBpcyBpbmFjdGl2ZQQAAAAPYXV0b21hdGVCYWxhbmNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA9hdXRvbWF0ZUFkZHJTdHIFAAAACmtleUJhbGFuY2UJAAEsAAAAAgkAASwAAAACAgAAAChFbXB0eSBrZXkgYXV0b21hdGVBZGRyU3RyICsga2V5QmFsYW5jZTogBQAAAA9hdXRvbWF0ZUFkZHJTdHIFAAAACmtleUJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2F1dG9tYXRlQWRkclN0cgkAAGUAAAACBQAAAA9hdXRvbWF0ZUJhbGFuY2UFAAAAA2ZlZQUAAAADbmlsAAAAAWkBAAAAEHJlcGxhbmlzaEJhbGFuY2UAAAAAAwkBAAAAASEAAAABBQAAABBpc1Byb3RvY29sQWN0aXZlCQAAAgAAAAECAAAAF1Byb3RvbCBzdG9wcGVkIGJ5IGFkbWluBAAAAAskdDAyOTMwMzAwNQkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDI5MzAzMDA1AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwMjkzMDMwMDUAAAACXzIDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAR1bml0CQAAAgAAAAECAAAAJk9ubHkgV0FWRVMgYXZhaWxhYmxlIGZvciByZXBsYW5pc2htZW50BAAAAAljYWxsZXJTdHIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA9hdXRvbWF0ZUJhbGFuY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWNhbGxlclN0cgUAAAAKa2V5QmFsYW5jZQkAASwAAAACCQABLAAAAAICAAAAKEVtcHR5IGtleSBhdXRvbWF0ZUFkZHJTdHIgKyBrZXlCYWxhbmNlOiAFAAAACWNhbGxlclN0cgUAAAAKa2V5QmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJY2FsbGVyU3RyCQAAZAAAAAIFAAAAD2F1dG9tYXRlQmFsYW5jZQUAAAAJcG10QW1vdW50BQAAAANuaWwAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAABBpc1Byb3RvY29sQWN0aXZlCQAAAgAAAAECAAAAF1Byb3RvbCBzdG9wcGVkIGJ5IGFkbWluAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABdkZWZpaGVscGVyTWFuYWdlclB1YktleQUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAABBpc1Byb3RvY29sQWN0aXZlBwUAAAADbmlsAAAAAK4Ndi0=", "chainId": 84, "height": 1760911, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FbxSSCJJ9pmqn3eEJuyCGiLQQJzcFGnBAqxLbUh1HTAz Next: HRqTUWjfodSomdSZri9TyUbBLaeHKub3TKdGGxBNdAiv Diff:
OldNewDifferences
6363
6464
6565 @Callable(i)
66-func replanishBalance (automateAddrStr) = if (!(isProtocolActive))
66+func replanishBalance () = if (!(isProtocolActive))
6767 then throw("Protol stopped by admin")
6868 else {
69- let $t029533028 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
70- let pmtAmount = $t029533028._1
71- let pmtAssetId = $t029533028._2
69+ let $t029303005 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
70+ let pmtAmount = $t029303005._1
71+ let pmtAssetId = $t029303005._2
7272 if ((pmtAssetId != unit))
7373 then throw("Only WAVES available for replanishment")
7474 else {
75- let automateBalance = valueOrErrorMessage(getInteger(this, (automateAddrStr + keyBalance)), (("Empty key automateAddrStr + keyBalance: " + automateAddrStr) + keyBalance))
76-[IntegerEntry(automateAddrStr, (automateBalance + pmtAmount))]
75+ let callerStr = toString(i.caller)
76+ let automateBalance = valueOrErrorMessage(getInteger(this, (callerStr + keyBalance)), (("Empty key automateAddrStr + keyBalance: " + callerStr) + keyBalance))
77+[IntegerEntry(callerStr, (automateBalance + pmtAmount))]
7778 }
7879 }
7980
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SWOPgovernance = addressFromString(valueOrElse(getString(this, "SWOP_governance"), "Empty key SWOP_governance_address"))
55
66 let WavesUsdnPool = addressFromString(valueOrElse(getString(this, "WAVES_USDN_Pool"), "Empty key SWOP_governance_address"))
77
88 let defihelperManagerPubKey = fromBase58String(valueOrElse(getString(this, "defihelper_manager_PubKey"), "Empty key defihelper_manager_PubKey"))
99
1010 let adminPubKey1 = base58'Aqj7onZFvn779uRCiW2zCmXG1RKsGeA6k3SWXmH7s5Lv'
1111
1212 let adminPubKey2 = base58'Aqj7onZFvn779uRCiW2zCmXG1RKsGeA6k3SWXmH7s5Lv'
1313
1414 let adminPubKey3 = base58'Aqj7onZFvn779uRCiW2zCmXG1RKsGeA6k3SWXmH7s5Lv'
1515
1616 let keyBalance = "_balance"
1717
1818 let keyFeeInUSDN = "fee_in_usdn"
1919
2020 let isProtocolActive = valueOrErrorMessage(getBoolean(this, "isProtocolActive"), "Empty key isProtocolActive")
2121
2222 @Callable(i)
2323 func init (defihelperManagerPubKey,WavesUsdnPool,newFeeInUSDN) = if (if (isDefined(getString(this, "WAVES_USDN_Pool")))
2424 then true
2525 else isDefined(getString(this, "defihelper_manager_PubKey")))
2626 then throw("Already initialized")
2727 else [StringEntry("defihelper_manager_PubKey", defihelperManagerPubKey), StringEntry("WAVES_USDN_Pool", WavesUsdnPool), IntegerEntry("fee_in_usdn", newFeeInUSDN), BooleanEntry("isProtocolActive", true)]
2828
2929
3030
3131 @Callable(i)
3232 func updateAutomateStatus (automate,status) = if (!(isProtocolActive))
3333 then throw("Protol stopped by admin")
3434 else if (!(containsElement([defihelperManagerPubKey], i.callerPublicKey)))
3535 then throw("Only admin can call this function")
3636 else [BooleanEntry(automate, status)]
3737
3838
3939
4040 @Callable(i)
4141 func updateProtocolFee (newFeeInUSDN) = if (!(isProtocolActive))
4242 then throw("Protol stopped by admin")
4343 else if (!(containsElement([defihelperManagerPubKey], i.callerPublicKey)))
4444 then throw("Only admin can call this function")
4545 else [IntegerEntry("protocol_fee_in_usdn", newFeeInUSDN)]
4646
4747
4848
4949 @Callable(i)
5050 func updateBalance (fee) = if (!(isProtocolActive))
5151 then throw("Protol stopped by admin")
5252 else {
5353 let automateAddrStr = toString(i.caller)
5454 let isAutomateActive = valueOrErrorMessage(getBoolean(this, automateAddrStr), ("Empty key newUser: " + automateAddrStr))
5555 if (!(isAutomateActive))
5656 then throw("This automate is inactive")
5757 else {
5858 let automateBalance = valueOrErrorMessage(getInteger(this, (automateAddrStr + keyBalance)), (("Empty key automateAddrStr + keyBalance: " + automateAddrStr) + keyBalance))
5959 [IntegerEntry(automateAddrStr, (automateBalance - fee))]
6060 }
6161 }
6262
6363
6464
6565 @Callable(i)
66-func replanishBalance (automateAddrStr) = if (!(isProtocolActive))
66+func replanishBalance () = if (!(isProtocolActive))
6767 then throw("Protol stopped by admin")
6868 else {
69- let $t029533028 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
70- let pmtAmount = $t029533028._1
71- let pmtAssetId = $t029533028._2
69+ let $t029303005 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
70+ let pmtAmount = $t029303005._1
71+ let pmtAssetId = $t029303005._2
7272 if ((pmtAssetId != unit))
7373 then throw("Only WAVES available for replanishment")
7474 else {
75- let automateBalance = valueOrErrorMessage(getInteger(this, (automateAddrStr + keyBalance)), (("Empty key automateAddrStr + keyBalance: " + automateAddrStr) + keyBalance))
76-[IntegerEntry(automateAddrStr, (automateBalance + pmtAmount))]
75+ let callerStr = toString(i.caller)
76+ let automateBalance = valueOrErrorMessage(getInteger(this, (callerStr + keyBalance)), (("Empty key automateAddrStr + keyBalance: " + callerStr) + keyBalance))
77+[IntegerEntry(callerStr, (automateBalance + pmtAmount))]
7778 }
7879 }
7980
8081
8182
8283 @Callable(i)
8384 func shutdown () = if (!(isProtocolActive))
8485 then throw("Protol stopped by admin")
8586 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, defihelperManagerPubKey], i.callerPublicKey)))
8687 then throw("Only admin can call this function")
8788 else [BooleanEntry("isProtocolActive", false)]
8889
8990

github/deemru/w8io/873ac7e 
21.35 ms