{"action":"created","comment":{"url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/comments/239967130","pull_request_review_id":182899113,"id":239967130,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzOTk2NzEzMA==","diff_hunk":"@@ -0,0 +1,279 @@\n+import head from 'lodash/head';\n+import last from 'lodash/last';\n+import merge from 'lodash/merge';\n+import React, { Component } from 'react';\n+import { Animated, Easing } from 'react-native';\n+import { connect } from 'react-redux';\n+import PropTypes from 'prop-types';\n+import { width } from 'libs/dimensions';\n+\n+class AnimatedComponent extends Component {\n+    static propTypes = {\n+        /** Component to animate */\n+        children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n+        /** Determines whether to animate in on mount */\n+        animateOnMount: PropTypes.bool,\n+        /** Delay for animation trigger */\n+        delay: PropTypes.number,\n+        /** Style of animation in */\n+        animationInType: PropTypes.array,\n+        /** Style of animation out */\n+        animationOutType: PropTypes.array,\n+        /** Duration of animation */\n+        duration: PropTypes.number,\n+        /** @ignore */\n+        navStack: PropTypes.array.isRequired,\n+        /** Style prop */\n+        style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.number]),\n+    };\n+\n+    static defaultProps = {\n+        animateOnMount: true,\n+        delay: 0,\n+        animationInType: ['fadeIn'],\n+        animationOutType: ['fadeOut'],\n+        duration: 300,\n+        triggerAnimationIn: false,\n+        triggerAnimationOut: false,\n+    };\n+\n+    constructor(props) {\n+        super(props);\n+        this.fadeValue = new Animated.Value(1);\n+        this.slideValue = new Animated.Value(0);\n+        this.animatedStyle = {};\n+        // Slide animations are reversed when popping from navigation stack\n+        this.reverseSlideIn = false;\n+        this.reverseSlideOut = false;\n+        this.iniatialiseAnimations(props.animationInType);\n+        this.screen = last(props.navStack);\n+    }\n+\n+    componentDidMount() {\n+        // Animate in on mount\n+        if (this.props.animateOnMount) {\n+            this.animateIn(this.props.delay);\n+        }\n+    }\n+\n+    componentWillReceiveProps(newProps) {\n+        // Animate out if pushing from current screen\n+        if (this.props.navStack.length < newProps.navStack.length && this.screen === last(this.props.navStack)) {\n+            this.reverseSlideOut = false;\n+            this.iniatialiseAnimations(this.props.animationOutType);\n+            this.animateOut();\n+        }\n+        // Animate out if popping from current screen\n+        if (\n+            this.props.navStack.length > newProps.navStack.length &&\n+            this.screen === last(this.props.navStack) &&\n+            head(this.props.navStack) === head(newProps.navStack)\n+        ) {\n+            this.reverseSlideOut = true;\n+            this.iniatialiseAnimations(this.props.animationOutType);\n+            this.animateOut();\n+        }\n+\n+        // Animate out if resetting navigator stack\n+        if (\n+            this.screen === last(this.props.navStack) &&\n+            newProps.navStack.length === 1 &&\n+            head(this.props.navStack) !== head(newProps.navStack)\n+        ) {\n+            this.reverseSlideIn = false;\n+            this.reverseSlideOut = false;\n+            this.iniatialiseAnimations(this.props.animationOutType);\n+            this.animateOut();\n+        }\n+\n+        // Animate in if popping to current screen\n+        if (this.props.navStack.length > newProps.navStack.length && this.screen === last(newProps.navStack)) {\n+            this.reverseSlideIn = true;\n+            this.iniatialiseAnimations(this.props.animationInType);\n+            // Allow time for animate out (300ms)\n+            this.animateIn(this.props.delay + 300);\n+        }\n+    }\n+\n+    /**\n+     * Gets animated style object for single or multiple animations\n+     * @method getAnimatedStyle\n+     * @param {string}\n+     * @returns {object}\n+     */\n+    getAnimatedStyle(animationType) {\n+        let animatedStyle = {};\n+        animationType.map((type) => {\n+            switch (type) {\n+                case 'fadeIn':\n+                    animatedStyle = merge({}, animatedStyle, { opacity: this.fadeValue });\n+                    break;\n+                case 'fadeOut':\n+                    animatedStyle = merge({}, animatedStyle, { opacity: this.fadeValue });\n+                    break;\n+                case 'slideInRight':\n+                    animatedStyle = merge({}, animatedStyle, { width, transform: [{ translateX: this.slideValue }] });\n+                    break;\n+                case 'slideOutLeft':\n+                    animatedStyle = merge({}, animatedStyle, { width, transform: [{ translateX: this.slideValue }] });\n+                    break;\n+            }\n+        });\n+        return animatedStyle;\n+    }\n+\n+    /**\n+     * Gets starting animated value\n+     * @method getStartingAnimatedValue\n+     * @param {string}\n+     * @returns {number}\n+     */\n+    getStartingAnimatedValue(animationType) {\n+        switch (animationType) {\n+            case 'fadeIn':\n+                return 0;\n+            case 'fadeOut':\n+                return 1;\n+            case 'slideInRight':\n+                return this.reverseSlideIn ? -width : width;\n+            case 'slideOutLeft':\n+                return 0;\n+        }\n+    }\n+\n+    /**\n+     * Gets final animated value\n+     * @method getFinalAnimatedValue\n+     * @param {string}\n+     * @returns {number}\n+     */\n+    getFinalAnimatedValue(animationType) {\n+        switch (animationType) {\n+            case 'fadeIn':\n+                return 1;\n+            case 'fadeOut':\n+                return 0;\n+            case 'slideInRight':\n+                return 0;\n+            case 'slideOutLeft':\n+                return this.reverseSlideOut ? width : -width;\n+        }\n+    }\n+\n+    /**\n+     * Gets easing function\n+     * @method getEasing\n+     * @param {string}\n+     * @returns {function}\n+     */\n+    getEasing(animationType) {\n+        switch (animationType) {\n+            case 'fadeIn':\n+                return Easing.ease;\n+            case 'fadeOut':\n+                return Easing.ease;\n+            case 'slideOutLeft':\n+                return Easing.bezier(0.25, 1, 0.25, 1);\n+            case 'slideInRight':\n+                return Easing.bezier(0.25, 1, 0.25, 1);\n+        }\n+    }\n+\n+    /**\n+     * Gets variable pointer for each animation type\n+     * @method getAnimation\n+     * @param {string}\n+     * @returns {number}\n+     */\n+    getAnimationPointer(animationType) {\n+        switch (animationType) {\n+            case 'fadeIn':\n+                return this.fadeValue;\n+            case 'fadeOut':\n+                return this.fadeValue;\n+            case 'slideInRight':\n+                return this.slideValue;\n+            case 'slideOutLeft':\n+                return this.slideValue;\n+        }\n+    }\n+\n+    /**\n+     * Creates animation and gets relevant values\n+     * @method getAnimation\n+     * @param {string}\n+     * @param {number}\n+     * @returns {array}\n+     */\n+    getAnimation(animationType, delay = 0) {\n+        const animations = [];\n+        animationType.map((type) => {\n+            animations.push(\n+                Animated.timing(this.getAnimationPointer(type), {\n+                    toValue: this.getFinalAnimatedValue(type),\n+                    duration: type === 'fadeOut' ? 100 : this.props.duration,\n+                    delay,\n+                    easing: this.getEasing(type),\n+                }),\n+            );\n+        });\n+        return animations;\n+    }\n+\n+    /**\n+     * Assigns animated values to pointers and initialises animation style\n+     * @method iniatialiseAnimations\n+     * @param {string}\n+     */\n+    iniatialiseAnimations(animationType) {\n+        animationType.map((type) => {\n+            switch (type) {\n+                case 'fadeIn':\n+                    this.fadeValue = new Animated.Value(this.getStartingAnimatedValue(type));\n+                    break;\n+                case 'fadeOut':\n+                    this.fadeValue = new Animated.Value(this.getStartingAnimatedValue(type));\n+                    break;\n+                case 'slideInRight':\n+                    this.slideValue = new Animated.Value(this.getStartingAnimatedValue(type));\n+                    break;\n+                case 'slideOutLeft':\n+                    this.slideValue = new Animated.Value(this.getStartingAnimatedValue(type));\n+                    break;","path":"src/mobile/src/ui/components/AnimatedComponent.js","position":242,"original_position":242,"commit_id":"a326b71d845fe4e16472042dfe7a9c0c2250a9e3","original_commit_id":"8aaba482aedb2e826fe95fdda8c1b3a17c373869","user":{"login":"rajivshah3","id":19519564,"node_id":"MDQ6VXNlcjE5NTE5NTY0","avatar_url":"https://avatars0.githubusercontent.com/u/19519564?v=4","gravatar_id":"","url":"https://api.github.com/users/rajivshah3","html_url":"https://github.com/rajivshah3","followers_url":"https://api.github.com/users/rajivshah3/followers","following_url":"https://api.github.com/users/rajivshah3/following{/other_user}","gists_url":"https://api.github.com/users/rajivshah3/gists{/gist_id}","starred_url":"https://api.github.com/users/rajivshah3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rajivshah3/subscriptions","organizations_url":"https://api.github.com/users/rajivshah3/orgs","repos_url":"https://api.github.com/users/rajivshah3/repos","events_url":"https://api.github.com/users/rajivshah3/events{/privacy}","received_events_url":"https://api.github.com/users/rajivshah3/received_events","type":"User","site_admin":false},"body":"Also here","created_at":"2018-12-07T22:39:31Z","updated_at":"2018-12-07T22:48:28Z","html_url":"https://github.com/iotaledger/trinity-wallet/pull/595#discussion_r239967130","pull_request_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/comments/239967130"},"html":{"href":"https://github.com/iotaledger/trinity-wallet/pull/595#discussion_r239967130"},"pull_request":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595"}}},"pull_request":{"url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595","id":230259515,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMjU5NTE1","html_url":"https://github.com/iotaledger/trinity-wallet/pull/595","diff_url":"https://github.com/iotaledger/trinity-wallet/pull/595.diff","patch_url":"https://github.com/iotaledger/trinity-wallet/pull/595.patch","issue_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/595","number":595,"state":"open","locked":false,"title":"WIP: Mobile page transition animations","user":{"login":"cvarley100","id":25092479,"node_id":"MDQ6VXNlcjI1MDkyNDc5","avatar_url":"https://avatars1.githubusercontent.com/u/25092479?v=4","gravatar_id":"","url":"https://api.github.com/users/cvarley100","html_url":"https://github.com/cvarley100","followers_url":"https://api.github.com/users/cvarley100/followers","following_url":"https://api.github.com/users/cvarley100/following{/other_user}","gists_url":"https://api.github.com/users/cvarley100/gists{/gist_id}","starred_url":"https://api.github.com/users/cvarley100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cvarley100/subscriptions","organizations_url":"https://api.github.com/users/cvarley100/orgs","repos_url":"https://api.github.com/users/cvarley100/repos","events_url":"https://api.github.com/users/cvarley100/events{/privacy}","received_events_url":"https://api.github.com/users/cvarley100/received_events","type":"User","site_admin":false},"body":"# Description\r\n\r\n- Adds page flow animations\r\n\r\n## Type of change\r\n\r\n- Enhancement (a non-breaking change which adds functionality)\r\n\r\n# How Has This Been Tested?\r\n\r\nManually on iOS/Android\r\n\r\n# Checklist:\r\n\r\n_Please delete items that are not relevant._\r\n\r\n- [ ] My code follows the style guidelines for this project\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] New and existing unit tests pass locally with my changes\r\n- [ ] For changes to `mobile` that include native code (including React Native modules): I have verified that both iOS and Android successfully build in both `Debug` and `Release` modes\r\n","created_at":"2018-11-12T20:30:58Z","updated_at":"2018-12-07T22:48:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4cc8052cb233691d1e2a4a2b2df6f778fc9243f9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":942836175,"node_id":"MDU6TGFiZWw5NDI4MzYxNzU=","url":"https://api.github.com/repos/iotaledger/trinity-wallet/labels/C%20-%20Mobile","name":"C - Mobile","color":"1d76db","default":false},{"id":942438767,"node_id":"MDU6TGFiZWw5NDI0Mzg3Njc=","url":"https://api.github.com/repos/iotaledger/trinity-wallet/labels/T%20-%20Enhancement","name":"T - Enhancement","color":"a2eeef","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595/commits","review_comments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595/comments","review_comment_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/comments{/number}","comments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/595/comments","statuses_url":"https://api.github.com/repos/iotaledger/trinity-wallet/statuses/a326b71d845fe4e16472042dfe7a9c0c2250a9e3","head":{"label":"iotaledger:feat/page-animations","ref":"feat/page-animations","sha":"a326b71d845fe4e16472042dfe7a9c0c2250a9e3","user":{"login":"iotaledger","id":20126597,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwMTI2NTk3","avatar_url":"https://avatars3.githubusercontent.com/u/20126597?v=4","gravatar_id":"","url":"https://api.github.com/users/iotaledger","html_url":"https://github.com/iotaledger","followers_url":"https://api.github.com/users/iotaledger/followers","following_url":"https://api.github.com/users/iotaledger/following{/other_user}","gists_url":"https://api.github.com/users/iotaledger/gists{/gist_id}","starred_url":"https://api.github.com/users/iotaledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iotaledger/subscriptions","organizations_url":"https://api.github.com/users/iotaledger/orgs","repos_url":"https://api.github.com/users/iotaledger/repos","events_url":"https://api.github.com/users/iotaledger/events{/privacy}","received_events_url":"https://api.github.com/users/iotaledger/received_events","type":"Organization","site_admin":false},"repo":{"id":134587042,"node_id":"MDEwOlJlcG9zaXRvcnkxMzQ1ODcwNDI=","name":"trinity-wallet","full_name":"iotaledger/trinity-wallet","private":false,"owner":{"login":"iotaledger","id":20126597,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwMTI2NTk3","avatar_url":"https://avatars3.githubusercontent.com/u/20126597?v=4","gravatar_id":"","url":"https://api.github.com/users/iotaledger","html_url":"https://github.com/iotaledger","followers_url":"https://api.github.com/users/iotaledger/followers","following_url":"https://api.github.com/users/iotaledger/following{/other_user}","gists_url":"https://api.github.com/users/iotaledger/gists{/gist_id}","starred_url":"https://api.github.com/users/iotaledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iotaledger/subscriptions","organizations_url":"https://api.github.com/users/iotaledger/orgs","repos_url":"https://api.github.com/users/iotaledger/repos","events_url":"https://api.github.com/users/iotaledger/events{/privacy}","received_events_url":"https://api.github.com/users/iotaledger/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/iotaledger/trinity-wallet","description":"The IOTA Trinity Wallet - currently in public beta testing","fork":false,"url":"https://api.github.com/repos/iotaledger/trinity-wallet","forks_url":"https://api.github.com/repos/iotaledger/trinity-wallet/forks","keys_url":"https://api.github.com/repos/iotaledger/trinity-wallet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/iotaledger/trinity-wallet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/iotaledger/trinity-wallet/teams","hooks_url":"https://api.github.com/repos/iotaledger/trinity-wallet/hooks","issue_events_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/events{/number}","events_url":"https://api.github.com/repos/iotaledger/trinity-wallet/events","assignees_url":"https://api.github.com/repos/iotaledger/trinity-wallet/assignees{/user}","branches_url":"https://api.github.com/repos/iotaledger/trinity-wallet/branches{/branch}","tags_url":"https://api.github.com/repos/iotaledger/trinity-wallet/tags","blobs_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/refs{/sha}","trees_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/iotaledger/trinity-wallet/statuses/{sha}","languages_url":"https://api.github.com/repos/iotaledger/trinity-wallet/languages","stargazers_url":"https://api.github.com/repos/iotaledger/trinity-wallet/stargazers","contributors_url":"https://api.github.com/repos/iotaledger/trinity-wallet/contributors","subscribers_url":"https://api.github.com/repos/iotaledger/trinity-wallet/subscribers","subscription_url":"https://api.github.com/repos/iotaledger/trinity-wallet/subscription","commits_url":"https://api.github.com/repos/iotaledger/trinity-wallet/commits{/sha}","git_commits_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/commits{/sha}","comments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/comments{/number}","issue_comment_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/comments{/number}","contents_url":"https://api.github.com/repos/iotaledger/trinity-wallet/contents/{+path}","compare_url":"https://api.github.com/repos/iotaledger/trinity-wallet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/iotaledger/trinity-wallet/merges","archive_url":"https://api.github.com/repos/iotaledger/trinity-wallet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/iotaledger/trinity-wallet/downloads","issues_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues{/number}","pulls_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls{/number}","milestones_url":"https://api.github.com/repos/iotaledger/trinity-wallet/milestones{/number}","notifications_url":"https://api.github.com/repos/iotaledger/trinity-wallet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/iotaledger/trinity-wallet/labels{/name}","releases_url":"https://api.github.com/repos/iotaledger/trinity-wallet/releases{/id}","deployments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/deployments","created_at":"2018-05-23T15:08:04Z","updated_at":"2018-12-07T20:16:54Z","pushed_at":"2018-12-07T22:46:29Z","git_url":"git://github.com/iotaledger/trinity-wallet.git","ssh_url":"git@github.com:iotaledger/trinity-wallet.git","clone_url":"https://github.com/iotaledger/trinity-wallet.git","svn_url":"https://github.com/iotaledger/trinity-wallet","homepage":"https://trinity.iota.org","size":116359,"stargazers_count":175,"watchers_count":175,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":37,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":37,"open_issues":108,"watchers":175,"default_branch":"develop"}},"base":{"label":"iotaledger:feat/animations","ref":"feat/animations","sha":"2465f23bbeee4885bcc7208b7ba1ae97ffeed9ba","user":{"login":"iotaledger","id":20126597,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwMTI2NTk3","avatar_url":"https://avatars3.githubusercontent.com/u/20126597?v=4","gravatar_id":"","url":"https://api.github.com/users/iotaledger","html_url":"https://github.com/iotaledger","followers_url":"https://api.github.com/users/iotaledger/followers","following_url":"https://api.github.com/users/iotaledger/following{/other_user}","gists_url":"https://api.github.com/users/iotaledger/gists{/gist_id}","starred_url":"https://api.github.com/users/iotaledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iotaledger/subscriptions","organizations_url":"https://api.github.com/users/iotaledger/orgs","repos_url":"https://api.github.com/users/iotaledger/repos","events_url":"https://api.github.com/users/iotaledger/events{/privacy}","received_events_url":"https://api.github.com/users/iotaledger/received_events","type":"Organization","site_admin":false},"repo":{"id":134587042,"node_id":"MDEwOlJlcG9zaXRvcnkxMzQ1ODcwNDI=","name":"trinity-wallet","full_name":"iotaledger/trinity-wallet","private":false,"owner":{"login":"iotaledger","id":20126597,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwMTI2NTk3","avatar_url":"https://avatars3.githubusercontent.com/u/20126597?v=4","gravatar_id":"","url":"https://api.github.com/users/iotaledger","html_url":"https://github.com/iotaledger","followers_url":"https://api.github.com/users/iotaledger/followers","following_url":"https://api.github.com/users/iotaledger/following{/other_user}","gists_url":"https://api.github.com/users/iotaledger/gists{/gist_id}","starred_url":"https://api.github.com/users/iotaledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iotaledger/subscriptions","organizations_url":"https://api.github.com/users/iotaledger/orgs","repos_url":"https://api.github.com/users/iotaledger/repos","events_url":"https://api.github.com/users/iotaledger/events{/privacy}","received_events_url":"https://api.github.com/users/iotaledger/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/iotaledger/trinity-wallet","description":"The IOTA Trinity Wallet - currently in public beta testing","fork":false,"url":"https://api.github.com/repos/iotaledger/trinity-wallet","forks_url":"https://api.github.com/repos/iotaledger/trinity-wallet/forks","keys_url":"https://api.github.com/repos/iotaledger/trinity-wallet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/iotaledger/trinity-wallet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/iotaledger/trinity-wallet/teams","hooks_url":"https://api.github.com/repos/iotaledger/trinity-wallet/hooks","issue_events_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/events{/number}","events_url":"https://api.github.com/repos/iotaledger/trinity-wallet/events","assignees_url":"https://api.github.com/repos/iotaledger/trinity-wallet/assignees{/user}","branches_url":"https://api.github.com/repos/iotaledger/trinity-wallet/branches{/branch}","tags_url":"https://api.github.com/repos/iotaledger/trinity-wallet/tags","blobs_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/refs{/sha}","trees_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/iotaledger/trinity-wallet/statuses/{sha}","languages_url":"https://api.github.com/repos/iotaledger/trinity-wallet/languages","stargazers_url":"https://api.github.com/repos/iotaledger/trinity-wallet/stargazers","contributors_url":"https://api.github.com/repos/iotaledger/trinity-wallet/contributors","subscribers_url":"https://api.github.com/repos/iotaledger/trinity-wallet/subscribers","subscription_url":"https://api.github.com/repos/iotaledger/trinity-wallet/subscription","commits_url":"https://api.github.com/repos/iotaledger/trinity-wallet/commits{/sha}","git_commits_url":"https://api.github.com/repos/iotaledger/trinity-wallet/git/commits{/sha}","comments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/comments{/number}","issue_comment_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/comments{/number}","contents_url":"https://api.github.com/repos/iotaledger/trinity-wallet/contents/{+path}","compare_url":"https://api.github.com/repos/iotaledger/trinity-wallet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/iotaledger/trinity-wallet/merges","archive_url":"https://api.github.com/repos/iotaledger/trinity-wallet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/iotaledger/trinity-wallet/downloads","issues_url":"https://api.github.com/repos/iotaledger/trinity-wallet/issues{/number}","pulls_url":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls{/number}","milestones_url":"https://api.github.com/repos/iotaledger/trinity-wallet/milestones{/number}","notifications_url":"https://api.github.com/repos/iotaledger/trinity-wallet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/iotaledger/trinity-wallet/labels{/name}","releases_url":"https://api.github.com/repos/iotaledger/trinity-wallet/releases{/id}","deployments_url":"https://api.github.com/repos/iotaledger/trinity-wallet/deployments","created_at":"2018-05-23T15:08:04Z","updated_at":"2018-12-07T20:16:54Z","pushed_at":"2018-12-07T22:46:29Z","git_url":"git://github.com/iotaledger/trinity-wallet.git","ssh_url":"git@github.com:iotaledger/trinity-wallet.git","clone_url":"https://github.com/iotaledger/trinity-wallet.git","svn_url":"https://github.com/iotaledger/trinity-wallet","homepage":"https://trinity.iota.org","size":116359,"stargazers_count":175,"watchers_count":175,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":37,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":37,"open_issues":108,"watchers":175,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595"},"html":{"href":"https://github.com/iotaledger/trinity-wallet/pull/595"},"issue":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/595"},"comments":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/issues/595/comments"},"review_comments":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595/comments"},"review_comment":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/pulls/595/commits"},"statuses":{"href":"https://api.github.com/repos/iotaledger/trinity-wallet/statuses/a326b71d845fe4e16472042dfe7a9c0c2250a9e3"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"rajivshah3"}}