Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- added: Changelly swap provider
- added: NYM swap provider (`nymswap`)
- added: Optional Bridgeless swap referral id via the `BRIDGELESS_INIT` env config, passed through to the swap plugin.
- added: Klarna and PayPal payment options on the Banxa buy path.
- changed: Route maestro test builds to a dedicated Zealot channel so they no longer appear in the production release list.
- changed: Hide the wallet "Get Raw Keys" option behind Developer Mode, while still showing it for wallets that fail to load.
- fixed: Share button referral link now uses the dl.edge.app deep-link domain so appreferred attribution is tracked
Expand Down
5 changes: 5 additions & 0 deletions src/__tests__/util/paymentTypeIcons.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ describe('paymentTypeIcons', () => {
paymentTypeLogoGooglePay: { uri: 'google-pay-icon.png' },
paymentTypeLogoIdeal: { uri: 'ideal-icon.png' },
paymentTypeLogoInterac: { uri: 'interac-icon.png' },
paymentTypeLogoKlarna: { uri: 'klarna-icon.png' },
paymentTypeLogoPayid: { uri: 'payid-icon.png' },
paymentTypeLogoPaypal: { uri: 'paypal-icon.png' },
paymentTypeLogoPix: { uri: 'pix-icon.png' },
Expand All @@ -24,6 +25,7 @@ describe('paymentTypeIcons', () => {
expect(getPaymentTypeThemeKey('applepay')).toBe('paymentTypeLogoApplePay')
expect(getPaymentTypeThemeKey('credit')).toBe('paymentTypeLogoCreditCard')
expect(getPaymentTypeThemeKey('paypal')).toBe('paymentTypeLogoPaypal')
expect(getPaymentTypeThemeKey('klarna')).toBe('paymentTypeLogoKlarna')
})

it('should return bank transfer key for fallback payment types', () => {
Expand All @@ -41,6 +43,9 @@ describe('paymentTypeIcons', () => {
expect(getPaymentTypeIcon('credit', mockTheme)).toEqual({
uri: 'credit-card-icon.png'
})
expect(getPaymentTypeIcon('klarna', mockTheme)).toEqual({
uri: 'klarna-icon.png'
})
})

it('should return bank transfer icon for fallback payment types', () => {
Expand Down
2 changes: 2 additions & 0 deletions src/__tests__/util/paymentTypeUtils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ describe('paymentTypeUtils', () => {
expect(getPaymentTypeDisplayName('credit')).toBe('Credit and Debit Card')
expect(getPaymentTypeDisplayName('venmo')).toBe('Venmo')
expect(getPaymentTypeDisplayName('sepa')).toBe('SEPA Bank Transfer')
expect(getPaymentTypeDisplayName('klarna')).toBe('Klarna')
expect(getPaymentTypeDisplayName('paypal')).toBe('Paypal')
})

it('should return original value for unknown payment types', () => {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion src/components/scenes/RampCreateScene.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,10 @@ export const RampCreateScene: React.FC<Props> = (props: Props) => {
{/* Amount Inputs */}
{/* Top Input (Fiat) */}
<View style={styles.inputRowView}>
<DropdownInputButton onPress={handleFiatDropdown}>
<DropdownInputButton
onPress={handleFiatDropdown}
testID="rampFiatDropdown"
>
{selectedFiatFlagUri !== '' ? (
<ShadowedView style={styles.shadowedIcon}>
<FastImage
Expand Down
1 change: 1 addition & 0 deletions src/locales/en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2167,6 +2167,7 @@ const strings = {
instant_ach_bank_transfer: 'Instant ACH Bank Transfer',
ideal: 'iDEAL',
interac_e_transfer: 'Interac e-Transfer',
klarna: 'Klarna',
mexico_bank_transfer: 'Mexico Bank Transfer',
payid: 'PayID',
paypal: 'Paypal',
Expand Down
1 change: 1 addition & 0 deletions src/locales/strings/enUS.json
Original file line number Diff line number Diff line change
Expand Up @@ -1664,6 +1664,7 @@
"instant_ach_bank_transfer": "Instant ACH Bank Transfer",
"ideal": "iDEAL",
"interac_e_transfer": "Interac e-Transfer",
"klarna": "Klarna",
"mexico_bank_transfer": "Mexico Bank Transfer",
"payid": "PayID",
"paypal": "Paypal",
Expand Down
1 change: 1 addition & 0 deletions src/plugins/gui/fiatPluginTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export const asFiatPaymentType = asValue(
'ideal',
'interac',
'iobank',
'klarna',
'mexicobank',
'payid',
'paypal',
Expand Down
6 changes: 6 additions & 0 deletions src/plugins/ramps/banxa/banxaRampPlugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ const allowedPaymentTypes: AllowedPaymentTypes = {
ideal: true,
interac: true,
iobank: true,
klarna: true,
payid: true,
paypal: true,
pix: true,
sepa: false, // Leave this to Bity for now
turkishbank: true
Expand Down Expand Up @@ -153,11 +155,13 @@ const asBanxaPaymentType = asValue(
'DLOCALPIX',
'DLOCALZAIO',
'IDEAL',
'KLARNACKO',
'MANUALPAYMENT',
'MONOOVAPAYID',
'PRIMERAP',
'PRIMERCC',
'PRIMERGP',
'PRIMERPAYPAL',
'WORLDPAYGOOGLE',
'ZHACHSELL'
)
Expand Down Expand Up @@ -335,11 +339,13 @@ const typeMap: Record<BanxaPaymentType, FiatPaymentType> = {
DLOCALPIX: 'pix',
DLOCALZAIO: 'iobank',
IDEAL: 'ideal',
KLARNACKO: 'klarna',
MANUALPAYMENT: 'turkishbank',
MONOOVAPAYID: 'payid',
PRIMERAP: 'applepay',
PRIMERCC: 'credit',
PRIMERGP: 'googlepay',
PRIMERPAYPAL: 'paypal',
WORLDPAYGOOGLE: 'googlepay',
ZHACHSELL: 'ach'
}
Expand Down
4 changes: 4 additions & 0 deletions src/plugins/ramps/utils/getSettlementRange.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ export function getBuySettlementRange(
case 'iobank':
// Not listed in GUI plugin lists; assume typical window
return RANGE(5, 'minutes', 24, 'hours')
case 'klarna':
return RANGE(5, 'minutes', 24, 'hours')
case 'mexicobank':
return RANGE(5, 'minutes', 24, 'hours')
case 'payid':
Expand Down Expand Up @@ -116,6 +118,8 @@ export function getSellSettlementRange(
case 'iobank':
// Not listed in GUI plugin lists; assume typical window
return RANGE(5, 'minutes', 24, 'hours')
case 'klarna':
return RANGE(5, 'minutes', 24, 'hours')
case 'mexicobank':
return RANGE(5, 'minutes', 24, 'hours')
case 'payid':
Expand Down
2 changes: 2 additions & 0 deletions src/theme/variables/edgeDark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import paymentTypeLogoGiftCard from '../../assets/images/paymentTypes/paymentTyp
import paymentTypeLogoGooglePay from '../../assets/images/paymentTypes/paymentTypeLogoGooglePay.png'
import paymentTypeLogoIdeal from '../../assets/images/paymentTypes/paymentTypeLogoIdeal.png'
import paymentTypeLogoInterac from '../../assets/images/paymentTypes/paymentTypeLogoInterac.png'
import paymentTypeLogoKlarna from '../../assets/images/paymentTypes/paymentTypeLogoKlarna.png'
import paymentTypeLogoPayid from '../../assets/images/paymentTypes/paymentTypeLogoPayid.png'
import paymentTypeLogoPaynow from '../../assets/images/paymentTypes/paymentTypeLogoPaynow.png'
import paymentTypeLogoPaypal from '../../assets/images/paymentTypes/paymentTypeLogoPaypal.png'
Expand Down Expand Up @@ -477,6 +478,7 @@ export const edgeDark: Theme = {
paymentTypeLogoGooglePay,
paymentTypeLogoIdeal,
paymentTypeLogoInterac,
paymentTypeLogoKlarna,
paymentTypeLogoPayid,
paymentTypeLogoPaynow,
paymentTypeLogoPaypal,
Expand Down
2 changes: 2 additions & 0 deletions src/theme/variables/edgeLight.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import paymentTypeLogoGiftCard from '../../assets/images/paymentTypes/paymentTyp
import paymentTypeLogoGooglePay from '../../assets/images/paymentTypes/paymentTypeLogoGooglePay.png'
import paymentTypeLogoIdeal from '../../assets/images/paymentTypes/paymentTypeLogoIdeal.png'
import paymentTypeLogoInterac from '../../assets/images/paymentTypes/paymentTypeLogoInterac.png'
import paymentTypeLogoKlarna from '../../assets/images/paymentTypes/paymentTypeLogoKlarna.png'
import paymentTypeLogoPayid from '../../assets/images/paymentTypes/paymentTypeLogoPayid.png'
import paymentTypeLogoPaynow from '../../assets/images/paymentTypes/paymentTypeLogoPaynow.png'
import paymentTypeLogoPaypal from '../../assets/images/paymentTypes/paymentTypeLogoPaypal.png'
Expand Down Expand Up @@ -480,6 +481,7 @@ export const edgeLight: Theme = {
paymentTypeLogoGooglePay,
paymentTypeLogoIdeal,
paymentTypeLogoInterac,
paymentTypeLogoKlarna,
paymentTypeLogoPayid,
paymentTypeLogoPaynow,
paymentTypeLogoPaypal,
Expand Down
2 changes: 2 additions & 0 deletions src/theme/variables/testDark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import paymentTypeLogoGiftCard from '../../assets/images/paymentTypes/paymentTyp
import paymentTypeLogoGooglePay from '../../assets/images/paymentTypes/paymentTypeLogoGooglePay.png'
import paymentTypeLogoIdeal from '../../assets/images/paymentTypes/paymentTypeLogoIdeal.png'
import paymentTypeLogoInterac from '../../assets/images/paymentTypes/paymentTypeLogoInterac.png'
import paymentTypeLogoKlarna from '../../assets/images/paymentTypes/paymentTypeLogoKlarna.png'
import paymentTypeLogoPayid from '../../assets/images/paymentTypes/paymentTypeLogoPayid.png'
import paymentTypeLogoPaynow from '../../assets/images/paymentTypes/paymentTypeLogoPaynow.png'
import paymentTypeLogoPaypal from '../../assets/images/paymentTypes/paymentTypeLogoPaypal.png'
Expand Down Expand Up @@ -477,6 +478,7 @@ export const testDark: Theme = {
paymentTypeLogoGooglePay,
paymentTypeLogoIdeal,
paymentTypeLogoInterac,
paymentTypeLogoKlarna,
paymentTypeLogoPayid,
paymentTypeLogoPaynow,
paymentTypeLogoPaypal,
Expand Down
2 changes: 2 additions & 0 deletions src/theme/variables/testLight.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import paymentTypeLogoGiftCard from '../../assets/images/paymentTypes/paymentTyp
import paymentTypeLogoGooglePay from '../../assets/images/paymentTypes/paymentTypeLogoGooglePay.png'
import paymentTypeLogoIdeal from '../../assets/images/paymentTypes/paymentTypeLogoIdeal.png'
import paymentTypeLogoInterac from '../../assets/images/paymentTypes/paymentTypeLogoInterac.png'
import paymentTypeLogoKlarna from '../../assets/images/paymentTypes/paymentTypeLogoKlarna.png'
import paymentTypeLogoPayid from '../../assets/images/paymentTypes/paymentTypeLogoPayid.png'
import paymentTypeLogoPaynow from '../../assets/images/paymentTypes/paymentTypeLogoPaynow.png'
import paymentTypeLogoPaypal from '../../assets/images/paymentTypes/paymentTypeLogoPaypal.png'
Expand Down Expand Up @@ -480,6 +481,7 @@ export const testLight: Theme = {
paymentTypeLogoGooglePay,
paymentTypeLogoIdeal,
paymentTypeLogoInterac,
paymentTypeLogoKlarna,
paymentTypeLogoPayid,
paymentTypeLogoPaynow,
paymentTypeLogoPaypal,
Expand Down
1 change: 1 addition & 0 deletions src/types/Theme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,7 @@ export interface Theme {
paymentTypeLogoGooglePay: ImageProp
paymentTypeLogoIdeal: ImageProp
paymentTypeLogoInterac: ImageProp
paymentTypeLogoKlarna: ImageProp
paymentTypeLogoPayid: ImageProp
paymentTypeLogoPaynow: ImageProp
paymentTypeLogoPaypal: ImageProp
Expand Down
1 change: 1 addition & 0 deletions src/util/paymentTypeIcons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const paymentTypeToThemeKey: Record<FiatPaymentType, keyof Theme | null> = {
ideal: 'paymentTypeLogoIdeal',
interac: 'paymentTypeLogoInterac',
iobank: 'paymentTypeLogoBankTransfer', // Using bank transfer as fallback
klarna: 'paymentTypeLogoKlarna',
mexicobank: 'paymentTypeLogoBankTransfer', // Using bank transfer as fallback
payid: 'paymentTypeLogoPayid',
paypal: 'paymentTypeLogoPaypal',
Expand Down
1 change: 1 addition & 0 deletions src/util/paymentTypeUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const paymentTypeDisplayNames: Record<string, string> = {
ideal: lstrings.ideal,
interac: lstrings.interac_e_transfer,
iobank: lstrings.bank_transfer,
klarna: lstrings.klarna,
mexicobank: lstrings.mexico_bank_transfer,
payid: lstrings.payid,
paypal: lstrings.paypal,
Expand Down
Loading