orca intermediate swaps model (#175)

This commit is contained in:
tarikceric 2022-12-07 11:09:30 -08:00 committed by GitHub
parent 5dff3cfc40
commit 6356037d7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 617 additions and 0 deletions

View File

@ -0,0 +1,37 @@
tx_id,succeeded,swapper,from_mint,from_amt,to_mint,to_amt,swap_index
2QxzLChDGEBNfEHEAQogmVZv8VKqS3AzScNfJcrgsrMKVZSDGWBfbefpXYnPqYePdPDRg2K28gyafcqDhbAFfPv2,TRUE,HdGsWDaxSDBesEYXmAYsG7WZYkKxUv3qhGJgmXSXnm3d,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,765.228731,So11111111111111111111111111111111111111112,23.300788434,1
5LsYW2yEZJERFRD6jykprokamCZWRvEZRMqufNR625x9GELRawThDvcfRiwnHSx7hRBBdZzUqUPzPzBK6cyeBtHb,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.185291,9vMJfxuKxXBoEa7rM12mYLMwTacLMLDJqHozw96WQL8i,4.904269,1
3FpKL3EjTkSEyRhYakEqZ9ErDPHVGzZZ6upyba3wYkmshus4hPoM5NZEgzkMGefPcLrtX9iANWnbA5KA6WERktk2,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,So11111111111111111111111111111111111111112,0.089771208,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.926124,1
3mcp7RNz4qjQ37Sr3MZUrChpEYV66LDNkrVDoZWaMND61vcD6HpicftULvG8cYZChKyxESfNW7D6ZY7NnAwGwPK4,TRUE,95DFFq1icXkx9tdFMCYKwB3GV5R4gE3Fj93BHBBGpSCZ,So11111111111111111111111111111111111111112,14.183999998,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1384.017514,1
3mcp7RNz4qjQ37Sr3MZUrChpEYV66LDNkrVDoZWaMND61vcD6HpicftULvG8cYZChKyxESfNW7D6ZY7NnAwGwPK4,TRUE,95DFFq1icXkx9tdFMCYKwB3GV5R4gE3Fj93BHBBGpSCZ,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1382.714683,AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB,219.620024112,2
4EbgFcL5CM7B87EgZqW7KyAyVKRrvcifpPWvwP26UDmgQ4nb1NZdqjqZigUtUWXat9gH97kLenYpBVWaRmJ98MmD,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,So11111111111111111111111111111111111111112,0.015372265,2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk,0.000357,1
4EbgFcL5CM7B87EgZqW7KyAyVKRrvcifpPWvwP26UDmgQ4nb1NZdqjqZigUtUWXat9gH97kLenYpBVWaRmJ98MmD,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt,0.597252,So11111111111111111111111111111111111111112,0.015520937,2
KJ6M8YcsHbQr3CXSQpubh5pWxcgLyboZLg6HGJFZ6WUm9QFuqDrP1jQRfeMbbzzMqTJ4FzjxPYEpdnNBYtzM4wD,TRUE,AxTFCGaCtyizxoii9L1NcpdFzmuAd5Xm7yHEebLjmxN6,So11111111111111111111111111111111111111112,0.849975124,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,45.68329,1
KJ6M8YcsHbQr3CXSQpubh5pWxcgLyboZLg6HGJFZ6WUm9QFuqDrP1jQRfeMbbzzMqTJ4FzjxPYEpdnNBYtzM4wD,TRUE,AxTFCGaCtyizxoii9L1NcpdFzmuAd5Xm7yHEebLjmxN6,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,45.68329,AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB,15.001785844,2
3xsQC8Zn5juvP9bPPiVHRi3kp7NnLzaziWzBqFH7eyXcQNRzfDAUdKqz4Nv5kwK9PQpi6eozq5V1pUw1fg15FrJQ,TRUE,3LtjpMgF25NCaGdLAntnw9gSZwPbXNzP4fBtiPDV2CWW,So11111111111111111111111111111111111111112,0.049999997,orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE,1.928452,1
3hPfLKsSs5dG9GWq3286PGJjTgRrzzPwmRigVcnwVJ3BjVygRHf3TNSf6T1xw6FzaKAaR4TykfuFSuv3PcdWbdMF,TRUE,GjMxHDsRz2BabBKbyc3NxGbxBUYug7ujT5JdQ2Eerxfk,So11111111111111111111111111111111111111112,0.000099984,SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt,0.004306,1
5aSxXzFNBtkeSmuGV3Jq3UAf9B3LEXEZSvB5u2SVoQj3XDmYA7jrMjMK39Gw8eKDjtkYh2CaGtnzB71jn3FMEdT9,TRUE,9SoYUhp9x1NiR4gsrU8NYzUC4ZMXnpTh3TDm6ot1qd2J,So11111111111111111111111111111111111111112,0.049999995,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.49579,1
4fK4xxJEEgQ4wcyMJr377uFfVyEmpoNLy2Wi5XD17yRoujNEoYJu7EpXHtcPAiEoBy7ZkirSiZhbJ2Hy1HbJGtYo,TRUE,3a9RHGL9HVxCsbtPpvJYZLEZrpGqpGG6g6LHzVBgPK1T,So11111111111111111111111111111111111111112,0.359662996,7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU,3331.554114357,1
4fK4xxJEEgQ4wcyMJr377uFfVyEmpoNLy2Wi5XD17yRoujNEoYJu7EpXHtcPAiEoBy7ZkirSiZhbJ2Hy1HbJGtYo,TRUE,3a9RHGL9HVxCsbtPpvJYZLEZrpGqpGG6g6LHzVBgPK1T,7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU,3331.554098893,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,19.632909,2
1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.271457,So11111111111111111111111111111111111111112,0.050037222,1
1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,So11111111111111111111111111111111111111112,0.050037207,BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4,1.76098,2
1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV,TRUE,FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG,BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4,1.76098,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.278336,3
2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD,TRUE,E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,202.768742,4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R,38.540547,1
2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD,TRUE,E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o,4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R,38.540162,So11111111111111111111111111111111111111112,1.41520601,2
2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD,TRUE,E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o,So11111111111111111111111111111111111111112,1.414977011,9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E,0.004818,3
2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD,TRUE,E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o,9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E,0.004818,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,207.989933,4
5dTuKTQEBQEDs7V1WBfuv5MTkMstgkSucdZAvycPapPriBSU6pLXCYqCZ8ChVE21Sgn6prVTbuATbQkhz3ZNpBcF,TRUE,DT1mBDFsNBc1UXa25RdxNvnjL5Lro7su7gX1zpLyCmWe,4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R,0.000796,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.00085,1
4oAVYzKr4t7tQJbme1G9Lo2kycgLXWFgzZSdxtfYwfxxPDYqBWvUbhAs359qfhoyy9mJZjQwX72HbJsAmTDpcdRV,TRUE,5a2vAasrNmMwsHS6GhWQfStbBaPs8XPc4nZqmTjWAg2M,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2000,So11111111111111111111111111111111111111112,37.265600236,1
4txTBFpBZT4tRAmZLkfQ2qiuhZEKKv9ks5j2DAxBcGPDvWZstXHapazCbC4voBB5XkTwh9CwBJ7aWHxtiFKH9PVM,TRUE,HiVf8RKNETMYVyVrqcaoMGAP8CyMZ67cLtnGfJJ82bCx,7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU,295.483796745,So11111111111111111111111111111111111111112,0.068308233,1
sG5f1439MhvTafpgv8d8zKrAcUnkEH3YKSaP3wbZCoBfiWLsjdV8FjAmpHy3RkgL2azLm1v6MdpzRWhockKPxmY,TRUE,sx7E38PqhZ8NDYWoNzHoKF71SKHMDA5h2Wskbyiu4BB,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1.554385,4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R,2.019437,1
TwENfn52KvbVWajAyAbmq8VaaojPJVsMbU5SBS5pRcx8hLqMnMZyrEzVXjxLA4Td6YBjBccLfDHJhWVnctEa4aH,TRUE,C5vAhLenoUz9hWXnviFQJjyFZLjp3Ndh7BntS3yJfki5,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,21.861627,AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3,0.688737,1
24xxMyhpZPNZkEpteNgkFxy1okm21NtDBMoU9BXWBYUidiM6DCdabNsPq8Qxj9Qbrq9CoPHqXibQn7xY46Z6JUxJ,TRUE,C5vAhLenoUz9hWXnviFQJjyFZLjp3Ndh7BntS3yJfki5,2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk,0.000091,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.120178,1
4L9qNjj5YVHK6Z55zMRFeK5ggVk9atktvmqK4KYjuBDrapg8FbR3748JW2yrQndJgvcU9voeE7jdN3Lmfshi3sWB,TRUE,GReSWJ89VBhPFVLFetnUA6r5Br4WemZp5CDHGvV85fwy,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,10,Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1,2409.610112,1
51aYyFt2b9dWKWHpS5VU3eFuuW1Ep7pNzT37vPkcDmzREQHP1HAWxnCdx2GU4hfS75aHZnkd1NqQiGaLM18Myq9P,TRUE,GaYVu6BDzEcTX8HVM8PGd1x1XUWZafVrMzDAe2VgiAAB,ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx,19.99990748,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.133885,1
JpE6Qx8PGvcEDqitoSEgqSBGPxfm6EntvtUhz6JNB9cnYh26ErGWFLge6atiywH4NeMNjLWAj91QN7EHyVNjmBs,TRUE,C3csyuyMtcDBTqP3gL9n1PbuL9r37ed7wavooBZEtcx8,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.539,MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac,12.491308,1
Ki2PGcudggRqtb3B9SnufSgGJkSwxdjAvEhBqAyVatXxaUcuzzxX3eKvJpUGykUDr1cYxwhJJppTZvia4Lx9dF2,TRUE,ogDsdvMKRRRMmsrT2hTPdkQBu1qY2z1jBDzgpi8HZri,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,0.3866529,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,467.782806,1
3X1fHTehR6UMfUMH9uPJir5YW6LjzgNfKr7QhKqnCq74VoY6jJHcmCL2YvNi2PA2CLjPLpCQaq3UKDxUyzQoxv3A,TRUE,Gfrpgxxk2Ds5f4BNPmngNZq2bcxupsqKnUZ6dBBLqHqH,So11111111111111111111111111111111111111112,6,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,219.405943,1
4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq,TRUE,GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.01,So11111111111111111111111111111111111111112,0.0001983,1
4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq,TRUE,GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK,So11111111111111111111111111111111111111112,0.0001983,7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj,0.000190827,2
4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq,TRUE,GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK,7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj,0.000190827,USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX,0.009936,3
4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq,TRUE,GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK,USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX,0.009936,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.009959,4
1 tx_id succeeded swapper from_mint from_amt to_mint to_amt swap_index
2 2QxzLChDGEBNfEHEAQogmVZv8VKqS3AzScNfJcrgsrMKVZSDGWBfbefpXYnPqYePdPDRg2K28gyafcqDhbAFfPv2 TRUE HdGsWDaxSDBesEYXmAYsG7WZYkKxUv3qhGJgmXSXnm3d EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 765.228731 So11111111111111111111111111111111111111112 23.300788434 1
3 5LsYW2yEZJERFRD6jykprokamCZWRvEZRMqufNR625x9GELRawThDvcfRiwnHSx7hRBBdZzUqUPzPzBK6cyeBtHb TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.185291 9vMJfxuKxXBoEa7rM12mYLMwTacLMLDJqHozw96WQL8i 4.904269 1
4 3FpKL3EjTkSEyRhYakEqZ9ErDPHVGzZZ6upyba3wYkmshus4hPoM5NZEgzkMGefPcLrtX9iANWnbA5KA6WERktk2 TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG So11111111111111111111111111111111111111112 0.089771208 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2.926124 1
5 3mcp7RNz4qjQ37Sr3MZUrChpEYV66LDNkrVDoZWaMND61vcD6HpicftULvG8cYZChKyxESfNW7D6ZY7NnAwGwPK4 TRUE 95DFFq1icXkx9tdFMCYKwB3GV5R4gE3Fj93BHBBGpSCZ So11111111111111111111111111111111111111112 14.183999998 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 1384.017514 1
6 3mcp7RNz4qjQ37Sr3MZUrChpEYV66LDNkrVDoZWaMND61vcD6HpicftULvG8cYZChKyxESfNW7D6ZY7NnAwGwPK4 TRUE 95DFFq1icXkx9tdFMCYKwB3GV5R4gE3Fj93BHBBGpSCZ EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 1382.714683 AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB 219.620024112 2
7 4EbgFcL5CM7B87EgZqW7KyAyVKRrvcifpPWvwP26UDmgQ4nb1NZdqjqZigUtUWXat9gH97kLenYpBVWaRmJ98MmD TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG So11111111111111111111111111111111111111112 0.015372265 2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk 0.000357 1
8 4EbgFcL5CM7B87EgZqW7KyAyVKRrvcifpPWvwP26UDmgQ4nb1NZdqjqZigUtUWXat9gH97kLenYpBVWaRmJ98MmD TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt 0.597252 So11111111111111111111111111111111111111112 0.015520937 2
9 KJ6M8YcsHbQr3CXSQpubh5pWxcgLyboZLg6HGJFZ6WUm9QFuqDrP1jQRfeMbbzzMqTJ4FzjxPYEpdnNBYtzM4wD TRUE AxTFCGaCtyizxoii9L1NcpdFzmuAd5Xm7yHEebLjmxN6 So11111111111111111111111111111111111111112 0.849975124 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 45.68329 1
10 KJ6M8YcsHbQr3CXSQpubh5pWxcgLyboZLg6HGJFZ6WUm9QFuqDrP1jQRfeMbbzzMqTJ4FzjxPYEpdnNBYtzM4wD TRUE AxTFCGaCtyizxoii9L1NcpdFzmuAd5Xm7yHEebLjmxN6 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 45.68329 AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB 15.001785844 2
11 3xsQC8Zn5juvP9bPPiVHRi3kp7NnLzaziWzBqFH7eyXcQNRzfDAUdKqz4Nv5kwK9PQpi6eozq5V1pUw1fg15FrJQ TRUE 3LtjpMgF25NCaGdLAntnw9gSZwPbXNzP4fBtiPDV2CWW So11111111111111111111111111111111111111112 0.049999997 orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE 1.928452 1
12 3hPfLKsSs5dG9GWq3286PGJjTgRrzzPwmRigVcnwVJ3BjVygRHf3TNSf6T1xw6FzaKAaR4TykfuFSuv3PcdWbdMF TRUE GjMxHDsRz2BabBKbyc3NxGbxBUYug7ujT5JdQ2Eerxfk So11111111111111111111111111111111111111112 0.000099984 SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt 0.004306 1
13 5aSxXzFNBtkeSmuGV3Jq3UAf9B3LEXEZSvB5u2SVoQj3XDmYA7jrMjMK39Gw8eKDjtkYh2CaGtnzB71jn3FMEdT9 TRUE 9SoYUhp9x1NiR4gsrU8NYzUC4ZMXnpTh3TDm6ot1qd2J So11111111111111111111111111111111111111112 0.049999995 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2.49579 1
14 4fK4xxJEEgQ4wcyMJr377uFfVyEmpoNLy2Wi5XD17yRoujNEoYJu7EpXHtcPAiEoBy7ZkirSiZhbJ2Hy1HbJGtYo TRUE 3a9RHGL9HVxCsbtPpvJYZLEZrpGqpGG6g6LHzVBgPK1T So11111111111111111111111111111111111111112 0.359662996 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 3331.554114357 1
15 4fK4xxJEEgQ4wcyMJr377uFfVyEmpoNLy2Wi5XD17yRoujNEoYJu7EpXHtcPAiEoBy7ZkirSiZhbJ2Hy1HbJGtYo TRUE 3a9RHGL9HVxCsbtPpvJYZLEZrpGqpGG6g6LHzVBgPK1T 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 3331.554098893 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 19.632909 2
16 1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2.271457 So11111111111111111111111111111111111111112 0.050037222 1
17 1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG So11111111111111111111111111111111111111112 0.050037207 BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4 1.76098 2
18 1kBLMk3k5rxtsT2CTabiLZrMngUH8YuBhsonRrcHh9gW1kcZ2xXMt3pUUAMPGxdGJv37eSn1NLC1LNNAhf5mXVV TRUE FnJZCfHc6LuZKCWMJGsHmpmqPeVVpxiJR3upiFp8TWsG BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4 1.76098 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2.278336 3
19 2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD TRUE E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 202.768742 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R 38.540547 1
20 2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD TRUE E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R 38.540162 So11111111111111111111111111111111111111112 1.41520601 2
21 2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD TRUE E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o So11111111111111111111111111111111111111112 1.414977011 9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E 0.004818 3
22 2G1tUPa52pUZr3zdheC7bY6G3kyifFPMNh7F8HYSLDb6gwshr1RVRqMWL9YQfzvQ18nZdddBqk2RViTYoqBwDSPD TRUE E6rRQBgWFxJZ1T6Rs66VwkArz6EeTqhX2ULEfCvSeb4o 9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E 0.004818 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 207.989933 4
23 5dTuKTQEBQEDs7V1WBfuv5MTkMstgkSucdZAvycPapPriBSU6pLXCYqCZ8ChVE21Sgn6prVTbuATbQkhz3ZNpBcF TRUE DT1mBDFsNBc1UXa25RdxNvnjL5Lro7su7gX1zpLyCmWe 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R 0.000796 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.00085 1
24 4oAVYzKr4t7tQJbme1G9Lo2kycgLXWFgzZSdxtfYwfxxPDYqBWvUbhAs359qfhoyy9mJZjQwX72HbJsAmTDpcdRV TRUE 5a2vAasrNmMwsHS6GhWQfStbBaPs8XPc4nZqmTjWAg2M EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2000 So11111111111111111111111111111111111111112 37.265600236 1
25 4txTBFpBZT4tRAmZLkfQ2qiuhZEKKv9ks5j2DAxBcGPDvWZstXHapazCbC4voBB5XkTwh9CwBJ7aWHxtiFKH9PVM TRUE HiVf8RKNETMYVyVrqcaoMGAP8CyMZ67cLtnGfJJ82bCx 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 295.483796745 So11111111111111111111111111111111111111112 0.068308233 1
26 sG5f1439MhvTafpgv8d8zKrAcUnkEH3YKSaP3wbZCoBfiWLsjdV8FjAmpHy3RkgL2azLm1v6MdpzRWhockKPxmY TRUE sx7E38PqhZ8NDYWoNzHoKF71SKHMDA5h2Wskbyiu4BB EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 1.554385 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R 2.019437 1
27 TwENfn52KvbVWajAyAbmq8VaaojPJVsMbU5SBS5pRcx8hLqMnMZyrEzVXjxLA4Td6YBjBccLfDHJhWVnctEa4aH TRUE C5vAhLenoUz9hWXnviFQJjyFZLjp3Ndh7BntS3yJfki5 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 21.861627 AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3 0.688737 1
28 24xxMyhpZPNZkEpteNgkFxy1okm21NtDBMoU9BXWBYUidiM6DCdabNsPq8Qxj9Qbrq9CoPHqXibQn7xY46Z6JUxJ TRUE C5vAhLenoUz9hWXnviFQJjyFZLjp3Ndh7BntS3yJfki5 2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk 0.000091 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.120178 1
29 4L9qNjj5YVHK6Z55zMRFeK5ggVk9atktvmqK4KYjuBDrapg8FbR3748JW2yrQndJgvcU9voeE7jdN3Lmfshi3sWB TRUE GReSWJ89VBhPFVLFetnUA6r5Br4WemZp5CDHGvV85fwy EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 10 Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1 2409.610112 1
30 51aYyFt2b9dWKWHpS5VU3eFuuW1Ep7pNzT37vPkcDmzREQHP1HAWxnCdx2GU4hfS75aHZnkd1NqQiGaLM18Myq9P TRUE GaYVu6BDzEcTX8HVM8PGd1x1XUWZafVrMzDAe2VgiAAB ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx 19.99990748 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.133885 1
31 JpE6Qx8PGvcEDqitoSEgqSBGPxfm6EntvtUhz6JNB9cnYh26ErGWFLge6atiywH4NeMNjLWAj91QN7EHyVNjmBs TRUE C3csyuyMtcDBTqP3gL9n1PbuL9r37ed7wavooBZEtcx8 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.539 MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac 12.491308 1
32 Ki2PGcudggRqtb3B9SnufSgGJkSwxdjAvEhBqAyVatXxaUcuzzxX3eKvJpUGykUDr1cYxwhJJppTZvia4Lx9dF2 TRUE ogDsdvMKRRRMmsrT2hTPdkQBu1qY2z1jBDzgpi8HZri 7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs 0.3866529 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 467.782806 1
33 3X1fHTehR6UMfUMH9uPJir5YW6LjzgNfKr7QhKqnCq74VoY6jJHcmCL2YvNi2PA2CLjPLpCQaq3UKDxUyzQoxv3A TRUE Gfrpgxxk2Ds5f4BNPmngNZq2bcxupsqKnUZ6dBBLqHqH So11111111111111111111111111111111111111112 6 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 219.405943 1
34 4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq TRUE GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.01 So11111111111111111111111111111111111111112 0.0001983 1
35 4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq TRUE GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK So11111111111111111111111111111111111111112 0.0001983 7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj 0.000190827 2
36 4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq TRUE GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK 7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj 0.000190827 USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX 0.009936 3
37 4vnF6WX4Zcu4AskYsh79GcrJ2vHbuNpxshqYuSAJGWPegsULsmGFakoLYHkv3M2d6RZ4innAUfVPcknk5ToEuGtq TRUE GMJHfti4je12kPmrGJTstx38DB6vDhbeAfEijyGybwxK USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX 0.009936 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 0.009959 4

View File

@ -0,0 +1,479 @@
{{ config(
materialized = 'incremental',
unique_key = ["block_id","tx_id","swap_index"],
merge_predicates = ["DBT_INTERNAL_DEST.block_timestamp::date >= LEAST(current_date-7,(select min(block_timestamp)::date from {{ this }}__dbt_tmp))"],
cluster_by = ['block_timestamp::DATE','_inserted_timestamp::DATE'],
post_hook = "ALTER TABLE {{ this }} ADD SEARCH OPTIMIZATION"
) }}
WITH base_events AS(
SELECT
*
FROM
{{ ref('silver__events') }}
WHERE
(
program_id IN (
-- Orca
'9W959DqEETiGZocYWCQPaJ6sBmUzgfxXfqGeTEdp3aQP',
'DjVE6JNiYqPL2QXyCUUh8rNjHrbz9hXHNYt99MQ59qw1',
'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc',
--program ids for acct mapping
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA',
--program ids that identify the swapper in certain tx
'8rGFmebhhTikfJP5bUe2uLHcejSiukdJhiLEKoit962a',
'E16pm4Z4jiFxVEeBcSuYfJHy6TQYfYRAhGYt7cEUYfEV'
)
)
AND block_id > 111442741 -- token balances owner field not guaranteed to be populated before this slot
{% if is_incremental() %}
-- AND block_timestamp :: DATE = '2022-11-01'
AND _inserted_timestamp >= (
SELECT
MAX(_inserted_timestamp)
FROM
{{ this }}
)
{% else %}
AND block_timestamp :: DATE >= '2021-12-14'
{% endif %}
),
dex_txs AS (
SELECT
e.*,
IFF(ARRAY_SIZE(signers) = 1, signers [0] :: STRING, NULL) AS swapper,
signers
FROM
base_events e
INNER JOIN {{ ref('silver__transactions') }}
t
ON t.tx_id = e.tx_id
AND t.block_timestamp :: DATE = e.block_timestamp :: DATE
WHERE
program_id IN (
-- Orca
'9W959DqEETiGZocYWCQPaJ6sBmUzgfxXfqGeTEdp3aQP',
'DjVE6JNiYqPL2QXyCUUh8rNjHrbz9hXHNYt99MQ59qw1',
'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc'
)
AND inner_instruction_program_ids [0] <> 'DecZY86MU5Gj7kppfUCEmd4LbXXuyZH1yHaP2NTqdiZB'
{% if is_incremental() %}
-- AND t.block_timestamp :: DATE = '2022-11-01'
AND t._inserted_timestamp >= (
SELECT
MAX(_inserted_timestamp)
FROM
{{ this }}
)
{% else %}
AND t.block_timestamp :: DATE >= '2021-12-14'
{% endif %}
),
base_transfers AS (
SELECT
tr.*
FROM
{{ ref('silver__transfers') }}
tr
INNER JOIN (
SELECT
DISTINCT tx_id
FROM
dex_txs
) d
ON d.tx_id = tr.tx_id
{% if is_incremental() %}
WHERE
-- block_timestamp :: DATE = '2022-11-01'
_inserted_timestamp >= (
SELECT
MAX(_inserted_timestamp)
FROM
{{ this }}
)
{% else %}
WHERE
block_timestamp :: DATE >= '2021-12-14'
{% endif %}
),
base_post_token_balances AS (
SELECT
pb.*
FROM
{{ ref('silver___post_token_balances') }}
pb
INNER JOIN (
SELECT
DISTINCT tx_id
FROM
dex_txs
) d
ON d.tx_id = pb.tx_id
{% if is_incremental() %}
WHERE
-- block_timestamp :: DATE = '2022-11-01'
_inserted_timestamp >= (
SELECT
MAX(_inserted_timestamp)
FROM
{{ this }}
)
{% else %}
WHERE
block_timestamp :: DATE >= '2021-12-14'
{% endif %}
),
swapper_map_temp as(
SELECT e.tx_id,
e.instruction :accounts[0] :: STRING AS swapper
from base_events e
INNER JOIN (
SELECT
DISTINCT tx_id
FROM
dex_txs
) d
ON d.tx_id = e.tx_id
WHERE program_id in ('8rGFmebhhTikfJP5bUe2uLHcejSiukdJhiLEKoit962a','E16pm4Z4jiFxVEeBcSuYfJHy6TQYfYRAhGYt7cEUYfEV')
),
swaps_temp AS(
SELECT
A.block_id,
A.block_timestamp,
A.tx_id,
COALESCE(SPLIT_PART(INDEX :: text, '.', 1) :: INT, INDEX :: INT) AS INDEX,
COALESCE(NULLIF(SPLIT_PART(INDEX :: text, '.', 2), '') :: INT, NULL) AS inner_index,
A.program_id,
A.tx_from,
A.tx_to,
A.amount,
A.mint,
A.succeeded,
A._inserted_timestamp
FROM
base_transfers AS A
WHERE
A.tx_id IN (
SELECT
tx_id
FROM
dex_txs
)
),
multisig_account_mapping AS(
SELECT
tx_id,
instruction :parsed :info :account :: STRING AS associated_account,
instruction :parsed :info :multisigOwner :: STRING AS owner
FROM
base_events
WHERE
program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
AND event_type = 'closeAccount'
UNION
SELECT
tx_id,
instruction :parsed :info :delegate :: STRING AS associated_account,
instruction :parsed :info :multisigOwner :: STRING AS owner
FROM
base_events
WHERE
program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
AND event_type = 'approve'
),
account_mappings AS (
SELECT
*
FROM
multisig_account_mapping
UNION
SELECT
tx_id,
tx_to AS associated_account,
tx_from AS owner
FROM
swaps_temp
WHERE
amount = 0.00203928
AND mint = 'So11111111111111111111111111111111111111112'
UNION
SELECT
tx_id,
account AS associated_account,
owner
FROM
base_post_token_balances
UNION
SELECT
e.tx_id,
e.instruction :parsed :info :account :: STRING AS associated_account,
COALESCE(
e.instruction :parsed :info :source :: STRING,
e.instruction :parsed :info :owner :: STRING
) AS owner
FROM
base_events e
INNER JOIN (
SELECT
DISTINCT tx_id
FROM
dex_txs
) d
ON d.tx_id = e.tx_id
WHERE
(
(
e.program_id = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'
AND e.event_type = 'create'
)
OR (
e.program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
AND e.event_type = 'closeAccount'
)
)
UNION
SELECT
e.tx_id,
e.instruction :parsed :info :delegate :: STRING AS associated_account,
e.instruction :parsed :info :owner :: STRING AS owner
FROM
base_events e
INNER JOIN (
SELECT
DISTINCT tx_id
FROM
dex_txs
) d
ON d.tx_id = e.tx_id
WHERE
(
e.program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
AND e.event_type = 'approve'
)
),
swaps_w_destination AS (
SELECT
s.block_id,
s.block_timestamp,
s.tx_id,
s.index,
s.inner_index,
COALESCE(
m1.owner,
s.tx_from
) AS tx_from,
COALESCE(
m2.owner,
s.tx_to
) AS tx_to,
s.amount,
s.mint,
s.succeeded,
s._inserted_timestamp,
COALESCE(
sm.swapper,
e.swapper
) AS tmp_swapper,
e.signers,
e.program_id
FROM
swaps_temp s
LEFT OUTER JOIN dex_txs e
ON s.tx_id = e.tx_id
AND s.index = e.index
LEFT OUTER JOIN account_mappings m1
ON s.tx_id = m1.tx_id
AND s.tx_from = m1.associated_account
AND s.tx_to <> m1.owner
LEFT OUTER JOIN account_mappings m2
ON s.tx_id = m2.tx_id
AND s.tx_to = m2.associated_account
AND s.tx_from <> m2.owner
left outer join swapper_map_temp sm
on s.tx_id = sm.tx_id
WHERE
s.program_id <> '11111111111111111111111111111111'
),
multi_signer_swapper AS (
SELECT
tx_id,
silver.udf_get_multi_signers_swapper(ARRAY_AGG(tx_from), ARRAY_AGG(tx_to), ARRAY_AGG(signers) [0]) AS swapper
FROM
swaps_w_destination
WHERE
succeeded
AND ARRAY_SIZE(signers) > 1
AND tmp_swapper IS NULL
GROUP BY
1
),
unique_tx_from_and_to AS(
SELECT
tx_id,
INDEX,
COUNT(DISTINCT(tx_from)) AS num_tx_from,
COUNT(DISTINCT(tx_to)) AS num_tx_to
FROM
swaps_w_destination
GROUP BY
1,
2
HAVING
num_tx_from > 1
AND num_tx_to > 1),
swaps_filtered_temp AS(
SELECT
s.*,
COALESCE(
s.tmp_swapper,
m.swapper
) AS swapper
FROM
swaps_w_destination s
INNER JOIN unique_tx_from_and_to u
ON s.tx_id = u.tx_id
AND s.index = u.index
LEFT OUTER JOIN multi_signer_swapper m
ON s.tx_id = m.tx_id
),
min_inner_index_of_swapper AS(
SELECT
tx_id,
INDEX,
MIN(inner_index) AS min_inner_index_swapper
FROM
swaps_filtered_temp
WHERE
tx_from = swapper
GROUP BY
1,
2
),
swaps AS(
SELECT
d.*,
m.min_inner_index_swapper,
ROW_NUMBER() over (
PARTITION BY d.tx_id
ORDER BY
d.index,
d.inner_index
) AS rn,
ROW_NUMBER() over (
PARTITION BY d.tx_id,
d.index
ORDER BY
d.inner_index
) AS inner_rn
FROM
swaps_filtered_temp d
LEFT JOIN min_inner_index_of_swapper m
ON m.tx_id = d.tx_id
AND m.index = d.index
WHERE
d.swapper IS NOT NULL
),
final_temp AS (
SELECT
s1.block_id,
s1.block_timestamp,
s1.tx_id,
s1.succeeded,
s1.program_id,
s1.swapper,
s1.mint,
s1.amount,
s1.rn,
s1._inserted_timestamp,
s2.mint AS to_mint,
s2.amount AS to_amt
FROM
swaps s1
LEFT OUTER JOIN swaps s2
ON s1.tx_id = s2.tx_id
AND s1.index = s2.index
AND s1.inner_index <> s2.inner_index
WHERE
s1.inner_index = s1.min_inner_index_swapper
AND s1.swapper = s2.tx_to
AND s1.mint <> s2.mint
UNION
SELECT
s1.block_id,
s1.block_timestamp,
s1.tx_id,
s1.succeeded,
s1.program_id,
s1.swapper,
s1.mint,
s1.amount,
s1.rn,
s1._inserted_timestamp,
NULL,
NULL
FROM
swaps s1
WHERE
s1.inner_index <> s1.min_inner_index_swapper
AND s1.tx_from = s1.swapper
UNION
SELECT
s1.block_id,
s1.block_timestamp,
s1.tx_id,
s1.succeeded,
s1.program_id,
s1.swapper,
NULL AS mint,
NULL AS amount,
s1.rn,
s1._inserted_timestamp,
s1.mint AS to_mint,
s1.amount AS to_amt
FROM
swaps s1
LEFT OUTER JOIN swaps s2
ON s1.tx_id = s2.tx_id
AND s1.index = s2.index
AND s2.inner_index = s2.min_inner_index_swapper
WHERE(
(
s1.inner_index <> s1.min_inner_index_swapper
AND s1.tx_to = s1.swapper
AND s2.mint = s1.mint
)
OR s1.min_inner_index_swapper IS NULL
)
)
SELECT
block_id,
block_timestamp,
tx_id,
succeeded,
program_id,
swapper,
mint AS from_mint,
amount AS from_amt,
to_mint,
to_amt,
_inserted_timestamp,
ROW_NUMBER() over (
PARTITION BY tx_id
ORDER BY
rn
) AS swap_index
FROM
final_temp
WHERE
(COALESCE(to_amt, 0) > 0
OR COALESCE(from_amt, 0) > 0)
AND program_id IS NOT NULL

View File

@ -0,0 +1,101 @@
version: 2
models:
- name: silver__swaps_intermediate_orca
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- BLOCK_ID
- TX_ID
- SWAP_INDEX
- compare_model_subset:
name: silver__swaps_intermediate_orca_business_logic_test
compare_model: ref('testing__swaps_intermediate_orca')
compare_columns:
- tx_id
- succeeded
- swapper
- from_mint
- from_amt
- to_mint
- to_amt
- swap_index
model_condition: "where tx_id in ('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')"
- tx_excluded:
name: silver__swaps_intermediate_orca_tx_excluded_test
excluded_tx_ids:
- 4VroTTqAjpsxYMTgnBzBSJG2P9uB2orenKxiEfvxbTBnAficioUuCijnAYotMmAH4pB6kgziKHvMgHNf7nU8g646
- 5JHjPkrTy1bWJv6ph8n1Tpk5ABBBuD89NZdyANUpbjdY8Zr2HKUyhJEjSrffQVEfAwYA3d9kVqK84qwuqVSZELp8
- 5e9ATFzcta5RfXB9tjCZfpE7qV1cBUh5H5ocNrwxSfC4D7KqRXTCRL3om4FTwNprwUmn9VMAUJAKm5qVYaJ8vsq6
- 3wSxtF5Mqeh5ybZVH1U4nE577pZSrhCr3td8GbJeCfwZfanpP7wrDXMiCUdhd5njhkWW6FKGgEzptDKsY8CW33RA
- 5hgT6wotqHT6c49iwJXexnvnCToteo5npbRStjFveMerx4RtR75azqXWKoaFyEWbXmLcEXR68EWwFgj5BzxjjXuy
- 3PdQf87gUGqRKrTXWzqpuduUVhe2cCfSFbmDbbJWQg4MwmsQu43esBRz3HQPsGZ98a8ZjtcNsxNDsrxhV1LBWNJn
- 4BhhKEKu1z7qXGPaoX1114oQ5Beqa2VWfgBvoW2dzcU6CmpAGPfztJZim2ZeF6MQsjdAAaiyr4ToChr3fa88mJpA
- 2Mnf63t8QQr4K59nC2UHunvuVirmASru4R3dsnpT6GNs2ZbGBhjS7NHAFrnTHScVYsjo2EivsqPgBMfvrTxL6dtC
- uxyRadaVq9gkEP7Z77iuDaHHbBpVeDh7pd6vn4ggzHhEpZEJAT7tT4L1TA6jVD5CAt6HhFipaygKKsZeHtEEmtM
columns:
- name: BLOCK_TIMESTAMP
description: "{{ doc('block_timestamp') }}"
tests:
- not_null
- dbt_expectations.expect_row_values_to_have_recent_data:
datepart: day
interval: 2
- name: BLOCK_ID
description: "{{ doc('block_id') }}"
tests:
- not_null
- name: TX_ID
description: "{{ doc('tx_id') }}"
tests:
- not_null
- name: SUCCEEDED
description: "{{ doc('tx_succeeded') }}"
tests:
- not_null
- name: PROGRAM_ID
description: "{{ doc('program_id') }}"
- name: SWAPPER
description: Address that initiated the swap
- name: FROM_AMT
description: Total amount of the token sent in to initiate the swap
tests:
- name: FROM_MINT
description: Token being sent or swapped from
tests:
- name: TO_AMT
description: Total amount of the token received in the swap
tests:
- name: TO_MINT
description: Token being received or swapped for
tests:
- name: SWAP_INDEX
description: Order in which the intermediate swap was executed
tests:
- not_null:
where: succeeded = TRUE
- name: _INSERTED_TIMESTAMP
description: "{{ doc('_inserted_timestamp') }}"
tests:
- not_null