Skip to content

RobItu/BLINK

Repository files navigation

Banner

CHAINLINK FILES:

CCIP: https://github.com/RobItu/BLINK/blob/main/backend/ccip-scripts/evm/router/1_token-transfer.ts

CCIP + DATA FEEDS: https://github.com/RobItu/BLINK/blob/main/contracts/ccipSwapandSend.sol

Table of Contents

Transactions

Transactions seen in the video listed in chronological order.

Wallets Used

The direction sometimes changed but for the most part:

  • Sender: 0x377Cc3297251812561157d421c6faC7C76c51d4E
  • Receiver: 0x0dFBbF93b833f8e89d5cb355c3dEe9d599E3Ac78

Smart Contracts used (all verified)

QR code USDC Swaps

Bank Transaction

REAL SWAPS

Swaps made using Uniswap routers and LFJ (formerly known as Trader Joe)

Smart Send (Mock Swaps)

Swaps made with Chainlink Price Feeds

Solana

NOTE

Github shows multiple contributors, but this is because I forked the Thirdweb wallet example repo and never started a clean git tree. I want to emphasize that I only used Thirdwallet for sending and receiving transactions and basic scaffold of tabs layout. All functionality, UX, UI, QR Code generator, scanner, Smart Contracts, CCIP integration, Solana integration, Smart Swap, Transaction details, webhooks and sockets, and much more was done by me and solely me. You can see the evidence in the commits here that work started by me on June 3rd and never received assistance, it was merely a fork for their thirdwallet function!

Installation

Since we have the front-end and back-end there will be TWO env files and yarn installations, in addition to multiple API keys needed and Webhook connections.

Prerequisites

To run this app, you'll need either:

Get started (FrontEnd)

  1. Install dependencies

On root:

yarn install
  1. Fill .env.example with Thirdweb Client ID and NGROK API Key This is extremely important for thirdweb wallet to work and for your app to communicate with the backend.

  2. Start the app

npx expo start --tunnel

Get Started (BackEnd)

  1. Navigate to /backend
  2. run:
yarn install
  1. Fill in env.example. Make sure to have Circle's SANDBOX API key and use the same NGROK URL you used for frontend env.
PORT=3000
NODE_ENV=development
  1. Setup webhooks for Circle's deposit, wire transfer and payout notifications (optional)
your-ngrok-url/api/webhooks/circle

Make sure to click the ALL AWS links they send you, otherwise the webhook will never be setup and be forever stuck in pending!!!

  1. Setup Alchemy Webhook for USDC payments notifications (optional)
your-ngrok-URL/webhook/usdc-transfer

and add address of wallet you want to monitor.

  1. Run these two on seperate terminals
ngrok http 3000 (connects your app to backend) 
npm run dev (starts server)

These two terminals must be running at all times along with npx expo start --tunnel on a seperate terminal for full functionality.

Solana

Solana files are located in /backend folder.

Troubleshooting

  • I have added multiple logs, so keep your eye out on your terminal.
  • Keep your eye out for your ngrok http URL it always changes when you restart it.
Problem Solution
App randomly reloads Currently none. I believe this is because there's too much load on the app while being hosted locally. Offloading to other services can help.
Websocket keeps disconnecting Adding pings and interacting with the app helps keep it connected longer, but it will always disconnect after some time.

From Thirdwallet's repo (I never encountered this issue but just in case):

OpenSSL Error on Xcode 16

If using xcode 16, you may encounter a OpenSSL error when trying to build the app. This is because xcode 16 requires a newer version of OpenSSL than the one specified in the current app.json.

To fix this, change the version of OpenSSL specified in the app.json file to 3.3.2000.

  • Open the app.json file
  • Find the ios > extraPods section
  • Set "version": "3.3.2000" for the OpenSSL-Universal pod
  • Save the file

Then run npx expo prebuild to update the native modules with the new OpenSSL version and run the app again.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •