Comparing version 0.19.0 to 0.20.0
@@ -1,2 +0,2 @@ | ||
# Bitcore Cash v0.18.0 | ||
# Bitcore Cash v0.20.0 | ||
@@ -3,0 +3,0 @@ ## Principles |
@@ -692,7 +692,7 @@ 'use strict'; | ||
/** | ||
* Will return a string representation of the address (defaults to CashAddr format) | ||
* Will return a string representation of the address (defaults to legacy format) | ||
* | ||
* @returns {string} address | ||
*/ | ||
Address.prototype.toString = Address.prototype.toCashAddress; | ||
Address.prototype.toString = Address.prototype.toLegacyAddress; | ||
@@ -699,0 +699,0 @@ /*** |
{ | ||
"name": "bsv", | ||
"version": "0.19.0", | ||
"version": "0.20.0", | ||
"description": "A pure and powerful JavaScript Bitcoin SV library.", | ||
@@ -5,0 +5,0 @@ "author": "Ryan X. Charles <ryan@moneybutton.com>", |
@@ -22,3 +22,3 @@ 'use strict'; | ||
var buf = Buffer.concat([new Buffer([0]), pubkeyhash]); | ||
var str = 'bitcoincash:qq7rlg754h903afdtvvy8967zgj5sf5exueg36nyc7'; | ||
var str = '16VZnHwRhwrExfeHFHGjwrgEMq8VcYPs9r'; | ||
@@ -72,3 +72,3 @@ it('can\'t build without data', function() { | ||
it('should pass these tests', function () { | ||
let str = '13k3vneZ3yvZnc9dNWYH2RJRFsagTfAERv'; | ||
var str = '13k3vneZ3yvZnc9dNWYH2RJRFsagTfAERv'; | ||
var address = Address.fromString(str) | ||
@@ -166,3 +166,3 @@ address.toLegacyAddress().should.equal(str) | ||
'15vkcKf7gB23wLAnZLmbVuMiiVDc1Nm4a2', | ||
'bitcoincash:qp3awknl3dz8ezu3rmapff3phnzz95kansf0r3rs4x', | ||
'1A6ut1tWnUq1SEQLMr4ttDh24wcbJ5o9TT', | ||
'1BpbpfLdY7oBS9gK7aDXgvMgr1DPvNhEB2', | ||
@@ -175,3 +175,3 @@ '1Jz2yCRd5ST1p2gUqFB5wsSQfdm3jaFfg7', | ||
var P2SHLivenet = [ | ||
'bitcoincash:pqv60krfqv3k3lglrcnwtee6ftgwgaykpccr8hujjz', | ||
'342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey', | ||
'33vt8ViH5jsr115AGkW6cEmEz9MpvJSwDk', | ||
@@ -185,3 +185,3 @@ '37Sp6Rv3y4kVd1nQ1JV5pfqXccHNyZm1x3', | ||
var P2SHTestnet = [ | ||
'bchtest:pzvmx80heyrg69ypkkt90rwmknfmmy96av8f02lrrf', | ||
'2N7FuwuUuoTBrDFdrAZ9KxBmtqMLxce9i1C', | ||
'2NEWDzHWwY5ZZp8CQWbB7ouNMLqCia6YRda', | ||
@@ -210,6 +210,6 @@ '2MxgPqX1iThW3oZVk9KoFcE5M4JpiETssVN', | ||
var PKHTestnet = [ | ||
'bchtest:qr3pswmv0t332gwaedmuhqcp59gswsu2ysdn664dvs', | ||
'n28S35tqEMbt6vNad7A5K3mZ7vdn8dZ86X', | ||
'n45x3R2w2jaSC62BMa9MeJCd3TXxgvDEmm', | ||
'mursDVxqNQmmwWHACpM9VHwVVSfTddGsEM', | ||
'bchtest:qz82yclajj49kq3cnqk5khs9h2qx5drfruglvwmnac' | ||
'mtX8nPZZdJ8d3QNLRJ1oJTiEi26Sj6LQXS' | ||
]; | ||
@@ -347,3 +347,3 @@ | ||
should.not.exist(error); | ||
Address.fromString(ws).toString().should.equal('bitcoincash:qp3awknl3dz8ezu3rmapff3phnzz95kansf0r3rs4x'); | ||
Address.fromString(ws).toString().should.equal('1A6ut1tWnUq1SEQLMr4ttDh24wcbJ5o9TT'); | ||
}); | ||
@@ -469,3 +469,3 @@ }); | ||
var address = Address.fromPublicKey(pubkey, 'livenet'); | ||
address.toString().should.equal('bitcoincash:qp0jaf7jwcf0zlxguv7kcaj05hsxz2lcquxxcxmxtv'); | ||
address.toString().should.equal('19gH5uhqY6DKrtkU66PsZPUZdzTd11Y7ke'); | ||
}); | ||
@@ -483,5 +483,5 @@ | ||
var a = Address.fromPublicKey(pubkey, 'livenet'); | ||
a.toString().should.equal('bitcoincash:qqazje5ucx2l672lc8cundsa5q9lwdm3rcknh40sxg'); | ||
a.toString().should.equal('16JXnhxjJUhxfyx4y6H4sFcxrgt8kQ8ewX'); | ||
var b = new Address(pubkey, 'livenet', 'pubkeyhash'); | ||
b.toString().should.equal('bitcoincash:qqazje5ucx2l672lc8cundsa5q9lwdm3rcknh40sxg'); | ||
b.toString().should.equal('16JXnhxjJUhxfyx4y6H4sFcxrgt8kQ8ewX'); | ||
}); | ||
@@ -520,5 +520,5 @@ | ||
var a = Address.fromScript(s, 'livenet'); | ||
a.toString().should.equal('bitcoincash:qrywzxcwkrf265mzmz20qjyssdql5cdkuyz47850l7'); | ||
a.toString().should.equal('1KK9oz4bFH8c1t6LmighHaoSEGx3P3FEmc'); | ||
var b = new Address(s, 'livenet'); | ||
b.toString().should.equal('bitcoincash:qrywzxcwkrf265mzmz20qjyssdql5cdkuyz47850l7'); | ||
b.toString().should.equal('1KK9oz4bFH8c1t6LmighHaoSEGx3P3FEmc'); | ||
}); | ||
@@ -529,9 +529,9 @@ | ||
var a = Address.fromScript(s, 'livenet'); | ||
a.toString().should.equal('bitcoincash:pznw6jhnz5n3uet7uvrc9r655sm9lfwjpu4ufgvysw'); | ||
a.toString().should.equal('3GueMn6ruWVfQTN4XKBGEbCbGLwRSUhfnS'); | ||
var b = new Address(s, 'livenet'); | ||
b.toString().should.equal('bitcoincash:pznw6jhnz5n3uet7uvrc9r655sm9lfwjpu4ufgvysw'); | ||
b.toString().should.equal('3GueMn6ruWVfQTN4XKBGEbCbGLwRSUhfnS'); | ||
}); | ||
it('returns the same address if the script is a pay to public key hash out', function() { | ||
var address = 'bitcoincash:qqazje5ucx2l672lc8cundsa5q9lwdm3rcknh40sxg'; | ||
var address = '16JXnhxjJUhxfyx4y6H4sFcxrgt8kQ8ewX'; | ||
var script = Script.buildPublicKeyHashOut(new Address(address)); | ||
@@ -541,3 +541,3 @@ Address(script, Networks.livenet).toString().should.equal(address); | ||
it('returns the same address if the script is a pay to script hash out', function() { | ||
var address = 'bitcoincash:ppkzrtrs0jeheyreg222ekspzpsw7r7qzykvzs4uxh'; | ||
var address = '3BYmEwgV2vANrmfRymr1mFnHXgLjD6gAWm'; | ||
var script = Script.buildScriptHashOut(new Address(address)); | ||
@@ -628,3 +628,3 @@ Address(script, Networks.livenet).toString().should.equal(address); | ||
var address = new Address(str); | ||
var output = '<Address: bitcoincash:qq7rlg754h903afdtvvy8967zgj5sf5exueg36nyc7, type: pubkeyhash, network: livenet>'; | ||
var output = '<Address: 16VZnHwRhwrExfeHFHGjwrgEMq8VcYPs9r, type: pubkeyhash, network: livenet>'; | ||
address.inspect().should.equal(output); | ||
@@ -677,5 +677,5 @@ }); | ||
var address = Address.createMultisig(publics, 2, Networks.livenet); | ||
address.toString().should.equal('bitcoincash:pzdumagr7ru8w46s8alws4lzruv2c75vsuulp7g59n'); | ||
address.toString().should.equal('3FtqPRirhPvrf7mVUSkygyZ5UuoAYrTW3y'); | ||
address = new Address(publics, 2, Networks.livenet); | ||
address.toString().should.equal('bitcoincash:pzdumagr7ru8w46s8alws4lzruv2c75vsuulp7g59n'); | ||
address.toString().should.equal('3FtqPRirhPvrf7mVUSkygyZ5UuoAYrTW3y'); | ||
}); | ||
@@ -685,3 +685,3 @@ | ||
var address = Address.createMultisig(publics, 2, Networks.testnet); | ||
address.toString().should.equal('bchtest:pzdumagr7ru8w46s8alws4lzruv2c75vsucd9e2rz0'); | ||
address.toString().should.equal('2N7T3TAetJrSCruQ39aNrJvYLhG1LJosujf'); | ||
}); | ||
@@ -688,0 +688,0 @@ |
@@ -259,3 +259,3 @@ 'use strict'; | ||
var address = privkey.toAddress(); | ||
address.toString().should.equal('bitcoincash:qp3awknl3dz8ezu3rmapff3phnzz95kansf0r3rs4x'); | ||
address.toString().should.equal('1A6ut1tWnUq1SEQLMr4ttDh24wcbJ5o9TT'); | ||
}); | ||
@@ -266,3 +266,3 @@ | ||
var address = privkey.toAddress(); | ||
address.toString().should.equal('bchtest:qz82yclajj49kq3cnqk5khs9h2qx5drfruglvwmnac'); | ||
address.toString().should.equal('mtX8nPZZdJ8d3QNLRJ1oJTiEi26Sj6LQXS'); | ||
}); | ||
@@ -451,3 +451,3 @@ | ||
var privkey = new PrivateKey('5J2NYGstJg7aJQEqNwYp4enG5BSfFdKXVTtBLvHicnRGD5kjxi6'); | ||
privkey.publicKey.toAddress().toString().should.equal('bitcoincash:qqtv79nz6p246lxt6ja526nhmgdk5qtn9gdc6kt4us'); | ||
privkey.publicKey.toAddress().toString().should.equal('135bwugFCmhmNU3SeCsJeTqvo5ViymgwZ9'); | ||
}); | ||
@@ -457,5 +457,5 @@ | ||
var privkey = new PrivateKey('92VYMmwFLXRwXn5688edGxYYgMFsc3fUXYhGp17WocQhU6zG1kd'); | ||
privkey.publicKey.toAddress().toString().should.equal('bchtest:qpv7q8crqr6872wprm7626kzkt4gafx8gc2x9ecrpr'); | ||
privkey.publicKey.toAddress().toString().should.equal('moiAvLUw16qgrwhFGo1eDnXHC2wPMYiv7Y'); | ||
}); | ||
}); |
@@ -340,3 +340,3 @@ 'use strict'; | ||
var address = pk.toAddress('livenet'); | ||
address.toString().should.equal('bitcoincash:qp3awknl3dz8ezu3rmapff3phnzz95kansf0r3rs4x'); | ||
address.toString().should.equal('1A6ut1tWnUq1SEQLMr4ttDh24wcbJ5o9TT'); | ||
}); | ||
@@ -347,3 +347,3 @@ | ||
var address = pk.toAddress('testnet'); | ||
address.toString().should.equal('bchtest:qz82yclajj49kq3cnqk5khs9h2qx5drfruglvwmnac'); | ||
address.toString().should.equal('mtX8nPZZdJ8d3QNLRJ1oJTiEi26Sj6LQXS'); | ||
}); | ||
@@ -350,0 +350,0 @@ |
@@ -750,3 +750,3 @@ 'use strict'; | ||
s.isPublicKeyHashOut().should.equal(true); | ||
s.toAddress().toString().should.equal('bitcoincash:qrk2ulgf99rm0mjfnr39f2jgjqxjd5kwr5rfyamw2k'); | ||
s.toAddress().toString().should.equal('1NaTVwXDDUJaXDQajoa9MqHhz4uTxtgK14'); | ||
}); | ||
@@ -759,3 +759,3 @@ it('should create script from testnet address', function() { | ||
s.isPublicKeyHashOut().should.equal(true); | ||
s.toAddress().toString().should.equal('bchtest:qzukhqt0x796hv07tpdhheaze5twhxdnuslxfpzagp'); | ||
s.toAddress().toString().should.equal('mxRN6AQJaDi5R6KmvMaEmZGe3n5ScV9u33'); | ||
}); | ||
@@ -950,3 +950,3 @@ it('should create script from public key', function() { | ||
it('for a P2PKH address', function() { | ||
var stringAddress = 'bitcoincash:qrk2ulgf99rm0mjfnr39f2jgjqxjd5kwr5rfyamw2k'; | ||
var stringAddress = '1NaTVwXDDUJaXDQajoa9MqHhz4uTxtgK14'; | ||
var address = new Address(stringAddress); | ||
@@ -957,3 +957,3 @@ var script = new Script(address); | ||
it('for a P2SH address', function() { | ||
var stringAddress = 'bitcoincash:pzjt8lxnl977xtexlycnl5fyt0al9gcnauyjtqh68n'; | ||
var stringAddress = '3GhtMmAbWrUf6Y8vDxn9ETB14R6V7Br3mt'; | ||
var address = new Address(stringAddress); | ||
@@ -971,3 +971,3 @@ var script = new Script(address); | ||
'0xc8e11b0eb0d2ad5362d894f048908341fa61b6e1 OP_EQUALVERIFY OP_CHECKSIG'); | ||
script.toAddress().toString().should.equal('bitcoincash:qrywzxcwkrf265mzmz20qjyssdql5cdkuyz47850l7'); | ||
script.toAddress().toString().should.equal('1KK9oz4bFH8c1t6LmighHaoSEGx3P3FEmc'); | ||
}); | ||
@@ -977,6 +977,6 @@ it('works for p2pkh input', function() { | ||
var script = new Script('72 0x3045022100eff96230ca0f55b1e8c7a63e014f48611ff1af40875ecd33dee9062d7a6f5e2002206320405b5f6992c756e03e66b21a05a812b60996464ac6af815c2638b930dd7a01 65 0x04150defa035a2c7d826d7d5fc8ab2154bd1bb832f1a5c8ecb338f436362ad232e428b57db44677c5a8bd42c5ed9e2d7e04e742c59bee1b40080cfd57dec64b23a'); | ||
script.toAddress().toString().should.equal('bitcoincash:qrywzxcwkrf265mzmz20qjyssdql5cdkuyz47850l7'); | ||
script.toAddress().toString().should.equal('1KK9oz4bFH8c1t6LmighHaoSEGx3P3FEmc'); | ||
// taken from tx 7f8f95752a59d715dae9e0008a42e7968d2736741591bbfc6685f6e1649c21ed | ||
var s2 = new Script('71 0x3044022017053dad84aa06213749df50a03330cfd24d6b8e7ddbb6de66c03697b78a752a022053bc0faca8b4049fb3944a05fcf7c93b2861734d39a89b73108f605f70f5ed3401 33 0x0225386e988b84248dc9c30f784b06e02fdec57bbdbd443768eb5744a75ce44a4c'); | ||
s2.toAddress().toString().should.equal('bitcoincash:qprjfgyvctp82eddvwrup69dvggw63afzg0rfyyvtn'); | ||
s2.toAddress().toString().should.equal('17VArX6GRE6i6MVscBUZoXwi6NhnHa68B7'); | ||
}); | ||
@@ -987,3 +987,3 @@ | ||
var script = new Script('OP_HASH160 20 0x99d29051af0c29adcb9040034752bba7dde33e35 OP_EQUAL'); | ||
script.toAddress().toString().should.equal('bitcoincash:pzva9yz34uxzntwtjpqqx36jhwnamce7x5whc9x70h'); | ||
script.toAddress().toString().should.equal('3FiMZ7stbfH2WG5JQ7CiuzrFo7CEnGUcAP'); | ||
}); | ||
@@ -993,3 +993,3 @@ it('works for p2sh input', function() { | ||
var script = new Script('OP_FALSE 72 0x3045022100e824fbe979fac5834d0062dd5a4e82a898e00ac454bd254cd708ad28530816f202206251ff0fa4dd70c0524c690d4e4deb2bd167297e7bbdf6743b4a8050d681555001 37 0x512102ff3ae0aaa4679ea156d5581dbe6695cc0c311df0aa42af76670d0debbd8f672951ae'); | ||
script.toAddress().toString().should.equal('bitcoincash:pz30sxmypnge5lv0eyshlt0w5jzu5axu3sl4r37aun'); | ||
script.toAddress().toString().should.equal('3GYicPxCvsKvbJmZNBBeWkC3cLuGFhtrQi'); | ||
}); | ||
@@ -996,0 +996,0 @@ |
@@ -12,3 +12,3 @@ 'use strict'; | ||
vout: 0, | ||
address: 'bchtest:qragvhtwjfqgcx7p96yv460m5myfv0qgfyfqdzqmra', | ||
address: 'n4McBrSkw42eYGX5YMACGpkGUJKL3jVSbo', | ||
scriptPubKey: '2103c9594cb2ebfebcb0cfd29eacd40ba012606a197beef76f0269ed8c101e56ceddac', | ||
@@ -15,0 +15,0 @@ amount: 50, |
@@ -220,5 +220,5 @@ 'use strict'; | ||
anyoneCanSpendUTXO.script = new Script().add('OP_TRUE'); | ||
var toAddress = 'bchtest:qpuzrs9rw692n5dr0ctv7asq9th4xul34qes9nf4x6'; | ||
var changeAddress = 'bchtest:qqrnkl4w9q37lg6fuwu32ku2wd2jv336pul3f7qz0a'; | ||
var changeAddressP2SH = 'bchtest:pzdumagr7ru8w46s8alws4lzruv2c75vsucd9e2rz0'; | ||
var toAddress = 'mrU9pEmAx26HcbKVrABvgL7AwA5fjNFoDc'; | ||
var changeAddress = 'mgBCJAsvzgT2qNNeXsoECg2uPKrUsZ76up'; | ||
var changeAddressP2SH = '2N7T3TAetJrSCruQ39aNrJvYLhG1LJosujf'; | ||
var privateKey = 'cSBnVM4xvxarwGQuAfQFwqDg9k5tErHUHzgWsEfD4zdwUasvqRVY'; | ||
@@ -225,0 +225,0 @@ var private1 = '6ce7e97e317d2af16c33db0b9270ec047a91bff3eff8558afb5014afb2bb5976'; |
@@ -13,3 +13,3 @@ 'use strict'; | ||
var sampleData1 = { | ||
'address': 'bchtest:qzydnyc75u7kp6hhu4n3alq922u39ygl9gur0jmaup', | ||
'address': 'mszYqVnqKoQx4jcTdJXxwKAissE3Jbrrc1', | ||
'txId': 'a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458', | ||
@@ -23,3 +23,3 @@ 'outputIndex': 0, | ||
'vout': 1, | ||
'address': 'bchtest:qqrnkl4w9q37lg6fuwu32ku2wd2jv336pul3f7qz0a', | ||
'address': 'mgBCJAsvzgT2qNNeXsoECg2uPKrUsZ76up', | ||
'scriptPubKey': '76a914073b7eae2823efa349e3b9155b8a735526463a0f88ac', | ||
@@ -53,3 +53,3 @@ 'amount': 0.01080000 | ||
var expected = '<UnspentOutput: a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458:0' + | ||
', satoshis: 1020000, address: bchtest:qzydnyc75u7kp6hhu4n3alq922u39ygl9gur0jmaup>'; | ||
', satoshis: 1020000, address: mszYqVnqKoQx4jcTdJXxwKAissE3Jbrrc1>'; | ||
expect(new UnspentOutput(sampleData1).inspect()).to.equal(expected); | ||
@@ -56,0 +56,0 @@ }); |
154
test/uri.js
@@ -24,15 +24,15 @@ 'use strict'; | ||
uri = URI.parse('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri.address.should.equal('qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri = URI.parse('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.address.should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
expect(uri.amount).to.be.undefined(); | ||
expect(uri.otherParam).to.be.undefined(); | ||
uri = URI.parse('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=123.22'); | ||
uri.address.should.equal('qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri = URI.parse('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=123.22'); | ||
uri.address.should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.amount.should.equal('123.22'); | ||
expect(uri.otherParam).to.be.undefined(); | ||
uri = URI.parse('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=123.22' + | ||
uri = URI.parse('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=123.22' + | ||
'&other-param=something&req-extra=param'); | ||
uri.address.should.equal('qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri.address.should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -54,15 +54,15 @@ uri['other-param'].should.equal('something'); | ||
uri = URI.parse('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = URI.parse('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
expect(uri.amount).to.be.undefined(); | ||
expect(uri.otherParam).to.be.undefined(); | ||
uri = URI.parse('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22'); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = URI.parse('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
expect(uri.otherParam).to.be.undefined(); | ||
uri = URI.parse('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22' + | ||
uri = URI.parse('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22' + | ||
'&other-param=something&req-extra=param'); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -77,3 +77,3 @@ uri['other-param'].should.equal('something'); | ||
try { | ||
uri = URI.parse('badprefix:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = URI.parse('badprefix:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
} catch (e) { | ||
@@ -90,5 +90,5 @@ expect(e.message).to.equal('Invalid bitcoin URI'); | ||
var uri; | ||
var str = 'bitcoincash:qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'; | ||
var str = 'bitcoincash:1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'); | ||
uri.address.should.equal('1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'); | ||
expect(uri.amount).to.be.undefined(); | ||
@@ -101,5 +101,5 @@ expect(uri.otherParam).to.be.undefined(); | ||
var uri; | ||
var str = 'bitcoincash:qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g?amount=123.22'; | ||
var str = 'bitcoincash:1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n?amount=123.22'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'); | ||
uri.address.should.equal('1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -113,6 +113,6 @@ expect(uri.otherParam).to.be.undefined(); | ||
var uri; | ||
var str = 'bitcoincash:qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g?amount=123.22' + | ||
var str = 'bitcoincash:1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n?amount=123.22' + | ||
'&other-param=something&req-extra=param'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'); | ||
uri.address.should.equal('1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -128,6 +128,6 @@ uri['other-param'].should.equal('something'); | ||
var uri; | ||
var str = 'bitcoincash:qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g?amount=123.22' + | ||
var str = 'bitcoincash:1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n?amount=123.22' + | ||
'&other-param=something&req-extra=param'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'); | ||
uri.address.should.equal('1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -143,6 +143,6 @@ uri['other-param'].should.equal('something'); | ||
var uri; | ||
var str = 'bitcoincash:qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g?amount=123.22' + | ||
var str = 'bitcoincash:1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n?amount=123.22' + | ||
'&message=Donation%20for%20project%20xyz&label=myLabel'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qryan2ur3ff2x4arg4zaemevmncgewwl6swgk4az9g'); | ||
uri.address.should.equal('1KQHaXuwvwA8GCBvZNHrZpW2H3F8YxHJ5n'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -163,5 +163,5 @@ uri.label.should.equal('myLabel'); | ||
var uri; | ||
var str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'; | ||
var str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
expect(uri.amount).to.be.undefined(); | ||
@@ -174,5 +174,5 @@ expect(uri.otherParam).to.be.undefined(); | ||
var uri; | ||
var str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22'; | ||
var str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -186,6 +186,6 @@ expect(uri.otherParam).to.be.undefined(); | ||
var uri; | ||
var str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22' + | ||
var str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22' + | ||
'&other-param=something&req-extra=param'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -200,6 +200,6 @@ uri['other-param'].should.equal('something'); | ||
var uri; | ||
var str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22' + | ||
var str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22' + | ||
'&other-param=something&req-extra=param'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -215,6 +215,6 @@ uri['other-param'].should.equal('something'); | ||
var uri; | ||
var str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22' + | ||
var str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22' + | ||
'&message=Donation%20for%20project%20xyz&label=myLabel'; | ||
uri = URI.parse(str); | ||
uri.address.should.equal('qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal('123.22'); | ||
@@ -234,9 +234,9 @@ uri.label.should.equal('myLabel'); | ||
it('URIs can be validated statically (test vector)', function() { | ||
URI.isValid('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m').should.equal(true); | ||
URI.isValid('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj').should.equal(true); | ||
URI.isValid('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2') | ||
URI.isValid('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2') | ||
.should.equal(true); | ||
URI.isValid('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2&other=param') | ||
URI.isValid('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2&other=param') | ||
.should.equal(true); | ||
URI.isValid('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2&req-other=param', | ||
URI.isValid('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2&req-other=param', | ||
['req-other']).should.equal(true); | ||
@@ -257,9 +257,9 @@ URI.isValid('bitcoincash:mmrqEBJxUCf42vdb3oozZtyz5mKr3Vb2Em?amount=0.1&' + | ||
it('URIs can be validated statically (test vector)', function() { | ||
URI.isValid('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x').should.equal(true); | ||
URI.isValid('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF').should.equal(true); | ||
URI.isValid('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2') | ||
URI.isValid('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2') | ||
.should.equal(true); | ||
URI.isValid('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2&other=param') | ||
URI.isValid('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2&other=param') | ||
.should.equal(true); | ||
URI.isValid('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2&req-other=param', | ||
URI.isValid('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2&req-other=param', | ||
['req-other']).should.equal(true); | ||
@@ -285,3 +285,3 @@ URI.isValid('bchtest:mmrqEBJxUCf42vdb3oozZtyz5mKr3Vb2Em?amount=0.1&' + | ||
it('do not need new keyword', function() { | ||
var uri = URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
var uri = URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.should.be.instanceof(URI); | ||
@@ -291,3 +291,3 @@ }); | ||
it('do not need new keyword for testnet', function() { | ||
var uri = URI('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
var uri = URI('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.should.be.instanceof(URI); | ||
@@ -301,3 +301,3 @@ }); | ||
it('parses address', function() { | ||
uri = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.address.should.be.instanceof(bitcore.Address); | ||
@@ -308,4 +308,4 @@ uri.network.should.equal(Networks.livenet); | ||
it('parses amount', function() { | ||
uri = URI.fromString('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=123.22'); | ||
uri.address.toString().should.equal('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri = URI.fromString('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=123.22'); | ||
uri.address.toString().should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.amount.should.equal(12322000000); | ||
@@ -316,3 +316,3 @@ expect(uri.otherParam).to.be.undefined(); | ||
it('stores unknown parameters as "extras"', function() { | ||
uri = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2&other=param'); | ||
uri = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2&other=param'); | ||
uri.address.should.be.instanceof(bitcore.Address); | ||
@@ -325,3 +325,3 @@ expect(uri.other).to.be.undefined(); | ||
(function() { | ||
return new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2&other=param&req-required=param'); | ||
return new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2&other=param&req-required=param'); | ||
}).should.throw(Error); | ||
@@ -331,3 +331,3 @@ }); | ||
it('has no false negative when checking supported features', function() { | ||
uri = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.2&other=param&' + | ||
uri = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.2&other=param&' + | ||
'req-required=param', ['req-required']); | ||
@@ -346,3 +346,3 @@ uri.address.should.be.instanceof(bitcore.Address); | ||
it('parses a testnet address', function() { | ||
uri = new URI('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = new URI('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.address.should.be.instanceof(bitcore.Address); | ||
@@ -353,4 +353,4 @@ uri.network.should.equal(Networks.testnet); | ||
it('parses amount', function() { | ||
uri = URI.fromString('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=123.22'); | ||
uri.address.toString().should.equal('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = URI.fromString('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=123.22'); | ||
uri.address.toString().should.equal('mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF'); | ||
uri.amount.should.equal(12322000000); | ||
@@ -361,3 +361,3 @@ expect(uri.otherParam).to.be.undefined(); | ||
it('stores unknown parameters as "extras"', function() { | ||
uri = new URI('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2&other=param'); | ||
uri = new URI('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2&other=param'); | ||
uri.address.should.be.instanceof(bitcore.Address); | ||
@@ -370,3 +370,3 @@ expect(uri.other).to.be.undefined(); | ||
(function() { | ||
return new URI('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2&other=param&req-required=param'); | ||
return new URI('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2&other=param&req-required=param'); | ||
}).should.throw(Error); | ||
@@ -376,3 +376,3 @@ }); | ||
it('has no false negative when checking supported features', function() { | ||
uri = new URI('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?amount=1.2&other=param&' + | ||
uri = new URI('bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?amount=1.2&other=param&' + | ||
'req-required=param', ['req-required']); | ||
@@ -392,3 +392,3 @@ uri.address.should.be.instanceof(bitcore.Address); | ||
uri = new URI({ | ||
address: 'qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m' | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj' | ||
}); | ||
@@ -399,3 +399,3 @@ uri.address.should.be.instanceof(bitcore.Address); | ||
uri = new URI({ | ||
address: 'qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x' | ||
address: 'mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF' | ||
}); | ||
@@ -406,3 +406,3 @@ uri.address.should.be.instanceof(bitcore.Address); | ||
uri = new URI({ | ||
address: 'qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
amount: 120000000, | ||
@@ -418,3 +418,3 @@ other: 'param' | ||
return new URI({ | ||
address: 'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
'req-required': 'param' | ||
@@ -425,3 +425,3 @@ }); | ||
uri = new URI({ | ||
address: 'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
amount: 120000000, | ||
@@ -438,15 +438,15 @@ other: 'param', | ||
it('should support double slash scheme', function() { | ||
var uri = new URI('bitcoincash://qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
uri.address.toString().should.equal('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
var uri = new URI('bitcoincash://1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.address.toString().should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri = new URI('bchtest://qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri.address.toString().should.equal('bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x'); | ||
uri = new URI('bchtest://1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
uri.address.toString().should.equal('1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
}); | ||
it('should input/output String', function() { | ||
var str = 'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?' + | ||
var str = 'bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?' + | ||
'message=Donation%20for%20project%20xyz&label=myLabel&other=xD'; | ||
URI.fromString(str).toString().should.equal(str); | ||
str = 'bchtest:qqkj609un9sl896yezxj0j5hxagk7h7pnyyzaz887x?' + | ||
str = 'bchtest:mjdptprJUHU3ZbMD6obp4LcrU8rgWtp6dF?' + | ||
'message=Donation%20for%20project%20xyz&label=myLabel&other=xD'; | ||
@@ -458,3 +458,3 @@ URI.fromString(str).toString().should.equal(str); | ||
var json = JSON.stringify({ | ||
address: 'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
message: 'Donation for project xyz', | ||
@@ -468,3 +468,3 @@ label: 'myLabel', | ||
it('should support numeric amounts', function() { | ||
var uri = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=12.10001'); | ||
var uri = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=12.10001'); | ||
expect(uri.amount).to.be.equal(1210001000); | ||
@@ -474,3 +474,3 @@ }); | ||
it('should support extra arguments', function() { | ||
var uri = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?' + | ||
var uri = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?' + | ||
'message=Donation%20for%20project%20xyz&label=myLabel&other=xD'); | ||
@@ -490,9 +490,9 @@ | ||
new URI({ | ||
address: 'qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
}).toString().should.equal( | ||
'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m' | ||
'bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj' | ||
); | ||
new URI({ | ||
address: 'qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m', | ||
address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj', | ||
amount: 110001000, | ||
@@ -502,3 +502,3 @@ message: 'Hello World', | ||
}).toString().should.equal( | ||
'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m?amount=1.10001&message=Hello%20World&something=else' | ||
'bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?amount=1.10001&message=Hello%20World&something=else' | ||
); | ||
@@ -509,4 +509,4 @@ | ||
it('should be case insensitive to protocol', function() { | ||
var uri1 = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
var uri2 = new URI('bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'); | ||
var uri1 = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
var uri2 = new URI('bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'); | ||
@@ -517,3 +517,3 @@ uri1.address.toString().should.equal(uri2.address.toString()); | ||
it('writes correctly the "r" parameter on string serialization', function() { | ||
var originalString = 'bchtest:qpzextxrtp4ettwsfru86fggmwf565h3jshdfuz5vj?amount=0.1&' + | ||
var originalString = 'bchtest:mmrqEBJxUCf42vdb3oozZtyz5mKr3Vb2Em?amount=0.1&' + | ||
'r=https%3A%2F%2Ftest.bitpay.com%2Fi%2F6DKgf8cnJC388irbXk5hHu'; | ||
@@ -525,3 +525,3 @@ var uri = new URI(originalString); | ||
it('displays nicely on the console (#inspect)', function() { | ||
var uri = 'bitcoincash:qzruaav37d2hwqfaqvsktwdqjly502s06qfra0qe9m'; | ||
var uri = 'bitcoincash:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj'; | ||
var instance = new URI(uri); | ||
@@ -528,0 +528,0 @@ instance.inspect().should.equal('<URI: ' + uri + '>'); |
3013612