mirror of
https://github.com/FlipsideCrypto/solana-models.git
synced 2026-02-06 11:47:08 +00:00
An 2427/intermediate swaps jupiter v4 (#162)
Jupiterv4 intermediate swaps model
This commit is contained in:
parent
6356037d7d
commit
46d9d10c6b
60
data/testing__swaps_intermediate_jupiterv4.csv
Normal file
60
data/testing__swaps_intermediate_jupiterv4.csv
Normal file
@ -0,0 +1,60 @@
|
||||
tx_id,succeeded,swapper,from_mint,from_amt,to_mint,to_amt,swap_index
|
||||
31HQzRbMs68pbHuiYa5TxkKNeGcasYY9A6HrdUKfMWz1iVBT1XSnNGTYWB689RgKfysSJDfAK3etFxyZ9ikioaeU,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,So11111111111111111111111111111111111111112,0.499999537,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,0.01033913,1
|
||||
31HQzRbMs68pbHuiYa5TxkKNeGcasYY9A6HrdUKfMWz1iVBT1XSnNGTYWB689RgKfysSJDfAK3etFxyZ9ikioaeU,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,0.01033913,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,16.467262,2
|
||||
4fmjzK1PMv1AR51778H35fbzjVuxsfb2bACtatdzkqfRSSg9Aca5L6gBKjNpQEJm2wQsjyb1Wd9F2r5vdodCuaE,TRUE,EDMGEpKKGKS7nxpu1gjLmuHHWAmvLNy3BZWDxNC3nhAt,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,2.5,So11111111111111111111111111111111111111112,2.681007752,1
|
||||
4fmjzK1PMv1AR51778H35fbzjVuxsfb2bACtatdzkqfRSSg9Aca5L6gBKjNpQEJm2wQsjyb1Wd9F2r5vdodCuaE,TRUE,EDMGEpKKGKS7nxpu1gjLmuHHWAmvLNy3BZWDxNC3nhAt,So11111111111111111111111111111111111111112,2.681007752,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,2.500789029,2
|
||||
9H27jvVtL9naDHm2HicebqjfropPnWXWJtZjuAQgh9hhDANhBxZc7LUqo9wiVuB848XYQtNifRcKjhwwsY1BU8r,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,So11111111111111111111111111111111111111112,3,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,2.797924087,1
|
||||
9H27jvVtL9naDHm2HicebqjfropPnWXWJtZjuAQgh9hhDANhBxZc7LUqo9wiVuB848XYQtNifRcKjhwwsY1BU8r,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,2.797924077,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,98.650267,2
|
||||
L8n9PPRbhrTNL8FJJm27xDqoxfLKhrvt3zhJkrxigtzASCPqWyHLWipeVUrAwjYYfaoodTS3sdv992eWqYDXXeW,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,So11111111111111111111111111111111111111112,1,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,31.569502,1
|
||||
HNJsK2AoxNqBYgCwg2MZuL6EfzchbZFJPN75qXJ2FABftMnPp6K49EB7GmMqZofGcA58y5eD6MdQWW1dcALU121,TRUE,FYeA1CoRmXPaYKWNJv9ZbrrJaKh6ohAw9QYStHUJZPTx,So11111111111111111111111111111111111111112,19.41,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,18.19467815,1
|
||||
HNJsK2AoxNqBYgCwg2MZuL6EfzchbZFJPN75qXJ2FABftMnPp6K49EB7GmMqZofGcA58y5eD6MdQWW1dcALU121,TRUE,FYeA1CoRmXPaYKWNJv9ZbrrJaKh6ohAw9QYStHUJZPTx,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,18.19467814,So11111111111111111111111111111111111111112,19.422787563,2
|
||||
3oUHXJugLhCt6qSDRbwJuHtVw7XHNtgtbNFYqgyDVLtzeMk3ZQbSnWN9E4eeSttjVGWWhcos3mARuhfshhfNkBpw,TRUE,Cyu5fgtYLPyUYhBpK3BhRxoqLQc3XTa1bvoCtAbPBcHk,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,25,CH74tuRLTYcxG7qNJCsV9rghfLXJCQJbsu7i52a8F1Gn,12557.7,1
|
||||
3oUHXJugLhCt6qSDRbwJuHtVw7XHNtgtbNFYqgyDVLtzeMk3ZQbSnWN9E4eeSttjVGWWhcos3mARuhfshhfNkBpw,TRUE,Cyu5fgtYLPyUYhBpK3BhRxoqLQc3XTa1bvoCtAbPBcHk,,,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.000181,2
|
||||
4JbNK3HRSV8of3MTCLXLUmbzTtvhLWafWoWteyuoTh6wNsDP6T673eXMViSBRSSfRz4785H2EBSJeozbK9Hrmoew,TRUE,EDMGEpKKGKS7nxpu1gjLmuHHWAmvLNy3BZWDxNC3nhAt,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,15,So11111111111111111111111111111111111111112,16.039806082,1
|
||||
4Lf3HEHzv8GL5LomueeG92ckd9VnR8igZcDohRyHHGRFTkNL6nCAhXo44gaasyQSDMejFmX7hyzNSUbvzETkZiaL,TRUE,6Men3h9U1GBX2YXdur2U9nLvZQ86rX3TpAf9Y3Bw8z5K,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,11.921345,So11111111111111111111111111111111111111112,0.38037448,1
|
||||
iuZ18QV7mZ9rRBr8Xs3JSjJvb6WybiGALbk5ctfmFC6iccmpVLdJrx8h4MXbvrNAKVkZ6FZEV6rboCrNTXdgY3b,TRUE,Ftz8fH34UJomtmVHojZAKJbeLoGJYpLjbpx6jZnTTgGs,6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p,477.79,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,325.500629,1
|
||||
iuZ18QV7mZ9rRBr8Xs3JSjJvb6WybiGALbk5ctfmFC6iccmpVLdJrx8h4MXbvrNAKVkZ6FZEV6rboCrNTXdgY3b,TRUE,Ftz8fH34UJomtmVHojZAKJbeLoGJYpLjbpx6jZnTTgGs,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,325.500629,So11111111111111111111111111111111111111112,10.290357185,2
|
||||
5fuRRGBx84zYFismVr9D47rAEAoKTMK55vhkSmnzBD9hna4aMtPcLEdetbwtH7qd5ULQDRzhXrirKFoPZ1a5yC99,TRUE,TX1iMRi6LGCLaUCD6ZcdmyEDac7oRaXWmUPtUzDfmdW,9GayNtQpj73ALAMJ8RoRHN149K4tx4A6brfCqtt89Hmi,5000000,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,7.583578,1
|
||||
3jzomqPrwHcg2MpkLKeTb49ve8vVc5zqC4vhgfSo3XUFetksuo4ET4b4tEjforEA5dhiBLVXfxoa86TXkKHspHi2,TRUE,99QbtWEGn3Z8SFPBL7zBDNXkhF4xHNbczVWmZ4GamT9u,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1,So11111111111111111111111111111111111111112,0.078938686,1
|
||||
3jzomqPrwHcg2MpkLKeTb49ve8vVc5zqC4vhgfSo3XUFetksuo4ET4b4tEjforEA5dhiBLVXfxoa86TXkKHspHi2,TRUE,99QbtWEGn3Z8SFPBL7zBDNXkhF4xHNbczVWmZ4GamT9u,So11111111111111111111111111111111111111112,0.078938686,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.999809,2
|
||||
5N5PtLDxsp1d5mJYBGcQPnC9i4BmD1hRqek5AURy8YzM7GD7zjexS71BvEzaEKKVVa8tcSkxscnFKp2RU5wZHSfh,TRUE,6hyuGqKQyhAEipjtaquiNHfd1dVjrNT3FzzanXurbK4W,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,670,9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6,669.677937227,1
|
||||
5N5PtLDxsp1d5mJYBGcQPnC9i4BmD1hRqek5AURy8YzM7GD7zjexS71BvEzaEKKVVa8tcSkxscnFKp2RU5wZHSfh,TRUE,6hyuGqKQyhAEipjtaquiNHfd1dVjrNT3FzzanXurbK4W,9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6,669.677937227,JEFFSQ3s8T3wKsvp4tnRAsUBW7Cqgnf8ukBZC4C8XBm1,670.084816775,2
|
||||
TDznUXMznyL8VCeMm8debuxZAS5vJiBKvdzBXxD47UJ5Rx7MRkpaTfZue7Ykpzi9UEYsxDe1s6WSKgfgu6ZjDd8,TRUE,CmgYtL2ZWAtPqviQq8VqMw1kXy8WrsKyZVkoHpKwdqFF,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,3,So11111111111111111111111111111111111111112,0.260851229,1
|
||||
TDznUXMznyL8VCeMm8debuxZAS5vJiBKvdzBXxD47UJ5Rx7MRkpaTfZue7Ykpzi9UEYsxDe1s6WSKgfgu6ZjDd8,TRUE,CmgYtL2ZWAtPqviQq8VqMw1kXy8WrsKyZVkoHpKwdqFF,So11111111111111111111111111111111111111112,0.260851229,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,3.008291,2
|
||||
mixpd95CxtraVoJdGf5rjXoPbMcC5UcP8vMmGb1mqsMPvGBfiyfa3qwSr6mw4Sar3Zj29JGqFmzePw5B3nKnTCU,TRUE,DAmH69eAeTfAhY4P8dj7PZCyrFxozhBT4XLH5Yt6L3Mm,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,23.43,So11111111111111111111111111111111111111112,0.753221306,1
|
||||
mixpd95CxtraVoJdGf5rjXoPbMcC5UcP8vMmGb1mqsMPvGBfiyfa3qwSr6mw4Sar3Zj29JGqFmzePw5B3nKnTCU,TRUE,DAmH69eAeTfAhY4P8dj7PZCyrFxozhBT4XLH5Yt6L3Mm,So11111111111111111111111111111111111111112,0.75322131,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,23.43087,2
|
||||
4e2rrdosoGTkp4NCtxz9knyxkYFFdwSZECzhMqWpw5sfcnKsRhRRLRE5nDRAZrQX2PamJG7BZL2ULQ1qT4NDrYwk,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,16.442499,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,0.468589997,1
|
||||
4e2rrdosoGTkp4NCtxz9knyxkYFFdwSZECzhMqWpw5sfcnKsRhRRLRE5nDRAZrQX2PamJG7BZL2ULQ1qT4NDrYwk,TRUE,Dd1k91cWt84qJoQr3FT7EXQpSaMtZtwPwdho7RbMWtEV,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,0.468589997,So11111111111111111111111111111111111111112,0.500212511,2
|
||||
2XzvhKxUsJb5FWim81kWN3xakyk7ubFVSADfLBomMkbKJuCTRnrmpsYZEKA3FeRruHe5ccwVDNUDD1MBujGmHdSm,TRUE,2UMYK3HMVr6eTYqG2sTShL1VMj3QiFKqtkJNBnSUtx5a,So11111111111111111111111111111111111111112,0.7,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,21.667028,1
|
||||
2XzvhKxUsJb5FWim81kWN3xakyk7ubFVSADfLBomMkbKJuCTRnrmpsYZEKA3FeRruHe5ccwVDNUDD1MBujGmHdSm,TRUE,2UMYK3HMVr6eTYqG2sTShL1VMj3QiFKqtkJNBnSUtx5a,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,21.667028,EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp,57.7,2
|
||||
2XzvhKxUsJb5FWim81kWN3xakyk7ubFVSADfLBomMkbKJuCTRnrmpsYZEKA3FeRruHe5ccwVDNUDD1MBujGmHdSm,TRUE,2UMYK3HMVr6eTYqG2sTShL1VMj3QiFKqtkJNBnSUtx5a,,,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.009067,3
|
||||
2W43jWFcuPBd3ZNH2bQPTn2Gj8TSSZyoqTKspaDzPvR1ppNs2fQMH7DcjgiMNapJ5y3P4eW9wjyzHsMckg6BSHbk,TRUE,CuoSGmfhBrSznQB5giUs2Dj85zLgcqhjZ1vtoKit7uJ5,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,137.65564,DdFPRnccQqLD4zCHrBqdY95D6hvw6PLWp9DEXj1fLCL9,137.63462646,1
|
||||
2W43jWFcuPBd3ZNH2bQPTn2Gj8TSSZyoqTKspaDzPvR1ppNs2fQMH7DcjgiMNapJ5y3P4eW9wjyzHsMckg6BSHbk,TRUE,CuoSGmfhBrSznQB5giUs2Dj85zLgcqhjZ1vtoKit7uJ5,DdFPRnccQqLD4zCHrBqdY95D6hvw6PLWp9DEXj1fLCL9,137.63462646,JEFFSQ3s8T3wKsvp4tnRAsUBW7Cqgnf8ukBZC4C8XBm1,137.662555457,2
|
||||
2Yndo9kZBYLoiL5U8pJ5vARRC1bNZwNNj5xmJg3ZhrKBmEESsPSeZLBux2HwmtcFV6ti1CJtsP5JyhsS7Ci2gDfv,TRUE,Fsgm9XfdEsm1V8SioQRpmNBpJ7MbnWVuyGi2yyyma7o8,So11111111111111111111111111111111111111112,0.105912485,DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ,3.273078349,1
|
||||
2Yndo9kZBYLoiL5U8pJ5vARRC1bNZwNNj5xmJg3ZhrKBmEESsPSeZLBux2HwmtcFV6ti1CJtsP5JyhsS7Ci2gDfv,TRUE,Fsgm9XfdEsm1V8SioQRpmNBpJ7MbnWVuyGi2yyyma7o8,DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ,3.273078349,So11111111111111111111111111111111111111112,0.10635261,2
|
||||
4qm1ckjb7qzo5Jvcn5gN1t5zNUBtN71uHvGooJALv1pA2qyVY4eB19Y2f489iqxNJr5owKttJoCHjzjztzcYN5WK,TRUE,BFBvSCGA5i83oq9c2R4hGJ5DPcP1HLr8LiRVYvskhYRC,So11111111111111111111111111111111111111112,0.329999939,Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB,4.624648,1
|
||||
4qm1ckjb7qzo5Jvcn5gN1t5zNUBtN71uHvGooJALv1pA2qyVY4eB19Y2f489iqxNJr5owKttJoCHjzjztzcYN5WK,TRUE,BFBvSCGA5i83oq9c2R4hGJ5DPcP1HLr8LiRVYvskhYRC,Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB,0.002312,,,2
|
||||
4qm1ckjb7qzo5Jvcn5gN1t5zNUBtN71uHvGooJALv1pA2qyVY4eB19Y2f489iqxNJr5owKttJoCHjzjztzcYN5WK,TRUE,BFBvSCGA5i83oq9c2R4hGJ5DPcP1HLr8LiRVYvskhYRC,Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB,4.622336,So11111111111111111111111111111111111111112,0.330061442,3
|
||||
5YvMwRPQXwPgyK9sD2JpMuxhb8budGLhTxV21e2HqFhn6MocJEtXCpqMTDJ8Xx7uC2Dzgq2J51E7Tz6suokh2rYS,TRUE,5XVDbeNs6w2Udcw7ffX1L6xpk1sw4WEmmrBYCeDGeDbQ,AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB,105.609985171,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.653764,1
|
||||
5YvMwRPQXwPgyK9sD2JpMuxhb8budGLhTxV21e2HqFhn6MocJEtXCpqMTDJ8Xx7uC2Dzgq2J51E7Tz6suokh2rYS,TRUE,5XVDbeNs6w2Udcw7ffX1L6xpk1sw4WEmmrBYCeDGeDbQ,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.653764,7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx,6.323274601,2
|
||||
29jgUWT8LN92vHkTTYE7QgaBzDNk3grB6C3nMRSgnCx9z58xKFf4AAoruGaN23GiGZF9EhocxqcYagaBwQxKtosA,TRUE,CuoSGmfhBrSznQB5giUs2Dj85zLgcqhjZ1vtoKit7uJ5,So11111111111111111111111111111111111111112,0.1,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1.36385,1
|
||||
29jgUWT8LN92vHkTTYE7QgaBzDNk3grB6C3nMRSgnCx9z58xKFf4AAoruGaN23GiGZF9EhocxqcYagaBwQxKtosA,TRUE,CuoSGmfhBrSznQB5giUs2Dj85zLgcqhjZ1vtoKit7uJ5,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.000681,,,2
|
||||
29jgUWT8LN92vHkTTYE7QgaBzDNk3grB6C3nMRSgnCx9z58xKFf4AAoruGaN23GiGZF9EhocxqcYagaBwQxKtosA,TRUE,CuoSGmfhBrSznQB5giUs2Dj85zLgcqhjZ1vtoKit7uJ5,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1.363169,So11111111111111111111111111111111111111112,0.100300378,3
|
||||
33mBSvWN5HRwSTSCxaER66L1DjmXpwYRMF4hs5JPDkqAcyR7hhfMUNYa3HDPDmBCgiXBqCZ76VWAcyZq7z8ZTDah,TRUE,J1dhEW964b3rpxXVjsyr4ZY1vdKPLinFatrdPYVN8vFQ,HBB111SCo9jkCejsZfz8Ec8nH7T6THF8KEKSnvwT6XK6,2.315564,So11111111111111111111111111111111111111112,0.015752047,1
|
||||
33mBSvWN5HRwSTSCxaER66L1DjmXpwYRMF4hs5JPDkqAcyR7hhfMUNYa3HDPDmBCgiXBqCZ76VWAcyZq7z8ZTDah,TRUE,J1dhEW964b3rpxXVjsyr4ZY1vdKPLinFatrdPYVN8vFQ,So11111111111111111111111111111111111111112,0.000007876,,,2
|
||||
33mBSvWN5HRwSTSCxaER66L1DjmXpwYRMF4hs5JPDkqAcyR7hhfMUNYa3HDPDmBCgiXBqCZ76VWAcyZq7z8ZTDah,TRUE,J1dhEW964b3rpxXVjsyr4ZY1vdKPLinFatrdPYVN8vFQ,So11111111111111111111111111111111111111112,0.015744171,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.526764,3
|
||||
uisd6QvNLwopjJLiwwfiPqRob22XDL6A1GJQo7PCqbmQ2BeWy82RHy4EFxrRXX9nK3EBpjVXHPimQrtTxTcF2GV,TRUE,39X9ewxFHxyo4YXwer8aHdDJwWbFSnP11caZvXPbMz3C,DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz,206.601849805,So11111111111111111111111111111111111111112,0.087544419,1
|
||||
uisd6QvNLwopjJLiwwfiPqRob22XDL6A1GJQo7PCqbmQ2BeWy82RHy4EFxrRXX9nK3EBpjVXHPimQrtTxTcF2GV,TRUE,39X9ewxFHxyo4YXwer8aHdDJwWbFSnP11caZvXPbMz3C,So11111111111111111111111111111111111111112,0.087544419,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,2.752588,2
|
||||
Ze5phbeq7vg2nRw7ib4ejh4eUtyg8zrakMauxvtzm5GqaMLDX4wHWLSBmV9F2NUPxejdDQziWaLb1hhH6SDwuRx,TRUE,skyPbXK9B9f4o5Cz9JDMpw4RCxaLKhe1NsqbQ1sQdcZ,orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE,1.496262,So11111111111111111111111111111111111111112,0.033391302,1
|
||||
Ze5phbeq7vg2nRw7ib4ejh4eUtyg8zrakMauxvtzm5GqaMLDX4wHWLSBmV9F2NUPxejdDQziWaLb1hhH6SDwuRx,TRUE,skyPbXK9B9f4o5Cz9JDMpw4RCxaLKhe1NsqbQ1sQdcZ,So11111111111111111111111111111111111111112,0.033391302,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1.49992,2
|
||||
Ze5phbeq7vg2nRw7ib4ejh4eUtyg8zrakMauxvtzm5GqaMLDX4wHWLSBmV9F2NUPxejdDQziWaLb1hhH6SDwuRx,TRUE,skyPbXK9B9f4o5Cz9JDMpw4RCxaLKhe1NsqbQ1sQdcZ,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,1.49992,MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey,36.949325075,3
|
||||
2acAT7yd5SpQVvVDpwaqQ4p3FAUfba7FjDM78oep2tCohY3sBVGXzev2gSStgKPPdnxoLTfkrKFzn1dtgVVefv2Y,TRUE,F3hyf2mPhmbtQ9aDbJ3vsxhC3Q1iYCHb1sWAzHmCmJn,frtnaScfGPuo56uyPGmij1QTc64SBdjnXC3RXmcVmxw,215,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,4.509855,1
|
||||
2acAT7yd5SpQVvVDpwaqQ4p3FAUfba7FjDM78oep2tCohY3sBVGXzev2gSStgKPPdnxoLTfkrKFzn1dtgVVefv2Y,TRUE,F3hyf2mPhmbtQ9aDbJ3vsxhC3Q1iYCHb1sWAzHmCmJn,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,4.509213,2zzC22UBgJGCYPdFyo7GDwz7YHq5SozJc1nnBqLU8oZb,714,2
|
||||
4xSZVhrAjKGEd7f689e5un93nCkQHcuisT9dLFsqiaHsBDP8eUkFzVAFPSbefhECPuUot4HhPA2ZkQStZFLm733w,TRUE,HqfvwA8fR53KCw5KbG2Hf19iYfXCxJqn2pJ8rK9rexcc,ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx,29.7820215,So11111111111111111111111111111111111111112,0.005516556,1
|
||||
4xSZVhrAjKGEd7f689e5un93nCkQHcuisT9dLFsqiaHsBDP8eUkFzVAFPSbefhECPuUot4HhPA2ZkQStZFLm733w,TRUE,HqfvwA8fR53KCw5KbG2Hf19iYfXCxJqn2pJ8rK9rexcc,So11111111111111111111111111111111111111112,0.005516556,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.232737,2
|
||||
2Nf5PPNT1PgTWgaRMJSTLYsGByL7vwQdnb1hNwqGwYNxGNAqTswbagr7DSskU7E7rVbmg7HNWtSMBp1bpHF2C57D,TRUE,8bdkk6vGmauCaqFVTRfm8z2FTb8JVYbczGMDpXVHKVMw,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,3.989706,So11111111111111111111111111111111111111112,0.28340872,1
|
||||
5iL9vkTUMB4DgLjS8aWMKzffcbw54RsANFmqAEoVgt3BgNCSbQAczgd1P3ZwVNjkEboiBg5PBNLQADPFhU9eeaGi,TRUE,DQG3xTgvTd9VaeAxMjzQMybBLRHSCosCfWNAfQgpUh6e,So11111111111111111111111111111111111111112,10,J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn,9.99099238,1
|
||||
5iL9vkTUMB4DgLjS8aWMKzffcbw54RsANFmqAEoVgt3BgNCSbQAczgd1P3ZwVNjkEboiBg5PBNLQADPFhU9eeaGi,TRUE,DQG3xTgvTd9VaeAxMjzQMybBLRHSCosCfWNAfQgpUh6e,mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So,9.29282113,So11111111111111111111111111111111111111112,10.00250273,2
|
||||
5Bde5J48pvBj5JdgwGbXebmCR8Djrk2fZajHtWevSLWskDJSw2gJ5SvzWvMujsVgAMZ16yLyGY1aisDCWEUW31i3,TRUE,7NcZEFD14dxSXEF6qvVqRwL8PaUKCJK4ySgPGyKpqxx2,So11111111111111111111111111111111111111112,0.00032104,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.01,1
|
||||
AA15jvmCmndUFcz8aDEzshVycBRQWxcfDt5TaG1fCRy8fR7jkuHThCG12oEt5AThPuff5Wisb8ewKouJBbwsTzA,TRUE,CkPBChg9QvVWRP7GkFnr3gzr7K3To6kiTm3osVeRqnvv,A1KWZzcUrsX9MAsL8XtZkuS4RX6fjZazc7K5UoX42M3M,1000,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,5.184507,1
|
||||
AA15jvmCmndUFcz8aDEzshVycBRQWxcfDt5TaG1fCRy8fR7jkuHThCG12oEt5AThPuff5Wisb8ewKouJBbwsTzA,TRUE,CkPBChg9QvVWRP7GkFnr3gzr7K3To6kiTm3osVeRqnvv,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,5.184507,So11111111111111111111111111111111111111112,0.36561774,2
|
||||
|
@ -146,7 +146,7 @@ swaps_temp AS(
|
||||
A.block_timestamp,
|
||||
A.tx_id,
|
||||
COALESCE(SPLIT_PART(INDEX :: text, '.', 1) :: INT, INDEX :: INT) AS INDEX,
|
||||
COALESCE(SPLIT_PART(INDEX :: text, '.', 2), NULL) AS inner_index,
|
||||
NULLIF(SPLIT_PART(INDEX :: text, '.', 2), '') :: INT AS inner_index,
|
||||
A.program_id,
|
||||
A.tx_from,
|
||||
A.tx_to,
|
||||
|
||||
503
models/silver/swaps/silver__swaps_intermediate_jupiterv4.sql
Normal file
503
models/silver/swaps/silver__swaps_intermediate_jupiterv4.sql
Normal file
@ -0,0 +1,503 @@
|
||||
{{ 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 (
|
||||
--jupiter v4 program_ids
|
||||
'JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB',
|
||||
--program ids for acct mapping
|
||||
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
|
||||
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
|
||||
)
|
||||
|
||||
{% if is_incremental() %}
|
||||
-- AND block_timestamp :: DATE = '2022-11-01'
|
||||
AND _inserted_timestamp >= (
|
||||
SELECT
|
||||
MAX(_inserted_timestamp)
|
||||
FROM
|
||||
{{ this }}
|
||||
)
|
||||
{% else %}
|
||||
AND block_timestamp :: DATE >= '2022-07-12' -- first tx with v4
|
||||
{% endif %}
|
||||
),
|
||||
dex_txs AS (
|
||||
SELECT
|
||||
e.*,
|
||||
IFF(ARRAY_SIZE(signers) = 1, signers [0] :: STRING, NULL) AS swapper,
|
||||
silver.udf_get_jupv4_inner_programs(
|
||||
inner_instruction :instructions
|
||||
) AS inner_programs,
|
||||
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 = 'JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB'
|
||||
AND ARRAY_SIZE(
|
||||
e.instruction :accounts
|
||||
) > 6
|
||||
AND inner_instruction_program_ids [0] <> 'DecZY86MU5Gj7kppfUCEmd4LbXXuyZH1yHaP2NTqdiZB' --associated with wrapping of tokens
|
||||
|
||||
{% 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 >= '2022-07-12'
|
||||
{% endif %}
|
||||
),
|
||||
temp_inner_program_ids AS (
|
||||
SELECT
|
||||
dex_txs.*,
|
||||
i.value :program_id :: STRING AS inner_swap_program_id,
|
||||
i.value :inner_index :: INT AS swap_program_inner_index_start,
|
||||
COALESCE(LEAD(swap_program_inner_index_start) over (PARTITION BY tx_id, dex_txs.index
|
||||
ORDER BY
|
||||
swap_program_inner_index_start) -1, 999999) AS swap_program_inner_index_end
|
||||
FROM
|
||||
dex_txs,
|
||||
TABLE(FLATTEN(inner_programs)) i),
|
||||
base_transfers AS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
{{ ref('silver__transfers') }}
|
||||
tr
|
||||
|
||||
{% if is_incremental() %}
|
||||
WHERE
|
||||
-- block_timestamp :: DATE = '2022-11-01'
|
||||
_inserted_timestamp >= (
|
||||
SELECT
|
||||
MAX(_inserted_timestamp)
|
||||
FROM
|
||||
{{ this }}
|
||||
)
|
||||
{% else %}
|
||||
WHERE
|
||||
block_timestamp :: DATE >= '2022-07-12'
|
||||
{% endif %}
|
||||
),
|
||||
base_post_token_balances AS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
{{ ref('silver___post_token_balances') }}
|
||||
|
||||
{% if is_incremental() %}
|
||||
WHERE
|
||||
-- block_timestamp :: DATE = '2022-11-01'
|
||||
_inserted_timestamp >= (
|
||||
SELECT
|
||||
MAX(_inserted_timestamp)
|
||||
FROM
|
||||
{{ this }}
|
||||
)
|
||||
{% else %}
|
||||
WHERE
|
||||
block_timestamp :: DATE >= '2022-07-12'
|
||||
{% endif %}
|
||||
),
|
||||
swaps_temp AS(
|
||||
SELECT
|
||||
A.block_id,
|
||||
A.block_timestamp,
|
||||
A.tx_id,
|
||||
COALESCE(SPLIT_PART(INDEX :: text, '.', 1) :: INT, INDEX :: INT) AS INDEX,
|
||||
NULLIF(SPLIT_PART(INDEX :: text, '.', 2), '') :: INT 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
|
||||
)
|
||||
),
|
||||
swap_w_inner_program_id AS(
|
||||
SELECT
|
||||
s.*,
|
||||
t.inner_swap_program_id,
|
||||
t.swap_program_inner_index_start
|
||||
FROM
|
||||
swaps_temp s
|
||||
LEFT OUTER JOIN temp_inner_program_ids t
|
||||
ON t.tx_id = s.tx_id
|
||||
AND t.index = s.index
|
||||
AND s.inner_index BETWEEN t.swap_program_inner_index_start
|
||||
AND t.swap_program_inner_index_end
|
||||
),
|
||||
temp_acct_mappings AS(
|
||||
SELECT
|
||||
tx_id,
|
||||
i.value :parsed :info :account :: STRING AS associated_account,
|
||||
COALESCE(
|
||||
i.value :parsed :info :source :: STRING,
|
||||
i.value :parsed :info :owner :: STRING
|
||||
) AS owner
|
||||
FROM
|
||||
base_events
|
||||
LEFT JOIN TABLE(FLATTEN(inner_instruction :instructions)) i
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
i.value :programId = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'
|
||||
AND i.value :parsed :type = 'create'
|
||||
)
|
||||
OR (
|
||||
i.value :programId = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
|
||||
AND i.value :parsed :type = 'closeAccount'
|
||||
)
|
||||
)
|
||||
UNION
|
||||
SELECT
|
||||
tx_id,
|
||||
i.value :parsed :info :delegate :: STRING AS associated_account,
|
||||
i.value :parsed :info :owner :: STRING AS owner
|
||||
FROM
|
||||
base_events
|
||||
LEFT JOIN TABLE(FLATTEN(inner_instruction :instructions)) i
|
||||
WHERE
|
||||
(
|
||||
i.value :programId = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
|
||||
AND i.value :parsed :type = 'approve'
|
||||
)
|
||||
),
|
||||
account_mappings AS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
temp_acct_mappings
|
||||
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
|
||||
tx_id,
|
||||
instruction :parsed :info :account :: STRING AS associated_account,
|
||||
COALESCE(
|
||||
instruction :parsed :info :source :: STRING,
|
||||
instruction :parsed :info :owner :: STRING
|
||||
) AS owner
|
||||
FROM
|
||||
base_events
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
program_id = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'
|
||||
AND event_type = 'create'
|
||||
)
|
||||
OR (
|
||||
program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
|
||||
AND event_type = 'closeAccount'
|
||||
)
|
||||
)
|
||||
UNION
|
||||
SELECT
|
||||
tx_id,
|
||||
instruction :parsed :info :delegate :: STRING AS associated_account,
|
||||
instruction :parsed :info :owner :: STRING AS owner
|
||||
FROM
|
||||
base_events
|
||||
WHERE
|
||||
(
|
||||
program_id = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
|
||||
AND 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,
|
||||
e.swapper as tmp_swapper,
|
||||
e.signers,
|
||||
e.program_id,
|
||||
s.inner_swap_program_id,
|
||||
s.swap_program_inner_index_start
|
||||
FROM
|
||||
swap_w_inner_program_id 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
|
||||
LEFT OUTER JOIN account_mappings m2
|
||||
ON s.tx_id = m2.tx_id
|
||||
AND s.tx_to = m2.associated_account
|
||||
WHERE
|
||||
s.program_id <> '11111111111111111111111111111111'
|
||||
AND s.inner_swap_program_id NOT IN (
|
||||
'MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD',
|
||||
'1gE3LGQze8DQ3KD2C4ZUCmRX5g4njhY5yLfYmnmcvJR',
|
||||
'DecZY86MU5Gj7kppfUCEmd4LbXXuyZH1yHaP2NTqdiZB'
|
||||
)
|
||||
),
|
||||
multi_signer_swapper as (
|
||||
select
|
||||
tx_id,
|
||||
solana_dev.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
|
||||
),
|
||||
transfers_from_swapper AS (
|
||||
SELECT
|
||||
d.*,
|
||||
SUM(amount) over (
|
||||
PARTITION BY tx_id,
|
||||
tx_from,
|
||||
INDEX,
|
||||
mint,
|
||||
inner_swap_program_id
|
||||
) AS sum_from_amount,
|
||||
NULL AS sum_to_amount
|
||||
FROM
|
||||
swaps_filtered_temp d
|
||||
WHERE
|
||||
tx_from = d.swapper
|
||||
AND tx_from <> tx_to qualify(ROW_NUMBER() over (PARTITION BY tx_id, tx_from, INDEX, mint, inner_swap_program_id
|
||||
ORDER BY
|
||||
inner_index)) = 1
|
||||
UNION
|
||||
SELECT
|
||||
d.*,
|
||||
NULL AS sum_from_amount,
|
||||
SUM(amount) over (
|
||||
PARTITION BY tx_id,
|
||||
tx_to,
|
||||
INDEX,
|
||||
mint,
|
||||
inner_swap_program_id
|
||||
) AS sum_to_amount
|
||||
FROM
|
||||
swaps_filtered_temp d
|
||||
WHERE
|
||||
tx_to = d.swapper
|
||||
AND tx_from <> tx_to qualify(ROW_NUMBER() over (PARTITION BY tx_id, tx_to, INDEX, mint, inner_swap_program_id
|
||||
ORDER BY
|
||||
inner_index)) = 1
|
||||
),
|
||||
full_swaps_temp AS(
|
||||
SELECT
|
||||
s1.block_id,
|
||||
s1.block_timestamp,
|
||||
s1.tx_id,
|
||||
s1.succeeded,
|
||||
s1.program_id,
|
||||
s1.inner_swap_program_id,
|
||||
s1.swapper,
|
||||
s1.mint,
|
||||
s1.amount,
|
||||
s1.inner_index AS rn,
|
||||
s1._inserted_timestamp,
|
||||
s1.index,
|
||||
s1.inner_index AS inner_index_1,
|
||||
s2.inner_index AS inner_index_2,
|
||||
s2.mint AS to_mint,
|
||||
s2.amount AS to_amt,
|
||||
s1.sum_from_amount,
|
||||
s2.sum_to_amount
|
||||
FROM
|
||||
transfers_from_swapper s1
|
||||
LEFT OUTER JOIN transfers_from_swapper s2
|
||||
ON s1.tx_id = s2.tx_id
|
||||
AND s1.index = s2.index
|
||||
AND s1.inner_index <> s2.inner_index
|
||||
AND s1.inner_swap_program_id = s2.inner_swap_program_id
|
||||
WHERE
|
||||
s1.swapper = s2.tx_to
|
||||
AND s1.tx_from = s2.tx_to
|
||||
AND s1.mint <> s2.mint qualify(ROW_NUMBER() over (PARTITION BY s1.tx_id, s1.index, inner_index_1
|
||||
ORDER BY
|
||||
ABS(s1.swap_program_inner_index_start - s2.swap_program_inner_index_start), inner_index_2)) = 1
|
||||
),
|
||||
final_temp AS(
|
||||
SELECT
|
||||
s.block_id,
|
||||
s.block_timestamp,
|
||||
s.tx_id,
|
||||
s.succeeded,
|
||||
s.program_id,
|
||||
s.inner_swap_program_id,
|
||||
s.swapper,
|
||||
s.mint AS from_mint,
|
||||
s.sum_from_amount AS from_amt,
|
||||
s.index,
|
||||
s.rn,
|
||||
s._inserted_timestamp,
|
||||
s.to_mint,
|
||||
s.sum_to_amount AS to_amt
|
||||
FROM
|
||||
full_swaps_temp AS s
|
||||
UNION
|
||||
SELECT
|
||||
s.block_id,
|
||||
s.block_timestamp,
|
||||
s.tx_id,
|
||||
s.succeeded,
|
||||
s.program_id,
|
||||
s.inner_swap_program_id,
|
||||
s.swapper,
|
||||
s.mint AS from_mint,
|
||||
s.sum_from_amount AS from_amt,
|
||||
s.index,
|
||||
s.inner_index AS rn,
|
||||
s._inserted_timestamp,
|
||||
NULL AS to_mint,
|
||||
NULL AS to_amt
|
||||
FROM
|
||||
transfers_from_swapper s
|
||||
LEFT JOIN full_swaps_temp f
|
||||
ON s.tx_id = f.tx_id
|
||||
AND s.index = f.index
|
||||
AND (
|
||||
s.inner_index = f.inner_index_1
|
||||
OR s.inner_index = f.inner_index_2
|
||||
)
|
||||
WHERE
|
||||
f.index IS NULL
|
||||
AND s.tx_from = s.swapper
|
||||
UNION
|
||||
SELECT
|
||||
s.block_id,
|
||||
s.block_timestamp,
|
||||
s.tx_id,
|
||||
s.succeeded,
|
||||
s.program_id,
|
||||
s.inner_swap_program_id,
|
||||
s.swapper,
|
||||
NULL AS from_mint,
|
||||
NULL AS from_amt,
|
||||
s.index,
|
||||
s.inner_index AS rn,
|
||||
s._inserted_timestamp,
|
||||
s.mint AS to_mint,
|
||||
s.sum_to_amount AS to_amt
|
||||
FROM
|
||||
transfers_from_swapper s
|
||||
LEFT JOIN full_swaps_temp f
|
||||
ON s.tx_id = f.tx_id
|
||||
AND s.index = f.index
|
||||
AND (
|
||||
s.inner_index = f.inner_index_1
|
||||
OR s.inner_index = f.inner_index_2
|
||||
)
|
||||
WHERE
|
||||
f.index IS NULL
|
||||
AND s.tx_to = s.swapper
|
||||
)
|
||||
SELECT
|
||||
block_id,
|
||||
block_timestamp,
|
||||
tx_id,
|
||||
succeeded,
|
||||
program_id,
|
||||
inner_swap_program_id,
|
||||
swapper,
|
||||
from_mint,
|
||||
from_amt,
|
||||
to_mint,
|
||||
to_amt,
|
||||
_inserted_timestamp,
|
||||
ROW_NUMBER() over (
|
||||
PARTITION BY tx_id
|
||||
ORDER BY
|
||||
index,
|
||||
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
|
||||
105
models/silver/swaps/silver__swaps_intermediate_jupiterv4.yml
Normal file
105
models/silver/swaps/silver__swaps_intermediate_jupiterv4.yml
Normal file
@ -0,0 +1,105 @@
|
||||
version: 2
|
||||
models:
|
||||
- name: silver__swaps_intermediate_jupiterv4
|
||||
tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- BLOCK_ID
|
||||
- TX_ID
|
||||
- SWAP_INDEX
|
||||
- compare_model_subset:
|
||||
name: silver__swaps_intermediate_jupiterv4_business_logic_test
|
||||
compare_model: ref('testing__swaps_intermediate_jupiterv4')
|
||||
compare_columns:
|
||||
- tx_id
|
||||
- succeeded
|
||||
- swapper
|
||||
- from_mint
|
||||
- round(from_amt,8)
|
||||
- to_mint
|
||||
- round(to_amt,8)
|
||||
- swap_index
|
||||
model_condition: "where tx_id in ('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')"
|
||||
- tx_excluded:
|
||||
name: silver__swaps_intermediate_jupiterv4_tx_excluded_test
|
||||
excluded_tx_ids:
|
||||
- 3SfteqdcnzmA69Jb9YLqeddZHKLNwJYeyHnLVjaUuzwAx1if6zzfvtRVUbn6B7NfSvxUaciXSQoMdhiFKA2AidKL
|
||||
- 3Erjg9Rr3hx8DqBsDDNSWXXwgnCeSpWgmLL6MzGguJuBVJpTKC84xt9jaPo3w5afsQCGoxeX3gxTsfQEkaC7gnCT
|
||||
- 2W5w6podtufyADsBYKXJ7NS9ZkxMsYy6ZHMhHCHRsKCnA4LCemRPoV3aap7FM6bfHwYWzCMM1pkgGf2QPKjBPbZw
|
||||
- WKTdmmBML6113txMDXmA9C6HsnMVPjEdPrhfjgT5wif85a2SRXrTQbgR6DjBFwR4oBtrBAG9FFjQ122BoXg7Cpu
|
||||
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
|
||||
@ -151,7 +151,7 @@ swaps_temp AS(
|
||||
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,
|
||||
NULLIF(SPLIT_PART(INDEX :: text, '.', 2), '') :: INT AS inner_index,
|
||||
A.program_id,
|
||||
A.tx_from,
|
||||
A.tx_to,
|
||||
|
||||
@ -172,7 +172,7 @@ swaps_temp AS(
|
||||
A.block_timestamp,
|
||||
A.tx_id,
|
||||
COALESCE(SPLIT_PART(INDEX :: text, '.', 1) :: INT, INDEX :: INT) AS INDEX,
|
||||
COALESCE(SPLIT_PART(INDEX :: text, '.', 2), NULL) AS inner_index,
|
||||
NULLIF(SPLIT_PART(INDEX :: text, '.', 2), '') :: INT AS inner_index,
|
||||
A.program_id,
|
||||
A.tx_from,
|
||||
A.tx_to,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user