aboutsummaryrefslogtreecommitdiffstats
path: root/public
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2013-02-27 19:59:21 -0800
committerAdam Soltys <[email protected]>2013-02-27 20:12:29 -0800
commit0b486c8c55060be71d9a97c79b5f5b32ea69d30c (patch)
tree7ae2a4d9577681278b9eba4211a38d0f64a98590 /public
parenta24d76a8d62c9f370f1033bd10e8bc2dce158405 (diff)
downloadcoinos-server-0b486c8c55060be71d9a97c79b5f5b32ea69d30c.tar.gz
coinos-server-0b486c8c55060be71d9a97c79b5f5b32ea69d30c.zip
Create deposit and exec pages for issuing digiBTC
Diffstat (limited to 'public')
-rw-r--r--public/js/deposit.coffee82
-rw-r--r--public/js/index.coffee1
2 files changed, 83 insertions, 0 deletions
diff --git a/public/js/deposit.coffee b/public/js/deposit.coffee
new file mode 100644
index 00000000..72d74e05
--- /dev/null
+++ b/public/js/deposit.coffee
@@ -0,0 +1,82 @@
+#= require jquery-1.8.2.min.js
+#= require moment.min.js
+#= require qr.js
+#= require bootstrap.min.js
+#= require 2.5.3-crypto-sha256.js
+#= require jsbn.js
+#= require jsbn2.js
+#= require check_address.js
+
+EXCHANGE_FAIL = "Error fetching exchange rate"
+SOCKET_FAIL = "Error connecting to payment server"
+ADDRESS_FAIL = "Invalid address"
+
+g = exports ? this
+
+$(->
+ g.address or= '1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr'
+ setupSocket()
+)
+
+setupSocket = ->
+ g.address = "1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr"
+ setTimeout(setupSocket, 10000)
+
+ unless g.websocket and g.websocket.readyState is 1
+ g.websocket = new WebSocket("ws://api.blockchain.info:8335/inv")
+
+ g.websocket.onopen = ->
+ g.websocket.send('{"op":"addr_sub", "addr":"' + g.address + '"}')
+
+ g.websocket.onerror = g.websocket.onclose = ->
+ fail(SOCKET_FAIL)
+
+ g.websocket.onmessage = (e) ->
+ results = eval('(' + e.data + ')')
+ from_address = ''
+ total = 0
+ received = 0
+
+ $.each(results.x.out, (i, v) ->
+ if (v.addr == g.address)
+ received += v.value / 100000000
+ )
+
+ $.each(results.x.inputs, (i, v) ->
+ from_address = v.prev_out.addr
+ if (v.prev_out.addr == g.address)
+ input -= v.prev_out.value / 100000000
+ )
+
+ $('#received').html(received)
+
+fail = (msg) ->
+ g.errors.push(msg)
+ g.errors = g.errors.uniq()
+ $('#calculator').hide()
+ $('#error').show().html(g.errors.toString())
+
+clear = (msg) ->
+ i = g.errors.indexOf(msg)
+ g.errors.splice(i, 1) if i >= 0
+ if (g.errors.length > 0)
+ $('#error').show().html(g.errors.toString())
+ else
+ $('#error').hide()
+ $('#calculator').fadeIn('slow')
+
+get = (name) ->
+ name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]")
+ regexS = "[\\?&]" + name + "=([^&#]*)"
+ regex = new RegExp(regexS)
+ results = regex.exec(window.location.search)
+
+ if (results == null)
+ return ""
+ else
+ return decodeURIComponent(results[1].replace(/\+/g, " "))
+
+Array::uniq = ->
+ output = {}
+ output[@[key]] = @[key] for key in [0...@length]
+ value for key, value of output
diff --git a/public/js/index.coffee b/public/js/index.coffee
index 940a5e2a..8fffa607 100644
--- a/public/js/index.coffee
+++ b/public/js/index.coffee
@@ -1,4 +1,5 @@
#= require jquery-1.8.2.min.js
+#= require bootstrap.js
g = exports ? this