diff --git a/react-native-expo/components/ProfileScreen/index.tsx b/react-native-expo/components/ProfileScreen/index.tsx
index 2461dff..6e6ce89 100644
--- a/react-native-expo/components/ProfileScreen/index.tsx
+++ b/react-native-expo/components/ProfileScreen/index.tsx
@@ -1,4 +1,4 @@
-import penumbraAddressFactory from '@/factories/penumbraAddress';
+import addressFactory from '@/factories/address';
import Avatar from '../Avatar';
import { Sx, Text, View } from 'dripsy';
import Button from '../Button';
@@ -9,6 +9,9 @@ import AssetIcon from '../AssetIcon';
import ListItemChevronRightSuffix from '../ListItemChevronRightSuffix';
import { useRouter } from 'expo-router';
import { useAppSelector } from '@/store/hooks';
+import { bech32mAddress } from '@penumbra-zone/bech32m/penumbra';
+
+const mockAddress = bech32mAddress(addressFactory.build());
export default function ProfileScreen() {
const { t } = useLingui();
@@ -22,7 +25,7 @@ export default function ProfileScreen() {
- {penumbraAddressFactory.build().value}
+ {mockAddress}
diff --git a/react-native-expo/components/TransactionList/index.stories.ts b/react-native-expo/components/TransactionList/index.stories.ts
index 61d2ca6..cac7d5d 100644
--- a/react-native-expo/components/TransactionList/index.stories.ts
+++ b/react-native-expo/components/TransactionList/index.stories.ts
@@ -2,7 +2,7 @@ import { Meta, StoryObj } from '@storybook/react';
import TransactionList from '.';
import transactionFactory from '@/factories/transaction';
-import penumbraAddressFactory from '@/factories/penumbraAddress';
+import addressFactory from '@/factories/Address';
const meta: Meta = {
component: TransactionList,
@@ -20,18 +20,18 @@ export const Basic: StoryObj = {
showTitle: true,
transactions: [
transactionFactory.build({
- senderAddress: penumbraAddressFactory.build().value,
+ senderAddress: addressFactory.build().value,
senderUsername: 'henry',
}),
transactionFactory.build({
type: 'send',
- recipientAddress: penumbraAddressFactory.build().value,
+ recipientAddress: addressFactory.build().value,
recipientUsername: 'cate',
via: undefined,
}),
transactionFactory.build({
type: 'send',
- recipientAddress: penumbraAddressFactory.build().value,
+ recipientAddress: addressFactory.build().value,
}),
],
},
diff --git a/react-native-expo/factories/address.ts b/react-native-expo/factories/address.ts
new file mode 100644
index 0000000..8bfce87
--- /dev/null
+++ b/react-native-expo/factories/address.ts
@@ -0,0 +1,13 @@
+import { PlainMessage } from '@bufbuild/protobuf';
+import { Address } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb';
+import * as Factory from 'factory.ts';
+import { generateRandomNumberBetween0And255 } from './helpers';
+
+const addressFactory = Factory.makeFactory>({
+ altBech32m: '',
+ inner: Factory.each(
+ () => new Uint8Array(Array(80).fill(null).map(generateRandomNumberBetween0And255)),
+ ),
+});
+
+export default addressFactory;
diff --git a/react-native-expo/factories/helpers.ts b/react-native-expo/factories/helpers.ts
new file mode 100644
index 0000000..cc72906
--- /dev/null
+++ b/react-native-expo/factories/helpers.ts
@@ -0,0 +1,3 @@
+export function generateRandomNumberBetween0And255() {
+ return Math.round(Math.random() * 255);
+}
diff --git a/react-native-expo/factories/penumbraAddress.ts b/react-native-expo/factories/penumbraAddress.ts
deleted file mode 100644
index 05cd79a..0000000
--- a/react-native-expo/factories/penumbraAddress.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { makeFactory } from 'factory.ts';
-
-const penumbraAddressFactory = makeFactory<{ value: string }>({
- value:
- 'penumbra147mfall0zr6am5r45qkwht7xqqrdsp50czde7empv7yq2nk3z8yyfh9k9520ddgswkmzar22vhz9dwtuem7uxw0qytfpv7lk3q9dp8ccaw2fn5c838rfackazmgf3ahh09cxmz',
-});
-
-export default penumbraAddressFactory;
diff --git a/react-native-expo/store/transactions.ts b/react-native-expo/store/transactions.ts
index 20ec4af..78c4e40 100644
--- a/react-native-expo/store/transactions.ts
+++ b/react-native-expo/store/transactions.ts
@@ -1,7 +1,8 @@
-import penumbraAddressFactory from '@/factories/penumbraAddress';
+import addressFactory from '@/factories/address';
import transactionFactory from '@/factories/transaction';
import Transaction from '@/types/Transaction';
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
+import { bech32mAddress } from '@penumbra-zone/bech32m/penumbra';
export interface TransactionsState {
transactions: Transaction[];
@@ -12,18 +13,18 @@ const initialState: TransactionsState = {
/** @todo: Populate with real data */
transactions: [
transactionFactory.build({
- senderAddress: penumbraAddressFactory.build().value,
+ senderAddress: bech32mAddress(addressFactory.build()),
senderUsername: 'henry',
}),
transactionFactory.build({
type: 'send',
- recipientAddress: penumbraAddressFactory.build().value,
+ recipientAddress: bech32mAddress(addressFactory.build()),
recipientUsername: 'cate',
via: undefined,
}),
transactionFactory.build({
type: 'send',
- recipientAddress: penumbraAddressFactory.build().value,
+ recipientAddress: bech32mAddress(addressFactory.build()),
}),
],
searchText: '',