Skip to content

Jorrit refactor createOutUtxos#50

Merged
SwenSchaeferjohann merged 11 commits intomainfrom
jorrit-refactor-create-out-utxos
Mar 20, 2023
Merged

Jorrit refactor createOutUtxos#50
SwenSchaeferjohann merged 11 commits intomainfrom
jorrit-refactor-create-out-utxos

Conversation

@ananas-block
Copy link
Contributor

@ananas-block ananas-block commented Mar 19, 2023

rewrote createOutUtxos:

  • to simplify
  • support flexible numbers of assets and input utxos
  • added custom errors
  • added tests

Copy link
Contributor

@vadorovsky vadorovsky left a comment

Choose a reason for hiding this comment

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

Nice, I like the SHIELD/UNSHIELD naming, definitely cleaner than DEPOSIT/WITHDRAWAL :)

return txParams;
} else if (action === Action.TRANSFER) {
if (!recipientShieldedPublicKey)
if (!shieldedRecipients)
Copy link
Contributor

Choose a reason for hiding this comment

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

this will not throw if an empty array is provided

Copy link
Contributor

Choose a reason for hiding this comment

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

@ananas-block maybe it's more defensive to do
(!shieldedRecipients || shieldedRecipients.length === 0)
here? what do you think?

amount,
action: Action.DEPOSIT, //"SHIELD",
action: Action.SHIELD, //Action.SHIELD,
extraSolAmount,
Copy link
Contributor

Choose a reason for hiding this comment

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

this call still uses extraSolAmount whereas the other calls don't. it seems like this call should not work

Copy link
Contributor Author

Choose a reason for hiding this comment

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

also noticed that I didn't handle the deposit at all in createOutUtxos, added that today, now the transfer doesn't work anymore though

Copy link
Contributor

Choose a reason for hiding this comment

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

i presume this is resolved now with the latest changes

@ananas-block
Copy link
Contributor Author

added user tests to test.sh all running now @SwenSchaeferjohann

Copy link
Contributor

@SwenSchaeferjohann SwenSchaeferjohann left a comment

Choose a reason for hiding this comment

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

code changes lgtm

return txParams;
} else if (action === Action.TRANSFER) {
if (!recipientShieldedPublicKey)
if (!shieldedRecipients)
Copy link
Contributor

Choose a reason for hiding this comment

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

@ananas-block maybe it's more defensive to do
(!shieldedRecipients || shieldedRecipients.length === 0)
here? what do you think?

amount,
action: Action.DEPOSIT, //"SHIELD",
action: Action.SHIELD, //Action.SHIELD,
extraSolAmount,
Copy link
Contributor

Choose a reason for hiding this comment

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

i presume this is resolved now with the latest changes

@ananas-block
Copy link
Contributor Author

all DEPOSIT s are renamed now

@ananas-block ananas-block force-pushed the jorrit-refactor-create-out-utxos branch from 4285aff to 8d3120b Compare March 20, 2023 16:19
@SwenSchaeferjohann SwenSchaeferjohann merged commit f8a5110 into main Mar 20, 2023
@SwenSchaeferjohann SwenSchaeferjohann deleted the jorrit-refactor-create-out-utxos branch March 20, 2023 16:53
sleepyqadir pushed a commit that referenced this pull request Mar 24, 2023
logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

fixed transaction config ID (#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

spl support for browser and tests

Jorrit add custom errors provider (#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

spl unshield and transfer tests

reset the script

action reset
sleepyqadir pushed a commit that referenced this pull request Mar 24, 2023
…ters (#38)

* implemented custom errors in transaction class not tested

* added getAssetPubkeys tests and fixed the fn

* added no u64 errors

* completed deposit tests for transaction parameters

* added functional TransactionParameters tests

* transaction parameters tests work clean functional + errors

* removed transaction class errors after refactor

* removed prints

* fixed verifiers for tx params refactor

* functional tests except user class run

* user class functional tests run

* adapted circuit tests

* verifier two functional test runs

* verifier two tests runs

* adapted remaining system programs tests

* fixed tests after rebase

add custom errors transaction, utxo, verifier classes (#41)

* added custom errors transaction, utxo, verifier classes

* relaxed version requirement on solana web3.js

logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

added the update merkle tree call

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>

deleted groth16-solana and replaced by crates.io import

light-verifier-sdk: Provide program keys in bs58 format

Use our light-macros crate to provide program IDs to light-verifier-sdk
in bs58 format (which gets converted to bytes during compilation time).

Thanks to that, we also don't have to use the deprecated `Pubkey::new()`
associated method.

add custom errors account (#44)

* added account custom errors

* removed sdk build errors

fixed transaction config ID (#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

Jorrit add custom errors provider (#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

action enum

checking with finalized

user and provider class refactored

transaction and verifier refactored

spl support and check changed

provider changes and ts errors fixed

changes: errors handles and conditions

remove seperate static calls

checks changes

reset the test scripts

hot fixes in provider for failing test-caes

fixes: user tests cases

light-sdk test cases fixups

verifier tests fixups

nodeWallet sign message changes

long changes reverted

Jorrit refactor select in utxos (#54)

* selectInUtxos functional tests with 2 inputs + custom errors + some error tests

* added failed utxo combination and 3 in utxo tests

* tests pass with refactored selectInUtxos and createUtxos

* removed commented code

* fixed sort

Refactored user and add custom errors (#56)

* refactored user class, and added custom errors

* resolved rebase errors

reverted commits
sleepyqadir pushed a commit that referenced this pull request Mar 24, 2023
…ters (#38)

* implemented custom errors in transaction class not tested

* added getAssetPubkeys tests and fixed the fn

* added no u64 errors

* completed deposit tests for transaction parameters

* added functional TransactionParameters tests

* transaction parameters tests work clean functional + errors

* removed transaction class errors after refactor

* removed prints

* fixed verifiers for tx params refactor

* functional tests except user class run

* user class functional tests run

* adapted circuit tests

* verifier two functional test runs

* verifier two tests runs

* adapted remaining system programs tests

* fixed tests after rebase

add custom errors transaction, utxo, verifier classes (#41)

* added custom errors transaction, utxo, verifier classes

* relaxed version requirement on solana web3.js

logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

added the update merkle tree call

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>

deleted groth16-solana and replaced by crates.io import

light-verifier-sdk: Provide program keys in bs58 format

Use our light-macros crate to provide program IDs to light-verifier-sdk
in bs58 format (which gets converted to bytes during compilation time).

Thanks to that, we also don't have to use the deprecated `Pubkey::new()`
associated method.

add custom errors account (#44)

* added account custom errors

* removed sdk build errors

fixed transaction config ID (#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

Jorrit add custom errors provider (#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

action enum

checking with finalized

user and provider class refactored

transaction and verifier refactored

spl support and check changed

provider changes and ts errors fixed

changes: errors handles and conditions

remove seperate static calls

checks changes

reset the test scripts

hot fixes in provider for failing test-caes

fixes: user tests cases

light-sdk test cases fixups

verifier tests fixups

nodeWallet sign message changes

long changes reverted

Jorrit refactor select in utxos (#54)

* selectInUtxos functional tests with 2 inputs + custom errors + some error tests

* added failed utxo combination and 3 in utxo tests

* tests pass with refactored selectInUtxos and createUtxos

* removed commented code

* fixed sort

Refactored user and add custom errors (#56)

* refactored user class, and added custom errors

* resolved rebase errors

reverted commits
SwenSchaeferjohann pushed a commit that referenced this pull request Mar 24, 2023
* added mockUseWallet

* Jorrit add custom errors for transaction class and transaction parameters (#38)

* implemented custom errors in transaction class not tested

* added getAssetPubkeys tests and fixed the fn

* added no u64 errors

* completed deposit tests for transaction parameters

* added functional TransactionParameters tests

* transaction parameters tests work clean functional + errors

* removed transaction class errors after refactor

* removed prints

* fixed verifiers for tx params refactor

* functional tests except user class run

* user class functional tests run

* adapted circuit tests

* verifier two functional test runs

* verifier two tests runs

* adapted remaining system programs tests

* fixed tests after rebase

add custom errors transaction, utxo, verifier classes (#41)

* added custom errors transaction, utxo, verifier classes

* relaxed version requirement on solana web3.js

logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

added the update merkle tree call

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>

deleted groth16-solana and replaced by crates.io import

light-verifier-sdk: Provide program keys in bs58 format

Use our light-macros crate to provide program IDs to light-verifier-sdk
in bs58 format (which gets converted to bytes during compilation time).

Thanks to that, we also don't have to use the deprecated `Pubkey::new()`
associated method.

add custom errors account (#44)

* added account custom errors

* removed sdk build errors

fixed transaction config ID (#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

Jorrit add custom errors provider (#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

action enum

checking with finalized

user and provider class refactored

transaction and verifier refactored

spl support and check changed

provider changes and ts errors fixed

changes: errors handles and conditions

remove seperate static calls

checks changes

reset the test scripts

hot fixes in provider for failing test-caes

fixes: user tests cases

light-sdk test cases fixups

verifier tests fixups

nodeWallet sign message changes

long changes reverted

Jorrit refactor select in utxos (#54)

* selectInUtxos functional tests with 2 inputs + custom errors + some error tests

* added failed utxo combination and 3 in utxo tests

* tests pass with refactored selectInUtxos and createUtxos

* removed commented code

* fixed sort

Refactored user and add custom errors (#56)

* refactored user class, and added custom errors

* resolved rebase errors

reverted commits

* minor changes

* Revert "minor changes"

This reverts commit ff46ed4.

* minor changes

* added promise await in transaction

* naming conventions

* Revert "naming conventions"

This reverts commit 706b9b8.

* naming conventions

* method name changed

---------

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>
Co-authored-by: ananas-block <58553958+ananas-block@users.noreply.github.com>
sergeytimoshin pushed a commit to sergeytimoshin/light-protocol that referenced this pull request Feb 20, 2024
logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

fixed transaction config ID (Lightprotocol#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (Lightprotocol#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (Lightprotocol#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (Lightprotocol#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (Lightprotocol#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

spl support for browser and tests

Jorrit add custom errors provider (Lightprotocol#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

spl unshield and transfer tests

reset the script

action reset
vadorovsky pushed a commit to vadorovsky/light-protocol that referenced this pull request May 1, 2024
* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests
vadorovsky pushed a commit to vadorovsky/light-protocol that referenced this pull request May 1, 2024
* added mockUseWallet

* Jorrit add custom errors for transaction class and transaction parameters (Lightprotocol#38)

* implemented custom errors in transaction class not tested

* added getAssetPubkeys tests and fixed the fn

* added no u64 errors

* completed deposit tests for transaction parameters

* added functional TransactionParameters tests

* transaction parameters tests work clean functional + errors

* removed transaction class errors after refactor

* removed prints

* fixed verifiers for tx params refactor

* functional tests except user class run

* user class functional tests run

* adapted circuit tests

* verifier two functional test runs

* verifier two tests runs

* adapted remaining system programs tests

* fixed tests after rebase

add custom errors transaction, utxo, verifier classes (Lightprotocol#41)

* added custom errors transaction, utxo, verifier classes

* relaxed version requirement on solana web3.js

logs for the testing

changes: added the update merkle tree call

commitment changed in the leaves account data

added the update merkle tree call

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>

deleted groth16-solana and replaced by crates.io import

light-verifier-sdk: Provide program keys in bs58 format

Use our light-macros crate to provide program IDs to light-verifier-sdk
in bs58 format (which gets converted to bytes during compilation time).

Thanks to that, we also don't have to use the deprecated `Pubkey::new()`
associated method.

add custom errors account (Lightprotocol#44)

* added account custom errors

* removed sdk build errors

fixed transaction config ID (Lightprotocol#46)

relayer commander for tests

fixed: socket i/o timeout issue

command added

Add Github Actions CI jobs (Lightprotocol#32)

* Add Github Actions CI jobs

* Fix cargo fmt issues

* tests: Provide output UTXOs as transaction parameters

ata shield unshield pass in upd (WIP) (Lightprotocol#45)

* ata shield unshield pass in upd

enabled: unshield, transfer

user.getBalance:permissioned balances even if 0

added balance checks and todos to unshield user test

unshield -> getTxparams refactor + getRelayer call

transfer -> getTxParams &tested

* tests run: disabled leafindex check in getUnspentUtxos tho

* tests all running

* remove console logs

* removed index checker in getUnspentUtxos

* clean function params getUnspentUtxos

sub module fetched

rm light-macros

cleans the logs

removed the unused relayer script

removed extra consols

useWallet changes

resolved failing test

updated the wait time and verifierZero call

reverted the script change

added script for running the browser wallet tests

fix loopless of browser command

switch to docker solana validator

changes: script changes

changes: added build and install script for relayer

fixed typescript issues in relayer

remove  for unbound issue

cleanups

added relayer custom errors (Lightprotocol#49)

* added relayer custom errors

* increased relayer fee in mock-verifier tests

rebase from main

re added the removed package-lock.json

resolve long changes

Jorrit refactor createOutUtxos (Lightprotocol#50)

* renamed amount, extraSolAmount, account

* renamed Action.DEPOSIT, WITHDRAWAL, to SHIELD, UNSHIELD

* added error tests

* fixed errors

* removed commented code

* renamed test

* fixed user tests

* added comment

* made errors custom

* improved shielded recipients check for transfer

* renamed tests

Jorrit add custom errors provider (Lightprotocol#47)

* added custom errors provider and tests

* fixed rebase conflicts and added a check in createUtxos

* unskipped a test

action enum

checking with finalized

user and provider class refactored

transaction and verifier refactored

spl support and check changed

provider changes and ts errors fixed

changes: errors handles and conditions

remove seperate static calls

checks changes

reset the test scripts

hot fixes in provider for failing test-caes

fixes: user tests cases

light-sdk test cases fixups

verifier tests fixups

nodeWallet sign message changes

long changes reverted

Jorrit refactor select in utxos (Lightprotocol#54)

* selectInUtxos functional tests with 2 inputs + custom errors + some error tests

* added failed utxo combination and 3 in utxo tests

* tests pass with refactored selectInUtxos and createUtxos

* removed commented code

* fixed sort

Refactored user and add custom errors (Lightprotocol#56)

* refactored user class, and added custom errors

* resolved rebase errors

reverted commits

* minor changes

* Revert "minor changes"

This reverts commit ff46ed4.

* minor changes

* added promise await in transaction

* naming conventions

* Revert "naming conventions"

This reverts commit 706b9b8.

* naming conventions

* method name changed

---------

Co-authored-by: Abdul Qadir Shaikh <sleepyqadir@Abduls-MacBook-Air.local>
Co-authored-by: ananas-block <58553958+ananas-block@users.noreply.github.com>
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