tx · h57i4Se47oqvUjU1JrWMkJtYiNWVk5xcVUVwcZQqw1u

3MunJeu6BgwEqzGhhxwNZkPrVSCP7jfK4oV:  -0.01000000 Waves

2023.06.20 05:36 [2630361] smart account 3MunJeu6BgwEqzGhhxwNZkPrVSCP7jfK4oV > SELF 0.00000000 Waves

{ "type": 13, "id": "h57i4Se47oqvUjU1JrWMkJtYiNWVk5xcVUVwcZQqw1u", "fee": 1000000, "feeAssetId": null, "timestamp": 1687228609096, "version": 2, "chainId": 84, "sender": "3MunJeu6BgwEqzGhhxwNZkPrVSCP7jfK4oV", "senderPublicKey": "5p9YojFq3UQmKocPTjxCF89AbSjQ252wmzavShrfmnsL", "proofs": [ "o2zaHJZvtJvC7Lo3CzoVX9po2q8vGYoUKJjhpyUCwUcFdjqyrdDFdsgBV7gptnmvR5vPmezR4gEi5d4YHXhfZBJ" ], "script": "base64:BgISCAISABIDCgEBEgASABIDCgEBCAAHRG94ZXJJZAEgMzpW7qbCn/9GikJuZtr4K65geSovwm+rnWU8joY0tfwACkRveGVySWRTdHICLDRTeVBYYlhkOUJudW02aXFNWDFYc1ZCeXU5dzlXRkVKSHVERnpBOWRjWlRaAAVTY2FsZQCAoJSljR0AA0FQWQAeAQ10cnlHZXRJbnRlZ2VyAQNrZXkEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQx0cnlHZXRTdHJpbmcBA2tleQQHJG1hdGNoMAkAnQgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABEGNsYWltQWxpYXNSZXN1bHQCB2FkZHJlc3MKYXNzZXRJZFN0cgQKYWRkcmVzc1N0cgkApQgBBQdhZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQphZGRyZXNzU3RyAgFfBQphc3NldElkU3RyAgpfbGFzdENsYWltCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQdhZGRyZXNzAAAJANkEAQUKYXNzZXRJZFN0cgUDbmlsAQtjbGFpbVJlc3VsdAEHYWRkcmVzcwkBEGNsYWltQWxpYXNSZXN1bHQCBQdhZGRyZXNzBQpEb3hlcklkU3RyBQFpAQVzdGFrZQAEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECmFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyBAphc3NldElkU3RyCQDYBAEFB0RveGVySWQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFB0RveGVySWQJAAIBAhR3cm9uZyBhc3NldCBhdHRhY2hlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQphZGRyZXNzU3RyAgdfc3Rha2VkCQBkAgkBDXRyeUdldEludGVnZXIBCQCsAgIFCmFkZHJlc3NTdHICB19zdGFrZWQFBmFtb3VudAUDbmlsAWkBB3VuU3Rha2UBBmFtb3VudAQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEDHN0YWtlZEFtb3VudAkBDXRyeUdldEludGVnZXIBCQCsAgIFCmFkZHJlc3NTdHICB19zdGFrZWQDCQBmAgUGYW1vdW50BQxzdGFrZWRBbW91bnQJAAIBAh95b3UgZG9uJ3QgaGF2ZSB0b2tlbnMgYXZhaWxhYmxlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFCmFkZHJlc3NTdHICB19zdGFrZWQJAGUCBQxzdGFrZWRBbW91bnQFBmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUHRG94ZXJJZAUDbmlsAWkBC2NsYWltUmV3YXJkAAkBC2NsYWltUmVzdWx0AQgFAWkGY2FsbGVyAWkBC3RvcFVwUmV3YXJkAAQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQKYXNzZXRJZFN0cgkA2AQBCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFB0RveGVySWQJAAIBAhR3cm9uZyBhc3NldCBhdHRhY2hlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICB2dsb2JhbF8FCmFzc2V0SWRTdHICCV9lYXJuaW5ncwkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICB2dsb2JhbF8FCmFzc2V0SWRTdHICCV9lYXJuaW5ncwUGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBnbG9iYWxfbGFzdENoZWNrCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUDbmlsAWkBCXVwZGF0ZUFQWQEGbmV3QVBZAwMJAGYCAAAFBm5ld0FQWQYJAGYCBQZuZXdBUFkAZAkAAgECPEludmFsaWQgQVBZIHZhbHVlLiBQbGVhc2UgcHJvdmlkZSBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLgkAzAgCCQEMSW50ZWdlckVudHJ5AgIDYXB5BQZuZXdBUFkJAMwIAgkBC1N0cmluZ0VudHJ5AgIHbWVzc2FnZQIZQVBZIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LgUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleSbOjak=", "height": 2630361, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let DoxerId = base58'4SyPXbXd9Bnum6iqMX1XsVByu9w9WFEJHuDFzA9dcZTZ'
5+
6+let DoxerIdStr = "4SyPXbXd9Bnum6iqMX1XsVByu9w9WFEJHuDFzA9dcZTZ"
7+
8+let Scale = 1000000000000
9+
10+let APY = 30
11+
12+func tryGetInteger (key) = match getInteger(this, key) {
13+ case b: Int =>
14+ b
15+ case _ =>
16+ 0
17+}
18+
19+
20+func tryGetString (key) = match getString(this, key) {
21+ case a: String =>
22+ a
23+ case _ =>
24+ ""
25+}
26+
27+
28+func claimAliasResult (address,assetIdStr) = {
29+ let addressStr = toString(address)
30+[IntegerEntry((((addressStr + "_") + assetIdStr) + "_lastClaim"), lastBlock.timestamp), ScriptTransfer(address, 0, fromBase58String(assetIdStr))]
31+ }
32+
33+
34+func claimResult (address) = claimAliasResult(address, DoxerIdStr)
35+
36+
37+@Callable(i)
38+func stake () = {
39+ let amount = i.payments[0].amount
40+ let addressStr = toString(i.caller)
41+ let assetIdStr = toBase58String(DoxerId)
42+ if ((i.payments[0].assetId != DoxerId))
43+ then throw("wrong asset attached")
44+ else [IntegerEntry((addressStr + "_staked"), (tryGetInteger((addressStr + "_staked")) + amount))]
45+ }
46+
47+
48+
49+@Callable(i)
50+func unStake (amount) = {
51+ let addressStr = toString(i.caller)
52+ let stakedAmount = tryGetInteger((addressStr + "_staked"))
53+ if ((amount > stakedAmount))
54+ then throw("you don't have tokens available")
55+ else [IntegerEntry((addressStr + "_staked"), (stakedAmount - amount)), ScriptTransfer(i.caller, amount, DoxerId)]
56+ }
57+
58+
59+
60+@Callable(i)
61+func claimReward () = claimResult(i.caller)
62+
63+
64+
65+@Callable(i)
66+func topUpReward () = {
67+ let amount = i.payments[0].amount
68+ let assetIdStr = toBase58String(value(i.payments[0].assetId))
69+ if ((i.payments[0].assetId != DoxerId))
70+ then throw("wrong asset attached")
71+ else [IntegerEntry((("global_" + assetIdStr) + "_earnings"), (tryGetInteger((("global_" + assetIdStr) + "_earnings")) + amount)), IntegerEntry("global_lastCheck", lastBlock.timestamp)]
72+ }
73+
74+
75+
76+@Callable(i)
77+func updateAPY (newAPY) = if (if ((0 > newAPY))
78+ then true
79+ else (newAPY > 100))
80+ then throw("Invalid APY value. Please provide a value between 0 and 100.")
81+ else [IntegerEntry("apy", newAPY), StringEntry("message", "APY updated successfully.")]
82+
83+
84+@Verifier(tx)
85+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
86+

github/deemru/w8io/169f3d6 
23.11 ms