Commit graph

1727 commits

Author SHA1 Message Date
Torkel Rogstad
37f096ee4d updates osx binaries (#308)
* updates osx binaries

* Add doc on binary signing
2019-01-28 09:55:56 -06:00
Chris Stewart
5d3bf4fec0
Add sbt-git plugin, reformat snapshot versioning scheme (#309) 2019-01-23 10:23:05 -06:00
Chris Stewart
6c935f1c6c
Add network call to eclair api (#310) 2019-01-23 10:22:45 -06:00
Torkel Rogstad
1bf39a3865 findroute RPC call tests/types (#301)
* Improved toString methdos

* Eclair RPC for findroute

* ConfigUtil for getStringOrElse

* Scaladoc

* Version bump

* Typed ChannelDesc a and b fields
2019-01-23 08:45:46 -06:00
Torkel Rogstad
f5ac7970ea Adds README notes on how to add Bitcoin-S in Ammonite (#300) 2019-01-21 07:12:03 -06:00
Torkel Rogstad
36c01a0cf8 Scaladoc (#296)
* Scaladoc formatting

* Adds sbt-api-mappings plugin
2019-01-21 06:36:39 -06:00
Torkel Rogstad
5c9747f9fb Update rpc README (#306) 2019-01-21 06:28:57 -06:00
Torkel Rogstad
2eae4c2871 Tunes scoverage (#303) 2019-01-20 14:57:16 -06:00
Torkel Rogstad
26949b0245 Adds Bitcoin-S static site (#299) 2019-01-18 06:34:27 -06:00
Torkel Rogstad
5a195ec6e9 Improves types for Eclair RPC (#298)
* Improves types for Eclair RPC

* Version bump

* Adds note in README.md on where artifacts are published
2019-01-18 06:34:08 -06:00
Chris Stewart
9dfbc9ed24
version 0.0.3 (#290)
* version 0.0.3

* Fix cross compile issues so we can now compile and publish a dependency for the scala 2.11 series

scalafmt

* bump versions on readme, try to fix scoverage crossversion issue

* Downgrade scoverage to try and get it to work with ci

* Tinker with scoverage versions

* Add suggestion from scoverage people to exclude secp256k1jni from build coverage
2019-01-10 09:07:18 -06:00
Torkel Rogstad
2dc798d856 Scaladoc formatting (#295) 2019-01-10 08:54:57 -06:00
sken
626c62d10b fix uncaught exception in ScriptNumber (#293) 2019-01-09 13:29:59 -06:00
Torkel Rogstad
c4aed30eca Scaladoc formatting (#292) 2019-01-09 08:57:30 -06:00
Chris Stewart
d01e37cfa8
Add secp256k1jni readme, start working main project readme, move old readme to core/README.md (#276)
Add documentation for TxBuilder

Try to fix links on core/README.md

add readme badges for bintray

Nits and formatting of README (#23)

ran scalafmt, fixed format in secp readme
2019-01-08 09:29:06 -06:00
Torkel Rogstad
1a1409c832 Scaladoc formatting (#287) 2019-01-08 05:55:33 -06:00
Chris Stewart
a7d5171e5c Bump version to 0.0.3-SNAPSHOT 2019-01-07 19:37:42 -06:00
Nadav Kohen
780302d92f RpcRetryException (#274)
* Created RpcRetryException for better error messages on RpcUtil timeouts

* De-duplicated RpcUtil

* Ran scalafmt

* Fixed an import and a version
2019-01-07 16:49:17 -06:00
Torkel Rogstad
22806bfd0d Adds typesafe-config parsing of bitcoin.conf (#279)
* Adds typesafe-config parsing of bitcoin.conf

Adds ZmqConfig trait

* Only add datadir if not present

* Use old and new config settings
2019-01-07 09:30:59 -06:00
Torkel Rogstad
cb2ffa25fc Fixes some Scaladocs (#286)
* Fixes some Scaladocs

* ran scalafmt

* ran test:scalafmt
2019-01-07 09:23:29 -06:00
Chris Stewart
925ddda148
Add test case (#285)
WIP2

Fix bug where we weren't padding byte boundary on signature data

fix nits, run scalafmt

Address torkel's code review
2019-01-07 07:53:52 -06:00
Chris Stewart
611c0b3217
Add 'Script' abstract class, make ScriptSignature and ScriptPubKey extend it. Make underlying data represensation cache asm in ScriptPubKey and ScriptSignature (#246)
Revert bitcoinsV
2019-01-05 18:25:33 -06:00
Chris Stewart
ba20734df7
Add ability to publish snapshots for bitcoin-s (#281) 2019-01-05 09:40:51 -06:00
Torkel Rogstad
ce4bb32ae8 Compile and publish locally before tests (#282)
* Adds CONTRIBUTING.MD

* Compile and publish locally before tests
2019-01-05 08:31:40 -06:00
Chris Stewart
d9aee63392
Add osx to the operating system matrix (#273)
remove openjdk from ci matrix

Specify what osx image to use: https://docs.travis-ci.com/user/reference/osx#jdk-and-os-x

Try specify xcode9.3 in the os matrix

remove oraclejdk8 requirement

chmod on bitcoin binaries (#21)

* chmod on bitcoin binaries

* platform dependent binary fetchin

* platform dependent binary fetchin attempt 2

* bash is stupid

* bash is stupid take 2

* bash is stupid take 3

Remove DataTypeConverter dependency which was moved in the jdk

2018 12 17 add osx ci take2 (#22)

* bash is stupid take 4

* bash is stupid take 5

* bash is stupid take 6

bump timeout

reduce amount of blocks generated for pruned chain client

bump time out of encrypted wallet

fix comment

bump wallet encryption timeout... again
2018-12-18 19:29:59 -06:00
Dan-Smith-Suredbits
9b9203b4fb Add 64 bit osx libsecp256k1 binaries (#272) 2018-12-17 16:11:42 -06:00
Chris Stewart
20a0d38c93
2018 12 14 rm gen dup test files (#269)
* remove duplicate files in rpc,eclair-rpc and replace them with publish testkit dep

remove gen package, fix bugs in testkit generators that weren't properly copied for the gen project

* Adding bintray resolver, fixing bug in bech32 address generator where exception was being thrown because an unassigned witness spk was hash was being called
2018-12-15 10:09:52 -06:00
Chris Stewart
701738d829
WIP: Add ability to publish to bintray, take on the org.scijava native-lib… (#268)
* Add ability to publish to bintray, take on the org.scijava native-lib-loader dependenency so we can bundle secp256k1 natively in a jar file and publish. This dependency will allow us to link the correct secp256k1 version dependending on the os and arch in the future

* Add sbt-pgp plugin to sign binaries, modify project names to all have the 'bitcoin-s-' prefix.

* Adding linux 32 bit secp256k1 natives to secp256k1jni project

* Add mising linux_64 binaries

* remove unused symlinks
2018-12-14 13:09:53 -06:00
Chris Stewart
935843c790
Add hard coded secp256k1 files for linux x86_64 bit arch (#263)
* Add hard coded secp256k1 files for linux x86_64 bit arch

* Add binary files that ignored in .gitignore
2018-12-11 15:38:17 -05:00
Chris Stewart
0bc658c3db
Rework TransactionWitness, add more tests for resizing (#267)
Turn down logging again
2018-12-10 10:53:45 -05:00
Chris Stewart
01cdf7219a
Remove all old EscrowTimeoutScriptSig/ScriptPubKey and channels stuff, this is obsolete now with the Lightning Network (#265)
run scalafmt
2018-12-09 15:47:57 -05:00
Nadav Kohen
b8dbd302cb Added scalafmt and ran it (#264) 2018-12-09 14:43:31 -05:00
Chris Stewart
4a407ccdf1
Lightning Network (#256)
* Implementation of LnCurrencyUnit

Fix unary and unneeded comments.

Refactor and change arithmetic to use PicoBitcoins.

Add property based testing for LnCurrencyUnits

Refactor LnCurrencyUnits after code review

Fix case and change LnPolicy to val

Remove division and add Unit tests

* Add additional unit tests and deserialization

* WIP: Implement LnHumanReadablePart (#190)

* Initial Implementation of LnHumanReadablePart

* Add unit tests and improve deserialization from string

* Refactor LnParams and LnHrp. Add requirements for instantiating LnHrp.

* Clean up and re-organize things

Re-working LnHumanReadablePart.fromString

Fix unnecessary pattern match

Removing test case

* Created eclairRpc project (#193)

Added getinfo functionality

Added connect functionality

Added most of the rpcs

Added send and checkpayment functionality

Added updaterelayfee functionality

Fixed compile errors

Ran scalafmt

Added DaemonInstance and start/stop methods

Added TestUtil

Added open test

Fixed typo in allUpdates

Fixed ChannelResult

Add eclair prefix to rpc stuff

open channel unit test passing

Adding instructions to grab default eclair in build

Add zmq config to bitcoin.conf

rename test log files, bump timeouts on connections

Add eclair-rpc README, rework some RpcUtil/TestUtil stuff for async

fixing bug in precious block, addressing code review

Address more code review comments

* Add NodeId, NodeUri, ChannelId (#196)

refactor json serializing methods to SerializerUtil, add more types

* Adding LnCurrencyUnit types to rpc api, fixing bug where eclair tests were not binding to a random port for zmq (#198)

Remove start stuff

* Adding more rpc tests, testing open, payment over channel, and closing of the channel (#199)

Add checkpayment tests

Address code review, create EclairTestUtil.createNodPair

* Two way eclair transactions sanity test (#200)

* Added a test for sending payments in both directions

* Updated travis bitcoin core version

* Initial LnInvoice Implementation (#194)

Start typing some ln invoice stuff

Add support for Fallback Address encoding

Part 1: Breaking out Bech32 specific functions into a util class, don't embed in Bech32Address

re-naming fromBase8ToBase5 -> from8BitTo5bit

Part 1: Breaking out Bech32 specific functions into a util class, don't embed in Bech32Address

rework ln invoices tags

fix more method names in Bech32

Rename ScriptPubKeyTag -> NodeIdTag

All invoice tags tests passing except weird serialization order one

Address code review, add some more comments

rename 'LnInvoiceTags' -> 'LnInvoiceTaggedFields'

create a UInt5 type to represent all of the bech32 data structures

Passing all serialization in the BOLT11 examples

First cut at deserialization

* Adding bitcoin-s types to the eclair-rpc, fixing bug with decoding numbers, refactoring more things (#204)

* Switch bech32 p2wpkh hash from RipdeMd160 -> Sha256Hash160Digest (#206)

* Add testkit project / dependency (#209)

fix core-gen build.sbt name

* add correct dependencies to testkit (#210)

* Get dep name right (#211)

* Add serialization symmetry property for LnInvoice, fixing various bugs in LnInvoice data structures, adding generators for various LnInvoice data structures (#217)

* Reworking AuthCredentials and Instances so that we can read from config files (#218)

add core files that were missing

* Reworking a lot of testkit data structures to be more helpful for testing (#219)

Add missing EclairApi file

remove noisy log

* Rebase onto master, fix testkit compile issues

* Simplify LnCurrencyUnit, add MilliSatoshis, refactor EclairRpc to use… (#226)

* Simplify LnCurrencyUnit, add MilliSatoshis, refactor EclairRpc to use MilliSatoshis

* Add some helper functions around millisatoshis for comparing them to other things

* more tests / helper methods, at generator for millisatoshis

* Fix typo

* Fix comparison operators for millisatoshis, add Writes for MilliSatos… (#227)

* Fix comparison operators for millisatoshis, add Writes for MilliSatoshis in JsonWriters

* re-add comparison operators to LnCurrencyUnit for convinience

* Add millisatoshi reads (#228)

* Updating version of eclair to https://github.com/ACINQ/eclair/releases/download/v0.2-beta8/eclair-node-0.2-beta8-52821b8.jar (#229)

* Derive nodeId from ln invoice signature, move nodeid case class into … (#230)

* Derive nodeId from ln invoice signature, move nodeid case class into the core project

* Add missing assert

* Fix null pointer exception that could occurred during requiring the invoice's signature to valid. This could occurr if a user tried to construct an invoice with an invalid signature (#233)

* Turn down logging / remove logging (#235)

* Cleaned up eclair conf (#237)

* Cleaned up eclair conf

* Added test for bad auth and Reads for LnInvoice

* WIP: rebase onto master with new compiler opts

fix more compiler warnings with testkit

* fix new compiler warnings for scalac 2.12.x on ln (#253)

* fix new compiler warnings for scalac 2.12.x on ln

* fix missing p2wpkhoutput in rawoutput testkit/CreditingTxGen.scala

* First cut at code review for the ln branch (#258)

Fix bug in parsing the LnTagPrefix.CltvExpiry, add properties that check if the NodeIdTag is given explicitly to the invoice

remove dumb invariants

revert version

* 2018 12 4 ln code review rd2 (#259)

* Amend EclairRpc test case for confirming that channel is closed

* Add final check to test case to make sure the bitcoind wallet received funds when closing channel

* Address Torkel's code review

* Addresses some review on #256 (#260)

* Docstring cleanup, small nits

* Refactors some redudant data, nested if => switch

* Fixes SO error by reversing remowal of `new`

* Fixes a couple of bugs

* map.get instead of list.find

* StringBuilder in HRP

* Rework NetworkParam to LnParam

* Cleanup

* Renames file to match trait/object name

* Docstring cleanup, pure formatting

* Simplifies a few expressions, doesn't change semantics

* Adds overloaded findRoute method instead of Either[NodeId, LnInvoice]

* Eclair cleanup

* Address concerns from Chris

* Type annotation to match case

* Address nadav's code review
2018-12-08 11:03:24 -05:00
Chris Stewart
ca6cfdf83b
Bump plugin versions, remove scalariform (#255)
* Bump plugin versions, remove scalariform

* Bump sbt version to 1.2.4
2018-11-28 14:45:49 -05:00
Chris Stewart
3802c5534c
Switch default scalac to 2.12.7 (#254) 2018-11-28 14:16:03 -05:00
Chris Stewart
2b087a131b
2018 11 24 scala 2.12 warnings (#251)
* fixing compiler warnings for core module

* fix rpc project compiler warnings for scalac 2.12

* revert default scala version to 2.11.12
2018-11-25 14:51:36 -05:00
Chris Stewart
4620345ebe
2018 11 21 performance improvements (#249)
* Change ScriptConstant members from def to val

change all stuff in org.bitcoins.script.constant._ to actually be constant , this seems to improve performance from rudimentary bench marks by 2x

* rework RawSerializerHelper.writeCmpctSizeUInt to remove extra loop

* Fix bug where P2WPKHWitnessV0/P2WSHWitnessV0 didn't extend ScritpWitnessV0, add a few optimizations in ScriptWitness
2018-11-23 20:56:19 -05:00
Chris Stewart
cad975308a Add BlockBench and benchmark README 2018-11-23 08:38:30 -05:00
Chris Stewart
7365cbc3e6 Bump travis ci scalav
Add scalav 2.12.7 to the travis ci matrix

Add more jdk versions

explicitly set scalav when starting sbt for travis

Bump junit interface for secp256k1 tests

remove openjdk/oraclejdk 9 for now
2018-11-23 07:55:37 -05:00
Chris Stewart
0ca38fd03b Make core the only module covered by code coverage 2018-11-23 06:47:25 -05:00
Chris Stewart
f9dafb6ebb Remove annoying logs 2018-11-18 18:37:26 -05:00
Chris Stewart
a5bdda8d94 Add compiler options for the Compile scope 2018-11-18 18:37:26 -05:00
Chris Stewart
9a82a3e884 Optimize RawBitcoinSerializer.parseCmpctSizeUIntSeq to use a builder rather than just manually appending time. Seems to speed up performance on the two test vectors in BlockTests by ~1s 2018-11-18 11:18:36 -05:00
Torkel Rogstad
1e2f0df30f Adds cancelable in Global := true 2018-11-15 14:11:34 -05:00
Chris Stewart
0770b7b8e6
Add qualifers to dependencies to download sources (#240) 2018-11-11 17:22:22 -05:00
Torkel Rogstad
056718bbdb Adds classpath argument to .jvmopts (#232) 2018-11-10 08:39:28 -05:00
Nadav Kohen
8ec3824db9 Added test for ZMQSubscriber that actually checks sent data (#225) 2018-11-03 10:46:31 -04:00
Chris Stewart
e42e66a9de
Bump versions of dependencies (#224) 2018-10-26 10:06:49 -04:00
Torkel Rogstad
a48969f70a Bitcoind spawn tweaks (#221)
* Test for single node creation

* Passes parameters explicitly to bitcoind
2018-10-17 17:49:40 -04:00
sken
a4b8985cfd fix broken links in read me (#220) 2018-10-17 09:26:25 -04:00