tx · 2EUkPKgtYSJ1Asz6YSTrDBcbrKYAoPD7tdERn91rqvB2 3P8Ju1KS4X1wpocTwhedxScmg6GqHvFKVsQ: -0.00200000 Waves 2022.12.03 01:33 [3408806] smart account 3P8Ju1KS4X1wpocTwhedxScmg6GqHvFKVsQ > SELF 0.00000000 Waves
{ "type": 13, "id": "2EUkPKgtYSJ1Asz6YSTrDBcbrKYAoPD7tdERn91rqvB2", "fee": 200000, "feeAssetId": null, "timestamp": 1670020480233, "version": 1, "sender": "3P8Ju1KS4X1wpocTwhedxScmg6GqHvFKVsQ", "senderPublicKey": "438rqyxRwQ6w6W5fhmAkkxMiYBvRsF6U6ctHtCdQa9Ma", "proofs": [ "ADivCMeRxDaRsTkMZsjVabSS99gXNMQtsyZiwHtzAxt7eVNxCFmNJ3WHPaqq3ZDFb7cA3gWe2wLAh5vKCB4FpGm" ], "script": "base64:BgIECAISAAwAAXcCK1lpTmJvZkZ6QzE3akVISENNd3JSY3B5OU1ycmphYk1NTFp4ZzhnNXhtZjcAAXQBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAFwCQEHQWRkcmVzcwEBGgFXayUbH3G34NHWjt7hRaHt01QTlEnOpNGpAAFzCQEHQWRkcmVzcwEBGgFXfcl7kxR5/+dR8bFKx2/5ah2AlUfPWCN+AA1LRVlfTEFTVF9SQVRFAglMQVNUX1JBVEUAEEtFWV9DVVJSRU5UX1JBVEUCDENVUlJFTlRfUkFURQAPS0VZX0xBU1RfSEVJR0hUAgtMQVNUX0hFSUdIVAARS0VZX1RBUkdFVF9IRUlHSFQCDVRBUkdFVF9IRUlHSFQADlBFUkNFTlRfRkFDVE9SCQC2AgEAgKCUpY0dAAtaRVJPX0JJR0lOVAkAtgIBAAABCF9sb2FkSW50AgRrZXlfCGRlZmF1bHRfBAckbWF0Y2gwCQCaCAIFAXMFBGtleV8DCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhBQhkZWZhdWx0XwELX2xvYWRCaWdJbnQCBGtleV8IZGVmYXVsdF8EByRtYXRjaDAJAJwIAgUBcwUEa2V5XwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFhBQckbWF0Y2gwCQCeAwEFAWEFCGRlZmF1bHRfAQFpAQdkZWZhdWx0AAQBYgkA8AcCBQR0aGlzBQF0AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQINQWNjZXNzIERlbmllZAQCYzEJAPwHBAUBcAIEc3dhcAkAzAgCAgVXQVZFUwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBdAUBYgUDbmlsAwkAAAIFAmMxBQJjMQQBcgkAZQIKAAFABQJjMQMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQAoMIeBAhsYXN0UmF0ZQkBC19sb2FkQmlnSW50AgUNS0VZX0xBU1RfUkFURQUOUEVSQ0VOVF9GQUNUT1IEC2N1cnJlbnRSYXRlCQELX2xvYWRCaWdJbnQCBRBLRVlfQ1VSUkVOVF9SQVRFBQtaRVJPX0JJR0lOVAQKbGFzdEhlaWdodAkBCF9sb2FkSW50AgUPS0VZX0xBU1RfSEVJR0hUAAAEDHRhcmdldEhlaWdodAkAlwMBCQDMCAIJAQhfbG9hZEludAIFEUtFWV9UQVJHRVRfSEVJR0hUAAAJAMwIAggFCWxhc3RCbG9jawZoZWlnaHQFA25pbAQPbGFzdFJhdGVVcGRhdGVkCQC3AgIFCGxhc3RSYXRlCQC5AgIFC2N1cnJlbnRSYXRlCQC2AgEJAGUCBQx0YXJnZXRIZWlnaHQFCmxhc3RIZWlnaHQEC2lzc3VlQW1vdW50CQCgAwEJAL0CBAkAtgIBBQFyBQ5QRVJDRU5UX0ZBQ1RPUgUPbGFzdFJhdGVVcGRhdGVkBQVGTE9PUgMJAGYCCQBkAgUBYgDgxlsFC2lzc3VlQW1vdW50CQACAQIBZgQCYzIJAPwHBAUBcwIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQFyBQNuaWwDCQAAAgUCYzIFAmMyBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AKcDePg==", "chainId": 87, "height": 3408806, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 1a74XUNfYjFN31ubMwVdRqj9B2SFGNGpv5Bk2rokGme Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let w = "YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7" | |
5 | + | ||
6 | + | let t = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7' | |
7 | + | ||
8 | + | let p = Address(base58'3PBhRUwPuyykFYXby6C9Kz59htAhE8KsWmE') | |
9 | + | ||
10 | + | let s = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV') | |
11 | + | ||
12 | + | let KEY_LAST_RATE = "LAST_RATE" | |
13 | + | ||
14 | + | let KEY_CURRENT_RATE = "CURRENT_RATE" | |
15 | + | ||
16 | + | let KEY_LAST_HEIGHT = "LAST_HEIGHT" | |
17 | + | ||
18 | + | let KEY_TARGET_HEIGHT = "TARGET_HEIGHT" | |
19 | + | ||
20 | + | let PERCENT_FACTOR = toBigInt(1000000000000) | |
21 | + | ||
22 | + | let ZERO_BIGINT = toBigInt(0) | |
23 | + | ||
24 | + | func _loadInt (key_,default_) = match getInteger(s, key_) { | |
25 | + | case a: Int => | |
26 | + | a | |
27 | + | case _ => | |
28 | + | default_ | |
29 | + | } | |
30 | + | ||
31 | + | ||
32 | + | func _loadBigInt (key_,default_) = match getBinary(s, key_) { | |
33 | + | case a: ByteVector => | |
34 | + | toBigInt(a) | |
35 | + | case _ => | |
36 | + | default_ | |
37 | + | } | |
38 | + | ||
39 | + | ||
40 | + | @Callable(i) | |
41 | + | func default () = { | |
42 | + | let b = assetBalance(this, t) | |
43 | + | if ((i.caller != this)) | |
44 | + | then throw("Access Denied") | |
45 | + | else { | |
46 | + | let c1 = invoke(p, "swap", ["WAVES", 0], [AttachedPayment(t, b)]) | |
47 | + | if ((c1 == c1)) | |
48 | + | then { | |
49 | + | let r = ({ | |
50 | + | let @ = c1 | |
51 | + | if ($isInstanceOf(@, "Int")) | |
52 | + | then @ | |
53 | + | else throw(($getType(@) + " couldn't be cast to Int")) | |
54 | + | } - 500000) | |
55 | + | let lastRate = _loadBigInt(KEY_LAST_RATE, PERCENT_FACTOR) | |
56 | + | let currentRate = _loadBigInt(KEY_CURRENT_RATE, ZERO_BIGINT) | |
57 | + | let lastHeight = _loadInt(KEY_LAST_HEIGHT, 0) | |
58 | + | let targetHeight = min([_loadInt(KEY_TARGET_HEIGHT, 0), lastBlock.height]) | |
59 | + | let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight)))) | |
60 | + | let issueAmount = toInt(fraction(toBigInt(r), PERCENT_FACTOR, lastRateUpdated, FLOOR)) | |
61 | + | if (((b + 1500000) > issueAmount)) | |
62 | + | then throw("f") | |
63 | + | else { | |
64 | + | let c2 = invoke(s, "deposit", nil, [AttachedPayment(unit, r)]) | |
65 | + | if ((c2 == c2)) | |
66 | + | then nil | |
67 | + | else throw("Strict value is not equal to itself.") | |
68 | + | } | |
69 | + | } | |
70 | + | else throw("Strict value is not equal to itself.") | |
71 | + | } | |
72 | + | } | |
73 | + | ||
74 | + |
github/deemru/w8io/6500d08 16.60 ms ◑