tx · 6JS4FoujrrwzN2ajHzTFBb23TLugrwkEsZYNwrDTUaVL

3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA:  -0.10000000 Waves

2020.12.21 18:51 [1318656] smart account 3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA > SELF 0.00000000 Waves

{ "type": 13, "id": "6JS4FoujrrwzN2ajHzTFBb23TLugrwkEsZYNwrDTUaVL", "fee": 10000000, "feeAssetId": null, "timestamp": 1608565948085, "version": 2, "chainId": 84, "sender": "3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA", "senderPublicKey": "4xMxUnfdbHYsent96ThiYC63gXHiahi6bh3urdHHntHi", "proofs": [ "cJuTJYEdiwLEs9yZUvdF8KPwo4k5Tqc6dhGTezXM2Zi6G7WE2rmQ1nNUWSc1A3RFWPWiAgQScuEzk3A2Qy8z1qK" ], "script": "base64:AAIDAAAAAAAAADUIARIECgIICBIDCgEIEgQKAggBEgMKAQgSBQoDCAgIEgUKAwgIARIDCgEIEgMKAQgSAwoBCAAAAAoAAAAADG1haW5Db250cmFjdAkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABAgAAACMzTXdSemkyQm1xWlpYV3JDR0N3Y1JRTHNuaWMyQW9kNnpoUwAAAAAGUVVPUlVNAAAAAAAAAAABAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAUAAAADdmFsAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQQAAAADdmFsBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAFAAAAA3ZhbAEAAAAHaXNPd25lcgAAAAEAAAAHYWRkcmVzcwkAAAAAAAACBQAAAAdhZGRyZXNzBQAAAAR0aGlzAQAAAAhnZXRHcm91cAAAAAAEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAxtYWluQ29udHJhY3QCAAAAFXdvcmtpbmdfZ3JvdXBfbWVtYmVycwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAFAAAAA3ZhbAEAAAAKZ2V0TWVtYmVycwAAAAAEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAxtYWluQ29udHJhY3QCAAAAC2Rhb19tZW1iZXJzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAUAAAADdmFsAQAAAApnZXREQU9TaXplAAAAAAQAAAADdmFsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADG1haW5Db250cmFjdAIAAAAIZGFvX3NpemUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAUAAAADdmFsAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQAAAAFhBAAAAAN2YWwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAMbWFpbkNvbnRyYWN0CQABLAAAAAIJAAEsAAAAAgIAAAAVd29ya2luZ19ncm91cF9tZW1iZXJfCQAEJQAAAAEFAAAAAWECAAAAB193ZWlnaHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAkAAGYAAAACBQAAAAN2YWwAAAAAAAAAAAABAAAADWNhbk1lbWJlclZvdGUAAAABAAAAAWkEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAxtYWluQ29udHJhY3QJAAEsAAAAAgkAASwAAAACAgAAAAtkYW9fbWVtYmVyXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAB193ZWlnaHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAkAAGYAAAACBQAAAAN2YWwAAAAAAAAAAAAAAAAJAAAAAWkBAAAAB2FkZFRhc2sAAAACAAAABXRpdGxlAAAABGxpbmsDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQCAAAABl90aXRsZQUAAAAFdGl0bGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18JAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAFX2xpbmsFAAAABGxpbmsFAAAAA25pbAAAAAFpAQAAAA5hZGRUYXNrRGV0YWlscwAAAAEAAAAGdGFza0lkAwkBAAAAASEAAAABCQEAAAANaXNHcm91cE1lbWJlcgAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBncmFudHMgd29ya2luZyBncm91cCBhY2Nlc3Mgb25seQQAAAAGcmV3YXJkCAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AAAABmFtb3VudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfcmV3YXJkBQAAAAZyZXdhcmQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwIAAAAIcHJvcG9zZWQFAAAAA25pbAAAAAFpAQAAABN2b3RlRm9yVGFza1Byb3Bvc2FsAAAAAgAAAAZ0YXNrSWQAAAAJdm90ZVZhbHVlAwkBAAAAASEAAAABCQEAAAANY2FuTWVtYmVyVm90ZQAAAAEFAAAAAWkJAAACAAAAAQIAAAAOeW91IGNhbid0IHZvdGUDCQEAAAACIT0AAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAACHByb3Bvc2VkCQAAAgAAAAECAAAAH3ZvdGluZyBpcyBjbG9zZWQgb3Igbm90IHN0YXJ0ZWQDAwkBAAAAAiE9AAAAAgUAAAAJdm90ZVZhbHVlAP//////////CQEAAAACIT0AAAACBQAAAAl2b3RlVmFsdWUAAAAAAAAAAAEHCQAAAgAAAAECAAAAGHlvdSBuZWVkIHRvIHZvdGUgMSBvciAtMQQAAAAHdm90ZUtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB192b3RlZF8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxwcmV2aW91c1ZvdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAHdm90ZUtleQMJAQAAAAEhAAAAAQkAAAAAAAACBQAAAAxwcmV2aW91c1ZvdGUAAAAAAAAAAAAJAAACAAAAAQIAAAAWeW91IGhhdmUgYWxyZWFkeSB2b3RlZAQAAAAJdm90aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAADV92b3Rpbmdfc3RhdGUEAAAAC3ZvdGluZ1N0YXRlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAACXZvdGluZ0tleQQAAAAOdm90ZXNBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAOX3ZvdGluZ19hbW91bnQEAAAAEHZvdGVzQW1vdW50U3RhdGUJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAl2b3RpbmdLZXkAAAAAAAAAAAEEAAAADm5ld1ZvdGluZ1N0YXRlCQAAZAAAAAIFAAAAC3ZvdGluZ1N0YXRlBQAAAAl2b3RlVmFsdWUJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAl2b3RpbmdLZXkFAAAADm5ld1ZvdGluZ1N0YXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAl2b3RlVmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADnZvdGVzQW1vdW50S2V5BQAAABB2b3Rlc0Ftb3VudFN0YXRlBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAB6EgBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAYZmluaXNoVGFza1Byb3Bvc2FsVm90aW5nAAAAAQAAAAZ0YXNrSWQDCQAAZgAAAAIFAAAABlFVT1JVTQkAAGkAAAACCQAAaAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA5fdm90aW5nX2Ftb3VudAAAAAAAAAAAZAkBAAAACmdldERBT1NpemUAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAptb3JlIHRoYW4gCQABpAAAAAEFAAAABlFVT1JVTQIAAAAyJSBtZW1iZXJzIGhhdmUgdG8gdm90ZSBiZWZvcmUgZmluaXNoaW5nIHRoZSB2b3RpbmcDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5BAAAAAl2b3RpbmdLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAANX3ZvdGluZ19zdGF0ZQQAAAALdm90aW5nU3RhdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5AwkAAGYAAAACBQAAAAt2b3RpbmdTdGF0ZQAAAAAAAAAAAAQAAAAMdm90aW5nUmVzdWx0AgAAAA5yZWFkeV90b19hcHBseQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzBQAAAAx2b3RpbmdSZXN1bHQFAAAAA25pbAQAAAAMdm90aW5nUmVzdWx0AgAAAAhyZWplY3RlZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzBQAAAAx2b3RpbmdSZXN1bHQFAAAAA25pbAAAAAFpAQAAAAxhcHBseUZvclRhc2sAAAADAAAABnRhc2tJZAAAAAh0ZWFtTmFtZQAAAARsaW5rBAAAAAZzdGF0dXMJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMDCQEAAAACIT0AAAACBQAAAAZzdGF0dXMCAAAADnJlYWR5X3RvX2FwcGx5CQAAAgAAAAECAAAAJFRoaXMgZ3JhbnQgaGFzIG5vdCB5ZXQgYmVlbiBhcHByb3ZlZAQAAAAHbGlzdEtleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAtfYXBwbGljYW50cwQAAAAVY3VycmVudEFwcGxpY2FudHNMaXN0CQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQUAAAAHbGlzdEtleQQAAAAMYXBwbGljYW50S2V5CQABMAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAAKBAAAABFuZXdBcHBsaWNhbnRzTGlzdAkAASwAAAACCQABLAAAAAIFAAAAFWN1cnJlbnRBcHBsaWNhbnRzTGlzdAIAAAABOwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAABV9hcHBfBQAAAAxhcHBsaWNhbnRLZXkCAAAABV9uYW1lBQAAAAh0ZWFtTmFtZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADGFwcGxpY2FudEtleQIAAAAFX2xpbmsFAAAABGxpbmsJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAABV9hcHBfBQAAAAxhcHBsaWNhbnRLZXkCAAAAB19sZWFkZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAMYXBwbGljYW50S2V5AgAAAANfaWQFAAAADGFwcGxpY2FudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHbGlzdEtleQUAAAARbmV3QXBwbGljYW50c0xpc3QFAAAAA25pbAAAAAFpAQAAABB2b3RlRm9yQXBwbGljYW50AAAAAwAAAAZ0YXNrSWQAAAAOdGVhbUlkZW50aWZpZXIAAAAJdm90ZVZhbHVlAwkBAAAAASEAAAABCQEAAAANY2FuTWVtYmVyVm90ZQAAAAEFAAAAAWkJAAACAAAAAQIAAAAOeW91IGNhbid0IHZvdGUEAAAACHZvdGVIYXNoCQABLAAAAAIJAAEwAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAoJAAEwAAAAAgUAAAAOdGVhbUlkZW50aWZpZXIAAAAAAAAAAAoEAAAAB3ZvdGVLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAZfdm90ZV8FAAAACHZvdGVIYXNoBAAAAAR2b3RlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAB3ZvdGVLZXkDCQEAAAACIT0AAAACBQAAAAR2b3RlAAAAAAAAAAAACQAAAgAAAAECAAAAI3lvdSBoYXZlIGFscmVhZHkgdm90ZWQgb24gdGhpcyB0ZWFtBAAAABJ0ZWFtVm90ZXNBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAABV9hcHBfBQAAAA50ZWFtSWRlbnRpZmllcgIAAAAGX3ZvdGVzBAAAAAx0ZWFtU2NvcmVLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAABV9hcHBfBQAAAA50ZWFtSWRlbnRpZmllcgIAAAAGX3Njb3JlBAAAAA90ZWFtVm90ZXNBbW91bnQJAABkAAAAAgAAAAAAAAAAAQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtVm90ZXNBbW91bnRLZXkEAAAADG5ld1RlYW1TY29yZQkAAGQAAAACBQAAAAl2b3RlVmFsdWUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAMdGVhbVNjb3JlS2V5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAl2b3RlVmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADHRlYW1TY29yZUtleQUAAAAMbmV3VGVhbVNjb3JlBQAAAANuaWwAAAABaQEAAAAWZmluaXNoQXBwbGljYW50c1ZvdGluZwAAAAEAAAAGdGFza0lkCgEAAAAWaXNBcHBsaWNhbnRWb3RlZEVub3VnaAAAAAIAAAADYWlkAAAABGFpZDIEAAAAB2xpc3RLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAALX2FwcGxpY2FudHMEAAAADmFwcGxpY2FudHNMaXN0CQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAB2xpc3RLZXkCAAAAATsEAAAADnRlYW1JZGVudGlmaWVyCQABkQAAAAIFAAAADmFwcGxpY2FudHNMaXN0BQAAAANhaWQEAAAAEnRlYW1Wb3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAAZfdm90ZXMEAAAAD3RlYW1Wb3Rlc0Ftb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtVm90ZXNBbW91bnRLZXkDCQAAZgAAAAIFAAAAD3RlYW1Wb3Rlc0Ftb3VudAAAAAAAAAAAAAAAAAAAAAAAAQkAAAIAAAABCQABLAAAAAICAAAAJW5vdCBlbm91Z2ggdm90ZXMgdG8gbWFrZSBkZWNpc2lvbiBvbiAFAAAADnRlYW1JZGVudGlmaWVyCgEAAAAMaGFzTW9yZVZvdGVzAAAAAgAAAANhaWQAAAAEYWlkMgQAAAAHbGlzdEtleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAtfYXBwbGljYW50cwQAAAAOYXBwbGljYW50c0xpc3QJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAHbGlzdEtleQIAAAABOwQAAAAOdGVhbUlkZW50aWZpZXIJAAGRAAAAAgUAAAAOYXBwbGljYW50c0xpc3QFAAAAA2FpZAQAAAASdGVhbVZvdGVzQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAOdGVhbUlkZW50aWZpZXICAAAABl92b3RlcwQAAAAPdGVhbVZvdGVzQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAEnRlYW1Wb3Rlc0Ftb3VudEtleQQAAAAPdGVhbTJJZGVudGlmaWVyCQABkQAAAAIFAAAADmFwcGxpY2FudHNMaXN0BQAAAARhaWQyBAAAABN0ZWFtMlZvdGVzQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAPdGVhbTJJZGVudGlmaWVyAgAAAAZfdm90ZXMEAAAAEHRlYW0yVm90ZXNBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAATdGVhbTJWb3Rlc0Ftb3VudEtleQMJAABmAAAAAgUAAAAPdGVhbVZvdGVzQW1vdW50BQAAABB0ZWFtMlZvdGVzQW1vdW50BQAAAANhaWQFAAAABGFpZDIDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5BAAAAAhsaXN0S2V5cwkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAALX2FwcGxpY2FudHMEAAAADmFwcGxpY2FudHNMaXN0CQAEtQAAAAIFAAAACGxpc3RLZXlzAgAAAAE7AwkAAAAAAAACCQABkAAAAAEFAAAADmFwcGxpY2FudHNMaXN0AAAAAAAAAAAACQAAAgAAAAECAAAAJU5vIG9uZSBoYXMgeWV0IHJlc3BvbmRlZCB0byB0aGUgZ3JhbnQEAAAADGNob3NlblRlYW1JZAQAAAANJGxpc3Q5NTAwOTUzMQkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAEFAAAAA25pbAQAAAANJHNpemU5NTAwOTUzMQkAAZAAAAABBQAAAA0kbGlzdDk1MDA5NTMxBAAAAA0kYWNjMDk1MDA5NTMxAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTk1MDA5NTMxAAAAAAAAAAAABQAAAA0kYWNjMDk1MDA5NTMxBAAAAA0kYWNjMTk1MDA5NTMxCQEAAAAMaGFzTW9yZVZvdGVzAAAAAgUAAAANJGFjYzA5NTAwOTUzMQkAAZEAAAACBQAAAA0kbGlzdDk1MDA5NTMxAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTk1MDA5NTMxAAAAAAAAAAABBQAAAA0kYWNjMTk1MDA5NTMxBAAAAA0kYWNjMjk1MDA5NTMxCQEAAAAMaGFzTW9yZVZvdGVzAAAAAgUAAAANJGFjYzE5NTAwOTUzMQkAAZEAAAACBQAAAA0kbGlzdDk1MDA5NTMxAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTk1MDA5NTMxAAAAAAAAAAACBQAAAA0kYWNjMjk1MDA5NTMxBAAAAA0kYWNjMzk1MDA5NTMxCQEAAAAMaGFzTW9yZVZvdGVzAAAAAgUAAAANJGFjYzI5NTAwOTUzMQkAAZEAAAACBQAAAA0kbGlzdDk1MDA5NTMxAAAAAAAAAAACCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgMgQAAAAOdGVhbUlkZW50aWZpZXIJAAGRAAAAAgUAAAAOYXBwbGljYW50c0xpc3QFAAAADGNob3NlblRlYW1JZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAAt0ZWFtX2Nob3NlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAApfcGVyZm9ybWVyBQAAAA50ZWFtSWRlbnRpZmllcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAAhfcHJvY2VzcwIAAAAJY2FuX2JlZ2luBQAAAANuaWwAAAABaQEAAAAJc3RhcnRXb3JrAAAAAQAAAAZ0YXNrSWQEAAAADnRlYW1JZGVudGlmaWVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAACl9wZXJmb3JtZXIDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAAdfbGVhZGVyCQAAAgAAAAECAAAAEHRlYW0gbGVhZGVyIG9ubHkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwIAAAAMd29ya19zdGFydGVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAOdGVhbUlkZW50aWZpZXICAAAACF9wcm9jZXNzAgAAAAx3b3JrX3N0YXJ0ZWQFAAAAA25pbAAAAAFpAQAAABBhY2NlcHRXb3JrUmVzdWx0AAAAAQAAAAZ0YXNrSWQDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5BAAAAAxyZXdhcmRBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfcmV3YXJkBAAAAA50ZWFtSWRlbnRpZmllcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAApfcGVyZm9ybWVyBAAAAAt0ZWFtQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAAdfbGVhZGVyCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAA13b3JrX2ZpbmlzaGVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAOdGVhbUlkZW50aWZpZXICAAAACF9wcm9jZXNzAgAAAA13b3JrX2ZpbmlzaGVkBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAt0ZWFtQWRkcmVzcwUAAAAMcmV3YXJkQW1vdW50BQAAAAR1bml0BQAAAANuaWwAAAAAGjF1+A==", "height": 1318656, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2uKUfyoqkjweyUW34JYAvCCegMypX2bQAyvrLThbYgF3 Next: HkCL8mHt1CDtPsYzRroxvjCfdQ3reRB89WQJHbvg9cJL Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 1
4+let a = addressFromStringValue("3MwRzi2BmqZZXWrCGCwcRQLsnic2Aod6zhS")
55
6-func b (c) = {
7- let d = {
8- let e = getInteger(this, c)
9- if ($isInstanceOf(e, "Int"))
6+let b = 1
7+
8+func c (d) = {
9+ let e = {
10+ let f = getInteger(this, d)
11+ if ($isInstanceOf(f, "Int"))
1012 then {
11- let f = e
12- f
13+ let g = f
14+ g
1315 }
1416 else 0
1517 }
16- d
18+ e
1719 }
1820
1921
20-func g (c) = {
21- let d = {
22- let e = getString(this, c)
23- if ($isInstanceOf(e, "String"))
22+func h (d) = {
23+ let e = {
24+ let f = getString(this, d)
25+ if ($isInstanceOf(f, "String"))
2426 then {
25- let f = e
26- f
27+ let g = f
28+ g
2729 }
2830 else ""
2931 }
30- d
32+ e
3133 }
3234
3335
34-func h (i) = (i == this)
36+func i (j) = (j == this)
3537
3638
37-func j () = {
38- let d = {
39- let e = getString(this, "working_group")
40- if ($isInstanceOf(e, "String"))
39+func k () = {
40+ let e = {
41+ let f = getString(a, "working_group_members")
42+ if ($isInstanceOf(f, "String"))
4143 then {
42- let f = e
43- f
44+ let g = f
45+ g
4446 }
4547 else ""
4648 }
47- d
49+ e
4850 }
4951
5052
51-func k () = {
52- let d = {
53- let e = getString(this, "dao_members")
54- if ($isInstanceOf(e, "String"))
53+func l () = {
54+ let e = {
55+ let f = getString(a, "dao_members")
56+ if ($isInstanceOf(f, "String"))
5557 then {
56- let f = e
57- f
58+ let g = f
59+ g
5860 }
5961 else ""
6062 }
61- d
63+ e
6264 }
6365
6466
65-func l (m) = (b((("working_group_member_" + toString(m)) + "_weight")) > 0)
67+func m () = {
68+ let e = {
69+ let f = getInteger(a, "dao_size")
70+ if ($isInstanceOf(f, "Int"))
71+ then {
72+ let g = f
73+ g
74+ }
75+ else 0
76+ }
77+ e
78+ }
6679
6780
68-func n (o) = (b((("dao_member_" + toString(o.caller)) + "_weight")) > 0)
81+func n (o) = {
82+ let e = {
83+ let f = getInteger(a, (("working_group_member_" + toString(o)) + "_weight"))
84+ if ($isInstanceOf(f, "Int"))
85+ then {
86+ let g = f
87+ g
88+ }
89+ else 0
90+ }
91+ (e > 0)
92+ }
6993
7094
71-@Callable(o)
72-func addDAOMember (p) = if (!(h(o.caller)))
73- then throw("access only to the DAO owner")
74- else if ((b((("dao_member_" + p) + "_weight")) == 1))
75- then throw("This user already exists")
76- else {
77- let q = k()
78- let r = ((q + ";") + p)
79- let s = b("dao_size")
80- let t = (s + 1)
81- WriteSet([DataEntry("dao_members", r), DataEntry("dao_size", t), DataEntry((("dao_member_" + p) + "_weight"), 1)])
82- }
95+func p (q) = {
96+ let e = {
97+ let f = getInteger(a, (("dao_member_" + toString(q.caller)) + "_weight"))
98+ if ($isInstanceOf(f, "Int"))
99+ then {
100+ let g = f
101+ g
102+ }
103+ else 0
104+ }
105+ (e > 0)
106+ }
107+
108+
109+@Callable(q)
110+func addTask (r,s) = if (!(n(q.caller)))
111+ then throw("grants working group access only")
112+ else WriteSet([DataEntry((("tasks_" + toBase58String(q.transactionId)) + "_title"), r), DataEntry((("tasks_" + toBase58String(q.transactionId)) + "_link"), s)])
83113
84114
85115
86-@Callable(o)
87-func addGroupMember (p) = if (!(h(o.caller)))
88- then throw("access only to the DAO owner")
89- else if ((b((("working_group_member_" + p) + "_weight")) == 1))
90- then throw("This user already exists")
91- else {
92- let q = j()
93- let r = ((q + ";") + p)
94- let s = b("working_group_size")
95- let t = (s + 1)
96- WriteSet([DataEntry("working_group_name", r), DataEntry("working_group_size", t), DataEntry((("working_group_member_" + p) + "_weight"), 1)])
97- }
98-
99-
100-
101-@Callable(o)
102-func addTask (u,v) = if (!(l(o.caller)))
103- then throw("grants working group access only")
104- else WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), u), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), v)])
105-
106-
107-
108-@Callable(o)
109-func addTaskDetails (w) = if (!(l(o.caller)))
116+@Callable(q)
117+func addTaskDetails (t) = if (!(n(q.caller)))
110118 then throw("grants working group access only")
111119 else {
112- let x = extract(o.payment).amount
113- WriteSet([DataEntry((("tasks_" + w) + "_reward"), x), DataEntry((("tasks_" + w) + "_status"), "proposed")])
120+ let u = extract(q.payment).amount
121+ WriteSet([DataEntry((("tasks_" + t) + "_reward"), u), DataEntry((("tasks_" + t) + "_status"), "proposed")])
114122 }
115123
116124
117125
118-@Callable(o)
119-func voteForTaskProposal (w,y) = if (!(n(o)))
126+@Callable(q)
127+func voteForTaskProposal (t,v) = if (!(p(q)))
120128 then throw("you can't vote")
121- else if ((getStringValue(this, (("tasks_" + w) + "_status")) != "proposed"))
129+ else if ((getStringValue(this, (("tasks_" + t) + "_status")) != "proposed"))
122130 then throw("voting is closed or not started")
123- else if (if ((y != -1))
124- then (y != 1)
131+ else if (if ((v != -1))
132+ then (v != 1)
125133 else false)
126134 then throw("you need to vote 1 or -1")
127135 else {
128- let z = ((("tasks_" + w) + "_voted_") + toString(o.caller))
129- let A = b(z)
130- if (!((A == 0)))
136+ let w = ((("tasks_" + t) + "_voted_") + toString(q.caller))
137+ let x = c(w)
138+ if (!((x == 0)))
131139 then throw("you have already voted")
132140 else {
133- let B = (("tasks_" + w) + "_voting_state")
134- let C = b(B)
135- let D = (("tasks_" + w) + "_voting_amount")
136- let E = (b(B) + 1)
137- let F = (C + y)
138- ScriptResult(WriteSet([DataEntry(B, F), DataEntry(z, y), DataEntry(D, E)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
141+ let y = (("tasks_" + t) + "_voting_state")
142+ let z = c(y)
143+ let A = (("tasks_" + t) + "_voting_amount")
144+ let B = (c(y) + 1)
145+ let C = (z + v)
146+ ScriptResult(WriteSet([DataEntry(y, C), DataEntry(w, v), DataEntry(A, B)]), TransferSet([ScriptTransfer(q.caller, 500000, unit)]))
139147 }
140148 }
141149
142150
143151
144-@Callable(o)
145-func finishTaskProposalVoting (w) = if ((a > ((b((("tasks_" + w) + "_voting_amount")) * 100) / b("dao_size"))))
146- then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
147- else if (!(l(o.caller)))
152+@Callable(q)
153+func finishTaskProposalVoting (t) = if ((b > ((c((("tasks_" + t) + "_voting_amount")) * 100) / m())))
154+ then throw((("more than " + toString(b)) + "% members have to vote before finishing the voting"))
155+ else if (!(n(q.caller)))
148156 then throw("grants working group access only")
149157 else {
150- let B = (("tasks_" + w) + "_voting_state")
151- let C = b(B)
152- if ((C > 0))
158+ let y = (("tasks_" + t) + "_voting_state")
159+ let z = c(y)
160+ if ((z > 0))
153161 then {
154- let G = "ready_to_apply"
155- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
162+ let D = "ready_to_apply"
163+ WriteSet([DataEntry((("tasks_" + t) + "_status"), D)])
156164 }
157165 else {
158- let G = "rejected"
159- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
166+ let D = "rejected"
167+ WriteSet([DataEntry((("tasks_" + t) + "_status"), D)])
160168 }
161169 }
162170
163171
164172
165-@Callable(o)
166-func applyForTask (w,H,v) = {
167- let I = g((("tasks_" + w) + "_status"))
168- if ((I != "ready_to_apply"))
173+@Callable(q)
174+func applyForTask (t,E,s) = {
175+ let F = h((("tasks_" + t) + "_status"))
176+ if ((F != "ready_to_apply"))
169177 then throw("This grant has not yet been approved")
170178 else {
171- let J = (("tasks_" + w) + "_applicants")
172- let K = g(J)
173- let L = drop(toString(o.caller), 10)
174- let M = ((K + ";") + toString(o.caller))
175- WriteSet([DataEntry((((("tasks_" + w) + "_app_") + L) + "_name"), H), DataEntry((((("tasks_" + w) + "_app_") + L) + "_link"), v), DataEntry((((("tasks_" + w) + "_app_") + L) + "_leader"), toString(o.caller)), DataEntry((((("tasks_" + w) + "_app_") + L) + "_id"), L), DataEntry(J, M)])
179+ let G = (("tasks_" + t) + "_applicants")
180+ let H = h(G)
181+ let I = drop(toString(q.caller), 10)
182+ let J = ((H + ";") + toString(q.caller))
183+ WriteSet([DataEntry((((("tasks_" + t) + "_app_") + I) + "_name"), E), DataEntry((((("tasks_" + t) + "_app_") + I) + "_link"), s), DataEntry((((("tasks_" + t) + "_app_") + I) + "_leader"), toString(q.caller)), DataEntry((((("tasks_" + t) + "_app_") + I) + "_id"), I), DataEntry(G, J)])
176184 }
177185 }
178186
179187
180188
181-@Callable(o)
182-func voteForApplicant (w,N,y) = if (!(n(o)))
189+@Callable(q)
190+func voteForApplicant (t,K,v) = if (!(p(q)))
183191 then throw("you can't vote")
184192 else {
185- let O = (drop(toString(o.caller), 10) + drop(N, 10))
186- let z = ((("tasks_" + w) + "_vote_") + O)
187- let P = b(z)
188- if ((P != 0))
193+ let L = (drop(toString(q.caller), 10) + drop(K, 10))
194+ let w = ((("tasks_" + t) + "_vote_") + L)
195+ let M = c(w)
196+ if ((M != 0))
189197 then throw("you have already voted on this team")
190198 else {
191- let Q = (((("tasks_" + w) + "_app_") + N) + "_votes")
192- let R = (((("tasks_" + w) + "_app_") + N) + "_score")
193- let S = (1 + b(Q))
194- let T = (y + b(R))
195- WriteSet([DataEntry(z, y), DataEntry(R, T)])
199+ let N = (((("tasks_" + t) + "_app_") + K) + "_votes")
200+ let O = (((("tasks_" + t) + "_app_") + K) + "_score")
201+ let P = (1 + c(N))
202+ let Q = (v + c(O))
203+ WriteSet([DataEntry(w, v), DataEntry(O, Q)])
196204 }
197205 }
198206
199207
200208
201-@Callable(o)
202-func finishApplicantsVoting (w) = {
203- func U (V,W) = {
204- let J = (("tasks_" + w) + "_applicants")
205- let X = split(getStringValue(this, J), ";")
206- let N = X[V]
207- let Q = (((("tasks_" + w) + "_app_") + N) + "_votes")
208- let S = b(Q)
209- if ((S > 0))
209+@Callable(q)
210+func finishApplicantsVoting (t) = {
211+ func R (S,T) = {
212+ let G = (("tasks_" + t) + "_applicants")
213+ let U = split(getStringValue(this, G), ";")
214+ let K = U[S]
215+ let N = (((("tasks_" + t) + "_app_") + K) + "_votes")
216+ let P = c(N)
217+ if ((P > 0))
210218 then 1
211- else throw(("not enough votes to make decision on " + N))
219+ else throw(("not enough votes to make decision on " + K))
212220 }
213221
214- func Y (V,W) = {
215- let J = (("tasks_" + w) + "_applicants")
216- let X = split(getStringValue(this, J), ";")
217- let N = X[V]
218- let Q = (((("tasks_" + w) + "_app_") + N) + "_votes")
219- let S = b(Q)
220- let Z = X[W]
221- let aa = (((("tasks_" + w) + "_app_") + Z) + "_votes")
222- let ab = b(aa)
223- if ((S > ab))
224- then V
225- else W
222+ func V (S,T) = {
223+ let G = (("tasks_" + t) + "_applicants")
224+ let U = split(getStringValue(this, G), ";")
225+ let K = U[S]
226+ let N = (((("tasks_" + t) + "_app_") + K) + "_votes")
227+ let P = c(N)
228+ let W = U[T]
229+ let X = (((("tasks_" + t) + "_app_") + W) + "_votes")
230+ let Y = c(X)
231+ if ((P > Y))
232+ then S
233+ else T
226234 }
227235
228- if (!(l(o.caller)))
236+ if (!(n(q.caller)))
229237 then throw("grants working group access only")
230238 else {
231- let ac = g((("tasks_" + w) + "_applicants"))
232- let X = split(ac, ";")
233- if ((size(X) == 0))
239+ let Z = h((("tasks_" + t) + "_applicants"))
240+ let U = split(Z, ";")
241+ if ((size(U) == 0))
234242 then throw("No one has yet responded to the grant")
235243 else {
236- let ad = {
237- let ae = [0, 1]
238- let af = size(ae)
239- let ag = 0
240- if ((af == 0))
241- then ag
244+ let aa = {
245+ let ab = [0, 1]
246+ let ac = size(ab)
247+ let ad = 0
248+ if ((ac == 0))
249+ then ad
242250 else {
243- let ah = Y(ag, ae[0])
244- if ((af == 1))
245- then ah
251+ let ae = V(ad, ab[0])
252+ if ((ac == 1))
253+ then ae
246254 else {
247- let ai = Y(ah, ae[1])
248- if ((af == 2))
249- then ai
255+ let af = V(ae, ab[1])
256+ if ((ac == 2))
257+ then af
250258 else {
251- let aj = Y(ai, ae[2])
259+ let ag = V(af, ab[2])
252260 throw("List size exceed 2")
253261 }
254262 }
255263 }
256264 }
257- let N = X[ad]
258- WriteSet([DataEntry((("tasks_" + w) + "_status"), "team_chosen"), DataEntry((("tasks_" + w) + "_performer"), N), DataEntry((((("tasks_" + w) + "_app_") + N) + "_process"), "can_begin")])
265+ let K = U[aa]
266+ WriteSet([DataEntry((("tasks_" + t) + "_status"), "team_chosen"), DataEntry((("tasks_" + t) + "_performer"), K), DataEntry((((("tasks_" + t) + "_app_") + K) + "_process"), "can_begin")])
259267 }
260268 }
261269 }
262270
263271
264272
265-@Callable(o)
266-func startWork (w) = {
267- let N = getStringValue(this, (("tasks_" + w) + "_performer"))
268- if ((toString(o.caller) != getStringValue(this, (((("tasks_" + w) + "_app_") + N) + "_leader"))))
273+@Callable(q)
274+func startWork (t) = {
275+ let K = getStringValue(this, (("tasks_" + t) + "_performer"))
276+ if ((toString(q.caller) != getStringValue(this, (((("tasks_" + t) + "_app_") + K) + "_leader"))))
269277 then throw("team leader only")
270- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_started"), DataEntry((((("tasks_" + w) + "_app_") + N) + "_process"), "work_started")])
278+ else WriteSet([DataEntry((("tasks_" + t) + "_status"), "work_started"), DataEntry((((("tasks_" + t) + "_app_") + K) + "_process"), "work_started")])
271279 }
272280
273281
274282
275-@Callable(o)
276-func acceptWorkResult (w) = if (!(l(o.caller)))
283+@Callable(q)
284+func acceptWorkResult (t) = if (!(n(q.caller)))
277285 then throw("grants working group access only")
278286 else {
279- let ak = b((("tasks_" + w) + "_reward"))
280- let N = getStringValue(this, (("tasks_" + w) + "_performer"))
281- let al = getStringValue(this, (((("tasks_" + w) + "_app_") + N) + "_leader"))
282- ScriptResult(WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_finished"), DataEntry((((("tasks_" + w) + "_app_") + N) + "_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(al), ak, unit)]))
287+ let ah = c((("tasks_" + t) + "_reward"))
288+ let K = getStringValue(this, (("tasks_" + t) + "_performer"))
289+ let ai = getStringValue(this, (((("tasks_" + t) + "_app_") + K) + "_leader"))
290+ ScriptResult(WriteSet([DataEntry((("tasks_" + t) + "_status"), "work_finished"), DataEntry((((("tasks_" + t) + "_app_") + K) + "_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(ai), ah, unit)]))
283291 }
284292
285293

github/deemru/w8io/873ac7e 
211.59 ms