interface
interface copied to clipboard
feat: paraswap feature updates
Clean PR for Paraswap feature changes:
- [x] Repay with collateral re-design
- [x] Collateral swap re-design
- [x] Refactor of useSwap hook logic (broken into two separate files)
- [x] Loading states
📦 Next.js Bundle Analysis
This analysis was generated by the next.js bundle analysis action 🤖
⚠️ Global Bundle Size Increased
Page | Size (compressed) |
---|---|
global |
477.44 KB (🟡 +5.09 KB) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
Two Pages Changed Size
The following pages changed size from the code in this PR compared to its base branch:
Page | Size (compressed) | First Load |
---|---|---|
/ |
40.17 KB (🟢 -31 B) |
517.6 KB |
/staking |
20.41 KB (🟢 -108 B) |
497.85 KB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link
is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
- Ipfs hash: bafybeicpdrpphe773ed6ooc5tiystdowlhn2gmkvtr3tp2lv5zcq5vcy2i
- Ipfs preview link: https://bafybeicpdrpphe773ed6ooc5tiystdowlhn2gmkvtr3tp2lv5zcq5vcy2i.ipfs.cf-ipfs.com/
@defispartan there is bug
in case we try to swap to some asset which requires approve we get an error
as example : swap Matic to usdt
after approval we get an error
cannot estimate gas; transaction may fail or may require manual gas limit (error={"reason":"processing response error","code":"SERVER_ERROR","body":"{\"id\":150,\"jsonrpc\":\"2.0\",\"error\":{\"id\":\"b5c22993-5ee5-498a-a89c-93954f269006\",\"code\":-32006,\"message\":\"execution reverted: INSUFFICIENT_AMOUNT_TO_SWAP\"}}","error":{"code":-32006},"requestBody":"{\"method\":\"eth_estimateGas\",\"params\":[{\"value\":\"0x0\",\"from\":\"0x13fb3e34a9306bc65764a30555c20f15a1e652b4\",\"to\":\"0x301f221bc732907e2da2dbbfaa8f8f6847c170c3\",\"data\":\"0xd3454a350000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f00000000000000000000000000000000000000000000010f0cf071e2870f831f00000000000000000000000000000000000000000000000000000000eeefb4b100000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000180000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea446c67b6d00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127000000000000000000000000000000000000000000000010f0cf071e2870f831f00000000000000000000000000000000000000000000000000000000ef2cef4c00000000000000000000000000000000000000000000000000000000ef6a399900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000dc9a35b16db4e126cfedc41322b3a36454b1f77201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000063458bfb078ca971a046471f93be104a2a168043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a69500000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000634545ab000000000000000000000000000000000000000000000000000000000000002b0d500b1d8e8ef31e21c99d1db9a6444d3adf12700001f4c2132d05d31c914a87c6611c10748aeb04b58e8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000232800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a6950000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e7000000000000000000000000000000000000000000000000000000000000015b400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb5ce2e035dd9562a6d0a639a68d372efb21d22e000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000f5b509bb0909a69b1c207e495f687a596c168e12000000000000000000000000000000000000000000000000000000000000115c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000634545ab00000000000000000000000000000000000000000000000000000000000000280d500b1d8e8ef31e21c99d1db9a6444d3adf12702791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000000000000000000000000000000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a6950000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e70000000000000000000000000000000000000000000000000000000000000115c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0020444b98f67b77a3d6de6e66af11c87da086e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e7000000000000000000000000000000000000000000000000000000000000015b400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cdc878c037625afe3a98e14fcc56e169f0b5b411000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"}],\"id\":150,\"jsonrpc\":\"2.0\"}","requestMethod":"POST","url":"https://rpc.tenderly.co/fork/d4672144-d590-4820-abbd-f63e660d9e52"}, method="estimateGas", transaction={"from":"0x13fB3e34A9306Bc65764A30555C20f15A1e652B4","to":"0x301F221bc732907E2da2dbBFaA8F8F6847c170c3","value":{"type":"BigNumber","hex":"0x00"},"data":"0xd3454a350000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f00000000000000000000000000000000000000000000010f0cf071e2870f831f00000000000000000000000000000000000000000000000000000000eeefb4b100000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000180000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea446c67b6d00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127000000000000000000000000000000000000000000000010f0cf071e2870f831f00000000000000000000000000000000000000000000000000000000ef2cef4c00000000000000000000000000000000000000000000000000000000ef6a399900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000dc9a35b16db4e126cfedc41322b3a36454b1f77201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000063458bfb078ca971a046471f93be104a2a168043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a69500000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000634545ab000000000000000000000000000000000000000000000000000000000000002b0d500b1d8e8ef31e21c99d1db9a6444d3adf12700001f4c2132d05d31c914a87c6611c10748aeb04b58e8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000232800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a6950000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e7000000000000000000000000000000000000000000000000000000000000015b400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb5ce2e035dd9562a6d0a639a68d372efb21d22e000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000f5b509bb0909a69b1c207e495f687a596c168e12000000000000000000000000000000000000000000000000000000000000115c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000634545ab00000000000000000000000000000000000000000000000000000000000000280d500b1d8e8ef31e21c99d1db9a6444d3adf12702791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000000000000000000000000000000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a41b5ab708fe1fe11cd6121006497b8549e8a6950000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e70000000000000000000000000000000000000000000000000000000000000115c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0020444b98f67b77a3d6de6e66af11c87da086e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a222e6a71d1a1dd5f279805fbe38d5329c1d0e7000000000000000000000000000000000000000000000000000000000000015b400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cdc878c037625afe3a98e14fcc56e169f0b5b411000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","accessList":null}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.5.3)
- Ipfs hash: bafybeih4jxbb4pt4ulnr6stipo5eblfop73fs3t3ofxuw56qr6d4d32xie
- Ipfs preview link: https://bafybeih4jxbb4pt4ulnr6stipo5eblfop73fs3t3ofxuw56qr6d4d32xie.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeibae5z7h3d53f5xdl5sph57advdtlzehhrdclup65pevq2ehyliqy
- Ipfs preview link: https://bafybeibae5z7h3d53f5xdl5sph57advdtlzehhrdclup65pevq2ehyliqy.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeic6rzyhiacj5kpjze4rps4kkeecrtjls7z7g437r4pnugi4icf7eu
- Ipfs preview link: https://bafybeic6rzyhiacj5kpjze4rps4kkeecrtjls7z7g437r4pnugi4icf7eu.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeiexhkprr2fianvs2e3vkk6ipbo3h5sq2hevketqj4rwohcbuxcoka
- Ipfs preview link: https://bafybeiexhkprr2fianvs2e3vkk6ipbo3h5sq2hevketqj4rwohcbuxcoka.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeib7pzmsgtemhzwza5caaax3hh37fwidphwfsfzim2ebfdbfwx6w5a
- Ipfs preview link: https://bafybeib7pzmsgtemhzwza5caaax3hh37fwidphwfsfzim2ebfdbfwx6w5a.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeihj765kyc5bvksqjbby62k2lqdzyzjh3dlonoma6qow73h4r4wke4
- Ipfs preview link: https://bafybeihj765kyc5bvksqjbby62k2lqdzyzjh3dlonoma6qow73h4r4wke4.ipfs.cf-ipfs.com/
When repaying a "big" amount of jEur (30k with eth) the app starts ddosing paraswap api. The issue seems to be not handling "no route with enough liquidity found" (might be that is was never properly handled even before)
This issue seems to be existing. I'll look into handling this better, there's logic in there to retry every 3 seconds on error, but we should probably just be displaying the error message to the user and not automatically retry.
When I select max with a collateral that is not sufficient to repay all debt the ui will be broken and render 0$
oops, easy fix 😅
For me frame rate dropped and it's super sluggish on mobile, i don't exactly understand why, but seems rendering got far more expansive - the update is also quite "huge" for a small visual upgrade and i don't understand why. Both is a 10s memory recording on desktop via chrome with an open max dai repay modal with proper route & not doing anything.
What environments are you using to benchmark? I tested these changes vs. main (both on a fork), and I didn't see any difference. Maybe tenderly rpc's are causing some of the slowness? I'll keep investigating. There is only an additional useMemo
which is needed because we only care about certain properties changing on the swapIn/Out object. But on second look, I think the existing useCallback
might not be needed.
- Ipfs hash: bafybeidgxsvppx3tgk4te6p7qixstledw2426hdich3pxymuz3vk2l5vpm
- Ipfs preview link: https://bafybeidgxsvppx3tgk4te6p7qixstledw2426hdich3pxymuz3vk2l5vpm.ipfs.cf-ipfs.com/
@grothem checked on polygon v3 https://app.aave.com/ vs https://bafybeib7pzmsgtemhzwza5caaax3hh37fwidphwfsfzim2ebfdbfwx6w5a.ipfs.cf-ipfs.com/
Same account. No fork or sth chrome on arch (honestly here it's okay slow, was just creeping slow on mobile and don't know how to do sth like memory snapshot on mobile so did the recording on pc where the results confirm that feeling).
- Ipfs hash: bafybeiawmdofopsp3juq6za6h2xpuxil4euk674ukjwl6ybqmc2flkuaja
- Ipfs preview link: https://bafybeiawmdofopsp3juq6za6h2xpuxil4euk674ukjwl6ybqmc2flkuaja.ipfs.cf-ipfs.com/
Adding a comment here to roll in a big fix for repaying the max. The remaining amount USD value is not correct. It shows the amount being repaid instead of what is remaining.
- Ipfs hash: bafybeiddpb7uorsyatmxl64srnlis35dlshuxxpo76s7hyc7csvgc3fhim
- Ipfs preview link: https://bafybeiddpb7uorsyatmxl64srnlis35dlshuxxpo76s7hyc7csvgc3fhim.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeiduf54hxmqdfriyqjenzx5eedzbvlfldg5jbyxpg4g7udrugoy2ca
- Ipfs preview link: https://bafybeiduf54hxmqdfriyqjenzx5eedzbvlfldg5jbyxpg4g7udrugoy2ca.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeic55rds4o22upwn5gv7hj6jgprhnzjegjnhgy77uoq6cifvwf7vzi
- Ipfs preview link: https://bafybeic55rds4o22upwn5gv7hj6jgprhnzjegjnhgy77uoq6cifvwf7vzi.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeigucesc3j3kiiu54jkbzgscdk2syzpw27bc6u5zabtxtalfwkncvy
- Ipfs preview link: https://bafybeigucesc3j3kiiu54jkbzgscdk2syzpw27bc6u5zabtxtalfwkncvy.ipfs.cf-ipfs.com/
1 small adjustment from me: can we remove the asset name to save some space?
- Ipfs hash: bafybeibsnqe34jc5wng4vxiqjlujwqhcqokkzau7wyajxyq35iw7qpmo7u
- Ipfs preview link: https://bafybeibsnqe34jc5wng4vxiqjlujwqhcqokkzau7wyajxyq35iw7qpmo7u.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeid6xeu4t3ypkm32cbv7byufw3zokxpy77e3qrmtb6caciavhzdt5u
- Ipfs preview link: https://bafybeid6xeu4t3ypkm32cbv7byufw3zokxpy77e3qrmtb6caciavhzdt5u.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeifzheoxsqergsca5jg7zf5pes57k5mlksbjb4xhjzkoxllzx2idb4
- Ipfs preview link: https://bafybeifzheoxsqergsca5jg7zf5pes57k5mlksbjb4xhjzkoxllzx2idb4.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeiaffwtp56jgglhkkn324ehyp5igyxe66fkjpd5dk5niqekfcr6cgu
- Ipfs preview link: https://bafybeiaffwtp56jgglhkkn324ehyp5igyxe66fkjpd5dk5niqekfcr6cgu.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeiefyc33nejcltlswxwwowgk6l2lkqslkjw6qih53pseqbifv7imai
- Ipfs preview link: https://bafybeiefyc33nejcltlswxwwowgk6l2lkqslkjw6qih53pseqbifv7imai.ipfs.cf-ipfs.com/
Did a final testing run-through and everything LGTM 👍
- Ipfs hash: bafybeig743fqldkt6ac4kswjr45z3mqb2eamjvtwz6qpgv5rquzmbmgh6m
- Ipfs preview link: https://bafybeig743fqldkt6ac4kswjr45z3mqb2eamjvtwz6qpgv5rquzmbmgh6m.ipfs.cf-ipfs.com/
- Ipfs hash: bafybeic4ztiqxb5r4aimb6xikxqeflpdfk5xjq5f5mz6b43ox2xzekrjoe
- Ipfs preview link: https://bafybeic4ztiqxb5r4aimb6xikxqeflpdfk5xjq5f5mz6b43ox2xzekrjoe.ipfs.cf-ipfs.com/