Skip to content

Commit 5d722b7

Browse files
[wip] feat: integrate base chain
status-im/status-go@0f11aed...e4ef61a Signed-off-by: Brian Sztamfater <[email protected]>
1 parent c37498a commit 5d722b7

File tree

14 files changed

+157
-171
lines changed

14 files changed

+157
-171
lines changed

src/status_im/constants.cljs

+11-4
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,8 @@
498498
(def ^:const arbitrum-sepolia-chain-id 421614)
499499
(def ^:const optimism-mainnet-chain-id 10)
500500
(def ^:const optimism-sepolia-chain-id 11155420)
501+
(def ^:const base-mainnet-chain-id 8453)
502+
(def ^:const base-sepolia-chain-id 84532)
501503

502504
(def opensea-url-names
503505
{:ethereum "ethereum"
@@ -507,37 +509,42 @@
507509
(def ^:const sepolia "sepolia")
508510

509511
(def ^:const mainnet-chain-ids
510-
#{ethereum-mainnet-chain-id arbitrum-mainnet-chain-id optimism-mainnet-chain-id})
512+
#{ethereum-mainnet-chain-id arbitrum-mainnet-chain-id optimism-mainnet-chain-id base-mainnet-chain-id})
511513

512514
(def ^:const sepolia-chain-ids
513-
#{ethereum-sepolia-chain-id arbitrum-sepolia-chain-id optimism-sepolia-chain-id})
515+
#{ethereum-sepolia-chain-id arbitrum-sepolia-chain-id optimism-sepolia-chain-id base-sepolia-chain-id})
514516

515517
(def ^:const mainnet-short-name "eth")
516518
(def ^:const ethereum-short-name "eth")
517519
(def ^:const optimism-short-name "oeth")
518520
(def ^:const arbitrum-short-name "arb1")
521+
(def ^:const base-short-name "base")
519522

520-
(def ^:const default-multichain-address-prefix "eth:oeth:arb1:")
523+
(def ^:const default-multichain-address-prefix "eth:oeth:arb1:base")
521524

522525
(def ^:const mainnet-abbreviated-name "Eth.")
523526
(def ^:const optimism-abbreviated-name "Oeth.")
524527
(def ^:const arbitrum-abbreviated-name "Arb1.")
528+
(def ^:const base-abbreviated-name "Base")
525529

526530
(def ^:const mainnet-full-name "Mainnet")
527531
(def ^:const optimism-full-name "Optimism")
528532
(def ^:const arbitrum-full-name "Arbitrum")
533+
(def ^:const base-full-name "Base")
529534

530535
(def ^:const sepolia-full-name "Sepolia")
531536

532537
(def ^:const mainnet-network-name :mainnet)
533538
(def ^:const ethereum-network-name :ethereum)
534539
(def ^:const optimism-network-name :optimism)
535540
(def ^:const arbitrum-network-name :arbitrum)
541+
(def ^:const base-network-name :base)
536542

537543
(def ^:const layer-1-network 1)
538544
(def ^:const layer-2-network 2)
539545

540-
(def ^:const default-network-names [mainnet-network-name optimism-network-name arbitrum-network-name])
546+
(def ^:const default-network-names
547+
[mainnet-network-name optimism-network-name arbitrum-network-name base-network-name])
541548

542549
(def ^:const default-network-count (count default-network-names))
543550

src/status_im/contexts/settings/wallet/saved_addresses/events_test.cljs

+80-89
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,28 @@
2828
:removed false})
2929

3030
(def saved-address-1
31-
{:test? true
32-
:address "0x1"
33-
:mixedcase-address "0x1"
34-
:chain-short-names "eth:oeth:"
35-
:network-preferences-names `(:mainnet :optimism)
36-
:name "Bob"
37-
:created-at 1716826714
38-
:ens ""
39-
:ens? false
40-
:customization-color :blue
41-
:removed? false})
31+
{:test? true
32+
:address "0x1"
33+
:mixedcase-address "0x1"
34+
:chain-short-names "eth:oeth:"
35+
:name "Bob"
36+
:created-at 1716826714
37+
:ens ""
38+
:ens? false
39+
:customization-color :blue
40+
:removed? false})
4241

4342
(def saved-address-2
44-
{:test? false
45-
:address "0x2"
46-
:mixedcase-address "0x2"
47-
:chain-short-names "eth:arb1:oeth:"
48-
:network-preferences-names `(:mainnet :arbitrum :optimism)
49-
:name "Alicia Keys"
50-
:created-at 1716826806
51-
:ens "alicia.eth"
52-
:ens? true
53-
:customization-color :purple
54-
:removed? false})
43+
{:test? false
44+
:address "0x2"
45+
:mixedcase-address "0x2"
46+
:chain-short-names "eth:arb1:oeth:"
47+
:name "Alicia Keys"
48+
:created-at 1716826806
49+
:ens "alicia.eth"
50+
:ens? true
51+
:customization-color :purple
52+
:removed? false})
5553

5654
(deftest get-saved-addresses-success-test
5755
(let [cofx {:db {}}
@@ -76,17 +74,16 @@
7674
effects (events/reconcile-saved-addresses cofx [[saved-address-1]])
7775
result-db (:db effects)
7876
expected-db {:wallet {:saved-addresses
79-
{:test {"0x1" {:test? true
80-
:address "0x1"
81-
:mixedcase-address "0x1"
82-
:chain-short-names "eth:oeth:"
83-
:ens? false
84-
:network-preferences-names `(:mainnet :optimism)
85-
:name "Bob"
86-
:created-at 1716826714
87-
:ens ""
88-
:customization-color :blue
89-
:removed? false}}
77+
{:test {"0x1" {:test? true
78+
:address "0x1"
79+
:mixedcase-address "0x1"
80+
:chain-short-names "eth:oeth:"
81+
:ens? false
82+
:name "Bob"
83+
:created-at 1716826714
84+
:ens ""
85+
:customization-color :blue
86+
:removed? false}}
9087
:prod {}}}}]
9188
(is (match? expected-db result-db))))
9289

@@ -95,72 +92,66 @@
9592
effects (events/reconcile-saved-addresses cofx [[saved-address-1 saved-address-2]])
9693
result-db (:db effects)
9794
expected-db {:wallet {:saved-addresses
98-
{:test {"0x1" {:test? true
99-
:address "0x1"
100-
:mixedcase-address "0x1"
101-
:chain-short-names "eth:oeth:"
102-
:ens? false
103-
:network-preferences-names `(:mainnet :optimism)
104-
:name "Bob"
105-
:created-at 1716826714
106-
:ens ""
107-
:customization-color :blue
108-
:removed? false}}
109-
:prod {"0x2" {:test? false
110-
:address "0x2"
111-
:mixedcase-address "0x2"
112-
:chain-short-names "eth:arb1:oeth:"
113-
:network-preferences-names `(:mainnet :arbitrum :optimism)
114-
:ens? true
115-
:name "Alicia Keys"
116-
:created-at 1716826806
117-
:ens "alicia.eth"
118-
:customization-color :purple
119-
:removed? false}}}}}]
95+
{:test {"0x1" {:test? true
96+
:address "0x1"
97+
:mixedcase-address "0x1"
98+
:chain-short-names "eth:oeth:"
99+
:ens? false
100+
:name "Bob"
101+
:created-at 1716826714
102+
:ens ""
103+
:customization-color :blue
104+
:removed? false}}
105+
:prod {"0x2" {:test? false
106+
:address "0x2"
107+
:mixedcase-address "0x2"
108+
:chain-short-names "eth:arb1:oeth:"
109+
:ens? true
110+
:name "Alicia Keys"
111+
:created-at 1716826806
112+
:ens "alicia.eth"
113+
:customization-color :purple
114+
:removed? false}}}}}]
120115
(is (match? expected-db result-db))))
121116

122117
(testing "remove a test saved addresses"
123118
(let [cofx {:db {:wallet {:saved-addresses
124-
{:test {"0x1" {:test? true
125-
:address "0x1"
126-
:mixedcase-address "0x1"
127-
:chain-short-names "eth:oeth:"
128-
:ens? false
129-
:network-preferences-names `(:mainnet :optimism)
130-
:name "Bob"
131-
:created-at 1716826714
132-
:ens ""
133-
:customization-color :blue
134-
:removed? false}}
135-
:prod {"0x2" {:test? false
136-
:address "0x2"
137-
:mixedcase-address "0x2"
138-
:chain-short-names "eth:arb1:oeth:"
139-
:network-preferences-names `(:mainnet :arbitrum
140-
:optimism)
141-
:ens? true
142-
:name "Alicia Keys"
143-
:created-at 1716826806
144-
:ens "alicia.eth"
145-
:customization-color :purple
146-
:removed? false}}}}}}
119+
{:test {"0x1" {:test? true
120+
:address "0x1"
121+
:mixedcase-address "0x1"
122+
:chain-short-names "eth:oeth:"
123+
:ens? false
124+
:name "Bob"
125+
:created-at 1716826714
126+
:ens ""
127+
:customization-color :blue
128+
:removed? false}}
129+
:prod {"0x2" {:test? false
130+
:address "0x2"
131+
:mixedcase-address "0x2"
132+
:chain-short-names "eth:arb1:oeth:"
133+
:ens? true
134+
:name "Alicia Keys"
135+
:created-at 1716826806
136+
:ens "alicia.eth"
137+
:customization-color :purple
138+
:removed? false}}}}}}
147139
effects (events/reconcile-saved-addresses cofx
148140
[[(assoc saved-address-1 :removed? true)
149141
saved-address-2]])
150142
result-db (:db effects)
151143
expected-db {:wallet {:saved-addresses
152144
{:test {}
153-
:prod {"0x2" {:test? false
154-
:address "0x2"
155-
:mixedcase-address "0x2"
156-
:chain-short-names "eth:arb1:oeth:"
157-
:network-preferences-names `(:mainnet :arbitrum :optimism)
158-
:ens? true
159-
:name "Alicia Keys"
160-
:created-at 1716826806
161-
:ens "alicia.eth"
162-
:customization-color :purple
163-
:removed? false}}}}}]
145+
:prod {"0x2" {:test? false
146+
:address "0x2"
147+
:mixedcase-address "0x2"
148+
:chain-short-names "eth:arb1:oeth:"
149+
:ens? true
150+
:name "Alicia Keys"
151+
:created-at 1716826806
152+
:ens "alicia.eth"
153+
:customization-color :purple
154+
:removed? false}}}}}]
164155
(is (match? expected-db result-db)))))
165156

166157
(deftest save-address-test

src/status_im/contexts/settings/wallet/saved_addresses/save_address/view.cljs

+2-3
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,14 @@
3636
(defn view
3737
[]
3838
(let [{:keys [edit?]} (rf/sub [:get-screen-params])
39-
{:keys [address name customization-color ens ens? network-preferences-names]}
39+
{:keys [address name customization-color ens ens?]}
4040
(rf/sub [:wallet/saved-address])
4141
[network-prefixes address-without-prefix] (utils/split-prefix-and-address address)
4242
[address-label set-address-label] (rn/use-state (or name ""))
4343
[address-color set-address-color] (rn/use-state (or customization-color
4444
(rand-nth colors/account-colors)))
4545
[selected-networks set-selected-networks]
46-
(rn/use-state (or network-preferences-names
47-
(network-utils/network-preference-prefix->network-names network-prefixes)))
46+
(rn/use-state (network-utils/network-preference-prefix->network-names network-prefixes))
4847
chain-short-names (rn/use-memo
4948
#(network-utils/network-names->network-preference-prefix
5049
selected-networks)

0 commit comments

Comments
 (0)