* hg_selector: remove fold/collect funcs
* add compute_provider_terminal_terms into ff_party, replace hg_selector calls in compute_fees of withdrawal
* fix, proper way to match ProvisionTermSet
* replace hg_selector calls in terms validate of withdrawal_routing
* fix ct
* add compute_provider call to ff_party, replace hg_selector to pm in withdrawal terminals legacy computing code
* dialyzer
* dialyzer
* replace hg_selector in ff_p2p_transfer to compute fees
* fix ct
* replace hg_selector calls in p2p_transfer_routing
* format
* replace hg_selector in ff_transfer
* add compute_payment_institution to ff_party, replace hg_selector in payment_institution
* payment institution getters fix
* fix linter
* few fixes
* some varset fixes, not working commit only for CI tests tries
* remove hg_* files (but hg_cash_range), varset stuff in ff_varset module now
* revert some wrong changes, save not-woring commit
* ff_party fixes tries
* final version of ff_party varset decoding
* clean rest debug logs and some things
* fix ct (provider-terminal terms)
* format
* bump hellgate in docker-compose
* fix, reduce case nesting
* bump damsel/party_client, bump hellgate in docker-compose
* fix copy-paste mistake
* replace bank_card test construct with define
* rework wothdrawal_providers/p2p_providers/p2p_inspector getter funcs to be more readable and less "repeat yourself" code
* fix issue with wrong SystemAccountSelector getting value out of do-unwrap block
* fix unclear case pattern matching
* small fix to make code more proper
* fix, reduce case nesting
* fix bad code
* ED-100: Add domain revision to legacy routing
* More revisions to routing
* More revision for provider in withdrawal
* Eliminate get/1 for providers and terminals
* Use the same revision for adapter
* +bump party_client +bump woody -w/o test
* add dummy ff_routing_rule with no routes, add dummy gather_route call, tests ok, dialyzer empty list warning
* add routing rule set computing call from party, add routing ruleset implementation
* fix terms check for p2p, add routing rules for withdrawal
* +bump party_client +bump woody&thrift -w/o test
* fix module structure
* fix maps fields optionality
* +bump cds_proto, scoper, machinery, dmt_client, bender_client, image
* +update code for woody tuples
* fix format
* remove unused varset
* Revert "Merge remote-tracking branch 'origin/ft/upgrade_patry' into FF-238/ft/add_table_routing"
This reverts commit 2c6aa296d09b4be1ab57319afd2220b8665f89cf, reversing
changes made to cf43d1fd0906aef5fd4d6501c191a29fc3193746.
* Revert "Merge remote-tracking branch 'origin/ft/upgrade_patry' into FF-238/ft/add_table_routing"
This reverts commit 4923fef5c351a5a3b5a5ade6d8b3aaaacb59fc63, reversing
changes made to 8d4ea1a28a6ca2d37d900b607c90f6ede63e553e.
* add routing_rule test file, add test rulesets to ct_payment_system, not working commit: ruleset cannot to be reduced to candidates
* rework routing_rule (add do/unwrap, fix resulting routes list order, fix optional/required fields issues etc)
* add PartyID to varset thrift encoding, add tests
* fix remove unused ruleset define
* add error handling for routing ruleset computing call
* remove useless rules-not-found warning, remove unused commented code
* fix unsuitable function name
* make *_routing_rules fields in payment_institution optional again
* fix unwrap's issues, remove get_routing_rules function for it's useless
* clean types
* format
* fix wrong routing_rules getting from PaymentInstitution
* wrong do_gather_routes return fix
* add priority to 'route' map in ff_routing_rule
* fix wrong validation terms in ff_withdrawal_routing
* fix dialyzer
* add rejected context logging
* don't hide errors, passing it through entire gather_routes. But for now we don't logging errors anyway, before new routing will be finished and legacy routing will be removed
* fix error naming
* more proper map value get, fix domain object get mistake
* add candidates-was-computed check (candidate predicat is constant)
* add TODO: party client bump
* fix wrong p2p call instead of withdrawal
* add weight to route() (so its field don't used for now anyway), fix issue with optional/undefined fields in ff_payment_institution
* rework terms validation
* remove provider_ref, terminal_ref from ff_routing_rule:route() for it's useless
* fix mistake with correct routes filtering - field terminal_id in p2p_transfer not required
* add warning of misconfiguration
* fix mistake of absent TerminalRef field
* format
* fix 'dont_repeat_yourself' warnings
* fix wrong pattern matching
* rework ff_routing_rule:route() type - remove useless fields, return terminal_ref field
* return RejectedContext to result of gather_routes
* try to fix tests with single provider
* fix RejectedContext/logging issues
* bump party_client_erlang, update routing rules computing call
* fix ugly function specification
* do legacy routing if no routes found after validation
* fix wrong routes validation filter in withdrawals
* add routes filtered by terms to the rejectcontext in withdrawal_routing
* add routes filtered by terms to the rejectcontext in p2p_transfer, sorting p2p_transfer providers by priority and ProviderID
* fix ugly provision_terms function in withdrawal_routing
* fix mistake with validating providers returned result
* dialyzer
* remove rejected_providers for its waste
* rework check_ruleset_computing func to make it less ugly
* remove sorting by priority from p2p_transfer for its useless at current routing rules implementation stage
* Revert "remove sorting by priority from p2p_transfer for its useless at current routing rules implementation stage"
This reverts commit 052934bee178afe6b5a14f0323584b74fc334eab.
* resolve conflict with master (identical functions naming)
* remove 'ruleset_not_found' error, as it's computation fail is impossible (assuming the dominant is consistent)
* remove unused error
* make *_routing_rules fields mandatory
* dialyzer
* p2p_transfer: return old way of terms validate (with ff_p2p_providers module using)
* format
* return validate_provider_terms function to its initial appearance
* remove unused export
* wrong function name
* Revert "return old way of terms validate (with ff_p2p_providers module using)"
* remove validate_terms_legacy - it's duplicates itself with validates_terms
* return validate_p2p_transfers_terms_legacy to just validate_terms
* wrong validate_terms function use
* remove unused
* wrong spec
Co-authored-by: dinama <dinama@users.noreply.github.com>
* Disable lazy party creation
* Add new return type to function spec
* Upgrade fistful_proto
* Throw PartyNotFound error if nessesary
* Test that lazy party creation doesn't work anymore
* Uncomment tests
* Pass Context directly
(cherry picked from commit bfc88dcb37)