diff --git a/dist/bundle.es.js b/dist/bundle.es.js
index f26168b..9bb07c2 100644
--- a/dist/bundle.es.js
+++ b/dist/bundle.es.js
@@ -1070,6 +1070,7 @@ const Lbry = {
   stream_abandon: params => daemonCallWithResult('stream_abandon', params),
   stream_list: params => daemonCallWithResult('stream_list', params),
   channel_abandon: params => daemonCallWithResult('channel_abandon', params),
+  channel_sign: params => daemonCallWithResult('channel_sign', params),
   support_create: params => daemonCallWithResult('support_create', params),
   support_list: params => daemonCallWithResult('support_list', params),
   stream_repost: params => daemonCallWithResult('stream_repost', params),
diff --git a/dist/flow-typed/Lbry.js b/dist/flow-typed/Lbry.js
index a134a3c..1790e68 100644
--- a/dist/flow-typed/Lbry.js
+++ b/dist/flow-typed/Lbry.js
@@ -137,8 +137,8 @@ declare type CommentListResponse = {
 
 declare type MyReactions = {
   // Keys are the commentId
-  [string]: Array<string>
-}
+  [string]: Array<string>,
+};
 
 declare type OthersReactions = {
   // Keys are the commentId
@@ -146,12 +146,12 @@ declare type OthersReactions = {
     // Keys are the reaction_type, e.g. 'like'
     [string]: number,
   },
-}
+};
 
 declare type CommentReactListResponse = {
   my_reactions: Array<MyReactions>,
   others_reactions: Array<OthersReactions>,
-}
+};
 
 declare type CommentHideResponse = {
   // keyed by the CommentIds entered
@@ -176,6 +176,11 @@ declare type ChannelListResponse = {
   total_pages: number,
 };
 
+declare type ChannelSignResponse = {
+  signature: string,
+  signing_ts: string,
+};
+
 declare type FileListResponse = {
   items: Array<FileListItem>,
   page: number,
@@ -285,6 +290,7 @@ declare type LbryTypes = {
   channel_update: (params: {}) => Promise<ChannelUpdateResponse>,
   channel_import: (params: {}) => Promise<string>,
   channel_list: (params: {}) => Promise<ChannelListResponse>,
+  channel_sign: (params: {}) => Promise<ChannelSignResponse>,
   stream_abandon: (params: {}) => Promise<GenericTxResponse>,
   stream_list: (params: {}) => Promise<StreamListResponse>,
   channel_abandon: (params: {}) => Promise<GenericTxResponse>,
diff --git a/flow-typed/Lbry.js b/flow-typed/Lbry.js
index a134a3c..1790e68 100644
--- a/flow-typed/Lbry.js
+++ b/flow-typed/Lbry.js
@@ -137,8 +137,8 @@ declare type CommentListResponse = {
 
 declare type MyReactions = {
   // Keys are the commentId
-  [string]: Array<string>
-}
+  [string]: Array<string>,
+};
 
 declare type OthersReactions = {
   // Keys are the commentId
@@ -146,12 +146,12 @@ declare type OthersReactions = {
     // Keys are the reaction_type, e.g. 'like'
     [string]: number,
   },
-}
+};
 
 declare type CommentReactListResponse = {
   my_reactions: Array<MyReactions>,
   others_reactions: Array<OthersReactions>,
-}
+};
 
 declare type CommentHideResponse = {
   // keyed by the CommentIds entered
@@ -176,6 +176,11 @@ declare type ChannelListResponse = {
   total_pages: number,
 };
 
+declare type ChannelSignResponse = {
+  signature: string,
+  signing_ts: string,
+};
+
 declare type FileListResponse = {
   items: Array<FileListItem>,
   page: number,
@@ -285,6 +290,7 @@ declare type LbryTypes = {
   channel_update: (params: {}) => Promise<ChannelUpdateResponse>,
   channel_import: (params: {}) => Promise<string>,
   channel_list: (params: {}) => Promise<ChannelListResponse>,
+  channel_sign: (params: {}) => Promise<ChannelSignResponse>,
   stream_abandon: (params: {}) => Promise<GenericTxResponse>,
   stream_list: (params: {}) => Promise<StreamListResponse>,
   channel_abandon: (params: {}) => Promise<GenericTxResponse>,
diff --git a/src/lbry.js b/src/lbry.js
index 51f4111..bfa20eb 100644
--- a/src/lbry.js
+++ b/src/lbry.js
@@ -86,6 +86,7 @@ const Lbry: LbryTypes = {
   stream_abandon: params => daemonCallWithResult('stream_abandon', params),
   stream_list: params => daemonCallWithResult('stream_list', params),
   channel_abandon: params => daemonCallWithResult('channel_abandon', params),
+  channel_sign: params => daemonCallWithResult('channel_sign', params),
   support_create: params => daemonCallWithResult('support_create', params),
   support_list: params => daemonCallWithResult('support_list', params),
   stream_repost: params => daemonCallWithResult('stream_repost', params),
diff --git a/src/redux/actions/claims.js b/src/redux/actions/claims.js
index 8dc29e1..3e4f028 100644
--- a/src/redux/actions/claims.js
+++ b/src/redux/actions/claims.js
@@ -10,6 +10,7 @@ import {
   selectClaimsByUri,
   selectMyChannelClaims,
   selectPendingIds,
+  selectClaimsById,
 } from 'redux/selectors/claims';
 import { doFetchTxoPage } from 'redux/actions/wallet';
 import { selectSupportsByOutpoint } from 'redux/selectors/wallet';
@@ -64,7 +65,7 @@ export function doResolveUris(
     } = {};
 
     return Lbry.resolve({ urls: urisToResolve, ...options }).then(
-      async(result: ResolveResponse) => {
+      async (result: ResolveResponse) => {
         let repostedResults = {};
         const repostsToResolve = [];
         const fallbackResolveInfo = {