diff --git a/modules/statics/src/account.ts b/modules/statics/src/account.ts index b34c6dc0c9..f1c6d5be6c 100644 --- a/modules/statics/src/account.ts +++ b/modules/statics/src/account.ts @@ -35,6 +35,7 @@ export class AccountCoin extends BaseCoin { CoinFeature.CUSTODY, CoinFeature.CUSTODY_BITGO_TRUST, CoinFeature.CUSTODY_BITGO_MENA_FZE, + CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE, CoinFeature.CUSTODY_BITGO_KOREA, CoinFeature.CUSTODY_BITGO_EUROPE_APS, diff --git a/modules/statics/src/ada.ts b/modules/statics/src/ada.ts index 9b33d5545a..a3f522e2d2 100644 --- a/modules/statics/src/ada.ts +++ b/modules/statics/src/ada.ts @@ -23,6 +23,7 @@ export class Ada extends BaseCoin { CoinFeature.REQUIRES_BIG_NUMBER, CoinFeature.CUSTODY_BITGO_TRUST, CoinFeature.CUSTODY_BITGO_MENA_FZE, + CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE, CoinFeature.STAKING, CoinFeature.BULK_TRANSACTION, ]; diff --git a/modules/statics/src/avaxp.ts b/modules/statics/src/avaxp.ts index b8840e1284..12c48cdd49 100644 --- a/modules/statics/src/avaxp.ts +++ b/modules/statics/src/avaxp.ts @@ -18,6 +18,7 @@ export class AVAXPCoin extends BaseCoin { CoinFeature.UNSPENT_MODEL, CoinFeature.CUSTODY_BITGO_TRUST, CoinFeature.CUSTODY_BITGO_MENA_FZE, + CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE, CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.MULTISIG_COLD, diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 8de229c6c6..a174a7368c 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -243,6 +243,10 @@ export enum CoinFeature { * This coin supports custody in BitGo MENA FZE entities */ CUSTODY_BITGO_MENA_FZE = 'custody-bitgo-mena-fze', + /** + * This coin supports custody in BitGo Custody MENA FZE entities + */ + CUSTODY_BITGO_CUSTODY_MENA_FZE = 'custody-bitgo-custody-mena-fze', /* * This coin has transactions that expire after a certain amount of time. */ diff --git a/modules/statics/src/coins.ts b/modules/statics/src/coins.ts index 830d4807ad..ea899048bd 100644 --- a/modules/statics/src/coins.ts +++ b/modules/statics/src/coins.ts @@ -143,7 +143,8 @@ const XTZ_FEATURES = [ (feature) => feature !== CoinFeature.CUSTODY && feature !== CoinFeature.CUSTODY_BITGO_TRUST && - feature !== CoinFeature.CUSTODY_BITGO_MENA_FZE + feature !== CoinFeature.CUSTODY_BITGO_MENA_FZE && + feature !== CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE ); const XRP_FEATURES = [ diff --git a/modules/statics/src/ofc.ts b/modules/statics/src/ofc.ts index 1e21ef6d07..dc9a9b88dd 100644 --- a/modules/statics/src/ofc.ts +++ b/modules/statics/src/ofc.ts @@ -28,6 +28,7 @@ export class OfcCoin extends BaseCoin { CoinFeature.CUSTODY, CoinFeature.CUSTODY_BITGO_TRUST, CoinFeature.CUSTODY_BITGO_MENA_FZE, + CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE, ]; // If set, this coin is the native address format for this token. diff --git a/modules/statics/src/utxo.ts b/modules/statics/src/utxo.ts index 741d64997d..72427249b9 100644 --- a/modules/statics/src/utxo.ts +++ b/modules/statics/src/utxo.ts @@ -21,6 +21,7 @@ export class UtxoCoin extends BaseCoin { CoinFeature.CUSTODY, CoinFeature.CUSTODY_BITGO_TRUST, CoinFeature.CUSTODY_BITGO_MENA_FZE, + CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE, CoinFeature.MULTISIG_COLD, CoinFeature.PAYGO, ]; diff --git a/modules/statics/test/unit/coins.ts b/modules/statics/test/unit/coins.ts index c9efb67594..4068d7670a 100644 --- a/modules/statics/test/unit/coins.ts +++ b/modules/statics/test/unit/coins.ts @@ -624,11 +624,15 @@ coins.forEach((coin, coinName) => { it(`should return true for CUSTODY_BITGO_MENA_FZE ${coin.family} coin feature`, () => { coin.features.includes(CoinFeature.CUSTODY_BITGO_MENA_FZE).should.eql(true); }); + it(`should return true for CUSTODY_BITGO_CUSTODY_MENA_FZE ${coin.family} coin feature`, () => { + coin.features.includes(CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE).should.eql(true); + }); } else if (coin.family === CoinFamily.XTZ || coin.features.includes(CoinFeature.GENERIC_TOKEN)) { it(`should return false for all custody ${coin.family} coin feature`, () => { coin.features.includes(CoinFeature.CUSTODY).should.eql(false); coin.features.includes(CoinFeature.CUSTODY_BITGO_TRUST).should.eql(false); coin.features.includes(CoinFeature.CUSTODY_BITGO_MENA_FZE).should.eql(false); + coin.features.includes(CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE).should.eql(false); coin.features.includes(CoinFeature.CUSTODY_BITGO_NEW_YORK).should.eql(false); coin.features.includes(CoinFeature.CUSTODY_BITGO_GERMANY).should.eql(false); coin.features.includes(CoinFeature.CUSTODY_BITGO_SWITZERLAND).should.eql(false); @@ -640,6 +644,7 @@ coins.forEach((coin, coinName) => { coin.features.includes(CoinFeature.CUSTODY).should.eql(coinSupportsCustody); coin.features.includes(CoinFeature.CUSTODY_BITGO_TRUST).should.eql(coinSupportsCustody); coin.features.includes(CoinFeature.CUSTODY_BITGO_MENA_FZE).should.eql(coinSupportsCustody); + coin.features.includes(CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE).should.eql(coinSupportsCustody); }); it('should return false for all non-SD coin feature', () => {