2024.04.20 01:02 [3070265] smart account 3NCPdPnLkaFuqq7Mvni1dr9G1u1gqwvVGUr > SELF 0.00000000 Waves
{ "type": 13, "id": "FzP6fDo3ag8TYdikTav4h8aAHnj2WEtzeiHRCq6UNfTN", "fee": 200000, "feeAssetId": null, "timestamp": 1713564194062, "version": 1, "sender": "3NCPdPnLkaFuqq7Mvni1dr9G1u1gqwvVGUr", "senderPublicKey": "2aHPpzkUniSJwBK7Lj2qiPnW9HN26KFcbdW6igZh1wA3", "proofs": [ "2CxLJ6UsWgCLcjyCszBrhPm2JULjw8vzea8Z3xSiJt69gVpaAQgf5SnegJais82Fa4hNuHMz8xphn23SGnuVSpC8" ], "script": "base64:BgIECAISAAMABkhFSUdIVAUGaGVpZ2h0AA1DYWxsZXJBZGRyZXNzCQEHQWRkcmVzcwEBGgFU8or31SqT5RJOrpq6yMotNBkGUFw/f6+3ABJMMk1wU3Rha2luZ0FkZHJlc3MJAQdBZGRyZXNzAQEaAVT3yNgyvRsCzHKoowop8elLl5bDoz4gLSQBAWkBCmZpbGxQZXJpb2QAAwkBAiE9AggFAWkGY2FsbGVyBQ1DYWxsZXJBZGRyZXNzCQACAQINQWNjZXNzIGRlbmllZAQOcGVyaW9kT2Zmc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSTDJNcFN0YWtpbmdBZGRyZXNzAgwlc19fb2Zmc2V0SWQAAAQMcGVyaW9kTGVuZ3RoCQELdmFsdWVPckVsc2UCCQCaCAIFEkwyTXBTdGFraW5nQWRkcmVzcwIQJXNfX29mZnNldExlbmd0aACQTgQScGVyaW9kT2Zmc2V0SGVpZ2h0CQELdmFsdWVPckVsc2UCCQCaCAIFEkwyTXBTdGFraW5nQWRkcmVzcwIQJXNfX3BlcmlvZEhlaWdodAD///////////8BAwkAAAIFEnBlcmlvZE9mZnNldEhlaWdodAD///////////8BCQACAQIHbm90IHlldAQPY3VycmVudFBlcmlvZElkAwMJAGYCBQZIRUlHSFQFEnBlcmlvZE9mZnNldEhlaWdodAkBAiE9AgUScGVyaW9kT2Zmc2V0SGVpZ2h0AP///////////wEHCQBkAgkAaQIJAGUCBQZIRUlHSFQFEnBlcmlvZE9mZnNldEhlaWdodAUMcGVyaW9kTGVuZ3RoBQ5wZXJpb2RPZmZzZXRJZAkAlgMBCQDMCAIAAAkAzAgCCQBlAgUOcGVyaW9kT2Zmc2V0SWQAAQUDbmlsBBNjdXJyZW50UGVyaW9kSGVpZ2h0AwMJAAACBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQYDCQAAAgUPY3VycmVudFBlcmlvZElkAAAJAGYCBRJwZXJpb2RPZmZzZXRIZWlnaHQFBkhFSUdIVAcAAAkAZAIFEnBlcmlvZE9mZnNldEhlaWdodAkAaAIJAGUCBQ9jdXJyZW50UGVyaW9kSWQFDnBlcmlvZE9mZnNldElkBQxwZXJpb2RMZW5ndGgEEG5leHRQZXJpb2RIZWlnaHQDAwkAAAIFEnBlcmlvZE9mZnNldEhlaWdodAD///////////8BBgMJAAACBQ9jdXJyZW50UGVyaW9kSWQAAAkAZgIFEnBlcmlvZE9mZnNldEhlaWdodAUGSEVJR0hUBwAACQBkAgUTY3VycmVudFBlcmlvZEhlaWdodAUMcGVyaW9kTGVuZ3RoBBJsYXN0U3RvcmVkUGVyaW9kSWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwIMbGFzdFBlcmlvZElkAAAEA2tleQkArAICCQCsAgIJAKwCAgIHcGVyaW9kXwkApAMBBRNjdXJyZW50UGVyaW9kSGVpZ2h0AgFfCQCkAwEJAGUCBRBuZXh0UGVyaW9kSGVpZ2h0AAEEFWN1cnJlbnRTdG9yZWRQZXJpb2RJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkA////////////AQMJAQIhPQIFFWN1cnJlbnRTdG9yZWRQZXJpb2RJZAD///////////8BCQACAQIOYWxyZWFkeSBzdG9yZWQJAMwIAgkBDEludGVnZXJFbnRyeQIFA2tleQUSbGFzdFN0b3JlZFBlcmlvZElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxsYXN0UGVyaW9kSWQJAGQCBRJsYXN0U3RvcmVkUGVyaW9kSWQAAQUDbmlsAFpbhnY=", "chainId": 84, "height": 3070265, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GNcjR8A4LSYwNYs3sS3eAyzkw5qwNoMUpb3mp8WHtfqp Next: 5hCyKG3QuwitSiwj5B37pqmHM6EuWTHdjPDRnUe8YKBd Diff:
Old | New | Differences | |
---|---|---|---|
12 | 12 | then throw("Access denied") | |
13 | 13 | else { | |
14 | 14 | let periodOffsetId = valueOrElse(getInteger(L2MpStakingAddress, "%s__offsetId"), 0) | |
15 | - | let periodLength = valueOrElse(getInteger(L2MpStakingAddress, "%s__ | |
16 | - | let periodOffsetHeight = valueOrElse(getInteger(L2MpStakingAddress, "%s__ | |
15 | + | let periodLength = valueOrElse(getInteger(L2MpStakingAddress, "%s__offsetLength"), 10000) | |
16 | + | let periodOffsetHeight = valueOrElse(getInteger(L2MpStakingAddress, "%s__periodHeight"), -1) | |
17 | 17 | if ((periodOffsetHeight == -1)) | |
18 | 18 | then throw("not yet") | |
19 | 19 | else { |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let HEIGHT = height | |
5 | 5 | ||
6 | 6 | let CallerAddress = Address(base58'3NC2Xn1tUKEc7YxJS9oxdtY4x5NaQHhpH2e') | |
7 | 7 | ||
8 | 8 | let L2MpStakingAddress = Address(base58'3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h') | |
9 | 9 | ||
10 | 10 | @Callable(i) | |
11 | 11 | func fillPeriod () = if ((i.caller != CallerAddress)) | |
12 | 12 | then throw("Access denied") | |
13 | 13 | else { | |
14 | 14 | let periodOffsetId = valueOrElse(getInteger(L2MpStakingAddress, "%s__offsetId"), 0) | |
15 | - | let periodLength = valueOrElse(getInteger(L2MpStakingAddress, "%s__ | |
16 | - | let periodOffsetHeight = valueOrElse(getInteger(L2MpStakingAddress, "%s__ | |
15 | + | let periodLength = valueOrElse(getInteger(L2MpStakingAddress, "%s__offsetLength"), 10000) | |
16 | + | let periodOffsetHeight = valueOrElse(getInteger(L2MpStakingAddress, "%s__periodHeight"), -1) | |
17 | 17 | if ((periodOffsetHeight == -1)) | |
18 | 18 | then throw("not yet") | |
19 | 19 | else { | |
20 | 20 | let currentPeriodId = if (if ((HEIGHT > periodOffsetHeight)) | |
21 | 21 | then (periodOffsetHeight != -1) | |
22 | 22 | else false) | |
23 | 23 | then (((HEIGHT - periodOffsetHeight) / periodLength) + periodOffsetId) | |
24 | 24 | else max([0, (periodOffsetId - 1)]) | |
25 | 25 | let currentPeriodHeight = if (if ((periodOffsetHeight == -1)) | |
26 | 26 | then true | |
27 | 27 | else if ((currentPeriodId == 0)) | |
28 | 28 | then (periodOffsetHeight > HEIGHT) | |
29 | 29 | else false) | |
30 | 30 | then 0 | |
31 | 31 | else (periodOffsetHeight + ((currentPeriodId - periodOffsetId) * periodLength)) | |
32 | 32 | let nextPeriodHeight = if (if ((periodOffsetHeight == -1)) | |
33 | 33 | then true | |
34 | 34 | else if ((currentPeriodId == 0)) | |
35 | 35 | then (periodOffsetHeight > HEIGHT) | |
36 | 36 | else false) | |
37 | 37 | then 0 | |
38 | 38 | else (currentPeriodHeight + periodLength) | |
39 | 39 | let lastStoredPeriodId = valueOrElse(getInteger(this, "lastPeriodId"), 0) | |
40 | 40 | let key = ((("period_" + toString(currentPeriodHeight)) + "_") + toString((nextPeriodHeight - 1))) | |
41 | 41 | let currentStoredPeriodId = valueOrElse(getInteger(this, key), -1) | |
42 | 42 | if ((currentStoredPeriodId != -1)) | |
43 | 43 | then throw("already stored") | |
44 | 44 | else [IntegerEntry(key, lastStoredPeriodId), IntegerEntry("lastPeriodId", (lastStoredPeriodId + 1))] | |
45 | 45 | } | |
46 | 46 | } | |
47 | 47 | ||
48 | 48 |
github/deemru/w8io/786bc32 25.76 ms ◑