Skip to content

Commit 7f689d6

Browse files
committed
feat: update token list and assets
- Updated berachain token list - Added new token logos - Generated timestamped backup and logs Changed files: - .github/workflows/tokenlist-update.yml - create-pr.log - fetch-tokenlist.log - package.json - pnpm-lock.yaml - src/lib/scripts/create-pr.js
1 parent ff573e9 commit 7f689d6

File tree

6 files changed

+3226
-0
lines changed

6 files changed

+3226
-0
lines changed
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
name: Token List Update
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
source_url:
7+
description: 'Source URL for token list'
8+
required: false
9+
default: 'https://raw.githubusercontent.com/burrbear-dev/default-lists/main/src/tokens/mainnet/defaultTokenList.json'
10+
type: string
11+
target_token_file:
12+
description: 'Target token file path'
13+
required: false
14+
default: 'src/tokenlists/balancer/tokens/berachain.ts'
15+
type: string
16+
assets_dir:
17+
description: 'Assets directory for logos'
18+
required: false
19+
default: 'src/assets/images/tokens'
20+
type: string
21+
branch_prefix:
22+
description: 'Branch prefix for PR'
23+
required: false
24+
default: 'feat/tokenlist-update'
25+
type: string
26+
pr_title_prefix:
27+
description: 'PR title prefix'
28+
required: false
29+
default: 'feat: Update token list and assets'
30+
type: string
31+
32+
jobs:
33+
update-tokenlist:
34+
runs-on: ubuntu-latest
35+
36+
steps:
37+
- name: Checkout repository
38+
uses: actions/checkout@v4
39+
with:
40+
token: ${{ secrets.GITHUB_TOKEN }}
41+
fetch-depth: 0
42+
43+
- name: Setup Node.js
44+
uses: actions/setup-node@v4
45+
with:
46+
node-version: '18'
47+
cache: 'npm'
48+
49+
- name: Install dependencies
50+
run: npm ci
51+
52+
- name: Configure Git
53+
run: |
54+
git config --global user.name 'github-actions[bot]'
55+
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
56+
57+
- name: Fetch token list
58+
run: |
59+
# Set environment variables for the script
60+
export SOURCE_URL="${{ inputs.source_url }}"
61+
export TARGET_TOKEN_FILE="${{ inputs.target_token_file }}"
62+
export ASSETS_DIR="${{ inputs.assets_dir }}"
63+
64+
# Run the fetch script
65+
npm run tokenlist:fetch
66+
env:
67+
# Add any additional environment variables if needed
68+
NODE_ENV: production
69+
70+
- name: Check for changes
71+
id: check-changes
72+
run: |
73+
if git diff --quiet; then
74+
echo "changes=false" >> $GITHUB_OUTPUT
75+
echo "No changes detected"
76+
else
77+
echo "changes=true" >> $GITHUB_OUTPUT
78+
echo "Changes detected"
79+
fi
80+
81+
- name: Create PR
82+
if: steps.check-changes.outputs.changes == 'true'
83+
run: |
84+
# Set environment variables for the PR script
85+
export BRANCH_PREFIX="${{ inputs.branch_prefix }}"
86+
export PR_TITLE_PREFIX="${{ inputs.pr_title_prefix }}"
87+
88+
# Run the PR creation script
89+
npm run tokenlist:pr
90+
env:
91+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92+
93+
- name: Comment on PR
94+
if: steps.check-changes.outputs.changes == 'true'
95+
uses: actions/github-script@v7
96+
with:
97+
script: |
98+
const { data: pulls } = await github.rest.pulls.list({
99+
owner: context.repo.owner,
100+
repo: context.repo.repo,
101+
state: 'open',
102+
head: `${context.repo.owner}:${context.payload.ref || 'feat/tokenlist-update-' + new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-')}`
103+
});
104+
105+
if (pulls.length > 0) {
106+
const pr = pulls[0];
107+
await github.rest.issues.createComment({
108+
owner: context.repo.owner,
109+
repo: context.repo.repo,
110+
issue_number: pr.number,
111+
body: `🤖 **Automated Token List Update**
112+
113+
This PR was automatically generated by the GitHub Actions workflow.
114+
115+
**Workflow Details:**
116+
- **Triggered by**: Manual workflow dispatch
117+
- **Run ID**: [${context.runId}](${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId})
118+
- **Commit**: ${context.sha}
119+
120+
**Changes:**
121+
- Updated token list with latest addresses
122+
- Downloaded new logo assets
123+
- Generated timestamped backups and logs
124+
125+
---
126+
*This is an automated PR. Please review the changes before merging.*`
127+
});
128+
}

