tx · CSrrtvcWK5PNkVHx3SH6JA5dhUhrLqw3QC1kKeP7Rzay

3N5hQm6twVhFgf8mKBkJpNhxwcBnpZsPyni:  -0.01400000 Waves

2019.08.19 14:02 [637947] smart account 3N5hQm6twVhFgf8mKBkJpNhxwcBnpZsPyni > SELF 0.00000000 Waves

{ "type": 13, "id": "CSrrtvcWK5PNkVHx3SH6JA5dhUhrLqw3QC1kKeP7Rzay", "fee": 1400000, "feeAssetId": null, "timestamp": 1566212582933, "version": 1, "sender": "3N5hQm6twVhFgf8mKBkJpNhxwcBnpZsPyni", "senderPublicKey": "5qEf6v7n4Cm55KWEaSs76eUft3uwLezLoJeBrf6u9BKE", "proofs": [ "2dc65YnvPNEuXmozh1M9C5Vx335HRdYyq8zhBrQ933UWXKs33asnVa5xiWA2exaySp5MFL5HnptLQMV9JQyvwXyf" ], "script": "base64:AAIDAAAAAAAAAAAAAAAGAAAAAAhvd25lcktleQIAAAAFb3duZXIAAAAACndhdmVzVG9rZW4FAAAABHVuaXQBAAAACXBheW1lbnRPZgAAAAEAAAADa2V5CQABLAAAAAICAAAAC3BheW1lbnRfb2ZfBQAAAANrZXkBAAAACHN0YXR1c09mAAAAAQAAAANrZXkJAAEsAAAAAgIAAAAKc3RhdHVzX29mXwUAAAADa2V5AAAAAAVvd25lcgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAACG93bmVyS2V5AQAAABBpc1BheW1lbnRQZW5kaW5nAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAApzdGF0dXNfb2ZfBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAkAAAAAAAACBQAAAAFzAgAAAAdwZW5kaW5nBwAAAAQAAAABaQEAAAAEaW5pdAAAAAIAAAAFb3duZXIAAAAFdG9rZW4DCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIb3duZXJLZXkFAAAABW93bmVyBQAAAANuaWwJAAACAAAAAQIAAAAZb25seSBkYXBwIGl0c2VsZiBjYW4gaW5pdAAAAAFpAQAAABBzZXRXYWl0VG9QYXltZW50AAAAAgAAAANrZXkAAAAHcGF5bWVudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAACHN0YXR1c09mAAAAAQUAAAADa2V5AgAAAAdwZW5kaW5nCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAJcGF5bWVudE9mAAAAAQUAAAADa2V5BQAAAAdwYXltZW50BQAAAANuaWwAAAABaQEAAAADcGF5AAAAAQAAAANrZXkDCQEAAAAQaXNQYXltZW50UGVuZGluZwAAAAEFAAAAA2tleQQAAAAHJG1hdGNoMAgFAAAAAWkAAAAHcGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFhBQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAABYQAAAAdhc3NldElkBQAAAAR1bml0BAAAAARkYXRhCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA5zdGF0dXNfb2ZfdGVzdAIAAAAEcGFpZAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAEZGF0YQkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUrRx0I1kEfUrKN24K0jgaX2zZlFTqNPELAAAAAAAAAAAKBQAAAAp3YXZlc1Rva2VuBQAAAANuaWwJAAACAAAAAQIAAAAYY2FuIG9ubHkgV0FWRVMsIGJ1dCBnb3QgCQAAAgAAAAECAAAAJ3BheW1lbnQgaW4gYXNzZXRUb2tlbnMgbXVzdCBiZSBhdHRhY2hlZAkAAAIAAAABAgAAAChPcmRlciBhbHJlYWR5IGhhcyBiZWVuIHBheWVkIG9yIHJlamVjdGVkAAAAAWkBAAAABnJlamVjdAAAAAEAAAADa2V5AwkBAAAAEGlzUGF5bWVudFBlbmRpbmcAAAABBQAAAANrZXkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAhzdGF0dXNPZgAAAAEFAAAAA2tleQIAAAAIcmVqZWN0ZWQFAAAAA25pbAkAAAIAAAABAgAAAChPcmRlciBhbHJlYWR5IGhhcyBiZWVuIHBheWVkIG9yIHJlamVjdGVkAAAAAOZm6YE=", "chainId": 84, "height": 637947, "spentComplexity": 0 } View: original | compacted Prev: DuX8EgpzV1G3sXRn1b6eJe21NWVb6TQjr4uWYTv8ZfoL Next: AhCShtmr2zhZntHaY2xHSQXqikxVL5gc8Xf9MecTM2hV Diff:
OldNewDifferences
3434
3535
3636 @Callable(i)
37-func pay (key) = if (true)
37+func pay (key) = if (isPaymentPending(key))
3838 then match i.payment {
3939 case a: AttachedPayment =>
4040 if ((a.assetId == unit))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ownerKey = "owner"
55
66 let wavesToken = unit
77
88 func paymentOf (key) = ("payment_of_" + key)
99
1010
1111 func statusOf (key) = ("status_of_" + key)
1212
1313
1414 let owner = addressFromStringValue(value(getString(this, ownerKey)))
1515
1616 func isPaymentPending (key) = match getString(this, ("status_of_" + key)) {
1717 case s: String =>
1818 (s == "pending")
1919 case _ =>
2020 false
2121 }
2222
2323
2424 @Callable(i)
2525 func init (owner,token) = if ((i.caller == this))
2626 then WriteSet([DataEntry(ownerKey, owner)])
2727 else throw("only dapp itself can init")
2828
2929
3030
3131 @Callable(i)
3232 func setWaitToPayment (key,payment) = WriteSet([DataEntry(statusOf(key), "pending"), DataEntry(paymentOf(key), payment)])
3333
3434
3535
3636 @Callable(i)
37-func pay (key) = if (true)
37+func pay (key) = if (isPaymentPending(key))
3838 then match i.payment {
3939 case a: AttachedPayment =>
4040 if ((a.assetId == unit))
4141 then {
4242 let data = WriteSet([DataEntry("status_of_test", "paid")])
4343 ScriptResult(data, TransferSet([ScriptTransfer(Address(base58'3N5hQm6twVhFgf8mKBkJpNhxwcBnpZsPyni'), 10, wavesToken)]))
4444 }
4545 else throw("can only WAVES, but got ")
4646 case _ =>
4747 throw("payment in assetTokens must be attached")
4848 }
4949 else throw("Order already has been payed or rejected")
5050
5151
5252
5353 @Callable(i)
5454 func reject (key) = if (isPaymentPending(key))
5555 then WriteSet([DataEntry(statusOf(key), "rejected")])
5656 else throw("Order already has been payed or rejected")
5757
5858

github/deemru/w8io/026f985 
25.97 ms