tx · EMf7Ue6wDNoRXi72YWhYrb8Hutkf7NjMs9HcoyV8c1Bq

3PDHaUcRCwK2FBBTGjNMcRHfEVUBp4x5sdB:  -0.00300000 Waves

2022.10.19 10:08 [3344360] smart account 3PDHaUcRCwK2FBBTGjNMcRHfEVUBp4x5sdB > SELF 0.00000000 Waves

{ "type": 13, "id": "EMf7Ue6wDNoRXi72YWhYrb8Hutkf7NjMs9HcoyV8c1Bq", "fee": 300000, "feeAssetId": null, "timestamp": 1666163301391, "version": 1, "sender": "3PDHaUcRCwK2FBBTGjNMcRHfEVUBp4x5sdB", "senderPublicKey": "FmYSUr4fKcA2Si9LiVwc41bUdVJv5RggvbLAfojA8UZ5", "proofs": [ "nHVoDcQARy8HiioL6EnZEjz98Qq1LwRZniarBQaAUK7ASfu2yEevoJkMHTTX11X7cjv4BXnC9faTHm93DmJy6GY" ], "script": "base64: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", "chainId": 87, "height": 3344360, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GQJvcbDBc5wTQbrRMoPAPjmwWTCztQM51T1oDT6GUUqp Next: none Diff:
OldNewDifferences
55 then StringEntry(key, value)
66 else throw(("already initialized: " + key))
77
8-
9-let admin = valueOrErrorMessage(getString(this, "admin"), "no admin")
108
119 let reserve = valueOrErrorMessage(getString(this, "reserve"), "neutrino-staker: no reserve")
1210
1917 let sp = valueOrErrorMessage(getString(this, "sp"), "no sp")
2018
2119 @Callable(i)
22-func initialize (admin,reserve,node,neutrinoId,sp) = [writeConstString("admin", admin), writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("neutrinoId", neutrinoId), writeConstString("sp", sp)]
23-
24-
25-
26-@Callable(i)
27-func setAddress (a) = if ((toString(i.caller) != admin))
28- then throw("only self can do")
29- else [StringEntry("node", a)]
20+func initialize (reserve,node,neutrinoId,sp) = [writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("neutrinoId", neutrinoId), writeConstString("sp", sp)]
3021
3122
3223
6051 }
6152
6253
54+
55+@Callable(i)
56+func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("rpd_balance_" + neutrinoId) + "_") + toString(this))), 0))
57+
58+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
55 then StringEntry(key, value)
66 else throw(("already initialized: " + key))
77
8-
9-let admin = valueOrErrorMessage(getString(this, "admin"), "no admin")
108
119 let reserve = valueOrErrorMessage(getString(this, "reserve"), "neutrino-staker: no reserve")
1210
1311 let node = valueOrErrorMessage(getString(this, "node"), "no node")
1412
1513 let nodeAddress = valueOrErrorMessage(addressFromString(node), "bad node address")
1614
1715 let neutrinoId = valueOrErrorMessage(getString(this, "neutrinoId"), "no neutrino id")
1816
1917 let sp = valueOrErrorMessage(getString(this, "sp"), "no sp")
2018
2119 @Callable(i)
22-func initialize (admin,reserve,node,neutrinoId,sp) = [writeConstString("admin", admin), writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("neutrinoId", neutrinoId), writeConstString("sp", sp)]
23-
24-
25-
26-@Callable(i)
27-func setAddress (a) = if ((toString(i.caller) != admin))
28- then throw("only self can do")
29- else [StringEntry("node", a)]
20+func initialize (reserve,node,neutrinoId,sp) = [writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("neutrinoId", neutrinoId), writeConstString("sp", sp)]
3021
3122
3223
3324 @Callable(i)
3425 func put () = if ((toString(i.caller) != reserve))
3526 then throw("reserve only")
3627 else {
3728 let attachedAssetId = toBase58String(value(i.payments[0].assetId))
3829 if ((attachedAssetId != neutrinoId))
3930 then throw(((("usdn only: " + neutrinoId) + ", but got ") + attachedAssetId))
4031 else {
4132 let action = invoke(nodeAddress, "lockNeutrinoSP", [sp, 100], [AttachedPayment(fromBase58String(neutrinoId), i.payments[0].amount)])
4233 if ((action == action))
4334 then nil
4435 else throw("Strict value is not equal to itself.")
4536 }
4637 }
4738
4839
4940
5041 @Callable(i)
5142 func get (removedAmount) = if ((toString(i.caller) != reserve))
5243 then throw("reserve only")
5344 else if ((0 > removedAmount))
5445 then throw("pulling negative amount")
5546 else {
5647 let action = invoke(nodeAddress, "unlockNeutrino", [removedAmount, neutrinoId], nil)
5748 if ((action == action))
5849 then [ScriptTransfer(i.caller, removedAmount, fromBase58String(neutrinoId))]
5950 else throw("Strict value is not equal to itself.")
6051 }
6152
6253
54+
55+@Callable(i)
56+func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("rpd_balance_" + neutrinoId) + "_") + toString(this))), 0))
57+
58+

github/deemru/w8io/3ef1775 
46.95 ms