cashless2ecash

cashless2ecash: pay with cards for digital cash (experimental)
Log | Files | Refs | README

ModeNameSize
-rw-r--r--.gitignore144L
-rw-r--r--Makefile50L
-rw-r--r--README69L
-rw-r--r--bruno/c2ec/(LOCAL-BIA) Abort Withdrawal.bru11L
-rw-r--r--bruno/c2ec/(LOCAL-BIA) Payment Confirmation.bru27L
-rw-r--r--bruno/c2ec/(LOCAL-BIA) Register Withdrawal.bru18L
-rw-r--r--bruno/c2ec/(LOCAL-BIA) Withdrawal Status.bru16L
-rw-r--r--bruno/c2ec/(LOCAL-WIRE) Transaction History Incoming.bru11L
-rw-r--r--bruno/c2ec/(LOCAL-WIRE) Transfer.bru11L
-rw-r--r--bruno/c2ec/bruno.json9L
-rw-r--r--bruno/wallee/bruno.json9L
-rw-r--r--c2ec/LICENSE661L
-rw-r--r--c2ec/Makefile50L
-rw-r--r--c2ec/README115L
-rw-r--r--c2ec/configs/c2ec-config.conf96L
-rw-r--r--c2ec/configs/c2ec-config.yaml31L
-rw-r--r--c2ec/db/0001-c2ec_add_confirmed_id.sql20L
-rw-r--r--c2ec/db/0001-c2ec_schema.sql167L
-rw-r--r--c2ec/db/access.sql35L
-rw-r--r--c2ec/db/drop.sql24L
-rwxr-xr-xc2ec/db/migrate.sh65L
-rw-r--r--c2ec/db/proc-c2ec_payment_notification_listener.sql47L
-rw-r--r--c2ec/db/proc-c2ec_retry_listener.sql31L
-rw-r--r--c2ec/db/proc-c2ec_status_listener.sql41L
-rw-r--r--c2ec/db/proc-c2ec_transfer_listener.sql41L
-rw-r--r--c2ec/db/test_wire_gateway.sql24L
-rw-r--r--c2ec/db/test_wire_gateway_cleanup.sql26L
-rw-r--r--c2ec/db/versioning.sql294L
-rw-r--r--c2ec/go.mod47L
-rw-r--r--c2ec/go.sum51L
-rw-r--r--c2ec/internal/api/api-agpl.go12L
-rw-r--r--c2ec/internal/api/api-auth.go226L
-rw-r--r--c2ec/internal/api/api-auth_test.go66L
-rw-r--r--c2ec/internal/api/api-bank-integration.go435L
-rw-r--r--c2ec/internal/api/api-consts.go3L
-rw-r--r--c2ec/internal/api/api-terminals.go402L
-rw-r--r--c2ec/internal/api/api-wire-gateway.go556L
-rw-r--r--c2ec/internal/c2ec.go342L
-rw-r--r--c2ec/internal/db/db.go50L
-rw-r--r--c2ec/internal/db/postgres/db-postgres.go953L
-rw-r--r--c2ec/internal/proc/proc-attestor.go209L
-rw-r--r--c2ec/internal/proc/proc-listener.go67L
-rw-r--r--c2ec/internal/proc/proc-retrier.go130L
-rw-r--r--c2ec/internal/proc/proc-transfer.go251L
-rw-r--r--c2ec/internal/provider/simulation/simulation-client.go95L
-rw-r--r--c2ec/internal/provider/wallee/wallee-client.go408L
-rw-r--r--c2ec/internal/provider/wallee/wallee-client_test.go179L
-rw-r--r--c2ec/internal/provider/wallee/wallee-models.go437L
-rw-r--r--c2ec/internal/utils/amount.go263L
-rw-r--r--c2ec/internal/utils/amount_test.go424L
-rw-r--r--c2ec/internal/utils/codec.go75L
-rw-r--r--c2ec/internal/utils/codec_test.go100L
-rw-r--r--c2ec/internal/utils/encoding.go156L
-rw-r--r--c2ec/internal/utils/encoding_test.go152L
-rw-r--r--c2ec/internal/utils/exponential-backoff.go95L
-rw-r--r--c2ec/internal/utils/exponential-backoff_test.go80L
-rw-r--r--c2ec/internal/utils/http-util.go292L
-rw-r--r--c2ec/internal/utils/http-util_test.go90L
-rw-r--r--c2ec/internal/utils/logger.go115L
-rw-r--r--c2ec/internal/utils/payto.go106L
-rw-r--r--c2ec/internal/utils/utils.go124L
-rw-r--r--c2ec/main.go86L
-rw-r--r--c2ec/pkg/config/config.go396L
-rw-r--r--c2ec/pkg/db/db.go226L
-rw-r--r--c2ec/pkg/provider/provider.go40L
-rw-r--r--cli/README25L
-rw-r--r--cli/cli.go657L
-rw-r--r--cli/codec.go53L
-rw-r--r--cli/db.go26L
-rw-r--r--cli/encoding.go127L
-rw-r--r--cli/go.mod18L
-rw-r--r--cli/go.sum32L
-rw-r--r--docs/Makefile11L
-rw-r--r--docs/README.md69L
-rw-r--r--docs/content/.gitkeep0B
-rw-r--r--docs/content/abstract.tex1L
-rw-r--r--docs/content/acknowledgements.tex11L
-rw-r--r--docs/content/appendix/api-bank-integration.pdf87831B
-rw-r--r--docs/content/appendix/api-bank-wire.pdf110176B
-rw-r--r--docs/content/appendix/api-terminals.pdf95753B
-rw-r--r--docs/content/appendix/meeting_notes.tex422L
-rw-r--r--docs/content/appendix/project_managment.tex45L
-rw-r--r--docs/content/architecture/c2ec.tex97L
-rw-r--r--docs/content/architecture/overview.tex114L
-rw-r--r--docs/content/architecture/wallee.tex49L
-rw-r--r--docs/content/implementation/a-bank-integration-api.tex38L
-rw-r--r--docs/content/implementation/a-c2ec.tex95L
-rw-r--r--docs/content/implementation/a-fees.tex25L
-rw-r--r--docs/content/implementation/a-processes.tex23L
-rw-r--r--docs/content/implementation/a-providers.tex53L
-rw-r--r--docs/content/implementation/a-terminal-api.tex46L
-rw-r--r--docs/content/implementation/a-wire-gateway-api.tex36L
-rw-r--r--docs/content/implementation/b-terminal.tex157L
-rw-r--r--docs/content/implementation/c-database.tex82L
-rw-r--r--docs/content/implementation/concepts.tex1L
-rw-r--r--docs/content/implementation/d-security.tex108L
-rw-r--r--docs/content/implementation/e-cli.tex22L
-rw-r--r--docs/content/implementation/e-testing.tex23L
-rw-r--r--docs/content/implementation/f-deployment.tex60L
-rw-r--r--docs/content/introduction/goal.tex20L
-rw-r--r--docs/content/introduction/introduction.tex29L
-rw-r--r--docs/content/results/discussion.tex43L
-rw-r--r--docs/content/results/reflexion.tex37L
-rw-r--r--docs/pictures/.gitkeep0B
-rw-r--r--docs/pictures/database/logical_model_relations.png22860B
-rw-r--r--docs/pictures/database/relationships.png44482B
-rw-r--r--docs/pictures/database/table_terminal.png31194B
-rw-r--r--docs/pictures/database/table_terminal_provider.png28037B
-rw-r--r--docs/pictures/database/table_transfer.png30261B
-rw-r--r--docs/pictures/database/table_withdrawal.png55153B
-rw-r--r--docs/pictures/diagrams/bank-integration-api.png21311B
-rw-r--r--docs/pictures/diagrams/c2ec.png97678B
-rw-r--r--docs/pictures/diagrams/c2ec_apis.png40087B
-rw-r--r--docs/pictures/diagrams/components_image.png186243B
-rw-r--r--docs/pictures/diagrams/components_images.png166377B
-rw-r--r--docs/pictures/diagrams/layer_diagram.png26214B
-rw-r--r--docs/pictures/diagrams/logical_model_relations.png37590B
-rw-r--r--docs/pictures/diagrams/overview.png41611B
-rw-r--r--docs/pictures/diagrams/system_overview.png77078B
-rw-r--r--docs/pictures/diagrams/terminal_flow.png77052B
-rw-r--r--docs/pictures/diagrams/terminals-api.png16796B
-rw-r--r--docs/pictures/diagrams/wire-gateway-api.png17822B
-rw-r--r--docs/pictures/diagrams/withdrawal-op-state-transition.png18117B
-rw-r--r--docs/pictures/dreaming_of_a_better_world.jpg316746B
-rw-r--r--docs/pictures/sig_haeberli.png149077B
-rw-r--r--docs/pictures/wallee/0_start_screen.jpg20681B
-rw-r--r--docs/pictures/wallee/1_manage_screen.jpg32492B
-rw-r--r--docs/pictures/wallee/2_choose_exchange.jpg34149B
-rw-r--r--docs/pictures/wallee/3_amount_valid.jpg28261B
-rw-r--r--docs/pictures/wallee/4_amount_invalid.jpg28867B
-rw-r--r--docs/pictures/wallee/5_register_params.jpg76165B
-rw-r--r--docs/pictures/wallee/6_authorize_screen.jpg54203B
-rw-r--r--docs/pictures/wallee/7_abort.jpg19996B
-rw-r--r--docs/pictures/wallee/8_authorized.jpg20595B
-rw-r--r--docs/pictures/wallee/wallee_transaction_states.png36314B
-rw-r--r--docs/project.bib374L
-rw-r--r--docs/thesis.pdf2106818B
-rw-r--r--docs/thesis.tex258L
-rw-r--r--install/build_app.sh19L
-rw-r--r--install/build_cli.sh19L
-rw-r--r--install/grant_privileges.sh32L
-rw-r--r--install/installation_notes.md114L
-rwxr-xr-xinstall/setup_db.sh59L
-rwxr-xr-xinstall/test.sh28L
-rwxr-xr-xinstall/wipe_db.sh27L
-rw-r--r--poster/.gitignore12L
-rw-r--r--poster/Makefile9L
-rw-r--r--poster/accept_tos.jpg124332B
-rw-r--r--poster/authorize_payment.jpg148305B
-rw-r--r--poster/cashless2ecash_poster.pdf808840B
-rw-r--r--poster/cashless2ecash_poster.tex158L
-rw-r--r--poster/choose_exchange.jpg136831B
-rw-r--r--poster/enter_amount.jpg74999B
-rw-r--r--poster/flow_diagram.odg26340B
-rw-r--r--poster/flow_diagram_simplified.odg30369B
-rw-r--r--poster/register_param.jpg115206B
-rw-r--r--poster/summary.jpg89505B
-rw-r--r--presentation/defense.odp1050332B
-rw-r--r--presentation/defense.pdf793766B
-rw-r--r--presentation/friday.odp591179B
-rw-r--r--presentation/friday.pdf336735B
-rw-r--r--schemaspy/c2ec-erd/anomalies.html293L
-rw-r--r--schemaspy/c2ec-erd/anomalies.js0B
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css587L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css.map1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css6L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css.map1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css6757L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css.map1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css6L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css.map1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.eot20127B
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.svg288L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.ttf45404B
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff23424B
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff218028B
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.js2377L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.min.js7L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/npm.js13L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.css4942L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.min.css7L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.css760L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.css93L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.css97L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.css3992L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.min.css7L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.css173L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.css158L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.css164L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.css139L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.css153L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.css131L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.css153L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.css131L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.css153L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.css131L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.css153L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.css131L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.js772L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.min.js13L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/js/demo.js340L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard.js210L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard2.js274L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.js841L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.min.js1L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js4L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.js16617L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js13L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.js474L
-rw-r--r--schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js16L
-rw-r--r--schemaspy/c2ec-erd/bower/anchor-js/anchor.min.js6L
-rw-r--r--schemaspy/c2ec-erd/bower/codemirror/codemirror.css340L
-rw-r--r--schemaspy/c2ec-erd/bower/codemirror/codemirror.js9502L
-rw-r--r--schemaspy/c2ec-erd/bower/codemirror/sql.js451L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.css184L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.js182L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.min.js8L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.css158L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.min.css1L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.js68L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.min.js6L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.js206L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.min.js6L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.js1441L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.min.js31L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.js1370L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.min.js26L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.js194L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.min.js4L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.js1705L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.min.js37L
-rw-r--r--schemaspy/c2ec-erd/bower/datatables.net/jquery.dataTables.min.js167L
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css2337L
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css.map7L
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.min.css4L
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/FontAwesome.otf134808B
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.eot165742B
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.svg2671L
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.ttf165548B
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff98024B
-rw-r--r--schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff277160B
-rw-r--r--schemaspy/c2ec-erd/bower/html5shiv/html5shiv.min.js4L
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/css/ionicons.css1480L
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/css/ionicons.min.css11L
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.eot120724B
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.svg2230L
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.ttf188508B
-rw-r--r--schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.woff67904B
-rw-r--r--schemaspy/c2ec-erd/bower/jquery/jquery.js10253L
-rw-r--r--schemaspy/c2ec-erd/bower/js-xlsx/xlsx.full.min.js22L
-rw-r--r--schemaspy/c2ec-erd/bower/pdfmake/pdfmake.min.js29L
-rw-r--r--schemaspy/c2ec-erd/bower/pdfmake/vfs_fonts.js6L
-rw-r--r--schemaspy/c2ec-erd/bower/respond/respond.min.js5L
-rw-r--r--schemaspy/c2ec-erd/bower/salvattore/salvattore.css53L
-rw-r--r--schemaspy/c2ec-erd/bower/salvattore/salvattore.min.js7L
-rw-r--r--schemaspy/c2ec-erd/column.js117L
-rw-r--r--schemaspy/c2ec-erd/columns.html657L
-rw-r--r--schemaspy/c2ec-erd/constraint.js14L
-rw-r--r--schemaspy/c2ec-erd/constraints.html240L
-rw-r--r--schemaspy/c2ec-erd/deletionOrder.txt4L
-rw-r--r--schemaspy/c2ec-erd/diagrams/orphans/orphans.dot23L
-rw-r--r--schemaspy/c2ec-erd/diagrams/summary/relationships.real.compact.dot47L
-rw-r--r--schemaspy/c2ec-erd/diagrams/summary/relationships.real.large.dot60L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/provider.1degree.dot32L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/provider.2degrees.dot44L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/terminal.1degree.dot49L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/transfer.1degree.dot23L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/withdrawal.1degree.dot42L
-rw-r--r--schemaspy/c2ec-erd/diagrams/tables/withdrawal.2degrees.dot54L
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.eot20885B
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.svg659L
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.ttf34336B
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff22020B
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff219348B
-rw-r--r--schemaspy/c2ec-erd/fonts/indieflower/indie-flower.css12L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.eot17228B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.svg347L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.ttf37012B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff18364B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff214588B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.eot16121B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.svg357L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.ttf34424B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff17524B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff213856B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.eot17220B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.svg343L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.ttf36492B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff18284B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff214508B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.eot16137B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.svg350L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.ttf34044B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff17368B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff213688B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.eot16896B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.svg339L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.ttf36516B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff18056B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff214440B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.eot17231B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.svg344L
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.ttf36828B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff18364B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff214624B
-rw-r--r--schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro.css78L
-rw-r--r--schemaspy/c2ec-erd/index.html312L
-rw-r--r--schemaspy/c2ec-erd/info-html.txt5L
-rw-r--r--schemaspy/c2ec-erd/insertionOrder.txt4L
-rw-r--r--schemaspy/c2ec-erd/main.js69L
-rw-r--r--schemaspy/c2ec-erd/orphans.html146L
-rw-r--r--schemaspy/c2ec-erd/postgres.c2ec.xml152L
-rw-r--r--schemaspy/c2ec-erd/relationships.html164L
-rw-r--r--schemaspy/c2ec-erd/relationships.js13L
-rw-r--r--schemaspy/c2ec-erd/routines.html200L
-rw-r--r--schemaspy/c2ec-erd/routines.js70L
-rw-r--r--schemaspy/c2ec-erd/routines/emit_payment_notification___f8fd6071.html186L
-rw-r--r--schemaspy/c2ec-erd/routines/emit_retry_notification___f0cf628f.html186L
-rw-r--r--schemaspy/c2ec-erd/routines/emit_transfer_notification___ed278d94.html186L
-rw-r--r--schemaspy/c2ec-erd/routines/emit_withdrawal_status___b48bc651.html186L
-rw-r--r--schemaspy/c2ec-erd/routines/routine.js34L
-rw-r--r--schemaspy/c2ec-erd/schemaSpy.css162L
-rw-r--r--schemaspy/c2ec-erd/schemaSpy.js45L
-rw-r--r--schemaspy/c2ec-erd/tables/provider.html357L
-rw-r--r--schemaspy/c2ec-erd/tables/table.js85L
-rw-r--r--schemaspy/c2ec-erd/tables/terminal.html342L
-rw-r--r--schemaspy/c2ec-erd/tables/terminal_provider.html334L
-rw-r--r--schemaspy/c2ec-erd/tables/transfer.html415L
-rw-r--r--schemaspy/c2ec-erd/tables/withdrawal.html569L
-rwxr-xr-xsetup37L
-rw-r--r--simulation/.gitignore4L
-rw-r--r--simulation/.vscode/launch.json13L
-rw-r--r--simulation/README25L
-rw-r--r--simulation/a_test.go95L
-rw-r--r--simulation/amount.go209L
-rw-r--r--simulation/codec.go58L
-rw-r--r--simulation/config.yaml16L
-rw-r--r--simulation/encoding.go138L
-rw-r--r--simulation/go.mod7L
-rw-r--r--simulation/go.sum6L
-rw-r--r--simulation/http-util.go291L
-rw-r--r--simulation/main.go137L
-rw-r--r--simulation/model.go66L
-rw-r--r--simulation/sim-terminal.go234L
-rw-r--r--simulation/sim-wallet.go187L
-rw-r--r--simulation/sim-wire-watch.go78L
-rw-r--r--specs/api-c2ec.rst342L
-rw-r--r--specs/bank-integration-api.plantuml18L
-rw-r--r--specs/c2ec.plantuml47L
-rw-r--r--specs/c2ec_apis.plantuml30L
-rw-r--r--specs/components_images.odg298918B
-rw-r--r--specs/components_images.webp96564B
-rw-r--r--specs/logical_model_relations.odg16585B
-rw-r--r--specs/system_overview.odg27766B
-rw-r--r--specs/system_overview.svg310L
-rw-r--r--specs/terminal_flow.plantuml43L
-rw-r--r--specs/terminals-api.plantuml18L
-rw-r--r--specs/wallee-transaction.txt49L
-rw-r--r--specs/wire-gateway-api.plantuml18L
-rw-r--r--specs/withdrawal-op-state-transition.plantuml10L
-rw-r--r--wallee-c2ec/.gitignore15L
-rw-r--r--wallee-c2ec/.idea/.gitignore3L
-rw-r--r--wallee-c2ec/.idea/compiler.xml6L
-rw-r--r--wallee-c2ec/.idea/deploymentTargetDropDown.xml10L
-rw-r--r--wallee-c2ec/.idea/deploymentTargetSelector.xml10L
-rw-r--r--wallee-c2ec/.idea/gradle.xml20L
-rw-r--r--wallee-c2ec/.idea/inspectionProfiles/Project_Default.xml68L
-rw-r--r--wallee-c2ec/.idea/kotlinc.xml6L
-rw-r--r--wallee-c2ec/.idea/migrations.xml10L
-rw-r--r--wallee-c2ec/.idea/misc.xml10L
-rw-r--r--wallee-c2ec/.idea/runConfigurations.xml17L
-rw-r--r--wallee-c2ec/.idea/vcs.xml6L
-rw-r--r--wallee-c2ec/LICENSE661L
-rw-r--r--wallee-c2ec/app/.gitignore1L
-rw-r--r--wallee-c2ec/app/build.gradle.kts77L
-rw-r--r--wallee-c2ec/app/proguard-rules.pro21L
-rw-r--r--wallee-c2ec/app/release/app-release.apk8071426B
-rw-r--r--wallee-c2ec/app/release/baselineProfiles/0/app-release.dm8654B
-rw-r--r--wallee-c2ec/app/release/baselineProfiles/1/app-release.dm8576B
-rw-r--r--wallee-c2ec/app/release/output-metadata.json37L
-rw-r--r--wallee-c2ec/app/src/main/AndroidManifest.xml42L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/MainActivity.kt71L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/TerminalClient.kt65L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/TerminalClientImplementation.kt268L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/TerminalClientMock.kt115L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/config/TalerTerminalConfig.kt26L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/encoding/CryptoUtils.kt105L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/model/Amount.kt233L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/model/CurrencySpecification.kt29L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/taler/model/TerminalsApiModel.kt75L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/client/wallee/WalleeResponseHandler.kt132L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/ui/theme/Color.kt29L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/ui/theme/Theme.kt88L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/ui/theme/Type.kt52L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/AmountScreen.kt111L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/AuthorizePaymentScreen.kt260L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/ExchangeSelectionScreen.kt69L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/Exchanges.kt12L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/ManageActivity.kt146L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/QRCodeComposable.kt77L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/RegisterParametersScreen.kt99L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/TalerButton.kt28L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/TalerLogo.kt17L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/TestTransactionScreen.kt66L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/WithdrawalActivity.kt119L
-rw-r--r--wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/WithdrawalViewModel.kt365L
-rw-r--r--wallee-c2ec/app/src/main/res/drawable/gnutaler.xml24L
-rw-r--r--wallee-c2ec/app/src/main/res/drawable/ic_launcher_background.xml170L
-rw-r--r--wallee-c2ec/app/src/main/res/drawable/ic_launcher_foreground.xml29L
-rw-r--r--wallee-c2ec/app/src/main/res/drawable/taler_logo.png17801B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml5L
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml5L
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-hdpi/ic_launcher.webp1874B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp3472B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-mdpi/ic_launcher.webp1158B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp2076B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xhdpi/ic_launcher.webp2542B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp4774B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp3804B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp7302B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp5034B
-rw-r--r--wallee-c2ec/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp9986B
-rw-r--r--wallee-c2ec/app/src/main/res/values/colors.xml14L
-rw-r--r--wallee-c2ec/app/src/main/res/values/ic_launcher_background.xml4L
-rw-r--r--wallee-c2ec/app/src/main/res/values/strings.xml15L
-rw-r--r--wallee-c2ec/app/src/main/res/values/themes.xml13L
-rw-r--r--wallee-c2ec/app/src/main/res/xml/backup_rules.xml13L
-rw-r--r--wallee-c2ec/app/src/main/res/xml/data_extraction_rules.xml19L
-rw-r--r--wallee-c2ec/app/src/test/java/ch/bfh/habej2/wallee_c2ec/AmountPatternTest.kt74L
-rw-r--r--wallee-c2ec/app/src/test/java/ch/bfh/habej2/wallee_c2ec/TerminalApiClientIntegrationTest.kt103L
-rw-r--r--wallee-c2ec/app/src/test/java/ch/bfh/habej2/wallee_c2ec/client/taler/encoding/CyptoUtilsTest.kt72L
-rw-r--r--wallee-c2ec/build.gradle.kts7L
-rw-r--r--wallee-c2ec/gradle.properties23L
-rw-r--r--wallee-c2ec/gradle/libs.versions.toml49L
-rw-r--r--wallee-c2ec/gradle/wrapper/gradle-wrapper.jar59203B
-rw-r--r--wallee-c2ec/gradle/wrapper/gradle-wrapper.properties6L
-rwxr-xr-xwallee-c2ec/gradlew185L
-rw-r--r--wallee-c2ec/gradlew.bat89L
-rw-r--r--wallee-c2ec/settings.gradle.kts29L
-rw-r--r--wallee-c2ec/upload_key_certificate.pem21L