tx · 41NjUx1m1A7kb3QBY8VFGgm1eHde7SiFNPK3QDxpfEua

3N8PYRFdwoxS9d2WT96aVK2WtUF6wLvXAmo:  -0.00400000 Waves

2022.07.28 17:31 [2159793] smart account 3N8PYRFdwoxS9d2WT96aVK2WtUF6wLvXAmo > SELF 0.00000000 Waves

{ "type": 13, "id": "41NjUx1m1A7kb3QBY8VFGgm1eHde7SiFNPK3QDxpfEua", "fee": 400000, "feeAssetId": null, "timestamp": 1659018660061, "version": 2, "chainId": 84, "sender": "3N8PYRFdwoxS9d2WT96aVK2WtUF6wLvXAmo", "senderPublicKey": "9D2Gz2qTRY9jysW7Q1eDpJSQiuGHaUUfQDdspbAPrDN7", "proofs": [ "3CnPWdfqJFvgkqWWfNKSkqHWrX23vyMf7FuDgo8j5icrJrTvmybnw1GxVhenEvawb3z6G4e6PCSZ325jKWwPdKec" ], "script": "base64:AAIFAAAAAAAAABoIAhIFCgMICAgSABIDCgEBEgASBAoCCAESAAAAAAwAAAAAE2tleV9IYXNocmF0ZVRva2VuSWQCAAAAD2hhc2hyYXRlVG9rZW5JZAAAAAAQa2V5X1Byb21vVG9rZW5JZAIAAAAMcHJvbW9Ub2tlbklkAAAAAA9rZXlfU3Rha2luZ0RBcHACAAAADHN0YWtpbmctZGFwcAAAAAANa2V5X0NvbGxlY3RvcgIAAAAJY29sbGVjdG9yAAAAAAtrZXlfUmVzZXJ2ZQIAAAAHcmVzZXJ2ZQAAAAASaGFzaHJhdGVUb2tlbklkU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAATa2V5X0hhc2hyYXRlVG9rZW5JZAIAAAAAAAAAAA9oYXNocmF0ZVRva2VuSWQJAAJZAAAAAQUAAAASaGFzaHJhdGVUb2tlbklkU3RyAAAAAA9wcm9tb1Rva2VuSWRTdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAABBrZXlfUHJvbW9Ub2tlbklkAgAAAAAAAAAADHByb21vVG9rZW5JZAkAAlkAAAABBQAAAA9wcm9tb1Rva2VuSWRTdHIAAAAAC3N0YWtpbmdEQXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAPa2V5X1N0YWtpbmdEQXBwAgAAAAAAAAAACWNvbGxlY3RvcgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAADWtleV9Db2xsZWN0b3ICAAAAAAAAAAAHcmVzZXJ2ZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMCAAAAB3Jlc2VydmUCAAAAAAAAAAYAAAADaW52AQAAAARpbml0AAAAAwAAAA9oYXNocmF0ZUFzc2V0SWQAAAASc3Rha2luZ0RBcHBBZGRyZXNzAAAAEGNvbGxlY3RvckFkZHJlc3MEAAAAEGluaXRB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", "height": 2159793, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: EMLUnGe6nuU18XmvjeABHBvG6bDcqjZ4WaLoXdd9yHt Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "hashrateTokenId"
5+
6+let b = "promoTokenId"
7+
8+let c = "staking-dapp"
9+
10+let d = "collector"
11+
12+let e = "reserve"
13+
14+let f = valueOrErrorMessage(getString(this, a), "")
15+
16+let g = fromBase58String(f)
17+
18+let h = valueOrErrorMessage(getString(this, b), "")
19+
20+let i = fromBase58String(h)
21+
22+let j = addressFromStringValue(valueOrErrorMessage(getString(this, c), ""))
23+
24+let k = addressFromStringValue(valueOrErrorMessage(getString(this, d), ""))
25+
26+let l = valueOrErrorMessage(getInteger(this, "reserve"), "")
27+
28+@Callable(m)
29+func init (n,o,p) = {
30+ let q = 1
31+ let r = Issue("REDSmb_Promo", "", q, 8, true)
32+ let s = calculateAssetId(r)
33+[StringEntry(a, toBase58String(valueOrErrorMessage(assetInfo(fromBase58String(n)), "").id)), StringEntry(c, toString(valueOrErrorMessage(addressFromString(o), ""))), StringEntry(d, toString(valueOrErrorMessage(addressFromString(p), ""))), r, Burn(s, q), StringEntry(b, toBase58String(s)), IntegerEntry(e, 0)]
34+ }
35+
36+
37+
38+@Callable(m)
39+func increaseReserve () = if ((m.caller == this))
40+ then throw()
41+ else if ((size(m.payments) != 1))
42+ then throw()
43+ else if ((m.payments[0].assetId != g))
44+ then throw()
45+ else if ((0 >= m.payments[0].amount))
46+ then throw()
47+ else [IntegerEntry(e, (l + m.payments[0].amount))]
48+
49+
50+
51+@Callable(m)
52+func buyPromo (t) = [IntegerEntry("promo-issued", (valueOrElse(getInteger(this, "promo-issued"), 0) + t)), ScriptTransfer(k, m.payments[0].amount, m.payments[0].assetId), ScriptTransfer(m.caller, t, i)]
53+
54+
55+
56+@Callable(m)
57+func redeemHashrateToken () = [Burn(valueOrErrorMessage(m.payments[1].assetId, ""), m.payments[1].amount), ScriptTransfer(k, m.payments[0].amount, m.payments[0].assetId), ScriptTransfer(m.caller, m.payments[1].amount, g)]
58+
59+
60+
61+@Callable(m)
62+func stakePromo (u,v) = {
63+ let w = invoke(j, "stake", [u, v], [m.payments[0]])
64+ if ((w == w))
65+ then {
66+ let x = (toString(m.caller) + "_staked")
67+[IntegerEntry(x, (valueOrElse(getInteger(this, x), 0) + m.payments[0].amount)), StringEntry(((toString(m.caller) + "_") + toBase58String(m.transactionId)), ((((toString(m.payments[0].amount) + ",") + u) + ",") + toString(v)))]
68+ }
69+ else throw("Strict value is not equal to itself.")
70+ }
71+
72+
73+
74+@Callable(m)
75+func unstake () = nil
76+
77+

github/deemru/w8io/169f3d6 
26.45 ms