tx · GygoekZJLB6Ez6n3bsXQzCPyjTvhdmgQKsahhFy2hh6

3MuHvzW1hrUfxXGmJqxtG3JFYutK5XoqAjk:  -0.01000000 Waves

2019.09.21 01:07 [685216] smart account 3MuHvzW1hrUfxXGmJqxtG3JFYutK5XoqAjk > SELF 0.00000000 Waves

{ "type": 13, "id": "GygoekZJLB6Ez6n3bsXQzCPyjTvhdmgQKsahhFy2hh6", "fee": 1000000, "feeAssetId": null, "timestamp": 1569017271542, "version": 1, "sender": "3MuHvzW1hrUfxXGmJqxtG3JFYutK5XoqAjk", "senderPublicKey": "661EYbc9oP5DPEXAPZrnPMxtjnQYoeAzL7VEvMxXmJzp", "proofs": [ "38hVnPe5jgpmEFnutQu2VL7NFzNvnNWMATCDevfWZpVvWHQwT5qqA8Y7JpDtG4287WzC1CEtDTavqh1aja4DZnNP" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAwAAAAFpAQAAAARpbml0AAAABAAAAARuYW1lAAAABXBob3RvAAAABXByaWNlAAAAB3Rva2VuSWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABG5hbWUFAAAABG5hbWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABXBob3RvBQAAAAVwaG90bwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAFcHJpY2UFAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAV0b2tlbgUAAAAHdG9rZW5JZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAFb3duZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAADbmlsAAAAAWkBAAAACGJ1eVRva2VuAAAAAAQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAAD3JlY2VpdmVkUGF5bWVudAQAAAAHJG1hdGNoMAgFAAAAAWkAAAAHcGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFwBQAAAAckbWF0Y2gwCAUAAAABcAAAAAZhbW91bnQAAAAAAAAAAAAEAAAABXByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAVwcmljZQQAAAAHdG9rZW5JZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAAFdG9rZW4DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAE3dhdmVzIG9ubHkgYWNjZXB0ZWQDCQAAZwAAAAIFAAAAD3JlY2VpdmVkUGF5bWVudAUAAAAFcHJpY2UJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAAB3Rva2VuSWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIFAAAAD3JlY2VpdmVkUGF5bWVudAUAAAAFcHJpY2UFAAAABHVuaXQFAAAAA25pbAkAAAIAAAABAgAAACFub3QgZW5vdWdoIHdhdmVzIHRvIGJ1eSB0aGUgdG9rZW4AAAABaQEAAAAOYWN0aXZhdGVBY2Nlc3MAAAAABAAAAANwbXQIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAADcG10BAAAAAxleHRyYWN0ZWRQbXQJAQAAAAdleHRyYWN0AAAAAQUAAAADcG10BAAAAAd0b2tlbklkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAAAV0b2tlbgMDAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAxleHRyYWN0ZWRQbXQAAAAHYXNzZXRJZAkAAAAAAAACCQACWAAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAADGV4dHJhY3RlZFBtdAAAAAdhc3NldElkBQAAAAd0b2tlbklkBwkAAAAAAAACCAUAAAAMZXh0cmFjdGVkUG10AAAABmFtb3VudAAAAAAAAAAAAQcJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABnJlbnRlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAANuaWwJAAACAAAAAQIAAAAncGF5bWVudCBlcnJvciwgeW91IG5lZWQgdG8gc2VuZCAxIHRva2VuCQAAAgAAAAECAAAAE25vIHBheW1lbnQgYXR0YWNoZWQAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABjoPdfY=", "chainId": 84, "height": 685216, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+
5+
6+@Callable(i)
7+func init (name,photo,price,tokenId) = WriteSet([DataEntry("name", name), DataEntry("photo", photo), DataEntry("price", price), DataEntry("token", tokenId), DataEntry("owner", toBase58String(i.caller.bytes))])
8+
9+
10+
11+@Callable(i)
12+func buyToken () = {
13+ let pmt = extract(i.payment)
14+ let receivedPayment = match i.payment {
15+ case p: AttachedPayment =>
16+ p.amount
17+ case _ =>
18+ 0
19+ }
20+ let price = getIntegerValue(this, "price")
21+ let tokenId = getStringValue(this, "token")
22+ if (isDefined(pmt.assetId))
23+ then throw("waves only accepted")
24+ else if ((receivedPayment >= price))
25+ then TransferSet([ScriptTransfer(i.caller, 1, fromBase58String(tokenId)), ScriptTransfer(i.caller, (receivedPayment - price), unit)])
26+ else throw("not enough waves to buy the token")
27+ }
28+
29+
30+
31+@Callable(i)
32+func activateAccess () = {
33+ let pmt = i.payment
34+ if (isDefined(pmt))
35+ then {
36+ let extractedPmt = extract(pmt)
37+ let tokenId = getStringValue(this, "token")
38+ if (if (if (isDefined(extractedPmt.assetId))
39+ then (toBase58String(extract(extractedPmt.assetId)) == tokenId)
40+ else false)
41+ then (extractedPmt.amount == 1)
42+ else false)
43+ then WriteSet([DataEntry("renter", toBase58String(i.caller.bytes))])
44+ else throw("payment error, you need to send 1 token")
45+ }
46+ else throw("no payment attached")
47+ }
48+
49+
50+@Verifier(tx)
51+func verify () = true
52+

github/deemru/w8io/169f3d6 
23.53 ms