When transporting a VC not wrapped in a VP the credential is accepted without error but when wrapped in a VP, the following error occurs:
`2022-03-17 14:29:28.448872-0400 Learner Credential Wallet[78223:3085257] [javascript] TypeError: undefined is not an object (evaluating 'credentialSubject.hasCredential')
This error is located at:
in CellRenderer (at VirtualizedList.js:900)
in RCTScrollContentView (at ScrollView.js:1124)
in RCTScrollView (at ScrollView.js:1260)
in ScrollView (at ScrollView.js:1286)
in ScrollView (at VirtualizedList.js:1329)
in VirtualizedList (at FlatList.js:624)
in FlatList (at ApproveCredentialsScreen.tsx:79)
in ApproveCredentialsScreen (at SceneView.tsx:126)
in StaticContainer
in StaticContainer (at SceneView.tsx:119)
in EnsureSingleNavigator (at SceneView.tsx:118)
in SceneView (at useDescriptors.tsx:210)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:280)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:278)
in RCTView (at View.js:34)
in View (at CardSheet.tsx:33)
in ForwardRef(CardSheet) (at Card.tsx:557)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:536)
in PanGestureHandler (at GestureHandlerNative.tsx:14)
in PanGestureHandler (at Card.tsx:530)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:526)
in RCTView (at View.js:34)
in View (at Card.tsx:520)
in Card (at CardContainer.tsx:218)
in CardContainer (at CardStack.tsx:649)
in RNSScreen (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at src/index.native.tsx:147)
in Screen (at Screens.tsx:37)
in MaybeScreen (at CardStack.tsx:642)
in RNSScreenContainer (at src/index.native.tsx:186)
in ScreenContainer (at Screens.tsx:20)
in MaybeScreenContainer (at CardStack.tsx:561)
in RCTView (at View.js:34)
in View (at Background.tsx:13)
in Background (at CardStack.tsx:559)
in CardStack (at StackView.tsx:437)
in RCTView (at View.js:34)
in View (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at StackView.tsx:430)
in RCTView (at View.js:34)
in View (at StackView.tsx:429)
in StackView (at createStackNavigator.tsx:118)
in Unknown (at createStackNavigator.tsx:117)
in StackNavigator (at AddCredentialNavigation.tsx:14)
in AddCredentialNavigation (at SceneView.tsx:126)
in StaticContainer
in StaticContainer (at SceneView.tsx:119)
in EnsureSingleNavigator (at SceneView.tsx:118)
in SceneView (at useDescriptors.tsx:210)
in RCTView (at View.js:34)
in View (at Screen.tsx:63)
in RCTView (at View.js:34)
in View (at Background.tsx:13)
in Background (at Screen.tsx:58)
in Screen (at BottomTabView.tsx:129)
in RNSScreen (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at src/index.native.tsx:147)
in Screen (at ScreenFallback.tsx:37)
in MaybeScreen (at BottomTabView.tsx:122)
in RNSScreenContainer (at src/index.native.tsx:186)
in ScreenContainer (at ScreenFallback.tsx:28)
in MaybeScreenContainer (at BottomTabView.tsx:93)
in RCTView (at View.js:34)
in View (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at BottomTabView.tsx:92)
in BottomTabView (at createBottomTabNavigator.tsx:116)
in Unknown (at createBottomTabNavigator.tsx:115)
in BottomTabNavigator (at HomeNavigation.tsx:29)
in HomeNavigation (at SceneView.tsx:126)
in StaticContainer
in StaticContainer (at SceneView.tsx:119)
in EnsureSingleNavigator (at SceneView.tsx:118)
in SceneView (at useDescriptors.tsx:210)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:280)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:278)
in RCTView (at View.js:34)
in View (at CardSheet.tsx:33)
in ForwardRef(CardSheet) (at Card.tsx:557)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:536)
in PanGestureHandler (at GestureHandlerNative.tsx:14)
in PanGestureHandler (at Card.tsx:530)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:526)
in RCTView (at View.js:34)
in View (at Card.tsx:520)
in Card (at CardContainer.tsx:218)
in CardContainer (at CardStack.tsx:649)
in RNSScreen (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at src/index.native.tsx:147)
in Screen (at Screens.tsx:37)
in MaybeScreen (at CardStack.tsx:642)
in RNSScreenContainer (at src/index.native.tsx:186)
in ScreenContainer (at Screens.tsx:20)
in MaybeScreenContainer (at CardStack.tsx:561)
in RCTView (at View.js:34)
in View (at Background.tsx:13)
in Background (at CardStack.tsx:559)
in CardStack (at StackView.tsx:437)
in RCTView (at View.js:34)
in View (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at StackView.tsx:430)
in RCTView (at View.js:34)
in View (at StackView.tsx:429)
in StackView (at createStackNavigator.tsx:118)
in Unknown (at createStackNavigator.tsx:117)
in StackNavigator (at RootNavigation.tsx:14)
in RootNavigation (at AppNavigation.tsx:79)
in EnsureSingleNavigator (at BaseNavigationContainer.tsx:430)
in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:132)
in ThemeProvider (at NavigationContainer.tsx:131)
in ForwardRef(NavigationContainerInner) (at AppNavigation.tsx:101)
in RNCSafeAreaProvider (at SafeAreaContext.tsx:76)
in SafeAreaProvider (at AppNavigation.tsx:98)
in AppNavigation (at App.tsx:12)
in Provider (at App.tsx:11)
in App (created by ExpoRoot)
in ExpoRoot (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)`
Example VP:
{"@context":["https://www.w3.org/2018/credentials/v1"],"type":["VerifiablePresentation"],"verifiableCredential":[{"@context":["https://www.w3.org/2018/credentials/v1","https://w3id.org/security/suites/ed25519-2020/v1","https://w3id.org/dcc/v1"],"id":"https://cred.127.0.0.1.nip.io/api/issuance/12","type":["VerifiableCredential","Assertion"],"issuer":{"id":"did:key:z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65","name":"United Federation of Production Software","image":"https://media.badgr.com/uploads/issuers/issuer_logo_2a3aa2a8-fc9d-4b46-a25e-d4ec721a1681.png","url":"https://ufop.badgr.com"},"issuanceDate":"2021-01-01T00:00:00.000Z","credentialSubject":{"id":"did:key:z6MkjUpSWmHTdiYAG3ASMD5tPHAtD9F1fGnQEi94sPNF7vUs","name":"GT Buz","hasCredential":{"id":"https://ufop.badgr.com/public/badges/-Kiv1iwRRraKLt1OWmo-yw","name":"I.C.E.B.E.R.G.: an Intercultural Program","type":["EducationalOccupationalCredential"],"description":"This credential certifies participation in the I.C.E.B.E.R.G. (Inspiring Cross-cultural Experiences By Engaging Ramblers at Georgia Tech) program, offered by the Georgia Tech Office of International Education.","competencyRequired":"(1) Attend three workshops on the topics of culture and self-awareness, perception and values, and the Culture Map. \n(2) Complete a culminating self-assessment on the skills gained throughout the I.C.E.B.E.R.G. program."}},"proof":{"type":"Ed25519Signature2020","created":"2022-03-17T18:29:28Z","verificationMethod":"did:key:z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65#z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65","proofPurpose":"assertionMethod","proofValue":"z4W7ci6ip4qUvRhW9P4f1wsweU5JdeCcHPWvGcFebTKDsHDEaexcFNnbDajieZ5ofGzd8NGGs2cW8o17FosaohR7A"}}]}
Example VC without VP that is accepted without error:
{"@context":["https://www.w3.org/2018/credentials/v1","https://w3id.org/security/suites/ed25519-2020/v1","https://w3id.org/dcc/v1"],"id":"https://cred.127.0.0.1.nip.io/api/issuance/12","type":["VerifiableCredential","Assertion"],"issuer":{"id":"did:key:z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65","name":"United Federation of Production Software","image":"https://media.badgr.com/uploads/issuers/issuer_logo_2a3aa2a8-fc9d-4b46-a25e-d4ec721a1681.png","url":"https://ufop.badgr.com"},"issuanceDate":"2021-01-01T00:00:00.000Z","credentialSubject":{"id":"did:key:z6MkjUpSWmHTdiYAG3ASMD5tPHAtD9F1fGnQEi94sPNF7vUs","name":"GT Buz","hasCredential":{"id":"https://ufop.badgr.com/public/badges/-Kiv1iwRRraKLt1OWmo-yw","name":"I.C.E.B.E.R.G.: an Intercultural Program","type":["EducationalOccupationalCredential"],"description":"This credential certifies participation in the I.C.E.B.E.R.G. (Inspiring Cross-cultural Experiences By Engaging Ramblers at Georgia Tech) program, offered by the Georgia Tech Office of International Education.","competencyRequired":"(1) Attend three workshops on the topics of culture and self-awareness, perception and values, and the Culture Map. \n(2) Complete a culminating self-assessment on the skills gained throughout the I.C.E.B.E.R.G. program."}},"proof":{"type":"Ed25519Signature2020","created":"2022-03-17T18:34:49Z","verificationMethod":"did:key:z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65#z6MkmLN7XTAQUPFEpEHKtikoanHL24bPvWaVvHQEVLaTxk65","proofPurpose":"assertionMethod","proofValue":"z3hzckKvrVsHE7Rn3A6emsALdfSzKaqCYYc799QBGRGa9mo1LgMEUHZz6kq2Sqo19rYcSWjKSZkjrg3NhXYiY8jD4"}}