Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Get public key
  • Loading branch information
Piotr Stachyra committed Oct 23, 2020
1 parent 10c4085 commit a357335
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 3 deletions.
35 changes: 34 additions & 1 deletion app.rb
Expand Up @@ -58,6 +58,39 @@

# MISC

get "/get-pub-key" do
wallets = @cw.shelley.wallets.list
handle_api_err wallets, session
params[:wid] ? wid = params[:wid] : wid = wallets.first['id']
erb :form_get_public_key, { :locals => { :wallets => wallets,
:wid => wid,
:role => params[:role],
:index => params[:index],
:pub_key => nil
} }
end

post "/get-pub-key" do
wallets = @cw.shelley.wallets.list
handle_api_err wallets, session

begin
pub_key = @cw.shelley.keys.get_public_key(params[:wid],
params[:role],
params[:index])
rescue
session[:error] = "Make sure parameters are valid. "
redirect "/get-pub-key"
end
handle_api_err pub_key, session
erb :form_get_public_key, { :locals => { :wallets => wallets,
:wid => params[:wid],
:role => params[:role],
:index => params[:index],
:pub_key => pub_key
} }
end

get "/sign-metadata" do
wallets = @cw.shelley.wallets.list
handle_api_err wallets, session
Expand All @@ -78,7 +111,7 @@
m = parse_metadata(params[:metadata])

begin
signed_metadata = @cw.misc.utils.sign_metadata(params[:wid],
signed_metadata = @cw.shelley.keys.sign_metadata(params[:wid],
params[:role],
params[:index],
params[:pass],
Expand Down
61 changes: 61 additions & 0 deletions views/form_get_public_key.erb
@@ -0,0 +1,61 @@

<div class="list-group">
<div class="list-group-item">
Get public key
| <small><a href="/wallets/<%= wid %>">
go back to wallet
</a></small>
</div>
<div class="list-group-item">
<form action="/get-pub-key" method="POST">
<div class="form-group">
<label for="wid">Wallet</label>
<select class="form-control" name="wid" id="wid">
<% wallets.each do |w| %>
<option <%= wid == w['id'] ? "selected" : "" %> value="<%= w['id'] %>">
<%= "#{w['name']} [id: #{w['id']}, balance available: #{w['balance']['available']['quantity']}]" %>
</option>
<% end %>
</select>
</div>
<div class="form-group">
<label for="role">Role</label>
<select class="form-control" name="role" id="role">
<option <%= "selected" if role == "utxo_external" %> value="utxo_external">utxo_external</option>
<option <%= "selected" if role == "utxo_internal" %> value="utxo_internal">utxo_internal</option>
<option <%= "selected" if role == "mutable_account" %> value="mutable_account">mutable_account</option>
<option <%= "selected" if role == "multisig_script" %> value="multisig_script">multisig_script</option>
</select>
</div>
<div class="form-group">
<label for="index">Index</label>
<input type="text" class="form-control" name="index" id="index"
placeholder="" value="<%= index %>">
<small id="help" class="form-text text-muted">Example: 1852H. An individual segment within a derivation path.</small>
</div>



<button type="submit" class="btn btn-success">Get public key</button>
</form>
</div>

<% if session[:error] %>
<div class="alert alert-danger" role="alert">
<%= session[:error]%>
</div>
<%
session.delete :error
end
%>
<% if pub_key %>
<div class="list-group-item" >
<small id="signed_metadata">
Response:<br/>
<%= pub_key %>
<br/><br/><%= generate_curl(pub_key) %>
</small>
</div>
<% end %>
</div>
3 changes: 3 additions & 0 deletions views/form_sign_metadata.erb
Expand Up @@ -2,6 +2,9 @@
<div class="list-group">
<div class="list-group-item">
Sign metadata
| <small><a href="/wallets/<%= wid %>">
go back to wallet
</a></small>
</div>
<div class="list-group-item">
<form action="/sign-metadata" method="POST">
Expand Down
2 changes: 0 additions & 2 deletions views/main_nav.erb
Expand Up @@ -47,8 +47,6 @@
<a class="dropdown-item" href="/submit-external-tx">Submit External Transaction</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/settings">Settings</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/sign-metadata">Sign Metadata</a>
</div>
</li>
<li class="nav-item dropdown">
Expand Down
9 changes: 9 additions & 0 deletions views/wallet.erb
Expand Up @@ -75,6 +75,15 @@
<a class="dropdown-item" href="/wallets/coin-selection/delegation?wid=<%= wal['id'] %>">Delegation</a>
</div>
</div>
<div>
<a class="nav-link dropdown-toggle"
data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Keys</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/sign-metadata?wid=<%= wal['id'] %>">Sign Metadata</a>
<a class="dropdown-item" href="/get-pub-key?wid=<%= wal['id'] %>">Get public key</a>
</div>
</div>

<a class="nav-link" href="/wallets-utxo?wid=<%= wal['id'] %>">UTxO</a>

<!-- <a class="nav-link" href="#" onClick="showIt('utxo_show')">UTxO</a> -->
Expand Down

0 comments on commit a357335

Please sign in to comment.