tx · ArLxYcb6pUpVmyfyyzwchaUv41kL3VY3YjYXxAvBnSMZ

3PAuTLuchPr3N8mDaoN2wMb2JtHe5MBE7g2:  -0.00300000 Waves

2022.08.05 12:43 [3236527] smart account 3PAuTLuchPr3N8mDaoN2wMb2JtHe5MBE7g2 > SELF 0.00000000 Waves

{ "type": 13, "id": "ArLxYcb6pUpVmyfyyzwchaUv41kL3VY3YjYXxAvBnSMZ", "fee": 300000, "feeAssetId": null, "timestamp": 1659692643705, "version": 1, "sender": "3PAuTLuchPr3N8mDaoN2wMb2JtHe5MBE7g2", "senderPublicKey": "7hQKEVCKLNemvXdXDzHCqBh5MVBYfF4SNRVuWgK3g45d", "proofs": [ "5sApPzzj6KfJVcddDhVKvRrM3PLjNE3oRyMG1furTGoEv7jGoDZMCjM9DQgjqGVjQg7gK4MVUTZTvLFiDLUCMnD9" ], "script": "base64:BgIWCAISBgoECAgIARIDCgEBEgASAwoBARcBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQBC2FzSW50U3RySW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAISKEludCwgU3RyaW5nLCBJbnQpBAlpbnRTdHJJbnQFByRtYXRjaDAFCWludFN0ckludAMJAAECBQckbWF0Y2gwAg0oSW50LCBTdHJpbmcpBAZpbnRTdHIFByRtYXRjaDAJAJUKAwgFBmludFN0cgJfMQgFBmludFN0cgJfMgAACQACAQIjd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IChJbnQsIFN0cmluZykAC2NvbmZpZ1N0b3JlAgZjb25maWcADWNvbmZpZ0FkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwULY29uZmlnU3RvcmUCH2V4cC1kaXZpZGVuZHM6IG5vIGNvbmZpZ0FkZHJlc3MCFmludmFsaWQgY29uZmlnIGFkZHJlc3MAEm1heWJlT3JhY2xlQWRkcmVzcwQHJG1hdGNoMAkAnQgCBQ1jb25maWdBZGRyZXNzAg5vcmFjbGVfYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwUEdW5pdAAGSEVJR0hUBQZoZWlnaHQBB3Rocm93SWYCCWNvbmRpdGlvbgVlcnJvcgMFCWNvbmRpdGlvbgkAAgEFBWVycm9yBgEId3JpdGVJbnQCA2tleQV2YWx1ZQMJAGYCAAAFBXZhbHVlCQACAQkArAICCQCsAgIJAKwCAgIXd3JpdGluZyBuZWdhdGl2ZSB2YWx1ZSAJAKQDAQUFdmFsdWUCCSBmb3Iga2V5IAUDa2V5CQEMSW50ZWdlckVudHJ5AgUDa2V5BQV2YWx1ZQELd3JpdGVTdHJJbnQCA2tleQV2YWx1ZQMJAGYCAAAFBXZhbHVlCQACAQkArAICCQCsAgIJAKwCAgIXd3JpdGluZyBuZWdhdGl2ZSB2YWx1ZSAJAKQDAQUFdmFsdWUCCSBmb3Iga2V5IAUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkJAKQDAQUFdmFsdWUBEHdyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEIY2hhbmdlQnkCA2tleQV2YWx1ZQkBCHdyaXRlSW50AgUDa2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAUFdmFsdWUACXVzZG5TdG9yZQIHYXNzZXRJZAAEdXNkbgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUJdXNkblN0b3JlABFleHBEaXZpZGVuZHNTdG9yZQIMZXhwRGl2aWRlbmRzAAxleHBEaXZpZGVuZHMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBRFleHBEaXZpZGVuZHNTdG9yZQIWZGFvLWI6IG5vIGV4cERpdmlkZW5kcwASaW5pdGlhbEhlaWdodFN0b3JlAg1pbml0aWFsSGVpZ2h0AA1pbml0aWFsSGVpZ2h0CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBRJpbml0aWFsSGVpZ2h0U3RvcmUAEHRvdGFsQW1vdW50U3RvcmUCC3RvdGFsQW1vdW50AAt0b3RhbEFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUQdG90YWxBbW91bnRTdG9yZQANdmVzdGluZ1BlcmlvZAkAaAIAPACgCwAMY2xhaW1lZFN0b3JlAgtkaXN0cmlidXRlZAAHY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQxjbGFpbWVkU3RvcmUAAAAJYXZhaWxhYmxlAwkBASEBCQEJaXNEZWZpbmVkAQkAmggCBQR0aGlzBRJpbml0aWFsSGVpZ2h0U3RvcmUAAAMJAGYCBQ1pbml0aWFsSGVpZ2h0BQZIRUlHSFQAAAQGdmVzdGVkCQCXAwEJAMwIAgULdG90YWxBbW91bnQJAMwIAgkAawMFC3RvdGFsQW1vdW50CQBlAgUGSEVJR0hUBQ1pbml0aWFsSGVpZ2h0BQ12ZXN0aW5nUGVyaW9kBQNuaWwJAJYDAQkAzAgCCQBlAgUGdmVzdGVkBQdjbGFpbWVkCQDMCAIAAAUDbmlsBAFpAQRpbml0BA1jb25maWdBZGRyZXNzC3VzZG5Bc3NldElkCWRpdmlkZW5kcwltaW5BbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhZvbmx5IHNlbGYgY2FuIGNvbnRpbnVlCQDMCAIJARB3cml0ZUNvbnN0U3RyaW5nAgULY29uZmlnU3RvcmUFDWNvbmZpZ0FkZHJlc3MJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBQl1c2RuU3RvcmUJAKwCAgULdXNkbkFzc2V0SWQCCV9kYW9Cb251cwkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIFEWV4cERpdmlkZW5kc1N0b3JlBQlkaXZpZGVuZHMJAMwIAgkBDEludGVnZXJFbnRyeQICDG1pblVzZG5TdGFydAUJbWluQW1vdW50BQNuaWwBaQEHc3RhcnRBdAEBaAMJAQlpc0RlZmluZWQBCQCfCAEFEmluaXRpYWxIZWlnaHRTdG9yZQkAAgECE2FscmVhZHkgaW5pdGlhbGl6ZWQDCQECIT0CCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAkQMCCQC1CQIFBHVzZG4CAV8AAAkAAgECDmV4cGVjdGVkOiBVU0ROAwkAZgIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzAgxtaW5Vc2RuU3RhcnQCCG5vdCBpbml0CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAAgECD3RvbyBsaXR0bGUgdXNkbgkAzAgCCQEId3JpdGVJbnQCBRJpbml0aWFsSGVpZ2h0U3RvcmUFAWgJAMwIAgkBCHdyaXRlSW50AgUQdG90YWxBbW91bnRTdG9yZQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFA25pbAFpARJnZXRSZXNlcnZlRGl2c0luZm8ACQCUCgIFA25pbAkAlQoDBQlhdmFpbGFibGUFBHVzZG4AAAFpARN3aXRoZHJhd0Zyb21SZXNlcnZlAQF2AwkBAiE9AgUBdgD///////////8BCQACAQIHLTEgb25seQMJAQIhPQIIBQFpBmNhbGxlcgUMZXhwRGl2aWRlbmRzCQACAQIeb25seSBleHBEaXZpZGVuZHMgY2FuIHdpdGhkcmF3CQCUCgIJAMwIAgkBCGNoYW5nZUJ5AgUMY2xhaW1lZFN0b3JlBQlhdmFpbGFibGUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQlhdmFpbGFibGUJANkEAQkAkQMCCQC1CQIFBHVzZG4CAV8AAAUDbmlsBQlhdmFpbGFibGUAB5va0A==", "chainId": 87, "height": 3236527, "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+func a (b) = {
5+ let c = b
6+ if ($isInstanceOf(c, "Int"))
7+ then {
8+ let d = c
9+ d
10+ }
11+ else throw("wrong type, expected: Int")
12+ }
13+
14+
15+func e (b) = {
16+ let c = b
17+ if ($isInstanceOf(c, "(Int, String, Int)"))
18+ then {
19+ let f = c
20+ f
21+ }
22+ else if ($isInstanceOf(c, "(Int, String)"))
23+ then {
24+ let g = c
25+ $Tuple3(g._1, g._2, 0)
26+ }
27+ else throw("wrong type, expected: (Int, String)")
28+ }
29+
30+
31+let h = "config"
32+
33+let i = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, h), "exp-dividends: no configAddress")), "invalid config address")
34+
35+let j = {
36+ let c = getString(i, "oracle_address")
37+ if ($isInstanceOf(c, "String"))
38+ then {
39+ let k = c
40+ addressFromString(k)
41+ }
42+ else unit
43+ }
44+
45+let l = height
46+
47+func m (n,o) = if (n)
48+ then throw(o)
49+ else true
50+
51+
52+func p (q,b) = if ((0 > b))
53+ then throw(((("writing negative value " + toString(b)) + " for key ") + q))
54+ else IntegerEntry(q, b)
55+
56+
57+func r (q,b) = if ((0 > b))
58+ then throw(((("writing negative value " + toString(b)) + " for key ") + q))
59+ else StringEntry(q, toString(b))
60+
61+
62+func s (q,b) = if (!(isDefined(getString(this, q))))
63+ then StringEntry(q, b)
64+ else throw(("already initialized: " + q))
65+
66+
67+func t (q,b) = p(q, (valueOrElse(getInteger(this, q), 0) + b))
68+
69+
70+let u = "assetId"
71+
72+let v = getStringValue(this, u)
73+
74+let w = "expDividends"
75+
76+let x = addressFromStringValue(valueOrErrorMessage(getString(this, w), "dao-b: no expDividends"))
77+
78+let y = "initialHeight"
79+
80+let z = getIntegerValue(this, y)
81+
82+let A = "totalAmount"
83+
84+let B = getIntegerValue(this, A)
85+
86+let C = (60 * 1440)
87+
88+let D = "distributed"
89+
90+let E = valueOrElse(getInteger(this, D), 0)
91+
92+let F = if (!(isDefined(getInteger(this, y))))
93+ then 0
94+ else if ((z > l))
95+ then 0
96+ else {
97+ let G = min([B, fraction(B, (l - z), C)])
98+ max([(G - E), 0])
99+ }
100+
101+@Callable(H)
102+func init (i,I,J,K) = if ((H.caller != this))
103+ then throw("only self can continue")
104+ else [s(h, i), s(u, (I + "_daoBonus")), s(w, J), IntegerEntry("minUsdnStart", K)]
105+
106+
107+
108+@Callable(H)
109+func startAt (L) = if (isDefined(getInteger(y)))
110+ then throw("already initialized")
111+ else if ((toBase58String(value(H.payments[0].assetId)) != split(v, "_")[0]))
112+ then throw("expected: USDN")
113+ else if ((valueOrErrorMessage(getInteger(this, "minUsdnStart"), "not init") > H.payments[0].amount))
114+ then throw("too little usdn")
115+ else [p(y, L), p(A, H.payments[0].amount)]
116+
117+
118+
119+@Callable(H)
120+func getReserveDivsInfo () = $Tuple2(nil, $Tuple3(F, v, 0))
121+
122+
123+
124+@Callable(H)
125+func withdrawFromReserve (M) = if ((M != -1))
126+ then throw("-1 only")
127+ else if ((H.caller != x))
128+ then throw("only expDividends can withdraw")
129+ else $Tuple2([t(D, F), ScriptTransfer(H.caller, F, fromBase58String(split(v, "_")[0]))], F)
130+
131+

github/deemru/w8io/3ef1775 
17.86 ms