tx · 9hW4GcuNJGFPAHpMXsAqs67aiAbi2Hhm92D3PYf85mrU

3PEDESe94yGyY8X3Gez4u7cyZCa4JTAT6h3:  -0.01400000 Waves

2020.11.04 02:09 [2313555] smart account 3PEDESe94yGyY8X3Gez4u7cyZCa4JTAT6h3 > SELF 0.00000000 Waves

{ "type": 13, "id": "9hW4GcuNJGFPAHpMXsAqs67aiAbi2Hhm92D3PYf85mrU", "fee": 1400000, "feeAssetId": null, "timestamp": 1604444942016, "version": 2, "chainId": 87, "sender": "3PEDESe94yGyY8X3Gez4u7cyZCa4JTAT6h3", "senderPublicKey": "5NS2bDTAeSrSw5v6xQuM3YLsN9q5BXwfWuKCPkwFCH3y", "proofs": [ "4ph89xUk8hKM7tb3oLU423Yby9uJngiCWywV336C6ZCfm97pcr5UFYKcFKJMdJQT9TJTAAto9D35Z3ixiCjwMv1Q" ], "script": "base64:AAIDAAAAAAAAAA0IARIECgICARIDCgEIAAAAHgAAAAAETk9ORQAAAAAAAAAAAAAAAAADTkVXAAAAAAAAAAABAAAAAAlDT01QTEVURUQAAAAAAAAAAAIAAAAAB0FQUFJPVkUAAAAAAAAAAAEAAAAABlVOTE9DSwAAAAAAAAAAAgAAAAAITE9DS1RZUEUAAAAAAAAAAAEAAAAAClVOTE9DS1RZUEUAAAAAAAAAAAIBAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF2BQAAAAckbWF0Y2gwBQAAAAF2AAAAAAAAAAAAAQAAAA1nZXRCeXRlc0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAF2BQAAAAckbWF0Y2gwBQAAAAF2AQAAAAPQAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXYFAAAAByRtYXRjaDAFAAAAAXYCAAAAAAAAAAAKQXNzZXRJZEtleQIAAAAIYXNzZXRfaWQAAAAACkZpcnN0UnFLZXkCAAAACGZpcnN0X3JxAAAAAAlMYXN0UnFLZXkCAAAAB2xhc3RfcnEAAAAAEE5lYnVsYUFkZHJlc3NLZXkCAAAADm5lYnVsYV9hZGRyZXNzAQAAAAxnZXROZXh0UnFLZXkAAAABAAAAAmlkCQABLAAAAAICAAAACG5leHRfcnFfBQAAAAJpZAEAAAAMZ2V0UHJldlJxS2V5AAAAAQAAAAJpZAkAASwAAAACAgAAAAhwcmV2X3JxXwUAAAACaWQBAAAAEGdldFJxUmVjZWl2ZXJLZXkAAAABAAAAAmlkCQABLAAAAAICAAAADHJxX3JlY2VpdmVyXwUAAAACaWQBAAAADmdldFJxQW1vdW50S2V5AAAAAQAAAAJpZAkAASwAAAACAgAAAApycV9hbW91bnRfBQAAAAJpZAEAAAAOZ2V0UnFTdGF0dXNLZXkAAAABAAAAAmlkCQABLAAAAAICAAAACnJxX3N0YXR1c18FAAAAAmlkAQAAAAxnZXRScVR5cGVLZXkAAAABAAAAAmlkCQABLAAAAAICAAAACHJxX3R5cGVfBQAAAAJpZAAAAAANbmVidWxhQWRkcmVzcwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABBOZWJ1bGFBZGRyZXNzS2V5AAAAAAdhc3NldElkCQACWQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAACkFzc2V0SWRLZXkAAAAAB2ZpcnN0UnEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAACkZpcnN0UnFLZXkAAAAABmxhc3RScQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAJTGFzdFJxS2V5AQAAAAlnZXROZXh0UnEAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMZ2V0TmV4dFJxS2V5AAAAAQUAAAACaWQBAAAACWdldFByZXZScQAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAxnZXRQcmV2UnFLZXkAAAABBQAAAAJpZAEAAAALZ2V0UnFBbW91bnQAAAABAAAAAmlkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADmdldFJxQW1vdW50S2V5AAAAAQUAAAACaWQBAAAAC2dldFJxU3RhdHVzAAAAAQAAAAJpZAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAA5nZXRScVN0YXR1c0tleQAAAAEFAAAAAmlkAQAAAAlnZXRScVR5cGUAAAABAAAAAmlkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGdldFJxVHlwZUtleQAAAAEFAAAAAmlkAQAAAA1nZXRScVJlY2VpdmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldFJxUmVjZWl2ZXJLZXkAAAABBQAAAAJpZAAAAAIAAAABaQEAAAAKYXR0YWNoRGF0YQAA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", "height": 2313555, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5oYzfbJL6n9QjMnBmuxBNEjCNmbVpQ9vmxD3Cz9xXFJ2 Next: none Diff:
OldNewDifferences
9292
9393
9494 @Callable(i)
95-func attachData (v) = {
95+func attachData (v,vPulseId) = {
9696 let action = toInt(take(v, 8))
9797 let rqId = toBase58String(take(drop(v, 8), 32))
9898 if ((i.caller != nebulaAddress))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = 0
55
66 let NEW = 1
77
88 let COMPLETED = 2
99
1010 let APPROVE = 1
1111
1212 let UNLOCK = 2
1313
1414 let LOCKTYPE = 1
1515
1616 let UNLOCKTYPE = 2
1717
1818 func getIntegerByKey (key) = match getInteger(this, key) {
1919 case v: Int =>
2020 v
2121 case _ =>
2222 0
2323 }
2424
2525
2626 func getBytesByKey (key) = match getBinary(this, key) {
2727 case v: ByteVector =>
2828 v
2929 case _ =>
3030 base58'2CsAf'
3131 }
3232
3333
3434 func getStringByKey (key) = match getString(this, key) {
3535 case v: String =>
3636 v
3737 case _ =>
3838 ""
3939 }
4040
4141
4242 let AssetIdKey = "asset_id"
4343
4444 let FirstRqKey = "first_rq"
4545
4646 let LastRqKey = "last_rq"
4747
4848 let NebulaAddressKey = "nebula_address"
4949
5050 func getNextRqKey (id) = ("next_rq_" + id)
5151
5252
5353 func getPrevRqKey (id) = ("prev_rq_" + id)
5454
5555
5656 func getRqReceiverKey (id) = ("rq_receiver_" + id)
5757
5858
5959 func getRqAmountKey (id) = ("rq_amount_" + id)
6060
6161
6262 func getRqStatusKey (id) = ("rq_status_" + id)
6363
6464
6565 func getRqTypeKey (id) = ("rq_type_" + id)
6666
6767
6868 let nebulaAddress = addressFromStringValue(getStringByKey(NebulaAddressKey))
6969
7070 let assetId = fromBase58String(getStringByKey(AssetIdKey))
7171
7272 let firstRq = getStringByKey(FirstRqKey)
7373
7474 let lastRq = getStringByKey(LastRqKey)
7575
7676 func getNextRq (id) = getStringByKey(getNextRqKey(id))
7777
7878
7979 func getPrevRq (id) = getStringByKey(getPrevRqKey(id))
8080
8181
8282 func getRqAmount (id) = getIntegerByKey(getRqAmountKey(id))
8383
8484
8585 func getRqStatus (id) = getIntegerByKey(getRqStatusKey(id))
8686
8787
8888 func getRqType (id) = getIntegerByKey(getRqTypeKey(id))
8989
9090
9191 func getRqReceiver (id) = getStringByKey(getRqReceiverKey(id))
9292
9393
9494 @Callable(i)
95-func attachData (v) = {
95+func attachData (v,vPulseId) = {
9696 let action = toInt(take(v, 8))
9797 let rqId = toBase58String(take(drop(v, 8), 32))
9898 if ((i.caller != nebulaAddress))
9999 then throw("invalid sender")
100100 else if ((action == UNLOCK))
101101 then {
102102 let amount = toInt(take(drop(v, 40), 8))
103103 if ((getRqStatus(rqId) != NONE))
104104 then throw("rq is exist")
105105 else {
106106 let recipient = drop(v, 48)
107107 ScriptResult(WriteSet([DataEntry(getRqStatusKey(rqId), COMPLETED), DataEntry(getRqAmountKey(rqId), amount), DataEntry(getRqTypeKey(rqId), UNLOCKTYPE)]), TransferSet([ScriptTransfer(Address(recipient), amount, assetId)]))
108108 }
109109 }
110110 else if ((action == APPROVE))
111111 then if ((getRqStatus(rqId) == NONE))
112112 then throw("rq not found")
113113 else if ((getRqStatus(rqId) == COMPLETED))
114114 then throw("rq was approved")
115115 else {
116116 let nextRq = getNextRq(rqId)
117117 let prevRq = getPrevRq(rqId)
118118 WriteSet([DataEntry(FirstRqKey, if ((firstRq == rqId))
119119 then getNextRq(rqId)
120120 else firstRq), DataEntry(LastRqKey, if ((lastRq == rqId))
121121 then getPrevRq(rqId)
122122 else lastRq), DataEntry(getNextRqKey(prevRq), nextRq), DataEntry(getPrevRqKey(nextRq), prevRq), DataEntry(getRqStatusKey(rqId), COMPLETED)])
123123 }
124124 else throw("invalid action type")
125125 }
126126
127127
128128
129129 @Callable(i)
130130 func createTransferWrapRq (receiver) = {
131131 let pmt = value(i.payment)
132132 let rqId = toBase58String(i.transactionId)
133133 if ((pmt.assetId != assetId))
134134 then throw("invalid asset in payments")
135135 else WriteSet([DataEntry(FirstRqKey, if ((firstRq == ""))
136136 then rqId
137137 else firstRq), DataEntry(LastRqKey, rqId), DataEntry(getNextRqKey(lastRq), rqId), DataEntry(getPrevRqKey(rqId), lastRq), DataEntry(getRqAmountKey(rqId), pmt.amount), DataEntry(getRqStatusKey(rqId), NEW), DataEntry(getRqReceiverKey(rqId), receiver), DataEntry(getRqTypeKey(rqId), LOCKTYPE)])
138138 }
139139
140140

github/deemru/w8io/873ac7e 
100.29 ms