{"_id":"stellar-payments","_rev":"29-b0d2dc001a7c3b8bba62203666daaea7","name":"stellar-payments","time":{"modified":"2022-06-27T00:19:22.793Z","created":"2014-11-20T03:19:59.085Z","0.0.1":"2014-11-20T03:19:59.085Z","0.1.0":"2014-11-20T03:29:19.679Z","0.2.0":"2014-11-20T19:42:24.157Z","0.2.1":"2014-11-20T21:51:52.305Z","0.3.0":"2014-11-24T22:33:26.957Z","0.3.1":"2014-11-25T01:00:54.549Z","0.3.2":"2014-11-25T21:44:26.425Z","0.3.3":"2014-11-25T22:35:10.105Z","0.3.4":"2014-12-01T17:17:02.578Z","0.3.5":"2014-12-01T18:42:06.134Z","0.4.0":"2014-12-12T00:33:40.024Z","0.4.1":"2014-12-12T18:01:15.085Z","0.4.2":"2015-01-22T01:03:17.265Z"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist-tags":{"latest":"0.4.2","v0.2":"0.2.0","0.2.1":"0.2.1","v0.3.0":"0.3.0","v0.3.1":"0.3.1","v0.3.2":"0.3.2","v0.3.3":"0.3.3","v0.3.4":"0.3.4","v0.3.5":"0.3.5","v0.4.0":"0.4.0","v0.4.1":"0.4.1"},"description":"Stellar Payments =====================","readme":"Stellar Payments\n=====================\n\n[![Build Status](https://travis-ci.org/stellar/stellar-payments.svg?branch=master)](https://travis-ci.org/stellar/stellar-payments) [![Coverage Status](https://coveralls.io/repos/stellar/stellar-payments/badge.png?branch=master)](https://coveralls.io/r/stellar/stellar-payments?branch=master)\n\n\nStellar Payments is a Node JS library providing robust transaction submission to the Stellar network. Out of the box, it will correctly handle:\n\n* local signing of transactions\n* failed submission due to network failures or stellard downtime\n* transaction errors such as tecPATH_DRY, tefPAST_SEQ, tefALREADY, and many others\n* sequence number management\n* maintaining idempotence ensuring no double payouts\n* safe resigning do to ter/tem/tef transaction errors\n* unfunded payments (if the account runs out of funds)\n* fatal errors, will stop processing and require manual intervention\n* TODO: fee changes\n\nAdditionaly, the library is extremely flexible and allows the client to provide their own implementation of the various components (referred to as modules) at runtime, including: transaction persistance, signing, submitting, logging, and networking.\n\n### Basic Integration\n\n#### Setting up the database\nStellar Payments relies on a persistent storage mechanism to keep track of payment transactions. The library supports\nSQL storage out of the box, but you'll first have to add the Transactions table to your db.\n\n1. `cp ./node_modules/stellar-payments/config.js ./`\n2. Enter your db config into config.js\n3. `node ./node_modules/stellar-payments/bin/db-setup`\n\n#### Insert a new payment\n```js\nvar PaymentsClient = require('stellar-payments').Client;\nvar payments = new PaymentsClient(config);\n\n// create a payment\npayments.createNewPayment(<destination>, 1, USD, <issuing address>, \"withdrawal\");\n```\n\n#### Processing Payments\n```js\nvar StellarPayments = require('stellar-payments').Payments;\nvar payments = new StellarPayments(config);\n\nprocessPayments();\n\n// calls processPayments every 500 ms\nfunction processPayments() {\n    payments.processPayments()\n        .then(function () {\n            setTimeout(function () {\n                processPayments();\n            }, 500);\n        });\n}\n```\n\n### Architecture\nAt its core, Stellar Payments is simply a transaction signing and submission management tool. It provides a robust implementation that is useful out of the box with limited configuration, yet is abstracted enough to allow custom implementation for its various modules.\n\nThe code is architected into several discrete modules:\n\n<img src=\"https://cloud.githubusercontent.com/assets/993607/5429719/e08540b2-83ab-11e4-8e11-e5392ab6e699.png\" alt=\"Drawing\" style=\"width: 400px;\"/>\n\n##### lib/payments.js - Core payments driver\nThe Payments class provides the core function processPayments() which drives the signing/submitting process. The client will call this function at a regular interval. The Payments class depends on the database, signer, submitter, and network.\n\n##### lib/database.js - Persistent Transaction Store\n\nStellar Payments uses persistent storage to keep track of transactions through the various transaction states. Stellar Payments includes a SQL schema and a Knex implementation which supports various SQL libraries. See the database module for more information.\n\n##### lib/network.js - Stellar Network Interface\nProvides methods that access payment specific endpoints in the stellar network.\n\n##### lib/signer.js - Transaction Signer\n\nThe signer manages the sequence number and signs transactions. The default implementation signs transactions locally. If there's an error signing a transaction, it will mark the transaction with a malformed error and continue.\n\n##### lib/submitter.js - Transaction Submitter\n\nThe submitter takes signed and submitted transactions and submits them to the network in sequence order. It handles errors and determines when a transaction is confirmed. See Submission Confirmation and Error Handling for more information.\n\n\n### Transaction object\n\nThe transaction data structure represents a single transaction and its associated meta information. Any interface that depends on a transaction object must implement a transaction object with this interface (various fields can be null):\n\n```js\n{\n    address: // address of the destination, never null\n    amount: // the value of the amount (if stellar, value is in stellar), not null\n    currency: // the type of currency, null for STR\n    issuer: // the issuing currency, if null and currency is not null, will be stellar account\n    txblob: // the signed binary form of the payment transaction, null until signing\n    txhash: // the hash of the signed transaction, null until signing\n    sequence: // the sequence number this transaction was signed with, null until signing\n}\n```\n\n### Transaction States\n\nWe can model a transaction's lifecycle from creation to confirmation or error as a state machine.\n\n<img src=\"https://cloud.githubusercontent.com/assets/993607/5421333/b4dc1648-8216-11e4-8553-e014a6a26b5c.png\" alt=\"Drawing\" style=\"width: 400px;\"/>\n\n##### Unsigned\nAn unsigned transaction is a simple address/amount pair. It is the state a transaction is in when it is first created.\n\n##### Signed\nA signed transaction is a transaction that has been signed but not submitted. It has an associated txblob (signed form of the transaction), a txhash, and a sequence number. A signed transaction can be submitted to the network.\n\n##### Submitted\nA submitted transaction has been successfully submitted to the network, though it is not necessarily applied to a ledger or a valid transaction. Submitted transactions will continue to be submitted to the network until they are confirmed or errored.\n\n##### Confirmed\nA transaction reaches the confirmation state when it has been confirmed into a validated ledger. This is a terminal state, a confirmed transaction will always be confirmed.\n\n##### Error\nA transaction reaches an error state when signing or submitting returns an error which is not expected. There are two types of errors: fatal and non-fatal. Non-fatal errors will not cause processing to halt, processing will continue onto the next transaction (after potentially resigning transactions in the case of a resign error) and simple mark the transaction as \"errored\". A fatal error causes all processing to stop and requires manual intervention to proceed.\n\n##### Aborted\nAn aborted transaction is a transaction that has errored and has been manually acknowledged as \"ignore\". A fatal error transaction can be sent to the abort state to resume transaction processing.\n\n### Modules\n\nStellar Payments provides a sensible default implementation for signing and submitting, persisting transactions, and logging. However, the library is modular and abstracts these various components, allowing the consumer of the library to provide their own implementations at runtime (through the Payments config object). Here's a specification/interface for each module you can provide.\n\n##### Errors\nEach module specific error must be inherited from Error by requiring lib/errors.js in the module. Additionally, each error should live in a static 'errors' object, which itself should be a static property of the module export. For instance, the module Signer exports its constructor function Signer(). And each error lives in Signer.errors, for example, Signer.errors.SigningError. See the code for clarity.\n\n#### Database Module\n\nThe database module is responsible for persisting transaction meta information. It it used extensively throughout the library to: persist signed transaction blobs, query for transactions in different states, manipulate transaction state, and retrieve information about state of the transaction datastore, among others. You can provide your own implementation of the database module interface when instantiating the Payment object. Here's the interface:\n\n##### ```getUnsignedTransactions(limit)```\nReturns transactions that are in the Unsigned state up to the limit.\n\n##### ```markTransactionError(transaction, error, isFatal)```\nPuts the given transaction into the Error state and mark the transaction with the given error. If isFatal is true, this transaction will cause processing to stop, and further calls to Payments.processPayments() will check if this error has been moved to the aborted state.\n\n##### ```storeSignedTransaction(transaction)```\nPersist the given transaction to the database.\n\n##### ```getSubmittedUnconfirmedTransactions()```\nReturn all transactions in the submitted state.\n\n##### ```getSignedUnconfirmedTransactions()```\nReturn all transactions in the signed or submitted state.\n\n##### ```getUnsubmittedTransactions()```\nReturn all transactions in the unsigned state.\n\n##### ```markTransactionSubmitted(transaction)```\nMove the given transaction to the submitted state.\n\n##### ```markTransactionConfirmed()```\nMove the given transaction to the confirmed state.\n\n##### ```getHighestSequenceNumberFromTransactions()```\nReturn the highest sequence number from a signed transaction, null if no signed transactions.\n\n##### ```clearSignedTransactionsFromId(id)```\nAny transaction that has an 'id' > the given id should be moved to the unsigned state.\n\n##### ```isAborted(transaction)```\nReturns true if the given transaction is aborted, false otherwise.\n\n#### Signer Module\n\nThe signers job is simple: set a local sequence number, then get all unsigned transactions and sign them, incrementing the local sequence number each time, persisting the txblob and txhash to the db. Here's the interface:\n\n##### ```Signer(config, database, network)```\nConstructs a signer object with the given config as well as database and network modules.\n\n##### ```setSequenceNumber(sequence)```\nSet the local sequence number to the given sequence number.\n\n##### ```getSequenceNumber()```\nReturn the current sequence number.\n\n##### ```signTransactions(limit)```\nRetrieve transactions in the unsigned state from the database (up to the given limit).\n\n##### Errors\n* Signer.errors.SigningError\n    Returned during a signing error. This transaction should be moved to the non-fatal error state, and signing should continue.\n\n#### Network Module\nThe network module provides the interface to the Stellar Network. IMPORTANT: the return objects from the Stellar Websocket API and the HTTP API are different. Each call to the network module expects the JSON response body from the HTTP API. Here's the interface:\n\n##### ```submitTransactionBlob(txblob)```\nSubmits the given txblob to the network. Returns the JSON response body.\n\n##### ```getTransaction(txhash)```\nFetches the transaction with the given hash from the network. Returns the JSON response body.\n\n##### ```getAccountInfo(address)```\nFetches the account info for the given address. Returns the JSON response body.\n\n##### Errors\n* StellarNetwork.errors.NetworkError\n    Thrown if there is a network error, or if stellar returns an error code in the JSON response body. This will be caught in Payments.js, logged, and ignored.\n\n#### Submitter Module\nThe submitter is the most complex module, and the included implementation should be relied on in most cases.\n\n// TODO\n\n##### Errors\nSee lib/submitter.js for a complete list of errors.\n","versions":{"0.1.0":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.1.0","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.*","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"db61baf058c56e42f4b8ac863f89d934b09fa6e0","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.1.0","_shasum":"e68feaefd729a96adc8c93618b7f26e31c0da98c","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"e68feaefd729a96adc8c93618b7f26e31c0da98c","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.1.0.tgz","integrity":"sha512-SNXCWRgC6ikD76v5BujIFgBqp6hn73buTm7FF9RRAt3pi/Xx/fLse13ia9EP5inFTtBdmCrvtjnnwbRKYwM5fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0nrgOdCraWkA8nXtlxV7qZeIjwXAejR3Ypo2j41p4KAiAtxAxax2mIJrYiCuMs5Dq0pvzAnk5ZUFFUBLvSPWI1iA=="}]}},"0.2.0":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.2.0","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.*","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"0704b2f34e226327bed4693174933e11bd7a442a","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.2.0","_shasum":"67df9bfe4717b63f1eccad90d92781b56dff3f8e","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"67df9bfe4717b63f1eccad90d92781b56dff3f8e","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.2.0.tgz","integrity":"sha512-79tlFbKK0L6H6mFhzofEAD/ATFixr0cw5NRZ6ueSlpbpZzvThycZuBqDV49klZQIKHvoGWiOkrLvOudErHgoqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9FJN0xESTNVFM5ocm3og9r7VNo+ra9qc2y3/qb9b+EwIhAIGJnCjCAmcG8XV+R/bIauWHJFAKUn1Vu28zviz9rc03"}]}},"0.2.1":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.2.1","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.*","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"c4fb4d97d5d40e37320a7e8301d5803bd6af3f13","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.2.1","_shasum":"ce5090cbf4ba179f84f5ada3f9917685c439323e","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"ce5090cbf4ba179f84f5ada3f9917685c439323e","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.2.1.tgz","integrity":"sha512-GYYF4/P72b3e97H6TPIjcf/tQz+1qD0pRT6USg0AJeNE/Sl7alGHqFE7PH6edtPxx65lbdBMKFX8Rqt8e1Jt0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs4F/tHJsdDB0hTxqMJlMsivAbQJmtR59aKL0bTagswAIgNPntjTlleFrDdhRd86B95HDUg5qsKjF9Y8u6FrkSZtM="}]}},"0.3.0":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.0","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.*","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"5700e6b67df86e3db917a95dc55b139665c91d2e","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.0","_shasum":"f84b09561ee7c42f926b568f5fa07e80deb4b126","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"f84b09561ee7c42f926b568f5fa07e80deb4b126","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.0.tgz","integrity":"sha512-bLcuUgS4eK5DHG0k3dsMdR/r8xrWjtm4mgWStLYrp3KToMH6jdfezGumToBPdiDThle62OsrK8asx0DTmxxTUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3i2tRdgKKTcKRj2guqzskQa4g5P41dHhP33zY/TMg/QIgV3Let8qsEMQbYZdFVj76NIAH4NMjoBlusNjqVt5BAwg="}]}},"0.3.1":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.1","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.*","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"82aa12972889fcab38be6abdde037d0486287cda","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.1","_shasum":"7b35c3bf47c65ee9f58663e4321215c78bdc203b","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"7b35c3bf47c65ee9f58663e4321215c78bdc203b","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.1.tgz","integrity":"sha512-q566/Tge0HVyWHrQYba4lfPW1+VvTZRPlUDzpH41VYCeILKhGIW/oijWJRRKy5FQo0+tWzC0VaN2YO5Rwdql/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtEe1duUmx/go1Op671MQZ61Urf7KlmQMWcZbmQGLmXAiEAwb+ZQk+pFhjgsW74qE55+Kur+CTxAKgmncU5cK3qopI="}]}},"0.3.2":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.2","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"a37c185b4430a4cef0d45dcdb015d3be52594656","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.2","_shasum":"862b94a0b0f64f2b6000c5f45062c645a4508158","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"862b94a0b0f64f2b6000c5f45062c645a4508158","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.2.tgz","integrity":"sha512-A5cHFen1vIrO/scYFENrckqmmdS7HNvRK+ak0v0rZHO72Q0RlpA8xPxiGownO9PBbObbf8YhgSTOMMpUGpEWgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFOB15XYPy1vBOqdHK71+HmifC4uOJYYMlu2IZme+mAtAiEAvpEh8FQkCqVcAXEh6weWuSf3UimZ6D0MmUXWC7jvlA0="}]}},"0.3.3":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.3","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"776bebfde423812583c5582da8372657dbdbf8ac","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.3","_shasum":"eaa319a9e5e48037b6e9d3b476be3493bba02d8f","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"eaa319a9e5e48037b6e9d3b476be3493bba02d8f","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.3.tgz","integrity":"sha512-HXiiMywO0sqo8U2c9V0EhLMJlr3aU8X85lXVn5yQBMrPHyIbPTznqmm1TmNeNgUdAwpsc4zd8ChLXC0i6JbR9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpK/0zojyVzkTklKDr2HLGct3DDoQPJCwaFT+52jYJmAiEAx8fS+CYI2AGTj+LrNnvGrhS3saVv4O/FsEr0u8edFeQ="}]}},"0.3.4":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.4","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"a6d56631eea8f7c66f0466d04a7c9dadfb3114ac","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.4","_shasum":"4577fb3f2af8588220ed1e422b747f6fcf0ab7d9","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"4577fb3f2af8588220ed1e422b747f6fcf0ab7d9","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.4.tgz","integrity":"sha512-lXutaDlPaSz/4Je24204ut2UbjhNuqazE0C2Sr3nf037mZUUmZnvgnTozwEUKNhCEBg431mMU0ogM3fRfYlKUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcmpHC7hxt/GTQ81ocGrfwP3eV5qF/ZXK56fvG88PYagIgDAvjnzgvE7if1meEu5NxjilVZHTwmM9v4PhSkk5nNLM="}]}},"0.3.5":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.3.5","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"dec0743de5fccce1e80637827c6f7790e24245b8","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.3.5","_shasum":"c34b2400c455f3b92e41081c91489b213e0c25c3","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"c34b2400c455f3b92e41081c91489b213e0c25c3","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.3.5.tgz","integrity":"sha512-fpF5GCWkK5R5lDrBq6V46QvMbPt50//LE2GEJbff38Epk1/laRkhMX8oso5trvhfaAf2HQwUbHfaqv5+udTtrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDA7ibg7jbQrOHCPtCEvy98Hn2l9g29Yp2q8Meu0vyrnQIgMH0M2kxDSFKPxYti+crnI/yyKwhJEWURxjtX4ANjV70="}]}},"0.4.0":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.4.0","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"57cad21d51fc03761396927d925e38151bdc0a10","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.4.0","_shasum":"4ec21b953da025bc29ab74d6046b8359a94c4429","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"4ec21b953da025bc29ab74d6046b8359a94c4429","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.4.0.tgz","integrity":"sha512-vHBJxz1DFbjsgtdnprlFFqbtrFEysoC+Z6TVVyPNp3AIs1B4eTMSaJ+Z4x2e8uTHkTuf8Xe4g9LbSI1KBPCN8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+ZaPdyQVrftDZZIhXK25Sj9pffgXhj70zWrjEPQVVUAiEAml8cRUZSAU7NQX4AhQq0vq8vsTx7I9V3Dcj7O7Ad1j4="}]}},"0.4.1":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.4.1","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"678bdfe3547a4167f536dda8cac5b6574c9b80a7","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.4.1","_shasum":"fafd7b0bdca03cc914424c089694593f887b5a80","_from":"./","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"fafd7b0bdca03cc914424c089694593f887b5a80","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.4.1.tgz","integrity":"sha512-gqhJ/4XbkP5cEsfOEAk2waFVBCEJQMYRey3OhOSQZADEGOZQUoZJVUJqTFMcpB8DHuh7C3hBCTUbcABP9nz4SA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPrQeFEsYpMjMt5eT6vVgeW3dA7W6NRvAvNgZbgHVrQwIhAMNnK8+QhEt9pTVgiH9Op2bttunuCX+Dqt8lCP4Ko10e"}]}},"0.4.2":{"name":"stellar-payments","author":{"name":"Andrew Rogers"},"license":"MIT","version":"0.4.2","dependencies":{"bluebird":"2.3.11","knex":"0.7.3","lodash":"2.4.1","mysql":"2.5.3","request":"2.48.0","sinon":"1.10.3","stellar-lib":"0.10.1","unirest":"0.2.7"},"repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"scripts":{"test":"NODE_ENV=test gulp db:ensure-created && gulp db:migrate && gulp test && gulp submit-coverage"},"main":"index.js","devDependencies":{"jshint-stylish":"^0.2.0","gulp":"^3.8.5","gulp-coveralls":"^0.1.3","gulp-jshint":"^1.6.1","gulp-load-plugins":"^0.5.1","gulp-spawn-mocha":"^0.4.1"},"gitHead":"5f1283a0df5e1eeab461ca2700172823b1d41a3f","description":"Stellar Payments =====================","bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"homepage":"https://github.com/stellar/stellar-payments","_id":"stellar-payments@0.4.2","_shasum":"2afd85fbb1e3e4bfec008e2ed1eccb6b71198e17","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"abennobashi","email":"abennobashi@gmail.com"},"maintainers":[{"name":"abennobashi","email":"abennobashi@gmail.com"}],"dist":{"shasum":"2afd85fbb1e3e4bfec008e2ed1eccb6b71198e17","tarball":"https://registry.npmjs.org/stellar-payments/-/stellar-payments-0.4.2.tgz","integrity":"sha512-Vno0BqbNegZUp1oX7Q2Ch2ESQj1hZUHXCnDj41CnwuhNT/yX44VvWrO6ZYv2jUQmUB0PxSMOHpzwPGjOEljNLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICY4+0KxS/M9ZYl41cN0ooMzBb/3BmApvjcbA7+c1M+LAiEA7hn/POg0DXWjMx6rxJxvv1T121Tpp/f9vprPGAvVG0A="}]}}},"homepage":"https://github.com/stellar/stellar-payments","repository":{"type":"git","url":"https://github.com/stellar/stellar-payments"},"author":{"name":"Andrew Rogers"},"bugs":{"url":"https://github.com/stellar/stellar-payments/issues"},"license":"MIT","readmeFilename":"README.md"}