2018-01-08 13:35:59 +09:00
|
|
|
var bitcoinCashJsModule = angular.module('bitcoinCashJsModule', []);
|
2018-06-01 17:42:29 +09:00
|
|
|
var bchjs = require('../node_modules/bitcoincashjs-fork');
|
2018-01-08 13:35:59 +09:00
|
|
|
|
|
|
|
|
bitcoinCashJsModule.constant('MODULE_VERSION', '1.0.0');
|
|
|
|
|
|
|
|
|
|
bitcoinCashJsModule.provider('bitcoinCashJsService', function() {
|
|
|
|
|
var provider = {};
|
|
|
|
|
|
|
|
|
|
provider.$get = function() {
|
|
|
|
|
var service = {};
|
2018-01-09 18:04:52 +09:00
|
|
|
const Address = bchjs.Address;
|
|
|
|
|
const BitpayFormat = Address.BitpayFormat;
|
|
|
|
|
const CashAddrFormat = Address.CashAddrFormat;
|
2018-01-08 13:35:59 +09:00
|
|
|
|
|
|
|
|
service.translateAddresses = function(address) {
|
|
|
|
|
var result = new Address(address);
|
|
|
|
|
return {
|
|
|
|
|
'legacy': result.toString(),
|
|
|
|
|
'bitpay': result.toString(BitpayFormat),
|
2018-01-08 16:16:12 +09:00
|
|
|
'cashaddr': result.toString(CashAddrFormat).replace('bitcoincash:', '')
|
2018-01-08 13:35:59 +09:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-09 18:04:52 +09:00
|
|
|
service.readAddress = function(address) {
|
|
|
|
|
var a = address.replace('bitcoincash:', '');
|
|
|
|
|
var result = {};
|
|
|
|
|
if (a[0] == '1') {
|
|
|
|
|
result = Address.fromString(a, 'livenet', 'pubkeyhash');
|
|
|
|
|
} else if (a[0] == '3') {
|
|
|
|
|
result = Address.fromString(a, 'livenet', 'scripthash');
|
|
|
|
|
} else if (a[0] == 'C') {
|
|
|
|
|
result = Address.fromString(a, 'livenet', 'pubkeyhash', BitpayFormat);
|
|
|
|
|
} else if (a[0] == 'H') {
|
|
|
|
|
result = Address.fromString(a, 'livenet', 'scripthash', BitpayFormat);
|
|
|
|
|
} else if (a[0] == 'q') {
|
|
|
|
|
result = Address.fromString(address, 'livenet', 'pubkeyhash', CashAddrFormat);
|
|
|
|
|
} else if (a[0] == 'p') {
|
|
|
|
|
result = Address.fromString(address, 'livenet', 'scripthash', CashAddrFormat);
|
|
|
|
|
} else {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
'legacy': result.toString(),
|
|
|
|
|
'bitpay': result.toString(BitpayFormat),
|
|
|
|
|
'cashaddr': result.toString(CashAddrFormat).replace('bitcoincash:', '')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
service.getBitcoinCashJs = function() {
|
|
|
|
|
return bchjs;
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-08 13:35:59 +09:00
|
|
|
return service;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return provider;
|
|
|
|
|
});
|