Skip to content

Conversation

@lokera666
Copy link

Best practice

sentientwaffle and others added 30 commits January 6, 2017 08:48
Updates to Introduction
Dropped FeatureBitmask for Subtypes
Better explanations of fields
Describe compound vs simple types
Fixes based on comments from @nbougalis
Switch to BIT STRING for subtypes
Changed from maxFulfillmentLength to cost functions
Added example to clarify BITSTRING encoding 

Fixes #120
Makes #106 redundant and resolves #115 as we have dropped Features
Addresses #92 and #87
Fixes #86 
Fixes #144
Update 0001-interledger-architecture.md
Discussed with @justmoon offline
docs(0004): make plugin.get{Prefix,Account,Info} synchronous
Change the ledger plugin API to use from/to fields instead of the
ambiguous `account` field.

To illustrate how the previous API was confusing: In plugin-bells, we
actually populated the `account` field for incoming transfers with the
sending account, while we populated the `account` field for incoming
messages with the receiving (`to`) account.

Providing both sending and receiving accounts for both transfers and
messages allows us to more closely mirror the underlying API and reduce
the potential for confusion.
RFC-4: Replace account with from/to
As stated in the Twelfth Networking Truth (RFC 1925): In protocol design, perfection has been reached not when there is nothing left to add, but when there is nothing left to take away.

Change the fulfillment format to a String (which matches what the reference implementation actually uses.)

Since we only support one condition type, an abstraction layer like crypto-conditions doesn't make sense in this API. Note that this RFC only applies to the JavaScript implementation, other implementors are welcome to choose a different API.
feat: switch to simple conditions
feat: add RejectionMessage to LedgerPlugin
The following two functions are not the same, the spec should be specific about that:
```
function thrower() {
  if (problem) {
    throw new Error('oops');
  }
  return Promise.resolve('success');
}
function rejecter() {
  if (problem) {
    return Promise.reject(new Error('oops'));
  }
  return Promise.resolve('success');
}
```
Differentiate between throwing and rejecting
emschwartz and others added 29 commits February 7, 2018 13:07
Draft 1 attempted to have PSKv2 handle one-off payments, streaming payments, and chunked payments. However, @sharafian made good points that some of the features in the protocol and implementation of PSKv2 were only useful for chunked payments and not for streaming. When streaming payments, it makes more sense to have a completely stateless receiver that has a single callback to handle all incoming chunks, and applications will want more direct control over how they determine whether to accept or reject individual packets. Also, we wanted to [support application data](interledger-deprecated/ilp-protocol-psk2#5) but PSKv2 did not go all the way to implementing segmentation and reassembly like TCP.

This change simplifies the protocol and includes only the features necessary for 1) generating the conditions and fulfillments from a shared secret 2) encrypting and authenticating request and response data and 3) providing the sender a way to indicate to the receiver the minimum amount they should get to accept a given packet.
because they are covered by the junk data
Initial draft of payment pointers spec
feat: allow empty auth_username if auth_token is a bearer token

fix #372 (comment)

fix #372 (comment)
based on feedback from @mDuo13
* docs(0023): unconditional transfer type for ilp4

* bump document version
* docs: BTP/2.0

* address review comments from @justmoon

* Comments from @adrianhopebailie
@huijing huijing deleted the mj-loopback-transfer branch April 30, 2024 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.