Trim model_generator.sh to only run build_runner on chains we ship

The hardcoded list iterated every cw_* module Cake ever supported, including
the ones we disabled (solana, tron, zano, decred, zcash). Those modules are
still on disk but aren't in pubspec.yaml, so the build_runner pass for them
is wasted work — minutes per fresh setup.

Trimmed to: cw_{core,evm,monero,bitcoin,nano,bitcoin_cash,wownero,dogecoin}.
cw_mweb is untouched (separate loop, only runs pub get not build_runner).
This commit is contained in:
jwinterm
2026-05-14 17:38:18 -04:00
parent 45ef3be0c6
commit 4fe96feb1b
10 changed files with 129 additions and 1 deletions
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<title>Hash Wallet mark</title>
<desc>The Hash Wallet mark: a white hash glyph centered in a brand-green rounded square.</desc>
<rect width="100" height="100" rx="22" fill="#1a5c38"/>
<text x="50" y="76" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="74" font-weight="700" fill="#ffffff" text-anchor="middle">#</text>
</svg>

After

Width:  |  Height:  |  Size: 487 B

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
<title>Hash Wallet app icon</title>
<desc>Hash Wallet app icon: brand-green rounded square with a centered white hash.</desc>
<rect width="512" height="512" rx="112" fill="#1a5c38"/>
<text x="256" y="390" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="380" font-weight="700" fill="#ffffff" text-anchor="middle">#</text>
</svg>

After

Width:  |  Height:  |  Size: 489 B

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 100" width="360" height="100">
<title>Hash Wallet horizontal lockup</title>
<desc>Hash Wallet logo with green-boxed hash mark on the left and Hash Wallet wordmark to the right.</desc>
<rect x="10" y="18" width="64" height="64" rx="14" fill="#1a5c38"/>
<text x="42" y="68" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="48" font-weight="700" fill="#ffffff" text-anchor="middle">#</text>
<text x="90" y="63" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="32" font-weight="500" fill="#1a1a1a">Hash Wallet</text>
</svg>

After

Width:  |  Height:  |  Size: 682 B

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 80" width="380" height="80">
<title>#ash Wallet — inline lockup</title>
<desc>Hash Wallet inline lockup where a green-boxed hash mark sits before the word "ash Wallet" to spell out "#ash Wallet".</desc>
<rect x="6" y="14" width="52" height="52" rx="11" fill="#1a5c38"/>
<text x="32" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="700" fill="#ffffff" text-anchor="middle">#</text>
<text x="68" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="42" font-weight="500" fill="#1a1a1a">ash Wallet</text>
</svg>

After

Width:  |  Height:  |  Size: 701 B

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 80" width="500" height="80">
<title>H(ash) = Wallet</title>
<desc>Hash Wallet function-joke wordmark with green-boxed hash as the function name.</desc>
<rect x="6" y="14" width="52" height="52" rx="11" fill="#1a5c38"/>
<text x="32" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="700" fill="#ffffff" text-anchor="middle">#</text>
<text x="68" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="400" fill="#888">(</text>
<text x="88" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="500" fill="#1a1a1a">ash</text>
<text x="158" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="400" fill="#888">)</text>
<text x="186" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="400" fill="#888">=</text>
<text x="218" y="55" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="40" font-weight="500" fill="#1a5c38">Wallet</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<title>Hash Wallet splash animation</title>
<desc>Splash screen: green rounded square scales in, then white hash glyph fades up.</desc>
<!-- Green box scales up from center -->
<rect x="20" y="20" width="160" height="160" rx="36" fill="#1a5c38" opacity="0">
<animate attributeName="opacity" from="0" to="1" begin="0s" dur="0.3s" fill="freeze"/>
<animateTransform attributeName="transform" type="translate"
values="100 100; 0 0" keyTimes="0; 1"
begin="0s" dur="0.5s" fill="freeze"
keySplines="0.2 0.8 0.3 1" calcMode="spline"/>
<animateTransform attributeName="transform" type="scale" additive="sum"
values="0; 1.05; 1" keyTimes="0; 0.7; 1"
begin="0s" dur="0.5s" fill="freeze"
keySplines="0.2 0.8 0.3 1; 0.5 0 0.5 1" calcMode="spline"/>
</rect>
<!-- Hash glyph fades and scales in after box settles -->
<text x="100" y="148" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="140" font-weight="700" fill="#ffffff" text-anchor="middle" opacity="0">
#
<animate attributeName="opacity" from="0" to="1" begin="0.45s" dur="0.35s" fill="freeze"/>
</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<title>Hash Wallet loading pulse</title>
<desc>Looping loading animation: green-boxed hash mark pulses opacity, suggesting a hash-computing rhythm.</desc>
<rect x="20" y="20" width="160" height="160" rx="36" fill="#1a5c38">
<animate attributeName="opacity"
values="0.4; 1; 0.4"
keyTimes="0; 0.5; 1"
dur="1.4s" repeatCount="indefinite"/>
</rect>
<text x="100" y="148" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="140" font-weight="700" fill="#ffffff" text-anchor="middle">
#
<animate attributeName="opacity"
values="0.4; 1; 0.4"
keyTimes="0; 0.5; 1"
dur="1.4s" repeatCount="indefinite"/>
</text>
</svg>

After

Width:  |  Height:  |  Size: 798 B

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<title>Hash Wallet transaction confirm</title>
<desc>Transaction confirm animation: empty green-outlined box fills with brand green from bottom up, hash glyph appears at completion. Loops for pending state.</desc>
<defs>
<clipPath id="boxclip">
<rect x="20" y="20" width="160" height="160" rx="36"/>
</clipPath>
</defs>
<!-- Empty outlined box -->
<rect x="20" y="20" width="160" height="160" rx="36" fill="none" stroke="#1a5c38" stroke-width="4"/>
<!-- Green fill rising from bottom, clipped to box shape -->
<g clip-path="url(#boxclip)">
<rect x="20" width="160" fill="#1a5c38">
<animate attributeName="y"
values="180; 20; 20; 180"
keyTimes="0; 0.55; 0.85; 1"
dur="2.4s" repeatCount="indefinite"/>
<animate attributeName="height"
values="0; 160; 160; 0"
keyTimes="0; 0.55; 0.85; 1"
dur="2.4s" repeatCount="indefinite"/>
</rect>
</g>
<!-- Hash glyph appears when full, fades when draining -->
<text x="100" y="148" font-family="ui-monospace, 'JetBrains Mono', 'Courier New', monospace" font-size="140" font-weight="700" fill="#ffffff" text-anchor="middle" opacity="0">
#
<animate attributeName="opacity"
values="0; 0; 1; 1; 0"
keyTimes="0; 0.5; 0.6; 0.8; 0.95"
dur="2.4s" repeatCount="indefinite"/>
</text>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+6 -1
View File
@@ -1,7 +1,12 @@
#!/bin/bash
set -x -e
for cwcoin in cw_{core,evm,monero,bitcoin,nano,bitcoin_cash,solana,tron,wownero,zano,decred,dogecoin,zcash}
# Hash Wallet: trimmed to chains we actually ship. The disabled ones
# (solana, tron, zano, decred, zcash) still have their cw_* directories on
# disk but aren't in pubspec.yaml, so running build_runner on them is just
# wasted minutes. Add a chain back to this list if you re-enable it in
# scripts/{ios,android,linux,macos}/app_config.sh + pubspec_gen.sh.
for cwcoin in cw_{core,evm,monero,bitcoin,nano,bitcoin_cash,wownero,dogecoin}
do
if [[ "x$1" == "xasync" ]];
then
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB