tx · Gdozve3LF95L6yqFwFXYcvHo5t7PE3csGj9XMFTc9H7Z

3MuWMLgF93tiB2h17yKktaJGFtUgoBRbdKQ:  -0.01400000 Waves

2019.12.27 20:33 [827746] smart account 3MuWMLgF93tiB2h17yKktaJGFtUgoBRbdKQ > SELF 0.00000000 Waves

{ "type": 13, "id": "Gdozve3LF95L6yqFwFXYcvHo5t7PE3csGj9XMFTc9H7Z", "fee": 1400000, "feeAssetId": null, "timestamp": 1577468035855, "version": 1, "sender": "3MuWMLgF93tiB2h17yKktaJGFtUgoBRbdKQ", "senderPublicKey": "2GrToToc7e5UDZvvTCfoyv9KhKBRB1gdoCRCTggVmtnz", "proofs": [ "4BPSCh6oFz4EPunCQNeVadx8vyxA95nkXPsCUaJv1bw22pV2T8z2cACkKY1a7ZeEQ9pryNWdyE23SFCfAMCGLmTt" ], "script": "base64:AAIDAAAAAAAAAAkIARIAEgMKAQEAAAABAAAAABRkQXBwQWNjb3VudFB1YmxpY0tleQEAAAAgEutTdj7vjd4fNBqPHg5FMa3hiUDxZnDoo707UjlHHFcAAAACAAAAAWkBAAAAB2RlcG9zaXQAAAAABAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAhY2FuIGhvZGwgd2F2ZXMgb25seSBhdCB0aGUgbW9tZW50BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Ftb3VudAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAQAAAAZhbW91bnQEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACW5ld0Ftb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkAAAIAAAABAgAAAB5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACW5ld0Ftb3VudAkAAAIAAAABAgAAABJOb3QgZW5vdWdoIGJhbGFuY2UJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjdXJyZW50S2V5BQAAAAluZXdBbW91bnQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFzBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAUZEFwcEFjY291bnRQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBAAAAAFpBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQffITnH", "chainId": 84, "height": 827746, "spentComplexity": 0 } View: original | compacted Prev: D9TsgpZSEzp8r6XFvuxbMCSZ7mqRk6qxTTJqUXb5jc8s Next: D2c3Les8zBTbyfsfPoK8twG6J3wm4eNQKGLxPK8HQPJU Diff:
OldNewDifferences
4545 func verify () = match tx {
4646 case s: SetScriptTransaction =>
4747 sigVerify(tx.bodyBytes, tx.proofs[0], dAppAccountPublicKey)
48+ case i: InvokeScriptTransaction =>
49+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4850 case _ =>
4951 false
5052 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let dAppAccountPublicKey = base58'2GrToToc7e5UDZvvTCfoyv9KhKBRB1gdoCRCTggVmtnz'
55
66 @Callable(i)
77 func deposit () = {
88 let pmt = extract(i.payment)
99 if (isDefined(pmt.assetId))
1010 then throw("can hodl waves only at the moment")
1111 else {
1212 let currentKey = toBase58String(i.caller.bytes)
1313 let currentAmount = match getInteger(this, currentKey) {
1414 case a: Int =>
1515 a
1616 case _ =>
1717 0
1818 }
1919 let newAmount = (currentAmount + pmt.amount)
2020 WriteSet([DataEntry(currentKey, newAmount)])
2121 }
2222 }
2323
2424
2525
2626 @Callable(i)
2727 func withdraw (amount) = {
2828 let currentKey = toBase58String(i.caller.bytes)
2929 let currentAmount = match getInteger(this, currentKey) {
3030 case a: Int =>
3131 a
3232 case _ =>
3333 0
3434 }
3535 let newAmount = (currentAmount - amount)
3636 if ((0 > amount))
3737 then throw("Can't withdraw negative amount")
3838 else if ((0 > newAmount))
3939 then throw("Not enough balance")
4040 else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
4141 }
4242
4343
4444 @Verifier(tx)
4545 func verify () = match tx {
4646 case s: SetScriptTransaction =>
4747 sigVerify(tx.bodyBytes, tx.proofs[0], dAppAccountPublicKey)
48+ case i: InvokeScriptTransaction =>
49+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4850 case _ =>
4951 false
5052 }
5153

github/deemru/w8io/169f3d6 
42.80 ms