tx · DQEGrEG5R9r29dD9U5q1k4NWuVUQDbBnLZvaTgUaXsAw

3P8ScM8vDYv3YK1QhFMbF4LsbZTRSowSQLx:  -0.01000000 Waves

2023.01.04 01:41 [3454868] smart account 3P8ScM8vDYv3YK1QhFMbF4LsbZTRSowSQLx > SELF 0.00000000 Waves

{ "type": 13, "id": "DQEGrEG5R9r29dD9U5q1k4NWuVUQDbBnLZvaTgUaXsAw", "fee": 1000000, "feeAssetId": null, "timestamp": 1672785725824, "version": 1, "sender": "3P8ScM8vDYv3YK1QhFMbF4LsbZTRSowSQLx", "senderPublicKey": "ERKkYKnafViKTn8uQkz9XhvosihQ5XyXkRCm2ztrjZey", "proofs": [ "3pp546pWRNayCB2pKPAKki4kARzSdhJvN3fh2GiPDvyhVxTizPHBSKmJPAQGk4eTEEustLGJjsC4Dx5Z1dDH9uTN" ], "script": "base64:BgIICAISABIAEgAOAA9wcmljZU9yYWNsZUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQNUJmZDU4UFBmTnZCTTJIeThRZmJjRHFNZU50emc3S2ZQAA9jb2xsYXRlcmFsTGltaXQJAGgCAICt4gQAgMLXLwALb3JhY2xlSW5kZXgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ9wcmljZU9yYWNsZUFkZHICC3ByaWNlX2luZGV4AhRFcnJvcjogTm8gcHJpY2UgZGF0YQAQb3JhY2xlSW5kZXhCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFD3ByaWNlT3JhY2xlQWRkcgkArAICAgxwcmljZV9pbmRleF8JAKQDAQULb3JhY2xlSW5kZXgCFEVycm9yOiBObyBwcmljZSBkYXRhABNvcmFjbGVXYXZlc1ByaWNlVVNECQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUPcHJpY2VPcmFjbGVBZGRyCQCsAgICBnByaWNlXwkApAMBBRBvcmFjbGVJbmRleEJsb2NrAhRFcnJvcjogTm8gcHJpY2UgZGF0YQAHdG9rZW5JZAkAoQgBAgd0b2tlbklkARBnZXRUb2tlblF1YW50aXR5AAQHJG1hdGNoMAkA7AcBCQETdmFsdWVPckVycm9yTWVzc2FnZQIFB3Rva2VuSWQCEUVycm9yOiBObyB0b2tlbklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAgFBWFzc2V0CHF1YW50aXR5CQACAQISQ2FuIG5vdCBmaW5kIHRva2VuAQ1nZXRDb2xsYXRlcmFsAAgJAO8HAQUEdGhpcwdyZWd1bGFyARJnZXRDb2xsYXRlcmFsSW5VU0QACQBrAwgJAO8HAQUEdGhpcwdyZWd1bGFyBRNvcmFjbGVXYXZlc1ByaWNlVVNEAMCEPQEPZ2V0QmFja2luZ1JhdGlvAAkAawMJARJnZXRDb2xsYXRlcmFsSW5VU0QAAJBOCQEQZ2V0VG9rZW5RdWFudGl0eQABEGdldEhpc3RvcmljUHJpY2UBCGRheXNfYWdvBBloaXN0b3JpY19vcmFjbGVJbmRleEJsb2NrCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUPcHJpY2VPcmFjbGVBZGRyCQCsAgICDHByaWNlX2luZGV4XwkApAMBCQBlAgULb3JhY2xlSW5kZXgJAGgCBQhkYXlzX2FnbwCgCwIdRXJyb3I6IE5vIGhpc3RvcmljIHByaWNlIGRhdGEEHGhpc3RvcmljX29yYWNsZVdhdmVzUHJpY2VVU0QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ9wcmljZU9yYWNsZUFkZHIJAKwCAgIGcHJpY2VfCQCkAwEFEG9yYWNsZUluZGV4QmxvY2sCHUVycm9yOiBObyBoaXN0b3JpYyBwcmljZSBkYXRhBRxoaXN0b3JpY19vcmFjbGVXYXZlc1ByaWNlVVNEARVnZXRIaXN0b3JpY1ByaW50TGltaXQBCGRheXNfYWdvBBxoaXN0b3JpY19vcmFjbGVXYXZlc1ByaWNlVVNECQEQZ2V0SGlzdG9yaWNQcmljZQEFCGRheXNfYWdvBAloYWxmUHJpY2UJAGsDBRxoaXN0b3JpY19vcmFjbGVXYXZlc1ByaWNlVVNEAAEAAgMJAGYCBQloYWxmUHJpY2UJARBnZXRIaXN0b3JpY1ByaWNlAQkAZAIABwUIZGF5c19hZ28AAAMJAGYCBQloYWxmUHJpY2UJARBnZXRIaXN0b3JpY1ByaWNlAQkAZAIADgUIZGF5c19hZ28AAAMJAGYCBQloYWxmUHJpY2UJARBnZXRIaXN0b3JpY1ByaWNlAQkAZAIAHgUIZGF5c19hZ28AAAkAaAIAoI0GAIDC1y8BFGdldEN1cnJlbnRQcmludExpbWl0AAQJaGFsZlByaWNlCQBrAwUTb3JhY2xlV2F2ZXNQcmljZVVTRAABAAIDCQBmAgUJaGFsZlByaWNlCQEQZ2V0SGlzdG9yaWNQcmljZQEABwAAAwkAZgIFCWhhbGZQcmljZQkBEGdldEhpc3RvcmljUHJpY2UBAA4AAAMJAGYCBQloYWxmUHJpY2UJARBnZXRIaXN0b3JpY1ByaWNlAQAeAAAJAGgCAKCNBgCAwtcvARRnZXRUb3RhbFByaW50ZWRUb2RheQAEA2tleQkArAICAhN0b3RhbF9wcmludGVkX3RvZGF5CQCkAwEJAG4EBQZoZWlnaHQAoAsAAQUERE9XTgMJAAACCQCfCAEFA2tleQUEdW5pdAAACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQUDa2V5AgNlcnIDAWkBC2NvbnN0cnVjdG9yAAMJAQIhPQIFB3Rva2VuSWQFBHVuaXQJAAIBAipFcnJvcjogQ29uc3RydWN0b3IgYWxyZWFkeSBoYXMgYmVlbiBjYWxsZWQEBWlzc3VlCQDCCAUCBFRlc3QCBFRlc3QAAAAIBgQCaWQJALgIAQUFaXNzdWUJAJQKAgkAzAgCBQVpc3N1ZQkAzAgCCQELQmluYXJ5RW50cnkCAgd0b2tlbklkBQJpZAUDbmlsBQR1bml0AWkBD3N3YXBXYXZlc1RvVGVzdAADCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiNFcnJvcjogT25seSBvbmUgcGF5bWVudCBpcyByZXF1aXJlZAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAADCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkCQACAQIvRXJyb3I6IE9ubHkgV2F2ZXMgdG9rZW4gaXMgYWxsb3dlZCBmb3Igc3dhcHBpbmcDCQBmAgkAZAIICQDvBwEFBHRoaXMHcmVndWxhcggFA3BtdAZhbW91bnQFD2NvbGxhdGVyYWxMaW1pdAkAAgECIEVycm9yOiBDb2xsYXRlcmFsIGxpbWl0IGV4Y2VlZGVkBBBhbW91bnRXaXRob3V0RmVlCQBrAwgFA3BtdAZhbW91bnQFE29yYWNsZVdhdmVzUHJpY2VVU0QAwIQ9BAxyZXR1cm5BbW91bnQJAGsDBRBhbW91bnRXaXRob3V0RmVlAOMHAOgHAwkAZgIJAGQCCQEUZ2V0VG90YWxQcmludGVkVG9kYXkABQxyZXR1cm5BbW91bnQJARRnZXRDdXJyZW50UHJpbnRMaW1pdAAJAAIBAiBFcnJvcjogRGFpbHkgc3dhcCBsaW1pdCBleGNlZWRlZAkAzAgCCQEHUmVpc3N1ZQMJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUHdG9rZW5JZAISRXJyb3I6IG5vIHRva2VuIGlkBQxyZXR1cm5BbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUMcmV0dXJuQW1vdW50BQd0b2tlbklkBQNuaWwBaQEPc3dhcFRlc3RUb1dhdmVzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECI0Vycm9yOiBPbmx5IG9uZSBwYXltZW50IGlzIHJlcXVpcmVkBANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAMJAQIhPQIIBQNwbXQHYXNzZXRJZAUHdG9rZW5JZAkAAgECLkVycm9yOiBPbmx5IFRlc3QgdG9rZW4gaXMgYWxsb3dlZCBmb3Igc3dhcHBpbmcEEGFtb3VudFdpdGhvdXRGZWUJAGsDCAUDcG10BmFtb3VudADAhD0FE29yYWNsZVdhdmVzUHJpY2VVU0QEAmJyCQEPZ2V0QmFja2luZ1JhdGlvAAQFc2hhcmUDCQBmAgCsTQUCYnIJAGUCAOgHCQBpAgkAZQIAkE4FAmJyAAsDCQBmAgCEUgUCYnIA3wcA4wcEDHJldHVybkFtb3VudAkAawMFEGFtb3VudFdpdGhvdXRGZWUFBXNoYXJlAOgHCQDMCAIJAQRCdXJuAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBQd0b2tlbklkAhJFcnJvcjogbm8gdG9rZW4gaWQIBQNwbXQGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUMcmV0dXJuQW1vdW50BQR1bml0BQNuaWwA8tmVBw==", "chainId": 87, "height": 3454868, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: APw1heca28X7GdCboGNKfYWysp2hXnXPUpXZKF8URjDE Next: GM4QHE6DT4YP3Ko6BTQW855QKtoGhVQYfxdNBDouMM3S Diff:
OldNewDifferences
4141
4242
4343 func q (n) = {
44- let p = valueOrErrorMessage(getInteger(a, ("price_" + toString((d - (n * 1440))))), "Error: No price data")
45- p
44+ let p = m(n)
45+ let r = fraction(p, 1, 2)
46+ if ((r > m((7 + n))))
47+ then 0
48+ else if ((r > m((14 + n))))
49+ then 0
50+ else if ((r > m((30 + n))))
51+ then 0
52+ else (100000 * 100000000)
4653 }
4754
4855
49-func r () = {
50- let s = fraction(e, 1, 2)
51- if ((s > m(7)))
56+func s () = {
57+ let r = fraction(e, 1, 2)
58+ if ((r > m(7)))
5259 then 0
53- else if ((s > m(14)))
60+ else if ((r > m(14)))
5461 then 0
55- else if ((s > m(30)))
62+ else if ((r > m(30)))
5663 then 0
5764 else (100000 * 100000000)
5865 }
8996 else {
9097 let z = fraction(y.amount, e, 1000000)
9198 let A = fraction(z, 995, 1000)
92- if (((t() + A) > r()))
99+ if (((t() + A) > s()))
93100 then throw("Error: Daily swap limit exceeded")
94101 else [Reissue(valueOrErrorMessage(f, "Error: no token id"), A, true), ScriptTransfer(v.caller, A, f)]
95102 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP")
55
66 let b = (10000000 * 100000000)
77
88 let c = valueOrErrorMessage(getInteger(a, "price_index"), "Error: No price data")
99
1010 let d = valueOrErrorMessage(getInteger(a, ("price_index_" + toString(c))), "Error: No price data")
1111
1212 let e = valueOrErrorMessage(getInteger(a, ("price_" + toString(d))), "Error: No price data")
1313
1414 let f = getBinary("tokenId")
1515
1616 func g () = {
1717 let h = assetInfo(valueOrErrorMessage(f, "Error: No tokenId"))
1818 if ($isInstanceOf(h, "Asset"))
1919 then {
2020 let i = h
2121 i.quantity
2222 }
2323 else throw("Can not find token")
2424 }
2525
2626
2727 func j () = wavesBalance(this).regular
2828
2929
3030 func k () = fraction(wavesBalance(this).regular, e, 1000000)
3131
3232
3333 func l () = fraction(k(), 10000, g())
3434
3535
3636 func m (n) = {
3737 let o = valueOrErrorMessage(getInteger(a, ("price_index_" + toString((c - (n * 1440))))), "Error: No historic price data")
3838 let p = valueOrErrorMessage(getInteger(a, ("price_" + toString(d))), "Error: No historic price data")
3939 p
4040 }
4141
4242
4343 func q (n) = {
44- let p = valueOrErrorMessage(getInteger(a, ("price_" + toString((d - (n * 1440))))), "Error: No price data")
45- p
44+ let p = m(n)
45+ let r = fraction(p, 1, 2)
46+ if ((r > m((7 + n))))
47+ then 0
48+ else if ((r > m((14 + n))))
49+ then 0
50+ else if ((r > m((30 + n))))
51+ then 0
52+ else (100000 * 100000000)
4653 }
4754
4855
49-func r () = {
50- let s = fraction(e, 1, 2)
51- if ((s > m(7)))
56+func s () = {
57+ let r = fraction(e, 1, 2)
58+ if ((r > m(7)))
5259 then 0
53- else if ((s > m(14)))
60+ else if ((r > m(14)))
5461 then 0
55- else if ((s > m(30)))
62+ else if ((r > m(30)))
5663 then 0
5764 else (100000 * 100000000)
5865 }
5966
6067
6168 func t () = {
6269 let u = ("total_printed_today" + toString(fraction(height, 1440, 1, DOWN)))
6370 if ((getInteger(u) == unit))
6471 then 0
6572 else valueOrErrorMessage(getInteger(u), "err")
6673 }
6774
6875
6976 @Callable(v)
7077 func constructor () = if ((f != unit))
7178 then throw("Error: Constructor already has been called")
7279 else {
7380 let w = Issue("Test", "Test", 0, 8, true)
7481 let x = calculateAssetId(w)
7582 $Tuple2([w, BinaryEntry("tokenId", x)], unit)
7683 }
7784
7885
7986
8087 @Callable(v)
8188 func swapWavesToTest () = if ((size(v.payments) != 1))
8289 then throw("Error: Only one payment is required")
8390 else {
8491 let y = value(v.payments[0])
8592 if (isDefined(y.assetId))
8693 then throw("Error: Only Waves token is allowed for swapping")
8794 else if (((wavesBalance(this).regular + y.amount) > b))
8895 then throw("Error: Collateral limit exceeded")
8996 else {
9097 let z = fraction(y.amount, e, 1000000)
9198 let A = fraction(z, 995, 1000)
92- if (((t() + A) > r()))
99+ if (((t() + A) > s()))
93100 then throw("Error: Daily swap limit exceeded")
94101 else [Reissue(valueOrErrorMessage(f, "Error: no token id"), A, true), ScriptTransfer(v.caller, A, f)]
95102 }
96103 }
97104
98105
99106
100107 @Callable(v)
101108 func swapTestToWaves () = if ((size(v.payments) != 1))
102109 then throw("Error: Only one payment is required")
103110 else {
104111 let y = value(v.payments[0])
105112 if ((y.assetId != f))
106113 then throw("Error: Only Test token is allowed for swapping")
107114 else {
108115 let z = fraction(y.amount, 1000000, e)
109116 let B = l()
110117 let C = if ((9900 > B))
111118 then (1000 - ((10000 - B) / 11))
112119 else if ((10500 > B))
113120 then 991
114121 else 995
115122 let A = fraction(z, C, 1000)
116123 [Burn(valueOrErrorMessage(f, "Error: no token id"), y.amount), ScriptTransfer(v.caller, A, unit)]
117124 }
118125 }
119126
120127

github/deemru/w8io/3ef1775 
56.13 ms