tx · 4hoiZuiiuzUUi21dCNMnqUDXLZYfwHKJPcffi1fQqT2F

3P6RwyRZ6NQtMfQPHqbVG7odY4RVSUHucp7:  -0.01000000 Waves

2024.04.10 21:24 [4122999] smart account 3P6RwyRZ6NQtMfQPHqbVG7odY4RVSUHucp7 > SELF 0.00000000 Waves

{ "type": 13, "id": "4hoiZuiiuzUUi21dCNMnqUDXLZYfwHKJPcffi1fQqT2F", "fee": 1000000, "feeAssetId": null, "timestamp": 1712773464860, "version": 2, "chainId": 87, "sender": "3P6RwyRZ6NQtMfQPHqbVG7odY4RVSUHucp7", "senderPublicKey": "PcUP25ZvTtVkYcVzURK5tsMvL5toqNmtYsTkvMXuJpQ", "proofs": [ "4dQQbqTtyXt1VLMbePHFYSHfy5RZpz5eXVm6bxCMcC7tCttJMo42MwkVAwmsjE2VwHrAxaBFDs8NCdCwpqyzqzoG" ], "script": "base64:BgKmBAgCEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgAiCmVnZ0Fzc2V0SWQiDHNwaWNlQXNzZXRJZCIMd2F2ZXNBc3NldElkIhBkdXhwbG9yZXJBc3NldElkIgxsYXRhbUFzc2V0SWQiDXR1cnRsZUFzc2V0SWQiC2ZvbW9Bc3NldElkIg9lZ2dQb2ludEFzc2V0SWQiDXN0cmVldEFzc2V0SWQiDmtob2xrb3pBc3NldElkIg5hbGxvd2VkQXNzZXRJZCIKbmF0aXZlUG9vbCIGY2ZQb29sIghmb21vUG9vbCIFcG9vbDEiBXBvb2wyIgpmb21vT25QZXRlIhVwdXp6bGVTcGljZUVnZ1h0blBvb2wiFnB1enpsZUVnZ1dhdmVzTWVnYVBvb2wiDnBlc29MYXRpbmFQb29sIgxtZWdhUGV0ZVBvb2wiB2J1cm5YdG4iDGFsbG93ZWRQb29scyIDZmVlIgVhc0ludCIFdmFsdWUiByRtYXRjaDAiA2ludCIGc3RyaW5nIhVkaXJlY3RUbkJldHdlZW5Bc3NldHMiBGFtbTEiBmFzc2V0MSIEYW1tMiIGYXNzZXQyIgh0bkFtb3VudCICdHgiB2ludm9rZTEiB2ludm9rZTIiCGRpcmVjdFRuIg1taWRkbGVBc3NldElkIgFpIgZhbW91bnQbAAFhAixDMWlXc0tHcUx3akhVbmRpUTdpWHBkbVB1bTlQZUNERmZ5WEJkSkpvc0RSUwABYgIsNmpzbU1zTWZwSldxeFNHeXhya1R2SDV6WnlhUWQyUDZWRVk5ZkJ6MlQ4RkIAAWMCBVdBVkVTAAFkAit1c1VlSndTcHZnaFA1RlI2akU5WDRmVUpiZ1h5eFhuQWV6U2diem9NQThLAAFlAiw1SlE4eVVZNHZuQjE5czRiWFNHVllzTkV5QTlCYWc2amJNdFZFZ0ZIdllNNwABZgIsOW1GYkJzZVAzUlNDMnZlTHJCZ2lMSk1YRGphaHdCaUg0NFducU1mZGtnaWQAAWcCLEo0aVdKUzJrR21BcUxDNGRZRnVIdm1xWEsxRTZyQkphUlRBNm5kMVZtRmtqAAFoAiw2cEhjMVB5QmNYeVM3NGVCRW85NVYzZWNRdmhBeXBMOVJmc1VVS3RIRFVxMgABaQIsREFHUXZxUWc0RjVZVFFDUTVKRmFWSmRaRVZvVHZlY3V3Mlc5eWJMNVAxaFIAAWoCLEJ3Q2s1elVNVHVZdEZGdTNldW8zZzZGd2RrN1RBTHJyNUM4d3ZkenBzOFI1AAFrCQDMCAIFAWEJAMwIAgUBYgkAzAgCBQFjCQDMCAIFAWQJAMwIAgUBZQkAzAgCBQFmCQDMCAIFAWcJAMwIAgUBaAUDbmlsAAFsAiMzUEFac1RpZFNKSGpvMXh4cVk5dDNSdnVrMTQ0dTNFSFFYUQABbQIjM1AyQTU0Zld3VWt0ZkdWRHBOZEdhRFBkZ0diZkEzTFIxYVYAAW4CIzNQR3p3ZFp4ZEg2TWFuU1hYaE1WOUd2S2dZTm5QaEFXd3JUAAFvAiMzUFBSSEhGOUpLdkRMa0FjM2FIRDNLZDV0UlpwMUNvcUFKYQABcAIjM1BLWVBLSlBIWkVOQUF3SDllN1RGNWVkRGd1a054eEJ0M00AAXECIzNQTmd5b3duU0hSM2J5ZTJOWWlzaVBxTVcyMXN3a2t6UldtAAFyAiMzUFJHOUxmVzZRWnhLZFRXQjhlRWRVaWEyYkg2Ykh2eXg3eQABcwIjM1BEcllQRjZpenphMnNYV2ZmelRQRjdlMkZjaXIyQ01wa2kAAXQCIzNQR251a1I4ZUtodGZVeVdSVWlWQ2szQTc2b3A4Y0Q0V2F4AAF1AiMzUDRQRllLSHl4aXRnd1ZiNFdWV0VjZEg3WnN1UjRHZ2NYQwABdgIjM1BFN050SmRtVnE0eW80N0xLRHF1clE4UkxEQ291dkpDUEIAAXcJAMwIAgUBbAkAzAgCBQFtCQDMCAIFAW4JAMwIAgUBbwkAzAgCBQFwCQDMCAIFAXIJAMwIAgUBcwkAzAgCBQFxCQDMCAIFAXQFA25pbAABeACgwh4BAXkBAXoEAUEFAXoDCQABAgUBQQIDSW50BAFCBQFBBQFCAwkAAQIFAUECBlN0cmluZwQBQwUBQQkAAgEJAKwCAgIrV3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludCwgYnV0IGdvdCBzdHJpbmc6IAUBQwkAAgECGVdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQBAUQGAUUBRgFHAUgBSQFKBAFLCQEBeQEJAP0HBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBRQIMc3dhcEFuZENoZWNrCQDMCAIFAUYJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUBSAUBSQUDbmlsAwkAAAIFAUsFAUsEAUwJAQF5AQkA/QcECQERQGV4dHJOYXRpdmUoMTA2MikBBQFHAgxzd2FwQW5kQ2hlY2sJAMwIAgUBSAkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQFGBQFLBQNuaWwDCQAAAgUBTAUBTAMJAGYCBQFJBQFMCQACAQkArAICAhNSdW5uaW5nIGluIGEgbG9zczogCQCkAwEJAGUCBQFMBQFJCQDMCAIJAQtTdHJpbmdFbnRyeQIFAUoJAKwCAgIUU1VDQ0VTU19kaXJlY3RXQVZFU18JAKQDAQkAZQIFAUwFAUkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBTQUBRQFHAUkBSgFOBAFLCQEBeQEJAP0HBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBRQIMc3dhcEFuZENoZWNrCQDMCAIFAU4JAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFAUkFA25pbAMJAAACBQFLBQFLBAFMCQEBeQEJAP0HBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBRwIMc3dhcEFuZENoZWNrCQDMCAICBVdBVkVTCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQDZBAEFAU4FAUsFA25pbAMJAAACBQFMBQFMAwkAZgIJAGQCBQFJBQF4BQFMCQACAQkArAICAhNSdW5uaW5nIGluIGEgbG9zczogCQCkAwEJAGUCBQFMBQFJCQDMCAIJAQtTdHJpbmdFbnRyeQIFAUoJAKwCAgIUU1VDQ0VTU19kaXJlY3RXQVZFU18JAKQDAQkAZQIFAUwFAUkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLiIBTwETU3BpY2VFZ2dTcGljZVB1enpsZQAEAVAAgOHrFwkBAUQGBQFsBQFiBQFyBQFhBQFQCQDYBAEIBQFPDXRyYW5zYWN0aW9uSWQBTwEbU3BpY2VFZ2dTcGljZVB1enpsZUludmVydGVkAAQBUACA4esXCQEBRAYFAWwFAWEFAXIFAWIFAVAJANgEAQgFAU8NdHJhbnNhY3Rpb25JZAFPARNXYXZlc0VnZ1dhdmVzUHV6emxlAAQBUACA4esXCQEBTQUFAWwFAXMFAVAJANgEAQgFAU8NdHJhbnNhY3Rpb25JZAUBYQFPARtXYXZlc0VnZ1dhdmVzSW52ZXJ0ZWRQdXp6bGUABAFQAIDh6xcJAQFNBQUBcwUBbAUBUAkA2AQBCAUBTw10cmFuc2FjdGlvbklkBQFhAU8BD1NwaWNlRWdnU3BpY2VDRgAEAVAAgOHrFwkBAUQGBQFsBQFiBQFtBQFhBQFQCQDYBAEIBQFPDXRyYW5zYWN0aW9uSWQBTwEXU3BpY2VFZ2dTcGljZUNGSW52ZXJ0ZWQABAFQAIDh6xcJAQFEBgUBbAUBYQUBbQUBYgUBUAkA2AQBCAUBTw10cmFuc2FjdGlvbklkAU8BD1dhdmVzRWdnV2F2ZXNDRgAEAVAAgOHrFwkBAU0FBQFsBQFtBQFQCQDYBAEIBQFPDXRyYW5zYWN0aW9uSWQFAWEBTwEXV2F2ZXNFZ2dXYXZlc0ludmVydGVkQ0YABAFQAIDh6xcJAQFNBQUBbQUBbAUBUAkA2AQBCAUBTw10cmFuc2FjdGlvbklkBQFhAU8BD1dhdmVzRWdnV2F2ZXNCWAAEAVAAgOHrFwkBAU0FBQFsBQF1BQFQCQDYBAEIBQFPDXRyYW5zYWN0aW9uSWQFAWEBTwEXV2F2ZXNFZ2dXYXZlc0ludmVydGVkQlgABAFQAIDh6xcJAQFNBQUBdQUBbAUBUAkA2AQBCAUBTw10cmFuc2FjdGlvbklkBQFhAU8BD1dhdmVzRWdnV2F2ZXNNUAAEAVAAgOHrFwkBAU0FBQFsBQF1BQFQCQDYBAEIBQFPDXRyYW5zYWN0aW9uSWQFAWEBTwEXV2F2ZXNFZ2dXYXZlc0ludmVydGVkTVAABAFQAIDh6xcJAQFNBQUBdQUBbAUBUAkA2AQBCAUBTw10cmFuc2FjdGlvbklkBQFhAU8BEVdhdmVzRk9N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", "height": 4122999, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2Az7RzSD3uhvXptXzZNNeQyuWgtB1hLcEhpryRL2vTLt Next: 6WyX7G56SDdTwxyt6HEpkooDzK8UkYk4mmpQYFBBWqL2 Diff:
OldNewDifferences
6060
6161
6262 func directTnBetweenAssets (amm1,asset1,amm2,asset2,tnAmount,tx) = {
63- let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swap", [asset1, 0], [AttachedPayment(fromBase58String(asset2), tnAmount)]))
63+ let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swapAndCheck", [asset1, 0], [AttachedPayment(fromBase58String(asset2), tnAmount)]))
6464 if ((invoke1 == invoke1))
6565 then {
66- let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swap", [asset2, 0], [AttachedPayment(fromBase58String(asset1), invoke1)]))
66+ let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swapAndCheck", [asset2, 0], [AttachedPayment(fromBase58String(asset1), invoke1)]))
6767 if ((invoke2 == invoke2))
68- then {
69- let minToEarn = ((tnAmount * 102) / 100)
70- if ((minToEarn == minToEarn))
71- then if ((minToEarn > invoke2))
72- then throw(toString(minToEarn))
73- else nil
74- else throw("Strict value is not equal to itself.")
75- }
68+ then if ((tnAmount > invoke2))
69+ then throw(("Running in a loss: " + toString((invoke2 - tnAmount))))
70+ else [StringEntry(tx, ("SUCCESS_directWAVES_" + toString((invoke2 - tnAmount))))]
7671 else throw("Strict value is not equal to itself.")
7772 }
7873 else throw("Strict value is not equal to itself.")
8075
8176
8277 func directTn (amm1,amm2,tnAmount,tx,middleAssetId) = {
83- let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swap", [middleAssetId, 0], [AttachedPayment(unit, tnAmount)]))
78+ let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swapAndCheck", [middleAssetId, 0], [AttachedPayment(unit, tnAmount)]))
8479 if ((invoke1 == invoke1))
8580 then {
86- let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swap", ["WAVES", 0], [AttachedPayment(fromBase58String(middleAssetId), invoke1)]))
81+ let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swapAndCheck", ["WAVES", 0], [AttachedPayment(fromBase58String(middleAssetId), invoke1)]))
8782 if ((invoke2 == invoke2))
8883 then if (((tnAmount + fee) > invoke2))
89- then throw(toString(invoke2))
90- else nil
84+ then throw(("Running in a loss: " + toString((invoke2 - tnAmount))))
85+ else [StringEntry(tx, ("SUCCESS_directWAVES_" + toString((invoke2 - tnAmount))))]
9186 else throw("Strict value is not equal to itself.")
9287 }
9388 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let eggAssetId = "C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS"
55
66 let spiceAssetId = "6jsmMsMfpJWqxSGyxrkTvH5zZyaQd2P6VEY9fBz2T8FB"
77
88 let wavesAssetId = "WAVES"
99
1010 let duxplorerAssetId = "usUeJwSpvghP5FR6jE9X4fUJbgXyxXnAezSgbzoMA8K"
1111
1212 let latamAssetId = "5JQ8yUY4vnB19s4bXSGVYsNEyA9Bag6jbMtVEgFHvYM7"
1313
1414 let turtleAssetId = "9mFbBseP3RSC2veLrBgiLJMXDjahwBiH44WnqMfdkgid"
1515
1616 let fomoAssetId = "J4iWJS2kGmAqLC4dYFuHvmqXK1E6rBJaRTA6nd1VmFkj"
1717
1818 let eggPointAssetId = "6pHc1PyBcXyS74eBEo95V3ecQvhAypL9RfsUUKtHDUq2"
1919
2020 let streetAssetId = "DAGQvqQg4F5YTQCQ5JFaVJdZEVoTvecuw2W9ybL5P1hR"
2121
2222 let kholkozAssetId = "BwCk5zUMTuYtFFu3euo3g6Fwdk7TALrr5C8wvdzps8R5"
2323
2424 let allowedAssetId = [eggAssetId, spiceAssetId, wavesAssetId, duxplorerAssetId, latamAssetId, turtleAssetId, fomoAssetId, eggPointAssetId]
2525
2626 let nativePool = "3PAZsTidSJHjo1xxqY9t3Rvuk144u3EHQXQ"
2727
2828 let cfPool = "3P2A54fWwUktfGVDpNdGaDPdgGbfA3LR1aV"
2929
3030 let fomoPool = "3PGzwdZxdH6ManSXXhMV9GvKgYNnPhAWwrT"
3131
3232 let pool1 = "3PPRHHF9JKvDLkAc3aHD3Kd5tRZp1CoqAJa"
3333
3434 let pool2 = "3PKYPKJPHZENAAwH9e7TF5edDgukNxxBt3M"
3535
3636 let fomoOnPete = "3PNgyownSHR3bye2NYisiPqMW21swkkzRWm"
3737
3838 let puzzleSpiceEggXtnPool = "3PRG9LfW6QZxKdTWB8eEdUia2bH6bHvyx7y"
3939
4040 let puzzleEggWavesMegaPool = "3PDrYPF6izza2sXWffzTPF7e2Fcir2CMpki"
4141
4242 let pesoLatinaPool = "3PGnukR8eKhtfUyWRUiVCk3A76op8cD4Wax"
4343
4444 let megaPetePool = "3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC"
4545
4646 let burnXtn = "3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB"
4747
4848 let allowedPools = [nativePool, cfPool, fomoPool, pool1, pool2, puzzleSpiceEggXtnPool, puzzleEggWavesMegaPool, fomoOnPete, pesoLatinaPool]
4949
5050 let fee = 500000
5151
5252 func asInt (value) = match value {
5353 case int: Int =>
5454 int
5555 case string: String =>
5656 throw(("Wrong type, expected: Int, but got string: " + string))
5757 case _ =>
5858 throw("Wrong type, expected: Int")
5959 }
6060
6161
6262 func directTnBetweenAssets (amm1,asset1,amm2,asset2,tnAmount,tx) = {
63- let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swap", [asset1, 0], [AttachedPayment(fromBase58String(asset2), tnAmount)]))
63+ let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swapAndCheck", [asset1, 0], [AttachedPayment(fromBase58String(asset2), tnAmount)]))
6464 if ((invoke1 == invoke1))
6565 then {
66- let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swap", [asset2, 0], [AttachedPayment(fromBase58String(asset1), invoke1)]))
66+ let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swapAndCheck", [asset2, 0], [AttachedPayment(fromBase58String(asset1), invoke1)]))
6767 if ((invoke2 == invoke2))
68- then {
69- let minToEarn = ((tnAmount * 102) / 100)
70- if ((minToEarn == minToEarn))
71- then if ((minToEarn > invoke2))
72- then throw(toString(minToEarn))
73- else nil
74- else throw("Strict value is not equal to itself.")
75- }
68+ then if ((tnAmount > invoke2))
69+ then throw(("Running in a loss: " + toString((invoke2 - tnAmount))))
70+ else [StringEntry(tx, ("SUCCESS_directWAVES_" + toString((invoke2 - tnAmount))))]
7671 else throw("Strict value is not equal to itself.")
7772 }
7873 else throw("Strict value is not equal to itself.")
7974 }
8075
8176
8277 func directTn (amm1,amm2,tnAmount,tx,middleAssetId) = {
83- let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swap", [middleAssetId, 0], [AttachedPayment(unit, tnAmount)]))
78+ let invoke1 = asInt(reentrantInvoke(addressFromStringValue(amm1), "swapAndCheck", [middleAssetId, 0], [AttachedPayment(unit, tnAmount)]))
8479 if ((invoke1 == invoke1))
8580 then {
86- let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swap", ["WAVES", 0], [AttachedPayment(fromBase58String(middleAssetId), invoke1)]))
81+ let invoke2 = asInt(reentrantInvoke(addressFromStringValue(amm2), "swapAndCheck", ["WAVES", 0], [AttachedPayment(fromBase58String(middleAssetId), invoke1)]))
8782 if ((invoke2 == invoke2))
8883 then if (((tnAmount + fee) > invoke2))
89- then throw(toString(invoke2))
90- else nil
84+ then throw(("Running in a loss: " + toString((invoke2 - tnAmount))))
85+ else [StringEntry(tx, ("SUCCESS_directWAVES_" + toString((invoke2 - tnAmount))))]
9186 else throw("Strict value is not equal to itself.")
9287 }
9388 else throw("Strict value is not equal to itself.")
9489 }
9590
9691
9792 @Callable(i)
9893 func SpiceEggSpicePuzzle () = {
9994 let amount = 50000000
10095 directTnBetweenAssets(nativePool, spiceAssetId, puzzleSpiceEggXtnPool, eggAssetId, amount, toBase58String(i.transactionId))
10196 }
10297
10398
10499
105100 @Callable(i)
106101 func SpiceEggSpicePuzzleInverted () = {
107102 let amount = 50000000
108103 directTnBetweenAssets(nativePool, eggAssetId, puzzleSpiceEggXtnPool, spiceAssetId, amount, toBase58String(i.transactionId))
109104 }
110105
111106
112107
113108 @Callable(i)
114109 func WavesEggWavesPuzzle () = {
115110 let amount = 50000000
116111 directTn(nativePool, puzzleEggWavesMegaPool, amount, toBase58String(i.transactionId), eggAssetId)
117112 }
118113
119114
120115
121116 @Callable(i)
122117 func WavesEggWavesInvertedPuzzle () = {
123118 let amount = 50000000
124119 directTn(puzzleEggWavesMegaPool, nativePool, amount, toBase58String(i.transactionId), eggAssetId)
125120 }
126121
127122
128123
129124 @Callable(i)
130125 func SpiceEggSpiceCF () = {
131126 let amount = 50000000
132127 directTnBetweenAssets(nativePool, spiceAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
133128 }
134129
135130
136131
137132 @Callable(i)
138133 func SpiceEggSpiceCFInverted () = {
139134 let amount = 50000000
140135 directTnBetweenAssets(nativePool, eggAssetId, cfPool, spiceAssetId, amount, toBase58String(i.transactionId))
141136 }
142137
143138
144139
145140 @Callable(i)
146141 func WavesEggWavesCF () = {
147142 let amount = 50000000
148143 directTn(nativePool, cfPool, amount, toBase58String(i.transactionId), eggAssetId)
149144 }
150145
151146
152147
153148 @Callable(i)
154149 func WavesEggWavesInvertedCF () = {
155150 let amount = 50000000
156151 directTn(cfPool, nativePool, amount, toBase58String(i.transactionId), eggAssetId)
157152 }
158153
159154
160155
161156 @Callable(i)
162157 func WavesEggWavesBX () = {
163158 let amount = 50000000
164159 directTn(nativePool, megaPetePool, amount, toBase58String(i.transactionId), eggAssetId)
165160 }
166161
167162
168163
169164 @Callable(i)
170165 func WavesEggWavesInvertedBX () = {
171166 let amount = 50000000
172167 directTn(megaPetePool, nativePool, amount, toBase58String(i.transactionId), eggAssetId)
173168 }
174169
175170
176171
177172 @Callable(i)
178173 func WavesEggWavesMP () = {
179174 let amount = 50000000
180175 directTn(nativePool, megaPetePool, amount, toBase58String(i.transactionId), eggAssetId)
181176 }
182177
183178
184179
185180 @Callable(i)
186181 func WavesEggWavesInvertedMP () = {
187182 let amount = 50000000
188183 directTn(megaPetePool, nativePool, amount, toBase58String(i.transactionId), eggAssetId)
189184 }
190185
191186
192187
193188 @Callable(i)
194189 func WavesFOMOWavesFOP () = {
195190 let amount = 25000000
196191 directTn(cfPool, fomoOnPete, amount, toBase58String(i.transactionId), fomoAssetId)
197192 }
198193
199194
200195
201196 @Callable(i)
202197 func WavesFOMOWavesInvertedFOP () = {
203198 let amount = 25000000
204199 directTn(fomoOnPete, cfPool, amount, toBase58String(i.transactionId), fomoAssetId)
205200 }
206201
207202
208203
209204 @Callable(i)
210205 func FomoEggFomoPeso () = {
211206 let amount = 25000000
212207 directTnBetweenAssets(pesoLatinaPool, fomoAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
213208 }
214209
215210
216211
217212 @Callable(i)
218213 func FomoEggFomoPesoInverted () = {
219214 let amount = 25000000
220215 directTnBetweenAssets(cfPool, fomoAssetId, pesoLatinaPool, eggAssetId, amount, toBase58String(i.transactionId))
221216 }
222217
223218
224219
225220 @Callable(i)
226221 func LatamEggLatamPeso () = {
227222 let amount = 25000000
228223 directTnBetweenAssets(pesoLatinaPool, latamAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
229224 }
230225
231226
232227
233228 @Callable(i)
234229 func LatamEggLatamPesoInverted () = {
235230 let amount = 25000000
236231 directTnBetweenAssets(cfPool, latamAssetId, pesoLatinaPool, eggAssetId, amount, toBase58String(i.transactionId))
237232 }
238233
239234
240235
241236 @Callable(i)
242237 func FomoEggFomoFomo () = {
243238 let amount = 25000000
244239 directTnBetweenAssets(fomoPool, fomoAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
245240 }
246241
247242
248243
249244 @Callable(i)
250245 func FomoEggFomoFomoInverted () = {
251246 let amount = 25000000
252247 directTnBetweenAssets(cfPool, fomoAssetId, fomoPool, eggAssetId, amount, toBase58String(i.transactionId))
253248 }
254249
255250
256251
257252 @Callable(i)
258253 func FomoEggFomoPool1 () = {
259254 let amount = 25000000
260255 directTnBetweenAssets(pool1, fomoAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
261256 }
262257
263258
264259
265260 @Callable(i)
266261 func FomoEggFomoPool1Inverted () = {
267262 let amount = 25000000
268263 directTnBetweenAssets(cfPool, fomoAssetId, pool1, eggAssetId, amount, toBase58String(i.transactionId))
269264 }
270265
271266
272267
273268 @Callable(i)
274269 func TurtleEggTurtlePool1 () = {
275270 let amount = 25000000
276271 directTnBetweenAssets(pool1, turtleAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
277272 }
278273
279274
280275
281276 @Callable(i)
282277 func TurtleEggTurtlePool1Inverted () = {
283278 let amount = 25000000
284279 directTnBetweenAssets(cfPool, turtleAssetId, pool1, eggAssetId, amount, toBase58String(i.transactionId))
285280 }
286281
287282
288283
289284 @Callable(i)
290285 func LatamEggLatamPool1 () = {
291286 let amount = 25000000
292287 directTnBetweenAssets(pool1, latamAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
293288 }
294289
295290
296291
297292 @Callable(i)
298293 func LatamEggLatamPool1Inverted () = {
299294 let amount = 25000000
300295 directTnBetweenAssets(cfPool, latamAssetId, pool1, eggAssetId, amount, toBase58String(i.transactionId))
301296 }
302297
303298
304299
305300 @Callable(i)
306301 func DuxplorerEggDuxplorerPool1 () = {
307302 let amount = 25000000
308303 directTnBetweenAssets(pool1, duxplorerAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
309304 }
310305
311306
312307
313308 @Callable(i)
314309 func DuxplorerEggDuxplorerPool1Inverted () = {
315310 let amount = 25000000
316311 directTnBetweenAssets(cfPool, duxplorerAssetId, pool1, eggAssetId, amount, toBase58String(i.transactionId))
317312 }
318313
319314
320315
321316 @Callable(i)
322317 func EPEggEPPool1 () = {
323318 let amount = 25000000
324319 directTnBetweenAssets(pool1, eggPointAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
325320 }
326321
327322
328323
329324 @Callable(i)
330325 func EPEggEPPool1Inverted () = {
331326 let amount = 25000000
332327 directTnBetweenAssets(cfPool, eggPointAssetId, pool1, eggAssetId, amount, toBase58String(i.transactionId))
333328 }
334329
335330
336331
337332 @Callable(i)
338333 func StrEggStrPool1 () = {
339334 let amount = 25000000
340335 directTnBetweenAssets(pool2, streetAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
341336 }
342337
343338
344339
345340 @Callable(i)
346341 func StrEggStrPool1Inverted () = {
347342 let amount = 25000000
348343 directTnBetweenAssets(cfPool, streetAssetId, pool2, eggAssetId, amount, toBase58String(i.transactionId))
349344 }
350345
351346
352347
353348 @Callable(i)
354349 func KHEggKHPool1 () = {
355350 let amount = 25000000
356351 directTnBetweenAssets(pool2, kholkozAssetId, cfPool, eggAssetId, amount, toBase58String(i.transactionId))
357352 }
358353
359354
360355
361356 @Callable(i)
362357 func KHEggKHPool1Inverted () = {
363358 let amount = 25000000
364359 directTnBetweenAssets(cfPool, kholkozAssetId, pool2, eggAssetId, amount, toBase58String(i.transactionId))
365360 }
366361
367362

github/deemru/w8io/3ef1775 
43.07 ms