Skip to content

Commit

Permalink
feat: config variables (#1299)
Browse files Browse the repository at this point in the history
  • Loading branch information
vivalaakam authored Sep 14, 2023
1 parent d63c487 commit 3d0edf6
Show file tree
Hide file tree
Showing 29 changed files with 145 additions and 86 deletions.
4 changes: 0 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ WEB3AUTH_DISCORD_CLIENT_ID=

HCAPTCHA_SITE_KEY=

PATTERNS_SOURCE=https://raw.githubusercontent.com/haqq-network/haqq-wallet-patterns/main/
IS_DEVELOPMENT=1

GOOGLE_SIGNIN_WEB_CLIENT_ID=

METADATA_URL=http://localhost:8068
GENERATE_SHARES_URL=http://localhost:8069
8 changes: 0 additions & 8 deletions .github/workflows/distribute-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,25 +69,17 @@ jobs:
echo "PROVIDER_CHAIN_ID=${{secrets.PROVIDER_CHAIN_ID}}" >> .env
echo "SENTRY_DSN=${{secrets.SENTRY_DSN}}" >> .env
echo "NETWORK_EXPLORER=${{secrets.NETWORK_EXPLORER}}" >> .env
echo "PATTERNS_SOURCE=${{secrets.PATTERNS_SOURCE}}" >> .env
echo "ENVIRONMENT=distribution" >> .env
echo "IS_DEVELOPMENT=${{github.event.inputs.IS_DEVELOPMENT}}" >> .env
echo "WALLET_CONNECT_PROJECT_ID=${{secrets.WALLET_CONNECT_PROJECT_ID}}" >> .env
echo "WALLET_CONNECT_RELAY_URL=${{secrets.WALLET_CONNECT_RELAY_URL}}" >> .env
echo "WEB3AUTH_CLIENT_ID=${{secrets.WEB3AUTH_CLIENT_ID}}" >> .env
echo "HCAPTCHA_SITE_KEY=${{secrets.HCAPTCHA_SITE_KEY}}" >> .env
echo "GOOGLE_SIGNIN_WEB_CLIENT_ID=${{secrets.GOOGLE_SIGNIN_WEB_CLIENT_ID}}" >> .env
echo "METADATA_URL=${{secrets.METADATA_URL}}" >> .env
echo "GENERATE_SHARES_URL=${{secrets.GENERATE_SHARES_URL}}" >> .env
echo "PUSH_NOTIFICATIONS_URL=${{secrets.PUSH_NOTIFICATIONS_URL}}" >> .env
echo "AIRDROP_TESTEDGE2_URL=${{secrets.AIRDROP_TESTEDGE2_URL}}" >> .env
echo "AIRDROP_MAINNET_URL=${{secrets.AIRDROP_MAINNET_URL}}" >> .env
echo "HAQQ_BACKEND=${{secrets.HAQQ_BACKEND}}" >> .env
echo "HAQQ_BACKEND_DEV=${{secrets.HAQQ_BACKEND_DEV}}" >> .env
echo "ADJUST_TOKEN=${{secrets.ADJUST_TOKEN}}" >> .env
echo "ADJUST_ENVIRONMENT=${{secrets.ADJUST_ENVIRONMENT}}" >> .env
echo "AIRDROP_GASDROP_SECRET=${{secrets.AIRDROP_GASDROP_SECRET}}" >> .env
echo "AIRDROP_GASDROP_CAMPAIGN_ID=${{secrets.AIRDROP_GASDROP_CAMPAIGN_ID}}" >> .env
echo "IS_SSS_ENABLED=${{github.event.inputs.IS_SSS_ENABLED}}" >> .env
echo "IS_STAKED_VESTED_ENABLED=${{github.event.inputs.IS_STAKED_VESTED_ENABLED}}" >> .env
echo "GOOGLE_PLAY_PACKAGE=${{secrets.GOOGLE_PLAY_PACKAGE}}" >> .env
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/distribute-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,25 +85,17 @@ jobs:
echo "PROVIDER_CHAIN_ID=${{secrets.PROVIDER_CHAIN_ID}}" >> .env
echo "SENTRY_DSN=${{secrets.SENTRY_DSN}}" >> .env
echo "NETWORK_EXPLORER=${{secrets.NETWORK_EXPLORER}}" >> .env
echo "PATTERNS_SOURCE=${{secrets.PATTERNS_SOURCE}}" >> .env
echo "ENVIRONMENT=distribution" >> .env
echo "IS_DEVELOPMENT=${{github.event.inputs.IS_DEVELOPMENT}}" >> .env
echo "WALLET_CONNECT_PROJECT_ID=${{secrets.WALLET_CONNECT_PROJECT_ID}}" >> .env
echo "WALLET_CONNECT_RELAY_URL=${{secrets.WALLET_CONNECT_RELAY_URL}}" >> .env
echo "WEB3AUTH_CLIENT_ID=${{secrets.WEB3AUTH_CLIENT_ID}}" >> .env
echo "HCAPTCHA_SITE_KEY=${{secrets.HCAPTCHA_SITE_KEY}}" >> .env
echo "GOOGLE_SIGNIN_WEB_CLIENT_ID=${{secrets.GOOGLE_SIGNIN_WEB_CLIENT_ID}}" >> .env
echo "METADATA_URL=${{secrets.METADATA_URL}}" >> .env
echo "GENERATE_SHARES_URL=${{secrets.GENERATE_SHARES_URL}}" >> .env
echo "PUSH_NOTIFICATIONS_URL=${{secrets.PUSH_NOTIFICATIONS_URL}}" >> .env
echo "AIRDROP_TESTEDGE2_URL=${{secrets.AIRDROP_TESTEDGE2_URL}}" >> .env
echo "AIRDROP_MAINNET_URL=${{secrets.AIRDROP_MAINNET_URL}}" >> .env
echo "HAQQ_BACKEND=${{secrets.HAQQ_BACKEND}}" >> .env
echo "HAQQ_BACKEND_DEV=${{secrets.HAQQ_BACKEND_DEV}}" >> .env
echo "ADJUST_TOKEN=${{secrets.ADJUST_TOKEN}}" >> .env
echo "ADJUST_ENVIRONMENT=${{secrets.ADJUST_ENVIRONMENT}}" >> .env
echo "AIRDROP_GASDROP_SECRET=${{secrets.AIRDROP_GASDROP_SECRET}}" >> .env
echo "AIRDROP_GASDROP_CAMPAIGN_ID=${{secrets.AIRDROP_GASDROP_CAMPAIGN_ID}}" >> .env
echo "IS_SSS_ENABLED=${{github.event.inputs.IS_SSS_ENABLED}}" >> .env
echo "IS_STAKED_VESTED_ENABLED=${{github.event.inputs.IS_STAKED_VESTED_ENABLED}}" >> .env
echo "GOOGLE_PLAY_PACKAGE=${{secrets.GOOGLE_PLAY_PACKAGE}}" >> .env
Expand Down
14 changes: 6 additions & 8 deletions src/components/animated-balance.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,21 @@ export class AnimateNumber extends Component<Props, State> {
onFinish: () => {},
precision: 4,
};
static TimingFunctions = {
// You can add new timing functions here
linear: (interval: number): number => {
return interval;
},
};
dirty: boolean = false;
startFrom: number = 0;
endWith: number = 0;
// Positive => true, negative => false
direction: boolean = true;

state = {
value: this.props.initialValue || 0,
};

static TimingFunctions = {
// You can add new timing functions here
linear: (interval: number): number => {
return interval;
},
};

componentDidMount() {
this.startFrom = this.state.value;
this.endWith = this.props.value;
Expand Down
1 change: 1 addition & 0 deletions src/components/locked-tokens.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export interface LockedTokensProps {
availableBalance: Balance;
lockedBalance: Balance;
totalBalance: Balance;

onForwardPress(): void;
}

Expand Down
1 change: 1 addition & 0 deletions src/components/stacked-vested-tokens.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export interface StackedVestedTokensProps {
vestedBalance: Balance | undefined;
stakingBalance: Balance | undefined;
balance: Balance | undefined;

onPressInfo(): void;
}

Expand Down
8 changes: 7 additions & 1 deletion src/components/ui/card-small.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {Image, StyleProp, StyleSheet, ViewStyle} from 'react-native';
import LinearGradient from 'react-native-linear-gradient';

import {createTheme} from '@app/helpers';
import {RemoteConfig} from '@app/services/remote-config';
import {
CARD_DEFAULT_STYLE,
GRADIENT_END,
Expand Down Expand Up @@ -49,7 +50,12 @@ export const CardSmall = ({
style,
]}>
<Image
source={{uri: `${PATTERNS_SOURCE}${pattern}.png`}}
source={{
uri: `${RemoteConfig.get_env(
'pattern_source',
PATTERNS_SOURCE,
)}${pattern}.png`,
}}
style={[
{
width: width,
Expand Down
1 change: 1 addition & 0 deletions src/event-actions/on-app-review-request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {VariablesDate} from '@app/models/variables-date';
const REQUEST_REVIEW_DAYS_INTERVAL = 7;

const logger = Logger.create('onAppReviewRequest');

export async function onAppReviewRequest() {
try {
if (!InAppReview.isAvailable()) {
Expand Down
8 changes: 6 additions & 2 deletions src/event-actions/on-banner-gasdrop-create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {Refferal} from '@app/models/refferal';
import {VariablesBool} from '@app/models/variables-bool';
import {Wallet} from '@app/models/wallet';
import {Airdrop} from '@app/services/airdrop';
import {RemoteConfig} from '@app/services/remote-config';
import {AdjustEvents} from '@app/types';

export async function onBannerGasdropCreate() {
Expand All @@ -27,8 +28,11 @@ export async function onBannerGasdropCreate() {
const adid = await getAdjustAdid();

const link_info = await Airdrop.instance.gasdrop_code(
AIRDROP_GASDROP_CAMPAIGN_ID,
AIRDROP_GASDROP_SECRET,
RemoteConfig.get_env(
'airdrop_gasdrop_campaign_id',
AIRDROP_GASDROP_CAMPAIGN_ID,
),
RemoteConfig.get_env('airdrop_gasdrop_secret', AIRDROP_GASDROP_SECRET),
account.address,
adid,
);
Expand Down
3 changes: 1 addition & 2 deletions src/helpers/async-event-emitter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ const logger = Logger.create('AsyncEventEmitter');
* .then(() => Logger.log('event done'));
*/
export class AsyncEventEmitter extends EventEmitter {
off = this.removeListener;
private listenerMap = new WeakMap<
(...args: any[]) => void,
(...args: any[]) => void
Expand Down Expand Up @@ -135,6 +136,4 @@ export class AsyncEventEmitter extends EventEmitter {
this.listenerMap.set(listener, wrappedListener);
return super.once(eventName, wrappedListener);
}

off = this.removeListener;
}
11 changes: 9 additions & 2 deletions src/helpers/get-provider-for-new-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {ProviderSSSReactNative} from '@haqq/provider-sss-react-native';
import {app} from '@app/contexts';
import {getProviderStorage} from '@app/helpers/get-provider-storage';
import {Feature, isFeatureEnabled} from '@app/helpers/is-feature-enabled';
import {RemoteConfig} from '@app/services/remote-config';
import {WalletInitialData} from '@app/types';

export async function getProviderForNewWallet(params: WalletInitialData) {
Expand All @@ -23,8 +24,14 @@ export async function getProviderForNewWallet(params: WalletInitialData) {
app.getPassword.bind(app),
storage,
{
metadataUrl: METADATA_URL,
generateSharesUrl: GENERATE_SHARES_URL,
metadataUrl: RemoteConfig.get_env(
'sss_metadata_url',
METADATA_URL,
) as string,
generateSharesUrl: RemoteConfig.get_env(
'sss_generate_shares_url',
GENERATE_SHARES_URL,
) as string,
},
);
}
Expand Down
1 change: 1 addition & 0 deletions src/hooks/use-transaction-list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {Events} from '@app/events';
import {prepareTransactions} from '@app/helpers';
import {Transaction} from '@app/models/transaction';
import {TransactionList} from '@app/types';

/**
* @example
* const adressList = useMemo(() => Wallet.addressList(), []);
Expand Down
12 changes: 6 additions & 6 deletions src/models/provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,6 @@ export class Provider extends Realm.Object {
return this.cosmosChainId.split('-')[1];
}

setEvmEndpoint(endpoint: string) {
realm.write(() => {
this.ethRpcEndpoint = endpoint;
});
}

static create(params: Partial<Provider>) {
let id = generateUUID();
realm.write(() => {
Expand Down Expand Up @@ -103,6 +97,12 @@ export class Provider extends Realm.Object {
return Provider.getByEthChainId(parseInt(ethChainIdHex, 16));
}

setEvmEndpoint(endpoint: string) {
realm.write(() => {
this.ethRpcEndpoint = endpoint;
});
}

update(params: Partial<Provider>) {
realm.write(() => {
realm.create(
Expand Down
3 changes: 2 additions & 1 deletion src/screens/signin-networks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
onLoginApple,
onLoginGoogle,
} from '@app/services/provider-sss';
import {RemoteConfig} from '@app/services/remote-config';

export const SignInNetworksScreen = () => {
const navigation = useTypedNavigation();
Expand All @@ -37,7 +38,7 @@ export const SignInNetworksScreen = () => {
}

const walletInfo = await getMetadataValue(
METADATA_URL,
RemoteConfig.get_env('sss_metadata_url', METADATA_URL) as string,
creds.privateKey,
'socialShareIndex',
);
Expand Down
11 changes: 9 additions & 2 deletions src/screens/signin-store-wallet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {getProviderStorage} from '@app/helpers/get-provider-storage';
import {useTypedNavigation, useTypedRoute} from '@app/hooks';
import {I18N, getText} from '@app/i18n';
import {Wallet} from '@app/models/wallet';
import {RemoteConfig} from '@app/services/remote-config';
import {WalletType} from '@app/types';
import {MAIN_ACCOUNT_NAME} from '@app/variables/common';

Expand Down Expand Up @@ -91,8 +92,14 @@ export const SignInStoreWalletScreen = () => {
app.getPassword.bind(app),
storage,
{
metadataUrl: METADATA_URL,
generateSharesUrl: GENERATE_SHARES_URL,
metadataUrl: RemoteConfig.get_env(
'sss_metadata_url',
METADATA_URL,
) as string,
generateSharesUrl: RemoteConfig.get_env(
'sss_generate_shares_url',
GENERATE_SHARES_URL,
) as string,
},
);

Expand Down
3 changes: 2 additions & 1 deletion src/screens/signup-networks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
onLoginApple,
onLoginGoogle,
} from '@app/services/provider-sss';
import {RemoteConfig} from '@app/services/remote-config';

export const SignupNetworksScreen = () => {
const navigation = useTypedNavigation();
Expand Down Expand Up @@ -47,7 +48,7 @@ export const SignupNetworksScreen = () => {

if (creds.privateKey) {
const walletInfo = await getMetadataValue(
METADATA_URL,
RemoteConfig.get_env('sss_metadata_url', METADATA_URL) as string,
creds.privateKey,
'socialShareIndex',
);
Expand Down
3 changes: 2 additions & 1 deletion src/screens/signup-pin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {SssPin} from '@app/components/sss-pin';
import {app} from '@app/contexts';
import {SssError} from '@app/helpers/sss-error';
import {useTypedNavigation, useTypedRoute} from '@app/hooks';
import {RemoteConfig} from '@app/services/remote-config';

export const SignupPinScreen = () => {
const pinRef = useRef<PinInterface>();
Expand All @@ -23,7 +24,7 @@ export const SignupPinScreen = () => {
}

const securityQuestion = await getMetadataValue(
METADATA_URL,
RemoteConfig.get_env('sss_metadata_url', METADATA_URL) as string,
route.params.sssPrivateKey,
'socialShareIndex',
);
Expand Down
3 changes: 2 additions & 1 deletion src/screens/sss-migrate-networks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
onLoginApple,
onLoginGoogle,
} from '@app/services/provider-sss';
import {RemoteConfig} from '@app/services/remote-config';

export const SssMigrateNetworksScreen = () => {
const navigation = useTypedNavigation();
Expand All @@ -28,7 +29,7 @@ export const SssMigrateNetworksScreen = () => {
}
if (creds.privateKey) {
const walletInfo = await getMetadataValue(
METADATA_URL,
RemoteConfig.get_env('sss_metadata_url', METADATA_URL) as string,
creds.privateKey,
'socialShareIndex',
);
Expand Down
12 changes: 11 additions & 1 deletion src/screens/sss-migrate-store.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {getProviderStorage} from '@app/helpers/get-provider-storage';
import {useTypedNavigation, useTypedRoute} from '@app/hooks';
import {I18N, getText} from '@app/i18n';
import {Wallet} from '@app/models/wallet';
import {RemoteConfig} from '@app/services/remote-config';
import {WalletType} from '@app/types';

export const SssMigrateStoreScreen = () => {
Expand Down Expand Up @@ -51,7 +52,16 @@ export const SssMigrateStoreScreen = () => {
route.params.token,
app.getPassword.bind(app),
storage,
{metadataUrl: METADATA_URL, generateSharesUrl: GENERATE_SHARES_URL},
{
metadataUrl: RemoteConfig.get_env(
'sss_metadata_url',
METADATA_URL,
) as string,
generateSharesUrl: RemoteConfig.get_env(
'sss_generate_shares_url',
GENERATE_SHARES_URL,
) as string,
},
);

const wallets = Wallet.getAll();
Expand Down
12 changes: 11 additions & 1 deletion src/screens/sss-store-wallet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {useTypedNavigation, useTypedRoute} from '@app/hooks';
import {I18N, getText} from '@app/i18n';
import {Wallet} from '@app/models/wallet';
import {navigator} from '@app/navigator';
import {RemoteConfig} from '@app/services/remote-config';
import {WalletType} from '@app/types';
import {ETH_HD_SHORT_PATH, MAIN_ACCOUNT_NAME} from '@app/variables/common';

Expand All @@ -35,7 +36,16 @@ export const SssStoreWalletScreen = () => {
route.params.token,
app.getPassword.bind(app),
storage,
{metadataUrl: METADATA_URL, generateSharesUrl: GENERATE_SHARES_URL},
{
metadataUrl: RemoteConfig.get_env(
'sss_metadata_url',
METADATA_URL,
) as string,
generateSharesUrl: RemoteConfig.get_env(
'sss_generate_shares_url',
GENERATE_SHARES_URL,
) as string,
},
);

let canNext = true;
Expand Down
Loading

0 comments on commit 3d0edf6

Please sign in to comment.