diff --git a/.gitignore b/.gitignore
index 9286dcfec..69bb5bff7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,9 @@
# Ignore python compiled files.
*.pyc
+# Ignore Macintosh Desktop Services Store files.
+.DS_Store
+
# Ignore backup/temps
*~
@@ -25,8 +28,13 @@ tmp
# Ignore database directory.
db/*.db
-db/*.db-journal
+db/*.db-*
+
+# Ignore obj files
+Debug/*.*
+Release/*.*
# Ignore customized configs
rippled.cfg
+validators.txt
test/config.js
diff --git a/README b/README
deleted file mode 100644
index 491939d73..000000000
--- a/README
+++ /dev/null
@@ -1,10 +0,0 @@
-Dependancies:
-- boost 1.47
-- Google protocol buffers 2.4.1
-- openssl
-
-Sub modules:
-- websocketpp: https://github.com/zaphoyd/websocketpp
-- sjcl: https://github.com/bitwiseshiftleft/sjcl
-- cryptojs: https://github.com/gwjjeff/cryptojs
- aka http://code.google.com/p/crypto-js/
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..2d33f969b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,19 @@
+Ripple - P2P Payment Network
+============================
+
+Some portions of this source code are currently closed source.
+
+This is the repository for Ripple's:
+* rippled - Reference P2P network server
+* ripple.js - Reference JavaScript client libraries for node.js and browsers.
+
+Build instructions:
+* https://ripple.com/wiki/Rippled_build_instructions
+* https://ripple.com/wiki/Ripple_JavaScript_library
+
+Setup instructions:
+* https://ripple.com/wiki/Rippled_setup_instructions
+
+For more information:
+* https://ripple.com
+* https://ripple.com/wiki
diff --git a/SConstruct b/SConstruct
index 458f48c94..53745565f 100644
--- a/SConstruct
+++ b/SConstruct
@@ -75,10 +75,21 @@ else:
]
)
+# Apparently, only linux uses -ldl
+if not FreeBSD:
+ env.Append(
+ LIBS = [
+ 'dl', # dynamic linking for linux
+ ]
+ )
+
+# Apparently, pkg-config --libs protobuf on bsd fails to provide this necessary include dir.
+if FreeBSD:
+ env.Append(LINKFLAGS = ['-I/usr/local/include'])
+
env.Append(
LIBS = [
'protobuf',
- 'dl', # dynamic linking
'z'
]
)
@@ -87,12 +98,12 @@ DEBUGFLAGS = ['-g', '-DDEBUG']
BOOSTFLAGS = ['-DBOOST_TEST_DYN_LINK', '-DBOOST_FILESYSTEM_NO_DEPRECATED']
env.Append(LINKFLAGS = ['-rdynamic', '-pthread'])
-env.Append(CCFLAGS = ['-pthread', '-Wall', '-Wno-sign-compare', '-Wno-char-subscripts', '-DSQLITE_THREADSAFE'])
+env.Append(CCFLAGS = ['-pthread', '-Wall', '-Wno-sign-compare', '-Wno-char-subscripts', '-DSQLITE_THREADSAFE=1'])
env.Append(CXXFLAGS = ['-O0', '-pthread', '-Wno-invalid-offsetof', '-Wformat']+BOOSTFLAGS+DEBUGFLAGS)
if OSX:
- env.Append(LINKFLAGS = ['-L/usr/local/Cellar/openssl/1.0.1c/lib'])
- env.Append(CXXFLAGS = ['-I/usr/local/Cellar/openssl/1.0.1c/include'])
+ env.Append(LINKFLAGS = ['-L/usr/local/opt/openssl/lib'])
+ env.Append(CXXFLAGS = ['-I/usr/local/opt/openssl/include'])
DB_SRCS = glob.glob('src/cpp/database/*.c') + glob.glob('src/cpp/database/*.cpp')
JSON_SRCS = glob.glob('src/cpp/json/*.cpp')
diff --git a/bin/email_hash.js b/bin/email_hash.js
new file mode 100755
index 000000000..ab4f97c47
--- /dev/null
+++ b/bin/email_hash.js
@@ -0,0 +1,18 @@
+#!/usr/bin/node
+//
+// Returns a Gravatar style hash as per: http://en.gravatar.com/site/implement/hash/
+//
+
+if (3 != process.argv.length) {
+ process.stderr.write("Usage: " + process.argv[1] + " email_address\n\nReturns gravatar style hash.\n");
+ process.exit(1);
+
+} else {
+ var md5 = require('crypto').createHash('md5');
+
+ md5.update(process.argv[2].trim().toLowerCase());
+
+ process.stdout.write(md5.digest('hex') + "\n");
+}
+
+// vim:sw=2:sts=2:ts=8:et
diff --git a/bin/flash_policy.js b/bin/flash_policy.js
new file mode 100755
index 000000000..e1361d46d
--- /dev/null
+++ b/bin/flash_policy.js
@@ -0,0 +1,31 @@
+#!/usr/bin/node
+//
+// This program allows IE 9 ripple-clients to make websocket connections to
+// rippled using flash. As IE 9 does not have websocket support, this required
+// if you wish to support IE 9 ripple-clients.
+//
+// http://www.lightsphere.com/dev/articles/flash_socket_policy.html
+//
+// For better security, be sure to set the Port below to the port of your
+// [websocket_public_port].
+//
+
+var net = require("net"),
+ port = "*",
+ domains = ["*:"+port]; // Domain:Port
+
+net.createServer(
+ function(socket) {
+ socket.write("\n");
+ socket.write("\n");
+ socket.write("\n");
+ domains.forEach(
+ function(domain) {
+ var parts = domain.split(':');
+ socket.write("\t\n");
+ }
+ );
+ socket.write("\n");
+ socket.end();
+ }
+).listen(843);
diff --git a/bin/hexify.js b/bin/hexify.js
new file mode 100755
index 000000000..1e2fb7000
--- /dev/null
+++ b/bin/hexify.js
@@ -0,0 +1,23 @@
+#!/usr/bin/node
+//
+// Returns hex of lowercasing a string.
+//
+
+var stringToHex = function (s) {
+ return Array.prototype.map.call(s, function (c) {
+ var b = c.charCodeAt(0);
+
+ return b < 16 ? "0" + b.toString(16) : b.toString(16);
+ }).join("");
+};
+
+if (3 != process.argv.length) {
+ process.stderr.write("Usage: " + process.argv[1] + " string\n\nReturns hex of lowercasing string.\n");
+ process.exit(1);
+
+} else {
+
+ process.stdout.write(stringToHex(process.argv[2].toLowerCase()) + "\n");
+}
+
+// vim:sw=2:sts=2:ts=8:et
diff --git a/deploy/newcoind.cfg b/deploy/newcoind.cfg
deleted file mode 100644
index ee991ea67..000000000
--- a/deploy/newcoind.cfg
+++ /dev/null
@@ -1,149 +0,0 @@
-#
-# Sample newcoind.cfg
-#
-# This file should be named newcoind.cfg. This file is UTF-8 with Dos, UNIX,
-# or Mac style end of lines. Blank lines and lines beginning with '#' are
-# ignored. Undefined sections are reserved. No escapes are currently defined.
-#
-# When you launch newcoind, it will attempt to find this file.
-#
-# --conf=:
-# You may specify the location of this file with --conf=. The config
-# directory is the directory containing this file. The data directory is a
-# the subdirectory named "dbs".
-#
-# Windows and no --conf:
-# The config directory is the same directory as the newcoind program. The
-# data directory is a the subdirectory named "dbs".
-#
-# Other OSes and no --conf:
-# This file will be looked for in these places in the following order:
-# ./newcoind.cfg
-# $XDG_CONFIG_HOME/newcoin/newcoind.cfg
-#
-# If newcoind.cfg, is found in the current working directory, the directory
-# will be used as the config directory. The data directory is a the
-# subdirectory named "dbs".
-#
-# Otherwise, the data directory data is:
-# $XDG_DATA_HOME/newcoin/
-#
-# Note: $XDG_CONFIG_HOME defaults to $HOME/.config
-# $XDG_DATA_HOME defaults to $HOME/.local/share
-#
-# [debug_logfile]
-# Specifies were a debug logfile is kept. By default, no debug log is kept
-#
-# Example: debug.log
-#
-# [validators_site]:
-# Specifies where to find validators.txt for UNL boostrapping and RPC command unl_network.
-# During alpha testing, this defaults to: redstem.com
-#
-# Example: newcoin.org
-#
-# [unl_default]:
-# XXX This should be called: [validators_file]
-# Specifies how to bootstrap the UNL list. The UNL list is based on a
-# validators.txt file and is maintained in the databases. When newcoind
-# starts up, if the databases are missing or are obsolete due to an upgrade
-# of newcoind, newcoind will reconstruct the UNL list as specified here.
-#
-# If this entry is not present or empty, newcoind will look for a validators.txt in the
-# config directory. If not found there, it will attempt to retrieve the file
-# from the newcoin foundation's web site.
-#
-# This entry is also used by the RPC command unl_load.
-#
-# Specify the file by specifying its full path.
-#
-# Examples:
-# C:/home/johndoe/newcoin/validators.txt
-# /home/johndoe/newcoin/validators.txt
-#
-# [validators]:
-# Only valid in "newcoind.cfg", "newcoin.txt", and the referered [validators_url].
-# List of nodes to accept as validators speficied by public key or domain.
-#
-# For domains, newcoind will probe for https web servers at the specied
-# domain in the following order: newcoin.DOMAIN, www.DOMAIN, DOMAIN
-#
-# Examples:
-# redstem.com
-# n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5
-# n9MqiExBcoG19UXwoLjBJnhsxEhAZMuWwJDRdkyDz1EkEkwzQTNt John Doe
-#
-# [ips]:
-# Only valid in "newcoind.cfg", "newcoin.txt", and the referered [ips_url].
-# List of ips where the Newcoin protocol is avialable.
-# One ipv4 or ipv6 address per line.
-# A port may optionally be specified after adding a space to the address.
-# By convention, if known, IPs are listed in from most to least trusted.
-#
-# Examples:
-# 192.168.0.1
-# 192.168.0.1 3939
-# 2001:0db8:0100:f101:0210:a4ff:fee3:9566
-#
-# [peer_ip]:
-# IP address or domain to bind to allow external connections from peers.
-# Defaults to not allow external connections from peers.
-#
-# Examples: 0.0.0.0 - Bind on all interfaces.
-#
-# [peer_port]:
-# Port to bind to allow external connections from peers.
-#
-# [rpc_ip]:
-# IP address or domain to bind to allow insecure RPC connections.
-# Defaults to not allow RPC connections.
-#
-# [rpc_port]:
-# Port to bind to if allowing insecure RPC connections.
-#
-# [rpc_allow_remote]:
-# 0 or 1. 0 only allows RPC connections from 127.0.0.1. [default 0]
-#
-# [websocket_ip]:
-# IP address or domain to bind to allow client connections.
-#
-# Examples: 0.0.0.0 - Bind on all interfaces.
-# 127.0.0.1 - Bind on localhost interface. Only local programs may connect.
-#
-# [websocket_port]:
-# Port to bind to allow client connections.
-#
-# [validation_seed]:
-# To perform validation, this section should contain either a validation seed or key.
-# The validation seed is used to generate the validation public/private key pair.
-# To obtain a validation seed, use the validation_create command.
-#
-# Examples: RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
-# shfArahZT9Q9ckTf3s1psJ7C7qzVN
-#
-
-[peer_ip]
-0.0.0.0
-
-[peer_port]
-51235
-
-[rpc_ip]
-127.0.0.1
-
-[rpc_port]
-5005
-
-[rpc_allow_remote]
-1
-
-[debug_logfile]
-debug.log
-
-[unl_default]
-validators.txt
-
-[ips]
-23.21.167.100 51235
-23.23.201.55 51235
-107.21.116.214 51235
diff --git a/deploy/cointoss.nsi b/deploy/rippled.nsi
similarity index 73%
rename from deploy/cointoss.nsi
rename to deploy/rippled.nsi
index 1f3656ba7..f77f8bc68 100644
--- a/deploy/cointoss.nsi
+++ b/deploy/rippled.nsi
@@ -1,10 +1,10 @@
-Name "CoinToss"
+Name "Rippled"
; The file to write
-OutFile "toss install.exe"
+OutFile "ripple install.exe"
; The default installation directory
-InstallDir "$PROGRAMFILES\CoinToss"
+InstallDir "$PROGRAMFILES\Rippled"
; Request application privileges for Windows Vista
RequestExecutionLevel user
@@ -25,12 +25,12 @@ Section "" ;No components page, name is not important
SetOutPath $INSTDIR
; Put file there
- File ..\Release\newcoin.exe
+ File ..\Release\rippled.exe
File ..\*.dll
- File "start CoinToss.bat"
- File newcoind.cfg
+ ;File "start rippled.bat"
+ File rippled.cfg
File validators.txt
- File /r /x .git ..\..\nc-client\*.*
+ ;File /r /x .git ..\..\nc-client\*.*
CreateDirectory $INSTDIR\db
diff --git a/deploy/start CoinToss.bat b/deploy/start rippled.bat
similarity index 100%
rename from deploy/start CoinToss.bat
rename to deploy/start rippled.bat
diff --git a/grunt.js b/grunt.js
new file mode 100644
index 000000000..152cef351
--- /dev/null
+++ b/grunt.js
@@ -0,0 +1,76 @@
+module.exports = function(grunt) {
+ grunt.loadNpmTasks('grunt-webpack');
+
+ grunt.initConfig({
+ pkg: '',
+ meta: {
+ banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
+ '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
+ '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
+ '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
+ ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
+ },
+ concat: {
+ sjcl: {
+ src: [
+ "src/js/sjcl/core/sjcl.js",
+ "src/js/sjcl/core/aes.js",
+ "src/js/sjcl/core/bitArray.js",
+ "src/js/sjcl/core/codecString.js",
+ "src/js/sjcl/core/codecHex.js",
+ "src/js/sjcl/core/codecBase64.js",
+ "src/js/sjcl/core/codecBytes.js",
+ "src/js/sjcl/core/sha256.js",
+ "src/js/sjcl/core/sha512.js",
+ "src/js/sjcl/core/sha1.js",
+ "src/js/sjcl/core/ccm.js",
+// "src/js/sjcl/core/cbc.js",
+// "src/js/sjcl/core/ocb2.js",
+ "src/js/sjcl/core/hmac.js",
+ "src/js/sjcl/core/pbkdf2.js",
+ "src/js/sjcl/core/random.js",
+ "src/js/sjcl/core/convenience.js",
+ "src/js/sjcl/core/bn.js",
+ "src/js/sjcl/core/ecc.js",
+ "src/js/sjcl/core/srp.js"
+ ],
+ dest: 'build/sjcl.js'
+ }
+ },
+ webpack: {
+ lib: {
+ src: "src/js/index.js",
+ dest: "build/ripple-<%= pkg.version %>.js",
+ libary: "ripple", // misspelling fixed in later versions of webpack
+ library: "ripple"
+ },
+ lib_debug: {
+ src: "src/js/index.js",
+ dest: "build/ripple-<%= pkg.version %>-debug.js",
+ libary: "ripple", // misspelling fixed in later versions of webpack
+ library: "ripple",
+ debug: true
+ },
+ lib_min: {
+ src: "src/js/index.js",
+ dest: "build/ripple-<%= pkg.version %>-min.js",
+ libary: "ripple", // misspelling fixed in later versions of webpack
+ library: "ripple",
+ minimize: true
+ }
+ },
+ watch: {
+ sjcl: {
+ files: [''],
+ tasks: 'concat:sjcl'
+ },
+ lib: {
+ files: 'src/js/*.js',
+ tasks: 'webpack'
+ }
+ }
+ });
+
+ // Tasks
+ grunt.registerTask('default', 'concat:sjcl webpack');
+};
diff --git a/newcoin.vcxproj b/newcoin.vcxproj
index b5839160e..72e758a47 100644
--- a/newcoin.vcxproj
+++ b/newcoin.vcxproj
@@ -41,9 +41,11 @@
true
+ rippled
false
+ rippled
@@ -76,14 +78,14 @@
true
true
BOOST_TEST_ALTERNATIVE_INIT_API;BOOST_TEST_NO_MAIN;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0501;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- ..\OpenSSL\include;..\boost_1_47_0;..\protobuf-2.4.1\src
+ .\;..\OpenSSL\include;..\boost_1_52_0;..\protobuf\src
Console
true
true
true
- ..\OpenSSL\lib\VC;..\boost_1_47_0\stage\lib;..\protobuf-2.4.1\vsprojects\Release
+ ..\OpenSSL\lib\VC;..\boost_1_52_0\stage\lib;..\protobuf\vsprojects\Release
libprotobuf.lib;ssleay32MD.lib;libeay32MD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
@@ -91,7 +93,6 @@
-
@@ -145,7 +146,6 @@
-
@@ -158,6 +158,7 @@
+
@@ -177,6 +178,7 @@
+
@@ -250,7 +252,6 @@
-
@@ -284,6 +285,7 @@
+
@@ -320,8 +322,10 @@
Document
- /code/protobuf/protoc -I=..\newcoin --cpp_out=\code\newcoin\ ..\newcoin/src/cpp/ripple/ripple.proto
+ "../protobuf/protoc" -I=..\newcoin --cpp_out=..\newcoin\ ..\newcoin/src/cpp/ripple/ripple.proto
\code\newcoin\src\ripple.pb.h
+ /code/protobuf/protoc -I=..\newcoin --cpp_out=\code\newcoin\ ..\newcoin/src/cpp/ripple/ripple.proto
+ \code\newcoin\src\ripple.pb.h
diff --git a/newcoin.vcxproj.filters b/newcoin.vcxproj.filters
index 25533c2dc..365cb7109 100644
--- a/newcoin.vcxproj.filters
+++ b/newcoin.vcxproj.filters
@@ -42,9 +42,6 @@
Source Files\database
-
- Source Files\database
-
Source Files\json
@@ -177,9 +174,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -264,6 +258,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -360,6 +357,9 @@
Source Files
+
+ Source Files
+
@@ -506,9 +506,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -605,6 +602,9 @@
Header Files
+
+ Header Files
+
Header Files
diff --git a/newcoin2012.sln b/newcoin2012.sln
new file mode 100644
index 000000000..cf41ac0bf
--- /dev/null
+++ b/newcoin2012.sln
@@ -0,0 +1,51 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "newcoin", "newcoin.vcxproj", "{19465545-42EE-42FA-9CC8-F8975F8F1CC7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30} = {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotobuf", "..\protobuf\vsprojects\libprotobuf.vcxproj", "{3E283F37-A4ED-41B7-A3E6-A2D89D131A30}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ FlashDebug|Win32 = FlashDebug|Win32
+ FlashDebug|x64 = FlashDebug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ ReleaseD|Win32 = ReleaseD|Win32
+ ReleaseD|x64 = ReleaseD|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Debug|Win32.Build.0 = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Debug|x64.ActiveCfg = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.FlashDebug|Win32.ActiveCfg = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.FlashDebug|Win32.Build.0 = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.FlashDebug|x64.ActiveCfg = Debug|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|Win32.ActiveCfg = Release|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|Win32.Build.0 = Release|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|x64.ActiveCfg = Release|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.ReleaseD|Win32.ActiveCfg = Release|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.ReleaseD|Win32.Build.0 = Release|Win32
+ {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.ReleaseD|x64.ActiveCfg = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Debug|Win32.Build.0 = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Debug|x64.ActiveCfg = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.FlashDebug|Win32.ActiveCfg = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.FlashDebug|Win32.Build.0 = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.FlashDebug|x64.ActiveCfg = Debug|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Release|Win32.ActiveCfg = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Release|Win32.Build.0 = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.Release|x64.ActiveCfg = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.ReleaseD|Win32.ActiveCfg = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.ReleaseD|Win32.Build.0 = Release|Win32
+ {3E283F37-A4ED-41B7-A3E6-A2D89D131A30}.ReleaseD|x64.ActiveCfg = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/package.json b/package.json
index 2ec474aab..11ee2d9db 100644
--- a/package.json
+++ b/package.json
@@ -8,11 +8,12 @@
"dependencies": {
"async": "~0.1.22",
"ws": "~0.4.22",
- "extend": "~1.1.1"
+ "extend": "~1.1.1",
+ "simple-jsonrpc": "~0.0.1"
},
"devDependencies": {
"buster": "~0.6.2",
- "webpack": "~0.7.17"
+ "grunt-webpack": "~0.4.0"
},
"scripts": {
"test": "buster test"
diff --git a/ripple-example.txt b/ripple-example.txt
index 034ccb8dc..6e30aa3cc 100644
--- a/ripple-example.txt
+++ b/ripple-example.txt
@@ -96,13 +96,6 @@
# [currencies]:
# This section allows a site to declare currencies it currently issues.
#
-# [ledger_history]:
-# To serve clients, servers need historical ledger data. This sets the number of
-# past ledgers to acquire on server startup and the minimum to maintain while
-# running. Servers that don't need to serve clients can set this to "none" or "off".
-# Servers that want complete history can set this to "full" or "on".
-# The default is 256 ledgers.
-
[validation_public_key]
n9MZTnHe5D5Q2cgE8oV2usFwRqhUvEA8MwP5Mu1XVD6TxmssPRev
diff --git a/ripple2010.vcxproj b/ripple2010.vcxproj
index ff66f7150..6afe49f96 100644
--- a/ripple2010.vcxproj
+++ b/ripple2010.vcxproj
@@ -57,6 +57,7 @@
true
..\OpenSSL\lib\VC;..\boost_1_52_0\stage\lib;..\protobuf\vsprojects\Debug
ssleay32MDd.lib;libeay32MTd.lib;libprotobuf.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(OutDir)rippled.exe
@@ -81,15 +82,15 @@
true
true
true
- ..\OpenSSL\lib\VC;..\boost_1_47_0\stage\lib;..\protobuf-2.4.1\vsprojects\Release
+ ..\OpenSSL\lib\VC;..\boost_1_52_0\stage\lib;..\protobuf\vsprojects\Release
libprotobuf.lib;ssleay32MD.lib;libeay32MD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(OutDir)rippled.exe
-
@@ -144,7 +145,6 @@
-
@@ -157,6 +157,7 @@
+
@@ -176,6 +177,7 @@
+
@@ -242,7 +244,6 @@
-
@@ -276,6 +277,7 @@
+
@@ -299,8 +301,8 @@
Document
- /code/protobuf/protoc -I=..\newcoin --cpp_out=\code\newcoin\ ..\newcoin/src/cpp/ripple/ripple.proto
- \code\newcoin\src\ripple.pb.h
+ "../protobuf/protoc" -I=..\newcoin --cpp_out=..\newcoin\ ..\newcoin/src/cpp/ripple/ripple.proto
+ ..\newcoin\src\ripple.pb.h
diff --git a/ripple2010.vcxproj.filters b/ripple2010.vcxproj.filters
index ae54851c7..77ef08370 100644
--- a/ripple2010.vcxproj.filters
+++ b/ripple2010.vcxproj.filters
@@ -39,9 +39,6 @@
Source Files\database
-
- Source Files\database
-
Source Files\json
@@ -174,9 +171,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -261,6 +255,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -345,16 +342,16 @@
Source Files
+
+ Source Files
+
Source Files
Source Files
-
- Source Files
-
-
+
Source Files
@@ -503,9 +500,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -605,6 +599,9 @@
Header Files
+
+ Header Files
+
Header Files
@@ -642,14 +639,13 @@
html
+
+
-
-
-
diff --git a/rippled-example.cfg b/rippled-example.cfg
index 6ca428b2f..8bd553b9c 100644
--- a/rippled-example.cfg
+++ b/rippled-example.cfg
@@ -3,35 +3,47 @@
#
# This file contains configuration information for rippled.
#
-# This file should be named rippled.cfg. This file is UTF-8 with Dos, UNIX,
-# or Mac style end of lines. Blank lines and lines beginning with '#' are
+# Rippled when launched attempts to find this file. For details, refer to the
+# wiki page for --conf command line option:
+# https://ripple.com/wiki/Rippled#--conf.3Dpath
+#
+# This file should be named rippled.cfg. This file is UTF-8 with Dos, UNIX, or
+# Mac style end of lines. Blank lines and lines beginning with '#' are
# ignored. Undefined sections are reserved. No escapes are currently defined.
#
-# When you launch rippled, it will attempt to find this file. For details,
-# refer to the manual page for --conf command line option.
-#
# [debug_logfile]
-# Specifies were a debug logfile is kept. By default, no debug log is kept
+# Specifies were a debug logfile is kept. By default, no debug log is kept.
+# Unless absolute, the path is relative the directory containing this file.
#
# Example: debug.log
#
-# [validators_site]:
-# Specifies where to find validators.txt for UNL boostrapping and RPC command unl_network.
-# During alpha testing, this defaults to: redstem.com
+# [validators]:
+# List of nodes to always accept as validators. Nodes are specified by domain
+# or public key.
#
-# Example: ripple.com
+# For domains, rippled will probe for https web servers at the specified
+# domain in the following order: ripple.DOMAIN, www.DOMAIN, DOMAIN
+#
+# For public key entries, a comment may optionally be spcified after adding a
+# space to the pulic key.
+#
+# Examples:
+# ripple.com
+# n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5
+# n9MqiExBcoG19UXwoLjBJnhsxEhAZMuWwJDRdkyDz1EkEkwzQTNt John Doe
#
# [validators_file]:
-# Specifies how to bootstrap the UNL list. The UNL list is based on a
-# validators.txt file and is maintained in the databases. When rippled
-# starts up, if the databases are missing or are obsolete due to an upgrade
-# of rippled, rippled will reconstruct the UNL list as specified here.
+# Path to file contain a list of nodes to always accept as validators. Use
+# this to specify a file other than this file to manage your validators list.
#
-# If this entry is not present or empty, rippled will look for a validators.txt in the
-# config directory. If not found there, it will attempt to retrieve the file
-# from the Ripple foundation's web site.
+# If this entry is not present or empty and no nodes from previous runs were
+# found in the database, rippled will look for a validators.txt in the config
+# directory. If not found there, it will attempt to retrieve the file from
+# the [validators_site] web site.
#
-# This entry is also used by the RPC command unl_load.
+# After specifying a different [validators_file] or changing the contents of
+# the validators file, issue a RPC unl_load command to have rippled load the
+# file.
#
# Specify the file by specifying its full path.
#
@@ -39,24 +51,19 @@
# C:/home/johndoe/ripple/validators.txt
# /home/johndoe/ripple/validators.txt
#
-# [validators]:
-# Only valid in "rippled.cfg", "ripple.txt", and the referered [validators_url].
-# List of nodes to accept as validators speficied by public key or domain.
+# [validators_site]:
+# Specifies where to find validators.txt for UNL boostrapping and RPC
+# unl_network command.
#
-# For domains, rippled will probe for https web servers at the specied
-# domain in the following order: ripple.DOMAIN, www.DOMAIN, DOMAIN
-#
-# Examples:
-# redstem.com
-# n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5
-# n9MqiExBcoG19UXwoLjBJnhsxEhAZMuWwJDRdkyDz1EkEkwzQTNt John Doe
+# Example: ripple.com
#
# [ips]:
-# Only valid in "rippled.cfg", "ripple.txt", and the referered [ips_url].
-# List of ips where the Newcoin protocol is avialable.
-# One ipv4 or ipv6 address per line.
-# A port may optionally be specified after adding a space to the address.
-# By convention, if known, IPs are listed in from most to least trusted.
+# List of ips where the Ripple protocol is served. For a starter list, you
+# can copy entries from: https://ripple.com/ripple.txt
+#
+# Domain names are not allowed. One ipv4 or ipv6 address per line. A port
+# may optionally be specified after adding a space to the address. By
+# convention, if known, IPs are listed in from most to least trusted.
#
# Examples:
# 192.168.0.1
@@ -64,46 +71,117 @@
# 2001:0db8:0100:f101:0210:a4ff:fee3:9566
#
# [sntp_servers]
-# IP address or domain of servers to use for time synchronization.
-# The default time servers are suitable for servers located in the United States
+# IP address or domain of NTP servers to use for time synchronization.
+#
+# These NTP servers are suitable for rippled servers located in the United
+# States:
+# time.windows.com
+# time.apple.com
+# time.nist.gov
+# pool.ntp.org
#
# [peer_ip]:
# IP address or domain to bind to allow external connections from peers.
-# Defaults to not allow external connections from peers.
+# Defaults to not binding, which disallows external connections from peers.
#
# Examples: 0.0.0.0 - Bind on all interfaces.
#
# [peer_port]:
-# Port to bind to allow external connections from peers.
+# If peer_ip is supplied, corresponding port to bind to for peer connections.
#
# [peer_private]:
# 0 or 1.
-# 0: allow peers to broadcast your address. [default]
+# 0: request peers to broadcast your address. [default]
# 1: request peers not broadcast your address.
#
# [rpc_ip]:
# IP address or domain to bind to allow insecure RPC connections.
-# Defaults to not allow RPC connections.
+# Defaults to not binding, which disallows RPC connections.
#
# [rpc_port]:
-# Port to bind to if allowing insecure RPC connections.
+# If rpc_ip is supplied, corresponding port to bind to for peer connections.
#
# [rpc_allow_remote]:
# 0 or 1.
-# 0: only allows RPC connections from 127.0.0.1. [default]
+# 0: Allow RPC connections only from 127.0.0.1. [default]
+# 1: Allow RPC connections from any IP.
+#
+# [rpc_admin_allow]:
+# Specify an list of IP addresses allowed to have admin access. One per line.
+#
+# Defaults to 127.0.0.1.
+#
+# [rpc_user]:
+# As a server, require a this user to specified and require rpc_password to
+# be checked for RPC access via the rpc_ip and rpc_port. The user and password
+# must be specified via HTTP's basic authentication method.
+#
+# As a client, supply this to the server via HTTP's basic authentication
+# method.
+#
+# [rpc_password]:
+# As a server, require a this password to specified and require rpc_user to
+# be checked for RPC access via the rpc_ip and rpc_port. The user and password
+# must be specified via HTTP's basic authentication method.
+#
+# As a client, supply this to the server via HTTP's basic authentication
+# method.
+#
+# [rpc_admin_user]:
+# As a server, require this as the admin user to be specified. Also, require
+# rpc_admin_user and rpc_admin_password to be checked for RPC admin functions.
+# The request must specify these as the admin_user and admin_password in the
+# request object.
+#
+# As a client, supply this to the server in the request object.
+#
+# [rpc_admin_password]:
+# As a server, require this as the admin pasword to be specified. Also,
+# require rpc_admin_user and rpc_admin_password to be checked for RPC admin
+# functions. The request must specify these as the admin_user and
+# admin_password in the request object.
+#
+# As a client, supply this to the server in the request object.
+#
+# [websocket_public_ip]:
+# IP address or domain to bind to allow untrusted connections from clients.
+# In the future, this option will go away and the peer_ip will accept
+# websocket client connections.
+#
+# Examples: 0.0.0.0 - Bind on all interfaces.
+# 127.0.0.1 - Bind on localhost interface. Only local programs may connect.
+#
+# [websocket_public_port]:
+# Port to bind to allow untrusted connections from clients. In the future,
+# this option will go away and the peer_ip will accept websocket client
+# connections.
+#
+# [websocket_public_secure]
+# 0, 1 or 2.
+# 0: Provide ws service for websocket_public_ip/websocket_public_port.
+# 1: Provide both ws and wss service for websocket_public_ip/websocket_public_port. [default]
+# 2: Provide wss service only for websocket_public_ip/websocket_public_port.
+#
+# Browser pages like the Ripple client will not be able to connect to a secure
+# websocket connection if a self-signed certificate is used. As the Ripple
+# reference client currently shares secrets with its server, this should be
+# enabled.
#
# [websocket_ip]:
-# IP address or domain to bind to allow client connections.
+# IP address or domain to bind to allow trusted ADMIN connections from backend
+# applications.
#
# Examples: 0.0.0.0 - Bind on all interfaces.
# 127.0.0.1 - Bind on localhost interface. Only local programs may connect.
#
# [websocket_port]:
-# Port to bind to allow client connections.
+# Port to bind to allow trusted ADMIN connections from backend applications.
#
-# [websocket_ssl]:
-# 0 or 1.
-# Enable websocket SSL
+# [websocket_secure]
+# 0, 1, or 2.
+# 0: Provide ws service only for websocket_ip/websocket_port. [default]
+# 1: Provide ws and wss service for websocket_ip/websocket_port
+# 2: Provide wss service for websocket_ip/websocket_port.
#
# [websocket_ssl_key]:
# Specify the filename holding the SSL key in PEM format.
@@ -113,30 +191,72 @@
# This is not needed if the chain includes it.
#
# [websocket_ssl_chain]:
-# If you need a certificate chain, specify the path to the certificate chain here.
-# The chain may include the end certificate.
+# If you need a certificate chain, specify the path to the certificate chain
+# here. The chain may include the end certificate.
#
# [validation_seed]:
-# To perform validation, this section should contain either a validation seed or key.
-# The validation seed is used to generate the validation public/private key pair.
+# To perform validation, this section should contain either a validation seed
+# or key. The validation seed is used to generate the validation
+# public/private key pair. To obtain a validation seed, use the
+# validation_create command.
+#
+# Examples: RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
+# shfArahZT9Q9ckTf3s1psJ7C7qzVN
+#
+# [node_seed]:
+# This is used for clustering. To force a particular node seed or key, the
+# key can be set here. The format is the same as the validation_seed field.
# To obtain a validation seed, use the validation_create command.
#
# Examples: RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
# shfArahZT9Q9ckTf3s1psJ7C7qzVN
#
+# [cluster_nodes]:
+# To extend full trust to other nodes, place their node public keys here.
+# Generally, you should only do this for nodes under common administration.
+# Node public keys start with an 'n'.
+#
# [ledger_history]:
-# To serve clients, servers need historical ledger data. This sets the number of
-# past ledgers to acquire on server startup and the minimum to maintain while
-# running. Servers that don't need to serve clients can set this to "none".
-# Servers that want complete history can set this to "full".
-# The default is 256 ledgers
+# The number of past ledgers to acquire on server startup and the minimum to
+# maintain while running.
+#
+# To serve clients, servers need historical ledger data. Servers that don't
+# need to serve clients can set this to "none". Servers that want complete
+# history can set this to "full".
+#
+# The default is: 256
+#
+# [database_path]:
+# Full path of database directory.
+#
+# [rpc_startup]:
+# Specify a list of RPC commands to run at startup.
+#
+# Example: { "command" : "server_info" }
+#
+# Allow other peers to connect to this server.
[peer_ip]
0.0.0.0
[peer_port]
51235
+# Allow untrusted clients to connect to this server.
+[websocket_public_ip]
+0.0.0.0
+
+[websocket_public_port]
+5006
+
+# Provide trusted websocket ADMIN access.
+[websocket_ip]
+127.0.0.1
+
+[websocket_port]
+6006
+
+# Provide trusted json-rpc ADMIN access.
[rpc_ip]
127.0.0.1
@@ -144,13 +264,7 @@
5005
[rpc_allow_remote]
-1
-
-[websocket_ip]
-0.0.0.0
-
-[websocket_port]
-5006
+0
[debug_logfile]
log/debug.log
@@ -161,10 +275,7 @@ time.apple.com
time.nist.gov
pool.ntp.org
-
-[unl_default]
-validators.txt
-
+# Where to find some other servers speaking the Ripple protocol.
[ips]
23.21.167.100 51235
23.23.201.55 51235
diff --git a/rippled.1 b/rippled.1
new file mode 100644
index 000000000..c94248ae6
Binary files /dev/null and b/rippled.1 differ
diff --git a/rippled.xcodeproj/project.pbxproj b/rippled.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..6e28208f0
--- /dev/null
+++ b/rippled.xcodeproj/project.pbxproj
@@ -0,0 +1,2757 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ C14F812E1681323400AAB80A /* rippled.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C14F812D1681323400AAB80A /* rippled.1 */; };
+ C14F842F1681326700AAB80A /* database.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81371681326600AAB80A /* database.cpp */; };
+ C14F84311681326700AAB80A /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = C14F813C1681326600AAB80A /* sqlite3.c */; };
+ C14F84321681326700AAB80A /* SqliteDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F813F1681326600AAB80A /* SqliteDatabase.cpp */; };
+ C14F84341681326700AAB80A /* json_reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F814E1681326600AAB80A /* json_reader.cpp */; };
+ C14F84351681326700AAB80A /* json_value.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F814F1681326600AAB80A /* json_value.cpp */; };
+ C14F84361681326700AAB80A /* json_writer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81511681326600AAB80A /* json_writer.cpp */; };
+ C14F84371681326700AAB80A /* AccountItems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81581681326600AAB80A /* AccountItems.cpp */; };
+ C14F84381681326700AAB80A /* AccountSetTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F815A1681326600AAB80A /* AccountSetTransactor.cpp */; };
+ C14F84391681326700AAB80A /* AccountState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F815C1681326600AAB80A /* AccountState.cpp */; };
+ C14F843A1681326700AAB80A /* Amount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F815E1681326600AAB80A /* Amount.cpp */; };
+ C14F843B1681326700AAB80A /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F815F1681326600AAB80A /* Application.cpp */; };
+ C14F843C1681326700AAB80A /* BitcoinUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81631681326600AAB80A /* BitcoinUtil.cpp */; };
+ C14F843D1681326700AAB80A /* CallRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81651681326600AAB80A /* CallRPC.cpp */; };
+ C14F843E1681326700AAB80A /* CanonicalTXSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81671681326600AAB80A /* CanonicalTXSet.cpp */; };
+ C14F843F1681326700AAB80A /* Config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81691681326600AAB80A /* Config.cpp */; };
+ C14F84401681326700AAB80A /* ConnectionPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F816B1681326600AAB80A /* ConnectionPool.cpp */; };
+ C14F84411681326700AAB80A /* Contract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F816D1681326600AAB80A /* Contract.cpp */; };
+ C14F84421681326700AAB80A /* DBInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F816F1681326600AAB80A /* DBInit.cpp */; };
+ C14F84431681326700AAB80A /* DeterministicKeys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81701681326600AAB80A /* DeterministicKeys.cpp */; };
+ C14F84441681326700AAB80A /* ECIES.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81711681326600AAB80A /* ECIES.cpp */; };
+ C14F84451681326700AAB80A /* FeatureTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81721681326600AAB80A /* FeatureTable.cpp */; };
+ C14F84461681326700AAB80A /* FieldNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81741681326600AAB80A /* FieldNames.cpp */; };
+ C14F84471681326700AAB80A /* HashedObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81761681326600AAB80A /* HashedObject.cpp */; };
+ C14F84481681326700AAB80A /* HTTPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81791681326600AAB80A /* HTTPRequest.cpp */; };
+ C14F84491681326700AAB80A /* HttpsClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F817B1681326600AAB80A /* HttpsClient.cpp */; };
+ C14F844A1681326700AAB80A /* InstanceCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F817D1681326600AAB80A /* InstanceCounter.cpp */; };
+ C14F844B1681326700AAB80A /* Interpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F817F1681326600AAB80A /* Interpreter.cpp */; };
+ C14F844C1681326700AAB80A /* JobQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81811681326600AAB80A /* JobQueue.cpp */; };
+ C14F844D1681326700AAB80A /* Ledger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81841681326600AAB80A /* Ledger.cpp */; };
+ C14F844E1681326700AAB80A /* LedgerAcquire.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81861681326600AAB80A /* LedgerAcquire.cpp */; };
+ C14F844F1681326700AAB80A /* LedgerConsensus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81881681326600AAB80A /* LedgerConsensus.cpp */; };
+ C14F84501681326700AAB80A /* LedgerEntrySet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F818A1681326600AAB80A /* LedgerEntrySet.cpp */; };
+ C14F84511681326700AAB80A /* LedgerFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F818C1681326600AAB80A /* LedgerFormats.cpp */; };
+ C14F84521681326700AAB80A /* LedgerHistory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F818E1681326600AAB80A /* LedgerHistory.cpp */; };
+ C14F84531681326700AAB80A /* LedgerMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81901681326600AAB80A /* LedgerMaster.cpp */; };
+ C14F84541681326700AAB80A /* LedgerProposal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81921681326600AAB80A /* LedgerProposal.cpp */; };
+ C14F84551681326700AAB80A /* LedgerTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81941681326600AAB80A /* LedgerTiming.cpp */; };
+ C14F84561681326700AAB80A /* LoadManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81961681326600AAB80A /* LoadManager.cpp */; };
+ C14F84571681326700AAB80A /* LoadMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81981681326600AAB80A /* LoadMonitor.cpp */; };
+ C14F84581681326700AAB80A /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F819A1681326600AAB80A /* Log.cpp */; };
+ C14F84591681326700AAB80A /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F819C1681326600AAB80A /* main.cpp */; };
+ C14F845A1681326700AAB80A /* NetworkOPs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F819D1681326600AAB80A /* NetworkOPs.cpp */; };
+ C14F845B1681326700AAB80A /* NicknameState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81A01681326600AAB80A /* NicknameState.cpp */; };
+ C14F845C1681326700AAB80A /* Offer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81A21681326600AAB80A /* Offer.cpp */; };
+ C14F845D1681326700AAB80A /* OfferCancelTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81A41681326600AAB80A /* OfferCancelTransactor.cpp */; };
+ C14F845E1681326700AAB80A /* OfferCreateTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81A61681326600AAB80A /* OfferCreateTransactor.cpp */; };
+ C14F845F1681326700AAB80A /* Operation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81A81681326600AAB80A /* Operation.cpp */; };
+ C14F84601681326700AAB80A /* OrderBook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81AA1681326600AAB80A /* OrderBook.cpp */; };
+ C14F84611681326700AAB80A /* OrderBookDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81AC1681326600AAB80A /* OrderBookDB.cpp */; };
+ C14F84621681326700AAB80A /* PackedMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81AE1681326600AAB80A /* PackedMessage.cpp */; };
+ C14F84631681326700AAB80A /* ParameterTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81B01681326600AAB80A /* ParameterTable.cpp */; };
+ C14F84641681326700AAB80A /* ParseSection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81B21681326600AAB80A /* ParseSection.cpp */; };
+ C14F84651681326700AAB80A /* Pathfinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81B41681326600AAB80A /* Pathfinder.cpp */; };
+ C14F84661681326700AAB80A /* PaymentTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81B61681326600AAB80A /* PaymentTransactor.cpp */; };
+ C14F84671681326700AAB80A /* Peer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81B81681326600AAB80A /* Peer.cpp */; };
+ C14F84681681326700AAB80A /* PeerDoor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81BA1681326600AAB80A /* PeerDoor.cpp */; };
+ C14F84691681326700AAB80A /* PlatRand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81BC1681326600AAB80A /* PlatRand.cpp */; };
+ C14F846A1681326700AAB80A /* ProofOfWork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81BD1681326600AAB80A /* ProofOfWork.cpp */; };
+ C14F846B1681326700AAB80A /* PubKeyCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81BF1681326600AAB80A /* PubKeyCache.cpp */; };
+ C14F846C1681326700AAB80A /* RangeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81C11681326600AAB80A /* RangeSet.cpp */; };
+ C14F846D1681326700AAB80A /* RegularKeySetTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81C31681326600AAB80A /* RegularKeySetTransactor.cpp */; };
+ C14F846E1681326700AAB80A /* rfc1751.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81C51681326600AAB80A /* rfc1751.cpp */; };
+ C14F846F1681326700AAB80A /* RippleAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81C81681326600AAB80A /* RippleAddress.cpp */; };
+ C14F84701681326700AAB80A /* RippleCalc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81CA1681326600AAB80A /* RippleCalc.cpp */; };
+ C14F84711681326700AAB80A /* RippleState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81CC1681326600AAB80A /* RippleState.cpp */; };
+ C14F84721681326700AAB80A /* rpc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81CE1681326600AAB80A /* rpc.cpp */; };
+ C14F84731681326700AAB80A /* RPCDoor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81D01681326600AAB80A /* RPCDoor.cpp */; };
+ C14F84741681326700AAB80A /* RPCErr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81D21681326600AAB80A /* RPCErr.cpp */; };
+ C14F84751681326700AAB80A /* RPCHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81D41681326600AAB80A /* RPCHandler.cpp */; };
+ C14F84761681326700AAB80A /* RPCServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81D61681326600AAB80A /* RPCServer.cpp */; };
+ C14F84771681326700AAB80A /* ScriptData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81D91681326600AAB80A /* ScriptData.cpp */; };
+ C14F84781681326700AAB80A /* SerializedLedger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81DC1681326600AAB80A /* SerializedLedger.cpp */; };
+ C14F84791681326700AAB80A /* SerializedObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81DE1681326600AAB80A /* SerializedObject.cpp */; };
+ C14F847A1681326700AAB80A /* SerializedTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81E01681326600AAB80A /* SerializedTransaction.cpp */; };
+ C14F847B1681326700AAB80A /* SerializedTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81E21681326600AAB80A /* SerializedTypes.cpp */; };
+ C14F847C1681326700AAB80A /* SerializedValidation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81E41681326600AAB80A /* SerializedValidation.cpp */; };
+ C14F847D1681326700AAB80A /* Serializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81E71681326600AAB80A /* Serializer.cpp */; };
+ C14F847E1681326700AAB80A /* SHAMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81E91681326600AAB80A /* SHAMap.cpp */; };
+ C14F847F1681326700AAB80A /* SHAMapDiff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81EB1681326600AAB80A /* SHAMapDiff.cpp */; };
+ C14F84801681326700AAB80A /* SHAMapNodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81EC1681326600AAB80A /* SHAMapNodes.cpp */; };
+ C14F84811681326700AAB80A /* SHAMapSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81ED1681326600AAB80A /* SHAMapSync.cpp */; };
+ C14F84821681326700AAB80A /* SNTPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81EF1681326600AAB80A /* SNTPClient.cpp */; };
+ C14F84831681326700AAB80A /* Suppression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81F11681326600AAB80A /* Suppression.cpp */; };
+ C14F84841681326700AAB80A /* Transaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81F41681326600AAB80A /* Transaction.cpp */; };
+ C14F84851681326700AAB80A /* TransactionEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81F61681326600AAB80A /* TransactionEngine.cpp */; };
+ C14F84861681326700AAB80A /* TransactionErr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81F81681326600AAB80A /* TransactionErr.cpp */; };
+ C14F84871681326700AAB80A /* TransactionFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81FA1681326600AAB80A /* TransactionFormats.cpp */; };
+ C14F84881681326700AAB80A /* TransactionMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81FC1681326600AAB80A /* TransactionMaster.cpp */; };
+ C14F84891681326700AAB80A /* TransactionMeta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F81FE1681326600AAB80A /* TransactionMeta.cpp */; };
+ C14F848A1681326700AAB80A /* Transactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82001681326600AAB80A /* Transactor.cpp */; };
+ C14F848B1681326700AAB80A /* TrustSetTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82021681326600AAB80A /* TrustSetTransactor.cpp */; };
+ C14F848C1681326700AAB80A /* UniqueNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82061681326600AAB80A /* UniqueNodeList.cpp */; };
+ C14F848D1681326700AAB80A /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82081681326600AAB80A /* utils.cpp */; };
+ C14F848E1681326700AAB80A /* ValidationCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F820A1681326600AAB80A /* ValidationCollection.cpp */; };
+ C14F848F1681326700AAB80A /* Wallet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F820D1681326600AAB80A /* Wallet.cpp */; };
+ C14F84901681326700AAB80A /* WalletAddTransactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F820F1681326600AAB80A /* WalletAddTransactor.cpp */; };
+ C14F84911681326700AAB80A /* WSDoor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82121681326600AAB80A /* WSDoor.cpp */; };
+ C14F84D81681326700AAB80A /* base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82C21681326600AAB80A /* base64.cpp */; };
+ C14F84D91681326700AAB80A /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = C14F82CD1681326600AAB80A /* md5.c */; };
+ C14F84DA1681326700AAB80A /* data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82D21681326600AAB80A /* data.cpp */; };
+ C14F84DB1681326700AAB80A /* network_utilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82D41681326600AAB80A /* network_utilities.cpp */; };
+ C14F84DC1681326700AAB80A /* hybi_header.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82D81681326600AAB80A /* hybi_header.cpp */; };
+ C14F84DD1681326700AAB80A /* hybi_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82DB1681326600AAB80A /* hybi_util.cpp */; };
+ C14F84DE1681326700AAB80A /* blank_rng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82DF1681326600AAB80A /* blank_rng.cpp */; };
+ C14F84DF1681326700AAB80A /* boost_rng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82E11681326600AAB80A /* boost_rng.cpp */; };
+ C14F84E21681326700AAB80A /* sha1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82EC1681326600AAB80A /* sha1.cpp */; };
+ C14F84E51681326700AAB80A /* uri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C14F82FA1681326600AAB80A /* uri.cpp */; };
+ C1637B0416827C5B0067A9B4 /* ripple.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = C1637B0216827C5B0067A9B4 /* ripple.pb.cc */; };
+ C1637B07168284510067A9B4 /* TransactionQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C1637B05168284510067A9B4 /* TransactionQueue.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildRule section */
+ C14F85C11681357800AAB80A /* PBXBuildRule */ = {
+ isa = PBXBuildRule;
+ compilerSpec = com.apple.compilers.proxy.script;
+ filePatterns = src/cpp/ripple/ripple.proto;
+ fileType = pattern.proxy;
+ isEditable = 1;
+ outputFiles = (
+ );
+ script = "protoc -Isrc/cpp/ripple --cpp_out=build/proto src/cpp/ripple/ripple.proto";
+ };
+/* End PBXBuildRule section */
+
+/* Begin PBXContainerItemProxy section */
+ C14F85A71681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6DF1C691434A7A30029A1B1;
+ remoteInfo = "WebSocket++ Static Library";
+ };
+ C14F85A91681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6DF1C721434A8280029A1B1;
+ remoteInfo = "WebSocket++ Dynamic Library";
+ };
+ C14F85AB1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6DF1CD11435ED910029A1B1;
+ remoteInfo = echo_server;
+ };
+ C14F85AD1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B682887D143745F2002BA48B;
+ remoteInfo = chat_client;
+ };
+ C14F85AF1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6CF181C1437C397009295BE;
+ remoteInfo = echo_client;
+ };
+ C14F85B11681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6FE8D4F14730AE900B32547;
+ remoteInfo = policy_test;
+ };
+ C14F85B31681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B663884B1487D73200DDAE13;
+ remoteInfo = echo_server_tls;
+ };
+ C14F85B51681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6732458148FAEEB00FC2B04;
+ remoteInfo = fuzzing_server;
+ };
+ C14F85B71681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6732471148FB0FC00FC2B04;
+ remoteInfo = fuzzing_client;
+ };
+ C14F85B91681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B67324891491A16500FC2B04;
+ remoteInfo = broadcast_server;
+ };
+ C14F85BB1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B67324A21491A7F100FC2B04;
+ remoteInfo = stress_client;
+ };
+ C14F85BD1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B61A51BF14DC271900456432;
+ remoteInfo = concurrent_server;
+ };
+ C14F85BF1681326700AAB80A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C14F830D1681326600AAB80A /* websocketpp.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B6E7E7731505532E00394909;
+ remoteInfo = wsperf;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ C14F81251681323400AAB80A /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ C14F812E1681323400AAB80A /* rippled.1 in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ C14F81271681323400AAB80A /* rippled */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = rippled; sourceTree = BUILT_PRODUCTS_DIR; };
+ C14F812D1681323400AAB80A /* rippled.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = rippled.1; sourceTree = ""; };
+ C14F81371681326600AAB80A /* database.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = database.cpp; sourceTree = ""; };
+ C14F81381681326600AAB80A /* database.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = database.h; sourceTree = ""; };
+ C14F813A1681326600AAB80A /* mysqldatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mysqldatabase.cpp; sourceTree = ""; };
+ C14F813B1681326600AAB80A /* mysqldatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mysqldatabase.h; sourceTree = ""; };
+ C14F813C1681326600AAB80A /* sqlite3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sqlite3.c; sourceTree = ""; };
+ C14F813D1681326600AAB80A /* sqlite3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sqlite3.h; sourceTree = ""; };
+ C14F813E1681326600AAB80A /* sqlite3ext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sqlite3ext.h; sourceTree = ""; };
+ C14F813F1681326600AAB80A /* SqliteDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SqliteDatabase.cpp; sourceTree = ""; };
+ C14F81401681326600AAB80A /* SqliteDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SqliteDatabase.h; sourceTree = ""; };
+ C14F81421681326600AAB80A /* dbutility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbutility.h; sourceTree = ""; };
+ C14F81431681326600AAB80A /* windatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = windatabase.cpp; sourceTree = ""; };
+ C14F81441681326600AAB80A /* windatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windatabase.h; sourceTree = ""; };
+ C14F81461681326600AAB80A /* autolink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = autolink.h; sourceTree = ""; };
+ C14F81471681326600AAB80A /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; };
+ C14F81481681326600AAB80A /* features.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = features.h; sourceTree = ""; };
+ C14F81491681326600AAB80A /* forwards.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = forwards.h; sourceTree = ""; };
+ C14F814A1681326600AAB80A /* json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json.h; sourceTree = ""; };
+ C14F814B1681326600AAB80A /* json_batchallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_batchallocator.h; sourceTree = ""; };
+ C14F814C1681326600AAB80A /* json_internalarray.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = json_internalarray.inl; sourceTree = ""; };
+ C14F814D1681326600AAB80A /* json_internalmap.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = json_internalmap.inl; sourceTree = ""; };
+ C14F814E1681326600AAB80A /* json_reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = json_reader.cpp; sourceTree = ""; };
+ C14F814F1681326600AAB80A /* json_value.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = json_value.cpp; sourceTree = ""; };
+ C14F81501681326600AAB80A /* json_valueiterator.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = json_valueiterator.inl; sourceTree = ""; };
+ C14F81511681326600AAB80A /* json_writer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = json_writer.cpp; sourceTree = ""; };
+ C14F81521681326600AAB80A /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
+ C14F81531681326600AAB80A /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reader.h; sourceTree = ""; };
+ C14F81541681326600AAB80A /* value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value.h; sourceTree = ""; };
+ C14F81551681326600AAB80A /* version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = version; sourceTree = ""; };
+ C14F81561681326600AAB80A /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = ""; };
+ C14F81581681326600AAB80A /* AccountItems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccountItems.cpp; sourceTree = ""; };
+ C14F81591681326600AAB80A /* AccountItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountItems.h; sourceTree = ""; };
+ C14F815A1681326600AAB80A /* AccountSetTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccountSetTransactor.cpp; sourceTree = ""; };
+ C14F815B1681326600AAB80A /* AccountSetTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountSetTransactor.h; sourceTree = ""; };
+ C14F815C1681326600AAB80A /* AccountState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccountState.cpp; sourceTree = ""; };
+ C14F815D1681326600AAB80A /* AccountState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountState.h; sourceTree = ""; };
+ C14F815E1681326600AAB80A /* Amount.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Amount.cpp; sourceTree = ""; };
+ C14F815F1681326600AAB80A /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; };
+ C14F81601681326600AAB80A /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; };
+ C14F81611681326600AAB80A /* base58.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base58.h; sourceTree = ""; };
+ C14F81621681326600AAB80A /* bignum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bignum.h; sourceTree = ""; };
+ C14F81631681326600AAB80A /* BitcoinUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BitcoinUtil.cpp; sourceTree = ""; };
+ C14F81641681326600AAB80A /* BitcoinUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitcoinUtil.h; sourceTree = ""; };
+ C14F81651681326600AAB80A /* CallRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallRPC.cpp; sourceTree = ""; };
+ C14F81661681326600AAB80A /* CallRPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallRPC.h; sourceTree = ""; };
+ C14F81671681326600AAB80A /* CanonicalTXSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CanonicalTXSet.cpp; sourceTree = ""; };
+ C14F81681681326600AAB80A /* CanonicalTXSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanonicalTXSet.h; sourceTree = ""; };
+ C14F81691681326600AAB80A /* Config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config.cpp; sourceTree = ""; };
+ C14F816A1681326600AAB80A /* Config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config.h; sourceTree = ""; };
+ C14F816B1681326600AAB80A /* ConnectionPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionPool.cpp; sourceTree = ""; };
+ C14F816C1681326600AAB80A /* ConnectionPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConnectionPool.h; sourceTree = ""; };
+ C14F816D1681326600AAB80A /* Contract.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Contract.cpp; sourceTree = ""; };
+ C14F816E1681326600AAB80A /* Contract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contract.h; sourceTree = ""; };
+ C14F816F1681326600AAB80A /* DBInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DBInit.cpp; sourceTree = ""; };
+ C14F81701681326600AAB80A /* DeterministicKeys.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeterministicKeys.cpp; sourceTree = ""; };
+ C14F81711681326600AAB80A /* ECIES.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ECIES.cpp; sourceTree = ""; };
+ C14F81721681326600AAB80A /* FeatureTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FeatureTable.cpp; sourceTree = ""; };
+ C14F81731681326600AAB80A /* FeatureTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FeatureTable.h; sourceTree = ""; };
+ C14F81741681326600AAB80A /* FieldNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldNames.cpp; sourceTree = ""; };
+ C14F81751681326600AAB80A /* FieldNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldNames.h; sourceTree = ""; };
+ C14F81761681326600AAB80A /* HashedObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HashedObject.cpp; sourceTree = ""; };
+ C14F81771681326600AAB80A /* HashedObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashedObject.h; sourceTree = ""; };
+ C14F81781681326600AAB80A /* HashPrefixes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashPrefixes.h; sourceTree = ""; };
+ C14F81791681326600AAB80A /* HTTPRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPRequest.cpp; sourceTree = ""; };
+ C14F817A1681326600AAB80A /* HTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPRequest.h; sourceTree = ""; };
+ C14F817B1681326600AAB80A /* HttpsClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HttpsClient.cpp; sourceTree = ""; };
+ C14F817C1681326600AAB80A /* HttpsClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HttpsClient.h; sourceTree = ""; };
+ C14F817D1681326600AAB80A /* InstanceCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstanceCounter.cpp; sourceTree = ""; };
+ C14F817E1681326600AAB80A /* InstanceCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstanceCounter.h; sourceTree = ""; };
+ C14F817F1681326600AAB80A /* Interpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Interpreter.cpp; sourceTree = ""; };
+ C14F81801681326600AAB80A /* Interpreter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Interpreter.h; sourceTree = ""; };
+ C14F81811681326600AAB80A /* JobQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JobQueue.cpp; sourceTree = ""; };
+ C14F81821681326600AAB80A /* JobQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JobQueue.h; sourceTree = ""; };
+ C14F81831681326600AAB80A /* key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = key.h; sourceTree = ""; };
+ C14F81841681326600AAB80A /* Ledger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ledger.cpp; sourceTree = ""; };
+ C14F81851681326600AAB80A /* Ledger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ledger.h; sourceTree = ""; };
+ C14F81861681326600AAB80A /* LedgerAcquire.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerAcquire.cpp; sourceTree = ""; };
+ C14F81871681326600AAB80A /* LedgerAcquire.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerAcquire.h; sourceTree = ""; };
+ C14F81881681326600AAB80A /* LedgerConsensus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerConsensus.cpp; sourceTree = ""; };
+ C14F81891681326600AAB80A /* LedgerConsensus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerConsensus.h; sourceTree = ""; };
+ C14F818A1681326600AAB80A /* LedgerEntrySet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerEntrySet.cpp; sourceTree = ""; };
+ C14F818B1681326600AAB80A /* LedgerEntrySet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerEntrySet.h; sourceTree = ""; };
+ C14F818C1681326600AAB80A /* LedgerFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerFormats.cpp; sourceTree = ""; };
+ C14F818D1681326600AAB80A /* LedgerFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerFormats.h; sourceTree = ""; };
+ C14F818E1681326600AAB80A /* LedgerHistory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerHistory.cpp; sourceTree = ""; };
+ C14F818F1681326600AAB80A /* LedgerHistory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerHistory.h; sourceTree = ""; };
+ C14F81901681326600AAB80A /* LedgerMaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerMaster.cpp; sourceTree = ""; };
+ C14F81911681326600AAB80A /* LedgerMaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerMaster.h; sourceTree = ""; };
+ C14F81921681326600AAB80A /* LedgerProposal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerProposal.cpp; sourceTree = ""; };
+ C14F81931681326600AAB80A /* LedgerProposal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerProposal.h; sourceTree = ""; };
+ C14F81941681326600AAB80A /* LedgerTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LedgerTiming.cpp; sourceTree = ""; };
+ C14F81951681326600AAB80A /* LedgerTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LedgerTiming.h; sourceTree = ""; };
+ C14F81961681326600AAB80A /* LoadManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadManager.cpp; sourceTree = ""; };
+ C14F81971681326600AAB80A /* LoadManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadManager.h; sourceTree = ""; };
+ C14F81981681326600AAB80A /* LoadMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadMonitor.cpp; sourceTree = ""; };
+ C14F81991681326600AAB80A /* LoadMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadMonitor.h; sourceTree = ""; };
+ C14F819A1681326600AAB80A /* Log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Log.cpp; sourceTree = ""; };
+ C14F819B1681326600AAB80A /* Log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = ""; };
+ C14F819C1681326600AAB80A /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; };
+ C14F819D1681326600AAB80A /* NetworkOPs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkOPs.cpp; sourceTree = ""; };
+ C14F819E1681326600AAB80A /* NetworkOPs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkOPs.h; sourceTree = ""; };
+ C14F819F1681326600AAB80A /* NetworkStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkStatus.h; sourceTree = ""; };
+ C14F81A01681326600AAB80A /* NicknameState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NicknameState.cpp; sourceTree = ""; };
+ C14F81A11681326600AAB80A /* NicknameState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NicknameState.h; sourceTree = ""; };
+ C14F81A21681326600AAB80A /* Offer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Offer.cpp; sourceTree = ""; };
+ C14F81A31681326600AAB80A /* Offer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Offer.h; sourceTree = ""; };
+ C14F81A41681326600AAB80A /* OfferCancelTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OfferCancelTransactor.cpp; sourceTree = ""; };
+ C14F81A51681326600AAB80A /* OfferCancelTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfferCancelTransactor.h; sourceTree = ""; };
+ C14F81A61681326600AAB80A /* OfferCreateTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OfferCreateTransactor.cpp; sourceTree = ""; };
+ C14F81A71681326600AAB80A /* OfferCreateTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfferCreateTransactor.h; sourceTree = ""; };
+ C14F81A81681326600AAB80A /* Operation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Operation.cpp; sourceTree = ""; };
+ C14F81A91681326600AAB80A /* Operation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Operation.h; sourceTree = ""; };
+ C14F81AA1681326600AAB80A /* OrderBook.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OrderBook.cpp; sourceTree = ""; };
+ C14F81AB1681326600AAB80A /* OrderBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OrderBook.h; sourceTree = ""; };
+ C14F81AC1681326600AAB80A /* OrderBookDB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OrderBookDB.cpp; sourceTree = ""; };
+ C14F81AD1681326600AAB80A /* OrderBookDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OrderBookDB.h; sourceTree = ""; };
+ C14F81AE1681326600AAB80A /* PackedMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PackedMessage.cpp; sourceTree = ""; };
+ C14F81AF1681326600AAB80A /* PackedMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PackedMessage.h; sourceTree = ""; };
+ C14F81B01681326600AAB80A /* ParameterTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParameterTable.cpp; sourceTree = ""; };
+ C14F81B11681326600AAB80A /* ParameterTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParameterTable.h; sourceTree = ""; };
+ C14F81B21681326600AAB80A /* ParseSection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseSection.cpp; sourceTree = ""; };
+ C14F81B31681326600AAB80A /* ParseSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParseSection.h; sourceTree = ""; };
+ C14F81B41681326600AAB80A /* Pathfinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pathfinder.cpp; sourceTree = ""; };
+ C14F81B51681326600AAB80A /* Pathfinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pathfinder.h; sourceTree = ""; };
+ C14F81B61681326600AAB80A /* PaymentTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PaymentTransactor.cpp; sourceTree = ""; };
+ C14F81B71681326600AAB80A /* PaymentTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaymentTransactor.h; sourceTree = ""; };
+ C14F81B81681326600AAB80A /* Peer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Peer.cpp; sourceTree = ""; };
+ C14F81B91681326600AAB80A /* Peer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Peer.h; sourceTree = ""; };
+ C14F81BA1681326600AAB80A /* PeerDoor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PeerDoor.cpp; sourceTree = ""; };
+ C14F81BB1681326600AAB80A /* PeerDoor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PeerDoor.h; sourceTree = ""; };
+ C14F81BC1681326600AAB80A /* PlatRand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatRand.cpp; sourceTree = ""; };
+ C14F81BD1681326600AAB80A /* ProofOfWork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProofOfWork.cpp; sourceTree = ""; };
+ C14F81BE1681326600AAB80A /* ProofOfWork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProofOfWork.h; sourceTree = ""; };
+ C14F81BF1681326600AAB80A /* PubKeyCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PubKeyCache.cpp; sourceTree = ""; };
+ C14F81C01681326600AAB80A /* PubKeyCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PubKeyCache.h; sourceTree = ""; };
+ C14F81C11681326600AAB80A /* RangeSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RangeSet.cpp; sourceTree = ""; };
+ C14F81C21681326600AAB80A /* RangeSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RangeSet.h; sourceTree = ""; };
+ C14F81C31681326600AAB80A /* RegularKeySetTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegularKeySetTransactor.cpp; sourceTree = ""; };
+ C14F81C41681326600AAB80A /* RegularKeySetTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegularKeySetTransactor.h; sourceTree = ""; };
+ C14F81C51681326600AAB80A /* rfc1751.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rfc1751.cpp; sourceTree = ""; };
+ C14F81C61681326600AAB80A /* rfc1751.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rfc1751.h; sourceTree = ""; };
+ C14F81C71681326600AAB80A /* ripple.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ripple.proto; sourceTree = ""; };
+ C14F81C81681326600AAB80A /* RippleAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RippleAddress.cpp; sourceTree = ""; };
+ C14F81C91681326600AAB80A /* RippleAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RippleAddress.h; sourceTree = ""; };
+ C14F81CA1681326600AAB80A /* RippleCalc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RippleCalc.cpp; sourceTree = ""; };
+ C14F81CB1681326600AAB80A /* RippleCalc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RippleCalc.h; sourceTree = ""; };
+ C14F81CC1681326600AAB80A /* RippleState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RippleState.cpp; sourceTree = ""; };
+ C14F81CD1681326600AAB80A /* RippleState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RippleState.h; sourceTree = ""; };
+ C14F81CE1681326600AAB80A /* rpc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rpc.cpp; sourceTree = ""; };
+ C14F81CF1681326600AAB80A /* RPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPC.h; sourceTree = ""; };
+ C14F81D01681326600AAB80A /* RPCDoor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RPCDoor.cpp; sourceTree = ""; };
+ C14F81D11681326600AAB80A /* RPCDoor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPCDoor.h; sourceTree = ""; };
+ C14F81D21681326600AAB80A /* RPCErr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RPCErr.cpp; sourceTree = ""; };
+ C14F81D31681326600AAB80A /* RPCErr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPCErr.h; sourceTree = ""; };
+ C14F81D41681326600AAB80A /* RPCHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RPCHandler.cpp; sourceTree = ""; };
+ C14F81D51681326600AAB80A /* RPCHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPCHandler.h; sourceTree = ""; };
+ C14F81D61681326600AAB80A /* RPCServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RPCServer.cpp; sourceTree = ""; };
+ C14F81D71681326600AAB80A /* RPCServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPCServer.h; sourceTree = ""; };
+ C14F81D81681326600AAB80A /* ScopedLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopedLock.h; sourceTree = ""; };
+ C14F81D91681326600AAB80A /* ScriptData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptData.cpp; sourceTree = ""; };
+ C14F81DA1681326600AAB80A /* ScriptData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptData.h; sourceTree = ""; };
+ C14F81DB1681326600AAB80A /* SecureAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecureAllocator.h; sourceTree = ""; };
+ C14F81DC1681326600AAB80A /* SerializedLedger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedLedger.cpp; sourceTree = ""; };
+ C14F81DD1681326600AAB80A /* SerializedLedger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedLedger.h; sourceTree = ""; };
+ C14F81DE1681326600AAB80A /* SerializedObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedObject.cpp; sourceTree = ""; };
+ C14F81DF1681326600AAB80A /* SerializedObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedObject.h; sourceTree = ""; };
+ C14F81E01681326600AAB80A /* SerializedTransaction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedTransaction.cpp; sourceTree = ""; };
+ C14F81E11681326600AAB80A /* SerializedTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedTransaction.h; sourceTree = ""; };
+ C14F81E21681326600AAB80A /* SerializedTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedTypes.cpp; sourceTree = ""; };
+ C14F81E31681326600AAB80A /* SerializedTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedTypes.h; sourceTree = ""; };
+ C14F81E41681326600AAB80A /* SerializedValidation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedValidation.cpp; sourceTree = ""; };
+ C14F81E51681326600AAB80A /* SerializedValidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedValidation.h; sourceTree = ""; };
+ C14F81E61681326600AAB80A /* SerializeProto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializeProto.h; sourceTree = ""; };
+ C14F81E71681326600AAB80A /* Serializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Serializer.cpp; sourceTree = ""; };
+ C14F81E81681326600AAB80A /* Serializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Serializer.h; sourceTree = ""; };
+ C14F81E91681326600AAB80A /* SHAMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SHAMap.cpp; sourceTree = ""; };
+ C14F81EA1681326600AAB80A /* SHAMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SHAMap.h; sourceTree = ""; };
+ C14F81EB1681326600AAB80A /* SHAMapDiff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SHAMapDiff.cpp; sourceTree = ""; };
+ C14F81EC1681326600AAB80A /* SHAMapNodes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SHAMapNodes.cpp; sourceTree = ""; };
+ C14F81ED1681326600AAB80A /* SHAMapSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SHAMapSync.cpp; sourceTree = ""; };
+ C14F81EE1681326600AAB80A /* SHAMapSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SHAMapSync.h; sourceTree = ""; };
+ C14F81EF1681326600AAB80A /* SNTPClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SNTPClient.cpp; sourceTree = ""; };
+ C14F81F01681326600AAB80A /* SNTPClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNTPClient.h; sourceTree = ""; };
+ C14F81F11681326600AAB80A /* Suppression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Suppression.cpp; sourceTree = ""; };
+ C14F81F21681326600AAB80A /* Suppression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Suppression.h; sourceTree = ""; };
+ C14F81F31681326600AAB80A /* TaggedCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TaggedCache.h; sourceTree = ""; };
+ C14F81F41681326600AAB80A /* Transaction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Transaction.cpp; sourceTree = ""; };
+ C14F81F51681326600AAB80A /* Transaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Transaction.h; sourceTree = ""; };
+ C14F81F61681326600AAB80A /* TransactionEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionEngine.cpp; sourceTree = ""; };
+ C14F81F71681326600AAB80A /* TransactionEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionEngine.h; sourceTree = ""; };
+ C14F81F81681326600AAB80A /* TransactionErr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionErr.cpp; sourceTree = ""; };
+ C14F81F91681326600AAB80A /* TransactionErr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionErr.h; sourceTree = ""; };
+ C14F81FA1681326600AAB80A /* TransactionFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionFormats.cpp; sourceTree = ""; };
+ C14F81FB1681326600AAB80A /* TransactionFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionFormats.h; sourceTree = ""; };
+ C14F81FC1681326600AAB80A /* TransactionMaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionMaster.cpp; sourceTree = ""; };
+ C14F81FD1681326600AAB80A /* TransactionMaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionMaster.h; sourceTree = ""; };
+ C14F81FE1681326600AAB80A /* TransactionMeta.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionMeta.cpp; sourceTree = ""; };
+ C14F81FF1681326600AAB80A /* TransactionMeta.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionMeta.h; sourceTree = ""; };
+ C14F82001681326600AAB80A /* Transactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Transactor.cpp; sourceTree = ""; };
+ C14F82011681326600AAB80A /* Transactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Transactor.h; sourceTree = ""; };
+ C14F82021681326600AAB80A /* TrustSetTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TrustSetTransactor.cpp; sourceTree = ""; };
+ C14F82031681326600AAB80A /* TrustSetTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrustSetTransactor.h; sourceTree = ""; };
+ C14F82041681326600AAB80A /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; };
+ C14F82051681326600AAB80A /* uint256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uint256.h; sourceTree = ""; };
+ C14F82061681326600AAB80A /* UniqueNodeList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UniqueNodeList.cpp; sourceTree = ""; };
+ C14F82071681326600AAB80A /* UniqueNodeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniqueNodeList.h; sourceTree = ""; };
+ C14F82081681326600AAB80A /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = ""; };
+ C14F82091681326600AAB80A /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = ""; };
+ C14F820A1681326600AAB80A /* ValidationCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ValidationCollection.cpp; sourceTree = ""; };
+ C14F820B1681326600AAB80A /* ValidationCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValidationCollection.h; sourceTree = ""; };
+ C14F820C1681326600AAB80A /* Version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Version.h; sourceTree = ""; };
+ C14F820D1681326600AAB80A /* Wallet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Wallet.cpp; sourceTree = ""; };
+ C14F820E1681326600AAB80A /* Wallet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Wallet.h; sourceTree = ""; };
+ C14F820F1681326600AAB80A /* WalletAddTransactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WalletAddTransactor.cpp; sourceTree = ""; };
+ C14F82101681326600AAB80A /* WalletAddTransactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WalletAddTransactor.h; sourceTree = ""; };
+ C14F82111681326600AAB80A /* WSConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WSConnection.h; sourceTree = ""; };
+ C14F82121681326600AAB80A /* WSDoor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WSDoor.cpp; sourceTree = ""; };
+ C14F82131681326600AAB80A /* WSDoor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WSDoor.h; sourceTree = ""; };
+ C14F82141681326600AAB80A /* WSHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WSHandler.h; sourceTree = ""; };
+ C14F82161681326600AAB80A /* dependencies.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dependencies.txt; sourceTree = ""; };
+ C14F82181681326600AAB80A /* uri.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = uri.txt; sourceTree = ""; };
+ C14F821B1681326600AAB80A /* broadcast_admin.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = broadcast_admin.html; sourceTree = ""; };
+ C14F821C1681326600AAB80A /* broadcast_admin_handler.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = broadcast_admin_handler.hpp; sourceTree = ""; };
+ C14F821D1681326600AAB80A /* broadcast_handler.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = broadcast_handler.hpp; sourceTree = ""; };
+ C14F821E1681326600AAB80A /* broadcast_server_handler.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = broadcast_server_handler.hpp; sourceTree = ""; };
+ C14F821F1681326600AAB80A /* broadcast_server_tls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = broadcast_server_tls.cpp; sourceTree = ""; };
+ C14F82201681326600AAB80A /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; };
+ C14F82231681326600AAB80A /* API.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = API.txt; sourceTree = ""; };
+ C14F82251681326600AAB80A /* ajax.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ajax.html; sourceTree = ""; };
+ C14F82261681326600AAB80A /* annotating.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotating.html; sourceTree = ""; };
+ C14F82271681326600AAB80A /* arrow-down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "arrow-down.gif"; sourceTree = ""; };
+ C14F82281681326600AAB80A /* arrow-left.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "arrow-left.gif"; sourceTree = ""; };
+ C14F82291681326600AAB80A /* arrow-right.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "arrow-right.gif"; sourceTree = ""; };
+ C14F822A1681326600AAB80A /* arrow-up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "arrow-up.gif"; sourceTree = ""; };
+ C14F822B1681326600AAB80A /* basic.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = basic.html; sourceTree = ""; };
+ C14F822C1681326600AAB80A /* data-eu-gdp-growth-1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth-1.json"; sourceTree = ""; };
+ C14F822D1681326600AAB80A /* data-eu-gdp-growth-2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth-2.json"; sourceTree = ""; };
+ C14F822E1681326600AAB80A /* data-eu-gdp-growth-3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth-3.json"; sourceTree = ""; };
+ C14F822F1681326600AAB80A /* data-eu-gdp-growth-4.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth-4.json"; sourceTree = ""; };
+ C14F82301681326600AAB80A /* data-eu-gdp-growth-5.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth-5.json"; sourceTree = ""; };
+ C14F82311681326600AAB80A /* data-eu-gdp-growth.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-eu-gdp-growth.json"; sourceTree = ""; };
+ C14F82321681326600AAB80A /* data-japan-gdp-growth.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-japan-gdp-growth.json"; sourceTree = ""; };
+ C14F82331681326600AAB80A /* data-usa-gdp-growth.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "data-usa-gdp-growth.json"; sourceTree = ""; };
+ C14F82341681326600AAB80A /* graph-types.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "graph-types.html"; sourceTree = ""; };
+ C14F82351681326600AAB80A /* hs-2004-27-a-large_web.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "hs-2004-27-a-large_web.jpg"; sourceTree = ""; };
+ C14F82361681326600AAB80A /* image.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = image.html; sourceTree = ""; };
+ C14F82371681326600AAB80A /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; };
+ C14F82381681326600AAB80A /* interacting-axes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "interacting-axes.html"; sourceTree = ""; };
+ C14F82391681326600AAB80A /* interacting.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = interacting.html; sourceTree = ""; };
+ C14F823A1681326600AAB80A /* layout.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = layout.css; sourceTree = "