tx · B3e53Jcbpd1Us5aDJREbyFVehKQ9ovYgX4jhWxTsigYY

3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL:  -0.01400000 Waves

2020.01.31 08:34 [878117] smart account 3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL > SELF 0.00000000 Waves

{ "type": 13, "id": "B3e53Jcbpd1Us5aDJREbyFVehKQ9ovYgX4jhWxTsigYY", "fee": 1400000, "feeAssetId": null, "timestamp": 1580448953885, "version": 1, "sender": "3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL", "senderPublicKey": "f1NbgbpkRpbigsrHaDkWZAkPgcqd8GM5G5eNmqnTD6z", "proofs": [ "2x22CjDHF3zZaN5S5YWYVoQmuMuzt9FFi1sMTLG1kymE1wGHUJESfCp9KLkvnXaZemhrMqYBQuTthGXYJeLJP1Nc" ], "script": "base64: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AAIJAAEsAAAAAgkAASwAAAACBQAAAAhhZGRyZXNzMgIAAAAEX01BXwkAAlgAAAABBQAAAAJpZAIAAAAHUEVORElORwUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAEYmFuawUAAAAGYW1vdW50BQAAAA1hY2NlcHRlZFRva2VuCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAIYWRkcmVzczEAAAAAAAAAAAAFAAAADWFjY2VwdGVkVG9rZW4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAhhZGRyZXNzMgAAAAAAAAAAAAUAAAANYWNjZXB0ZWRUb2tlbgUAAAADbmlsCQAAAgAAAAECAAAAJVNvcnJ5IG1heGltdW0gNiBwYXJ0aWVzIGF0IHRoZSBtb21lbnQAAAAGaW52b2tlAQAAAA1zaWduQWdyZWVtZW50AAAAAgAAAARoYXNoAAAAC2FncmVlbWVudElkBAAAAAdwYXltZW50CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAZpbnZva2UAAAAHcGF5bWVudAQAAAAGYW1vdW50CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAACaWQJAQAAAAdleHRyYWN0AAAAAQgFAAAABmludm9rZQAAAA10cmFuc2FjdGlvbklkBAAAAAZzaWduZXIJAAJYAAAAAQgIBQAAAAZpbnZva2UAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA5wYXltZW50QXNzZXRJZAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQEAAAAHZXh0cmFjdAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAgV2F2ZXMgaXMgbm90IGFjY2VwdGVkIGFzIHBheW1lbnQDCQEAAAACIT0AAAACBQAAAA5wYXltZW50QXNzZXRJZAUAAAANYWNjZXB0ZWRUb2tlbgkAAAIAAAABAgAAAC9Pbmx5IHBheW1lbnRzIGluIFNJR04gYXJlIGFsbG93ZWQgYXQgdGhlIG1vbWVudAMJAQAAAAIhPQAAAAIFAAAABmFtb3VudAUAAAAMY3VycmVudFByaWNlCQAAAgAAAAECAAAAElRoZSBwcmljZSBpcyB3cm9uZwkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZzaWduZXICAAAABF9NQV8JAAJYAAAAAQUAAAACaWQCAAAABlNJR05FRAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAEYmFuawUAAAAGYW1vdW50BQAAAA1hY2NlcHRlZFRva2VuBQAAAANuaWwAAAAAYbkW5w==", "chainId": 84, "height": 878117, "spentComplexity": 0 } View: original | compacted Prev: 9EBTMrHWCDs9eHBTy6f9g2Ym3a4QHuoAZxZaE3dX4ErU Next: 4o22a1WzoUK8FBRQE6yyjB3PhHex7XUqimZ9DKVHBzAQ Diff:
OldNewDifferences
77
88 let bank = "3MzYLkQ6qCwtbxaYQ2yk1kdUudzbNg4JiTG"
99
10+func countParties (accumulator,addr) = if ((size(addr) > 0))
11+ then (accumulator + 1)
12+ else (accumulator + 0)
13+
14+
1015 @Callable(invoke)
1116 func createAgreement (hash,title,address1,address2,address3,address4,address5,address6) = {
1217 let payment = extract(invoke.payment)
1318 let amount = extract(payment.amount)
1419 let id = extract(invoke.transactionId)
20+ let addressesArray = [address1, address2, address3, address4, address5, address6]
21+ let totalAddresses = {
22+ let $list836876 = addressesArray
23+ let $size836876 = size($list836876)
24+ let $acc0836876 = 0
25+ if (($size836876 == 0))
26+ then $acc0836876
27+ else {
28+ let $acc1836876 = countParties($acc0836876, $list836876[0])
29+ if (($size836876 == 1))
30+ then $acc1836876
31+ else {
32+ let $acc2836876 = countParties($acc1836876, $list836876[1])
33+ if (($size836876 == 2))
34+ then $acc2836876
35+ else {
36+ let $acc3836876 = countParties($acc2836876, $list836876[2])
37+ if (($size836876 == 3))
38+ then $acc3836876
39+ else {
40+ let $acc4836876 = countParties($acc3836876, $list836876[3])
41+ if (($size836876 == 4))
42+ then $acc4836876
43+ else {
44+ let $acc5836876 = countParties($acc4836876, $list836876[4])
45+ if (($size836876 == 5))
46+ then $acc5836876
47+ else {
48+ let $acc6836876 = countParties($acc5836876, $list836876[5])
49+ if (($size836876 == 6))
50+ then $acc6836876
51+ else {
52+ let $acc7836876 = countParties($acc6836876, $list836876[6])
53+ throw("List size exceed 6")
54+ }
55+ }
56+ }
57+ }
58+ }
59+ }
60+ }
61+ }
62+ if ((totalAddresses > 0))
63+ then throw(("Nombre daddress = " + toString(totalAddresses)))
64+ else {
65+ let agreementDataObject = "{id: \"+id+\", title: \"+title+\" hash: \"+hash+\", address1: \"+address1+\", address2: \"+address2+\", address3: \"+address3+\", address4: \"+address4+\", address5: \"+address5+\", address6: \"+address6+\"}"
66+ let paymentAssetId = if (isDefined(payment.assetId))
67+ then extract(payment.assetId)
68+ else throw("Waves is not accepted as payment")
69+ if ((paymentAssetId != acceptedToken))
70+ then throw("Only payments in SIGN are allowed at the moment")
71+ else if ((amount != currentPrice))
72+ then throw("The price is wrong")
73+ else if (if (if (if (if (if ((size(address1) > 0))
74+ then (size(address2) > 0)
75+ else false)
76+ then (size(address3) > 0)
77+ else false)
78+ then (size(address4) > 0)
79+ else false)
80+ then (size(address5) > 0)
81+ else false)
82+ then (size(address6) > 0)
83+ else false)
84+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address5 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address6 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address6), 0, acceptedToken)]))
85+ else if (if (if (if (if ((size(address1) > 0))
86+ then (size(address2) > 0)
87+ else false)
88+ then (size(address3) > 0)
89+ else false)
90+ then (size(address4) > 0)
91+ else false)
92+ then (size(address5) > 0)
93+ else false)
94+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address5 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken)]))
95+ else if (if (if (if ((size(address1) > 0))
96+ then (size(address2) > 0)
97+ else false)
98+ then (size(address3) > 0)
99+ else false)
100+ then (size(address4) > 0)
101+ else false)
102+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken)]))
103+ else if (if (if ((size(address1) > 0))
104+ then (size(address2) > 0)
105+ else false)
106+ then (size(address3) > 0)
107+ else false)
108+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken)]))
109+ else if (if ((size(address1) > 0))
110+ then (size(address2) > 0)
111+ else false)
112+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken)]))
113+ else throw("Sorry maximum 6 parties at the moment")
114+ }
115+ }
116+
117+
118+
119+@Callable(invoke)
120+func signAgreement (hash,agreementId) = {
121+ let payment = extract(invoke.payment)
122+ let amount = extract(payment.amount)
123+ let id = extract(invoke.transactionId)
124+ let signer = toBase58String(invoke.caller.bytes)
15125 let paymentAssetId = if (isDefined(payment.assetId))
16126 then extract(payment.assetId)
17127 else throw("Waves is not accepted as payment")
19129 then throw("Only payments in SIGN are allowed at the moment")
20130 else if ((amount != currentPrice))
21131 then throw("The price is wrong")
22- else if (if (if (if (if (if ((size(address1) > 0))
23- then (size(address2) > 0)
24- else false)
25- then (size(address3) > 0)
26- else false)
27- then (size(address4) > 0)
28- else false)
29- then (size(address5) > 0)
30- else false)
31- then (size(address6) > 0)
32- else false)
33- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_5_" + toBase58String(id)), address5), DataEntry(("status_counterpart_5_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_6_" + toBase58String(id)), address6), DataEntry(("status_counterpart_6_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address6), 0, acceptedToken)]))
34- else if (if (if (if (if ((size(address1) > 0))
35- then (size(address2) > 0)
36- else false)
37- then (size(address3) > 0)
38- else false)
39- then (size(address4) > 0)
40- else false)
41- then (size(address5) > 0)
42- else false)
43- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_5_" + toBase58String(id)), address5), DataEntry(("status_counterpart_5_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken)]))
44- else if (if (if (if ((size(address1) > 0))
45- then (size(address2) > 0)
46- else false)
47- then (size(address3) > 0)
48- else false)
49- then (size(address4) > 0)
50- else false)
51- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken)]))
52- else if (if (if ((size(address1) > 0))
53- then (size(address2) > 0)
54- else false)
55- then (size(address3) > 0)
56- else false)
57- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken)]))
58- else if (if ((size(address1) > 0))
59- then (size(address2) > 0)
60- else false)
61- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken)]))
62- else throw("Sorry maximum 3 parties at the moment")
132+ else ScriptResult(WriteSet([DataEntry(((signer + "_MA_") + toBase58String(id)), "SIGNED")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
63133 }
64134
65135
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let acceptedToken = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
55
66 let currentPrice = 250000000
77
88 let bank = "3MzYLkQ6qCwtbxaYQ2yk1kdUudzbNg4JiTG"
99
10+func countParties (accumulator,addr) = if ((size(addr) > 0))
11+ then (accumulator + 1)
12+ else (accumulator + 0)
13+
14+
1015 @Callable(invoke)
1116 func createAgreement (hash,title,address1,address2,address3,address4,address5,address6) = {
1217 let payment = extract(invoke.payment)
1318 let amount = extract(payment.amount)
1419 let id = extract(invoke.transactionId)
20+ let addressesArray = [address1, address2, address3, address4, address5, address6]
21+ let totalAddresses = {
22+ let $list836876 = addressesArray
23+ let $size836876 = size($list836876)
24+ let $acc0836876 = 0
25+ if (($size836876 == 0))
26+ then $acc0836876
27+ else {
28+ let $acc1836876 = countParties($acc0836876, $list836876[0])
29+ if (($size836876 == 1))
30+ then $acc1836876
31+ else {
32+ let $acc2836876 = countParties($acc1836876, $list836876[1])
33+ if (($size836876 == 2))
34+ then $acc2836876
35+ else {
36+ let $acc3836876 = countParties($acc2836876, $list836876[2])
37+ if (($size836876 == 3))
38+ then $acc3836876
39+ else {
40+ let $acc4836876 = countParties($acc3836876, $list836876[3])
41+ if (($size836876 == 4))
42+ then $acc4836876
43+ else {
44+ let $acc5836876 = countParties($acc4836876, $list836876[4])
45+ if (($size836876 == 5))
46+ then $acc5836876
47+ else {
48+ let $acc6836876 = countParties($acc5836876, $list836876[5])
49+ if (($size836876 == 6))
50+ then $acc6836876
51+ else {
52+ let $acc7836876 = countParties($acc6836876, $list836876[6])
53+ throw("List size exceed 6")
54+ }
55+ }
56+ }
57+ }
58+ }
59+ }
60+ }
61+ }
62+ if ((totalAddresses > 0))
63+ then throw(("Nombre daddress = " + toString(totalAddresses)))
64+ else {
65+ let agreementDataObject = "{id: \"+id+\", title: \"+title+\" hash: \"+hash+\", address1: \"+address1+\", address2: \"+address2+\", address3: \"+address3+\", address4: \"+address4+\", address5: \"+address5+\", address6: \"+address6+\"}"
66+ let paymentAssetId = if (isDefined(payment.assetId))
67+ then extract(payment.assetId)
68+ else throw("Waves is not accepted as payment")
69+ if ((paymentAssetId != acceptedToken))
70+ then throw("Only payments in SIGN are allowed at the moment")
71+ else if ((amount != currentPrice))
72+ then throw("The price is wrong")
73+ else if (if (if (if (if (if ((size(address1) > 0))
74+ then (size(address2) > 0)
75+ else false)
76+ then (size(address3) > 0)
77+ else false)
78+ then (size(address4) > 0)
79+ else false)
80+ then (size(address5) > 0)
81+ else false)
82+ then (size(address6) > 0)
83+ else false)
84+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address5 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address6 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address6), 0, acceptedToken)]))
85+ else if (if (if (if (if ((size(address1) > 0))
86+ then (size(address2) > 0)
87+ else false)
88+ then (size(address3) > 0)
89+ else false)
90+ then (size(address4) > 0)
91+ else false)
92+ then (size(address5) > 0)
93+ else false)
94+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address5 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken)]))
95+ else if (if (if (if ((size(address1) > 0))
96+ then (size(address2) > 0)
97+ else false)
98+ then (size(address3) > 0)
99+ else false)
100+ then (size(address4) > 0)
101+ else false)
102+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address4 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken)]))
103+ else if (if (if ((size(address1) > 0))
104+ then (size(address2) > 0)
105+ else false)
106+ then (size(address3) > 0)
107+ else false)
108+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address3 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken)]))
109+ else if (if ((size(address1) > 0))
110+ then (size(address2) > 0)
111+ else false)
112+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((address1 + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((address2 + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken)]))
113+ else throw("Sorry maximum 6 parties at the moment")
114+ }
115+ }
116+
117+
118+
119+@Callable(invoke)
120+func signAgreement (hash,agreementId) = {
121+ let payment = extract(invoke.payment)
122+ let amount = extract(payment.amount)
123+ let id = extract(invoke.transactionId)
124+ let signer = toBase58String(invoke.caller.bytes)
15125 let paymentAssetId = if (isDefined(payment.assetId))
16126 then extract(payment.assetId)
17127 else throw("Waves is not accepted as payment")
18128 if ((paymentAssetId != acceptedToken))
19129 then throw("Only payments in SIGN are allowed at the moment")
20130 else if ((amount != currentPrice))
21131 then throw("The price is wrong")
22- else if (if (if (if (if (if ((size(address1) > 0))
23- then (size(address2) > 0)
24- else false)
25- then (size(address3) > 0)
26- else false)
27- then (size(address4) > 0)
28- else false)
29- then (size(address5) > 0)
30- else false)
31- then (size(address6) > 0)
32- else false)
33- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_5_" + toBase58String(id)), address5), DataEntry(("status_counterpart_5_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_6_" + toBase58String(id)), address6), DataEntry(("status_counterpart_6_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address6), 0, acceptedToken)]))
34- else if (if (if (if (if ((size(address1) > 0))
35- then (size(address2) > 0)
36- else false)
37- then (size(address3) > 0)
38- else false)
39- then (size(address4) > 0)
40- else false)
41- then (size(address5) > 0)
42- else false)
43- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_5_" + toBase58String(id)), address5), DataEntry(("status_counterpart_5_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address5), 0, acceptedToken)]))
44- else if (if (if (if ((size(address1) > 0))
45- then (size(address2) > 0)
46- else false)
47- then (size(address3) > 0)
48- else false)
49- then (size(address4) > 0)
50- else false)
51- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_4_" + toBase58String(id)), address4), DataEntry(("status_counterpart_4_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address4), 0, acceptedToken)]))
52- else if (if (if ((size(address1) > 0))
53- then (size(address2) > 0)
54- else false)
55- then (size(address3) > 0)
56- else false)
57- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_3_" + toBase58String(id)), address3), DataEntry(("status_counterpart_3_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address3), 0, acceptedToken)]))
58- else if (if ((size(address1) > 0))
59- then (size(address2) > 0)
60- else false)
61- then ScriptResult(WriteSet([DataEntry(("title_" + toBase58String(id)), title), DataEntry(("hash_" + toBase58String(id)), hash), DataEntry(("id_" + toBase58String(id)), id), DataEntry(("counterpart_1_" + toBase58String(id)), address1), DataEntry(("status_counterpart_1_" + toBase58String(id)), "PENDING"), DataEntry(("counterpart_2_" + toBase58String(id)), address2), DataEntry(("status_counterpart_2_" + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(address1), 0, acceptedToken), ScriptTransfer(addressFromStringValue(address2), 0, acceptedToken)]))
62- else throw("Sorry maximum 3 parties at the moment")
132+ else ScriptResult(WriteSet([DataEntry(((signer + "_MA_") + toBase58String(id)), "SIGNED")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
63133 }
64134
65135

github/deemru/w8io/873ac7e 
45.39 ms