Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add payments off-chain assumptions #533

Merged
merged 6 commits into from
May 6, 2024

Conversation

ypatil12
Copy link
Collaborator

@ypatil12 ypatil12 commented May 5, 2024

Add off-chain assumptions from payments calculation

  • SNAPSHOT_CADENCE: Requirement for CALCULATION_INTERVAL_SECONDS to be a multiple of this value
  • amount <= MAX_PAYMENT_AMOUNT. This is 1e38-1, the max possible value in iceberg to do math without a loss of precision

@ypatil12 ypatil12 requested review from 8sunyuan and wadealexc May 5, 2024 00:26
@wadealexc wadealexc changed the title Add payments off-chain assumptions feat: add payments off-chain assumptions May 6, 2024
Copy link
Collaborator

@wadealexc wadealexc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ypatil12 ypatil12 merged commit 2e4159b into payments May 6, 2024
15 checks passed
@ypatil12 ypatil12 deleted the feat/payment-calculation-updates branch May 6, 2024 19:38
8sunyuan added a commit that referenced this pull request May 7, 2024
* feat: payments w tests and deploy script (#512)

* feat: payments w tests and deploy script

* chore: remove activatedAt and add require

checks payForRange startTimestamp
is multiple of calculationIntervalSeconds

* chore: uint32 for timestamps

* fix: storage off by one

* chore: additional natspec (#519)

* feat: payments w tests and deploy script (#512)

* feat: payments w tests and deploy script

* chore: remove activatedAt and add require

checks payForRange startTimestamp
is multiple of calculationIntervalSeconds

* chore: uint32 for timestamps

* fix: storage off by one

* chore: additional natspec

* chore: requested changes and fixes

* chore: pragmas

* refactor: reuse state read and clean up logic

* fix: relative paths

* chore: update event and tests

* fix: comments and add tests

* test: paused submitRoot flag

* chore: contract organization and added view fn

* chore: require comment

* chore: natspec

* feat: token receiver addresses

* chore: natspec with tokenReceivers

* fix: integration tests

* fix: integration tests

* chore: constants and immutables

* test: additional unit test for max index

* chore: deployed new test contract

* chore: update deployment address

* chore: add single recipient addr

* chore: upgrade payment impl

* chore: upgrade payment impl

* feat: ipfs hashes in distributionRoot

* fix: use CID instead of hash

* chore: remove ipfs

* docs: missing natspec param

* feat: update script to deploy/upgrade

* chore: make calc interval secs to immutable

* fix: add required interfaces

* docs: paymentCoordinator docs (#527)

* docs: paymentCoord docs

* docs: clean up payment docs

* docs: tree structure png
* fix comment

* docs: update single recipient addr

* docs: tweak payment docs for clarity and brevity

---------

Co-authored-by: wadealexc <[email protected]>

* refactor: small refactor for readability to surface token transfer and isolate input validation (#530)

* fix payment deploy

* fix: allow verifyInclusion for 0 len proof

also make cumulativeEarnings check strictly gt

* fix: preprod deploy

* fix: merkle diagram and docs

* feat: add payments off-chain assumptions (#533)

* feat: add offchain assumptions to docs; Add offchain variables & token requirement

* docs: simplify off-chain calculcation description

* fix: doc ref

* fix: heading typo

* refactor: make offchain constants internal

* docs: fix typos

* test: single token/earner leaves (#537)

---------

Co-authored-by: wadealexc <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: gpsanant <[email protected]>
Co-authored-by: Yash Patil <[email protected]>
wadealexc added a commit that referenced this pull request May 20, 2024
* feat: payments w tests and deploy script (#512)

* feat: payments w tests and deploy script

* chore: remove activatedAt and add require

checks payForRange startTimestamp
is multiple of calculationIntervalSeconds

* chore: uint32 for timestamps

* fix: storage off by one

* chore: additional natspec (#519)

* feat: payments w tests and deploy script (#512)

* feat: payments w tests and deploy script

* chore: remove activatedAt and add require

checks payForRange startTimestamp
is multiple of calculationIntervalSeconds

* chore: uint32 for timestamps

* fix: storage off by one

* chore: additional natspec

* chore: requested changes and fixes

* chore: pragmas

* refactor: reuse state read and clean up logic

* fix: relative paths

* chore: update event and tests

* fix: comments and add tests

* test: paused submitRoot flag

* chore: contract organization and added view fn

* chore: require comment

* chore: natspec

* feat: token receiver addresses

* chore: natspec with tokenReceivers

* fix: integration tests

* fix: integration tests

* chore: constants and immutables

* test: additional unit test for max index

* chore: deployed new test contract

* chore: update deployment address

* chore: add single recipient addr

* chore: upgrade payment impl

* chore: upgrade payment impl

* feat: ipfs hashes in distributionRoot

* fix: use CID instead of hash

* chore: remove ipfs

* docs: missing natspec param

* feat: update script to deploy/upgrade

* chore: make calc interval secs to immutable

* fix: add required interfaces

* docs: paymentCoordinator docs (#527)

* docs: paymentCoord docs

* docs: clean up payment docs

* docs: tree structure png
* fix comment

* docs: update single recipient addr

* docs: tweak payment docs for clarity and brevity

---------

Co-authored-by: wadealexc <[email protected]>

* refactor: small refactor for readability to surface token transfer and isolate input validation (#530)

* fix payment deploy

* fix: allow verifyInclusion for 0 len proof

also make cumulativeEarnings check strictly gt

* fix: preprod deploy

* fix: merkle diagram and docs

* feat: add payments off-chain assumptions (#533)

* feat: add offchain assumptions to docs; Add offchain variables & token requirement

* docs: simplify off-chain calculcation description

* fix: doc ref

* fix: heading typo

* refactor: make offchain constants internal

* docs: fix typos

* test: single token/earner leaves (#537)

---------

Co-authored-by: wadealexc <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: gpsanant <[email protected]>
Co-authored-by: Yash Patil <[email protected]>
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.

3 participants