tx · HVSF1PzT5dhtLTYnTkeeKFRjhmvsWSQnQrwMtnwwPUEY

3P36HH7i6BBuuNp7FHQd6WX8gzfogi778i6:  -0.00600000 Waves

2022.08.11 12:12 [3245108] smart account 3P36HH7i6BBuuNp7FHQd6WX8gzfogi778i6 > SELF 0.00000000 Waves

{ "type": 13, "id": "HVSF1PzT5dhtLTYnTkeeKFRjhmvsWSQnQrwMtnwwPUEY", "fee": 600000, "feeAssetId": null, "timestamp": 1660209195546, "version": 2, "chainId": 87, "sender": "3P36HH7i6BBuuNp7FHQd6WX8gzfogi778i6", "senderPublicKey": "3xRzVfzGz2mW1Y3XAqQwVN4RiiWSgAHpLFmaF24hhfY9", "proofs": [ "3dbMi3JsfikQZy8sGoizpn3z7u9yuvGQEb2491EmfNttKZLFmjJ6dxAiDDgjrCgzEjnRNoEWVYEv2p11dkK4ZFVD" ], "script": "base64:BgIUCAISAwoBCBIECgIICBIDCgEIEgAWARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJ0IAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAAQ5rZXlCbGFja2xpc3RlZAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIMX2JsYWNrbGlzdGVkARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwEPZ2V0U3BpY2VBc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAITc3RhdGljX3NwaWNlQXNzZXRJZAERZ2V0QnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACFXN0YXRpY19icmVlZGVyQWRkcmVzcwANRFVDS0xJTkdQUklDRQCAyK+gJQAWS0dsb2JhbElzc3VlZFRpbWVzdGFtcAIXZ2xvYmFsX2lzc3VlZF90aW1lc3RhbXABDGtleVRvdGFsRmVlZAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIFX2ZlZWQBG2tleUR1Y2tsaW5nRmVkTGFzdFRpbWVzdGFtcAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIKX2ZlZExhc3RUcwEQa2V5RHVja2xpbmdMZXZlbAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIGX2xldmVsARBrZXlEdWNrbGluZ0dyb3duAQpkdWNrbGluZ0lkCQCsAgIJAKwCAgIJZHVja2xpbmdfBQpkdWNrbGluZ0lkAgZfZ3Jvd24BEmtleVN0YXJ0UGVyY2VudGFnZQEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIQX3N0YXJ0UGVyY2VudGFnZQEIa2V5T3duZXIBCmR1Y2tsaW5nSWQJAKwCAgkArAICAglkdWNrbGluZ18FCmR1Y2tsaW5nSWQCBl9vd25lcgENdHJ5R2V0SW50ZWdlcgEDa2V5BAN2YWwEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAABQN2YWwBB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBEmdldEN1cnJlbnRMZXZlbEludAEKZHVja2xpbmdJZAQKa0R1Y2tMZXZlbAkBEGtleUR1Y2tsaW5nTGV2ZWwBBQpkdWNrbGluZ0lkBAckbWF0Y2gwCQCiCAEFCmtEdWNrTGV2ZWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQENcGFyc2VJbnRWYWx1ZQEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBdQUHJG1hdGNoMAAACQACAQIdQkdDTEJJOiBXZWlyZCB2YWx1ZSBkZXRlY3RlZCEBE2dldExhc3RGZWRUaW1lc3RhbXABCmR1Y2tsaW5nSWQEEGxhc3RGZWRUaW1lc3RhbXAJAQ10cnlHZXRJbnRlZ2VyAQkBG2tleUR1Y2tsaW5nRmVkTGFzdFRpbWVzdGFtcAEFCmR1Y2tsaW5nSWQDCQBmAgUQbGFzdEZlZFRpbWVzdGFtcAAABRBsYXN0RmVkVGltZXN0YW1wCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAEZY2FsY3VsYXRlTmV3RHVja2xpbmdMZXZlbAIKZHVja2xpbmdJZA1wYXltZW50QW1vdW50BAljdXJyZW50VHMIBQlsYXN0QmxvY2sJdGltZXN0YW1wBBdsYXN0RmVkVGltZXN0YW1wQ2hlY2tlZAkBE2dldExhc3RGZWRUaW1lc3RhbXABBQpkdWNrbGluZ0lkBAdmZWREaWZmCQBlAgUJY3VycmVudFRzBRdsYXN0RmVkVGltZXN0YW1wQ2hlY2tlZAQGZ3Jvd3RoBQ1wYXltZW50QW1vdW50BAxjdXJyZW50TGV2ZWwJARJnZXRDdXJyZW50TGV2ZWxJbnQBBQpkdWNrbGluZ0lkBAhuZXdMZXZlbAkAZAIFDGN1cnJlbnRMZXZlbAUNcGF5bWVudEFtb3VudAMJAGYCBQhuZXdMZXZlbAUNRFVDS0xJTkdQUklDRQkAAgEJAKwCAgkArAICAjJDQkRCOiBZb3UgYXJlIGZlZWRpbmcgeW91ciBkdWNrbGluZyB0byBtdWNoISBPbmx5IAkApAMBCQBlAgUNRFVDS0xJTkdQUklDRQUMY3VycmVudExldmVsAgduZWVkZWQhBAZyZXN1bHQJAKQDAQUIbmV3TGV2ZWwJAJQKAgUGcmVzdWx0CQDMCAIJAKwCAgINY3VycmVudExldmVsPQkApAMBBQxjdXJyZW50TGV2ZWwJAMwIAgkArAICAgluZXdMZXZlbD0JAKQDAQUIbmV3TGV2ZWwJAMwIAgkArAICAgdncm93dGg9CQCkAwEFBmdyb3d0aAkAzAgCCQCsAgICCmxhc3RGZWRUcz0JAKQDAQUXbGFzdEZlZFRpbWVzdGFtcENoZWNrZWQJAMwIAgkArAICAghmZWREaWZmPQkApAMBBQdmZWREaWZmBQNuaWwBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECHkJBSTogd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAENdHJ5R2V0Qm9vbGVhbgEDa2V5BAckbWF0Y2gwCQCgCAEFA2tleQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwBQFiBwQBaQEPY29uZmlndXJlT3JhY2xlAQZvcmFjbGUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg9CQ086IGFkbWluIG9ubHkJAMwIAgkBC1N0cmluZ0VudHJ5AgIUc3RhdGljX29yYWNsZUFkZHJlc3MFBm9yYWNsZQUDbmlsAWkBDWlzc3VlRHVja2xpbmcCB2FkZHJlc3MHdHhJZFN0cgMJAQIhPQIIBQFpBmNhbGxlcgkBEWdldEJyZWVkZXJBZGRyZXNzAAkAAgECI0JJRkQ6IFlvdSBjYW4ndCBpc3N1ZSBmcmVlIGR1Y2tsaW5nBAVhc3NldAkAwwgHAhBCQUJZLTExMTExMTExLUhaAgAAAQAABwUEdW5pdAUGaGVpZ2h0BAdhc3NldElkCQC4CAEFBWFzc2V0CQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwUHdHhJZFN0cgIDX2RpCQDYBAEFB2Fzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQICDHN0YXRzX2Ftb3VudAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQIMc3RhdHNfYW1vdW50AAEJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAKwCAgkArAICAglkdWNrbGluZ18JANgEAQUHYXNzZXRJZAIRX2lzc3VlZEJ5RmVlZENhbGwJAAACCAUBaQZjYWxsZXIFBHRoaXMJAMwIAgkBDEludGVnZXJFbnRyeQIJARJrZXlTdGFydFBlcmNlbnRhZ2UBCQDYBAEFB2Fzc2V0SWQAAAkAzAgCCQELU3RyaW5nRW50cnkCCQEIa2V5T3duZXIBCQDYBAEFB2Fzc2V0SWQFB2FkZHJlc3MJAMwIAgUFYXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBBXZhbHVlAQkApggBBQdhZGRyZXNzAAEFB2Fzc2V0SWQFA25pbAkA2AQBBQdhc3NldElkAWkBDGZlZWREdWNrbGluZwEKZHVja2xpbmdJZAQNYWRkcmVzc1N0cmluZwkApQgBCAUBaQZjYWxsZXIEDnJlYWxEdWNrbGluZ0lkAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAQIhPQIICQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBD2dldFNwaWNlQXNzZXRJZAAJAAIBAi5CRkQ6IEJhZCBwYXltZW50IGF0dGFjaGVkIChhc3NldFtzXSBvciBhbW91bnQpBAtibGFja0xpc3RlZAkBDXRyeUdldEJvb2xlYW4BCQEOa2V5QmxhY2tsaXN0ZWQBBQpkdWNrbGluZ0lkAwULYmxhY2tMaXN0ZWQJAAIBAidCRkQ6IENhbiBub3QgZmVlZCBibGFja2xpc3RlZCBkdWNrbGluZyEDCQEHZ2V0Qm9vbAEJARBrZXlEdWNrbGluZ0dyb3duAQUKZHVja2xpbmdJZAkAAgECHkJGRDogRHVja2xpbmcgaXMgYWxyZWFkeSBncm93bgMJAAACBQpkdWNrbGluZ0lkAgAJAAIBAiNCRkQ6IFBsZWFzZSBoYXRjaCBhIGR1Y2tsaW5nIGZpcnN0IQQNZHVja2xpbmdPd25lcgkBDHRyeUdldFN0cmluZwEJAQhrZXlPd25lcgEFCmR1Y2tsaW5nSWQED2R1Y2tsaW5nSWRDaGVjawkBBXZhbHVlAQkA7AcBCQDZBAEFCmR1Y2tsaW5nSWQDCQECIT0CCQDwBwIIBQFpBmNhbGxlcggFD2R1Y2tsaW5nSWRDaGVjawJpZAABCQACAQIpQkZEOiBZb3UncmUgbm90IHRoZSBvd25lciBvZiB0aGUgZHVja2xpbmcDCQECIT0CBQ1kdWNrbGluZ093bmVyCQClCAEIBQFpBmNhbGxlcgkAAgECPkJGRDogWW91IGNhbiBvbmx5IGZlZWQgZHVja2xpbmdzIHRoYXQgeW91IHdvbi9ib3VnaHQgeW91cnNlbGYhAwkBAiE9AggFD2R1Y2tsaW5nSWRDaGVjawZpc3N1ZXIFBHRoaXMJAAIBAiRCRkQ6IENhbnQgZmluZCBkdWNrbGluZyB3aXRoIHN1Y2ggaWQEEGR1Y2tsaW5nSWRTdHJpbmcJANgEAQgFD2R1Y2tsaW5nSWRDaGVjawJpZAUQZHVja2xpbmdJZFN0cmluZwQSa0R1Y2tsaW5nTGFzdEZlZFRzCQEba2V5RHVja2xpbmdGZWRMYXN0VGltZXN0YW1wAQUKZHVja2xpbmdJZAQOY3VycmVudFBheW1lbnQICQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAlrTmV3TGV2ZWwJARBrZXlEdWNrbGluZ0xldmVsAQUOcmVhbER1Y2tsaW5nSWQECmtUb3RhbEZlZWQJAQxrZXlUb3RhbEZlZWQBBQ5yZWFsRHVja2xpbmdJZAQJdG90YWxGZWVkCQENdHJ5R2V0SW50ZWdlcgEFCmtUb3RhbEZlZWQEDGtGZWVkVHhTdGF0cwkArAICCQCsAgIJAKwCAgIJZHVja2xpbmdfBQ5yZWFsRHVja2xpbmdJZAIGX3N0YXRfCQCkAwEIBQlsYXN0QmxvY2sJdGltZXN0YW1wBBBjYWxjdWxhdGVSZXN1bHRzCQEZY2FsY3VsYXRlTmV3RHVja2xpbmdMZXZlbAIFDnJlYWxEdWNrbGluZ0lkBQ5jdXJyZW50UGF5bWVudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSa0R1Y2tsaW5nTGFzdEZlZFRzCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUKa1RvdGFsRmVlZAkAZAIFCXRvdGFsRmVlZAUOY3VycmVudFBheW1lbnQJAMwIAgkBDEludGVnZXJFbnRyeQIFDGtGZWVkVHhTdGF0cwUOY3VycmVudFBheW1lbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgUJa05ld0xldmVsCAUQY2FsY3VsYXRlUmVzdWx0cwJfMQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFDGtGZWVkVHhTdGF0cwIGX2RlYnVnCQC5CQIIBRBjYWxjdWxhdGVSZXN1bHRzAl8yAgE7BQNuaWwBaQEUdHVybkR1Y2tsaW5nSW50b0R1Y2sAAwkBAiE9AggFAWkGY2FsbGVyCQERZ2V0QnJlZWRlckFkZHJlc3MACQACAQIdQklGRDogWW91IGNhbid0IHR1cm4gZHVja2xpbmcEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEFGxhc3RJc3N1ZWREdWNrbGluZ1RzCQENdHJ5R2V0SW50ZWdlcgEFFktHbG9iYWxJc3N1ZWRUaW1lc3RhbXAEC2ZpdmVNaW5Jbk1zCQBoAgkAaAIAAQA8AOgHBAh0aW1lRGlmZgkAZQIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQBkAgUUbGFzdElzc3VlZER1Y2tsaW5nVHMFC2ZpdmVNaW5Jbk1zAwMJAGYCBRRsYXN0SXNzdWVkRHVja2xpbmdUcwAACQBmAgAABQh0aW1lRGlmZgcJAAIBCQCsAgIJAKwCAgJCQlREOiBDYW4gaXNzdWUgZHVja2xpbmdzIG9ubHkgb25jZSBwZXIgMSBtaW51dGVzLCBwbGVhc2Ugd2FpdCBmb3IgCQCkAwEJAGsDBQh0aW1lRGlmZgABAOgHAgUgc2VjLgMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECLkJURDogQmFkIHBheW1lbnQgYXR0YWNoZWQgKGFzc2V0W3NdIG9yIGFtb3VudCkEA3BtdAkBBXZhbHVlAQkA7AcBCQEFdmFsdWUBCAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQDCQBmAgUNRFVDS0xJTkdQUklDRQkBEmdldEN1cnJlbnRMZXZlbEludAEJANgEAQgFA3BtdAJpZAkAAgEJAKwCAgkArAICCQCsAgICIUJURDogRHVja2xpbmcgaXMgbm90IGdyb3duIHlldC4uLgkApAMBCQESZ2V0Q3VycmVudExldmVsSW50AQkA2AQBCAUDcG10AmlkAgEgCQCkAwEFDURVQ0tMSU5HUFJJQ0UDCQECIT0CCAUDcG10Bmlzc3VlcgUEdGhpcwkAAgECKkJURDogQ2FuIHVzZSBvbmx5IGR1Y2tsaW5ncyBmcm9tIHRoaXMgZEFwcAQOa0R1Y2tsaW5nR3Jvd24JARBrZXlEdWNrbGluZ0dyb3duAQkA2AQBCAUDcG10AmlkCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFDmtEdWNrbGluZ0dyb3duBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUWS0dsb2JhbElzc3VlZFRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXAFA25pbAkA2AQBCAUDcG10AmlkAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleaMIkQk=", "height": 3245108, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8yBjF3VRkWQqDtpTjt99pio6iv498FABJHEPRsK3mjVS Next: 9UucCZm2RobSgxz8zYjLzGz4wUmhKW3PYF516sUWvKab Diff:
OldNewDifferences
117117 let J = F
118118 let K = y(g)
119119 let L = (K + F)
120- if ((L >= n))
120+ if ((L > n))
121121 then throw((("CBDB: You are feeding your duckling to much! Only " + toString((n - K))) + "needed!"))
122122 else {
123123 let M = toString(L)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = {
55 let d = getString(b, c)
66 if ($isInstanceOf(d, "String"))
77 then {
88 let e = d
99 e
1010 }
1111 else ""
1212 }
1313
1414
1515 func f (g) = (("duckling_" + g) + "_blacklisted")
1616
1717
1818 func h (b,c) = {
1919 let d = getInteger(b, c)
2020 if ($isInstanceOf(d, "Int"))
2121 then {
2222 let i = d
2323 i
2424 }
2525 else 0
2626 }
2727
2828
2929 func j (c) = a(this, c)
3030
3131
3232 func k () = Address(fromBase58String(j("static_oracleAddress")))
3333
3434
3535 func l () = fromBase58String(a(k(), "static_spiceAssetId"))
3636
3737
3838 func m () = Address(fromBase58String(a(k(), "static_breederAddress")))
3939
4040
4141 let n = 10000000000
4242
4343 let o = "global_issued_timestamp"
4444
4545 func p (g) = (("duckling_" + g) + "_feed")
4646
4747
4848 func q (g) = (("duckling_" + g) + "_fedLastTs")
4949
5050
5151 func r (g) = (("duckling_" + g) + "_level")
5252
5353
5454 func s (g) = (("duckling_" + g) + "_grown")
5555
5656
5757 func t (g) = (("duckling_" + g) + "_startPercentage")
5858
5959
6060 func u (g) = (("duckling_" + g) + "_owner")
6161
6262
6363 func v (c) = {
6464 let w = {
6565 let d = getInteger(this, c)
6666 if ($isInstanceOf(d, "Int"))
6767 then {
6868 let i = d
6969 i
7070 }
7171 else 0
7272 }
7373 w
7474 }
7575
7676
7777 func x (c) = {
7878 let d = getBoolean(this, c)
7979 if ($isInstanceOf(d, "Boolean"))
8080 then {
8181 let i = d
8282 i
8383 }
8484 else false
8585 }
8686
8787
8888 func y (g) = {
8989 let z = r(g)
9090 let d = getString(z)
9191 if ($isInstanceOf(d, "String"))
9292 then {
9393 let A = d
9494 parseIntValue(A)
9595 }
9696 else if ($isInstanceOf(d, "Unit"))
9797 then {
9898 let B = d
9999 0
100100 }
101101 else throw("BGCLBI: Weird value detected!")
102102 }
103103
104104
105105 func C (g) = {
106106 let D = v(q(g))
107107 if ((D > 0))
108108 then D
109109 else lastBlock.timestamp
110110 }
111111
112112
113113 func E (g,F) = {
114114 let G = lastBlock.timestamp
115115 let H = C(g)
116116 let I = (G - H)
117117 let J = F
118118 let K = y(g)
119119 let L = (K + F)
120- if ((L >= n))
120+ if ((L > n))
121121 then throw((("CBDB: You are feeding your duckling to much! Only " + toString((n - K))) + "needed!"))
122122 else {
123123 let M = toString(L)
124124 $Tuple2(M, [("currentLevel=" + toString(K)), ("newLevel=" + toString(L)), ("growth=" + toString(J)), ("lastFedTs=" + toString(H)), ("fedDiff=" + toString(I))])
125125 }
126126 }
127127
128128
129129 func N (O) = {
130130 let d = O
131131 if ($isInstanceOf(d, "Int"))
132132 then {
133133 let P = d
134134 P
135135 }
136136 else throw("BAI: wrong type, expected: Int")
137137 }
138138
139139
140140 func Q (c) = {
141141 let d = getBoolean(c)
142142 if ($isInstanceOf(d, "Boolean"))
143143 then {
144144 let i = d
145145 i
146146 }
147147 else false
148148 }
149149
150150
151151 @Callable(R)
152152 func configureOracle (S) = if ((R.caller != this))
153153 then throw("BCO: admin only")
154154 else [StringEntry("static_oracleAddress", S)]
155155
156156
157157
158158 @Callable(R)
159159 func issueDuckling (b,T) = if ((R.caller != m()))
160160 then throw("BIFD: You can't issue free duckling")
161161 else {
162162 let U = Issue("BABY-11111111-HZ", "", 1, 0, false, unit, height)
163163 let V = calculateAssetId(U)
164164 $Tuple2([StringEntry((((b + "_") + T) + "_di"), toBase58String(V)), IntegerEntry("stats_amount", (v("stats_amount") + 1)), BooleanEntry((("duckling_" + toBase58String(V)) + "_issuedByFeedCall"), (R.caller == this)), IntegerEntry(t(toBase58String(V)), 0), StringEntry(u(toBase58String(V)), b), U, ScriptTransfer(value(addressFromString(b)), 1, V)], toBase58String(V))
165165 }
166166
167167
168168
169169 @Callable(R)
170170 func feedDuckling (g) = {
171171 let W = toString(R.caller)
172172 let X = if (if ((size(R.payments) != 1))
173173 then true
174174 else (value(R.payments[0]).assetId != l()))
175175 then throw("BFD: Bad payment attached (asset[s] or amount)")
176176 else {
177177 let Y = Q(f(g))
178178 if (Y)
179179 then throw("BFD: Can not feed blacklisted duckling!")
180180 else if (x(s(g)))
181181 then throw("BFD: Duckling is already grown")
182182 else if ((g == ""))
183183 then throw("BFD: Please hatch a duckling first!")
184184 else {
185185 let Z = j(u(g))
186186 let aa = value(assetInfo(fromBase58String(g)))
187187 if ((assetBalance(R.caller, aa.id) != 1))
188188 then throw("BFD: You're not the owner of the duckling")
189189 else if ((Z != toString(R.caller)))
190190 then throw("BFD: You can only feed ducklings that you won/bought yourself!")
191191 else if ((aa.issuer != this))
192192 then throw("BFD: Cant find duckling with such id")
193193 else {
194194 let ab = toBase58String(aa.id)
195195 ab
196196 }
197197 }
198198 }
199199 let ac = q(g)
200200 let ad = value(R.payments[0]).amount
201201 let ae = r(X)
202202 let af = p(X)
203203 let ag = v(af)
204204 let ah = ((("duckling_" + X) + "_stat_") + toString(lastBlock.timestamp))
205205 let ai = E(X, ad)
206206 [IntegerEntry(ac, lastBlock.timestamp), IntegerEntry(af, (ag + ad)), IntegerEntry(ah, ad), StringEntry(ae, ai._1), StringEntry((ah + "_debug"), makeString(ai._2, ";"))]
207207 }
208208
209209
210210
211211 @Callable(R)
212212 func turnDucklingIntoDuck () = if ((R.caller != m()))
213213 then throw("BIFD: You can't turn duckling")
214214 else {
215215 let b = toString(R.caller)
216216 let aj = toBase58String(R.transactionId)
217217 let ak = v(o)
218218 let al = ((1 * 60) * 1000)
219219 let am = (lastBlock.timestamp - (ak + al))
220220 if (if ((ak > 0))
221221 then (0 > am)
222222 else false)
223223 then throw((("BTD: Can issue ducklings only once per 1 minutes, please wait for " + toString(fraction(am, 1, 1000))) + " sec."))
224224 else if ((size(R.payments) != 1))
225225 then throw("BTD: Bad payment attached (asset[s] or amount)")
226226 else {
227227 let an = value(assetInfo(value(value(R.payments[0]).assetId)))
228228 if ((n > y(toBase58String(an.id))))
229229 then throw(((("BTD: Duckling is not grown yet..." + toString(y(toBase58String(an.id)))) + " ") + toString(n)))
230230 else if ((an.issuer != this))
231231 then throw("BTD: Can use only ducklings from this dApp")
232232 else {
233233 let ao = s(toBase58String(an.id))
234234 $Tuple2([BooleanEntry(ao, true), IntegerEntry(o, lastBlock.timestamp)], toBase58String(an.id))
235235 }
236236 }
237237 }
238238
239239
240240 @Verifier(ap)
241241 func aq () = sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey)
242242

github/deemru/w8io/873ac7e 
303.80 ms