tx · B6indvFJbuKB4BjFMSP4ePxkUNewDHUVQJ69e1HnmgYH

3P4KBJT1v7EKubb5Dvij88FgpDBmJ21RPBR:  -0.01000000 Waves

2023.04.14 13:25 [3599715] smart account 3P4KBJT1v7EKubb5Dvij88FgpDBmJ21RPBR > SELF 0.00000000 Waves

{ "type": 13, "id": "B6indvFJbuKB4BjFMSP4ePxkUNewDHUVQJ69e1HnmgYH", "fee": 1000000, "feeAssetId": null, "timestamp": 1681467949006, "version": 2, "chainId": 87, "sender": "3P4KBJT1v7EKubb5Dvij88FgpDBmJ21RPBR", "senderPublicKey": "EJ6kVs5NZQFA4cCHHhvVMfrvHXu4RdB1RiVHNrGkYYsU", "proofs": [ "2azFdqcTPMKpfiuQfEm7d8DtjXFyhUTRvZuGcCUrujPWnTfyGNmE7r4RCcbSLXjPr7hPTjEnSLvqmZN1SJusmUeT" ], "script": "base64:BgIECAISAAYBGWZpbmFsaXplVXNkblVzZHRPbmNoYWluVjIABBB3YXZlc1VzZHRQcmljZVg2AIDciAEEDmV0aFVzZHRQcmljZVg2CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhUlcyVzX19wcmljZV9fRVRILVVTRFQEBnN5bWJvbAIJVVNETi1VU0RUBAh4dG5JZFN0cgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAEBXh0bklkCQDZBAEFCHh0bklkU3RyBAl1c2R0SWRTdHICLDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKBAp1c2RuQW1vdW50AICU69wDBBB3eFVzZHRYdG5Qb29sU3RyAiMzUDhLTXlBSkNQV05jeWVkcXJteW14YWVXb252bWtoR2F1egQUd3hVc2R0WHRuUG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEHd4VXNkdFh0blBvb2xTdHIECnd4VXNkdFh0blcAQwQJJHQwNjExNzU5CgABQAkA/AcEBRR3eFVzZHRYdG5Qb29sQWRkcmVzcwIccHV0T25lVGtuVjJXaXRoQm9udXNSRUFET05MWQkAzAgCBQp1c2RuQW1vdW50CQDMCAIFCHh0bklkU3RyBQNuaWwFA25pbAMJAAECBQFAAg8oSW50LCBJbnQsIEludCkFAUAJAAIBCQCsAgIJAAMBBQFAAiQgY291bGRuJ3QgYmUgY2FzdCB0byAoSW50LCBJbnQsIEludCkECGxwQW1vdW50CAUJJHQwNjExNzU5Al8xBApmZWVBbW91bnQxCAUJJHQwNjExNzU5Al8yBAVib251cwgFCSR0MDYxMTc1OQJfMwQJJHQwNzYyODkwCgABQAkA/AcEBRR3eFVzZHRYdG5Qb29sQWRkcmVzcwITZ2V0T25lVGtuVjJSRUFET05MWQkAzAgCBQl1c2R0SWRTdHIJAMwIAgUIbHBBbW91bnQFA25pbAUDbmlsAwkAAQIFAUACCihJbnQsIEludCkFAUAJAAIBCQCsAgIJAAMBBQFAAh8gY291bGRuJ3QgYmUgY2FzdCB0byAoSW50LCBJbnQpBAp1c2R0QW1vdW50CAUJJHQwNzYyODkwAl8xBApmZWVBbW91bnQyCAUJJHQwNzYyODkwAl8yBA53eFVzZHRYdG5QcmljZQkAawMFCnVzZHRBbW91bnQAwIQ9BQp1c2RuQW1vdW50BAt3eFdhdmVzWHRuVwCmBAQRd3hXYXZlc1h0blBvb2xTdHICIzNQUFpXZ0ZOUktITHZNNTFwd1M5MzRDOFZaN2QyRjRaNThnBBV3eFdhdmVzWHRuUG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEXd4V2F2ZXNYdG5Qb29sU3RyBA93YXZlc1dhdmVzWHRuWDgICQDvBwEFFXd4V2F2ZXNYdG5Qb29sQWRkcmVzcwdyZWd1bGFyBA14dG5XYXZlc1h0blg2CQDwBwIFFXd4V2F2ZXNYdG5Qb29sQWRkcmVzcwUFeHRuSWQED3dhdmVzWHRuUHJpY2VYNgkAawMFDXh0bldhdmVzWHRuWDYAgMLXLwUPd2F2ZXNXYXZlc1h0blg4BBN3eFdhdmVzVXNkdFh0blByaWNlCQBrAwUQd2F2ZXNVc2R0UHJpY2VYNgDAhD0FD3dhdmVzWHRuUHJpY2VYNgQJd3hFdGhYdG5XAAUECGV0aElkU3RyAiw0NzRqVGVZeDJyMlZhMzU3OTR0Q1NjQVhXSkc5aFUySGNneHpNb3dhWlVudQQFZXRoSWQJANkEAQUIZXRoSWRTdHIED3d4RXRoWHRuUG9vbFN0cgIjM1BFTXFldHNhSkRiWU13MVhHb3ZtRTM3RkI4VlVoR25YOUEEE3d4RXRoWHRuUG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFD3d4RXRoWHRuUG9vbFN0cgQLZXRoRXRoWHRuWDgJAPAHAgUTd3hFdGhYdG5Qb29sQWRkcmVzcwUFZXRoSWQEC3h0bkV0aFh0blg2CQDwBwIFE3d4RXRoWHRuUG9vbEFkZHJlc3MFBXh0bklkBA1ldGhYdG5QcmljZVg2CQBrAwULeHRuRXRoWHRuWDYAgMLXLwULZXRoRXRoWHRuWDgEEXd4RXRoVXNkdFh0blByaWNlCQBrAwUOZXRoVXNkdFByaWNlWDYAwIQ9BQ1ldGhYdG5QcmljZVg2BA9zd29wZmlXYXZlc1h0blcAwgMECnN3b3BmaVJlc3QJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQNTZqTlF6RUNYbnJXcG5iYlNKS3c3RW9vbzZma1VhTVBwBBVzd29wZmlXYXZlc1h0blByaWNlWDYKAAFACQD8BwQFCnN3b3BmaVJlc3QCEWNhbGNHZXRBbW91bnRDUE1NCQDMCAICIzNQSGFOZ29tQmtydkVMMlFudUphclFWSmE3MXdqdzlxaXFHCQDMCAICIzNQUUhDVHFmekU4ZTFKbzhtMVFWYUNYQVRTS3lNbWtZYXNGCQDMCAICBVdBVkVTCQDMCAIAgMLXLwUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BBdzd29wZmlXYXZlc1VzZHRYdG5QcmljZQkAawMFEHdhdmVzVXNkdFByaWNlWDYAwIQ9BRVzd29wZmlXYXZlc1h0blByaWNlWDYECG5ld1ByaWNlCQBkAgkAawMFE3d4V2F2ZXNVc2R0WHRuUHJpY2UFC3d4V2F2ZXNYdG5XAOgHCQBrAwUXc3dvcGZpV2F2ZXNVc2R0WHRuUHJpY2UFD3N3b3BmaVdhdmVzWHRuVwDoBwQFZGVidWcJAKwCAgkArAICCQCsAgICFHd4V2F2ZXNVc2R0WHRuUHJpY2U9CQCkAwEFE3d4V2F2ZXNVc2R0WHRuUHJpY2UCGSBzd29wZmlXYXZlc1VzZHRYdG5QcmljZT0JAKQDAQUXc3dvcGZpV2F2ZXNVc2R0WHRuUHJpY2UJAJQKAgUIbmV3UHJpY2UFBWRlYnVnARRmaW5hbGl6ZVd4VXNkT25jaGFpbgEPd2F2ZXNVc2RQcmljZVg2BA5kb3JhQWRkcmVzc1N0cgIjM1BLa29qS2RkNkJCelRmMVJYYlFWZlVEcmFORlhYSEt6UUYEC2RvcmFBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBQ5kb3JhQWRkcmVzc1N0cgQNeHRuVXNkUHJpY2VYNgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFC2RvcmFBZGRyZXNzAhYlcyVzX19wcmljZV9fVVNETi1VU0RUAiRET1JBIGRvZXNuJ3QgY29udGFpbiBVU0ROL1VTRFQgcHJpY2UECHh0bklkU3RyAixERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQHd3hJZFN0cgIsQXRxdjU5RVl6akZHdWl0S1ZuTVJrNkg4RnVram9WM2t0UG9yYkV5czI1b24EBXh0bklkCQDZBAEFCHh0bklkU3RyBAR3eElkCQDZBAEFB3d4SWRTdHIEFXd4X1d4V2F2ZXNfQWRkcmVzc1N0cgIjM1BGemFIMmdocHdBTkhGZ2pldmE4M04xeXh6RXJFTHgyZWgEEnd4X1d4V2F2ZXNfQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUVd3hfV3hXYXZlc19BZGRyZXNzU3RyBBF3eF9XeFdhdmVzX1dlaWdodADQhgMEEnd4X1d4V2F2ZXNfV0FWRVN4OAgJAO8HAQUSd3hfV3hXYXZlc19BZGRyZXNzB3JlZ3VsYXIED3d4X1d4V2F2ZXNfV1h4OAkA8AcCBRJ3eF9XeFdhdmVzX0FkZHJlc3MFBHd4SWQEF3d4X1d4V2F2ZXNfV3hVc2RQcmljZVg2CQBrAwUSd3hfV3hXYXZlc19XQVZFU3g4BQ93YXZlc1VzZFByaWNlWDYFD3d4X1d4V2F2ZXNfV1h4OAQTd3hfV3hYdG5fQWRkcmVzc1N0cgIjM1BDRU5wRUtlOGF0d0VMWjdvQ1NtY2RFZmNSdUtUclV4OTkEEHd4X1d4WHRuX0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFE3d4X1d4WHRuX0FkZHJlc3NTdHIED3d4X1d4WHRuX1dlaWdodADQhgMEDnd4X1d4WHRuX1hUTng2CQDwBwIFEHd4X1d4WHRuX0FkZHJlc3MFBXh0bklkBA13eF9XeFh0bl9XWHg4CQDwBwIFEHd4X1d4WHRuX0FkZHJlc3MFBHd4SWQEFXd4X1d4WHRuX1d4VXNkUHJpY2VYNgkAawMJAGgCBQ53eF9XeFh0bl9YVE54NgBkBQ14dG5Vc2RQcmljZVg2BQ13eF9XeFh0bl9XWHg4BBVzd29wX1d4WHRuX0FkZHJlc3NTdHICIzNQS2k0RzNWWDJrNDJaU21OTnJtdmdkREg3SnpSYVVoWTdSBAxzd29wUmVzdERhcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQNTZqTlF6RUNYbnJXcG5iYlNKS3c3RW9vbzZma1VhTVBwBBFzd29wX1d4WHRuX1dlaWdodACIJwQXc3dvcF9XeFh0bl9XeFh0blByaWNlWDYKAAFACQD8BwQFDHN3b3BSZXN0RGFwcAIRY2FsY0dldEFtb3VudENQTU0JAMwIAgUVc3dvcF9XeFh0bl9BZGRyZXNzU3RyCQDMCAICIzNQODhxazFLekYxQktqRDdmQzdMak5WQUtNNGV6ZmY1V0U2CQDMCAIFB3d4SWRTdHIJAMwIAgCAwtcvBQNuaWwFA25pbAMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEF3N3b3BfV3hYdG5fV3hVc2RQcmljZVg2CQBrAwUXc3dvcF9XeFh0bl9XeFh0blByaWNlWDYFDXh0blVzZFByaWNlWDYAwIQ9BAFXCQBkAgkAZAIFEXd4X1d4V2F2ZXNfV2VpZ2h0BQ93eF9XeFh0bl9XZWlnaHQFEXN3b3BfV3hYdG5fV2VpZ2h0BAx3eFVzZFByaWNlWDYJAGQCCQBkAgkAawMFF3d4X1d4V2F2ZXNfV3hVc2RQcmljZVg2BRF3eF9XeFdhdmVzX1dlaWdodAUBVwkAawMFFXd4X1d4WHRuX1d4VXNkUHJpY2VYNgUPd3hfV3hYdG5fV2VpZ2h0BQFXCQBrAwUXc3dvcF9XeFh0bl9XeFVzZFByaWNlWDYFEXN3b3BfV3hYdG5fV2VpZ2h0BQFXBAVkZWJ1ZwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg54dG5Vc2RQcmljZVg2PQkApAMBBQ14dG5Vc2RQcmljZVg2Ahkgd3hfV3hXYXZlc19XeFVzZFByaWNlWDY9CQCkAwEFF3d4X1d4V2F2ZXNfV3hVc2RQcmljZVg2Ahcgd3hfV3hYdG5fV3hVc2RQcmljZVg2PQkApAMBBRV3eF9XeFh0bl9XeFVzZFByaWNlWDYCGSBzd29wX1d4WHRuX1d4VXNkUHJpY2VYNj0JAKQDAQUXc3dvcF9XeFh0bl9XeFVzZFByaWNlWDYJAJQKAgUMd3hVc2RQcmljZVg2BQVkZWJ1ZwEMZ2V0U3RyT3JFbHNlAwdhZGRyZXNzA2tleQpkZWZhdWx0VmFsCQELdmFsdWVPckVsc2UCCQCdCAIFB2FkZHJlc3MFA2tleQUKZGVmYXVsdFZhbAEQa2V5V3hTd2FwQWRkcmVzcwACGCVzJXNfX2NmZ19fd3hTd2FwQWRkcmVzcwERa2V5U2F2aW5nc0FkZHJlc3MAAhklcyVzX19jZmdfX3NhdmluZ3NBZGRyZXNzABBuZXV0cmlub0NvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEM5QmZSd0pXV2l3OUFSRUUyQjNlV3pDa3MzQ1l0ZzR5bwEBaQEIc3dhcFRlc3QABAVNVUxUOACAwtcvBApidXlCYWNrQW10CQBoAgABBQVNVUxUOAQMd3hBc3NldElkU3RyAixBdHF2NTlFWXpqRkd1aXRLVm5NUms2SDhGdWtqb1Yza3RQb3JiRXlzMjVvbgQNd3hTd2FwQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDGdldFN0ck9yRWxzZQMFBHRoaXMJARBrZXlXeFN3YXBBZGRyZXNzAAIjM1A2OHpOaXVmc3UxdmlacHUxYVkzY2RhaFJSS2N2VjVOOTMECnN3YXBSZXN1bHQJAPwHBAUNd3hTd2FwQWRkcmVzcwIEc3dhcAkAzAgCAAEJAMwIAgUMd3hBc3NldElkU3RyCQDMCAIJAKUIAQUQbmV1dHJpbm9Db250cmFjdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQpidXlCYWNrQW10BQNuaWwDCQAAAgUKc3dhcFJlc3VsdAUKc3dhcFJlc3VsdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAGzygWM=", "height": 3599715, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AmY8SZLXGfVACeUfrn5K1scaEJhpXovv2ZuBedtTbcMR Next: DBZhgVRSzYQLoT7dq3Xv4YaA74E7SxkAAFAsR3uxZDqJ Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func finalizeUsdnUsdtOnchainV2 () = {
5- let wavesUsdtPriceX6 = getIntegerValue(this, "%s%s__price__WAVES-USDT")
5+ let wavesUsdtPriceX6 = 2240000
66 let ethUsdtPriceX6 = getIntegerValue(this, "%s%s__price__ETH-USDT")
77 let symbol = "USDN-USDT"
88 let xtnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
1212 let wxUsdtXtnPoolStr = "3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz"
1313 let wxUsdtXtnPoolAddress = addressFromStringValue(wxUsdtXtnPoolStr)
1414 let wxUsdtXtnW = 67
15- let $t0651799 = {
15+ let $t0611759 = {
1616 let @ = invoke(wxUsdtXtnPoolAddress, "putOneTknV2WithBonusREADONLY", [usdnAmount, xtnIdStr], nil)
1717 if ($isInstanceOf(@, "(Int, Int, Int)"))
1818 then @
1919 else throw(($getType(@) + " couldn't be cast to (Int, Int, Int)"))
2020 }
21- let lpAmount = $t0651799._1
22- let feeAmount1 = $t0651799._2
23- let bonus = $t0651799._3
24- let $t0802930 = {
21+ let lpAmount = $t0611759._1
22+ let feeAmount1 = $t0611759._2
23+ let bonus = $t0611759._3
24+ let $t0762890 = {
2525 let @ = invoke(wxUsdtXtnPoolAddress, "getOneTknV2READONLY", [usdtIdStr, lpAmount], nil)
2626 if ($isInstanceOf(@, "(Int, Int)"))
2727 then @
2828 else throw(($getType(@) + " couldn't be cast to (Int, Int)"))
2929 }
30- let usdtAmount = $t0802930._1
31- let feeAmount2 = $t0802930._2
30+ let usdtAmount = $t0762890._1
31+ let feeAmount2 = $t0762890._2
3232 let wxUsdtXtnPrice = fraction(usdtAmount, 1000000, usdnAmount)
3333 let wxWavesXtnW = 550
3434 let wxWavesXtnPoolStr = "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g"
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func finalizeUsdnUsdtOnchainV2 () = {
5- let wavesUsdtPriceX6 = getIntegerValue(this, "%s%s__price__WAVES-USDT")
5+ let wavesUsdtPriceX6 = 2240000
66 let ethUsdtPriceX6 = getIntegerValue(this, "%s%s__price__ETH-USDT")
77 let symbol = "USDN-USDT"
88 let xtnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
99 let xtnId = fromBase58String(xtnIdStr)
1010 let usdtIdStr = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
1111 let usdnAmount = 1000000000
1212 let wxUsdtXtnPoolStr = "3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz"
1313 let wxUsdtXtnPoolAddress = addressFromStringValue(wxUsdtXtnPoolStr)
1414 let wxUsdtXtnW = 67
15- let $t0651799 = {
15+ let $t0611759 = {
1616 let @ = invoke(wxUsdtXtnPoolAddress, "putOneTknV2WithBonusREADONLY", [usdnAmount, xtnIdStr], nil)
1717 if ($isInstanceOf(@, "(Int, Int, Int)"))
1818 then @
1919 else throw(($getType(@) + " couldn't be cast to (Int, Int, Int)"))
2020 }
21- let lpAmount = $t0651799._1
22- let feeAmount1 = $t0651799._2
23- let bonus = $t0651799._3
24- let $t0802930 = {
21+ let lpAmount = $t0611759._1
22+ let feeAmount1 = $t0611759._2
23+ let bonus = $t0611759._3
24+ let $t0762890 = {
2525 let @ = invoke(wxUsdtXtnPoolAddress, "getOneTknV2READONLY", [usdtIdStr, lpAmount], nil)
2626 if ($isInstanceOf(@, "(Int, Int)"))
2727 then @
2828 else throw(($getType(@) + " couldn't be cast to (Int, Int)"))
2929 }
30- let usdtAmount = $t0802930._1
31- let feeAmount2 = $t0802930._2
30+ let usdtAmount = $t0762890._1
31+ let feeAmount2 = $t0762890._2
3232 let wxUsdtXtnPrice = fraction(usdtAmount, 1000000, usdnAmount)
3333 let wxWavesXtnW = 550
3434 let wxWavesXtnPoolStr = "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g"
3535 let wxWavesXtnPoolAddress = addressFromStringValue(wxWavesXtnPoolStr)
3636 let wavesWavesXtnX8 = wavesBalance(wxWavesXtnPoolAddress).regular
3737 let xtnWavesXtnX6 = assetBalance(wxWavesXtnPoolAddress, xtnId)
3838 let wavesXtnPriceX6 = fraction(xtnWavesXtnX6, 100000000, wavesWavesXtnX8)
3939 let wxWavesUsdtXtnPrice = fraction(wavesUsdtPriceX6, 1000000, wavesXtnPriceX6)
4040 let wxEthXtnW = 5
4141 let ethIdStr = "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu"
4242 let ethId = fromBase58String(ethIdStr)
4343 let wxEthXtnPoolStr = "3PEMqetsaJDbYMw1XGovmE37FB8VUhGnX9A"
4444 let wxEthXtnPoolAddress = addressFromStringValue(wxEthXtnPoolStr)
4545 let ethEthXtnX8 = assetBalance(wxEthXtnPoolAddress, ethId)
4646 let xtnEthXtnX6 = assetBalance(wxEthXtnPoolAddress, xtnId)
4747 let ethXtnPriceX6 = fraction(xtnEthXtnX6, 100000000, ethEthXtnX8)
4848 let wxEthUsdtXtnPrice = fraction(ethUsdtPriceX6, 1000000, ethXtnPriceX6)
4949 let swopfiWavesXtnW = 450
5050 let swopfiRest = addressFromStringValue("3P56jNQzECXnrWpnbbSJKw7Eooo6fkUaMPp")
5151 let swopfiWavesXtnPriceX6 = {
5252 let @ = invoke(swopfiRest, "calcGetAmountCPMM", ["3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG", "3PQHCTqfzE8e1Jo8m1QVaCXATSKyMmkYasF", "WAVES", 100000000], nil)
5353 if ($isInstanceOf(@, "Int"))
5454 then @
5555 else throw(($getType(@) + " couldn't be cast to Int"))
5656 }
5757 let swopfiWavesUsdtXtnPrice = fraction(wavesUsdtPriceX6, 1000000, swopfiWavesXtnPriceX6)
5858 let newPrice = (fraction(wxWavesUsdtXtnPrice, wxWavesXtnW, 1000) + fraction(swopfiWavesUsdtXtnPrice, swopfiWavesXtnW, 1000))
5959 let debug = ((("wxWavesUsdtXtnPrice=" + toString(wxWavesUsdtXtnPrice)) + " swopfiWavesUsdtXtnPrice=") + toString(swopfiWavesUsdtXtnPrice))
6060 $Tuple2(newPrice, debug)
6161 }
6262
6363
6464 func finalizeWxUsdOnchain (wavesUsdPriceX6) = {
6565 let doraAddressStr = "3PKkojKdd6BBzTf1RXbQVfUDraNFXXHKzQF"
6666 let doraAddress = addressFromStringValue(doraAddressStr)
6767 let xtnUsdPriceX6 = valueOrErrorMessage(getInteger(doraAddress, "%s%s__price__USDN-USDT"), "DORA doesn't contain USDN/USDT price")
6868 let xtnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
6969 let wxIdStr = "Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on"
7070 let xtnId = fromBase58String(xtnIdStr)
7171 let wxId = fromBase58String(wxIdStr)
7272 let wx_WxWaves_AddressStr = "3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh"
7373 let wx_WxWaves_Address = addressFromStringValue(wx_WxWaves_AddressStr)
7474 let wx_WxWaves_Weight = 50000
7575 let wx_WxWaves_WAVESx8 = wavesBalance(wx_WxWaves_Address).regular
7676 let wx_WxWaves_WXx8 = assetBalance(wx_WxWaves_Address, wxId)
7777 let wx_WxWaves_WxUsdPriceX6 = fraction(wx_WxWaves_WAVESx8, wavesUsdPriceX6, wx_WxWaves_WXx8)
7878 let wx_WxXtn_AddressStr = "3PCENpEKe8atwELZ7oCSmcdEfcRuKTrUx99"
7979 let wx_WxXtn_Address = addressFromStringValue(wx_WxXtn_AddressStr)
8080 let wx_WxXtn_Weight = 50000
8181 let wx_WxXtn_XTNx6 = assetBalance(wx_WxXtn_Address, xtnId)
8282 let wx_WxXtn_WXx8 = assetBalance(wx_WxXtn_Address, wxId)
8383 let wx_WxXtn_WxUsdPriceX6 = fraction((wx_WxXtn_XTNx6 * 100), xtnUsdPriceX6, wx_WxXtn_WXx8)
8484 let swop_WxXtn_AddressStr = "3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R"
8585 let swopRestDapp = addressFromStringValue("3P56jNQzECXnrWpnbbSJKw7Eooo6fkUaMPp")
8686 let swop_WxXtn_Weight = 5000
8787 let swop_WxXtn_WxXtnPriceX6 = {
8888 let @ = invoke(swopRestDapp, "calcGetAmountCPMM", [swop_WxXtn_AddressStr, "3P88qk1KzF1BKjD7fC7LjNVAKM4ezff5WE6", wxIdStr, 100000000], nil)
8989 if ($isInstanceOf(@, "Int"))
9090 then @
9191 else throw(($getType(@) + " couldn't be cast to Int"))
9292 }
9393 let swop_WxXtn_WxUsdPriceX6 = fraction(swop_WxXtn_WxXtnPriceX6, xtnUsdPriceX6, 1000000)
9494 let W = ((wx_WxWaves_Weight + wx_WxXtn_Weight) + swop_WxXtn_Weight)
9595 let wxUsdPriceX6 = ((fraction(wx_WxWaves_WxUsdPriceX6, wx_WxWaves_Weight, W) + fraction(wx_WxXtn_WxUsdPriceX6, wx_WxXtn_Weight, W)) + fraction(swop_WxXtn_WxUsdPriceX6, swop_WxXtn_Weight, W))
9696 let debug = ((((((("xtnUsdPriceX6=" + toString(xtnUsdPriceX6)) + " wx_WxWaves_WxUsdPriceX6=") + toString(wx_WxWaves_WxUsdPriceX6)) + " wx_WxXtn_WxUsdPriceX6=") + toString(wx_WxXtn_WxUsdPriceX6)) + " swop_WxXtn_WxUsdPriceX6=") + toString(swop_WxXtn_WxUsdPriceX6))
9797 $Tuple2(wxUsdPriceX6, debug)
9898 }
9999
100100
101101 func getStrOrElse (address,key,defaultVal) = valueOrElse(getString(address, key), defaultVal)
102102
103103
104104 func keyWxSwapAddress () = "%s%s__cfg__wxSwapAddress"
105105
106106
107107 func keySavingsAddress () = "%s%s__cfg__savingsAddress"
108108
109109
110110 let neutrinoContract = addressFromStringValue("3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo")
111111
112112 @Callable(i)
113113 func swapTest () = {
114114 let MULT8 = 100000000
115115 let buyBackAmt = (1 * MULT8)
116116 let wxAssetIdStr = "Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on"
117117 let wxSwapAddress = addressFromStringValue(getStrOrElse(this, keyWxSwapAddress(), "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93"))
118118 let swapResult = invoke(wxSwapAddress, "swap", [1, wxAssetIdStr, toString(neutrinoContract)], [AttachedPayment(unit, buyBackAmt)])
119119 if ((swapResult == swapResult))
120120 then nil
121121 else throw("Strict value is not equal to itself.")
122122 }
123123
124124

github/deemru/w8io/3ef1775 
42.57 ms