Skip to content

Instantly share code, notes, and snippets.

@diegovdev
Forked from stevenzeiler/gatewayd_requirements.md
Last active August 29, 2015 14:26
Show Gist options
  • Select an option

  • Save diegovdev/529f4f0fbafaf8284055 to your computer and use it in GitHub Desktop.

Select an option

Save diegovdev/529f4f0fbafaf8284055 to your computer and use it in GitHub Desktop.

Revisions

  1. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,8 @@ GENERAL REQUIREMENTS
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - ripple_transaction records should have an incoming boolean
    - notify someone when the hot wallet is low of any currency
    - notify via email when the hot wallet is low of any currency
    - require notification email to be provided

    BOUNCING INVALID PAYMENTS
    - swap source address for destination address
  2. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -76,5 +76,6 @@ RIPPLE TRANSACTIONS OUTGOING STATE MODEL
    RIPPLE TRANSACTIONS INCOMING STATE MODEL
    - incoming
    - failed
    - bounced
    - succeeded

  3. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 11 additions and 0 deletions.
    11 changes: 11 additions & 0 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,14 @@ GENERAL REQUIREMENTS
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - ripple_transaction records should have an incoming boolean
    - notify someone when the hot wallet is low of any currency

    BOUNCING INVALID PAYMENTS
    - swap source address for destination address
    - swap source tag for destination tag
    - set destination amount as amount recieved, not amount they sent
    - set partial payment flag on transaction so they pay the fee


    COLD WALLET
    - sets email flag of cold wallet
    @@ -46,6 +54,9 @@ NOTIFICATIONS
    - tes successes should be marked as incoming
    - tes successes should record the transaction hash
    - tes successes should mark the ripple_status with tesSUCCESS code
    - bounce payments to invalid destination tags
    - bounce xrp payments made to cold wallet
    - bounce xrp payments made to hot wallet

    DEPOSITS STATE MODEL
    - queued
  4. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ GENERAL REQUIREMENTS
    - record ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - ripple_transaction records should have incoming boolean
    - ripple_transaction records should have an incoming boolean

    COLD WALLET
    - sets email flag of cold wallet
  5. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -8,6 +8,7 @@ GENERAL REQUIREMENTS
    - record ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - ripple_transaction records should have incoming boolean

    COLD WALLET
    - sets email flag of cold wallet
  6. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -44,7 +44,7 @@ NOTIFICATIONS
    - tec failures should mark the ripple_status with tec error code
    - tes successes should be marked as incoming
    - tes successes should record the transaction hash
    - tes successes should mark the ripple_status with tesSUCCESS error code
    - tes successes should mark the ripple_status with tesSUCCESS code

    DEPOSITS STATE MODEL
    - queued
  7. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@ HOT WALLET
    - sets tfDisallowXRP flag for hot wallet
    - sets tfRequireAuth flag for hot wallet before extending trust lines
    - set trust lines from hot wallet to cold wallet based on currencies
    ** only trust after settings tfRequireAuth flag
    ** only trust after setting tfRequireAuth

    CALLBACKS
    - POST callback when a withdrawal is marked as queued
  8. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 7 additions and 3 deletions.
    10 changes: 7 additions & 3 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -8,14 +8,18 @@ GENERAL REQUIREMENTS
    - record ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set require auth flag for hot wallet to prevent inbound trust lines
    - set trust lines from hot wallet to cold wallet based on currencies

    COLD WALLET
    - sets email flag of cold wallet
    - sets domain flag of cold wallet
    - sets tfDisallowXRP flag for cold wallet
    - sets tfDisallowXRP flag for hot wallet
    - sets tfRequireDestTag flag for cold wallet

    HOT WALLET
    - sets tfDisallowXRP flag for hot wallet
    - sets tfRequireAuth flag for hot wallet before extending trust lines
    - set trust lines from hot wallet to cold wallet based on currencies
    ** only trust after settings tfRequireAuth flag

    CALLBACKS
    - POST callback when a withdrawal is marked as queued
  9. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 10 additions and 2 deletions.
    12 changes: 10 additions & 2 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,12 @@ GENERAL REQUIREMENTS
    - query to return n withdrawals given incoming ripple transaction
    - set require auth flag for hot wallet to prevent inbound trust lines
    - set trust lines from hot wallet to cold wallet based on currencies
    - sets email flag of cold wallet
    - sets domain flag of cold wallet
    - sets tfDisallowXRP flag for cold wallet
    - sets tfDisallowXRP flag for hot wallet
    - sets tfRequireDestTag flag for cold wallet
    - sets tfRequireAuth flag for hot wallet before extending trust lines

    CALLBACKS
    - POST callback when a withdrawal is marked as queued
    @@ -31,8 +37,10 @@ NOTIFICATIONS
    - poll ripple rest for outbound payment notitifications of tes transactions
    - tec failures should be marked as failed
    - tec failures should should record the transaction hash
    - tes success should be marked as incoming
    - tes success should record the transaction hash
    - tec failures should mark the ripple_status with tec error code
    - tes successes should be marked as incoming
    - tes successes should record the transaction hash
    - tes successes should mark the ripple_status with tesSUCCESS error code

    DEPOSITS STATE MODEL
    - queued
  10. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@ GENERAL REQUIREMENTS
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set require auth flag for hot wallet to prevent inbound trust lines
    - set trust lines from hot wallet to cold wallet
    - set trust lines from hot wallet to cold wallet based on currencies

    CALLBACKS
    - POST callback when a withdrawal is marked as queued
  11. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ GENERAL REQUIREMENTS
    - record ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set flag to prevent trust lines to hot wallet
    - set require auth flag for hot wallet to prevent inbound trust lines
    - set trust lines from hot wallet to cold wallet

    CALLBACKS
  12. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@ GENERAL REQUIREMENTS
    - ability to map one deposit to n outgoing ripple transactions
    - ability to map one incoming ripple transaction to n withdrawals
    - record external_transaction_id of deposit in n ripple transactions
    - ripple_transaction_id of ripple_transaction in n withdrawals
    - record ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set flag to prevent trust lines to hot wallet
  13. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -2,10 +2,10 @@ GENERAL REQUIREMENTS
    - sends payments to Ripple REST upon writing to a SQL table
    - verifies outbound payments using Ripple REST notifications
    - standard error messages for HTTP calls
    - record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
    - ability to map one deposit to n outgoing ripple transactions
    - ability to map one incoming ripple transaction to n withdrawals
    - record external_transaction_id of deposit in n ripple transactions
    - ripple_transaction_id of ripple_transaction in n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set flag to prevent trust lines to hot wallet
  14. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,8 @@ GENERAL REQUIREMENTS
    - standard error messages for HTTP calls
    - record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
    - ability to map one deposit to n outgoing ripple transactions
    - ability to map one incoming ripple transaction to n withdrawals
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set flag to prevent trust lines to hot wallet
  15. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    GENERAL REQUIREMENTS
    - sends payments to Ripple REST upon writing to a SQL table
    - verifies payments using Ripple
    - verifies outbound payments using Ripple REST notifications
    - standard error messages for HTTP calls
    - record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
  16. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 10 additions and 10 deletions.
    20 changes: 10 additions & 10 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,17 @@
    GENERAL REQUIREMENTS
    - Sends payments to Ripple REST upon writing to a SQL table
    - Verifies payments using Ripple
    - Standard error messages for HTTP calls
    - Record external_transaction_id of deposit for n ripple transactions
    - sends payments to Ripple REST upon writing to a SQL table
    - verifies payments using Ripple
    - standard error messages for HTTP calls
    - record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
    - Query to return n outgoing ripple transactions given a deposit
    - Query to return n withdrawals given incoming ripple transaction
    - Sets flag to prevent trust lines to hot wallet
    - Sets trust lines from hot wallet to cold wallet
    - query to return n outgoing ripple transactions given a deposit
    - query to return n withdrawals given incoming ripple transaction
    - set flag to prevent trust lines to hot wallet
    - set trust lines from hot wallet to cold wallet

    CALLBACKS
    - Callback when a withdrawal is marked as queued
    - Callback upon notification of outbound ripple transaction
    - POST callback when a withdrawal is marked as queued
    - POST callback upon notification of outbound ripple transaction

    OUTBOUND RIPPLE TRANSACTIONS
    - successes should be marked as sent
  17. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 5 additions and 4 deletions.
    9 changes: 5 additions & 4 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,18 @@
    GENERAL REQUIREMENTS
    - Sends payments to Ripple REST upon writing to a SQL table
    - Verifies payments using Ripple
    - Standard error messages for HTTP calls
    - Record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
    - Query to return n outgoing ripple transactions given a deposit
    - Query to return n withdrawals given incoming ripple transaction

    CALLBACKS
    - Callback when a withdrawal is processed
    - Callback when a deposit is finished (outbound notification)
    - Sets flag to prevent trust lines to hot wallet
    - Sets trust lines from hot wallet to cold wallet

    CALLBACKS
    - Callback when a withdrawal is marked as queued
    - Callback upon notification of outbound ripple transaction

    OUTBOUND RIPPLE TRANSACTIONS
    - successes should be marked as sent
    - tem failures should be marked as failed
  18. Steven Zeiler revised this gist May 12, 2014. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,6 @@
    CALLBACKS
    - Callback when a withdrawal is processed
    - Callback when a deposit is finished (outbound notification)
    -
    - Sets flag to prevent trust lines to hot wallet
    - Sets trust lines from hot wallet to cold wallet

  19. Steven Zeiler created this gist May 12, 2014.
    54 changes: 54 additions & 0 deletions gatewayd_requirements.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,54 @@
    - Sends payments to Ripple REST upon writing to a SQL table
    - Verifies payments using Ripple
    - Standard error messages for HTTP calls
    - Record external_transaction_id of deposit for n ripple transactions
    - ripple_transaction_id of ripple_transaction for n withdrawals
    - Query to return n outgoing ripple transactions given a deposit
    - Query to return n withdrawals given incoming ripple transaction

    CALLBACKS
    - Callback when a withdrawal is processed
    - Callback when a deposit is finished (outbound notification)
    -
    - Sets flag to prevent trust lines to hot wallet
    - Sets trust lines from hot wallet to cold wallet

    OUTBOUND RIPPLE TRANSACTIONS
    - successes should be marked as sent
    - tem failures should be marked as failed
    - tel failures should be marked as failed
    - tef failures should be marked as failed
    - tej failures should be marked as failed
    - ter failures should be retried

    INBOUND RIPPLE TRANSACTIONS
    - tec failures should be marked as failed
    - tes success should marked as succeeded

    NOTIFICATIONS
    - poll ripple rest for outbound payment notitifications of tes transactions
    - tec failures should be marked as failed
    - tec failures should should record the transaction hash
    - tes success should be marked as incoming
    - tes success should record the transaction hash

    DEPOSITS STATE MODEL
    - queued
    - processed

    WITHDRAWALS STATE MODEL
    - queued
    - notified
    - processed

    RIPPLE TRANSACTIONS OUTGOING STATE MODEL
    - outgoing
    - sent
    - failed
    - succeeded

    RIPPLE TRANSACTIONS INCOMING STATE MODEL
    - incoming
    - failed
    - succeeded