diff --git a/index.html b/index.html
index d0df43e..cfd4145 100644
--- a/index.html
+++ b/index.html
@@ -1357,6 +1357,7 @@
+
@@ -1421,6 +1422,7 @@
+
@@ -1443,6 +1445,7 @@
+
diff --git a/js/coinbin.js b/js/coinbin.js
index 6a42fdd..798c3fe 100644
--- a/js/coinbin.js
+++ b/js/coinbin.js
@@ -935,6 +935,8 @@ $(document).ready(function() {
} else if(host=='cryptoid.info_carboncoin'){
listUnspentCryptoidinfo_Carboncoin(redeem);
+ } else if(host=='cpuchain'){
+ listUnspentCPUchain(redeem);
} else {
listUnspentDefault(redeem);
}
@@ -1213,6 +1215,39 @@ $(document).ready(function() {
});
}
+ /* retrieve unspent data from cpuchain api */
+ function listUnspentCPUchain(redeem){
+ $.ajax ({
+ type: "GET",
+ url: "https://api.cpuchain.org/unspent/"+redeem.addr,
+ dataType: "json",
+ error: function(data) {
+ $("#redeemFromStatus").removeClass('hidden').html(' Unexpected error, unable to retrieve unspent outputs!');
+ },
+ success: function(data) {
+ if(data.result){
+ $("#redeemFromAddress").removeClass('hidden').html(' Retrieved unspent inputs from address '+redeem.addr+'');
+ for(var i in data.result){
+ var o = data.result[i];
+ var tx = ((""+o.txid).match(/.{1,2}/g).reverse()).join("")+'';
+ if(tx.match(/^[a-f0-9]+$/)){
+ var n = o.index;
+ var script = (redeem.redeemscript==true) ? redeem.decodedRs : o.script;
+ var amount = ((o.value.toString()*1)/100000000).toFixed(8);
+ addOutput(tx, n, script, amount);
+ }
+ }
+ } else {
+ $("#redeemFromStatus").removeClass('hidden').html(' Unexpected error, unable to retrieve unspent outputs.');
+ }
+ },
+ complete: function(data, status) {
+ $("#redeemFromBtn").html("Load").attr('disabled',false);
+ totalInputAmount();
+ }
+ });
+ }
+
/* math to calculate the inputs and outputs */
@@ -1410,6 +1445,35 @@ $(document).ready(function() {
});
}
+ // broadcast transaction via cpuchain api
+ function rawSubmitCPUchain(thisbtn){
+ $(thisbtn).val('Please wait, loading...').attr('disabled',true);
+ $.ajax ({
+ type: "POST",
+ url: "https://api.cpuchain.org/broadcast",
+ data: {"raw":$("#rawTransaction").val()},
+ dataType: "json",
+ error: function(data) {
+ var obj = $.parseJSON(data.responseText);
+ var r = ' ';
+ r += (obj.data.raw) ? obj.data.raw : '';
+ r = (r!='') ? r : ' Failed to broadcast'; // build response
+ $("#rawTransactionStatus").addClass('alert-danger').removeClass('alert-success').removeClass("hidden").html(r).prepend('');
+ },
+ success: function(data) {
+ if(data.result){
+ $("#rawTransactionStatus").addClass('alert-success').removeClass('alert-danger').removeClass("hidden").html(' TXID: ' + data.result + '
View on Blockchain Explorer');
+ } else {
+ $("#rawTransactionStatus").addClass('alert-danger').removeClass('alert-success').removeClass("hidden").html(' Unexpected error, please try again').prepend('');
+ }
+ },
+ complete: function(data, status) {
+ $("#rawTransactionStatus").fadeOut().fadeIn();
+ $(thisbtn).val('Submit').attr('disabled',false);
+ }
+ });
+ }
+
@@ -1865,6 +1929,11 @@ $(document).ready(function() {
else if (coinjs.pub == 0x1e){ // DOGE
explorer_addr = "https://chain.so/address/DOGE/";
}
+ else if (coinjs.pub == 0x1c){ // CPU
+ explorer_addr = "https://explorer.cpuchain.org/address/";
+ explorer_tx = "https://explorer.cpuchain.org/tx/";
+ coinjs.bech32.hrp = "cpu";
+ }
$("#statusSettings").addClass("alert-success").removeClass("hidden").html(" Settings updates successfully").fadeOut().fadeIn();
} else {
@@ -1958,6 +2027,10 @@ $(document).ready(function() {
$("#rawSubmitBtn").click(function(){
rawSubmitcryptoid_Carboncoin(this);
});
+ } else if(host=="cpuchain"){
+ $("#rawSubmitBtn").click(function(){
+ rawSubmitCPUchain(this);
+ });
} else {
$("#rawSubmitBtn").click(function(){
rawSubmitDefault(this); // revert to default