tx · 3NcMZBD5y1rPubeksna57RfcQ5b82z4WecXF5RG1WKF2

3P8ejTkfRpz9WqCwCuihesNXU5k3zmFFfVe:  -0.01400000 Waves

2021.07.16 12:39 [2680766] smart account 3P8ejTkfRpz9WqCwCuihesNXU5k3zmFFfVe > SELF 0.00000000 Waves

{ "type": 13, "id": "3NcMZBD5y1rPubeksna57RfcQ5b82z4WecXF5RG1WKF2", "fee": 1400000, "feeAssetId": null, "timestamp": 1626428461779, "version": 2, "chainId": 87, "sender": "3P8ejTkfRpz9WqCwCuihesNXU5k3zmFFfVe", "senderPublicKey": "BmXMyLQHb5FxJtRprfQN1wTu4iW4vsjqPHTXDPJVgWKw", "proofs": [ "4SsvjuiGVqCQy9qJNAadMHo7gphCs24kpMWZs7toLfkBseWUpvuLCnWS154NvbmkSia2qRFTbvk7XMeNGCT4Nf6Q" ], "script": "base64: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c3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAUAAAAKcmVmZXJlcktleQQAAAAOcmVmZXJlckFkZHJlc3MEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAA5yZWZlcmFsQWRkcmVzcwIAAAAKX3JlZmVyZWRCeQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAF4BQAAAAckbWF0Y2gwBQAAAAF4BQAAAAxnaXZlblJlZmVyZXIEAAAACXJlZkFtb3VudAkBAAAADGdldFJlZkFtb3VudAAAAAEFAAAADnJlZmVyZXJBZGRyZXNzAwkAAAAAAAACCQAEJgAAAAEFAAAADnJlZmVyZXJBZGRyZXNzBQAAAAR1bml0BQAAAANuaWwEAAAAE3JlZmVyZXJBZGRyZXNzVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADnJlZmVyZXJBZGRyZXNzBAAAABNyZWZlcmFsQWRkcmVzc1ZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA5yZWZlcmFsQWRkcmVzcwQAAAARcGF5bWVudEZvclJlZmVyZXIFAAAACXJlZkFtb3VudAQAAAATcmVmZXJlckVhcm5lZFJld2FyZAkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAA5yZWZlcmVyQWRkcmVzcwIAAAANX2Vhcm5lZFJld2FyZAQAAAAWcmVmZXJhbERlbGl2ZXJlZFJld2FyZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhyZWZlcmVyXwUAAAAOcmVmZXJlckFkZHJlc3MCAAAACV9yZWZlcmFsXwUAAAAOcmVmZXJhbEFkZHJlc3MCAAAAEF9kZWxpdmVyZWRSZXdhcmQDCQAAAAAAAAIFAAAADnJlZmVyZXJBZGRyZXNzBQAAAA5yZWZlcmFsQWRkcmVzcwUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAOcmVmZXJhbEFkZHJlc3MCAAAACl9yZWZlcmVkQnkFAAAADnJlZmVyZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNyZWZlcmVyRWFybmVkUmV3YXJkCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAATcmVmZXJlckVhcm5lZFJld2FyZAUAAAARcGF5bWVudEZvclJlZmVyZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFnJlZmVyYWxEZWxpdmVyZWRSZXdhcmQJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABZyZWZlcmFsRGVsaXZlcmVkUmV3YXJkBQAAABFwYXltZW50Rm9yUmVmZXJlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhyZWZlcmVyXwUAAAAOcmVmZXJlckFkZHJlc3MCAAAACV9yZWZlcmFsXwUAAAAOcmVmZXJhbEFkZHJlc3MCAAAAB19hbW91bnQJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACHJlZmVyZXJfBQAAAA5yZWZlcmVyQWRkcmVzcwIAAAAJX3JlZmVyYWxfBQAAAA5yZWZlcmFsQWRkcmVzcwIAAAAHX2Ftb3VudAAAAAAAAAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABNyZWZlcmVyQWRkcmVzc1ZhbHVlBQAAABFwYXltZW50Rm9yUmVmZXJlcgUAAAALZWdnc0Fzc2V0SWQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V53ssutA==", "height": 2680766, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HpMS9PrAqx5GZZofj317WutpD6gQbZpKnLrcA68TGA2N Next: 6yEteUP1DEhoLEWa9iZuD9cLLEdyX5SM7wSgMNV9Evsa Diff:
OldNewDifferences
66 let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
77
88 let farmingAddress = base58'3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW'
9+
10+let ref20 = ["3PR66kMvUDE1QvYAg8r6e1xDX7QbnTV7JW5"]
911
1012 func tryGetInteger (key) = match getInteger(this, key) {
1113 case b: Int =>
2931 case _ =>
3032 ""
3133 }
34+
35+
36+func getRefAmount (refererAddress) = if ((indexOf(ref20, refererAddress) != unit))
37+ then 20
38+ else 5
3239
3340
3441 @Callable(i)
6774 case _ =>
6875 givenReferer
6976 }
77+ let refAmount = getRefAmount(refererAddress)
7078 if ((addressFromString(refererAddress) == unit))
7179 then nil
7280 else {
7381 let refererAddressValue = addressFromStringValue(refererAddress)
7482 let referalAddressValue = addressFromStringValue(referalAddress)
75- let paymentForReferer = value(i.payments[0])
83+ let paymentForReferer = refAmount
7684 let refererEarnedReward = (("address_" + refererAddress) + "_earnedReward")
7785 let referalDeliveredReward = (((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_deliveredReward")
7886 if ((refererAddress == referalAddress))
7987 then nil
80- else [StringEntry((("address_" + referalAddress) + "_referedBy"), refererAddress), IntegerEntry(refererEarnedReward, (tryGetInteger(refererEarnedReward) + paymentForReferer.amount)), IntegerEntry(referalDeliveredReward, (tryGetInteger(referalDeliveredReward) + paymentForReferer.amount)), IntegerEntry((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount"), (tryGetInteger((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount")) + 1)), ScriptTransfer(refererAddressValue, paymentForReferer.amount, paymentForReferer.assetId)]
88+ else [StringEntry((("address_" + referalAddress) + "_referedBy"), refererAddress), IntegerEntry(refererEarnedReward, (tryGetInteger(refererEarnedReward) + paymentForReferer)), IntegerEntry(referalDeliveredReward, (tryGetInteger(referalDeliveredReward) + paymentForReferer)), IntegerEntry((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount"), (tryGetInteger((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount")) + 1)), ScriptTransfer(refererAddressValue, paymentForReferer, eggsAssetId)]
8189 }
8290 }
8391 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let eggsAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
55
66 let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
77
88 let farmingAddress = base58'3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW'
9+
10+let ref20 = ["3PR66kMvUDE1QvYAg8r6e1xDX7QbnTV7JW5"]
911
1012 func tryGetInteger (key) = match getInteger(this, key) {
1113 case b: Int =>
1214 b
1315 case _ =>
1416 0
1517 }
1618
1719
1820 func isValidAddress (address) = match addressFromString(address) {
1921 case a: Address =>
2022 true
2123 case _ =>
2224 false
2325 }
2426
2527
2628 func tryGetString (key) = match getString(this, key) {
2729 case a: String =>
2830 a
2931 case _ =>
3032 ""
3133 }
34+
35+
36+func getRefAmount (refererAddress) = if ((indexOf(ref20, refererAddress) != unit))
37+ then 20
38+ else 5
3239
3340
3441 @Callable(i)
3542 func addRefKey (refererAddress,refererKey) = if ((i.caller != this))
3643 then throw("admin only")
3744 else {
3845 let refStateKey = (("key_" + refererKey) + "_refererAddress")
3946 if ((tryGetString(refStateKey) == ""))
4047 then [StringEntry(refStateKey, refererAddress), StringEntry(((("address_" + refererAddress) + "_refererKey_") + refererKey), refererKey)]
4148 else throw((("The ref key \"" + refererKey) + "\" is already registered"))
4249 }
4350
4451
4552
4653 @Callable(i)
4754 func refPayment (refererKey) = {
4855 let referalAddress = toString(i.originCaller)
4956 if (if ((i.caller.bytes != incubatorAddress))
5057 then (i.caller.bytes != farmingAddress)
5158 else false)
5259 then throw("This method can be called only by farming and incubator dApps")
5360 else if (if ((refererKey == ""))
5461 then (tryGetString((("address_" + referalAddress) + "_referedBy")) == "")
5562 else false)
5663 then nil
5764 else {
5865 let givenReferer = match getString(this, (("key_" + refererKey) + "_refererAddress")) {
5966 case x: String =>
6067 x
6168 case _ =>
6269 refererKey
6370 }
6471 let refererAddress = match getString(this, (("address_" + referalAddress) + "_referedBy")) {
6572 case x: String =>
6673 x
6774 case _ =>
6875 givenReferer
6976 }
77+ let refAmount = getRefAmount(refererAddress)
7078 if ((addressFromString(refererAddress) == unit))
7179 then nil
7280 else {
7381 let refererAddressValue = addressFromStringValue(refererAddress)
7482 let referalAddressValue = addressFromStringValue(referalAddress)
75- let paymentForReferer = value(i.payments[0])
83+ let paymentForReferer = refAmount
7684 let refererEarnedReward = (("address_" + refererAddress) + "_earnedReward")
7785 let referalDeliveredReward = (((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_deliveredReward")
7886 if ((refererAddress == referalAddress))
7987 then nil
80- else [StringEntry((("address_" + referalAddress) + "_referedBy"), refererAddress), IntegerEntry(refererEarnedReward, (tryGetInteger(refererEarnedReward) + paymentForReferer.amount)), IntegerEntry(referalDeliveredReward, (tryGetInteger(referalDeliveredReward) + paymentForReferer.amount)), IntegerEntry((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount"), (tryGetInteger((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount")) + 1)), ScriptTransfer(refererAddressValue, paymentForReferer.amount, paymentForReferer.assetId)]
88+ else [StringEntry((("address_" + referalAddress) + "_referedBy"), refererAddress), IntegerEntry(refererEarnedReward, (tryGetInteger(refererEarnedReward) + paymentForReferer)), IntegerEntry(referalDeliveredReward, (tryGetInteger(referalDeliveredReward) + paymentForReferer)), IntegerEntry((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount"), (tryGetInteger((((("referer_" + refererAddress) + "_referal_") + referalAddress) + "_amount")) + 1)), ScriptTransfer(refererAddressValue, paymentForReferer, eggsAssetId)]
8189 }
8290 }
8391 }
8492
8593
8694 @Verifier(tx)
8795 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8896

github/deemru/w8io/3ef1775 
49.96 ms