tx · GCFJER6U7ihPFSghzdDeSiv12rYaWWxfncKS7eMGk8w8

3MwyXzxpp65TzAvdJxnexgz9G5kFkcqGLMF:  -0.01400000 Waves

2019.06.27 22:35 [560963] smart account 3MwyXzxpp65TzAvdJxnexgz9G5kFkcqGLMF > SELF 0.00000000 Waves

{ "type": 13, "id": "GCFJER6U7ihPFSghzdDeSiv12rYaWWxfncKS7eMGk8w8", "fee": 1400000, "feeAssetId": null, "timestamp": 1561664198915, "version": 1, "sender": "3MwyXzxpp65TzAvdJxnexgz9G5kFkcqGLMF", "senderPublicKey": "7pDDrtFSiQHYSxpdxuBQVCeBQBwa3fFWMBmtJ85aytGX", "proofs": [ "65zumoHHdehyhDAv8NjLfQKe95BEnq119rjTBHJbgpNhSwsFKwgWkZ4JCYk57LNpuWQQ8KabkTn3KTD9zYjatziz" ], "script": "base64:AAIDAAAAAAAAAAAAAAAEAQAAABNnZXRBZGRyZXNzRnJvbUVudHJ5AAAAAQAAAANrZXkEAAAAB2FkZHJlc3MEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAA3N0cgUAAAAHJG1hdGNoMAUAAAADc3RyCQAAAgAAAAECAAAAFkZpcnN0IGFkZHJlc3Mgbm90IHNldCEFAAAAB2FkZHJlc3MBAAAAGmdldEFkZHJlc3NGcm9tRW50cnlPckVtcHR5AAAAAQAAAANrZXkEAAAAB2FkZHJlc3MEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAA3N0cgUAAAAHJG1hdGNoMAUAAAADc3RyAgAAAAAFAAAAB2FkZHJlc3MBAAAADWdldEludEZyb21LZXkAAAABAAAAA2tleQQAAAASZmlyc3RBZGRyZXNzQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFuBQAAAAckbWF0Y2gwBQAAAAFuAAAAAAAAAAAABQAAABJmaXJzdEFkZHJlc3NBbW91bnQBAAAAJmNoZWNrSWZNZXRob2RDYWxsQ29tZXNGcm9tVmFsaWRBY2NvdW50AAAAAQAAAAZzZW5kZXIEAAAADGZpcnN0QWRkcmVzcwkBAAAAE2dldEFkZHJlc3NGcm9tRW50cnkAAAABAgAAAAxmaXJzdEFkZHJlc3MEAAAADXNlY29uZEFkZHJlc3MJAQAAABNnZXRBZGRyZXNzRnJvbUVudHJ5AAAAAQIAAAANc2Vjb25kQWRkcmVzcwMDCQEAAAACIT0AAAACBQAAAAxmaXJzdEFkZHJlc3MFAAAABnNlbmRlcgkBAAAAAiE9AAAAAgUAAAANc2Vjb25kQWRkcmVzcwUAAAAGc2VuZGVyBwkAAAIAAAABCQABLAAAAAICAAAAIk1ldGhvZCBjYWxsIGZyb20gaW52YWxpZCBhY2NvdW50OiAFAAAABnNlbmRlcgYAAAAGAAAAAWkBAAAADWNsYWltQ2hlYXRpbmcAAAAGAAAACnJlY2lwaWVudEEAAAAQYW1vdW50UmVjaXBpZW50QQAAAApyZWNpcGllbnRCAAAAEGFtb3VudFJlY2lwaWVudEIAAAAJdGltZXN0YW1wAAAACXNpZ25hdHVyZQQAAAAGc2VuZGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC3ZhbGlkU2VuZGVyCQEAAAAmY2hlY2tJZk1ldGhvZENhbGxDb21lc0Zyb21WYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAADm9yaWdpbmFsU3RyaW5nCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACnJlY2lwaWVudEEJAAGkAAAAAQUAAAAQYW1vdW50UmVjaXBpZW50QQUAAAAKcmVjaXBpZW50QgkAAaQAAAABBQAAABBhbW91bnRSZWNpcGllbnRCCQABpAAAAAEFAAAACXRpbWVzdGFtcAQAAAALY291bnRlclBhcnQJAQAAABNnZXRBZGRyZXNzRnJvbUVudHJ5AAAAAQkAASwAAAACBQAAAAZzZW5kZXICAAAADF9jb3VudGVycGFydAQAAAATc2lnbmVkQnlDb3VudGVycGFydAkAAfQAAAADCQACWQAAAAEFAAAADm9yaWdpbmFsU3RyaW5nCQACWQAAAAEFAAAACXNpZ25hdHVyZQkAAlkAAAABBQAAAAtjb3VudGVyUGFydAQAAAAMb2xkVGltZXN0YW1wCQEAAAANZ2V0SW50RnJvbUtleQAAAAECAAAACXRpbWVzdGFtcAMDAwUAAAALdmFsaWRTZW5kZXIFAAAAE3NpZ25lZEJ5Q291bnRlcnBhcnQHCQAAZgAAAAIFAAAACXRpbWVzdGFtcAUAAAAMb2xkVGltZXN0YW1wBwkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABkAAAAAgUAAAAQYW1vdW50UmVjaXBpZW50QQUAAAAQYW1vdW50UmVjaXBpZW50QgUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAAJ1dyb25nIHNpZ25hdHVyZSBvciB0aW1lc3RhbXAgbm90IG5ld2VyIQAAAAFpAQAAAAxjb25maXJtQ2xvc2UAAAAABAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALdmFsaWRTZW5kZXIJAQAAACZjaGVja0lmTWV0aG9kQ2FsbENvbWVzRnJvbVZhbGlkQWNjb3VudAAAAAEFAAAABnNlbmRlcgQAAAAJaW5pdGlhdG9yCQAEHQAAAAIFAAAABHRoaXMCAAAAFGNsb3NpbmdfaW5pdGlhdGVkX2J5AwMJAQAAAAIhPQAAAAIFAAAABnNlbmRlcgUAAAAJaW5pdGlhdG9yBQAAAAt2YWxpZFNlbmRlcgcEAAAADGZpcnN0QWRkcmVzcwkBAAAAE2dldEFkZHJlc3NGcm9tRW50cnkAAAABAgAAAAxmaXJzdEFkZHJlc3MEAAAADXNlY29uZEFkZHJlc3MJAQAAABNnZXRBZGRyZXNzRnJvbUVudHJ5AAAAAQIAAAANc2Vjb25kQWRkcmVzcwQAAAASZmlyc3RBZGRyZXNzQW1vdW50CQEAAAANZ2V0SW50RnJvbUtleQAAAAEFAAAADGZpcnN0QWRkcmVzcwQAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAkBAAAADWdldEludEZyb21LZXkAAAABBQAAAA1zZWNvbmRBZGRyZXNzCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAxmaXJzdEFkZHJlc3MFAAAAEmZpcnN0QWRkcmVzc0Ftb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAANc2Vjb25kQWRkcmVzcwUAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAAMUluaXRpYXRvciBjYW4gbm90IGNvbmZpcm0gY2xvc2luZyBvZiB0aGUgY2hhbm5lbCEAAAABaQEAAAASY2xvc2VBZnRlclRpbWVsb2NrAAAAAAQAAAAGc2VuZGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC3ZhbGlkU2VuZGVyCQEAAAAmY2hlY2tJZk1ldGhvZENhbGxDb21lc0Zyb21WYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAACHRpbWVsb2NrCQEAAAANZ2V0SW50RnJvbUtleQAAAAECAAAACHRpbWVsb2NrAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAh0aW1lbG9jawUAAAALdmFsaWRTZW5kZXIHBAAAAAxmaXJzdEFkZHJlc3MJAQAAABNnZXRBZGRyZXNzRnJvbUVudHJ5AAAAAQIAAAAMZmlyc3RBZGRyZXNzBAAAAA1zZWNvbmRBZGRyZXNzCQEAAAATZ2V0QWRkcmVzc0Zyb21FbnRyeQAAAAECAAAADXNlY29uZEFkZHJlc3MEAAAAEmZpcnN0QWRkcmVzc0Ftb3VudAkBAAAADWdldEludEZyb21LZXkAAAABBQAAAAxmaXJzdEFkZHJlc3MEAAAAE3NlY29uZEFkZHJlc3NBbW91bnQJAQAAAA1nZXRJbnRGcm9tS2V5AAAAAQUAAAANc2Vjb25kQWRkcmVzcwkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAMZmlyc3RBZGRyZXNzBQAAABJmaXJzdEFkZHJlc3NBbW91bnQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAADXNlY29uZEFkZHJlc3MFAAAAE3NlY29uZEFkZHJlc3NBbW91bnQFAAAABHVuaXQFAAAAA25pbAkAAAIAAAABAgAAABVUaW1lbG9jayBzdGlsbCB2YWxpZCEAAAABaQEAAAAOaW5pdGlhbENsb3NpbmcAAAAGAAAACnJlY2lwaWVudEEAAAAQYW1vdW50UmVjaXBpZW50QQAAAApyZWNpcGllbnRCAAAAEGFtb3VudFJlY2lwaWVudEIAAAAJdGltZXN0YW1wAAAACXNpZ25hdHVyZQQAAAAGc2VuZGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC3ZhbGlkU2VuZGVyCQEAAAAmY2hlY2tJZk1ldGhvZENhbGxDb21lc0Zyb21WYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAADm9yaWdpbmFsU3RyaW5nAQAAAFozTXdSWmRxTXlkRTdTaFNZTXZURkFlVEVZbWlCbmFNYU5uMTgwMDNOQlB2ZldWRkpUcE1RdWRBb0Rkc3JoNlFHc0VZMzVBZ3AxMTIwMDE1NjE1NzY0MzI4MTMEAAAAC2NvdW50ZXJQYXJ0CQEAAAATZ2V0QWRkcmVzc0Zyb21FbnRyeQAAAAEJAAEsAAAAAgUAAAAGc2VuZGVyAgAAAAxfY291bnRlcnBhcnQEAAAAE3NpZ25lZEJ5Q291bnRlcnBhcnQJAAH0AAAAAwUAAAAOb3JpZ2luYWxTdHJpbmcJAAGbAAAAAQUAAAAJc2lnbmF0dXJlCQACWQAAAAEFAAAAC2NvdW50ZXJQYXJ0BAAAAA50aW1lbG9ja1BlcmlvZAkBAAAADWdldEludEZyb21LZXkAAAABAgAAAA50aW1lbG9ja1BlcmlvZAMDBQAAABNzaWduZWRCeUNvdW50ZXJwYXJ0BQAAAAt2YWxpZFNlbmRlcgcJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACnJlY2lwaWVudEEFAAAAEGFtb3VudFJlY2lwaWVudEEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACnJlY2lwaWVudEIFAAAAEGFtb3VudFJlY2lwaWVudEIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFGNsb3NpbmdfaW5pdGlhdGVkX2J5BQAAAAZzZW5kZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAACXRpbWVzdGFtcAUAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAh0aW1lbG9jawkAAGQAAAACBQAAAAZoZWlnaHQFAAAADnRpbWVsb2NrUGVyaW9kBQAAAANuaWwJAAACAAAAAQIAAAAQV3Jvbmcgc2lnbmF0dXJlIQAAAAFpAQAAAARmdW5kAAAAAAQAAAAGc2VuZGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC3ZhbGlkU2VuZGVyCQEAAAAmY2hlY2tJZk1ldGhvZENhbGxDb21lc0Zyb21WYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAJYW1vdW50S2V5CQABLAAAAAIFAAAABnNlbmRlcgIAAAAHX2Ftb3VudAQAAAANY3VycmVudEFtb3VudAkBAAAADWdldEludEZyb21LZXkAAAABBQAAAAlhbW91bnRLZXkDBQAAAAt2YWxpZFNlbmRlcgMJAQAAAAIhPQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAoVXNlciBoYXMgYWxyZWFkeSBmdW5kZWQgcGF5bWVudCBjaGFubmVsIQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAJYW1vdW50S2V5CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAJFdyb25nIGFjY291bnQgdHJpZXMgdG8gZnVuZCBjaGFubmVsIQAAAAFpAQAAAARpbml0AAAABQAAAAxmaXJzdEFkZHJlc3MAAAAOZmlyc3RQdWJsaWNLZXkAAAANc2Vjb25kQWRkcmVzcwAAAA9zZWNvbmRQdWJsaWNLZXkAAAAOdGltZWxvY2tQZXJpb2QEAAAAE2N1cnJlbnRGaXJzdEFkZHJlc3MJAQAAABpnZXRBZGRyZXNzRnJvbUVudHJ5T3JFbXB0eQAAAAEJAAEsAAAAAgUAAAAMZmlyc3RBZGRyZXNzAgAAAAxfY291bnRlcnBhcnQEAAAAFGN1cnJlbnRTZWNvbmRBZGRyZXNzCQEAAAAaZ2V0QWRkcmVzc0Zyb21FbnRyeU9yRW1wdHkAAAABCQABLAAAAAIFAAAADXNlY29uZEFkZHJlc3MCAAAADF9jb3VudGVycGFydAMDCQEAAAACIT0AAAACBQAAABNjdXJyZW50Rmlyc3RBZGRyZXNzAgAAAAAGCQEAAAACIT0AAAACBQAAABRjdXJyZW50U2Vjb25kQWRkcmVzcwIAAAAACQAAAgAAAAECAAAAG0NvbnRyYWN0IGFscmVhZHkgaW5pdGlhdGVkIQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAMZmlyc3RBZGRyZXNzBQAAAAxmaXJzdEFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADXNlY29uZEFkZHJlc3MFAAAADXNlY29uZEFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAMZmlyc3RBZGRyZXNzAgAAAAxfY291bnRlcnBhcnQFAAAAD3NlY29uZFB1YmxpY0tleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1zZWNvbmRBZGRyZXNzAgAAAAxfY291bnRlcnBhcnQFAAAADmZpcnN0UHVibGljS2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA50aW1lbG9ja1BlcmlvZAUAAAAOdGltZWxvY2tQZXJpb2QFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4Bp4IY0U=", "chainId": 84, "height": 560963, "spentComplexity": 0 } View: original | compacted Prev: EFoWEcepJrzq1uS7N5ZCGSCaer5VHcqwz861zwF5xEwZ Next: 2s3h14MpDKwzrbMv2NXQumLzFCCqh2Gmb4eb5puWWTk6 Diff:
OldNewDifferences
117117 func initialClosing (o,p,q,r,s,t) = {
118118 let k = toBase58String(n.caller.bytes)
119119 let u = j(k)
120- let v = ((((o + toString(p)) + q) + toString(r)) + toString(s))
120+ let v = base58'93M7wAymK2hDNWAzYkHZcWgiL2Cey4ZvTtfLPTFyhf23yVE3H1ikTSpBuHkSU5vi9qXbXWiJmhxamKyUuA17SxgGpWvwy1MqwBLDh8c5hh6iudfiY3mj5UeGM4n'
121121 let w = a((k + "_counterpart"))
122- let x = sigVerify(toBytes(v), toBytes(t), fromBase58String(w))
122+ let x = sigVerify(v, toBytes(t), fromBase58String(w))
123123 let C = g("timelockPeriod")
124124 if (if (x)
125125 then u
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = {
66 let d = getString(this, b)
77 if ($isInstanceOf(d, "String"))
88 then {
99 let e = d
1010 e
1111 }
1212 else throw("First address not set!")
1313 }
1414 c
1515 }
1616
1717
1818 func f (b) = {
1919 let c = {
2020 let d = getString(this, b)
2121 if ($isInstanceOf(d, "String"))
2222 then {
2323 let e = d
2424 e
2525 }
2626 else ""
2727 }
2828 c
2929 }
3030
3131
3232 func g (b) = {
3333 let h = {
3434 let d = getInteger(this, b)
3535 if ($isInstanceOf(d, "Int"))
3636 then {
3737 let i = d
3838 i
3939 }
4040 else 0
4141 }
4242 h
4343 }
4444
4545
4646 func j (k) = {
4747 let l = a("firstAddress")
4848 let m = a("secondAddress")
4949 if (if ((l != k))
5050 then (m != k)
5151 else false)
5252 then throw(("Method call from invalid account: " + k))
5353 else true
5454 }
5555
5656
5757 @Callable(n)
5858 func claimCheating (o,p,q,r,s,t) = {
5959 let k = toBase58String(n.caller.bytes)
6060 let u = j(k)
6161 let v = ((((o + toString(p)) + q) + toString(r)) + toString(s))
6262 let w = a((k + "_counterpart"))
6363 let x = sigVerify(fromBase58String(v), fromBase58String(t), fromBase58String(w))
6464 let y = g("timestamp")
6565 if (if (if (u)
6666 then x
6767 else false)
6868 then (s > y)
6969 else false)
7070 then TransferSet([ScriptTransfer(n.caller, (p + r), unit)])
7171 else throw("Wrong signature or timestamp not newer!")
7272 }
7373
7474
7575
7676 @Callable(n)
7777 func confirmClose () = {
7878 let k = toBase58String(n.caller.bytes)
7979 let u = j(k)
8080 let z = getString(this, "closing_initiated_by")
8181 if (if ((k != z))
8282 then u
8383 else false)
8484 then {
8585 let l = a("firstAddress")
8686 let m = a("secondAddress")
8787 let h = g(l)
8888 let A = g(m)
8989 TransferSet([ScriptTransfer(Address(fromBase58String(l)), h, unit), ScriptTransfer(Address(fromBase58String(m)), A, unit)])
9090 }
9191 else throw("Initiator can not confirm closing of the channel!")
9292 }
9393
9494
9595
9696 @Callable(n)
9797 func closeAfterTimelock () = {
9898 let k = toBase58String(n.caller.bytes)
9999 let u = j(k)
100100 let B = g("timelock")
101101 if (if ((height > B))
102102 then u
103103 else false)
104104 then {
105105 let l = a("firstAddress")
106106 let m = a("secondAddress")
107107 let h = g(l)
108108 let A = g(m)
109109 TransferSet([ScriptTransfer(Address(fromBase58String(l)), h, unit), ScriptTransfer(Address(fromBase58String(m)), A, unit)])
110110 }
111111 else throw("Timelock still valid!")
112112 }
113113
114114
115115
116116 @Callable(n)
117117 func initialClosing (o,p,q,r,s,t) = {
118118 let k = toBase58String(n.caller.bytes)
119119 let u = j(k)
120- let v = ((((o + toString(p)) + q) + toString(r)) + toString(s))
120+ let v = base58'93M7wAymK2hDNWAzYkHZcWgiL2Cey4ZvTtfLPTFyhf23yVE3H1ikTSpBuHkSU5vi9qXbXWiJmhxamKyUuA17SxgGpWvwy1MqwBLDh8c5hh6iudfiY3mj5UeGM4n'
121121 let w = a((k + "_counterpart"))
122- let x = sigVerify(toBytes(v), toBytes(t), fromBase58String(w))
122+ let x = sigVerify(v, toBytes(t), fromBase58String(w))
123123 let C = g("timelockPeriod")
124124 if (if (x)
125125 then u
126126 else false)
127127 then WriteSet([DataEntry(o, p), DataEntry(q, r), DataEntry("closing_initiated_by", k), DataEntry("timestamp", s), DataEntry("timelock", (height + C))])
128128 else throw("Wrong signature!")
129129 }
130130
131131
132132
133133 @Callable(n)
134134 func fund () = {
135135 let k = toBase58String(n.caller.bytes)
136136 let u = j(k)
137137 let D = extract(n.payment)
138138 let E = (k + "_amount")
139139 let F = g(E)
140140 if (u)
141141 then if ((F != 0))
142142 then throw("User has already funded payment channel!")
143143 else WriteSet([DataEntry(E, (F + D.amount))])
144144 else throw("Wrong account tries to fund channel!")
145145 }
146146
147147
148148
149149 @Callable(n)
150150 func init (l,G,m,H,C) = {
151151 let I = f((l + "_counterpart"))
152152 let J = f((m + "_counterpart"))
153153 if (if ((I != ""))
154154 then true
155155 else (J != ""))
156156 then throw("Contract already initiated!")
157157 else WriteSet([DataEntry("firstAddress", l), DataEntry("secondAddress", m), DataEntry((l + "_counterpart"), H), DataEntry((m + "_counterpart"), G), DataEntry("timelockPeriod", C)])
158158 }
159159
160160
161161 @Verifier(K)
162162 func L () = {
163163 let d = K
164164 true
165165 }
166166

github/deemru/w8io/873ac7e 
68.48 ms