tx · JC89mcd8aGeBEdEYFwgL3aDPLoT3MbPPQyNNf6jfV3yV

3PDfoacTnFVu8P9QfagFeMU959K2Eb8FqCW:  -0.01000000 Waves

2023.02.18 23:44 [3521125] smart account 3PDfoacTnFVu8P9QfagFeMU959K2Eb8FqCW > SELF 0.00000000 Waves

{ "type": 13, "id": "JC89mcd8aGeBEdEYFwgL3aDPLoT3MbPPQyNNf6jfV3yV", "fee": 1000000, "feeAssetId": null, "timestamp": 1676753108671, "version": 2, "chainId": 87, "sender": "3PDfoacTnFVu8P9QfagFeMU959K2Eb8FqCW", "senderPublicKey": "53frBJ3hPy8Gpuaf78Y8PjLPFxNRUo4SMYkaio9sME21", "proofs": [ "4TFDgwRw2XNmt6XR31pQrdpnmWPXKzCXg6RjU16wXdPsajMZZE21pdpJ748ixVGu5mX6DcZFujqwtEDTeqtRE6km" ], "script": "base64:BgI2CAISAwoBARIDCgEBEgMKAQgSAwoBCBIAEggKBggICAEIARIICgYICAgBCAESBgoECAgIARIACAAEVVNETgEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEABFNVUkYBIJLR9EriEQEr9H7q3iGOPcX7yfJ9zoey7VIZ8DpOJFj1AAxhZG1pbkFkZHJlc3MJAQdBZGRyZXNzAQEaAVc0FN9xREbfMFTR97icc0UMqzorm02OJmEAC2FnZ3JBZGRyZXNzCQEHQWRkcmVzcwEBGgFXJqAMCkZONGXCherIE8gqRGALS8LL8ZtsAA91c2RuQWdnckFkZHJlc3MJAQdBZGRyZXNzAQEaAVcHjOFVob2YfPYA61m/TjnrxEWlXnNk32wAC3plZnRBZGRyZXNzCQEHQWRkcmVzcwEBGgFXbzqFfFF8HEJnS7j6bl/S88SZ3WHnKFgLAQlhc0FueUxpc3QBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAFsBQckbWF0Y2gwBQFsCQACAQIEI2VycgEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwBQF4BAF0BQckbWF0Y2gwCQACAQIEI2VycgkBaQEIdXNkbl8xMDABBmFtb3VudAQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQRzdXJmAQF3AwMJAQIhPQIIBQFpBmNhbGxlcgUMYWRtaW5BZGRyZXNzCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMHCQACAQIRb25seSBhZG1pbiBjYW4gZG8ED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1A3N2lVdXNOd01NeldGZEM4ZjdiZnR3cEh5RzFQQnMxZ3ECGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQNuaWwFA25pbAQCQlIJAQVhc0ludAEJAJEDAgUPbmV1dHJpbm9NZXRyaWNzAAgDCQBmAgUBdwUCQlIEA2ludgkA/AcECQEHQWRkcmVzcwEBGgFXdRLdk4IPW94ldhU5y0nVH1MoCcTocV4nAhV3aXRoZHJhd1Zlc3RlZEFsbFNVUkYJAMwIAgcJAMwIAgYFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BAdhQW1vdW50CQDwBwIFBHRoaXMFBFNVUkYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MFB2FBbW91bnQFBFNVUkYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgILYnIgaXMgYmFkLiAJAKQDAQUCQlIBaQEJdG9WZXN0aW5nAQFiAwMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluQWRkcmVzcwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQR0aGlzBwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQthZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAtyZXBheUFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECnJlcGF5QXNzZXQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQEaW52MQkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64AgVyZXBheQkAzAgCBQFiBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnJlcGF5QXNzZXQFC3JlcGF5QW1vdW50BQNuaWwDCQAAAgUEaW52MQUEaW52MQQEaW52MgkA/AcECQEHQWRkcmVzcwEBGgFXdRLdk4IPW94ldhU5y0nVH1MoCcTocV4nAg1jb252ZXJ0VG9VU0ROBQNuaWwFA25pbAMJAAACBQRpbnYyBQRpbnYyBARpbnYzCQD8BwQJAQdBZGRyZXNzAQEaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgCCHdpdGhkcmF3CQDMCAICLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwCQDMCAIA////////////AQUDbmlsBQNuaWwDCQAAAgUEaW52MwUEaW52MwQHYmFsYW5jZQkA8AcCBQR0aGlzCQEFdmFsdWUBBQpyZXBheUFzc2V0AwkAAAIFB2JhbGFuY2UFB2JhbGFuY2UJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MFB2JhbGFuY2UFCnJlcGF5QXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUPdXNkbkFnZ3JBZGRyZXNzCQDwBwIFBHRoaXMFBFVTRE4FBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9yZXdhcmRzX3Zlc3RpbmcBCnN0ckFkZHJlc3MDAwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQxhZG1pbkFkZHJlc3MJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgUEdGhpcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQJdG9BZGRyZXNzAwkAAAIFCnN0ckFkZHJlc3MCIzNQQzUxcWdOUXo0eHg3bTFEaExkQ0RZRVNhZU5LVDZ6ZUZ0BQt6ZWZ0QWRkcmVzcwUPdXNkbkFnZ3JBZGRyZXNzBBF1c2RuQW1vdW50T25TdGFydAkA8AcCBQR0aGlzBQRVU0ROAwkAAAIFEXVzZG5BbW91bnRPblN0YXJ0BRF1c2RuQW1vdW50T25TdGFydAQDaW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQS1prNVRkUENMUDJHWnZpaXBMRmZLNDZFeFRud2tSQ0JkAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BBd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkA8AcCBQR0aGlzBQRVU0ROAwkAAAIFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQl0b0FkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlpbXBvcnRfbHAAAwMDAwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQxhZG1pbkFkZHJlc3MJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgUEdGhpcwcJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgULYWdnckFkZHJlc3MHCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFD3VzZG5BZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAtyZXBheUFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECnJlcGF5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dGFydAkA8AcCBQR0aGlzCQDZBAEFAXcDCQAAAgUNYW1vdW50T25TdGFydAUNYW1vdW50T25TdGFydAQEaW52MwkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64Agh3aXRoZHJhdwkAzAgCBQF3CQDMCAIA////////////AQUDbmlsBQNuaWwDCQAAAgUEaW52MwUEaW52MwQHYmFsYW5jZQkA8AcCBQR0aGlzCQDZBAEFAXcDCQAAAgUHYmFsYW5jZQUHYmFsYW5jZQMJAAACBQJ3YQAACQACAQkApAMBCQBlAgUHYmFsYW5jZQUNYW1vdW50T25TdGFydAMJAGYCBQJ3YQkAZQIFB2JhbGFuY2UFDWFtb3VudE9uU3RhcnQJAAIBAgNsb3cJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQBlAgUHYmFsYW5jZQUNYW1vdW50T25TdGFydAkA2QQBBQF3BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEDbGlxBAJicgJjcgF2AmxhAwMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluQWRkcmVzcwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQR0aGlzBwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQthZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAxzdXBwbHlBbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAtzdXBwbHlBc3NldAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAwkBAiE9AgULc3VwcGx5QXNzZXQFBFVTRE4JAAIBAhFiYWQgZGVwb3NpdCBhc3NldAQEaW52MQkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64AgdkZXBvc2l0CQDMCAICIzNQQ3dGWFNxOHZqOGlLaXRBNXpyckxSYnVxZWhmbWltcGNlCQDMCAIGBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3N1cHBseUFzc2V0BQxzdXBwbHlBbW91bnQFA25pbAMJAAACBQRpbnYxBQRpbnYxBARpbnYyCQD8BwQJAQdBZGRyZXNzAQEaAVexXZAnkJGV5GTCo410EYAt5sKH1KjtIjwCDHRyYW5zZmVyRGVidAkAzAgCBQJicgkAzAgCBQJjcgkAzAgCBQF2CQDMCAIFAmxhBQNuaWwFA25pbAMJAAACBQRpbnYyBQRpbnYyBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFcmVwYXkAAwMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluQWRkcmVzcwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQR0aGlzBwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQthZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAtyZXBheUFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECnJlcGF5QXNzZXQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQEaW52MQkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64AgVyZXBheQkAzAgCAiMzUFBkZVd3cnpheHFncjZCdVJlb0Yzc1dmeFc4U1l2NzQzRAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpyZXBheUFzc2V0BQtyZXBheUFtb3VudAUDbmlsAwkAAAIFBGludjEFBGludjEEBGludjIJAPwHBAkBB0FkZHJlc3MBARoBV17BlhkwyaJDeEZp1ibW8ea4Q9C99kweuAIJd2l0aGRyYXcyCQDMCAICIzNQTjFMWGR3dUZXSDNwYUYzZnBNTkNXazdvV1J6WENlTVNDCQDMCAIA////////////AQUDbmlsBQNuaWwDCQAAAgUEaW52MgUEaW52MgQEaW52MwkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64Agl3aXRoZHJhdzIJAMwIAgIjM1BDd0ZYU3E4dmo4aUtpdEE1enJyTFJidXFlaGZtaW1wY2UJAMwIAgD///////////8BBQNuaWwFA25pbAMJAAACBQRpbnYzBQRpbnYzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkA8AcCBQR0aGlzCQEFdmFsdWUBBQpyZXBheUFzc2V0BQpyZXBheUFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkA8AcCBQR0aGlzCQDZBAECLDZYdEhqcFhiczlSUkpQMlNyOUdVeVZxekFDY2J5OVRrVGhIWG5qVkM1Q0RKCQDZBAECLDZYdEhqcFhiczlSUkpQMlNyOUdVeVZxekFDY2J5OVRrVGhIWG5qVkM1Q0RKCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkA8AcCBQR0aGlzCQDZBAECLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwCQDZBAECLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AF7OHag==", "height": 3521125, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9QhL74YLWzWk2Af8tx9p5ucg2Z6d4mh64TtuYtdsMpPU Next: 3cYLRham9J9K9S9vnunhmau6XZgKaSsuC1Bg5NaPuEWj Diff:
OldNewDifferences
155155 }
156156
157157
158+
159+@Callable(i)
160+func itsmine (br,cr,v,la,w,wa) = if (if (if ((i.originCaller != adminAddress))
161+ then (i.originCaller != this)
162+ else false)
163+ then (i.originCaller != aggrAddress)
164+ else false)
165+ then throw("only admin can do")
166+ else if ((size(i.payments) != 1))
167+ then throw("bad payment")
168+ else {
169+ let supplyAmount = i.payments[0].amount
170+ let supplyAsset = i.payments[0].assetId
171+ if ((supplyAsset != USDN))
172+ then throw("bad deposit asset")
173+ else {
174+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
175+ if ((inv1 == inv1))
176+ then {
177+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
178+ if ((inv2 == inv2))
179+ then {
180+ let amountOnStart = assetBalance(this, fromBase58String(w))
181+ if ((amountOnStart == amountOnStart))
182+ then {
183+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", [w, -1], nil)
184+ if ((inv3 == inv3))
185+ then {
186+ let balance = assetBalance(this, fromBase58String(w))
187+ if ((balance == balance))
188+ then if ((wa == 0))
189+ then throw(toString((balance - amountOnStart)))
190+ else if ((wa > (balance - amountOnStart)))
191+ then throw("low")
192+ else [ScriptTransfer(i.caller, (balance - amountOnStart), fromBase58String(w))]
193+ else throw("Strict value is not equal to itself.")
194+ }
195+ else throw("Strict value is not equal to itself.")
196+ }
197+ else throw("Strict value is not equal to itself.")
198+ }
199+ else throw("Strict value is not equal to itself.")
200+ }
201+ else throw("Strict value is not equal to itself.")
202+ }
203+ }
204+
205+
206+
207+@Callable(i)
208+func itsminewod (br,cr,v,la,w,wa) = if (if (if ((i.originCaller != adminAddress))
209+ then (i.originCaller != this)
210+ else false)
211+ then (i.originCaller != aggrAddress)
212+ else false)
213+ then throw("only admin can do")
214+ else if ((1 != 1))
215+ then throw("bad payment")
216+ else if ((1 != 1))
217+ then throw("bad deposit asset")
218+ else {
219+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
220+ if ((inv2 == inv2))
221+ then {
222+ let amountOnStart = assetBalance(this, fromBase58String(w))
223+ if ((amountOnStart == amountOnStart))
224+ then {
225+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", [w, -1], nil)
226+ if ((inv3 == inv3))
227+ then {
228+ let balance = assetBalance(this, fromBase58String(w))
229+ if ((balance == balance))
230+ then if ((wa == 0))
231+ then throw(toString((balance - amountOnStart)))
232+ else if ((wa > (balance - amountOnStart)))
233+ then throw("low")
234+ else [ScriptTransfer(i.caller, (balance - amountOnStart), fromBase58String(w))]
235+ else throw("Strict value is not equal to itself.")
236+ }
237+ else throw("Strict value is not equal to itself.")
238+ }
239+ else throw("Strict value is not equal to itself.")
240+ }
241+ else throw("Strict value is not equal to itself.")
242+ }
243+
244+
245+
246+@Callable(i)
247+func liq (br,cr,v,la) = if (if (if ((i.originCaller != adminAddress))
248+ then (i.originCaller != this)
249+ else false)
250+ then (i.originCaller != aggrAddress)
251+ else false)
252+ then throw("only admin can do")
253+ else if ((size(i.payments) != 1))
254+ then throw("bad payment")
255+ else {
256+ let supplyAmount = i.payments[0].amount
257+ let supplyAsset = i.payments[0].assetId
258+ if ((supplyAsset != USDN))
259+ then throw("bad deposit asset")
260+ else {
261+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
262+ if ((inv1 == inv1))
263+ then {
264+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
265+ if ((inv2 == inv2))
266+ then nil
267+ else throw("Strict value is not equal to itself.")
268+ }
269+ else throw("Strict value is not equal to itself.")
270+ }
271+ }
272+
273+
274+
275+@Callable(i)
276+func repay () = if (if (if ((i.originCaller != adminAddress))
277+ then (i.originCaller != this)
278+ else false)
279+ then (i.originCaller != aggrAddress)
280+ else false)
281+ then throw("only admin can do")
282+ else if ((size(i.payments) != 1))
283+ then throw("bad payment")
284+ else {
285+ let repayAmount = i.payments[0].amount
286+ let repayAsset = i.payments[0].assetId
287+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", ["3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D"], [AttachedPayment(repayAsset, repayAmount)])
288+ if ((inv1 == inv1))
289+ then {
290+ let inv2 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw2", ["3PN1LXdwuFWH3paF3fpMNCWk7oWRzXCeMSC", -1], nil)
291+ if ((inv2 == inv2))
292+ then {
293+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw2", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", -1], nil)
294+ if ((inv3 == inv3))
295+ then [ScriptTransfer(i.caller, assetBalance(this, value(repayAsset)), repayAsset), ScriptTransfer(i.caller, assetBalance(this, fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")), ScriptTransfer(i.caller, assetBalance(this, fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")), fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"))]
296+ else throw("Strict value is not equal to itself.")
297+ }
298+ else throw("Strict value is not equal to itself.")
299+ }
300+ else throw("Strict value is not equal to itself.")
301+ }
302+
303+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
66 let SURF = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
77
88 let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
99
1010 let aggrAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
1111
1212 let usdnAggrAddress = Address(base58'3P2cpE7nusQRRFt3Tg22WtKfdi6bUKwmqVM')
1313
1414 let zeftAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
1515
1616 func asAnyList (v) = match v {
1717 case l: List[Any] =>
1818 l
1919 case _ =>
2020 throw("#err")
2121 }
2222
2323
2424 func asInt (v) = match v {
2525 case x: Int =>
2626 x
2727 case t =>
2828 throw("#err")
2929 }
3030
3131
3232 @Callable(i)
3333 func usdn_100 (amount) = {
3434 let usdnAmountOnStart = assetBalance(this, USDN)
3535 if ((usdnAmountOnStart == usdnAmountOnStart))
3636 then {
3737 let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
3838 if ((inv == inv))
3939 then {
4040 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
4141 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
4242 then [ScriptTransfer(aggrAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
4343 else throw("Strict value is not equal to itself.")
4444 }
4545 else throw("Strict value is not equal to itself.")
4646 }
4747 else throw("Strict value is not equal to itself.")
4848 }
4949
5050
5151
5252 @Callable(i)
5353 func surf (w) = if (if ((i.caller != adminAddress))
5454 then (i.caller != this)
5555 else false)
5656 then throw("only admin can do")
5757 else {
5858 let neutrinoMetrics = asAnyList(invoke(addressFromStringValue("3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq"), "calcNeutinoMetricsREADONLY", nil, nil))
5959 let BR = asInt(neutrinoMetrics[8])
6060 if ((w > BR))
6161 then {
6262 let inv = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllSURF", [false, true], nil)
6363 if ((inv == inv))
6464 then {
6565 let aAmount = assetBalance(this, SURF)
6666 [ScriptTransfer(aggrAddress, aAmount, SURF)]
6767 }
6868 else throw("Strict value is not equal to itself.")
6969 }
7070 else throw(("br is bad. " + toString(BR)))
7171 }
7272
7373
7474
7575 @Callable(i)
7676 func toVesting (b) = if (if (if ((i.originCaller != adminAddress))
7777 then (i.originCaller != this)
7878 else false)
7979 then (i.originCaller != aggrAddress)
8080 else false)
8181 then throw("only admin can do")
8282 else if ((size(i.payments) != 1))
8383 then throw("bad payment")
8484 else {
8585 let repayAmount = i.payments[0].amount
8686 let repayAsset = i.payments[0].assetId
8787 let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
8888 if ((inv1 == inv1))
8989 then {
9090 let inv2 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
9191 if ((inv2 == inv2))
9292 then {
9393 let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
9494 if ((inv3 == inv3))
9595 then {
9696 let balance = assetBalance(this, value(repayAsset))
9797 if ((balance == balance))
9898 then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
9999 else throw("Strict value is not equal to itself.")
100100 }
101101 else throw("Strict value is not equal to itself.")
102102 }
103103 else throw("Strict value is not equal to itself.")
104104 }
105105 else throw("Strict value is not equal to itself.")
106106 }
107107
108108
109109
110110 @Callable(i)
111111 func rewards_vesting (strAddress) = if (if ((i.originCaller != adminAddress))
112112 then (i.originCaller != this)
113113 else false)
114114 then throw("only admin can do")
115115 else {
116116 let toAddress = if ((strAddress == "3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt"))
117117 then zeftAddress
118118 else usdnAggrAddress
119119 let usdnAmountOnStart = assetBalance(this, USDN)
120120 if ((usdnAmountOnStart == usdnAmountOnStart))
121121 then {
122122 let inv = invoke(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), "claimRewards", nil, nil)
123123 if ((inv == inv))
124124 then {
125125 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
126126 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
127127 then [ScriptTransfer(toAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
128128 else throw("Strict value is not equal to itself.")
129129 }
130130 else throw("Strict value is not equal to itself.")
131131 }
132132 else throw("Strict value is not equal to itself.")
133133 }
134134
135135
136136
137137 @Callable(i)
138138 func import_lp () = if (if (if (if ((i.originCaller != adminAddress))
139139 then (i.originCaller != this)
140140 else false)
141141 then (i.originCaller != aggrAddress)
142142 else false)
143143 then (i.originCaller != usdnAggrAddress)
144144 else false)
145145 then throw("only admin can do")
146146 else if ((size(i.payments) != 1))
147147 then throw("bad payment")
148148 else {
149149 let repayAmount = i.payments[0].amount
150150 let repayAsset = i.payments[0].assetId
151151 let inv = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "replenishWithAtoken", nil, i.payments)
152152 if ((inv == inv))
153153 then nil
154154 else throw("Strict value is not equal to itself.")
155155 }
156156
157157
158+
159+@Callable(i)
160+func itsmine (br,cr,v,la,w,wa) = if (if (if ((i.originCaller != adminAddress))
161+ then (i.originCaller != this)
162+ else false)
163+ then (i.originCaller != aggrAddress)
164+ else false)
165+ then throw("only admin can do")
166+ else if ((size(i.payments) != 1))
167+ then throw("bad payment")
168+ else {
169+ let supplyAmount = i.payments[0].amount
170+ let supplyAsset = i.payments[0].assetId
171+ if ((supplyAsset != USDN))
172+ then throw("bad deposit asset")
173+ else {
174+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
175+ if ((inv1 == inv1))
176+ then {
177+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
178+ if ((inv2 == inv2))
179+ then {
180+ let amountOnStart = assetBalance(this, fromBase58String(w))
181+ if ((amountOnStart == amountOnStart))
182+ then {
183+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", [w, -1], nil)
184+ if ((inv3 == inv3))
185+ then {
186+ let balance = assetBalance(this, fromBase58String(w))
187+ if ((balance == balance))
188+ then if ((wa == 0))
189+ then throw(toString((balance - amountOnStart)))
190+ else if ((wa > (balance - amountOnStart)))
191+ then throw("low")
192+ else [ScriptTransfer(i.caller, (balance - amountOnStart), fromBase58String(w))]
193+ else throw("Strict value is not equal to itself.")
194+ }
195+ else throw("Strict value is not equal to itself.")
196+ }
197+ else throw("Strict value is not equal to itself.")
198+ }
199+ else throw("Strict value is not equal to itself.")
200+ }
201+ else throw("Strict value is not equal to itself.")
202+ }
203+ }
204+
205+
206+
207+@Callable(i)
208+func itsminewod (br,cr,v,la,w,wa) = if (if (if ((i.originCaller != adminAddress))
209+ then (i.originCaller != this)
210+ else false)
211+ then (i.originCaller != aggrAddress)
212+ else false)
213+ then throw("only admin can do")
214+ else if ((1 != 1))
215+ then throw("bad payment")
216+ else if ((1 != 1))
217+ then throw("bad deposit asset")
218+ else {
219+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
220+ if ((inv2 == inv2))
221+ then {
222+ let amountOnStart = assetBalance(this, fromBase58String(w))
223+ if ((amountOnStart == amountOnStart))
224+ then {
225+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", [w, -1], nil)
226+ if ((inv3 == inv3))
227+ then {
228+ let balance = assetBalance(this, fromBase58String(w))
229+ if ((balance == balance))
230+ then if ((wa == 0))
231+ then throw(toString((balance - amountOnStart)))
232+ else if ((wa > (balance - amountOnStart)))
233+ then throw("low")
234+ else [ScriptTransfer(i.caller, (balance - amountOnStart), fromBase58String(w))]
235+ else throw("Strict value is not equal to itself.")
236+ }
237+ else throw("Strict value is not equal to itself.")
238+ }
239+ else throw("Strict value is not equal to itself.")
240+ }
241+ else throw("Strict value is not equal to itself.")
242+ }
243+
244+
245+
246+@Callable(i)
247+func liq (br,cr,v,la) = if (if (if ((i.originCaller != adminAddress))
248+ then (i.originCaller != this)
249+ else false)
250+ then (i.originCaller != aggrAddress)
251+ else false)
252+ then throw("only admin can do")
253+ else if ((size(i.payments) != 1))
254+ then throw("bad payment")
255+ else {
256+ let supplyAmount = i.payments[0].amount
257+ let supplyAsset = i.payments[0].assetId
258+ if ((supplyAsset != USDN))
259+ then throw("bad deposit asset")
260+ else {
261+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
262+ if ((inv1 == inv1))
263+ then {
264+ let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", [br, cr, v, la], nil)
265+ if ((inv2 == inv2))
266+ then nil
267+ else throw("Strict value is not equal to itself.")
268+ }
269+ else throw("Strict value is not equal to itself.")
270+ }
271+ }
272+
273+
274+
275+@Callable(i)
276+func repay () = if (if (if ((i.originCaller != adminAddress))
277+ then (i.originCaller != this)
278+ else false)
279+ then (i.originCaller != aggrAddress)
280+ else false)
281+ then throw("only admin can do")
282+ else if ((size(i.payments) != 1))
283+ then throw("bad payment")
284+ else {
285+ let repayAmount = i.payments[0].amount
286+ let repayAsset = i.payments[0].assetId
287+ let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", ["3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D"], [AttachedPayment(repayAsset, repayAmount)])
288+ if ((inv1 == inv1))
289+ then {
290+ let inv2 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw2", ["3PN1LXdwuFWH3paF3fpMNCWk7oWRzXCeMSC", -1], nil)
291+ if ((inv2 == inv2))
292+ then {
293+ let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw2", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", -1], nil)
294+ if ((inv3 == inv3))
295+ then [ScriptTransfer(i.caller, assetBalance(this, value(repayAsset)), repayAsset), ScriptTransfer(i.caller, assetBalance(this, fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")), ScriptTransfer(i.caller, assetBalance(this, fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")), fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"))]
296+ else throw("Strict value is not equal to itself.")
297+ }
298+ else throw("Strict value is not equal to itself.")
299+ }
300+ else throw("Strict value is not equal to itself.")
301+ }
302+
303+

github/deemru/w8io/3ef1775 
37.09 ms