@@ -734,6 +734,59 @@ const coinsWithExcludedFeatures: Record<string, { features: CoinFeature[] }> = {
734734 CoinFeature . CUSTODY_BITGO_INDIA ,
735735 ] ,
736736 } ,
737+ wtgxx : {
738+ features : [
739+ CoinFeature . ACCOUNT_MODEL ,
740+ CoinFeature . REQUIRES_BIG_NUMBER ,
741+ CoinFeature . VALUELESS_TRANSFER ,
742+ CoinFeature . TRANSACTION_DATA ,
743+ CoinFeature . CUSTODY ,
744+ CoinFeature . CUSTODY_BITGO_TRUST ,
745+ ] ,
746+ } ,
747+ 'arbeth:wtgxx' : {
748+ features : [
749+ CoinFeature . ACCOUNT_MODEL ,
750+ CoinFeature . REQUIRES_BIG_NUMBER ,
751+ CoinFeature . VALUELESS_TRANSFER ,
752+ CoinFeature . TRANSACTION_DATA ,
753+ CoinFeature . CUSTODY ,
754+ CoinFeature . CUSTODY_BITGO_TRUST ,
755+ ] ,
756+ } ,
757+ 'opeth:wtgxx' : {
758+ features : [
759+ CoinFeature . ACCOUNT_MODEL ,
760+ CoinFeature . REQUIRES_BIG_NUMBER ,
761+ CoinFeature . VALUELESS_TRANSFER ,
762+ CoinFeature . TRANSACTION_DATA ,
763+ CoinFeature . CUSTODY ,
764+ CoinFeature . CUSTODY_BITGO_TRUST ,
765+ ] ,
766+ } ,
767+ 'sepeth:wtgxx' : {
768+ features : [
769+ CoinFeature . ACCOUNT_MODEL ,
770+ CoinFeature . REQUIRES_BIG_NUMBER ,
771+ CoinFeature . VALUELESS_TRANSFER ,
772+ CoinFeature . TRANSACTION_DATA ,
773+ CoinFeature . CUSTODY ,
774+ CoinFeature . CUSTODY_BITGO_TRUST ,
775+ ] ,
776+ } ,
777+ 'sol:wtgxx' : {
778+ features : [
779+ CoinFeature . ACCOUNT_MODEL ,
780+ CoinFeature . REQUIRES_BIG_NUMBER ,
781+ CoinFeature . VALUELESS_TRANSFER ,
782+ CoinFeature . TRANSACTION_DATA ,
783+ CoinFeature . CUSTODY ,
784+ CoinFeature . CUSTODY_BITGO_TRUST ,
785+ CoinFeature . TSS ,
786+ CoinFeature . TSS_COLD ,
787+ CoinFeature . BULK_TRANSACTION ,
788+ ] ,
789+ } ,
737790} ;
738791
739792describe ( 'CoinMap' , function ( ) {
@@ -1028,6 +1081,43 @@ coins.forEach((coin, coinName) => {
10281081 } ) ;
10291082} ) ;
10301083
1084+ describe ( 'WTGXX Trust-only custody' , ( ) => {
1085+ const nonTrustCustodyFeatures = [
1086+ CoinFeature . CUSTODY_BITGO_MENA_FZE ,
1087+ CoinFeature . CUSTODY_BITGO_CUSTODY_MENA_FZE ,
1088+ CoinFeature . CUSTODY_BITGO_SINGAPORE ,
1089+ CoinFeature . CUSTODY_BITGO_EUROPE_APS ,
1090+ CoinFeature . CUSTODY_BITGO_FRANKFURT ,
1091+ CoinFeature . CUSTODY_BITGO_INDIA ,
1092+ CoinFeature . CUSTODY_BITGO_KOREA ,
1093+ CoinFeature . CUSTODY_BITGO_GERMANY ,
1094+ CoinFeature . CUSTODY_BITGO_SWITZERLAND ,
1095+ CoinFeature . CUSTODY_BITGO_NEW_YORK ,
1096+ CoinFeature . CUSTODY_BITGO_SISTER_TRUST_ONE ,
1097+ ] ;
1098+
1099+ [
1100+ 'wtgxx' ,
1101+ 'arbeth:wtgxx' ,
1102+ 'opeth:wtgxx' ,
1103+ 'sepeth:wtgxx' ,
1104+ 'sol:wtgxx' ,
1105+ 'ofcwtgxx' ,
1106+ 'ofcarbeth:wtgxx' ,
1107+ 'ofcopeth:wtgxx' ,
1108+ 'ofcsol:wtgxx' ,
1109+ 'ofcsepeth:wtgxx' ,
1110+ ] . forEach ( ( name ) => {
1111+ it ( `${ name } is licensed only for BitGo Trust` , function ( ) {
1112+ const coin = coins . get ( name ) ;
1113+ coin . features . includes ( CoinFeature . CUSTODY_BITGO_TRUST ) . should . eql ( true ) ;
1114+ nonTrustCustodyFeatures . forEach ( ( feature ) => {
1115+ coin . features . includes ( feature ) . should . eql ( false ) ;
1116+ } ) ;
1117+ } ) ;
1118+ } ) ;
1119+ } ) ;
1120+
10311121describe ( 'ERC20 Coins' , ( ) => {
10321122 it ( 'should have no duplicate contract addresses' , ( ) => {
10331123 coins
0 commit comments