create-pr.log

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[2025-07-18T07:40:56.147Z] Changes detected, proceeding with PR creation...
2+
[2025-07-18T07:40:56.148Z] Analysis: 1 tokens, 1004 logo files
3+
[2025-07-18T07:40:56.162Z] Created new branch: feat/tokenlist-update-2025-07-18T07-40-56

fetch-tokenlist.log

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
[2025-07-18T07:23:10.720Z] Fetching token list from source using curl...
2+
[2025-07-18T07:23:11.101Z] Successfully fetched 66 tokens using curl
3+
[2025-07-18T07:23:11.101Z] Processing tokens...
4+
[2025-07-18T07:23:11.102Z] Found 66 unique valid addresses
5+
[2025-07-18T07:23:11.102Z] Updating berachain token list...
6+
[2025-07-18T07:23:11.103Z] Successfully updated token list with 66 addresses (1 existing + 66 new)
7+
[2025-07-18T07:23:11.103Z] Starting asset downloads using curl...
8+
[2025-07-18T07:23:11.425Z] Downloaded: 0xD77552D3849ab4D8C3b189A9582d0ba4C1F4f912.png (from wgbera.png)
9+
[2025-07-18T07:23:11.750Z] Downloaded: 0x6969696969696969696969696969696969696969.png (from wbera.png)
10+
[2025-07-18T07:23:12.094Z] Downloaded: 0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.png (from weth.png)
11+
[2025-07-18T07:23:12.426Z] Downloaded: 0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce.png (from honey.png)
12+
[2025-07-18T07:23:12.747Z] Downloaded: 0x28e0e3B9817012b356119dF9e217c25932D609c2.png (from burr.png)
13+
[2025-07-18T07:23:13.082Z] Downloaded: 0x1cE0a25D13CE4d52071aE7e02Cf1F6606F4C79d3.png (from logo.png)
14+
[2025-07-18T07:23:13.269Z] Downloaded: 0x549943e04f40284185054145c6E4e9568C1D3241.png (from USD_Coin_icon.png)
15+
[2025-07-18T07:23:13.417Z] Downloaded: 0x231A6BD8eB88Cfa42776B7Ac575CeCAf82bf1E21.png (from 0x231a6bd8eb88cfa42776b7ac575cecaf82bf1e21.png)
16+
[2025-07-18T07:23:13.719Z] Downloaded: 0xBaadCC2962417C01Af99fb2B7C75706B9bd6Babe.png (from lbgt.png)
17+
[2025-07-18T07:23:14.041Z] Downloaded: 0x656b95E550C07a9ffe548bd4085c72418Ceb1dba.png (from bgt.png)
18+
[2025-07-18T07:23:14.379Z] Downloaded: 0xac03CABA51e17c86c921E1f6CBFBdC91F8BB2E6b.png (from ibgt.png)
19+
[2025-07-18T07:23:14.693Z] Downloaded: 0x8bf591eae535f93a242d5a954d3cde648b48a5a8.png (from suUSD.png)
20+
[2025-07-18T07:23:15.019Z] Downloaded: 0xe85411C030fB32A9D8b14Bbbc6CB19417391F711.png (from suBTC.png)
21+
[2025-07-18T07:23:15.349Z] Downloaded: 0x30c8cf6b46aa4df3f9fbc2857aca92f10a6cad7f.png (from eliteness.png)
22+
[2025-07-18T07:23:15.672Z] Downloaded: 0xD10E65A5F8cA6f835F2B1832e37cF150fb955f23.png (from nect-usdc-honey.png)
23+
[2025-07-18T07:23:15.989Z] Downloaded: 0x65967109401506222609BDc86e3039F910C4d08b.png (from coin.png)
24+
[2025-07-18T07:23:16.323Z] Downloaded: 0x9EA30078bc52740F10812539E77B6502A2a5387a.png (from icoin.png)
25+
[2025-07-18T07:23:16.649Z] Downloaded: 0x1De7EfAbfA656d077cFD961e4a83b061D351a83B.png (from nvda.png)
26+
[2025-07-18T07:23:16.969Z] Downloaded: 0x3A4B2d07c237C701c68238dA07E11302353A16F1.png (from invda.png)
27+
[2025-07-18T07:23:16.970Z] Skipping existing file: 0x0555E30da8f98308EdB960aa94C0Db47230d2B9c.png
28+
[2025-07-18T07:23:17.301Z] Downloaded: 0x541FD749419CA806a8bc7da8ac23D346f2dF8B77.png (from solvbtc.png)
29+
[2025-07-18T07:23:17.617Z] Downloaded: 0xCC0966D8418d412c599A6421b760a847eB169A8c.png (from xsolvbtc.png)
30+
[2025-07-18T07:23:17.930Z] Downloaded: 0x439c84851bb1EDd8Db3DD94809ebBEA6670682F3.png (from CanaNect.png)
31+
[2025-07-18T07:23:18.239Z] Downloaded: 0x779Ded0c9e1022225f8E0630b35a9b54bE713736.png (from usdt0.png)
32+
[2025-07-18T07:23:18.559Z] Downloaded: 0x768670beAD85b4383940F60AfD8492AC76b2Ba28.png (from CanaBERA.png)
33+
[2025-07-18T07:23:18.880Z] Downloaded: 0xbdaB22CD9a4BcaB42Fe5Cf17e523A029cbe903Dc.svg (from BAs.svg)
34+
[2025-07-18T07:23:19.196Z] Downloaded: 0x69B88c116cb7cBBC5B0f85CBeA1Be91DF40b56E1.svg (from LMTs.svg)
35+
[2025-07-18T07:23:19.528Z] Downloaded: 0x24BC5c9a529024e2B670B5b8166993d4ECaefE22.svg (from COINs.svg)
36+
[2025-07-18T07:23:19.865Z] Downloaded: 0x4E0c8b91183374D3aB5eE691b0F59F1a4A671D80.svg (from WBDs.svg)
37+
[2025-07-18T07:23:20.188Z] Downloaded: 0xd9c5b692ed20fA4207f2da1a3db3450828d90a46.svg (from YMAXs.svg)
38+
[2025-07-18T07:23:20.511Z] Downloaded: 0x25f838Dc9DFC8F4Ac5bF957c475F90860Dde3460.svg (from ARKKs.svg)
39+
[2025-07-18T07:23:20.862Z] Downloaded: 0x17A238d9a31fFF2f1078C8e1E4b2aC6B84E3A068.svg (from PARAs.svg)
40+
[2025-07-18T07:23:21.190Z] Downloaded: 0x6379BB654aA1B63bC602DBC947f60305AB9d6467.svg (from FIATs.svg)
41+
[2025-07-18T07:23:21.521Z] Downloaded: 0x39890d84ac4a0E94d486068486f6513470E541b4.svg (from XDTEs.svg)
42+
[2025-07-18T07:23:21.851Z] Downloaded: 0x77D5cbfE85b3DfB6dB3e63d9392829f4C34FFA86.svg (from AAPLs.svg)
43+
[2025-07-18T07:23:22.170Z] Downloaded: 0xca72Cf92768bc1ABEF4b14cFD3E096c8B5f54696.svg (from TSLAs.svg)
44+
[2025-07-18T07:23:22.490Z] Downloaded: 0x30F8a2fE5Ea2eb2E64b26CcbD33b690Ec4EFe723.svg (from AMZNs.svg)
45+
[2025-07-18T07:23:22.813Z] Downloaded: 0xa8e8EFB06Ff91e8c5BEeD849417945d39F3f22Eb.svg (from SPYs.svg)
46+
[2025-07-18T07:23:23.145Z] Downloaded: 0x70fA06e485285B6873B0A93189B613E2d85dc5e2.svg (from GMEs.svg)
47+
[2025-07-18T07:23:23.455Z] Downloaded: 0x59dEA303501B18c058882096b781B89B836aA12C.svg (from SUPVs.svg)
48+
[2025-07-18T07:23:23.770Z] Downloaded: 0xbc2CeE93341C0e10d2fd5ED502F17AF88CFa1E7B.svg (from YPFs.svg)
49+
[2025-07-18T07:23:24.090Z] Downloaded: 0xf79d63c21d7C69f1097114716dDB76844169B363.svg (from CONYs.svg)
50+
[2025-07-18T07:23:24.406Z] Downloaded: 0xac894A14e3D2CE9E89AefD209b0a38c12AdcF624.svg (from MELIs.svg)
51+
[2025-07-18T07:23:24.732Z] Downloaded: 0x9933Bb212C36860EF22915D44b74a8Cf1ffd45BB.svg (from NVDAs.svg)
52+
[2025-07-18T07:23:25.053Z] Downloaded: 0xB35ffDB091e2e4361d907d5AA7dB3C150846a3e1.svg (from METAs.svg)
53+
[2025-07-18T07:23:25.369Z] Downloaded: 0x849F0393632746AC5e8426b53d78266d1d8ac1cd.svg (from CRCLs.svg)
54+
[2025-07-18T07:23:25.695Z] Downloaded: 0x8f7F14481a9c0943836898F825BFb5494b7828Db.svg (from DLOs.svg)
55+
[2025-07-18T07:23:26.021Z] Downloaded: 0x08bc8b0c234390a40Aa305277355fd1A1819f10E.svg (from UPSTs.svg)
56+
[2025-07-18T07:23:26.328Z] Downloaded: 0x7542d8347913fA8eE3090fFf38544CDF694dd5F9.svg (from SPYIs.svg)
57+
[2025-07-18T07:23:26.635Z] Downloaded: 0x3a33A4Fa4443A5fd4aa89349BB3D2bc1D644478b.svg (from AMCs.svg)
58+
[2025-07-18T07:23:26.947Z] Downloaded: 0x12855A68877A95482CEA16a39AaA25009ac6E396.svg (from QQQs.svg)
59+
[2025-07-18T07:23:27.271Z] Downloaded: 0xB7ca08EEF00a58489A670a1E22D4c6D01579db2F.svg (from MSTRs.svg)
60+
[2025-07-18T07:23:27.608Z] Downloaded: 0xe9C99da8395C57Bd08830c547a9c5d57A23C5cB3.svg (from DNAs.svg)
61+
[2025-07-18T07:23:27.929Z] Downloaded: 0x8dcCB687201955299E7bb1da47664313ff6759dd.svg (from DISs.svg)
62+
[2025-07-18T07:23:28.238Z] Downloaded: 0x7195A0Bc1e8A8b29Cd426D545522d38e698120Bf.svg (from AAAUs.svg)
63+
[2025-07-18T07:23:28.560Z] Downloaded: 0xD2A26cF1d3aB11799AFd3E2461eC7ea0D62eEC6C.svg (from ABNBs.svg)
64+
[2025-07-18T07:23:28.887Z] Downloaded: 0x42BECBE61383ce454db886e2A2802eC88ddC6beb.svg (from PLTRs.svg)
65+
[2025-07-18T07:23:29.195Z] Downloaded: 0x4D9CeB1a0baA95b1Ae6198c152F44AB4e919824D.svg (from DTs.svg)
66+
[2025-07-18T07:23:29.498Z] Downloaded: 0x43456286034E248EFC1471687fA7e7fF6aC4Bd5a.svg (from MCDs.svg)
67+
[2025-07-18T07:23:29.817Z] Downloaded: 0xB1fef1bcf006604c382200168932f00812Ac9FF0.svg (from GSs.svg)
68+
[2025-07-18T07:23:30.140Z] Downloaded: 0x6C353a03d1177b5bA0C4Da63dA77341433015F86.svg (from UBERs.svg)
69+
[2025-07-18T07:23:30.462Z] Downloaded: 0x682BedD46D9d308eF35eaa7F92430e8A57c73792.svg (from BLKs.svg)
70+
[2025-07-18T07:23:30.796Z] Downloaded: 0xB064c58a63EBf8D03CD7A063e9e5e1398CdeA138.svg (from BYDs.svg)
71+
[2025-07-18T07:23:31.111Z] Downloaded: 0x56b4930057bcF3Dc9b8f6F17FF64dD54698598e8.svg (from MSFTs.svg)
72+
[2025-07-18T07:23:31.461Z] Downloaded: 0x23a9dfBc5f489311E891118a587C5367cc992a40.svg (from UNGs.svg)
73+
[2025-07-18T07:23:31.776Z] Downloaded: 0x3e5D85dD846B4Ca5A12Eb19eBd21d2798b724c36.svg (from SAIL.svg)
74+
[2025-07-18T07:23:31.777Z] Token list integration completed successfully!

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"generate": "ts-node src/generator.ts",
77
"tokenlist:create": "node src/lib/scripts/create-tokenlist.js",
88
"tokenlist:fetch": "node src/lib/scripts/fetch-tokenlist.js",
9+
"tokenlist:pr": "node src/lib/scripts/create-pr.js",
910
"lint": "eslint . --ext .js,.ts --max-warnings 0",
1011
"lint:fix": "npm run lint -- --fix",
1112
"test": "vitest run",

0 commit comments

Comments
 (0)