diff --git a/contract/ProofOfPhone.sol b/contract/ProofOfPhone.sol index 1d17660..b6d3dee 100644 --- a/contract/ProofOfPhone.sol +++ b/contract/ProofOfPhone.sol @@ -13,7 +13,7 @@ contract ProofOfPhone { tokens[token] = PhoneAddr({phone: phone, addr: msg.sender}); } - function activatePair(uint code) { + function activatePair(string code) { require(tokens[sha3(code)].addr == msg.sender); phoneAddressPair[tokens[sha3(code)].phone] = tokens[sha3(code)].addr; addressPhonePair[tokens[sha3(code)].addr] = tokens[sha3(code)].phone; diff --git a/scripts/config.json b/scripts/config.json index d3638e8..3b2c2f9 100644 --- a/scripts/config.json +++ b/scripts/config.json @@ -4,12 +4,12 @@ "live": { "rpc": "http://127.0.0.1:8540", "account": "0x0000000000000000000000000000000000000000", - "contractAddress": "0x0000000000000000000000000000000000000000" + "contractAddress": "0x6d57f4a5509f80966ea0abefa71a67526e7bf549" }, "contracts": { "ProofOfPhone": { - "bin": "0x6060604052341561000f57600080fd5b5b6104568061001f6000396000f300606060405236156100805763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630367966681146100855780633404fe32146100b75780635fb3f3b5146100d257806371d01c73146100ea578063b958a5e11461011b578063ceaecc841461014c578063fe97ee881461017e575b600080fd5b341561009057600080fd5b61009b6004356101b1565b604051600160a060020a03909116815260200160405180910390f35b34156100c257600080fd5b6100d06004356024356101cf565b005b34156100dd57600080fd5b6100d060043561023b565b005b34156100f557600080fd5b610109600160a060020a03600435166103aa565b60405190815260200160405180910390f35b341561012657600080fd5b610109600160a060020a03600435166103bc565b60405190815260200160405180910390f35b341561015757600080fd5b61009b6004356103db565b604051600160a060020a03909116815260200160405180910390f35b341561018957600080fd5b61019d600160a060020a03600435166103f6565b604051901515815260200160405180910390f35b600081815260016020526040902054600160a060020a03165b919050565b604080519081016040908152838252600160a060020a0333166020808401919091526000848152600290915220815181556020820151600191909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b5050565b33600160a060020a031660026000836040519081526020016040519081900390208152602081019190915260400160002060010154600160a060020a03161461028357600080fd5b600260008260405190815260200160405180910390206000191660001916815260200190815260200160002060010160009054906101000a9004600160a060020a031660016000600260008560405190815260200160405180910390206000191660001916815260200190815260200160002060000154815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a03160217905550600260008260405190815260200160405180910390206000191660001916815260200190815260200160002060000154600080600260008560405190815260200160405190819003902081526020808201929092526040908101600090812060010154600160a060020a031684529183019390935291019020555b50565b60006020819052908152604090205481565b600160a060020a0381166000908152602081905260409020545b919050565b600160205260009081526040902054600160a060020a031681565b600160a060020a0381166000908152602081905260408120541561041c575060016101ca565b5060006101ca565b5b9190505600a165627a7a7230582050345f78bdbfe2e76a3da18b5175077fc8d6cb5466ba9b133bec3e02d2ee22450029", - "abi": [{"constant":true,"inputs":[{"name":"phone","type":"uint256"}],"name":"getAddressByPhone","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"phone","type":"uint256"},{"name":"token","type":"bytes32"}],"name":"newToken","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"code","type":"uint256"}],"name":"activatePair","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressPhonePair","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phoneAddressPair","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"}] + "bin": "0x6060604052341561000f57600080fd5b5b6106088061001f6000396000f300606060405236156100805763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630367966681146100855780633404fe32146100b75780634d389f13146100d257806371d01c7314610125578063b958a5e114610156578063ceaecc8414610187578063fe97ee88146101b9575b600080fd5b341561009057600080fd5b61009b6004356101ec565b604051600160a060020a03909116815260200160405180910390f35b34156100c257600080fd5b6100d060043560243561020a565b005b34156100dd57600080fd5b6100d060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061027695505050505050565b005b341561013057600080fd5b610144600160a060020a036004351661055c565b60405190815260200160405180910390f35b341561016157600080fd5b610144600160a060020a036004351661056e565b60405190815260200160405180910390f35b341561019257600080fd5b61009b60043561058d565b604051600160a060020a03909116815260200160405180910390f35b34156101c457600080fd5b6101d8600160a060020a03600435166105a8565b604051901515815260200160405180910390f35b600081815260016020526040902054600160a060020a03165b919050565b604080519081016040908152838252600160a060020a0333166020808401919091526000848152600290915220815181556020820151600191909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b5050565b33600160a060020a031660026000836040518082805190602001908083835b602083106102b557805182525b601f199092019160209182019101610295565b6001836020036101000a03801982511681845116179092525050509190910192506040915050519081900390208152602081019190915260400160002060010154600160a060020a03161461030957600080fd5b60026000826040518082805190602001908083835b6020831061033e57805182525b601f19909201916020918201910161031e565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191660001916815260200190815260200160002060010160009054906101000a9004600160a060020a03166001600060026000856040518082805190602001908083835b602083106103d057805182525b601f1990920191602091820191016103b0565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191660001916815260200190815260200160002060000154815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a0316021790555060026000826040518082805190602001908083835b6020831061047d57805182525b601f19909201916020918201910161045d565b6001836020036101000a03801982511681845116179092525050509190910192506040915050518091039020600019166000191681526020019081526020016000206000015460008060026000856040518082805190602001908083835b602083106104fb57805182525b601f1990920191602091820191016104db565b6001836020036101000a038019825116818451161790925250505091909101925060409150505190819003902081526020808201929092526040908101600090812060010154600160a060020a031684529183019390935291019020555b50565b60006020819052908152604090205481565b600160a060020a0381166000908152602081905260409020545b919050565b600160205260009081526040902054600160a060020a031681565b600160a060020a038116600090815260208190526040812054156105ce57506001610205565b506000610205565b5b9190505600a165627a7a7230582001f6d5fa87504d8f1f0cd285c0699d4d272045de9891d01aa2440fc2ddaa78c90029", + "abi": [{"constant":true,"inputs":[{"name":"phone","type":"uint256"}],"name":"getAddressByPhone","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"phone","type":"uint256"},{"name":"token","type":"bytes32"}],"name":"newToken","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"code","type":"string"}],"name":"activatePair","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressPhonePair","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phoneAddressPair","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"}] } } } diff --git a/web/public/javascripts/application.js b/web/public/javascripts/application.js index b843724..8550c7a 100644 --- a/web/public/javascripts/application.js +++ b/web/public/javascripts/application.js @@ -22,7 +22,6 @@ g.css({display:"none"}),"function"==typeof c.complete&&c.complete(),g.remove(),b a(this).attr("src")!==b&&(a(this).css("background-image","url("+a(this).attr("src")+")"),a(this).attr("src",b))}),b.indicators&&(f=a(''),j.each(function(c){var e=a('
  • ');e.click(function(){var c=i.parent(),e=c.find(a(this)).index();d(e),clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval)}),f.append(e)}),h.append(f),f=h.find("ul.indicators").find("li.indicator-item")),e?e.show():(j.first().addClass("active").velocity({opacity:1},{duration:b.transition,queue:!1,easing:"easeOutQuad"}),k=0,e=j.eq(k),b.indicators&&f.eq(k).addClass("active")),e.find("img").each(function(){e.find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:b.transition,queue:!1,easing:"easeOutQuad"})}),g=setInterval(function(){k=i.find(".active").index(),d(k+1)},b.transition+b.interval);var l=!1,m=!1,n=!1;h.hammer({prevent_default:!1}).bind("pan",function(a){if("touch"===a.gesture.pointerType){clearInterval(g);var b=a.gesture.direction,c=a.gesture.deltaX,d=a.gesture.velocityX;$curr_slide=i.find(".active"),$curr_slide.velocity({translateX:c},{duration:50,queue:!1,easing:"easeOutQuad"}),4===b&&(c>h.innerWidth()/2||-.65>d)?n=!0:2===b&&(c<-1*h.innerWidth()/2||d>.65)&&(m=!0);var e;m&&(e=$curr_slide.next(),0===e.length&&(e=j.first()),e.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"})),n&&(e=$curr_slide.prev(),0===e.length&&(e=j.last()),e.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(a){"touch"===a.gesture.pointerType&&($curr_slide=i.find(".active"),l=!1,curr_index=i.find(".active").index(),n||m?m?(d(curr_index+1),$curr_slide.velocity({translateX:-1*h.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})):n&&(d(curr_index-1),$curr_slide.velocity({translateX:h.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})):$curr_slide.velocity({translateX:0},{duration:300,queue:!1,easing:"easeOutQuad"}),m=!1,n=!1,clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval))}),h.on("sliderPause",function(){clearInterval(g)}),h.on("sliderStart",function(){clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval)}),h.on("sliderNext",function(){k=i.find(".active").index(),d(k+1)}),h.on("sliderPrev",function(){k=i.find(".active").index(),d(k-1)})})},pause:function(){a(this).trigger("sliderPause")},start:function(){a(this).trigger("sliderStart")},next:function(){a(this).trigger("sliderNext")},prev:function(){a(this).trigger("sliderPrev")}};a.fn.slider=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.tooltip"):b.init.apply(this,arguments)}}(jQuery),function(a){a(document).ready(function(){a(document).on("click.card",".card",function(b){a(this).find("> .card-reveal").length&&(a(b.target).is(a(".card-reveal .card-title"))||a(b.target).is(a(".card-reveal .card-title i"))?a(this).find(".card-reveal").velocity({translateY:0},{duration:225,queue:!1,easing:"easeInOutQuad",complete:function(){a(this).css({display:"none"})}}):(a(b.target).is(a(".card .activator"))||a(b.target).is(a(".card .activator i")))&&(a(b.target).closest(".card").css("overflow","hidden"),a(this).find(".card-reveal").css({display:"block"}).velocity("stop",!1).velocity({translateY:"-100%"},{duration:300,queue:!1,easing:"easeInOutQuad"}))),a(".card-reveal").closest(".card").css("overflow","hidden")})})}(jQuery),function(a){a(document).ready(function(){a(document).on("click.chip",".chip .material-icons",function(b){a(this).parent().remove()})})}(jQuery),function(a){a(document).ready(function(){a.fn.pushpin=function(b){var c={top:0,bottom:1/0,offset:0};return b=a.extend(c,b),$index=0,this.each(function(){function c(a){a.removeClass("pin-top"),a.removeClass("pinned"),a.removeClass("pin-bottom")}function d(d,e){d.each(function(){b.top<=e&&b.bottom>=e&&!a(this).hasClass("pinned")&&(c(a(this)),a(this).css("top",b.offset),a(this).addClass("pinned")),eb.bottom&&!a(this).hasClass("pin-bottom")&&(c(a(this)),a(this).addClass("pin-bottom"),a(this).css("top",b.bottom-g))})}var e=Materialize.guid(),f=a(this),g=a(this).offset().top;d(f,a(window).scrollTop()),a(window).on("scroll."+e,function(){var c=a(window).scrollTop()+b.offset;d(f,c)})})}})}(jQuery),function(a){a(document).ready(function(){a.fn.reverse=[].reverse,a(document).on("mouseenter.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle)",function(c){var d=a(this);b(d)}),a(document).on("mouseleave.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle)",function(b){var d=a(this);c(d)}),a(document).on("click.fixedActionBtn",".fixed-action-btn.click-to-toggle > a",function(d){var e=a(this),f=e.parent();f.hasClass("active")?c(f):b(f)})}),a.fn.extend({openFAB:function(){b(a(this))},closeFAB:function(){c(a(this))}});var b=function(b){if($this=b,$this.hasClass("active")===!1){var c,d,e=$this.hasClass("horizontal");e===!0?d=40:c=40,$this.addClass("active"),$this.find("ul .btn-floating").velocity({scaleY:".4",scaleX:".4",translateY:c+"px",translateX:d+"px"},{duration:0});var f=0;$this.find("ul .btn-floating").reverse().each(function(){a(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0",translateX:"0"},{duration:80,delay:f}),f+=40})}},c=function(a){$this=a;var b,c,d=$this.hasClass("horizontal");d===!0?c=40:b=40,$this.removeClass("active");$this.find("ul .btn-floating").velocity("stop",!0),$this.find("ul .btn-floating").velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:b+"px",translateX:c+"px"},{duration:80})}}(jQuery),function(a){Materialize.fadeInImage=function(b){var c=a(b);c.css({opacity:0}),a(c).velocity({opacity:1},{duration:650,queue:!1,easing:"easeOutSine"}),a(c).velocity({opacity:1},{duration:1300,queue:!1,easing:"swing",step:function(b,c){c.start=100;var d=b/100,e=150-(100-b)/1.75;100>e&&(e=100),b>=0&&a(this).css({"-webkit-filter":"grayscale("+d+")brightness("+e+"%)",filter:"grayscale("+d+")brightness("+e+"%)"})}})},Materialize.showStaggeredList=function(b){var c=0;a(b).find("li").velocity({translateX:"-100px"},{duration:0}),a(b).find("li").each(function(){a(this).velocity({opacity:"1",translateX:"0"},{duration:800,delay:c,easing:[60,10]}),c+=120})},a(document).ready(function(){var b=!1,c=!1;a(".dismissable").each(function(){a(this).hammer({prevent_default:!1}).bind("pan",function(d){if("touch"===d.gesture.pointerType){var e=a(this),f=d.gesture.direction,g=d.gesture.deltaX,h=d.gesture.velocityX;e.velocity({translateX:g},{duration:50,queue:!1,easing:"easeOutQuad"}),4===f&&(g>e.innerWidth()/2||-.75>h)&&(b=!0),2===f&&(g<-1*e.innerWidth()/2||h>.75)&&(c=!0)}}).bind("panend",function(d){if(Math.abs(d.gesture.deltaX)j+g&&e.done!==!0){var k=new Function(h);k(),e.done=!0}}}}},100)}}(jQuery),function(a){"function"==typeof define&&define.amd?define("picker",["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):this.Picker=a(jQuery)}(function(a){function b(f,g,i,l){function m(){return b._.node("div",b._.node("div",b._.node("div",b._.node("div",y.component.nodes(t.open),v.box),v.wrap),v.frame),v.holder)}function n(){w.data(g,y).addClass(v.input).attr("tabindex",-1).val(w.data("value")?y.get("select",u.format):f.value),u.editable||w.on("focus."+t.id+" click."+t.id,function(a){a.preventDefault(),y.$root[0].focus()}).on("keydown."+t.id,q),e(f,{haspopup:!0,expanded:!1,readonly:!1,owns:f.id+"_root"})}function o(){y.$root.on({keydown:q,focusin:function(a){y.$root.removeClass(v.focused),a.stopPropagation()},"mousedown click":function(b){var c=b.target;c!=y.$root.children()[0]&&(b.stopPropagation(),"mousedown"!=b.type||a(c).is("input, select, textarea, button, option")||(b.preventDefault(),y.$root[0].focus()))}}).on({focus:function(){w.addClass(v.target)},blur:function(){w.removeClass(v.target)}}).on("focus.toOpen",r).on("click","[data-pick], [data-nav], [data-clear], [data-close]",function(){var b=a(this),c=b.data(),d=b.hasClass(v.navDisabled)||b.hasClass(v.disabled),e=h();e=e&&(e.type||e.href),(d||e&&!a.contains(y.$root[0],e))&&y.$root[0].focus(),!d&&c.nav?y.set("highlight",y.component.item.highlight,{nav:c.nav}):!d&&"pick"in c?y.set("select",c.pick):c.clear?y.clear().close(!0):c.close&&y.close(!0)}),e(y.$root[0],"hidden",!0)}function p(){var b;u.hiddenName===!0?(b=f.name,f.name=""):(b=["string"==typeof u.hiddenPrefix?u.hiddenPrefix:"","string"==typeof u.hiddenSuffix?u.hiddenSuffix:"_submit"],b=b[0]+f.name+b[1]),y._hidden=a('")[0],w.on("change."+t.id,function(){y._hidden.value=f.value?y.get("select",u.formatSubmit):""}),u.container?a(u.container).append(y._hidden):w.after(y._hidden)}function q(a){var b=a.keyCode,c=/^(8|46)$/.test(b);return 27==b?(y.close(),!1):void((32==b||c||!t.open&&y.component.key[b])&&(a.preventDefault(),a.stopPropagation(),c?y.clear().close():y.open()))}function r(a){a.stopPropagation(),"focus"==a.type&&y.$root.addClass(v.focused),y.open()}if(!f)return b;var s=!1,t={id:f.id||"P"+Math.abs(~~(Math.random()*new Date))},u=i?a.extend(!0,{},i.defaults,l):l||{},v=a.extend({},b.klasses(),u.klass),w=a(f),x=function(){return this.start()},y=x.prototype={constructor:x,$node:w,start:function(){return t&&t.start?y:(t.methods={},t.start=!0,t.open=!1,t.type=f.type,f.autofocus=f==h(),f.readOnly=!u.editable,f.id=f.id||t.id,"text"!=f.type&&(f.type="text"),y.component=new i(y,u),y.$root=a(b._.node("div",m(),v.picker,'id="'+f.id+'_root" tabindex="0"')),o(),u.formatSubmit&&p(),n(),u.container?a(u.container).append(y.$root):w.after(y.$root),y.on({start:y.component.onStart,render:y.component.onRender,stop:y.component.onStop,open:y.component.onOpen,close:y.component.onClose,set:y.component.onSet}).on({start:u.onStart,render:u.onRender,stop:u.onStop,open:u.onOpen,close:u.onClose,set:u.onSet}),s=c(y.$root.children()[0]),f.autofocus&&y.open(),y.trigger("start").trigger("render"))},render:function(a){return a?y.$root.html(m()):y.$root.find("."+v.box).html(y.component.nodes(t.open)),y.trigger("render")},stop:function(){return t.start?(y.close(),y._hidden&&y._hidden.parentNode.removeChild(y._hidden),y.$root.remove(),w.removeClass(v.input).removeData(g),setTimeout(function(){w.off("."+t.id)},0),f.type=t.type,f.readOnly=!1,y.trigger("stop"),t.methods={},t.start=!1,y):y},open:function(c){return t.open?y:(w.addClass(v.active),e(f,"expanded",!0),setTimeout(function(){y.$root.addClass(v.opened),e(y.$root[0],"hidden",!1)},0),c!==!1&&(t.open=!0,s&&k.css("overflow","hidden").css("padding-right","+="+d()),y.$root[0].focus(),j.on("click."+t.id+" focusin."+t.id,function(a){var b=a.target;b!=f&&b!=document&&3!=a.which&&y.close(b===y.$root.children()[0])}).on("keydown."+t.id,function(c){var d=c.keyCode,e=y.component.key[d],f=c.target;27==d?y.close(!0):f!=y.$root[0]||!e&&13!=d?a.contains(y.$root[0],f)&&13==d&&(c.preventDefault(),f.click()):(c.preventDefault(),e?b._.trigger(y.component.key.go,y,[b._.trigger(e)]):y.$root.find("."+v.highlighted).hasClass(v.disabled)||y.set("select",y.component.item.highlight).close())})),y.trigger("open"))},close:function(a){return a&&(y.$root.off("focus.toOpen")[0].focus(),setTimeout(function(){y.$root.on("focus.toOpen",r)},0)),w.removeClass(v.active),e(f,"expanded",!1),setTimeout(function(){y.$root.removeClass(v.opened+" "+v.focused),e(y.$root[0],"hidden",!0)},0),t.open?(t.open=!1,s&&k.css("overflow","").css("padding-right","-="+d()),j.off("."+t.id),y.trigger("close")):y},clear:function(a){return y.set("clear",null,a)},set:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(d=g&&a.isPlainObject(c)?c:d||{},b){g||(h[b]=c);for(e in h)f=h[e],e in y.component.item&&(void 0===f&&(f=null),y.component.set(e,f,d)),("select"==e||"clear"==e)&&w.val("clear"==e?"":y.get(e,u.format)).trigger("change");y.render()}return d.muted?y:y.trigger("set",h)},get:function(a,c){if(a=a||"value",null!=t[a])return t[a];if("valueSubmit"==a){if(y._hidden)return y._hidden.value;a="value"}if("value"==a)return f.value;if(a in y.component.item){if("string"==typeof c){var d=y.component.get(a);return d?b._.trigger(y.component.formats.toString,y.component,[c,d]):""}return y.component.get(a)}},on:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(b){g||(h[b]=c);for(e in h)f=h[e],d&&(e="_"+e),t.methods[e]=t.methods[e]||[],t.methods[e].push(f)}return y},off:function(){var a,b,c=arguments;for(a=0,namesCount=c.length;a').appendTo("body"),c=b[0].offsetWidth;b.css("overflow","scroll");var d=a('
    ').appendTo(b),e=d[0].offsetWidth;return b.remove(),c-e}function e(b,c,d){if(a.isPlainObject(c))for(var e in c)f(b,e,c[e]);else f(b,c,d)}function f(a,b,c){a.setAttribute(("role"==b?"":"aria-")+b,c)}function g(b,c){a.isPlainObject(b)||(b={attribute:c}),c="";for(var d in b){var e=("role"==d?"":"aria-")+d,f=b[d];c+=null==f?"":e+'="'+b[d]+'"'}return c}function h(){try{return document.activeElement}catch(a){}}var i=a(window),j=a(document),k=a(document.documentElement);return b.klasses=function(a){return a=a||"picker",{picker:a,opened:a+"--opened",focused:a+"--focused",input:a+"__input",active:a+"__input--active",target:a+"__input--target",holder:a+"__holder",frame:a+"__frame",wrap:a+"__wrap",box:a+"__box"}},b._={group:function(a){for(var c,d="",e=b._.trigger(a.min,a);e<=b._.trigger(a.max,a,[e]);e+=a.i)c=b._.trigger(a.item,a,[e]),d+=b._.node(a.node,c[0],c[1],c[2]);return d},node:function(b,c,d,e){return c?(c=a.isArray(c)?c.join(""):c,d=d?' class="'+d+'"':"",e=e?" "+e:"","<"+b+d+e+">"+c+""):""},lead:function(a){return(10>a?"0":"")+a},trigger:function(a,b,c){return"function"==typeof a?a.apply(b,c||[]):a},digits:function(a){return/\d/.test(a[1])?2:1},isDate:function(a){return{}.toString.call(a).indexOf("Date")>-1&&this.isInteger(a.getDate())},isInteger:function(a){return{}.toString.call(a).indexOf("Number")>-1&&a%1===0},ariaAttr:g},b.extend=function(c,d){a.fn[c]=function(e,f){var g=this.data(c);return"picker"==e?g:g&&"string"==typeof e?b._.trigger(g[e],g,[f]):this.each(function(){var f=a(this);f.data(c)||new b(this,c,d,e)})},a.fn[c].defaults=d.defaults},b}),function(a){"function"==typeof define&&define.amd?define(["picker","jquery"],a):"object"==typeof exports?module.exports=a(require("./picker.js"),require("jquery")):a(Picker,jQuery)}(function(a,b){function c(a,b){var c=this,d=a.$node[0],e=d.value,f=a.$node.data("value"),g=f||e,h=f?b.formatSubmit:b.format,i=function(){return d.currentStyle?"rtl"==d.currentStyle.direction:"rtl"==getComputedStyle(a.$root[0]).direction};c.settings=b,c.$node=a.$node,c.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},c.item={},c.item.clear=null,c.item.disable=(b.disable||[]).slice(0),c.item.enable=-function(a){return a[0]===!0?a.shift():-1}(c.item.disable),c.set("min",b.min).set("max",b.max).set("now"),g?c.set("select",g,{format:h}):c.set("select",null).set("highlight",c.item.now),c.key={40:7,38:-7,39:function(){return i()?-1:1},37:function(){return i()?1:-1},go:function(a){var b=c.item.highlight,d=new Date(b.year,b.month,b.date+a);c.set("highlight",d,{interval:a}),this.render()}},a.on("render",function(){a.$root.find("."+b.klass.selectMonth).on("change",function(){var c=this.value;c&&(a.set("highlight",[a.get("view").year,c,a.get("highlight").date]),a.$root.find("."+b.klass.selectMonth).trigger("focus"))}),a.$root.find("."+b.klass.selectYear).on("change",function(){var c=this.value;c&&(a.set("highlight",[c,a.get("view").month,a.get("highlight").date]),a.$root.find("."+b.klass.selectYear).trigger("focus"))})},1).on("open",function(){var d="";c.disabled(c.get("now"))&&(d=":not(."+b.klass.buttonToday+")"),a.$root.find("button"+d+", select").attr("disabled",!1)},1).on("close",function(){a.$root.find("button, select").attr("disabled",!0)},1)}var d=7,e=6,f=a._;c.prototype.set=function(a,b,c){var d=this,e=d.item;return null===b?("clear"==a&&(a="select"),e[a]=b,d):(e["enable"==a?"disable":"flip"==a?"enable":a]=d.queue[a].split(" ").map(function(e){return b=d[e](a,b,c)}).pop(),"select"==a?d.set("highlight",e.select,c):"highlight"==a?d.set("view",e.highlight,c):a.match(/^(flip|min|max|disable|enable)$/)&&(e.select&&d.disabled(e.select)&&d.set("select",e.select,c),e.highlight&&d.disabled(e.highlight)&&d.set("highlight",e.highlight,c)),d)},c.prototype.get=function(a){return this.item[a]},c.prototype.create=function(a,c,d){var e,g=this;return c=void 0===c?a:c,c==-(1/0)||c==1/0?e=c:b.isPlainObject(c)&&f.isInteger(c.pick)?c=c.obj:b.isArray(c)?(c=new Date(c[0],c[1],c[2]),c=f.isDate(c)?c:g.create().obj):c=f.isInteger(c)||f.isDate(c)?g.normalize(new Date(c),d):g.now(a,c,d),{year:e||c.getFullYear(),month:e||c.getMonth(),date:e||c.getDate(),day:e||c.getDay(),obj:e||c,pick:e||c.getTime()}},c.prototype.createRange=function(a,c){var d=this,e=function(a){return a===!0||b.isArray(a)||f.isDate(a)?d.create(a):a};return f.isInteger(a)||(a=e(a)),f.isInteger(c)||(c=e(c)),f.isInteger(a)&&b.isPlainObject(c)?a=[c.year,c.month,c.date+a]:f.isInteger(c)&&b.isPlainObject(a)&&(c=[a.year,a.month,a.date+c]),{from:e(a),to:e(c)}},c.prototype.withinRange=function(a,b){return a=this.createRange(a.from,a.to),b.pick>=a.from.pick&&b.pick<=a.to.pick},c.prototype.overlapRanges=function(a,b){var c=this;return a=c.createRange(a.from,a.to),b=c.createRange(b.from,b.to),c.withinRange(a,b.from)||c.withinRange(a,b.to)||c.withinRange(b,a.from)||c.withinRange(b,a.to)},c.prototype.now=function(a,b,c){return b=new Date,c&&c.rel&&b.setDate(b.getDate()+c.rel),this.normalize(b,c)},c.prototype.navigate=function(a,c,d){var e,f,g,h,i=b.isArray(c),j=b.isPlainObject(c),k=this.item.view;if(i||j){for(j?(f=c.year,g=c.month,h=c.date):(f=+c[0],g=+c[1],h=+c[2]),d&&d.nav&&k&&k.month!==g&&(f=k.year,g=k.month),e=new Date(f,g+(d&&d.nav?d.nav:0),1),f=e.getFullYear(),g=e.getMonth();new Date(f,g,h).getMonth()!==g;)h-=1;c=[f,g,h]}return c},c.prototype.normalize=function(a){return a.setHours(0,0,0,0),a},c.prototype.measure=function(a,b){var c=this;return b?"string"==typeof b?b=c.parse(a,b):f.isInteger(b)&&(b=c.now(a,b,{rel:b})):b="min"==a?-(1/0):1/0,b},c.prototype.viewset=function(a,b){return this.create([b.year,b.month,1])},c.prototype.validate=function(a,c,d){var e,g,h,i,j=this,k=c,l=d&&d.interval?d.interval:1,m=-1===j.item.enable,n=j.item.min,o=j.item.max,p=m&&j.item.disable.filter(function(a){if(b.isArray(a)){var d=j.create(a).pick;dc.pick&&(g=!0)}return f.isInteger(a)}).length;if((!d||!d.nav)&&(!m&&j.disabled(c)||m&&j.disabled(c)&&(p||e||g)||!m&&(c.pick<=n.pick||c.pick>=o.pick)))for(m&&!p&&(!g&&l>0||!e&&0>l)&&(l*=-1);j.disabled(c)&&(Math.abs(l)>1&&(c.monthk.month)&&(c=k,l=l>0?1:-1),c.pick<=n.pick?(h=!0,l=1,c=j.create([n.year,n.month,n.date+(c.pick===n.pick?0:-1)])):c.pick>=o.pick&&(i=!0,l=-1,c=j.create([o.year,o.month,o.date+(c.pick===o.pick?0:1)])),!h||!i);)c=j.create([c.year,c.month,c.date+l]);return c},c.prototype.disabled=function(a){var c=this,d=c.item.disable.filter(function(d){return f.isInteger(d)?a.day===(c.settings.firstDay?d:d-1)%7:b.isArray(d)||f.isDate(d)?a.pick===c.create(d).pick:b.isPlainObject(d)?c.withinRange(d,a):void 0});return d=d.length&&!d.filter(function(a){return b.isArray(a)&&"inverted"==a[3]||b.isPlainObject(a)&&a.inverted}).length,-1===c.item.enable?!d:d||a.pickc.item.max.pick},c.prototype.parse=function(a,b,c){var d=this,e={};return b&&"string"==typeof b?(c&&c.format||(c=c||{},c.format=d.settings.format),d.formats.toArray(c.format).map(function(a){var c=d.formats[a],g=c?f.trigger(c,d,[b,e]):a.replace(/^!/,"").length;c&&(e[a]=b.substr(0,g)),b=b.substr(g)}),[e.yyyy||e.yy,+(e.mm||e.m)-1,e.dd||e.d]):b},c.prototype.formats=function(){function a(a,b,c){var d=a.match(/\w+/)[0];return c.mm||c.m||(c.m=b.indexOf(d)+1),d.length}function b(a){return a.match(/\w+/)[0].length}return{d:function(a,b){return a?f.digits(a):b.date},dd:function(a,b){return a?2:f.lead(b.date)},ddd:function(a,c){return a?b(a):this.settings.weekdaysShort[c.day]},dddd:function(a,c){return a?b(a):this.settings.weekdaysFull[c.day]},m:function(a,b){return a?f.digits(a):b.month+1},mm:function(a,b){return a?2:f.lead(b.month+1)},mmm:function(b,c){var d=this.settings.monthsShort;return b?a(b,d,c):d[c.month]},mmmm:function(b,c){var d=this.settings.monthsFull;return b?a(b,d,c):d[c.month]},yy:function(a,b){return a?2:(""+b.year).slice(2)},yyyy:function(a,b){return a?4:b.year},toArray:function(a){return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(a,b){var c=this;return c.formats.toArray(a).map(function(a){return f.trigger(c.formats[a],c,[0,b])||a.replace(/^!/,"")}).join("")}}}(),c.prototype.isDateExact=function(a,c){var d=this;return f.isInteger(a)&&f.isInteger(c)||"boolean"==typeof a&&"boolean"==typeof c?a===c:(f.isDate(a)||b.isArray(a))&&(f.isDate(c)||b.isArray(c))?d.create(a).pick===d.create(c).pick:b.isPlainObject(a)&&b.isPlainObject(c)?d.isDateExact(a.from,c.from)&&d.isDateExact(a.to,c.to):!1},c.prototype.isDateOverlap=function(a,c){var d=this,e=d.settings.firstDay?1:0;return f.isInteger(a)&&(f.isDate(c)||b.isArray(c))?(a=a%7+e,a===d.create(c).day+1):f.isInteger(c)&&(f.isDate(a)||b.isArray(a))?(c=c%7+e,c===d.create(a).day+1):b.isPlainObject(a)&&b.isPlainObject(c)?d.overlapRanges(a,c):!1},c.prototype.flipEnable=function(a){var b=this.item;b.enable=a||(-1==b.enable?1:-1)},c.prototype.deactivate=function(a,c){var d=this,e=d.item.disable.slice(0);return"flip"==c?d.flipEnable():c===!1?(d.flipEnable(1),e=[]):c===!0?(d.flipEnable(-1),e=[]):c.map(function(a){for(var c,g=0;gi;i+=1){if(h=e[i],d.isDateExact(h,a)){c=e[i]=null,j=!0;break}if(d.isDateOverlap(h,a)){b.isPlainObject(a)?(a.inverted=!0,c=a):b.isArray(a)?(c=a,c[3]||c.push("inverted")):f.isDate(a)&&(c=[a.getFullYear(),a.getMonth(),a.getDate(),"inverted"]);break}}if(c)for(i=0;g>i;i+=1)if(d.isDateExact(e[i],a)){e[i]=null;break}if(j)for(i=0;g>i;i+=1)if(d.isDateOverlap(e[i],a)){e[i]=null;break}c&&e.push(c)}),e.filter(function(a){return null!=a})},c.prototype.nodes=function(a){var b=this,c=b.settings,g=b.item,h=g.now,i=g.select,j=g.highlight,k=g.view,l=g.disable,m=g.min,n=g.max,o=function(a,b){return c.firstDay&&(a.push(a.shift()),b.push(b.shift())),f.node("thead",f.node("tr",f.group({min:0,max:d-1,i:1,node:"th",item:function(d){return[a[d],c.klass.weekdays,'scope=col title="'+b[d]+'"']}})))}((c.showWeekdaysFull?c.weekdaysFull:c.weekdaysLetter).slice(0),c.weekdaysFull.slice(0)),p=function(a){return f.node("div"," ",c.klass["nav"+(a?"Next":"Prev")]+(a&&k.year>=n.year&&k.month>=n.month||!a&&k.year<=m.year&&k.month<=m.month?" "+c.klass.navDisabled:""),"data-nav="+(a||-1)+" "+f.ariaAttr({role:"button",controls:b.$node[0].id+"_table"})+' title="'+(a?c.labelMonthNext:c.labelMonthPrev)+'"')},q=function(d){var e=c.showMonthsShort?c.monthsShort:c.monthsFull;return"short_months"==d&&(e=c.monthsShort),c.selectMonths&&void 0==d?f.node("select",f.group({min:0,max:11,i:1,node:"option",item:function(a){return[e[a],0,"value="+a+(k.month==a?" selected":"")+(k.year==m.year&&an.month?" disabled":"")]}}),c.klass.selectMonth+" browser-default",(a?"":"disabled")+" "+f.ariaAttr({controls:b.$node[0].id+"_table"})+' title="'+c.labelMonthSelect+'"'):"short_months"==d?null!=i?f.node("div",e[i.month]):f.node("div",e[k.month]):f.node("div",e[k.month],c.klass.month)},r=function(d){var e=k.year,g=c.selectYears===!0?5:~~(c.selectYears/2);if(g){var h=m.year,i=n.year,j=e-g,l=e+g;if(h>j&&(l+=h-j,j=h),l>i){var o=j-h,p=l-i;j-=o>p?p:o,l=i}if(c.selectYears&&void 0==d)return f.node("select",f.group({min:j,max:l,i:1,node:"option",item:function(a){return[a,0,"value="+a+(e==a?" selected":"")]}}),c.klass.selectYear+" browser-default",(a?"":"disabled")+" "+f.ariaAttr({controls:b.$node[0].id+"_table"})+' title="'+c.labelYearSelect+'"')}return"raw"==d?f.node("div",e):f.node("div",e,c.klass.year)};return createDayLabel=function(){return null!=i?f.node("div",i.date):f.node("div",h.date)},createWeekdayLabel=function(){var a;a=null!=i?i.day:h.day;var b=c.weekdaysFull[a];return b},f.node("div",f.node("div",createWeekdayLabel(),"picker__weekday-display")+f.node("div",q("short_months"),c.klass.month_display)+f.node("div",createDayLabel(),c.klass.day_display)+f.node("div",r("raw"),c.klass.year_display),c.klass.date_display)+f.node("div",f.node("div",(c.selectYears?q()+r():q()+r())+p()+p(1),c.klass.header)+f.node("table",o+f.node("tbody",f.group({min:0,max:e-1,i:1,node:"tr",item:function(a){var e=c.firstDay&&0===b.create([k.year,k.month,1]).day?-7:0;return[f.group({min:d*a-k.day+e+1,max:function(){return this.min+d-1},i:1,node:"td",item:function(a){a=b.create([k.year,k.month,a+(c.firstDay?1:0)]);var d=i&&i.pick==a.pick,e=j&&j.pick==a.pick,g=l&&b.disabled(a)||a.pickn.pick,o=f.trigger(b.formats.toString,b,[c.format,a]);return[f.node("div",a.date,function(b){return b.push(k.month==a.month?c.klass.infocus:c.klass.outfocus),h.pick==a.pick&&b.push(c.klass.now),d&&b.push(c.klass.selected),e&&b.push(c.klass.highlighted),g&&b.push(c.klass.disabled),b.join(" ")}([c.klass.day]),"data-pick="+a.pick+" "+f.ariaAttr({role:"gridcell",label:o,selected:d&&b.$node.val()===o?!0:null,activedescendant:e?!0:null,disabled:g?!0:null})),"",f.ariaAttr({role:"presentation"})]}})]}})),c.klass.table,'id="'+b.$node[0].id+'_table" '+f.ariaAttr({role:"grid",controls:b.$node[0].id,readonly:!0})),c.klass.calendar_container)+f.node("div",f.node("button",c.today,"btn-flat picker__today","type=button data-pick="+h.pick+(a&&!b.disabled(h)?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id}))+f.node("button",c.clear,"btn-flat picker__clear","type=button data-clear=1"+(a?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id}))+f.node("button",c.close,"btn-flat picker__close","type=button data-close=true "+(a?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id})),c.klass.footer)},c.defaults=function(a){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysLetter:["S","M","T","W","T","F","S"],today:"Today",clear:"Clear",close:"Close",format:"d mmmm, yyyy",klass:{table:a+"table",header:a+"header",date_display:a+"date-display",day_display:a+"day-display",month_display:a+"month-display",year_display:a+"year-display",calendar_container:a+"calendar-container",navPrev:a+"nav--prev",navNext:a+"nav--next",navDisabled:a+"nav--disabled",month:a+"month",year:a+"year",selectMonth:a+"select--month",selectYear:a+"select--year",weekdays:a+"weekday",day:a+"day",disabled:a+"day--disabled",selected:a+"day--selected",highlighted:a+"day--highlighted",now:a+"day--today",infocus:a+"day--infocus",outfocus:a+"day--outfocus",footer:a+"footer",buttonClear:a+"button--clear",buttonToday:a+"button--today",buttonClose:a+"button--close"}}}(a.klasses().picker+"__"),a.extend("pickadate",c)}),function(a){function b(){var b=+a(this).attr("length"),c=+a(this).val().length,d=b>=c;a(this).parent().find('span[class="character-counter"]').html(c+"/"+b),e(d,a(this))}function c(b){var c=a("").addClass("character-counter").css("float","right").css("font-size","12px").css("height",1);b.parent().append(c)}function d(){a(this).parent().find('span[class="character-counter"]').html("")}function e(a,b){var c=b.hasClass("invalid");a&&c?b.removeClass("invalid"):a||c||(b.removeClass("valid"),b.addClass("invalid"))}a.fn.characterCounter=function(){return this.each(function(){var e=void 0!==a(this).attr("length");e&&(a(this).on("input",b),a(this).on("focus",b),a(this).on("blur",d),c(a(this)))})},a(document).ready(function(){a("input, textarea").characterCounter()})}(jQuery),function(a){var b={init:function(b){var c={time_constant:200,dist:-100,shift:0,padding:0,full_width:!1};return b=a.extend(c,b),this.each(function(){function c(){"undefined"!=typeof window.ontouchstart&&(F[0].addEventListener("touchstart",k),F[0].addEventListener("touchmove",l),F[0].addEventListener("touchend",m)),F[0].addEventListener("mousedown",k),F[0].addEventListener("mousemove",l),F[0].addEventListener("mouseup",m),F[0].addEventListener("click",j)}function d(a){return a.targetTouches&&a.targetTouches.length>=1?a.targetTouches[0].clientX:a.clientX}function e(a){return a.targetTouches&&a.targetTouches.length>=1?a.targetTouches[0].clientY:a.clientY}function f(a){return a>=s?a%s:0>a?f(s+a%s):a}function g(a){var c,d,e,g,h,i,j;for(o="number"==typeof a?a:o,p=Math.floor((o+r/2)/r),e=o-p*r,g=0>e?1:-1,h=-g*e*2/r,b.full_width?j="translateX(0)":(j="translateX("+(F[0].clientWidth-item_width)/2+"px) ",j+="translateY("+(F[0].clientHeight-item_width)/2+"px)"),i=n[f(p)],i.style[z]=j+" translateX("+-e/2+"px) translateX("+g*b.shift*h*c+"px) translateZ("+b.dist*h+"px)",i.style.zIndex=0,b.full_width?tweenedOpacity=1:tweenedOpacity=1-.2*h,i.style.opacity=tweenedOpacity,d=s>>1,c=1;d>=c;++c)b.full_width?(zTranslation=b.dist,tweenedOpacity=c===d&&0>e?1-h:1):(zTranslation=b.dist*(2*c+h*g),tweenedOpacity=1-.2*(2*c+h*g)),i=n[f(p+c)],i.style[z]=j+" translateX("+(b.shift+(r*c-e)/2)+"px) translateZ("+zTranslation+"px)",i.style.zIndex=-c,i.style.opacity=tweenedOpacity,b.full_width?(zTranslation=b.dist,tweenedOpacity=c===d&&e>0?1-h:1):(zTranslation=b.dist*(2*c-h*g),tweenedOpacity=1-.2*(2*c-h*g)),i=n[f(p-c)],i.style[z]=j+" translateX("+(-b.shift+(-r*c-e)/2)+"px) translateZ("+zTranslation+"px)",i.style.zIndex=-c,i.style.opacity=tweenedOpacity;i=n[f(p)],i.style[z]=j+" translateX("+-e/2+"px) translateX("+g*b.shift*h+"px) translateZ("+b.dist*h+"px)",i.style.zIndex=0,b.full_width?tweenedOpacity=1:tweenedOpacity=1-.2*h, i.style.opacity=tweenedOpacity}function h(){var a,b,c,d;a=Date.now(),b=a-B,B=a,c=o-A,A=o,d=1e3*c/(1+b),x=.8*d+.2*x}function i(){var a,c;v&&(a=Date.now()-B,c=v*Math.exp(-a/b.time_constant),c>2||-2>c?(g(w-c),requestAnimationFrame(i)):g(w))}function j(c){if(D)return c.preventDefault(),c.stopPropagation(),!1;if(!b.full_width){var d=a(c.target).closest(".carousel-item").index(),e=p%s-d;0>e?Math.abs(e+s)0&&Math.abs(e-s)e?a(this).trigger("carouselNext",[Math.abs(e)]):e>0&&a(this).trigger("carouselPrev",[e])}}function k(a){q=!0,D=!1,E=!1,t=d(a),u=e(a),x=v=0,A=o,B=Date.now(),clearInterval(C),C=setInterval(h,100)}function l(a){var b,c,f;if(q)if(b=d(a),y=e(a),c=t-b,f=Math.abs(u-y),30>f&&!E)(c>2||-2>c)&&(D=!0,t=b,g(o+c));else{if(D)return a.preventDefault(),a.stopPropagation(),!1;E=!0}return D?(a.preventDefault(),a.stopPropagation(),!1):void 0}function m(a){return q=!1,clearInterval(C),w=o,(x>10||-10>x)&&(v=.9*x,w=o+v),w=Math.round(w/r)*r,v=w-o,B=Date.now(),requestAnimationFrame(i),a.preventDefault(),a.stopPropagation(),!1}var n,o,p,q,r,s,t,u,v,w,x,z,A,B,C,D,E,F=a(this);return F.hasClass("initialized")?!0:(b.full_width&&(b.dist=0,imageHeight=F.find(".carousel-item img").first().load(function(){F.css("height",a(this).height())})),F.addClass("initialized"),q=!1,o=w=0,n=[],item_width=F.find(".carousel-item").first().innerWidth(),r=2*item_width+b.padding,F.find(".carousel-item").each(function(){n.push(a(this)[0])}),s=n.length,z="transform",["webkit","Moz","O","ms"].every(function(a){var b=a+"Transform";return"undefined"!=typeof document.body.style[b]?(z=b,!1):!0}),window.onresize=g,c(),g(o),a(this).on("carouselNext",function(a,b){void 0===b&&(b=1),w=o+r*b,o!==w&&(v=w-o,B=Date.now(),requestAnimationFrame(i))}),void a(this).on("carouselPrev",function(a,b){void 0===b&&(b=1),w=o-r*b,o!==w&&(v=w-o,B=Date.now(),requestAnimationFrame(i))}))})},next:function(b){a(this).trigger("carouselNext",[b])},prev:function(b){a(this).trigger("carouselPrev",[b])}};a.fn.carousel=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.carousel"):b.init.apply(this,arguments)}}(jQuery); function addToken(web3, config, sender, phoneNumber, token, cb) { - console.log(web3); attachToContract(web3, config, function(err, contract) { newTokenTX(web3, contract, sender, phoneNumber, token, function(err, txHash) { //console.log("newTokenTX:"); @@ -35,14 +34,15 @@ function addToken(web3, config, sender, phoneNumber, token, cb) { function newTokenTX(web3, contract, sender, phoneNumber, token, cb) { if (!web3.isConnected()) return cb({code: 500, title: "Error", message: "check RPC"}, null); - - contract.newToken.sendTransaction(phoneNumber, token, {gas: 800000, from: sender}, function(err, result) { + contract.newToken.sendTransaction(phoneNumber, token, {gas: 80000, from: sender}, function(err, result) { cb(err, result); }); } function showAlert(err, msg, type) { - if (err) console.log(err); - if (err.type == "REQUEST_REJECTED") return; + if (err) { + console.log(err); + if (err.type == "REQUEST_REJECTED") return; + } swal({ title: type?capitalizeFirstLetter(type):"Error", html: msg?msg:err.message, @@ -331,12 +331,11 @@ function startDapp(web3, isOraclesNetwork) { var POPDescContainerShortend = $('.POPDescContainerShortend'); var step1CopyTable = $('#step1CopyTable'); - var step3CopyTable = $('#step3CopyTable'); var addr = $("#addressVal").text(); - $("#copyWallet").attr("data-clipboard-text", addr); - + function getConfigCallBack(web3, accounts, config) { + console.log(accounts); if (accounts.length == 1) { sender = accounts[0]; @@ -360,7 +359,6 @@ function startDapp(web3, isOraclesNetwork) { }); } - buildCopyWalletControl("copyWallet"); buildCopyURLControl("POPShare"); phoneRadio.click(function(e) { @@ -438,8 +436,8 @@ function startDapp(web3, isOraclesNetwork) { loader.removeClass('hide'); switch(curStepNum) { case 1: { - var phoneNumber = parseInt(visibleInput.val()); - sendCodeBySMS(phoneNumber, sendCodeBySMSCallback); + var phoneNumber = visibleInput.val(); + sendCodeBySMS(phoneNumber, sendCodeBySMSCallback, config, sender); } break; case 2: { var code = parseInt(POPInputSMS.val()); @@ -487,7 +485,6 @@ function startDapp(web3, isOraclesNetwork) { POPInputSMS.focus(); POPInputWallet.addClass('hide'); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); successContainer.addClass("hide"); POPTitleContainerShortend.addClass("POPTitleContainer"); @@ -512,15 +509,12 @@ function startDapp(web3, isOraclesNetwork) { radioContainer.addClass("hide"); inputContainer.hide(); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); successContainer.removeClass("hide"); POPTitleContainerShortend.addClass("POPTitleContainer"); POPTitleContainerShortend.removeClass("POPTitleContainerShortend"); POPDescContainerShortend.addClass("POPDescContainer"); POPDescContainerShortend.removeClass("POPDescContainerShortend"); - - buildCopyWalletControl("copyWallet3"); } break; case 4: @@ -538,7 +532,6 @@ function startDapp(web3, isOraclesNetwork) { POPInputSMS.addClass('hide'); POPInputWallet.addClass('hide'); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); bottomDescAddition2.addClass("hide"); successContainer.addClass("hide"); @@ -547,7 +540,7 @@ function startDapp(web3, isOraclesNetwork) { POPDescContainer.addClass("POPDescContainerShortend"); POPDescContainer.removeClass("POPDescContainer"); - buildCopyWalletControl("copyWallet2"); + buildCopyWalletControl("copyWallet3"); } break; default: @@ -556,7 +549,6 @@ function startDapp(web3, isOraclesNetwork) { stepLabel.removeClass("hide"); POPBottomDescriptionContainer.show(); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); bottomDescAddition2.addClass("hide"); successContainer.addClass("hide"); @@ -572,7 +564,7 @@ function startDapp(web3, isOraclesNetwork) { }); } - function sendCodeBySMSCallback(err, token) { + function sendCodeBySMSCallback(err, token, config, sender, phoneNumber) { if (err) { middleMainContainerInner.fadeIn(500); loader.addClass('hide'); @@ -635,10 +627,13 @@ function startDapp(web3, isOraclesNetwork) { function buildCopyWalletControl(id) { var copyWallet = document.getElementById(id); - var clientCopyWallet = new Clipboard(copyWallet); - clientCopyWallet.on( "success", function( readyEvent ) { - Materialize.toast(addressCopiedToBufferText, 3000, 'rounded'); - }); + if (copyWallet) { + var clientCopyWallet = new Clipboard("#" + id); + console.log(clientCopyWallet); + clientCopyWallet.on( "success", function( readyEvent ) { + Materialize.toast(addressCopiedToBufferText, 3000, 'rounded'); + }); + }; } function buildCopyURLControl(id) { @@ -655,26 +650,26 @@ function startDapp(web3, isOraclesNetwork) { window.addEventListener('load', function() { getWeb3(startDapp); }); -function sendCodeBySMS(phone, cb) { +function sendCodeBySMS(phone, cb, config, sender) { //cb(null, "0xc888c9ce9e098d5864d3ded6ebcc140a12142263bace3a23a36f9905f12bd64a"); $.post("/sendCodeBySMS", { "globalToken": "cba2c691-47df-41e7-bc97-a0818103ed14", "to": phone }, function( data ) { console.log( data ); - if (data.success) cb(null, data.success.token); - else cb(data.error, null); + if (data.success) cb(null, data.success.token, config, sender, phone); + else cb(data.error, null, config, sender, phone); }); } -function verifyCodeFromSMS(web3, config, sender, token, cb) { - activatePair(web3, config, sender, token, function(err, txHash) { +function verifyCodeFromSMS(web3, config, sender, code, cb) { + activatePair(web3, config, sender, code, function(err, txHash) { cb(err, txHash); }); } -function activatePair(web3, config, sender, token, cb) { +function activatePair(web3, config, sender, code, cb) { attachToContract(web3, config, function(err, contract) { - activatePairTX(web3, contract, sender, token, function(err, txHash) { + activatePairTX(web3, contract, sender, code, function(err, txHash) { //console.log("activatePairTX:"); //console.log("result: " + txHash); cb(err, txHash); @@ -683,10 +678,10 @@ function activatePair(web3, config, sender, token, cb) { }); } -function activatePairTX(web3, contract, sender, token, cb) { +function activatePairTX(web3, contract, sender, code, cb) { if (!web3.isConnected()) cb({code: 500, title: "Error", message: "check RPC"}, null); - contract.activatePair.sendTransaction(token, {gas: 800000, from: sender}, function(err, result) { + contract.activatePair.sendTransaction(code.toString(), {gas: 100000, from: sender}, function(err, result) { cb(err, result); }); } \ No newline at end of file diff --git a/web/public/javascripts/application/addToken.js b/web/public/javascripts/application/addToken.js index 766ad84..98ff15a 100644 --- a/web/public/javascripts/application/addToken.js +++ b/web/public/javascripts/application/addToken.js @@ -1,5 +1,4 @@ function addToken(web3, config, sender, phoneNumber, token, cb) { - console.log(web3); attachToContract(web3, config, function(err, contract) { newTokenTX(web3, contract, sender, phoneNumber, token, function(err, txHash) { //console.log("newTokenTX:"); @@ -12,8 +11,7 @@ function addToken(web3, config, sender, phoneNumber, token, cb) { function newTokenTX(web3, contract, sender, phoneNumber, token, cb) { if (!web3.isConnected()) return cb({code: 500, title: "Error", message: "check RPC"}, null); - - contract.newToken.sendTransaction(phoneNumber, token, {gas: 800000, from: sender}, function(err, result) { + contract.newToken.sendTransaction(phoneNumber, token, {gas: 80000, from: sender}, function(err, result) { cb(err, result); }); } \ No newline at end of file diff --git a/web/public/javascripts/application/alert.js b/web/public/javascripts/application/alert.js index 61abbb4..6f0b33e 100644 --- a/web/public/javascripts/application/alert.js +++ b/web/public/javascripts/application/alert.js @@ -1,6 +1,8 @@ function showAlert(err, msg, type) { - if (err) console.log(err); - if (err.type == "REQUEST_REJECTED") return; + if (err) { + console.log(err); + if (err.type == "REQUEST_REJECTED") return; + } swal({ title: type?capitalizeFirstLetter(type):"Error", html: msg?msg:err.message, diff --git a/web/public/javascripts/application/index.js b/web/public/javascripts/application/index.js index dbde2de..c7245b1 100644 --- a/web/public/javascripts/application/index.js +++ b/web/public/javascripts/application/index.js @@ -40,12 +40,11 @@ function startDapp(web3, isOraclesNetwork) { var POPDescContainerShortend = $('.POPDescContainerShortend'); var step1CopyTable = $('#step1CopyTable'); - var step3CopyTable = $('#step3CopyTable'); var addr = $("#addressVal").text(); - $("#copyWallet").attr("data-clipboard-text", addr); - + function getConfigCallBack(web3, accounts, config) { + console.log(accounts); if (accounts.length == 1) { sender = accounts[0]; @@ -69,7 +68,6 @@ function startDapp(web3, isOraclesNetwork) { }); } - buildCopyWalletControl("copyWallet"); buildCopyURLControl("POPShare"); phoneRadio.click(function(e) { @@ -147,8 +145,8 @@ function startDapp(web3, isOraclesNetwork) { loader.removeClass('hide'); switch(curStepNum) { case 1: { - var phoneNumber = parseInt(visibleInput.val()); - sendCodeBySMS(phoneNumber, sendCodeBySMSCallback); + var phoneNumber = visibleInput.val(); + sendCodeBySMS(phoneNumber, sendCodeBySMSCallback, config, sender); } break; case 2: { var code = parseInt(POPInputSMS.val()); @@ -196,7 +194,6 @@ function startDapp(web3, isOraclesNetwork) { POPInputSMS.focus(); POPInputWallet.addClass('hide'); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); successContainer.addClass("hide"); POPTitleContainerShortend.addClass("POPTitleContainer"); @@ -221,15 +218,12 @@ function startDapp(web3, isOraclesNetwork) { radioContainer.addClass("hide"); inputContainer.hide(); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); successContainer.removeClass("hide"); POPTitleContainerShortend.addClass("POPTitleContainer"); POPTitleContainerShortend.removeClass("POPTitleContainerShortend"); POPDescContainerShortend.addClass("POPDescContainer"); POPDescContainerShortend.removeClass("POPDescContainerShortend"); - - buildCopyWalletControl("copyWallet3"); } break; case 4: @@ -247,7 +241,6 @@ function startDapp(web3, isOraclesNetwork) { POPInputSMS.addClass('hide'); POPInputWallet.addClass('hide'); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); bottomDescAddition2.addClass("hide"); successContainer.addClass("hide"); @@ -256,7 +249,7 @@ function startDapp(web3, isOraclesNetwork) { POPDescContainer.addClass("POPDescContainerShortend"); POPDescContainer.removeClass("POPDescContainer"); - buildCopyWalletControl("copyWallet2"); + buildCopyWalletControl("copyWallet3"); } break; default: @@ -265,7 +258,6 @@ function startDapp(web3, isOraclesNetwork) { stepLabel.removeClass("hide"); POPBottomDescriptionContainer.show(); step1CopyTable.hide(); - step3CopyTable.addClass("hide"); bottomDescAddition.addClass("hide"); bottomDescAddition2.addClass("hide"); successContainer.addClass("hide"); @@ -281,7 +273,7 @@ function startDapp(web3, isOraclesNetwork) { }); } - function sendCodeBySMSCallback(err, token) { + function sendCodeBySMSCallback(err, token, config, sender, phoneNumber) { if (err) { middleMainContainerInner.fadeIn(500); loader.addClass('hide'); @@ -344,10 +336,13 @@ function startDapp(web3, isOraclesNetwork) { function buildCopyWalletControl(id) { var copyWallet = document.getElementById(id); - var clientCopyWallet = new Clipboard(copyWallet); - clientCopyWallet.on( "success", function( readyEvent ) { - Materialize.toast(addressCopiedToBufferText, 3000, 'rounded'); - }); + if (copyWallet) { + var clientCopyWallet = new Clipboard("#" + id); + console.log(clientCopyWallet); + clientCopyWallet.on( "success", function( readyEvent ) { + Materialize.toast(addressCopiedToBufferText, 3000, 'rounded'); + }); + }; } function buildCopyURLControl(id) { diff --git a/web/public/javascripts/application/sendCodeBySMS.js b/web/public/javascripts/application/sendCodeBySMS.js index 0591e61..d3fcdc2 100644 --- a/web/public/javascripts/application/sendCodeBySMS.js +++ b/web/public/javascripts/application/sendCodeBySMS.js @@ -1,11 +1,11 @@ -function sendCodeBySMS(phone, cb) { +function sendCodeBySMS(phone, cb, config, sender) { //cb(null, "0xc888c9ce9e098d5864d3ded6ebcc140a12142263bace3a23a36f9905f12bd64a"); $.post("/sendCodeBySMS", { "globalToken": "cba2c691-47df-41e7-bc97-a0818103ed14", "to": phone }, function( data ) { console.log( data ); - if (data.success) cb(null, data.success.token); - else cb(data.error, null); + if (data.success) cb(null, data.success.token, config, sender, phone); + else cb(data.error, null, config, sender, phone); }); } \ No newline at end of file diff --git a/web/public/javascripts/application/verifyCodeFromSMS.js b/web/public/javascripts/application/verifyCodeFromSMS.js index 632344c..effc4bc 100644 --- a/web/public/javascripts/application/verifyCodeFromSMS.js +++ b/web/public/javascripts/application/verifyCodeFromSMS.js @@ -1,12 +1,12 @@ -function verifyCodeFromSMS(web3, config, sender, token, cb) { - activatePair(web3, config, sender, token, function(err, txHash) { +function verifyCodeFromSMS(web3, config, sender, code, cb) { + activatePair(web3, config, sender, code, function(err, txHash) { cb(err, txHash); }); } -function activatePair(web3, config, sender, token, cb) { +function activatePair(web3, config, sender, code, cb) { attachToContract(web3, config, function(err, contract) { - activatePairTX(web3, contract, sender, token, function(err, txHash) { + activatePairTX(web3, contract, sender, code, function(err, txHash) { //console.log("activatePairTX:"); //console.log("result: " + txHash); cb(err, txHash); @@ -15,10 +15,10 @@ function activatePair(web3, config, sender, token, cb) { }); } -function activatePairTX(web3, contract, sender, token, cb) { +function activatePairTX(web3, contract, sender, code, cb) { if (!web3.isConnected()) cb({code: 500, title: "Error", message: "check RPC"}, null); - contract.activatePair.sendTransaction(token, {gas: 800000, from: sender}, function(err, result) { + contract.activatePair.sendTransaction(code.toString(), {gas: 100000, from: sender}, function(err, result) { cb(err, result); }); } \ No newline at end of file diff --git a/web/public/javascripts/config.json b/web/public/javascripts/config.json index 87194c8..69213fb 100644 --- a/web/public/javascripts/config.json +++ b/web/public/javascripts/config.json @@ -2,12 +2,12 @@ "environment": "live", "Ethereum": { "live": { - "contractAddress": "0x9bdf3f3d61f23f0d4eba9fff950b8facb6628fc3" + "contractAddress": "0x6d57f4a5509f80966ea0abefa71a67526e7bf549" }, "contracts": { "ProofOfPhone": { - "bin": "0x6060604052341561000c57fe5b5b6106438061001c6000396000f30060606040523615610081576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303679666146100835780633404fe32146100e357806371d01c73146101105780639fbebee51461015a578063b958a5e11461017e578063ceaecc84146101c8578063fe97ee8814610228575bfe5b341561008b57fe5b6100a16004808035906020019091905050610276565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100eb57fe5b61010e6004808035906020019091908035600019169060200190919050506102b4565b005b341561011857fe5b610144600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610354565b6040518082815260200191505060405180910390f35b341561016257fe5b61017c60048080356000191690602001909190505061036c565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610537565b6040518082815260200191505060405180910390f35b34156101d057fe5b6101e66004808035906020019091905050610581565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023057fe5b61025c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506105b4565b604051808215151515815260200191505060405180910390f35b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b6040604051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff168152506002600083600019166000191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505b5050565b60006020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff1660026000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156103e55760006000fd5b60026000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001600060026000856000191660001916815260200190815260200160002060000154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260008260001916600019168152602001908152602001600020600001546000600060026000856000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6000600060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156106085760019050610612565b60009050610612565b5b9190505600a165627a7a7230582007f136df6454b733e1e101a03dccfd4fd2ad950dcba0025499b3f7a16c993ca50029", - "abi": [{"constant":true,"inputs":[{"name":"phone","type":"uint256"}],"name":"getAddressByPhone","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"phone","type":"uint256"},{"name":"codeToken","type":"bytes32"}],"name":"newToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressPhonePair","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"codeToken","type":"bytes32"}],"name":"activatePair","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phoneAddressPair","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"}] + "bin": "0x6060604052341561000f57600080fd5b5b6106088061001f6000396000f300606060405236156100805763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630367966681146100855780633404fe32146100b75780634d389f13146100d257806371d01c7314610125578063b958a5e114610156578063ceaecc8414610187578063fe97ee88146101b9575b600080fd5b341561009057600080fd5b61009b6004356101ec565b604051600160a060020a03909116815260200160405180910390f35b34156100c257600080fd5b6100d060043560243561020a565b005b34156100dd57600080fd5b6100d060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061027695505050505050565b005b341561013057600080fd5b610144600160a060020a036004351661055c565b60405190815260200160405180910390f35b341561016157600080fd5b610144600160a060020a036004351661056e565b60405190815260200160405180910390f35b341561019257600080fd5b61009b60043561058d565b604051600160a060020a03909116815260200160405180910390f35b34156101c457600080fd5b6101d8600160a060020a03600435166105a8565b604051901515815260200160405180910390f35b600081815260016020526040902054600160a060020a03165b919050565b604080519081016040908152838252600160a060020a0333166020808401919091526000848152600290915220815181556020820151600191909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b5050565b33600160a060020a031660026000836040518082805190602001908083835b602083106102b557805182525b601f199092019160209182019101610295565b6001836020036101000a03801982511681845116179092525050509190910192506040915050519081900390208152602081019190915260400160002060010154600160a060020a03161461030957600080fd5b60026000826040518082805190602001908083835b6020831061033e57805182525b601f19909201916020918201910161031e565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191660001916815260200190815260200160002060010160009054906101000a9004600160a060020a03166001600060026000856040518082805190602001908083835b602083106103d057805182525b601f1990920191602091820191016103b0565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191660001916815260200190815260200160002060000154815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a0316021790555060026000826040518082805190602001908083835b6020831061047d57805182525b601f19909201916020918201910161045d565b6001836020036101000a03801982511681845116179092525050509190910192506040915050518091039020600019166000191681526020019081526020016000206000015460008060026000856040518082805190602001908083835b602083106104fb57805182525b601f1990920191602091820191016104db565b6001836020036101000a038019825116818451161790925250505091909101925060409150505190819003902081526020808201929092526040908101600090812060010154600160a060020a031684529183019390935291019020555b50565b60006020819052908152604090205481565b600160a060020a0381166000908152602081905260409020545b919050565b600160205260009081526040902054600160a060020a031681565b600160a060020a038116600090815260208190526040812054156105ce57506001610205565b506000610205565b5b9190505600a165627a7a7230582001f6d5fa87504d8f1f0cd285c0699d4d272045de9891d01aa2440fc2ddaa78c90029", + "abi": [{"constant":true,"inputs":[{"name":"phone","type":"uint256"}],"name":"getAddressByPhone","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"phone","type":"uint256"},{"name":"token","type":"bytes32"}],"name":"newToken","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"code","type":"string"}],"name":"activatePair","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressPhonePair","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phoneAddressPair","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"}] } } } diff --git a/web/views/index.pug b/web/views/index.pug index 0afbb79..aba0a61 100644 --- a/web/views/index.pug +++ b/web/views/index.pug @@ -65,11 +65,6 @@ html div.someContainer label#bottomDescAddition.POPDesc.hide div.someContainer - table#step3CopyTable(cellspacing="0" cellpadding="0").copyTable.nomargin.hide - tbody.copyTableBody - tr - td#addressVal.copyTableCellWalletValue2= address - td(data-clipboard-text="#{address}")#copyWallet.copyTableCellCopyButton table#step1CopyTable(cellspacing="0" cellpadding="0").copyTable.marginTop1 tbody.copyTableBody tr @@ -98,4 +93,4 @@ html div.loader-i.loader-i_right-bottom include ./bottom.pug script(src="./javascripts/sweetalert2.min.js" type="text/javascript"). - script(src="./javascripts/application.js?v=1.7" type="text/javascript"). \ No newline at end of file + script(src="./javascripts/application.js?v=1.8" type="text/javascript"). \ No newline at end of file