mirror of
https://github.com/FlipsideCrypto/solana-models.git
synced 2026-02-06 11:47:08 +00:00
Tensorswap models using logs (#600)
* udf to grab program data logs from log messages * output table with encoded program data in tx logs * add comments * setup views and source * update tag * wip realtime view * wip * fix bad join * wip * decoded logs * wip * add event_type, index, inner_index and refactor existing * handle additional nested calls * add columns, add to SO * use backfill macro * wip * handle non-contiguous program log messaging * tmp upperbound * minor changes * reset child index when a new top level program is invoked * rebuild transaction logs program data * remove backfill * still need to use min price as backup * add post PR TODO * revert tmp full-refresh changes * add comment * add tests * update columns * add docs and tests, fix col name * update col description
This commit is contained in:
parent
d9cad4cecb
commit
780e4a5ef1
@ -1,19 +1,28 @@
|
|||||||
tx_id,index,inner_index,purchaser,seller,mint,sales_amount
|
tx_id,index,inner_index,purchaser,seller,mint,sales_amount
|
||||||
zzvAhzMxDpJy99zcYms6vsjimT3XhQBf76s9AYA4XcYaEgRS2EmMDHY9uHrfz7372v85726Krz3kaKfYmLgnMFz,2,,HEsoAeQ6jgwiyPCL7A9mBjMf34qVAF96KYPNdxE68iY6,2w4HeHXEEVrpqpKUTZqVSCzCR5uWKK88pNY9pfqSW59R,BBMQUm1domLQUZr4gUm9Pd6EGLnuUu9hPX7bpD5dpqMT,0.468830396
|
zzvAhzMxDpJy99zcYms6vsjimT3XhQBf76s9AYA4XcYaEgRS2EmMDHY9uHrfz7372v85726Krz3kaKfYmLgnMFz,2,,HEsoAeQ6jgwiyPCL7A9mBjMf34qVAF96KYPNdxE68iY6,2w4HeHXEEVrpqpKUTZqVSCzCR5uWKK88pNY9pfqSW59R,BBMQUm1domLQUZr4gUm9Pd6EGLnuUu9hPX7bpD5dpqMT,0.49449417
|
||||||
4KnHxNCwtbvdnUP9xP6aUAGpEVVgZqVnGP8FzJAz3ghPhnSgUvm8DPVdwm5tE9d78ScBxFQNqzRotW5mr2bYL9P5,2,,2zzPrvMe843AJ15jwppiA25XRXXgM4ajH9ZnVLtPmvPb,8FQ73HFaXurdDEUC4UpTJw99hvpaCJUHiqaQwBGgujiD,AnBW1sLFStkdHXpyJAH49Gu2t4y4rRhDnEKcEAcps28W,0.852
|
4KnHxNCwtbvdnUP9xP6aUAGpEVVgZqVnGP8FzJAz3ghPhnSgUvm8DPVdwm5tE9d78ScBxFQNqzRotW5mr2bYL9P5,2,,2zzPrvMe843AJ15jwppiA25XRXXgM4ajH9ZnVLtPmvPb,8FQ73HFaXurdDEUC4UpTJw99hvpaCJUHiqaQwBGgujiD,AnBW1sLFStkdHXpyJAH49Gu2t4y4rRhDnEKcEAcps28W,0.852
|
||||||
2nrF2VHpLvYQKjtFWqTxoXtHNDEJEH2zi1xYeaDd2FprFYWY7wajcnbnQbPkhqwrhQkiKfYDgKc9mCDgWUzZwvrb,2,,CqA42zXaf5zXk7EW7jtCLfL2uH1efuB9GtTfjfJ2hzoq,BsBqiPgRgHPa8YgJ6wNgfP2GJsSgAsesXtaqqvVcGm79,Ek9ECbHYSW6QB9aUU6UsovP5d2Z7mfEBcdRrA5bt8thB,2.124395
|
2nrF2VHpLvYQKjtFWqTxoXtHNDEJEH2zi1xYeaDd2FprFYWY7wajcnbnQbPkhqwrhQkiKfYDgKc9mCDgWUzZwvrb,2,,CqA42zXaf5zXk7EW7jtCLfL2uH1efuB9GtTfjfJ2hzoq,BsBqiPgRgHPa8YgJ6wNgfP2GJsSgAsesXtaqqvVcGm79,Ek9ECbHYSW6QB9aUU6UsovP5d2Z7mfEBcdRrA5bt8thB,2.124395
|
||||||
p55mzFVcnhtVCi6sawH2pkSxkJa9SKMJkxn8TWUeE8tKjopo5vJkoh5qrQ9Ew8xN4kJ3YJtbt3uPUaF6wpsgGnZ,2,,9AK4UnGrgD9f7LUN4BWBP7sWHYZKtKrcskG1ZUupcYdk,UGN81iXDACqYgjmZyHacvQ5HvDHngrJGC65hMhrCp8T,DVTp4SpmS2FxuRuac91iGr3e8qDXVoZWPFi3DGB5ot6p,1.28877
|
p55mzFVcnhtVCi6sawH2pkSxkJa9SKMJkxn8TWUeE8tKjopo5vJkoh5qrQ9Ew8xN4kJ3YJtbt3uPUaF6wpsgGnZ,2,,9AK4UnGrgD9f7LUN4BWBP7sWHYZKtKrcskG1ZUupcYdk,UGN81iXDACqYgjmZyHacvQ5HvDHngrJGC65hMhrCp8T,DVTp4SpmS2FxuRuac91iGr3e8qDXVoZWPFi3DGB5ot6p,1.28877
|
||||||
3xwnYCxCeZNUu9sA1Rfb6HdDc73JqALfWVNgJq2YSwYrz5bxLTiCjiHTzPbuzLTnddojE3fyiRTq5xGhdMmer9wo,2,,2CSaG83rn8Ed3AEptRMP3G7fSKsZcYD85bNS3hNdLqhv,9Kae7VKAekWehphkEJR5sAqrjXYVUn7iV5hUxYuePHyZ,2ZF49XB7edqA6zv1eJGu7X1JNE7fnCUUhr1kY5h18Aqp,0.082206709
|
3xwnYCxCeZNUu9sA1Rfb6HdDc73JqALfWVNgJq2YSwYrz5bxLTiCjiHTzPbuzLTnddojE3fyiRTq5xGhdMmer9wo,2,,2CSaG83rn8Ed3AEptRMP3G7fSKsZcYD85bNS3hNdLqhv,9Kae7VKAekWehphkEJR5sAqrjXYVUn7iV5hUxYuePHyZ,2ZF49XB7edqA6zv1eJGu7X1JNE7fnCUUhr1kY5h18Aqp,0.082206709
|
||||||
2TrRP357hzX7Ax1ViTuZFndRRUDMpswKs9dKpFvpu8EcXwH23JQyqXQSvCENX3EqoAcWUV9aFpN3HYHMtvSdEPQG,2,,EPmdnrwVzV8vx7wQc2koJNgKTiuJG679YekjdnVmhBAd,Ai1fatXJSdKTnS3Y7zYUrNsnTbga8EdYfYzxiX1nyD8e,H5WySnXWH3NC6STHjJpPobRSVZtXdULzXvD3amnLfPvo,2.41010735
|
2TrRP357hzX7Ax1ViTuZFndRRUDMpswKs9dKpFvpu8EcXwH23JQyqXQSvCENX3EqoAcWUV9aFpN3HYHMtvSdEPQG,2,,EPmdnrwVzV8vx7wQc2koJNgKTiuJG679YekjdnVmhBAd,Ai1fatXJSdKTnS3Y7zYUrNsnTbga8EdYfYzxiX1nyD8e,H5WySnXWH3NC6STHjJpPobRSVZtXdULzXvD3amnLfPvo,2.41010735
|
||||||
c5iWkPRG58nw9RRgoe77ewYFRR99NS3XqsBAFurEZ5CUAYefiGMdvvhWLCoyd7Tv1NcCPDsVu3eQVJS9VyjY1Gh,2,,GTTUEQ9bjAL7RsEt6DxoogpWzW2STF7J2QdCTeQwvxK8,5hwJtfuFAVJMsVGkgk5k7UYh9o2hz1gDAtjXFKcpenGn,ENRbzzdUTTV1orqCPn9LS8rxYTBFuHp1vLNVffvWWqhW,3.80570739
|
c5iWkPRG58nw9RRgoe77ewYFRR99NS3XqsBAFurEZ5CUAYefiGMdvvhWLCoyd7Tv1NcCPDsVu3eQVJS9VyjY1Gh,2,,GTTUEQ9bjAL7RsEt6DxoogpWzW2STF7J2QdCTeQwvxK8,5hwJtfuFAVJMsVGkgk5k7UYh9o2hz1gDAtjXFKcpenGn,ENRbzzdUTTV1orqCPn9LS8rxYTBFuHp1vLNVffvWWqhW,3.80570739
|
||||||
2gy21b8QzZ2VXUvd7QCFiELhy7papBqQctHK9XLcvMVeTdJwAZqmmfE6WHQRYQntQmkuzi63b1XYTJf99WnoApDD,2,,7zuFEyLQFHkAjm3mAuxN42VenwF6fZcqM81mmR8sBnmY,47Pdr9CZ4EQNFotybGfCWeJLuXgA834hNYNwMCPg6Rod,28aVtHjJqtrzyxyh4tJo2iuBiXGdAaNmKUMfE7Di8s5g,3.080742348
|
2gy21b8QzZ2VXUvd7QCFiELhy7papBqQctHK9XLcvMVeTdJwAZqmmfE6WHQRYQntQmkuzi63b1XYTJf99WnoApDD,2,,7zuFEyLQFHkAjm3mAuxN42VenwF6fZcqM81mmR8sBnmY,47Pdr9CZ4EQNFotybGfCWeJLuXgA834hNYNwMCPg6Rod,28aVtHjJqtrzyxyh4tJo2iuBiXGdAaNmKUMfE7Di8s5g,3.08691309
|
||||||
svSAsA7hVRshe1qWPaJGD8SptQgZsb38Hn2iKo5W8wk8kp37brEXRkyKUPS34xmJXxRYQDgQhtxUXNCtsKKEwXv,2,,CigdaiGyEUQxtwdq2VBs17LHjG4j8jWVxwsNsiMZFT7b,EeS5k1f3uSosrK2UGXJonXvvCM9Gq6gPEupgksAR3HvS,Cak3Dgepvd81PEHiUR5rsf4uPr1YwE2MmMbzxgVG58DU,3.237759
|
svSAsA7hVRshe1qWPaJGD8SptQgZsb38Hn2iKo5W8wk8kp37brEXRkyKUPS34xmJXxRYQDgQhtxUXNCtsKKEwXv,2,,CigdaiGyEUQxtwdq2VBs17LHjG4j8jWVxwsNsiMZFT7b,EeS5k1f3uSosrK2UGXJonXvvCM9Gq6gPEupgksAR3HvS,Cak3Dgepvd81PEHiUR5rsf4uPr1YwE2MmMbzxgVG58DU,3.241
|
||||||
4zb3F8A7suKVJc9bi6isX2Y99YemwUSVuALBkjVXAZUaFH6CybycJ6BCqdFe2R4okWo27o3k1h5hJNC9nbCHVQGn,2,,AQjdRzhNeZo6tC3K7z51fWnz271MRfkTDyseHbRhLAp5,877LQMWzPcGpHVmsHKeugNxAb6ktfQUybpp39THGtDfC,noM9uZPhxyZvigtekBP4UD8fg8WCESd6bx5r7VG5vLg,0.007992
|
4zb3F8A7suKVJc9bi6isX2Y99YemwUSVuALBkjVXAZUaFH6CybycJ6BCqdFe2R4okWo27o3k1h5hJNC9nbCHVQGn,2,,AQjdRzhNeZo6tC3K7z51fWnz271MRfkTDyseHbRhLAp5,877LQMWzPcGpHVmsHKeugNxAb6ktfQUybpp39THGtDfC,noM9uZPhxyZvigtekBP4UD8fg8WCESd6bx5r7VG5vLg,0.008
|
||||||
3Q9fnZTxhXU8hKt21Q9DawgNAMRbXf5zuatNE8x27vpc2WGZhax8f5ALnZhGDswUHjgTbCNkjBFRQwkHPTfKrcA3,2,,38Bgu35eNPb6X4Sny9xtpqhtK8sJDu3N7BSNWiZeTqnG,AaUwZQGgVvSFPdVjCS9A7mBLTtEadjG7fysojP3dN6WF,EnRbGZeay7RzqDGiozGtcoAJyXKsyb1bbVawujiEtP8o,4.9054896
|
3Q9fnZTxhXU8hKt21Q9DawgNAMRbXf5zuatNE8x27vpc2WGZhax8f5ALnZhGDswUHjgTbCNkjBFRQwkHPTfKrcA3,2,,38Bgu35eNPb6X4Sny9xtpqhtK8sJDu3N7BSNWiZeTqnG,AaUwZQGgVvSFPdVjCS9A7mBLTtEadjG7fysojP3dN6WF,EnRbGZeay7RzqDGiozGtcoAJyXKsyb1bbVawujiEtP8o,5.58
|
||||||
3PwcTmfb1jd2d6ouABkvfpw2p261zYyuMrkH9wozL8nKBVnQCBji1WUSy1LfZe4iegiWYiHA5ae3VK3ASbcUDjjo,2,,EqK1frbJx97oCLqejF9kxXTy7GtKKP7H2vb6giRUf5ov,7wY5H7eGUBf3z8dfGYvqE7efA2nCz9ZEJ4zxMn1ub64i,HYkBBbcVUD1eziYPULqBi4Vf9JEsWZfBBFbekaBvHWrR,3.797199
|
3PwcTmfb1jd2d6ouABkvfpw2p261zYyuMrkH9wozL8nKBVnQCBji1WUSy1LfZe4iegiWYiHA5ae3VK3ASbcUDjjo,2,,EqK1frbJx97oCLqejF9kxXTy7GtKKP7H2vb6giRUf5ov,7wY5H7eGUBf3z8dfGYvqE7efA2nCz9ZEJ4zxMn1ub64i,HYkBBbcVUD1eziYPULqBi4Vf9JEsWZfBBFbekaBvHWrR,3.801
|
||||||
5vsPBQWgtwhqeQQUHVQhuCtWDtAu5sqQak1FkMj7ZkQbMz12m8XrgTQCYtD1paFKh1KqAakpf6hQV4APd94VihLN,2,,rtb9nAcGRJZrvi7gNebabuABnQFbBCLQBDobnExQorR,34HyeGxUwuCMAhXeCp3jJ4NKqiCZ1MMws92ckqVNDdAF,GujZhZKwT7aChatX2qAQVRh9uBU9NcTP8dc7ui9JzuHn,0.071005374
|
5vsPBQWgtwhqeQQUHVQhuCtWDtAu5sqQak1FkMj7ZkQbMz12m8XrgTQCYtD1paFKh1KqAakpf6hQV4APd94VihLN,2,,rtb9nAcGRJZrvi7gNebabuABnQFbBCLQBDobnExQorR,34HyeGxUwuCMAhXeCp3jJ4NKqiCZ1MMws92ckqVNDdAF,GujZhZKwT7aChatX2qAQVRh9uBU9NcTP8dc7ui9JzuHn,0.07245446
|
||||||
2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr,2,,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,GSzhhbDjMH5DCqPokGcgpzkasn676G8zv3MRSmjiiQPp,9MqyzA46r6nCSWxRPxq67TLwK44fPKbv5MP2sbxrgEaJ,3.85844768
|
2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr,2,,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,GSzhhbDjMH5DCqPokGcgpzkasn676G8zv3MRSmjiiQPp,9MqyzA46r6nCSWxRPxq67TLwK44fPKbv5MP2sbxrgEaJ,3.85844768
|
||||||
2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr,3,,CRMh9ozJgpdawmBaCDvW8FKAiUL14J1g9VKsovB66AWE,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,9MqyzA46r6nCSWxRPxq67TLwK44fPKbv5MP2sbxrgEaJ,3.989840043
|
2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr,3,,CRMh9ozJgpdawmBaCDvW8FKAiUL14J1g9VKsovB66AWE,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,9MqyzA46r6nCSWxRPxq67TLwK44fPKbv5MP2sbxrgEaJ,4.00988949
|
||||||
5PaqpRyNvDjPkRD8UeBKUC8SiwddLLtxZgPuDTngZXCZ2sZ7tDVHoXtqwDWWf9Jq4DVCytobc4o8h1mxNMD8hXzv,2,,7ZPzPYhmnXYWwMQ629CJEJCwpcsge6TKqaA6SmahzjBa,8H83F53ztRQvNDrSxiNGege4HCMxqQ7BKXBcpnPWQAcN,H4bbArKoYpVKmeBc3YAa5cpcEFaBcXVrwUR9N9toMaCD,2.831451429
|
5PaqpRyNvDjPkRD8UeBKUC8SiwddLLtxZgPuDTngZXCZ2sZ7tDVHoXtqwDWWf9Jq4DVCytobc4o8h1mxNMD8hXzv,2,,7ZPzPYhmnXYWwMQ629CJEJCwpcsge6TKqaA6SmahzjBa,8H83F53ztRQvNDrSxiNGege4HCMxqQ7BKXBcpnPWQAcN,H4bbArKoYpVKmeBc3YAa5cpcEFaBcXVrwUR9N9toMaCD,2.95238095
|
||||||
5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ,2,,AQYyCfb358cokJks8GBYrRhCE2smJNEFsj38V9N4y54R,FgVYBs7Qag74oSNgFozGH2zCXeWZKyff6KNyQBGVZsF2,2pE7mPLe1Fi1eM4MMSYByVEqcBnBEW3AvUqZu5rozpTZ,0.723530448
|
5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ,2,,AQYyCfb358cokJks8GBYrRhCE2smJNEFsj38V9N4y54R,FgVYBs7Qag74oSNgFozGH2zCXeWZKyff6KNyQBGVZsF2,2pE7mPLe1Fi1eM4MMSYByVEqcBnBEW3AvUqZu5rozpTZ,0.723530448
|
||||||
5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ,3,,FgVYBs7Qag74oSNgFozGH2zCXeWZKyff6KNyQBGVZsF2,AQYyCfb358cokJks8GBYrRhCE2smJNEFsj38V9N4y54R,AMZJ5CaFHPeL3V1poFt14GvZwisJk7x7aRN69C3DNcRD,0.666161076
|
5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ,3,,FgVYBs7Qag74oSNgFozGH2zCXeWZKyff6KNyQBGVZsF2,AQYyCfb358cokJks8GBYrRhCE2smJNEFsj38V9N4y54R,AMZJ5CaFHPeL3V1poFt14GvZwisJk7x7aRN69C3DNcRD,0.71636678
|
||||||
|
5BDJaGeqsfRTHQA8kR99syrFebNWVmpWFpWNne8jRvGpdVxzXNVw9gb3HrbZJEvphTHGsGxeWdv7TDFc4A5g2zhY,2,11,Dx8bvuvJDjx3dGv2kDNixZFzptFRqCQMR9kQARaTqEn2,5ch8DHGTyzUwj4QL7XQEgfWJJYrtCL63mvecXnx59spk,9jkxBdz8LN3aKrNsTdNbW17ejaukxzg62HBCu4iU6GCW,2.18469768
|
||||||
|
2L9QnyDuLf3xHmt7WQ992qX5y7GhriKsEmcAWKF7b6dakRgPftgnRP1J73HcNYq7DX8L472vHMrnGo7KyZzVuwNf,2,,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,kingCAHWyjogBJnzMCe1vimzPZRx5Tn953NeNxrssed,2o844PE4aqjCdyrZVKVwNFVCvMxJF2GPmesTWv7auxZK,1.16522
|
||||||
|
2L9QnyDuLf3xHmt7WQ992qX5y7GhriKsEmcAWKF7b6dakRgPftgnRP1J73HcNYq7DX8L472vHMrnGo7KyZzVuwNf,3,,ErpHj14NjrSQQf7DLy8zBwjxkZQcRZc5wzTGGa5tdxPU,CMNyyCXkAQ5cfFS2zQEg6YPzd8fpHvMFbbbmUfjoPp1s,2o844PE4aqjCdyrZVKVwNFVCvMxJF2GPmesTWv7auxZK,1.3
|
||||||
|
3n8gZ42dgEPyhm5Fg67S2YV7DB594wG2kvsqmpnvrDnoFzCvyKV9dmZKJHpZQHnXbk6KGWCdpPLhdP51HpbBiYp2,2,5,tenEpSp5GQM3Ko211Nrugvt7fk6cL7VUwAHmAY9rFNq,3t6nFNH5c5vnvXxYFTk2nuM1YgWadJrhfHYbC6oggeF2,AYUD2NUcunAWF5wUJUrUiiboyy4fGtkV9NrYrEyUh3jX,2.6129
|
||||||
|
69suHP1ToykoujDnp4kD7oBnMzx3ftTqeuR8dASjt2PcAfbKDQrSWvuwAMghy7sWGRtP3YTgsCDK2TyYwGg99bc,4,1,TWoLjUKSEmSTJFmWB2ytMzbSFk8dVxYHoTnfrAroTsK,Gxs8FBmHbk64gXTE5NZFm3osVhBtbwKd4jyrhULoDsVU,GjnasXBXkrFsWGVPYCe6PdvLgN94LNYAufqFo7ir25NN,1.14830244
|
||||||
|
DyLBsEEQfp26yzfZ8ESsgP93zecc9dPCACsBaZ2QYQGDsS4UBg5gR5baHqmrFE6Cp7hVR7jUXX5aWxnrDejzdbb,3,0,CALRkHPDvn3BQCZAJPdMqLA7niPFHFNbKA4ckPJTXgxL,CfeG3cD2jgktErn3GsXrU2ZpxGzpnLeveU68oT8vmiDQ,GdqFhUFpPBo8Unv2Vfm24fLVE1UoTmRyUm1vtPTP3G3Z,8.15
|
||||||
|
2vSRfRA82jhyMwe3GrSnzwbYVbhTsf8E8fdMtYUmZvjDJT2Wp649qtAaoqagP2FLmRjErCfFpL64R4M84tzMJGEv,3,1,2545rVyryLkW271CY8RmdFTEyztqH37fbA2DruGBYhTJ,6msNeHzS5e6PTUEN4HLFsUaxrNDrwhUH2EM5VUNwoEbs,9hydZHxmBDzHP4uYx4MpD7RFdsobGRxu5hAVaaUFkApb,22.01
|
||||||
|
2iSFJTzHHAEqZpZFhGWXL9EH82NpQivxmgUFyy6eAb9FKXcM21FxrDUZjsmTakkVs99E3o4qGk31dpLmEeWyJ2Sw,2,,CoinTnNCSr9YmCPBje6Xts4XvNaCWUDf9rBLkpqHmaUm,69x69x4HCXW7Pdp1paEenanCfJhBwAVdzyQwCb5BBoMo,8fbiKJtjvkyffHJsjcsCB2CUv3nqVacYqkvRbV5aBnA,2.97
|
||||||
|
4yCbMAPrQ29bR33KTgEVuScBwwAuC4Qgbm72yoMDmkiQLqFWGcmz8o1bGoKKS5nLTsBVf7KKX7FbDh61QKjQfe6N,0,,A9DsyEuQP5J4fizYuWXKwgGebThNkFm9NEXFzBbeaEdr,34HibhTzBBgvwrWNrvgnRE81NA3yqKUpJJ7e4w4TKUvh,817KTxyHiKNcS1ozwDfmBKyix9EkiLHRi1awrjt99cy3,8.8
|
||||||
|
@ -162,6 +162,18 @@ base_transfers AS (
|
|||||||
WHERE
|
WHERE
|
||||||
{{ between_stmts }}
|
{{ between_stmts }}
|
||||||
),
|
),
|
||||||
|
base_logs AS (
|
||||||
|
SELECT
|
||||||
|
block_timestamp,
|
||||||
|
tx_id,
|
||||||
|
index,
|
||||||
|
inner_index,
|
||||||
|
sales_amount,
|
||||||
|
FROM
|
||||||
|
{{ ref('silver__nft_sales_tensorswap_buysellevent') }}
|
||||||
|
WHERE
|
||||||
|
{{ between_stmts }}
|
||||||
|
),
|
||||||
buys AS (
|
buys AS (
|
||||||
SELECT
|
SELECT
|
||||||
d.block_timestamp,
|
d.block_timestamp,
|
||||||
@ -197,22 +209,29 @@ buys AS (
|
|||||||
),
|
),
|
||||||
sells AS (
|
sells AS (
|
||||||
SELECT
|
SELECT
|
||||||
block_timestamp,
|
d.block_timestamp,
|
||||||
block_id,
|
d.block_id,
|
||||||
tx_id,
|
d.tx_id,
|
||||||
succeeded,
|
d.succeeded,
|
||||||
index,
|
d.index,
|
||||||
inner_index,
|
d.inner_index,
|
||||||
program_id,
|
d.program_id,
|
||||||
purchaser,
|
d.event_type,
|
||||||
seller,
|
d.purchaser,
|
||||||
mint,
|
d.seller,
|
||||||
min_price AS sales_amount,
|
d.mint,
|
||||||
_inserted_timestamp
|
coalesce(b.sales_amount * pow(10,-9),min_price) AS sales_amount, -- some logs are truncated so we have to use min_price
|
||||||
|
d._inserted_timestamp
|
||||||
FROM
|
FROM
|
||||||
decoded
|
decoded d
|
||||||
|
LEFT JOIN
|
||||||
|
base_logs b
|
||||||
|
ON d.block_timestamp::date = b.block_timestamp::date
|
||||||
|
AND d.tx_id = b.tx_id
|
||||||
|
AND d.index = b.index
|
||||||
|
AND coalesce(d.inner_index,-1) = coalesce(b.inner_index,-1)
|
||||||
WHERE
|
WHERE
|
||||||
event_type IN (
|
d.event_type IN (
|
||||||
'sellNftTokenPool',
|
'sellNftTokenPool',
|
||||||
'sellNftTokenPoolT22',
|
'sellNftTokenPoolT22',
|
||||||
'sellNftTradePoolT22',
|
'sellNftTradePoolT22',
|
||||||
@ -230,6 +249,7 @@ pre_final AS (
|
|||||||
index,
|
index,
|
||||||
inner_index,
|
inner_index,
|
||||||
program_id,
|
program_id,
|
||||||
|
event_type,
|
||||||
purchaser,
|
purchaser,
|
||||||
seller,
|
seller,
|
||||||
mint,
|
mint,
|
||||||
@ -246,6 +266,7 @@ pre_final AS (
|
|||||||
d.index,
|
d.index,
|
||||||
d.inner_index,
|
d.inner_index,
|
||||||
d.program_id,
|
d.program_id,
|
||||||
|
d.event_type,
|
||||||
d.purchaser,
|
d.purchaser,
|
||||||
d.seller,
|
d.seller,
|
||||||
d.mint,
|
d.mint,
|
||||||
|
|||||||
@ -28,7 +28,15 @@ models:
|
|||||||
'5vsPBQWgtwhqeQQUHVQhuCtWDtAu5sqQak1FkMj7ZkQbMz12m8XrgTQCYtD1paFKh1KqAakpf6hQV4APd94VihLN',
|
'5vsPBQWgtwhqeQQUHVQhuCtWDtAu5sqQak1FkMj7ZkQbMz12m8XrgTQCYtD1paFKh1KqAakpf6hQV4APd94VihLN',
|
||||||
'2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr',
|
'2munG4m9guSktDAp8QNt3WK1uVVD3BKV5zWqYuApjKjeiLDV9br6QwemQ1UeTHnfeF5CB7axL3K2kFbKUJpCAzHr',
|
||||||
'5PaqpRyNvDjPkRD8UeBKUC8SiwddLLtxZgPuDTngZXCZ2sZ7tDVHoXtqwDWWf9Jq4DVCytobc4o8h1mxNMD8hXzv',
|
'5PaqpRyNvDjPkRD8UeBKUC8SiwddLLtxZgPuDTngZXCZ2sZ7tDVHoXtqwDWWf9Jq4DVCytobc4o8h1mxNMD8hXzv',
|
||||||
'5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ')"
|
'5Ndp4DwJvVxiF6cEVtHvnzW749hjqKFdwYVYS4Bn2GHtc3qPGsk9AuowBhamqDkJaXNgiC3CaSDMK4k2a2pEchzJ',
|
||||||
|
'5BDJaGeqsfRTHQA8kR99syrFebNWVmpWFpWNne8jRvGpdVxzXNVw9gb3HrbZJEvphTHGsGxeWdv7TDFc4A5g2zhY',
|
||||||
|
'2L9QnyDuLf3xHmt7WQ992qX5y7GhriKsEmcAWKF7b6dakRgPftgnRP1J73HcNYq7DX8L472vHMrnGo7KyZzVuwNf',
|
||||||
|
'3n8gZ42dgEPyhm5Fg67S2YV7DB594wG2kvsqmpnvrDnoFzCvyKV9dmZKJHpZQHnXbk6KGWCdpPLhdP51HpbBiYp2',
|
||||||
|
'69suHP1ToykoujDnp4kD7oBnMzx3ftTqeuR8dASjt2PcAfbKDQrSWvuwAMghy7sWGRtP3YTgsCDK2TyYwGg99bc',
|
||||||
|
'DyLBsEEQfp26yzfZ8ESsgP93zecc9dPCACsBaZ2QYQGDsS4UBg5gR5baHqmrFE6Cp7hVR7jUXX5aWxnrDejzdbb',
|
||||||
|
'2vSRfRA82jhyMwe3GrSnzwbYVbhTsf8E8fdMtYUmZvjDJT2Wp649qtAaoqagP2FLmRjErCfFpL64R4M84tzMJGEv',
|
||||||
|
'2iSFJTzHHAEqZpZFhGWXL9EH82NpQivxmgUFyy6eAb9FKXcM21FxrDUZjsmTakkVs99E3o4qGk31dpLmEeWyJ2Sw',
|
||||||
|
'4yCbMAPrQ29bR33KTgEVuScBwwAuC4Qgbm72yoMDmkiQLqFWGcmz8o1bGoKKS5nLTsBVf7KKX7FbDh61QKjQfe6N')"
|
||||||
columns:
|
columns:
|
||||||
- name: BLOCK_TIMESTAMP
|
- name: BLOCK_TIMESTAMP
|
||||||
description: "{{ doc('block_timestamp') }}"
|
description: "{{ doc('block_timestamp') }}"
|
||||||
@ -59,6 +67,10 @@ models:
|
|||||||
description: "{{ doc('program_id') }}"
|
description: "{{ doc('program_id') }}"
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
|
- name: EVENT_TYPE
|
||||||
|
description: "{{ doc('event_type') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: PURCHASER
|
- name: PURCHASER
|
||||||
description: "{{ doc('purchaser') }}"
|
description: "{{ doc('purchaser') }}"
|
||||||
tests:
|
tests:
|
||||||
@ -73,7 +85,7 @@ models:
|
|||||||
- not_null:
|
- not_null:
|
||||||
where: succeeded = TRUE
|
where: succeeded = TRUE
|
||||||
- name: SALES_AMOUNT
|
- name: SALES_AMOUNT
|
||||||
description: "{{ doc('sales_amount') }}. For bid side sales the amount is an estimation using `min_price`"
|
description: "{{ doc('sales_amount') }}. For bid side sales the amount is an estimation using `min_price` when logs are unavailable (ex: truncated logs)"
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_utils.expression_is_true:
|
- dbt_utils.expression_is_true:
|
||||||
|
|||||||
@ -0,0 +1,90 @@
|
|||||||
|
-- depends_on: {{ ref('silver__decoded_logs') }}
|
||||||
|
|
||||||
|
{{ config(
|
||||||
|
materialized = 'incremental',
|
||||||
|
incremental_predicates = ["dynamic_range_predicate", "block_timestamp::date"],
|
||||||
|
merge_exclude_columns = ["inserted_timestamp"],
|
||||||
|
unique_key = "nft_sales_tensorswap_id",
|
||||||
|
cluster_by = ['block_timestamp::DATE','_inserted_timestamp::DATE'],
|
||||||
|
tags = ['scheduled_non_core']
|
||||||
|
) }}
|
||||||
|
|
||||||
|
{% if execute %}
|
||||||
|
{% set base_query %}
|
||||||
|
CREATE OR REPLACE temporary TABLE silver.nft_sales_tensorswap_buysellevent__intermediate_tmp AS
|
||||||
|
SELECT
|
||||||
|
block_timestamp,
|
||||||
|
block_id,
|
||||||
|
tx_id,
|
||||||
|
TRUE AS succeeded,
|
||||||
|
INDEX,
|
||||||
|
inner_index,
|
||||||
|
log_index,
|
||||||
|
program_id,
|
||||||
|
event_type,
|
||||||
|
decoded_log,
|
||||||
|
_inserted_timestamp
|
||||||
|
FROM
|
||||||
|
{{ ref('silver__decoded_logs') }}
|
||||||
|
WHERE
|
||||||
|
program_id = 'TSWAPaqyCSx2KABk68Shruf4rp7CxcNi8hAsbdwmHbN'
|
||||||
|
AND event_type = 'BuySellEvent'
|
||||||
|
{% if is_incremental() %}
|
||||||
|
AND _inserted_timestamp >= (
|
||||||
|
SELECT
|
||||||
|
MAX(_inserted_timestamp) - INTERVAL '1 hour'
|
||||||
|
FROM
|
||||||
|
{{ this }}
|
||||||
|
)
|
||||||
|
{% else %}
|
||||||
|
AND _inserted_timestamp :: DATE >= '2024-06-02'
|
||||||
|
{% endif %}
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
{% do run_query(base_query) %}
|
||||||
|
{% set between_stmts = fsc_utils.dynamic_range_predicate(
|
||||||
|
"silver.nft_sales_tensorswap_buysellevent__intermediate_tmp",
|
||||||
|
"block_timestamp::date"
|
||||||
|
) %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
WITH decoded AS (
|
||||||
|
SELECT
|
||||||
|
block_timestamp,
|
||||||
|
block_id,
|
||||||
|
tx_id,
|
||||||
|
succeeded,
|
||||||
|
INDEX,
|
||||||
|
inner_index,
|
||||||
|
log_index,
|
||||||
|
program_id,
|
||||||
|
event_type,
|
||||||
|
decoded_log:args:creatorsFee::int AS creator_fee,
|
||||||
|
decoded_log:args:currentPrice::int AS current_price,
|
||||||
|
decoded_log:args:mmFee::int AS mm_fee,
|
||||||
|
decoded_log:args:tswapFee::int AS tswap_fee,
|
||||||
|
_inserted_timestamp
|
||||||
|
FROM
|
||||||
|
silver.nft_sales_tensorswap_buysellevent__intermediate_tmp
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
block_timestamp,
|
||||||
|
block_id,
|
||||||
|
tx_id,
|
||||||
|
succeeded,
|
||||||
|
INDEX,
|
||||||
|
inner_index,
|
||||||
|
log_index,
|
||||||
|
program_id,
|
||||||
|
event_type,
|
||||||
|
creator_fee,
|
||||||
|
mm_fee,
|
||||||
|
tswap_fee,
|
||||||
|
current_price AS sales_amount,
|
||||||
|
_inserted_timestamp,
|
||||||
|
{{ dbt_utils.generate_surrogate_key(['tx_id','index','inner_index','log_index']) }} AS nft_sales_tensorswap_buysellevent_id,
|
||||||
|
SYSDATE() AS inserted_timestamp,
|
||||||
|
SYSDATE() AS modified_timestamp,
|
||||||
|
'{{ invocation_id }}' AS _invocation_id
|
||||||
|
FROM
|
||||||
|
decoded
|
||||||
@ -0,0 +1,83 @@
|
|||||||
|
version: 2
|
||||||
|
models:
|
||||||
|
- name: silver__nft_sales_tensorswap_buysellevent
|
||||||
|
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: INDEX
|
||||||
|
description: "{{ doc('event_index') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: INNER_INDEX
|
||||||
|
description: "{{ doc('inner_index') }}"
|
||||||
|
- name: LOG_INDEX
|
||||||
|
description: "{{ doc('log_index') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: PROGRAM_ID
|
||||||
|
description: "{{ doc('program_id') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: EVENT_TYPE
|
||||||
|
description: "{{ doc('event_type') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- accepted_values:
|
||||||
|
values: ["BuySellEvent"]
|
||||||
|
- name: CREATOR_FEE
|
||||||
|
description: "Part of `sales_amount` in SOL that goes to the creator"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: MM_FEE
|
||||||
|
description: "Part of `sales_amount` in SOL that goes to the market maker"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: TSWAP_FEE
|
||||||
|
description: "Part of `sales_amount` in SOL that goes to Tensor"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: SALES_AMOUNT
|
||||||
|
description: "{{ doc('sales_amount') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: ">= 0"
|
||||||
|
- name: _INSERTED_TIMESTAMP
|
||||||
|
description: "{{ doc('_inserted_timestamp') }}"
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: NFT_SALES_TENSORSWAP_BUYSELLEVENT_ID
|
||||||
|
description: '{{ doc("pk") }}'
|
||||||
|
tests:
|
||||||
|
- unique
|
||||||
|
- name: INSERTED_TIMESTAMP
|
||||||
|
description: '{{ doc("inserted_timestamp") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: MODIFIED_TIMESTAMP
|
||||||
|
description: '{{ doc("modified_timestamp") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- name: _INVOCATION_ID
|
||||||
|
description: '{{ doc("_invocation_id") }}'
|
||||||
|
tests:
|
||||||
|
- not_null:
|
||||||
|
name: test_silver__not_null_nft_sales_tensorswap_buysellevent__invocation_id
|
||||||
|
|
||||||
@ -8,6 +8,31 @@
|
|||||||
tags = ['scheduled_core'],
|
tags = ['scheduled_core'],
|
||||||
) }}
|
) }}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Adjusted backfill groupings on 2-XL
|
||||||
|
2022-08-12 7885521
|
||||||
|
2022-08-13 11137387
|
||||||
|
2022-08-15 351101483
|
||||||
|
2022-08-16 1427863755
|
||||||
|
|
||||||
|
2022-08-17 973393045
|
||||||
|
|
||||||
|
2022-08-18 827193734
|
||||||
|
|
||||||
|
2022-08-19 2346654908
|
||||||
|
|
||||||
|
2022-08-20 1281709341
|
||||||
|
|
||||||
|
2022-08-21 341131725
|
||||||
|
2022-08-22 13564732
|
||||||
|
2022-08-25 384899
|
||||||
|
2022-08-30 227067618
|
||||||
|
|
||||||
|
2022-08-31 2545287850
|
||||||
|
|
||||||
|
2022-09-01 1726232252
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
WITH base AS (
|
WITH base AS (
|
||||||
SELECT
|
SELECT
|
||||||
@ -22,13 +47,11 @@ WITH base AS (
|
|||||||
WHERE
|
WHERE
|
||||||
succeeded
|
succeeded
|
||||||
AND log_messages IS NOT NULL
|
AND log_messages IS NOT NULL
|
||||||
|
|
||||||
{% if is_incremental() %}
|
{% if is_incremental() %}
|
||||||
{% if execute %}
|
/*{% if execute %}
|
||||||
{{ get_batch_load_logic(this, 30, '2024-06-07') }}
|
{{ get_batch_load_logic(this, 30, '2024-07-04') }}
|
||||||
{% endif %}
|
{% endif %}*/
|
||||||
/* UNCOMMENT WHEN BACKFILLED
|
AND _inserted_timestamp >= (SELECT max(_inserted_timestamp) FROM {{ this }})
|
||||||
AND _inserted_timestamp >= (SELECT max(_inserted_timestamp) FROM {{ this }}) */
|
|
||||||
{% else %}
|
{% else %}
|
||||||
AND _inserted_timestamp::date BETWEEN '2022-08-12' AND '2022-09-01'
|
AND _inserted_timestamp::date BETWEEN '2022-08-12' AND '2022-09-01'
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user