Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
ce077b3
Initial migration to wuchale (packages, vite, etc)
aaroncox Oct 20, 2025
60cf066
Moving decorated type out of svelte file
aaroncox Oct 20, 2025
e58c71f
Converted JSON to PO files
aaroncox Oct 20, 2025
6f614ca
Removed paraglide from send page
aaroncox Oct 20, 2025
7f70214
Migration (WIP)
aaroncox Oct 21, 2025
734a1c7
Migration (WIP)
aaroncox Oct 21, 2025
2c7e6e4
Removed paraglide
aaroncox Oct 21, 2025
ba6dd22
Reset PO files
aaroncox Oct 21, 2025
ad1b4fc
Migrated components away from Paraglide
aaroncox Oct 21, 2025
cd94ac0
Account and Homepage
aaroncox Oct 21, 2025
81e61c8
Explorer pages
aaroncox Oct 21, 2025
f26afda
Linting
aaroncox Oct 21, 2025
dbe5024
Create/swap pages
aaroncox Oct 21, 2025
4966a34
Linting
aaroncox Oct 21, 2025
1abaa0e
Remaining paraglide messages converted
aaroncox Oct 21, 2025
683270f
Removed custom `goto` that was using paraglide
aaroncox Oct 21, 2025
ee2e300
The `percentString` helper now requires a locale to be passed
aaroncox Oct 21, 2025
6a7d22e
Removed paraglide `languageTag` helper
aaroncox Oct 21, 2025
652f40b
Switched language selector to wuchale
aaroncox Oct 21, 2025
27ba9e5
Removed Paraglide from packages/build
aaroncox Oct 21, 2025
6d0829e
Corrected hook
aaroncox Oct 21, 2025
f08f56e
Updated PO files
aaroncox Oct 21, 2025
01c425b
First test migration
aaroncox Oct 21, 2025
d221115
20 more strings
aaroncox Oct 21, 2025
79aeb53
Migrated remaining Korean strings
aaroncox Oct 21, 2025
988eb50
Chinese localization migration
aaroncox Oct 21, 2025
35daec6
Removed debugging info
aaroncox Oct 21, 2025
8bfbca3
Modified SelectOption to allow for wuchale localization
aaroncox Oct 21, 2025
e8d0e74
Use locale in URL params, then cookie.
aaroncox Oct 21, 2025
16da4c3
Replace state on language change
aaroncox Oct 21, 2025
37997b8
Moved loading locales out to layout.svelte
aaroncox Oct 21, 2025
70ae676
Deriving from local states
aaroncox Oct 21, 2025
ce94881
Updating placeholders
aaroncox Oct 21, 2025
b47f9aa
Moved translation module to be optional instead of comment
aaroncox Oct 22, 2025
cf07a65
Reconfiguring wuchale
aaroncox Oct 22, 2025
78c30df
Getting checks to pass
aaroncox Oct 22, 2025
1b22586
eslint update
aaroncox Oct 22, 2025
a00b152
Updated wuchale to fix snippet issue
aaroncox Oct 23, 2025
f1d2aa8
Simplify wuchale integration
aaroncox Oct 24, 2025
55de0b7
Updating plugin + syntax
aaroncox Oct 24, 2025
d61f517
Reworked localization helpers and canonical/alternative headers
aaroncox Oct 25, 2025
3d90df3
Reworked all links to use new URL/Path helpers
aaroncox Oct 25, 2025
374570f
Fixing syntax around melt-ui
aaroncox Oct 25, 2025
5cf830a
urlPath treatment on API paths
aaroncox Oct 25, 2025
fddd65d
Moving layout metadata into page
aaroncox Oct 25, 2025
27d93ac
Adding missing strings
aaroncox Oct 25, 2025
be6b62a
Linting
aaroncox Oct 25, 2025
20c3176
Only use cookie local if cookie set
aaroncox Oct 26, 2025
39cbbb5
Fix account switcher url
deansallinen Oct 27, 2025
1156411
Fix pageheader back url
deansallinen Oct 27, 2025
c9191e6
Fix pillgroup active item
deansallinen Oct 27, 2025
b127037
Fix search result clear button behaviour
deansallinen Oct 27, 2025
575a2b5
Fix for no theme on error page
deansallinen Oct 28, 2025
92fe760
Fix for contract action links
deansallinen Oct 28, 2025
514187c
Fix search result urls
deansallinen Oct 28, 2025
99af841
Fix shareable action links
deansallinen Oct 28, 2025
3a076ba
Fix permissions page for web auth key format
deansallinen Oct 28, 2025
80fdb3d
Fix token logo overflow
deansallinen Oct 28, 2025
ed42718
Add wallet-plugin-gatewallet
deansallinen Nov 6, 2025
e3aac9e
Load locale in every layout.ts load function
deansallinen Nov 14, 2025
858f512
Disable newaccount summary element
aaroncox Nov 15, 2025
1c7cd17
Merge pull request #542 from greymass/wuchale-fixes-dean
aaroncox Nov 15, 2025
9358fdb
Merge pull request #545 from greymass/wallet-plugin-gatewallet
aaroncox Nov 15, 2025
443b8a6
Merge pull request #539 from greymass/wuchale
aaroncox Nov 15, 2025
cf30a43
Split apart the msig page into sections
aaroncox Nov 15, 2025
f983576
Linting
aaroncox Nov 15, 2025
272d1f2
Always show variant selector on msig page
aaroncox Nov 15, 2025
e2521ed
Fixing optional fields
aaroncox Jan 19, 2026
e0ef482
Sentiment (#546)
aaroncox Jan 19, 2026
b511208
Fixing permission edit links
aaroncox Jan 30, 2026
6b78179
Formatting
aaroncox Jan 30, 2026
e1af68b
Robo v2 + name bids (#558)
aaroncox Mar 26, 2026
a9defa0
Resource Provider plugin update
aaroncox Mar 26, 2026
976a9a6
Localization cleanup
aaroncox Mar 26, 2026
3bf6397
Support for additional transaction summary types
aaroncox Mar 31, 2026
b0780a7
Fixed max height
aaroncox Mar 31, 2026
72f35f9
Fixed issues with top 30 response and reduced caches
aaroncox Apr 1, 2026
40376c5
Use Robo2 when available for transaction loading
aaroncox Apr 4, 2026
2d5493e
Wrap fix for mobile
aaroncox Apr 7, 2026
18b6f17
Removed Advanced Mode
aaroncox May 1, 2026
22a5824
Fixed permission editing with linked actions
aaroncox Jun 29, 2026
b44ebbb
Fixed empty interface lint error in wrap exec summary
aaroncox Jul 10, 2026
9184d37
Fixing CDN conflict between locale cookie, url and localstorage
aaroncox Jul 16, 2026
8d5d935
Swap wuchale translation engine
aaroncox Jul 16, 2026
a4f833e
Synced locale files
aaroncox Jul 16, 2026
d777231
Shell + Navigation rework, as well as account creation (#563)
aaroncox Aug 1, 2026
a8f2908
Allow both variants of gift_ram
aaroncox Aug 1, 2026
985e204
Update +page.svelte
aaroncox Aug 1, 2026
9a33633
Updating anchor plugin
aaroncox Aug 1, 2026
319ab93
Distinguishing gift RAM from normal RAM
aaroncox Aug 1, 2026
35c01d3
Localization
aaroncox Aug 1, 2026
c6978e8
Proposals and MSIGs (#564)
aaroncox Aug 19, 2026
e306fdd
Add discussion feature flag and msg contract bindings
aaroncox Aug 27, 2026
7f9f9cf
Proxy msgindex message and tag summary queries
aaroncox Aug 27, 2026
93a64a3
Add governance thread model and content rules
aaroncox Aug 27, 2026
c60d942
Pack forum post content for governance comments
aaroncox Aug 27, 2026
a108eae
Add msgindex client and comment reconciliation
aaroncox Aug 27, 2026
5431238
Read the governance channel gate and blocklist
aaroncox Aug 27, 2026
051e52f
Add governance discussion threads
aaroncox Aug 27, 2026
4d776ca
Rework governance discussion copy and accessibility
aaroncox Sep 1, 2026
49021a3
Rework the proposal page layout and heading scale
aaroncox Sep 1, 2026
4cf1c55
Rebuild the discussion thread around target navigation
aaroncox Sep 1, 2026
0a5b51f
Sync locale files
aaroncox Sep 1, 2026
fb7d39e
Add per-step sentiment to proposal multisigs
aaroncox Sep 1, 2026
0d8f70d
Name the measure behind the sentiment figure
aaroncox Sep 1, 2026
9707571
Remove the low-vote trend caveat from step results
aaroncox Sep 1, 2026
292a265
Make the approval threshold and meters perceivable
aaroncox Sep 1, 2026
9e3dce5
Reserve step approval space and link the multisig slug
aaroncox Sep 1, 2026
e786561
Drop the holders row from steps that can no longer be voted on
aaroncox Sep 1, 2026
672ac30
Tighten crawl handling for explorer pages and redirects
aaroncox Sep 1, 2026
7ac79de
Build the sitemap from the request origin
aaroncox Sep 1, 2026
fa09de2
Add structured data and explainer copy to hub pages
aaroncox Sep 1, 2026
cb24ce0
Add multi-document proposal support to the vp library
aaroncox Sep 1, 2026
432d34f
Render proposal document sets on their own sub-routes
aaroncox Sep 1, 2026
7679c9b
Report missing accounts as 404 in the production build
aaroncox Sep 1, 2026
a12ece8
Sync locale files
aaroncox Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ docker-compose*
.svelte-kit
.wrangler
README.md
src/lib/paraglide
LICENSE
.vscode
helm-charts
Expand Down
13 changes: 10 additions & 3 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ PUBLIC_ENVIRONMENT=development
PUBLIC_CANONICAL_ORIGIN=http://localhost:5173

# The domain used for analytics
PUBLIC_ANALYTICS_DOMAIN=

# An optional private key that can be specified for testing specific accounts
PUBLIC_LOCAL_SIGNER=
Expand Down Expand Up @@ -60,6 +59,8 @@ PUBLIC_STORYBLOK_REGION=
PUBLIC_STORYBLOK_CONTENT_TYPE=
PUBLIC_STORYBLOK_SOURCE=

PUBLIC_BIDNAME_MAX_TRACKED=20
PUBLIC_FEATURE_BIDNAME=
PUBLIC_FEATURE_CMC_APIKEY=
PUBLIC_FEATURE_CMC_PAIRS=
PUBLIC_FEATURE_COINBASE_ASSETS=
Expand All @@ -70,16 +71,18 @@ PUBLIC_FEATURE_EOSNTIME=false
PUBLIC_FEATURE_GIFTEDRAM=false
PUBLIC_FEATURE_HYPERION=false
PUBLIC_FEATURE_LIGHTAPI=false
PUBLIC_FEATURE_METAMASK_PRODUCT_NAME="EOS Wallet"
PUBLIC_FEATURE_METAMASK_SERVICE_URL="https://dev.account-creation-portal.pages.dev/buy"
PUBLIC_FEATURE_METAMASK_SNAP_ORIGIN="npm:@greymass/eos-wallet"
PUBLIC_FEATURE_METAMASK_SNAP_ORIGIN="npm:vaulta-wallet"
PUBLIC_FEATURE_METAMASK=true
PUBLIC_FEATURE_MSIGAPI=false
PUBLIC_FEATURE_POWERUP=true
PUBLIC_FEATURE_PROPOSALS=true
PUBLIC_FEATURE_RAMMARKET=true
PUBLIC_FEATURE_RAMTRANSFER=true
PUBLIC_FEATURE_RENTREX=true
PUBLIC_FEATURE_REX=true
PUBLIC_FEATURE_ROBO=true
PUBLIC_FEATURE_ROBO2=false
PUBLIC_FEATURE_STAKERESOURCE=true
PUBLIC_FEATURE_STAKING=true
PUBLIC_FEATURE_TIMESERIES=false
Expand All @@ -96,12 +99,16 @@ PUBLIC_WALLET_SCATTER=false
PUBLIC_WALLET_TOKENPOCKET=false
PUBLIC_WALLET_WEB_AUTHENTICATOR=false
PUBLIC_WALLET_WOMBAT=false
PUBLIC_WALLET_GATEWALLET=false
PUBLIC_RESOURCE_PROVIDER_URL=

BACKEND_API_CHAIN="https://jungle4.greymass.com"
BACKEND_API_HISTORY="https://jungle4.greymass.com"
BACKEND_API_HYPERION=
BACKEND_API_LIGHTAPI=
BACKEND_API_METRICS=
BACKEND_API_MSIGS=
BACKEND_API_ROBO2=

COINBASE_API_KEY_NAME=
COINBASE_API_KEY_SECRET=
3 changes: 1 addition & 2 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
chain: ['jungle4', 'kylin', 'vaulta', 'telos', 'telostestnet', 'wax', 'waxtestnet']
chain: ['jungle4', 'vaulta', 'telos', 'telostestnet', 'wax', 'waxtestnet']
runs-on: ubuntu-latest
name: Check against ${{ matrix.chain }}
steps:
Expand All @@ -18,6 +18,5 @@ jobs:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
- run: bun install
- run: bun run build-paraglide
- run: make config/${{ matrix.chain }}
- run: make check
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,7 @@ Thumbs.db
# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.wrangler
.wrangler

# Editor
.vscode/
7 changes: 5 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
package-lock.json
pnpm-lock.yaml
yarn.lock
src/lib/paraglide
src/lib/wharf/contracts
src/lib/wharf/contracts
.opencode
src/locales/*
src/lib/vp/fixtures
.superpowers/sdd
76 changes: 62 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ BIN := ./node_modules/.bin

ENVS=./scripts/env
CONTRACTS=./src/lib/wharf/contracts
CODEX_MODEL ?= gpt-5.6-luna
CODEX_REASONING ?= low

.PHONY: dev
dev: node_modules codegen
Expand Down Expand Up @@ -35,6 +37,21 @@ install: node_modules
node_modules:
bun install --frozen-lockfile

.PHONY: translate
translate: node_modules
@command -v codex >/dev/null 2>&1 || { \
echo "Codex CLI is required. Install it, then run 'codex login'."; \
exit 1; \
}
@codex login status >/dev/null 2>&1 || { \
echo "Codex CLI is not authenticated. Run 'codex login' and try again."; \
exit 1; \
}
WUCHALE_AI=codex \
WUCHALE_CODEX_MODEL="$(CODEX_MODEL)" \
WUCHALE_CODEX_REASONING="$(CODEX_REASONING)" \
bunx wuchale

.PHONY: build
build: node_modules codegen
bun run build
Expand Down Expand Up @@ -108,7 +125,37 @@ else
cp ./configs/contracts/eosio.rex.ts $(CONTRACTS)/eosio.rex.ts
endif

codegen: $(CONTRACTS)/system.ts $(CONTRACTS)/token.ts $(CONTRACTS)/msig.ts $(CONTRACTS)/eosio.wram.ts $(CONTRACTS)/eosio.reserv.ts $(CONTRACTS)/eosio.rex.ts $(CONTRACTS)/delphihelper.ts $(CONTRACTS)/delphioracle.ts $(CONTRACTS)/unicove.api.ts $(CONTRACTS)/eosntime.ts $(CONTRACTS)/core.vaulta.ts
$(CONTRACTS)/sentiment.ts:
ifeq ($(PUBLIC_FEATURE_SENTIMENT),true)
$(BIN)/wharfkit generate -u $(PUBLIC_API_CHAIN) -f $(CONTRACTS)/sentiment.ts $(PUBLIC_FEATURE_SENTIMENT_CONTRACT)
else
cp ./configs/contracts/sentiment.ts $(CONTRACTS)/sentiment.ts
endif

$(CONTRACTS)/create.gm.ts:
ifneq ($(PUBLIC_FEATURE_CREATE_CONTRACT),)
$(BIN)/wharfkit generate -u $(PUBLIC_API_CHAIN) -f $(CONTRACTS)/create.gm.ts $(PUBLIC_FEATURE_CREATE_CONTRACT)
else
cp ./configs/contracts/create.gm.ts $(CONTRACTS)/create.gm.ts
endif

FORUM_CONTRACT = forum.$(lastword $(subst ., ,$(PUBLIC_FEATURE_DISCUSSION_CONTRACT)))

$(CONTRACTS)/msg.ts:
ifeq ($(PUBLIC_FEATURE_DISCUSSION),true)
$(BIN)/wharfkit generate -u $(PUBLIC_API_CHAIN) -f $(CONTRACTS)/msg.ts $(PUBLIC_FEATURE_DISCUSSION_CONTRACT)
else
cp ./configs/contracts/msg.ts $(CONTRACTS)/msg.ts
endif

$(CONTRACTS)/forum.ts:
ifeq ($(PUBLIC_FEATURE_DISCUSSION),true)
$(BIN)/wharfkit generate -u $(PUBLIC_API_CHAIN) -f $(CONTRACTS)/forum.ts $(FORUM_CONTRACT)
else
cp ./configs/contracts/forum.ts $(CONTRACTS)/forum.ts
endif

codegen: $(CONTRACTS)/system.ts $(CONTRACTS)/token.ts $(CONTRACTS)/msig.ts $(CONTRACTS)/eosio.wram.ts $(CONTRACTS)/eosio.reserv.ts $(CONTRACTS)/eosio.rex.ts $(CONTRACTS)/delphihelper.ts $(CONTRACTS)/delphioracle.ts $(CONTRACTS)/unicove.api.ts $(CONTRACTS)/eosntime.ts $(CONTRACTS)/core.vaulta.ts $(CONTRACTS)/sentiment.ts $(CONTRACTS)/create.gm.ts $(CONTRACTS)/msg.ts $(CONTRACTS)/forum.ts
mkdir -p $(CONTRACTS)

.PHONY: codegen/base
Expand All @@ -120,6 +167,10 @@ codegen/base:
$(BIN)/wharfkit generate -u $(PUBLIC_API_CHAIN) -f ./configs/contracts/unicove.api.ts $(PUBLIC_FEATURE_UNICOVE_CONTRACT_API)
$(BIN)/wharfkit generate -u https://eos.greymass.com -f ./configs/contracts/eosio.rex.ts eosio.rex
$(BIN)/wharfkit generate -u https://eos.greymass.com -f ./configs/contracts/eosio.wram.ts eosio.wram
$(BIN)/wharfkit generate -u https://jungle4.greymass.com -f ./configs/contracts/sentiment.ts sentiment.gm
$(BIN)/wharfkit generate -u https://jungle4.greymass.com -f ./configs/contracts/create.gm.ts create.gm
$(BIN)/wharfkit generate -u https://vaulta.greymass.com -f ./configs/contracts/msg.ts msg
$(BIN)/wharfkit generate -u https://vaulta.greymass.com -f ./configs/contracts/forum.ts forum.msg
make format

.PHONY: clean
Expand All @@ -137,26 +188,23 @@ clean/sveltekit:
codegen/clean:
rm -rf $(CONTRACTS)/*.ts

config/eos: codegen/clean
cp ./configs/.env.eos .env.local

config/jungle4: codegen/clean
cp ./configs/.env.jungle4 .env.local
$(ENVS)/merge-env.sh ./configs/.env.jungle4 .env.local

config/kylin: codegen/clean
cp ./configs/.env.kylin .env.local
$(ENVS)/merge-env.sh ./configs/.env.kylin .env.local

config/telos: codegen/clean
cp ./configs/.env.telos .env.local
$(ENVS)/merge-env.sh ./configs/.env.telos .env.local

config/telostestnet: codegen/clean
cp ./configs/.env.telostestnet .env.local
$(ENVS)/merge-env.sh ./configs/.env.telostestnet .env.local

config/vaulta: codegen/clean
cp ./configs/.env.vaulta .env.local
$(ENVS)/merge-env.sh ./configs/.env.vaulta .env.local

config/wax: codegen/clean
$(ENVS)/merge-env.sh ./configs/.env.wax .env.local

config/wax: codegen/clean
cp ./configs/.env.wax .env.local

config/waxtestnet: codegen/clean
cp ./configs/.env.waxtestnet .env.local
config/waxtestnet: codegen/clean
$(ENVS)/merge-env.sh ./configs/.env.waxtestnet .env.local
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ The `make check` command will run through Svelte checks, eslint, and prettier. A

The `.env` file contains the default configuration for Unicove running the Jungle 4 testnet. This file shouldn't be modified for local changes, and instead a `.env.development` file should be created to selectively override the defaults in the `.env`.

A number of complete chain configurations are available in the `./configs` directory. These configs can be loaded in using one of the Makefile config commands (e.g. `make config/eos`). This will copy the configuration for a specific chain and paste it into `.env.local` to override the defaults in the `.env` file.
A number of complete chain configurations are available in the `./configs` directory. These configs can be loaded in using one of the Makefile config commands (e.g. `make config/vaulta`). This will copy the configuration for a specific chain and paste it into `.env.local` to override the defaults in the `.env` file.

Available configuration commands:

```
make config/eos
make config/jungle4
make config/kylin
make config/telos
make config/telostestnet
make config/vaulta
make config/wax
make config/waxtestnet
```
Expand Down
Loading
Loading