tx · 6HiT14LRcwUt3Mf6ZhaeHHTiNDv9S9wjQSJCAusWrsLt

3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL:  -0.01400000 Waves

2020.01.31 10:48 [878238] smart account 3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL > SELF 0.00000000 Waves

{ "type": 13, "id": "6HiT14LRcwUt3Mf6ZhaeHHTiNDv9S9wjQSJCAusWrsLt", "fee": 1400000, "feeAssetId": null, "timestamp": 1580456965086, "version": 1, "sender": "3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL", "senderPublicKey": "f1NbgbpkRpbigsrHaDkWZAkPgcqd8GM5G5eNmqnTD6z", "proofs": [ "5ynR9zi7oxoPVLDkcdj2CKw458tYK6KQznBKsXzoXcq5M6YVhRxsLPjZHt2NLJfuq8DfDTwXD1TcDD122Pa7z6Bd" ], "script": "base64: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A25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAABGJhbmsFAAAABmFtb3VudAUAAAANYWNjZXB0ZWRUb2tlbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEJAAGRAAAAAgUAAAAOYWRkcmVzc2VzQXJyYXkAAAAAAAAAAAAAAAAAAAAAAAAFAAAADWFjY2VwdGVkVG9rZW4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQABkQAAAAIFAAAADmFkZHJlc3Nlc0FycmF5AAAAAAAAAAABAAAAAAAAAAAABQAAAA1hY2NlcHRlZFRva2VuCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQkAAZEAAAACBQAAAA5hZGRyZXNzZXNBcnJheQAAAAAAAAAAAgAAAAAAAAAAAAUAAAANYWNjZXB0ZWRUb2tlbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEJAAGRAAAAAgUAAAAOYWRkcmVzc2VzQXJyYXkAAAAAAAAAAAMAAAAAAAAAAAAFAAAADWFjY2VwdGVkVG9rZW4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQABkQAAAAIFAAAADmFkZHJlc3Nlc0FycmF5AAAAAAAAAAAEAAAAAAAAAAAABQAAAA1hY2NlcHRlZFRva2VuCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQkAAZEAAAACBQAAAA5hZGRyZXNzZXNBcnJheQAAAAAA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", "chainId": 84, "height": 878238, "spentComplexity": 0 } View: original | compacted Prev: BxyyWWHJuuWU7xds4xYZksNRMpYX7UGfRQZ1yEpqtmqX Next: CB8oajXH6WGn4B3Hv2e44hdGK1rpATdEF7VD5o9Vfs5d Diff:
OldNewDifferences
1313
1414
1515 @Callable(invoke)
16-func createAgreement (hash,title,address1,address2,address3,address4,address5,address6) = {
16+func createAgreement (hash,title,addresses) = {
1717 let payment = extract(invoke.payment)
1818 let amount = extract(payment.amount)
1919 let id = extract(invoke.transactionId)
20- let addressesArray = [address1, address2, address3, address4, address5, address6]
20+ let addressesArray = split(addresses, "|")
2121 let totalAddresses = {
22- let $list836876 = addressesArray
23- let $size836876 = size($list836876)
24- let $acc0836876 = 0
25- if (($size836876 == 0))
26- then $acc0836876
22+ let $list708748 = addressesArray
23+ let $size708748 = size($list708748)
24+ let $acc0708748 = 0
25+ if (($size708748 == 0))
26+ then $acc0708748
2727 else {
28- let $acc1836876 = countParties($acc0836876, $list836876[0])
29- if (($size836876 == 1))
30- then $acc1836876
28+ let $acc1708748 = countParties($acc0708748, $list708748[0])
29+ if (($size708748 == 1))
30+ then $acc1708748
3131 else {
32- let $acc2836876 = countParties($acc1836876, $list836876[1])
33- if (($size836876 == 2))
34- then $acc2836876
32+ let $acc2708748 = countParties($acc1708748, $list708748[1])
33+ if (($size708748 == 2))
34+ then $acc2708748
3535 else {
36- let $acc3836876 = countParties($acc2836876, $list836876[2])
37- if (($size836876 == 3))
38- then $acc3836876
36+ let $acc3708748 = countParties($acc2708748, $list708748[2])
37+ if (($size708748 == 3))
38+ then $acc3708748
3939 else {
40- let $acc4836876 = countParties($acc3836876, $list836876[3])
41- if (($size836876 == 4))
42- then $acc4836876
40+ let $acc4708748 = countParties($acc3708748, $list708748[3])
41+ if (($size708748 == 4))
42+ then $acc4708748
4343 else {
44- let $acc5836876 = countParties($acc4836876, $list836876[4])
45- if (($size836876 == 5))
46- then $acc5836876
44+ let $acc5708748 = countParties($acc4708748, $list708748[4])
45+ if (($size708748 == 5))
46+ then $acc5708748
4747 else {
48- let $acc6836876 = countParties($acc5836876, $list836876[5])
49- if (($size836876 == 6))
50- then $acc6836876
48+ let $acc6708748 = countParties($acc5708748, $list708748[5])
49+ if (($size708748 == 6))
50+ then $acc6708748
5151 else {
52- let $acc7836876 = countParties($acc6836876, $list836876[6])
52+ let $acc7708748 = countParties($acc6708748, $list708748[6])
5353 throw("List size exceed 6")
5454 }
5555 }
5959 }
6060 }
6161 }
62- let agreementDataObject = (((((((((((((((((("{id: '" + toBase58String(id)) + "', title: '") + title) + "' hash: '") + hash) + "', address1: '") + address1) + "', address2: '") + address2) + "', address3: '") + address3) + "', address4: '") + address4) + "', address5: '") + address5) + "', address6: '") + address6) + "'}")
62+ let agreementDataObject = (((((((((((((((((("{id: '" + toBase58String(id)) + "', title: '") + title) + "' hash: '") + hash) + "', address1: '") + addressesArray[0]) + "', address2: '") + addressesArray[1]) + "', address3: '") + addressesArray[2]) + "', address4: '") + addressesArray[3]) + "', address5: '") + addressesArray[4]) + "', address6: '") + addressesArray[5]) + "'}")
6363 let paymentAssetId = if (isDefined(payment.assetId))
6464 then extract(payment.assetId)
6565 else throw("Waves is not accepted as payment")
6868 else if ((amount != currentPrice))
6969 then throw("The price is wrong")
7070 else if ((totalAddresses == 6))
71- 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)]))
71+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[4] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[5] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[4]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[5]), 0, acceptedToken)]))
7272 else if ((totalAddresses == 5))
73- 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)]))
73+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[4] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[4]), 0, acceptedToken)]))
7474 else if ((totalAddresses == 4))
75- 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)]))
75+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken)]))
7676 else if ((totalAddresses == 3))
77- 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)]))
77+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken)]))
7878 else if ((totalAddresses == 2))
79- 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)]))
79+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken)]))
8080 else throw("Needs 2 to 6 parties addresses")
8181 }
8282
8888 let amount = extract(payment.amount)
8989 let id = extract(invoke.transactionId)
9090 let signer = toBase58String(invoke.caller.bytes)
91+ let signingRequestExist = match getString(this, ((signer + "_MA_") + toBase58String(id))) {
92+ case s: String =>
93+ s
94+ case _ =>
95+ throw("There is no corresponding signing request")
96+ }
9197 let paymentAssetId = if (isDefined(payment.assetId))
9298 then extract(payment.assetId)
9399 else throw("Waves is not accepted as payment")
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
1010 func countParties (accumulator,addr) = if ((size(addr) > 0))
1111 then (accumulator + 1)
1212 else (accumulator + 0)
1313
1414
1515 @Callable(invoke)
16-func createAgreement (hash,title,address1,address2,address3,address4,address5,address6) = {
16+func createAgreement (hash,title,addresses) = {
1717 let payment = extract(invoke.payment)
1818 let amount = extract(payment.amount)
1919 let id = extract(invoke.transactionId)
20- let addressesArray = [address1, address2, address3, address4, address5, address6]
20+ let addressesArray = split(addresses, "|")
2121 let totalAddresses = {
22- let $list836876 = addressesArray
23- let $size836876 = size($list836876)
24- let $acc0836876 = 0
25- if (($size836876 == 0))
26- then $acc0836876
22+ let $list708748 = addressesArray
23+ let $size708748 = size($list708748)
24+ let $acc0708748 = 0
25+ if (($size708748 == 0))
26+ then $acc0708748
2727 else {
28- let $acc1836876 = countParties($acc0836876, $list836876[0])
29- if (($size836876 == 1))
30- then $acc1836876
28+ let $acc1708748 = countParties($acc0708748, $list708748[0])
29+ if (($size708748 == 1))
30+ then $acc1708748
3131 else {
32- let $acc2836876 = countParties($acc1836876, $list836876[1])
33- if (($size836876 == 2))
34- then $acc2836876
32+ let $acc2708748 = countParties($acc1708748, $list708748[1])
33+ if (($size708748 == 2))
34+ then $acc2708748
3535 else {
36- let $acc3836876 = countParties($acc2836876, $list836876[2])
37- if (($size836876 == 3))
38- then $acc3836876
36+ let $acc3708748 = countParties($acc2708748, $list708748[2])
37+ if (($size708748 == 3))
38+ then $acc3708748
3939 else {
40- let $acc4836876 = countParties($acc3836876, $list836876[3])
41- if (($size836876 == 4))
42- then $acc4836876
40+ let $acc4708748 = countParties($acc3708748, $list708748[3])
41+ if (($size708748 == 4))
42+ then $acc4708748
4343 else {
44- let $acc5836876 = countParties($acc4836876, $list836876[4])
45- if (($size836876 == 5))
46- then $acc5836876
44+ let $acc5708748 = countParties($acc4708748, $list708748[4])
45+ if (($size708748 == 5))
46+ then $acc5708748
4747 else {
48- let $acc6836876 = countParties($acc5836876, $list836876[5])
49- if (($size836876 == 6))
50- then $acc6836876
48+ let $acc6708748 = countParties($acc5708748, $list708748[5])
49+ if (($size708748 == 6))
50+ then $acc6708748
5151 else {
52- let $acc7836876 = countParties($acc6836876, $list836876[6])
52+ let $acc7708748 = countParties($acc6708748, $list708748[6])
5353 throw("List size exceed 6")
5454 }
5555 }
5656 }
5757 }
5858 }
5959 }
6060 }
6161 }
62- let agreementDataObject = (((((((((((((((((("{id: '" + toBase58String(id)) + "', title: '") + title) + "' hash: '") + hash) + "', address1: '") + address1) + "', address2: '") + address2) + "', address3: '") + address3) + "', address4: '") + address4) + "', address5: '") + address5) + "', address6: '") + address6) + "'}")
62+ let agreementDataObject = (((((((((((((((((("{id: '" + toBase58String(id)) + "', title: '") + title) + "' hash: '") + hash) + "', address1: '") + addressesArray[0]) + "', address2: '") + addressesArray[1]) + "', address3: '") + addressesArray[2]) + "', address4: '") + addressesArray[3]) + "', address5: '") + addressesArray[4]) + "', address6: '") + addressesArray[5]) + "'}")
6363 let paymentAssetId = if (isDefined(payment.assetId))
6464 then extract(payment.assetId)
6565 else throw("Waves is not accepted as payment")
6666 if ((paymentAssetId != acceptedToken))
6767 then throw("Only payments in SIGN are allowed at the moment")
6868 else if ((amount != currentPrice))
6969 then throw("The price is wrong")
7070 else if ((totalAddresses == 6))
71- 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)]))
71+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[4] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[5] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[4]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[5]), 0, acceptedToken)]))
7272 else if ((totalAddresses == 5))
73- 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)]))
73+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[4] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[4]), 0, acceptedToken)]))
7474 else if ((totalAddresses == 4))
75- 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)]))
75+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[3] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[3]), 0, acceptedToken)]))
7676 else if ((totalAddresses == 3))
77- 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)]))
77+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[2] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[2]), 0, acceptedToken)]))
7878 else if ((totalAddresses == 2))
79- 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)]))
79+ then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(id)), title), DataEntry(("hash_MA_" + toBase58String(id)), hash), DataEntry(("data_MA_" + toBase58String(id)), agreementDataObject), DataEntry(((addressesArray[0] + "_MA_") + toBase58String(id)), "PENDING"), DataEntry(((addressesArray[1] + "_MA_") + toBase58String(id)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[0]), 0, acceptedToken), ScriptTransfer(addressFromStringValue(addressesArray[1]), 0, acceptedToken)]))
8080 else throw("Needs 2 to 6 parties addresses")
8181 }
8282
8383
8484
8585 @Callable(invoke)
8686 func signAgreement (hash,agreementId) = {
8787 let payment = extract(invoke.payment)
8888 let amount = extract(payment.amount)
8989 let id = extract(invoke.transactionId)
9090 let signer = toBase58String(invoke.caller.bytes)
91+ let signingRequestExist = match getString(this, ((signer + "_MA_") + toBase58String(id))) {
92+ case s: String =>
93+ s
94+ case _ =>
95+ throw("There is no corresponding signing request")
96+ }
9197 let paymentAssetId = if (isDefined(payment.assetId))
9298 then extract(payment.assetId)
9399 else throw("Waves is not accepted as payment")
94100 if ((paymentAssetId != acceptedToken))
95101 then throw("Only payments in SIGN are allowed at the moment")
96102 else if ((amount != currentPrice))
97103 then throw("The price is wrong")
98104 else ScriptResult(WriteSet([DataEntry(((signer + "_MA_") + toBase58String(id)), "SIGNED")]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
99105 }
100106
101107

github/deemru/w8io/169f3d6 
117.58 ms