diff --git a/.github/secrets/connector_auth.toml.gpg b/.github/secrets/connector_auth.toml.gpg
index 487e436df463..7da9189ade58 100644
Binary files a/.github/secrets/connector_auth.toml.gpg and b/.github/secrets/connector_auth.toml.gpg differ
diff --git a/.typos.toml b/.typos.toml
index 1ac38a005c9e..4ce21526604b 100644
--- a/.typos.toml
+++ b/.typos.toml
@@ -24,6 +24,7 @@ optin = "optin" # Boku preflow name
optin_id = "optin_id" # Boku's id for optin flow
deriver = "deriver"
Deriver = "Deriver"
+requestor_card_reference = "requestor_card_reference"
[default.extend-words]
aci = "aci" # Name of a connector
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 61cb4839fd7b..141bfd40ac5d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,137 @@ All notable changes to HyperSwitch will be documented here.
- - -
+## 1.84.0 (2023-11-17)
+
+### Features
+
+- **connector:** [BANKOFAMERICA] PSYNC Bugfix ([#2897](https://github.com/juspay/hyperswitch/pull/2897)) ([`bdcc138`](https://github.com/juspay/hyperswitch/commit/bdcc138e8d84577fc99f9a9aef3484b66f98209a))
+
+**Full Changelog:** [`v1.83.1...v1.84.0`](https://github.com/juspay/hyperswitch/compare/v1.83.1...v1.84.0)
+
+- - -
+
+
+## 1.83.1 (2023-11-17)
+
+### Bug Fixes
+
+- **router:** Add choice to use the appropriate key for jws verification ([#2917](https://github.com/juspay/hyperswitch/pull/2917)) ([`606daa9`](https://github.com/juspay/hyperswitch/commit/606daa9367cac8c2ea926313019deab2f938b591))
+
+**Full Changelog:** [`v1.83.0...v1.83.1`](https://github.com/juspay/hyperswitch/compare/v1.83.0...v1.83.1)
+
+- - -
+
+
+## 1.83.0 (2023-11-17)
+
+### Features
+
+- **events:** Add incoming webhook payload to api events logger ([#2852](https://github.com/juspay/hyperswitch/pull/2852)) ([`aea390a`](https://github.com/juspay/hyperswitch/commit/aea390a6a1c331f8e0dbea4f41218e43f7323508))
+- **router:** Custom payment link config for payment create ([#2741](https://github.com/juspay/hyperswitch/pull/2741)) ([`c39beb2`](https://github.com/juspay/hyperswitch/commit/c39beb2501e63bbf7fd41bbc947280d7ff5a71dc))
+
+### Bug Fixes
+
+- **router:** Add rust locker url in proxy_bypass_urls ([#2902](https://github.com/juspay/hyperswitch/pull/2902)) ([`9a201ae`](https://github.com/juspay/hyperswitch/commit/9a201ae698c2cf52e617660f82d5bf1df2e797ae))
+
+### Documentation
+
+- **README:** Replace cloudformation deployment template with latest s3 url. ([#2891](https://github.com/juspay/hyperswitch/pull/2891)) ([`375108b`](https://github.com/juspay/hyperswitch/commit/375108b6df50e041fc9dbeb35a6a6b46b146037a))
+
+**Full Changelog:** [`v1.82.0...v1.83.0`](https://github.com/juspay/hyperswitch/compare/v1.82.0...v1.83.0)
+
+- - -
+
+
+## 1.82.0 (2023-11-17)
+
+### Features
+
+- **router:** Add fallback while add card and retrieve card from rust locker ([#2888](https://github.com/juspay/hyperswitch/pull/2888)) ([`f735fb0`](https://github.com/juspay/hyperswitch/commit/f735fb0551812fd781a2db8bac5a0deef4cabb2b))
+
+### Bug Fixes
+
+- **core:** Introduce new attempt and intent status to handle multiple partial captures ([#2802](https://github.com/juspay/hyperswitch/pull/2802)) ([`cb88be0`](https://github.com/juspay/hyperswitch/commit/cb88be01f22725948648976c2a5606a03b5ce92a))
+
+### Testing
+
+- **postman:** Update postman collection files ([`7d05b74`](https://github.com/juspay/hyperswitch/commit/7d05b74b950d9e078b063e17d046cbeb501d006a))
+
+**Full Changelog:** [`v1.81.0...v1.82.0`](https://github.com/juspay/hyperswitch/compare/v1.81.0...v1.82.0)
+
+- - -
+
+
+## 1.81.0 (2023-11-16)
+
+### Features
+
+- **connector:**
+ - [BANKOFAMERICA] Implement Cards for Bank of America ([#2765](https://github.com/juspay/hyperswitch/pull/2765)) ([`e8de3a7`](https://github.com/juspay/hyperswitch/commit/e8de3a710710b92f5c2351c5d67c22352c2b0a30))
+ - [ProphetPay] Implement Card Redirect PaymentMethodType and flows for Authorize, CompleteAuthorize, Psync, Refund, Rsync and Void ([#2641](https://github.com/juspay/hyperswitch/pull/2641)) ([`8d4adc5`](https://github.com/juspay/hyperswitch/commit/8d4adc52af57ed0994e6efbb5b2d0d3df3fb3150))
+
+### Testing
+
+- **postman:** Update postman collection files ([`f829197`](https://github.com/juspay/hyperswitch/commit/f8291973c38bde874c45ca15ff8d48c1f2de9781))
+
+**Full Changelog:** [`v1.80.0...v1.81.0`](https://github.com/juspay/hyperswitch/compare/v1.80.0...v1.81.0)
+
+- - -
+
+
+## 1.80.0 (2023-11-16)
+
+### Features
+
+- **router:** Add api to migrate card from basilisk to rust ([#2853](https://github.com/juspay/hyperswitch/pull/2853)) ([`b8b20c4`](https://github.com/juspay/hyperswitch/commit/b8b20c412df0485bf395f9aa21e6e34e90d97acd))
+- Spawn webhooks and async scheduling in background ([#2780](https://github.com/juspay/hyperswitch/pull/2780)) ([`f248fe2`](https://github.com/juspay/hyperswitch/commit/f248fe2889c9cb68af4464ab0db1735224ab5c8d))
+
+### Refactors
+
+- **router:** Add openapi spec support for gsm apis ([#2871](https://github.com/juspay/hyperswitch/pull/2871)) ([`62c9cca`](https://github.com/juspay/hyperswitch/commit/62c9ccae6ab0d128c54962675b88739ad7797fe6))
+
+**Full Changelog:** [`v1.79.0...v1.80.0`](https://github.com/juspay/hyperswitch/compare/v1.79.0...v1.80.0)
+
+- - -
+
+
+## 1.79.0 (2023-11-16)
+
+### Features
+
+- Change async-bb8 fork and tokio spawn for concurrent database calls ([#2774](https://github.com/juspay/hyperswitch/pull/2774)) ([`d634fde`](https://github.com/juspay/hyperswitch/commit/d634fdeac349b92e3619234580299a6c6c38e6d4))
+
+### Bug Fixes
+
+- **connector:** [noon] add validate psync reference ([#2886](https://github.com/juspay/hyperswitch/pull/2886)) ([`b129023`](https://github.com/juspay/hyperswitch/commit/b1290234ba13de2dd8cc4210f63bae514c2988b4))
+- **payment_link:** Render SDK for status requires_payment_method ([#2887](https://github.com/juspay/hyperswitch/pull/2887)) ([`d4d2c2c`](https://github.com/juspay/hyperswitch/commit/d4d2c2c7076a46996aa0aa74d1df827169f73155))
+- Paypal postman collection changes for surcharge feature ([#2884](https://github.com/juspay/hyperswitch/pull/2884)) ([`5956242`](https://github.com/juspay/hyperswitch/commit/5956242588ef7bdbaa1804a952d48dc47c6e15f1))
+
+### Testing
+
+- **postman:** Update postman collection files ([`5c31365`](https://github.com/juspay/hyperswitch/commit/5c313656a129362b0e905e5fbf349dbbec57199c))
+
+**Full Changelog:** [`v1.78.0...v1.79.0`](https://github.com/juspay/hyperswitch/compare/v1.78.0...v1.79.0)
+
+- - -
+
+
+## 1.78.0 (2023-11-14)
+
+### Features
+
+- **router:** Add automatic retries and step up 3ds flow ([#2834](https://github.com/juspay/hyperswitch/pull/2834)) ([`d2968c9`](https://github.com/juspay/hyperswitch/commit/d2968c94978a57422fa46a8195d906736a95b864))
+- Payment link status page UI ([#2740](https://github.com/juspay/hyperswitch/pull/2740)) ([`856c7af`](https://github.com/juspay/hyperswitch/commit/856c7af77e17599ca0d4d119744ac582e9c3c971))
+
+### Bug Fixes
+
+- Handle session and confirm flow discrepancy in surcharge details ([#2696](https://github.com/juspay/hyperswitch/pull/2696)) ([`cafea45`](https://github.com/juspay/hyperswitch/commit/cafea45982d7b520fe68fde967984ce88f68c6c0))
+
+**Full Changelog:** [`v1.77.0...v1.78.0`](https://github.com/juspay/hyperswitch/compare/v1.77.0...v1.78.0)
+
+- - -
+
+
## 1.77.0 (2023-11-13)
### Features
diff --git a/Cargo.lock b/Cargo.lock
index 222bc02212ec..730b08774fa3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -9,12 +9,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8"
dependencies = [
"bitflags 1.3.2",
- "bytes",
+ "bytes 1.5.0",
"futures-core",
"futures-sink",
"memchr",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
"tokio-util",
"tracing",
]
@@ -31,7 +31,7 @@ dependencies = [
"futures-util",
"log",
"once_cell",
- "smallvec",
+ "smallvec 1.11.1",
]
[[package]]
@@ -48,7 +48,7 @@ dependencies = [
"base64 0.21.4",
"bitflags 1.3.2",
"brotli",
- "bytes",
+ "bytes 1.5.0",
"bytestring",
"derive_more",
"encoding_rs",
@@ -66,8 +66,8 @@ dependencies = [
"pin-project-lite",
"rand 0.8.5",
"sha1",
- "smallvec",
- "tokio",
+ "smallvec 1.11.1",
+ "tokio 1.32.0",
"tokio-util",
"tracing",
"zstd",
@@ -92,7 +92,7 @@ dependencies = [
"actix-multipart-derive",
"actix-utils",
"actix-web",
- "bytes",
+ "bytes 1.5.0",
"derive_more",
"futures-core",
"futures-util",
@@ -105,7 +105,7 @@ dependencies = [
"serde_json",
"serde_plain",
"tempfile",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -142,7 +142,7 @@ checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
dependencies = [
"actix-macros",
"futures-core",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -156,9 +156,9 @@ dependencies = [
"actix-utils",
"futures-core",
"futures-util",
- "mio",
+ "mio 0.8.8",
"socket2 0.5.4",
- "tokio",
+ "tokio 1.32.0",
"tracing",
]
@@ -188,7 +188,7 @@ dependencies = [
"pin-project-lite",
"rustls 0.21.7",
"rustls-webpki",
- "tokio",
+ "tokio 1.32.0",
"tokio-rustls",
"tokio-util",
"tracing",
@@ -221,9 +221,9 @@ dependencies = [
"actix-utils",
"actix-web-codegen",
"ahash 0.7.6",
- "bytes",
+ "bytes 1.5.0",
"bytestring",
- "cfg-if",
+ "cfg-if 1.0.0",
"cookie",
"derive_more",
"encoding_rs",
@@ -240,7 +240,7 @@ dependencies = [
"serde",
"serde_json",
"serde_urlencoded",
- "smallvec",
+ "smallvec 1.11.1",
"socket2 0.4.9",
"time",
"url",
@@ -296,7 +296,7 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"getrandom 0.2.10",
"once_cell",
"version_check",
@@ -381,7 +381,6 @@ dependencies = [
"router_derive",
"serde",
"serde_json",
- "serde_with",
"strum 0.24.1",
"time",
"url",
@@ -476,14 +475,14 @@ dependencies = [
[[package]]
name = "async-bb8-diesel"
version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "779f1fa3defe66bf147fe5c811b23a02cfcaa528a25293e0b20d1911eac1fb05"
+source = "git+https://github.com/jarnura/async-bb8-diesel?rev=53b4ab901aab7635c8215fd1c2d542c8db443094#53b4ab901aab7635c8215fd1c2d542c8db443094"
dependencies = [
"async-trait",
"bb8",
"diesel",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
+ "tracing",
]
[[package]]
@@ -507,7 +506,7 @@ dependencies = [
"futures-core",
"memchr",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -518,7 +517,7 @@ checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
dependencies = [
"async-lock",
"autocfg",
- "cfg-if",
+ "cfg-if 1.0.0",
"concurrent-queue",
"futures-lite",
"log",
@@ -607,8 +606,8 @@ dependencies = [
"actix-utils",
"ahash 0.7.6",
"base64 0.21.4",
- "bytes",
- "cfg-if",
+ "bytes 1.5.0",
+ "cfg-if 1.0.0",
"cookie",
"derive_more",
"futures-core",
@@ -625,7 +624,7 @@ dependencies = [
"serde",
"serde_json",
"serde_urlencoded",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -645,14 +644,14 @@ dependencies = [
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"fastrand 1.9.0",
"hex",
"http",
"hyper",
"ring",
"time",
- "tokio",
+ "tokio 1.32.0",
"tower",
"tracing",
"zeroize",
@@ -667,7 +666,7 @@ dependencies = [
"aws-smithy-async",
"aws-smithy-types",
"fastrand 1.9.0",
- "tokio",
+ "tokio 1.32.0",
"tracing",
"zeroize",
]
@@ -696,7 +695,7 @@ dependencies = [
"aws-smithy-http",
"aws-smithy-types",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"http-body",
"lazy_static",
@@ -722,7 +721,7 @@ dependencies = [
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"regex",
"tokio-stream",
@@ -751,7 +750,7 @@ dependencies = [
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"http-body",
"once_cell",
@@ -780,7 +779,7 @@ dependencies = [
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"regex",
"tokio-stream",
@@ -805,7 +804,7 @@ dependencies = [
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"regex",
"tokio-stream",
@@ -832,7 +831,7 @@ dependencies = [
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"regex",
"tower",
@@ -862,7 +861,7 @@ checksum = "9d2ce6f507be68e968a33485ced670111d1cbad161ddbbab1e313c03d37d8f4c"
dependencies = [
"aws-smithy-eventstream",
"aws-smithy-http",
- "bytes",
+ "bytes 1.5.0",
"form_urlencoded",
"hex",
"hmac",
@@ -883,7 +882,7 @@ checksum = "13bda3996044c202d75b91afeb11a9afae9db9a721c6a7a427410018e286b880"
dependencies = [
"futures-util",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
"tokio-stream",
]
@@ -895,7 +894,7 @@ checksum = "07ed8b96d95402f3f6b8b57eb4e0e45ee365f78b1a924faf20ff6e97abf1eae6"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
- "bytes",
+ "bytes 1.5.0",
"crc32c",
"crc32fast",
"hex",
@@ -918,7 +917,7 @@ dependencies = [
"aws-smithy-http",
"aws-smithy-http-tower",
"aws-smithy-types",
- "bytes",
+ "bytes 1.5.0",
"fastrand 1.9.0",
"http",
"http-body",
@@ -927,7 +926,7 @@ dependencies = [
"lazy_static",
"pin-project-lite",
"rustls 0.20.9",
- "tokio",
+ "tokio 1.32.0",
"tower",
"tracing",
]
@@ -939,7 +938,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460c8da5110835e3d9a717c61f5556b20d03c32a1dec57f8fc559b360f733bb8"
dependencies = [
"aws-smithy-types",
- "bytes",
+ "bytes 1.5.0",
"crc32fast",
]
@@ -951,7 +950,7 @@ checksum = "2b3b693869133551f135e1f2c77cb0b8277d9e3e17feaf2213f735857c4f0d28"
dependencies = [
"aws-smithy-eventstream",
"aws-smithy-types",
- "bytes",
+ "bytes 1.5.0",
"bytes-utils",
"futures-core",
"http",
@@ -961,7 +960,7 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"pin-utils",
- "tokio",
+ "tokio 1.32.0",
"tokio-util",
"tracing",
]
@@ -974,7 +973,7 @@ checksum = "3ae4f6c5798a247fac98a867698197d9ac22643596dc3777f0c76b91917616b9"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
- "bytes",
+ "bytes 1.5.0",
"http",
"http-body",
"pin-project-lite",
@@ -1035,7 +1034,7 @@ dependencies = [
"aws-smithy-http",
"aws-smithy-types",
"http",
- "rustc_version",
+ "rustc_version 0.4.0",
"tracing",
]
@@ -1048,7 +1047,7 @@ dependencies = [
"async-trait",
"axum-core",
"bitflags 1.3.2",
- "bytes",
+ "bytes 1.5.0",
"futures-util",
"http",
"http-body",
@@ -1074,7 +1073,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
dependencies = [
"async-trait",
- "bytes",
+ "bytes 1.5.0",
"futures-util",
"http",
"http-body",
@@ -1092,7 +1091,7 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
- "cfg-if",
+ "cfg-if 1.0.0",
"libc",
"miniz_oxide 0.7.1",
"object",
@@ -1137,7 +1136,7 @@ dependencies = [
"futures-channel",
"futures-util",
"parking_lot 0.12.1",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -1205,7 +1204,7 @@ dependencies = [
"arrayref",
"arrayvec",
"cc",
- "cfg-if",
+ "cfg-if 1.0.0",
"constant_time_eq",
"digest 0.10.7",
]
@@ -1283,6 +1282,16 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+[[package]]
+name = "bytes"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+dependencies = [
+ "byteorder",
+ "iovec",
+]
+
[[package]]
name = "bytes"
version = "1.5.0"
@@ -1295,7 +1304,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"either",
]
@@ -1305,7 +1314,7 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
]
[[package]]
@@ -1348,7 +1357,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
dependencies = [
"camino",
"cargo-platform",
- "semver",
+ "semver 1.0.19",
"serde",
"serde_json",
]
@@ -1361,7 +1370,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
dependencies = [
"camino",
"cargo-platform",
- "semver",
+ "semver 1.0.19",
"serde",
"serde_json",
"thiserror",
@@ -1394,6 +1403,12 @@ dependencies = [
"uuid",
]
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
[[package]]
name = "cfg-if"
version = "1.0.0"
@@ -1510,6 +1525,15 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+[[package]]
+name = "cloudabi"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "color_quant"
version = "1.1.0"
@@ -1533,12 +1557,12 @@ name = "common_utils"
version = "0.1.0"
dependencies = [
"async-trait",
- "bytes",
+ "bytes 1.5.0",
"common_enums",
"diesel",
"error-stack",
"fake",
- "futures",
+ "futures 0.3.28",
"hex",
"http",
"masking",
@@ -1563,7 +1587,7 @@ dependencies = [
"test-case",
"thiserror",
"time",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -1572,7 +1596,7 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
dependencies = [
- "crossbeam-utils",
+ "crossbeam-utils 0.8.16",
]
[[package]]
@@ -1659,9 +1683,9 @@ dependencies = [
[[package]]
name = "crc-catalog"
-version = "2.2.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc16"
@@ -1675,7 +1699,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74"
dependencies = [
- "rustc_version",
+ "rustc_version 0.4.0",
]
[[package]]
@@ -1684,7 +1708,7 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
]
[[package]]
@@ -1729,8 +1753,19 @@ version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
dependencies = [
- "cfg-if",
- "crossbeam-utils",
+ "cfg-if 1.0.0",
+ "crossbeam-utils 0.8.16",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
+dependencies = [
+ "crossbeam-epoch 0.8.2",
+ "crossbeam-utils 0.7.2",
+ "maybe-uninit",
]
[[package]]
@@ -1739,9 +1774,24 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
dependencies = [
- "cfg-if",
- "crossbeam-epoch",
- "crossbeam-utils",
+ "cfg-if 1.0.0",
+ "crossbeam-epoch 0.9.15",
+ "crossbeam-utils 0.8.16",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
+dependencies = [
+ "autocfg",
+ "cfg-if 0.1.10",
+ "crossbeam-utils 0.7.2",
+ "lazy_static",
+ "maybe-uninit",
+ "memoffset 0.5.6",
+ "scopeguard",
]
[[package]]
@@ -1751,20 +1801,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
dependencies = [
"autocfg",
- "cfg-if",
- "crossbeam-utils",
- "memoffset",
+ "cfg-if 1.0.0",
+ "crossbeam-utils 0.8.16",
+ "memoffset 0.9.0",
"scopeguard",
]
+[[package]]
+name = "crossbeam-queue"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
+dependencies = [
+ "cfg-if 0.1.10",
+ "crossbeam-utils 0.7.2",
+ "maybe-uninit",
+]
+
[[package]]
name = "crossbeam-queue"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
dependencies = [
- "cfg-if",
- "crossbeam-utils",
+ "cfg-if 1.0.0",
+ "crossbeam-utils 0.8.16",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+dependencies = [
+ "autocfg",
+ "cfg-if 0.1.10",
+ "lazy_static",
]
[[package]]
@@ -1773,7 +1845,7 @@ version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
]
[[package]]
@@ -1862,9 +1934,9 @@ version = "5.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"hashbrown 0.14.1",
- "lock_api",
+ "lock_api 0.4.10",
"once_cell",
"parking_lot_core 0.9.8",
]
@@ -1901,7 +1973,7 @@ dependencies = [
"deadpool-runtime",
"num_cpus",
"retain_mut",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -1954,7 +2026,7 @@ dependencies = [
"convert_case",
"proc-macro2",
"quote",
- "rustc_version",
+ "rustc_version 0.4.0",
"syn 1.0.109",
]
@@ -2065,7 +2137,7 @@ checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
dependencies = [
"libc",
"redox_users",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -2112,7 +2184,7 @@ dependencies = [
"serde_json",
"serde_path_to_error",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -2133,7 +2205,7 @@ version = "0.8.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
]
[[package]]
@@ -2188,7 +2260,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f00447f331c7f726db5b8532ebc9163519eed03c6d7c8b73c90b3ff5646ac85"
dependencies = [
"anyhow",
- "rustc_version",
+ "rustc_version 0.4.0",
"serde",
]
@@ -2262,7 +2334,7 @@ dependencies = [
"router_env",
"serde",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -2292,7 +2364,7 @@ dependencies = [
"serde",
"serde_json",
"time",
- "tokio",
+ "tokio 1.32.0",
"url",
"webdriver",
]
@@ -2376,19 +2448,19 @@ dependencies = [
"arc-swap",
"arcstr",
"async-trait",
- "bytes",
+ "bytes 1.5.0",
"bytes-utils",
- "cfg-if",
+ "cfg-if 1.0.0",
"float-cmp",
- "futures",
+ "futures 0.3.28",
"lazy_static",
"log",
"parking_lot 0.12.1",
"rand 0.8.5",
"redis-protocol",
- "semver",
+ "semver 1.0.19",
"sha-1 0.10.1",
- "tokio",
+ "tokio 1.32.0",
"tokio-stream",
"tokio-util",
"tracing",
@@ -2448,6 +2520,28 @@ dependencies = [
"syn 2.0.38",
]
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags 1.3.2",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
+
[[package]]
name = "futures"
version = "0.3.28"
@@ -2497,7 +2591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
dependencies = [
"futures-core",
- "lock_api",
+ "lock_api 0.4.10",
"parking_lot 0.11.2",
]
@@ -2595,7 +2689,7 @@ version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"libc",
"wasi 0.9.0+wasi-snapshot-preview1",
]
@@ -2606,7 +2700,7 @@ version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"js-sys",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
@@ -2678,7 +2772,7 @@ version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"fnv",
"futures-core",
"futures-sink",
@@ -2686,7 +2780,7 @@ dependencies = [
"http",
"indexmap 1.9.3",
"slab",
- "tokio",
+ "tokio 1.32.0",
"tokio-util",
"tracing",
]
@@ -2770,7 +2864,7 @@ version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"fnv",
"itoa",
]
@@ -2781,7 +2875,7 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"http",
"pin-project-lite",
]
@@ -2834,7 +2928,7 @@ version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"futures-channel",
"futures-core",
"futures-util",
@@ -2846,7 +2940,7 @@ dependencies = [
"itoa",
"pin-project-lite",
"socket2 0.4.9",
- "tokio",
+ "tokio 1.32.0",
"tower-service",
"tracing",
"want",
@@ -2863,7 +2957,7 @@ dependencies = [
"log",
"rustls 0.20.9",
"rustls-native-certs",
- "tokio",
+ "tokio 1.32.0",
"tokio-rustls",
]
@@ -2875,7 +2969,7 @@ checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
dependencies = [
"hyper",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
"tokio-io-timeout",
]
@@ -2885,10 +2979,10 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"hyper",
"native-tls",
- "tokio",
+ "tokio 1.32.0",
"tokio-native-tls",
]
@@ -3016,7 +3110,7 @@ version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
]
[[package]]
@@ -3030,6 +3124,15 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
[[package]]
name = "ipnet"
version = "2.8.0"
@@ -3141,6 +3244,16 @@ dependencies = [
"simple_asn1",
]
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
[[package]]
name = "kgraph_utils"
version = "0.1.0"
@@ -3247,6 +3360,15 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
+[[package]]
+name = "lock_api"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
+dependencies = [
+ "scopeguard",
+]
+
[[package]]
name = "lock_api"
version = "0.4.10"
@@ -3294,7 +3416,7 @@ dependencies = [
name = "masking"
version = "0.1.0"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"diesel",
"serde",
"serde_json",
@@ -3341,13 +3463,19 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "maybe-uninit"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+
[[package]]
name = "md-5"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"digest 0.10.7",
]
@@ -3363,6 +3491,15 @@ version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+[[package]]
+name = "memoffset"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
+dependencies = [
+ "autocfg",
+]
+
[[package]]
name = "memoffset"
version = "0.9.0"
@@ -3431,6 +3568,25 @@ dependencies = [
"adler",
]
+[[package]]
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
[[package]]
name = "mio"
version = "0.8.8"
@@ -3443,6 +3599,29 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "mio-uds"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
+dependencies = [
+ "iovec",
+ "libc",
+ "mio 0.6.23",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
+]
+
[[package]]
name = "moka"
version = "0.11.3"
@@ -3452,16 +3631,16 @@ dependencies = [
"async-io",
"async-lock",
"crossbeam-channel",
- "crossbeam-epoch",
- "crossbeam-utils",
+ "crossbeam-epoch 0.9.15",
+ "crossbeam-utils 0.8.16",
"futures-util",
"once_cell",
"parking_lot 0.12.1",
"quanta",
- "rustc_version",
+ "rustc_version 0.4.0",
"scheduled-thread-pool",
"skeptic",
- "smallvec",
+ "smallvec 1.11.1",
"tagptr",
"thiserror",
"triomphe",
@@ -3495,6 +3674,17 @@ dependencies = [
"tempfile",
]
+[[package]]
+name = "net2"
+version = "0.2.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "nom"
version = "7.1.3"
@@ -3512,7 +3702,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -3627,7 +3817,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
dependencies = [
"bitflags 2.4.0",
- "cfg-if",
+ "cfg-if 1.0.0",
"foreign-types",
"libc",
"once_cell",
@@ -3681,14 +3871,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8af72d59a4484654ea8eb183fea5ae4eb6a41d7ac3e3bae5f4d2a282a3a7d3ca"
dependencies = [
"async-trait",
- "futures",
+ "futures 0.3.28",
"futures-util",
"http",
"opentelemetry",
"opentelemetry-proto",
"prost",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
"tonic",
]
@@ -3698,7 +3888,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "045f8eea8c0fa19f7d48e7bc3128a39c2e5c533d5c61298c548dfefc1064474c"
dependencies = [
- "futures",
+ "futures 0.3.28",
"futures-util",
"opentelemetry",
"prost",
@@ -3739,7 +3929,7 @@ dependencies = [
"percent-encoding",
"rand 0.8.5",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
"tokio-stream",
]
@@ -3771,6 +3961,17 @@ version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+[[package]]
+name = "parking_lot"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+dependencies = [
+ "lock_api 0.3.4",
+ "parking_lot_core 0.6.3",
+ "rustc_version 0.2.3",
+]
+
[[package]]
name = "parking_lot"
version = "0.11.2"
@@ -3778,7 +3979,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [
"instant",
- "lock_api",
+ "lock_api 0.4.10",
"parking_lot_core 0.8.6",
]
@@ -3788,22 +3989,37 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
- "lock_api",
+ "lock_api 0.4.10",
"parking_lot_core 0.9.8",
]
+[[package]]
+name = "parking_lot_core"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a"
+dependencies = [
+ "cfg-if 0.1.10",
+ "cloudabi",
+ "libc",
+ "redox_syscall 0.1.57",
+ "rustc_version 0.2.3",
+ "smallvec 0.6.14",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "parking_lot_core"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"instant",
"libc",
"redox_syscall 0.2.16",
- "smallvec",
- "winapi",
+ "smallvec 1.11.1",
+ "winapi 0.3.9",
]
[[package]]
@@ -3812,10 +4028,10 @@ version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"libc",
"redox_syscall 0.3.5",
- "smallvec",
+ "smallvec 1.11.1",
"windows-targets",
]
@@ -4062,7 +4278,7 @@ checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
dependencies = [
"autocfg",
"bitflags 1.3.2",
- "cfg-if",
+ "cfg-if 1.0.0",
"concurrent-queue",
"libc",
"log",
@@ -4144,7 +4360,7 @@ version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"prost-derive",
]
@@ -4188,14 +4404,14 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
dependencies = [
- "crossbeam-utils",
+ "crossbeam-utils 0.8.16",
"libc",
"mach2",
"once_cell",
"raw-cpuid",
"wasi 0.11.0+wasi-snapshot-preview1",
"web-sys",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -4339,8 +4555,8 @@ version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
+ "crossbeam-deque 0.8.3",
+ "crossbeam-utils 0.8.16",
]
[[package]]
@@ -4349,7 +4565,7 @@ version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c31deddf734dc0a39d3112e73490e88b61a05e83e074d211f348404cee4d2c6"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"bytes-utils",
"cookie-factory",
"crc16",
@@ -4364,13 +4580,19 @@ dependencies = [
"common_utils",
"error-stack",
"fred",
- "futures",
+ "futures 0.3.28",
"router_env",
"serde",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
]
+[[package]]
+name = "redox_syscall"
+version = "0.1.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
+
[[package]]
name = "redox_syscall"
version = "0.2.16"
@@ -4464,7 +4686,7 @@ checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
dependencies = [
"async-compression",
"base64 0.21.4",
- "bytes",
+ "bytes 1.5.0",
"encoding_rs",
"futures-core",
"futures-util",
@@ -4486,7 +4708,7 @@ dependencies = [
"serde_json",
"serde_urlencoded",
"system-configuration",
- "tokio",
+ "tokio 1.32.0",
"tokio-native-tls",
"tokio-util",
"tower-service",
@@ -4515,7 +4737,7 @@ dependencies = [
"spin",
"untrusted",
"web-sys",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -4562,7 +4784,7 @@ dependencies = [
"bb8",
"bigdecimal",
"blake3",
- "bytes",
+ "bytes 1.5.0",
"cards",
"clap",
"common_enums",
@@ -4575,10 +4797,11 @@ dependencies = [
"digest 0.9.0",
"dyn-clone",
"encoding_rs",
+ "erased-serde",
"error-stack",
"euclid",
"external_services",
- "futures",
+ "futures 0.3.28",
"hex",
"http",
"hyper",
@@ -4622,7 +4845,8 @@ dependencies = [
"test_utils",
"thiserror",
"time",
- "tokio",
+ "tokio 1.32.0",
+ "tracing-futures",
"unicode-segmentation",
"url",
"utoipa",
@@ -4665,7 +4889,7 @@ dependencies = [
"serde_path_to_error",
"strum 0.24.1",
"time",
- "tokio",
+ "tokio 1.32.0",
"tracing",
"tracing-actix-web",
"tracing-appender",
@@ -4725,7 +4949,7 @@ version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"ordered-multimap",
]
@@ -4741,13 +4965,22 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
- "semver",
+ "semver 1.0.19",
]
[[package]]
@@ -4901,7 +5134,7 @@ dependencies = [
"diesel_models",
"error-stack",
"external_services",
- "futures",
+ "futures 0.3.28",
"masking",
"once_cell",
"rand 0.8.5",
@@ -4913,7 +5146,7 @@ dependencies = [
"strum 0.24.1",
"thiserror",
"time",
- "tokio",
+ "tokio 1.32.0",
"uuid",
]
@@ -4962,6 +5195,15 @@ dependencies = [
"libc",
]
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
[[package]]
name = "semver"
version = "1.0.19"
@@ -4971,6 +5213,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
[[package]]
name = "serde"
version = "1.0.188"
@@ -5123,7 +5371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d"
dependencies = [
"dashmap",
- "futures",
+ "futures 0.3.28",
"lazy_static",
"log",
"parking_lot 0.12.1",
@@ -5148,7 +5396,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
dependencies = [
"block-buffer 0.9.0",
- "cfg-if",
+ "cfg-if 1.0.0",
"cpufeatures",
"digest 0.9.0",
"opaque-debug",
@@ -5160,7 +5408,7 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"cpufeatures",
"digest 0.10.7",
]
@@ -5171,7 +5419,7 @@ version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"cpufeatures",
"digest 0.10.7",
]
@@ -5182,7 +5430,7 @@ version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"cpufeatures",
"digest 0.10.7",
]
@@ -5233,7 +5481,7 @@ dependencies = [
"futures-core",
"libc",
"signal-hook",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -5287,6 +5535,15 @@ dependencies = [
"deunicode",
]
+[[package]]
+name = "smallvec"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+dependencies = [
+ "maybe-uninit",
+]
+
[[package]]
name = "smallvec"
version = "1.11.1"
@@ -5300,7 +5557,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
dependencies = [
"libc",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -5352,9 +5609,9 @@ dependencies = [
"bigdecimal",
"bitflags 1.3.2",
"byteorder",
- "bytes",
+ "bytes 1.5.0",
"crc",
- "crossbeam-queue",
+ "crossbeam-queue 0.3.8",
"dirs",
"dotenvy",
"either",
@@ -5382,7 +5639,7 @@ dependencies = [
"serde_json",
"sha1",
"sha2",
- "smallvec",
+ "smallvec 1.11.1",
"sqlformat",
"sqlx-rt",
"stringprep",
@@ -5420,7 +5677,7 @@ checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
dependencies = [
"native-tls",
"once_cell",
- "tokio",
+ "tokio 1.32.0",
"tokio-native-tls",
]
@@ -5433,7 +5690,7 @@ dependencies = [
"async-bb8-diesel",
"async-trait",
"bb8",
- "bytes",
+ "bytes 1.5.0",
"common_utils",
"config",
"crc32fast",
@@ -5442,7 +5699,7 @@ dependencies = [
"diesel_models",
"dyn-clone",
"error-stack",
- "futures",
+ "futures 0.3.28",
"http",
"masking",
"mime",
@@ -5455,7 +5712,7 @@ dependencies = [
"serde",
"serde_json",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -5607,7 +5864,7 @@ version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"fastrand 2.0.1",
"redox_syscall 0.3.5",
"rustix 0.38.17",
@@ -5651,7 +5908,7 @@ version = "3.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54c25e2cb8f5fcd7318157634e8838aa6f7e4715c96637f969fabaccd1ef5462"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"proc-macro-error",
"proc-macro2",
"quote",
@@ -5687,7 +5944,7 @@ dependencies = [
"serial_test",
"thirtyfour",
"time",
- "tokio",
+ "tokio 1.32.0",
"toml 0.7.4",
]
@@ -5702,7 +5959,7 @@ dependencies = [
"chrono",
"cookie",
"fantoccini",
- "futures",
+ "futures 0.3.28",
"http",
"log",
"parking_lot 0.12.1",
@@ -5712,7 +5969,7 @@ dependencies = [
"stringmatch",
"thirtyfour-macros",
"thiserror",
- "tokio",
+ "tokio 1.32.0",
"url",
"urlparse",
]
@@ -5755,7 +6012,7 @@ version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"once_cell",
]
@@ -5822,6 +6079,30 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+[[package]]
+name = "tokio"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "mio 0.6.23",
+ "num_cpus",
+ "tokio-codec",
+ "tokio-current-thread",
+ "tokio-executor",
+ "tokio-fs",
+ "tokio-io",
+ "tokio-reactor",
+ "tokio-sync",
+ "tokio-tcp",
+ "tokio-threadpool",
+ "tokio-timer",
+ "tokio-udp",
+ "tokio-uds",
+]
+
[[package]]
name = "tokio"
version = "1.32.0"
@@ -5829,9 +6110,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
dependencies = [
"backtrace",
- "bytes",
+ "bytes 1.5.0",
"libc",
- "mio",
+ "mio 0.8.8",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite",
@@ -5841,6 +6122,59 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "tokio-codec"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "tokio-io",
+]
+
+[[package]]
+name = "tokio-current-thread"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
+dependencies = [
+ "futures 0.1.31",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-executor"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
+dependencies = [
+ "crossbeam-utils 0.7.2",
+ "futures 0.1.31",
+]
+
+[[package]]
+name = "tokio-fs"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
+dependencies = [
+ "futures 0.1.31",
+ "tokio-io",
+ "tokio-threadpool",
+]
+
+[[package]]
+name = "tokio-io"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "log",
+]
+
[[package]]
name = "tokio-io-timeout"
version = "1.2.0"
@@ -5848,7 +6182,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
dependencies = [
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
]
[[package]]
@@ -5869,7 +6203,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
- "tokio",
+ "tokio 1.32.0",
+]
+
+[[package]]
+name = "tokio-reactor"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
+dependencies = [
+ "crossbeam-utils 0.7.2",
+ "futures 0.1.31",
+ "lazy_static",
+ "log",
+ "mio 0.6.23",
+ "num_cpus",
+ "parking_lot 0.9.0",
+ "slab",
+ "tokio-executor",
+ "tokio-io",
+ "tokio-sync",
]
[[package]]
@@ -5879,7 +6232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
dependencies = [
"rustls 0.20.9",
- "tokio",
+ "tokio 1.32.0",
"webpki",
]
@@ -5891,7 +6244,93 @@ checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
dependencies = [
"futures-core",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
+]
+
+[[package]]
+name = "tokio-sync"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
+dependencies = [
+ "fnv",
+ "futures 0.1.31",
+]
+
+[[package]]
+name = "tokio-tcp"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "iovec",
+ "mio 0.6.23",
+ "tokio-io",
+ "tokio-reactor",
+]
+
+[[package]]
+name = "tokio-threadpool"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
+dependencies = [
+ "crossbeam-deque 0.7.4",
+ "crossbeam-queue 0.2.3",
+ "crossbeam-utils 0.7.2",
+ "futures 0.1.31",
+ "lazy_static",
+ "log",
+ "num_cpus",
+ "slab",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-timer"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
+dependencies = [
+ "crossbeam-utils 0.7.2",
+ "futures 0.1.31",
+ "slab",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-udp"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "log",
+ "mio 0.6.23",
+ "tokio-codec",
+ "tokio-io",
+ "tokio-reactor",
+]
+
+[[package]]
+name = "tokio-uds"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.31",
+ "iovec",
+ "libc",
+ "log",
+ "mio 0.6.23",
+ "mio-uds",
+ "tokio-codec",
+ "tokio-io",
+ "tokio-reactor",
]
[[package]]
@@ -5900,11 +6339,11 @@ version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
dependencies = [
- "bytes",
+ "bytes 1.5.0",
"futures-core",
"futures-sink",
"pin-project-lite",
- "tokio",
+ "tokio 1.32.0",
"tracing",
]
@@ -5961,7 +6400,7 @@ dependencies = [
"async-trait",
"axum",
"base64 0.13.1",
- "bytes",
+ "bytes 1.5.0",
"futures-core",
"futures-util",
"h2",
@@ -5973,7 +6412,7 @@ dependencies = [
"pin-project",
"prost",
"prost-derive",
- "tokio",
+ "tokio 1.32.0",
"tokio-stream",
"tokio-util",
"tower",
@@ -5996,7 +6435,7 @@ dependencies = [
"pin-project-lite",
"rand 0.8.5",
"slab",
- "tokio",
+ "tokio 1.32.0",
"tokio-util",
"tower-layer",
"tower-service",
@@ -6021,7 +6460,7 @@ version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"log",
"pin-project-lite",
"tracing-attributes",
@@ -6081,6 +6520,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
"pin-project",
+ "tokio 0.1.22",
"tracing",
]
@@ -6132,7 +6572,7 @@ dependencies = [
"serde",
"serde_json",
"sharded-slab",
- "smallvec",
+ "smallvec 1.11.1",
"thread_local",
"tracing",
"tracing-core",
@@ -6390,7 +6830,7 @@ checksum = "8b3c89c2c7e50f33e4d35527e5bf9c11d6d132226dbbd1753f0fbe9f19ef88c6"
dependencies = [
"anyhow",
"git2",
- "rustc_version",
+ "rustc_version 0.4.0",
"rustversion",
"time",
]
@@ -6459,7 +6899,7 @@ version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"wasm-bindgen-macro",
]
@@ -6484,7 +6924,7 @@ version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"js-sys",
"wasm-bindgen",
"web-sys",
@@ -6536,7 +6976,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9973cb72c8587d5ad5efdb91e663d36177dc37725e6c90ca86c626b0cc45c93f"
dependencies = [
"base64 0.13.1",
- "bytes",
+ "bytes 1.5.0",
"cookie",
"http",
"log",
@@ -6583,6 +7023,12 @@ dependencies = [
"web-sys",
]
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
[[package]]
name = "winapi"
version = "0.3.9"
@@ -6593,6 +7039,12 @@ dependencies = [
"winapi-x86_64-pc-windows-gnu",
]
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
@@ -6605,7 +7057,7 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -6704,7 +7156,7 @@ version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
"windows-sys",
]
@@ -6718,7 +7170,7 @@ dependencies = [
"async-trait",
"base64 0.21.4",
"deadpool",
- "futures",
+ "futures 0.3.28",
"futures-timer",
"http-types",
"hyper",
@@ -6727,7 +7179,17 @@ dependencies = [
"regex",
"serde",
"serde_json",
- "tokio",
+ "tokio 1.32.0",
+]
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
]
[[package]]
@@ -6776,7 +7238,7 @@ checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
dependencies = [
"byteorder",
"crc32fast",
- "crossbeam-utils",
+ "crossbeam-utils 0.8.16",
"flate2",
]
diff --git a/README.md b/README.md
index 129a0512d4a0..bc528da9bbf5 100644
--- a/README.md
+++ b/README.md
@@ -64,9 +64,7 @@ The fastest and easiest way to try hyperswitch is via our CDK scripts
1. Click on the following button for a quick standalone deployment on AWS, suitable for prototyping.
No code or setup is required in your system and the deployment is covered within the AWS free-tier setup.
- Click here if you have not bootstrapped your region before deploying
-
-
+
2. Sign-in to your AWS console.
diff --git a/config/config.example.toml b/config/config.example.toml
index f0083bb48b19..7815f2400d04 100644
--- a/config/config.example.toml
+++ b/config/config.example.toml
@@ -21,25 +21,25 @@ idle_pool_connection_timeout = 90 # Timeout for idle pool connections (defaults
# Main SQL data store credentials
[master_database]
-username = "db_user" # DB Username
-password = "db_pass" # DB Password. Use base-64 encoded kms encrypted value here when kms is enabled
-host = "localhost" # DB Host
-port = 5432 # DB Port
-dbname = "hyperswitch_db" # Name of Database
-pool_size = 5 # Number of connections to keep open
-connection_timeout = 10 # Timeout for database connection in seconds
-queue_strategy = "Fifo" # Add the queue strategy used by the database bb8 client
+username = "db_user" # DB Username
+password = "db_pass" # DB Password. Use base-64 encoded kms encrypted value here when kms is enabled
+host = "localhost" # DB Host
+port = 5432 # DB Port
+dbname = "hyperswitch_db" # Name of Database
+pool_size = 5 # Number of connections to keep open
+connection_timeout = 10 # Timeout for database connection in seconds
+queue_strategy = "Fifo" # Add the queue strategy used by the database bb8 client
# Replica SQL data store credentials
[replica_database]
-username = "replica_user" # DB Username
-password = "db_pass" # DB Password. Use base-64 encoded kms encrypted value here when kms is enabled
-host = "localhost" # DB Host
-port = 5432 # DB Port
-dbname = "hyperswitch_db" # Name of Database
-pool_size = 5 # Number of connections to keep open
-connection_timeout = 10 # Timeout for database connection in seconds
-queue_strategy = "Fifo" # Add the queue strategy used by the database bb8 client
+username = "replica_user" # DB Username
+password = "db_pass" # DB Password. Use base-64 encoded kms encrypted value here when kms is enabled
+host = "localhost" # DB Host
+port = 5432 # DB Port
+dbname = "hyperswitch_db" # Name of Database
+pool_size = 5 # Number of connections to keep open
+connection_timeout = 10 # Timeout for database connection in seconds
+queue_strategy = "Fifo" # Add the queue strategy used by the database bb8 client
# Redis credentials
[redis]
@@ -95,23 +95,24 @@ sampling_rate = 0.1 # decimal rate between 0.0
otel_exporter_otlp_endpoint = "http://localhost:4317" # endpoint to send metrics and traces to, can include port number
otel_exporter_otlp_timeout = 5000 # timeout (in milliseconds) for sending metrics and traces
use_xray_generator = false # Set this to true for AWS X-ray compatible traces
-route_to_trace = [ "*/confirm" ]
+route_to_trace = ["*/confirm"]
# This section provides some secret values.
[secrets]
-master_enc_key = "sample_key" # Master Encryption key used to encrypt merchant wise encryption key. Should be 32-byte long.
-admin_api_key = "test_admin" # admin API key for admin authentication. Only applicable when KMS is disabled.
-kms_encrypted_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the admin_api_key. Only applicable when KMS is enabled.
-jwt_secret = "secret" # JWT secret used for user authentication. Only applicable when KMS is disabled.
-kms_encrypted_jwt_secret = "" # Base64-encoded (KMS encrypted) ciphertext of the jwt_secret. Only applicable when KMS is enabled.
-recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication. Only applicable when KMS is disabled.
-kms_encrypted_recon_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the recon_admin_api_key. Only applicable when KMS is enabled
+master_enc_key = "sample_key" # Master Encryption key used to encrypt merchant wise encryption key. Should be 32-byte long.
+admin_api_key = "test_admin" # admin API key for admin authentication. Only applicable when KMS is disabled.
+kms_encrypted_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the admin_api_key. Only applicable when KMS is enabled.
+jwt_secret = "secret" # JWT secret used for user authentication. Only applicable when KMS is disabled.
+kms_encrypted_jwt_secret = "" # Base64-encoded (KMS encrypted) ciphertext of the jwt_secret. Only applicable when KMS is enabled.
+recon_admin_api_key = "recon_test_admin" # recon_admin API key for recon authentication. Only applicable when KMS is disabled.
+kms_encrypted_recon_admin_api_key = "" # Base64-encoded (KMS encrypted) ciphertext of the recon_admin_api_key. Only applicable when KMS is enabled
# Locker settings contain details for accessing a card locker, a
# PCI Compliant storage entity which stores payment method information
# like card details
[locker]
host = "" # Locker host
+host_rs = "" # Rust Locker host
mock_locker = true # Emulate a locker locally using Postgres
basilisk_host = "" # Basilisk host
locker_signing_key_id = "1" # Key_id to sign basilisk hs locker
@@ -123,14 +124,15 @@ connectors_with_delayed_session_response = "trustpay,payme" # List of connectors
connectors_with_webhook_source_verification_call = "paypal" # List of connectors which has additional source verification api-call
[jwekey] # 4 priv/pub key pair
-locker_key_identifier1 = "" # key identifier for key rotation , should be same as basilisk
-locker_key_identifier2 = "" # key identifier for key rotation , should be same as basilisk
-locker_encryption_key1 = "" # public key 1 in pem format, corresponding private key in basilisk
-locker_encryption_key2 = "" # public key 2 in pem format, corresponding private key in basilisk
-locker_decryption_key1 = "" # private key 1 in pem format, corresponding public key in basilisk
-locker_decryption_key2 = "" # private key 2 in pem format, corresponding public key in basilisk
-vault_encryption_key = "" # public key in pem format, corresponding private key in basilisk-hs
-vault_private_key = "" # private key in pem format, corresponding public key in basilisk-hs
+locker_key_identifier1 = "" # key identifier for key rotation , should be same as basilisk
+locker_key_identifier2 = "" # key identifier for key rotation , should be same as basilisk
+locker_encryption_key1 = "" # public key 1 in pem format, corresponding private key in basilisk
+locker_encryption_key2 = "" # public key 2 in pem format, corresponding private key in basilisk
+locker_decryption_key1 = "" # private key 1 in pem format, corresponding public key in basilisk
+locker_decryption_key2 = "" # private key 2 in pem format, corresponding public key in basilisk
+vault_encryption_key = "" # public key in pem format, corresponding private key in basilisk-hs
+rust_locker_encryption_key = "" # public key in pem format, corresponding private key in rust locker
+vault_private_key = "" # private key in pem format, corresponding public key in basilisk-hs
# Refund configuration
@@ -232,11 +234,11 @@ adyen = { banks = "e_platby_vub,postova_banka,sporo_pay,tatra_pay,viamo" }
# Bank redirect configs for allowed banks through online_banking_poland payment method
[bank_config.online_banking_poland]
-adyen = { banks = "blik_psp,place_zipko,m_bank,pay_with_ing,santander_przelew24,bank_pekaosa,bank_millennium,pay_with_alior_bank,banki_spoldzielcze,pay_with_inteligo,bnp_paribas_poland,bank_nowy_sa,credit_agricole,pay_with_bos,pay_with_citi_handlowy,pay_with_plus_bank,toyota_bank,velo_bank,e_transfer_pocztowy24"}
+adyen = { banks = "blik_psp,place_zipko,m_bank,pay_with_ing,santander_przelew24,bank_pekaosa,bank_millennium,pay_with_alior_bank,banki_spoldzielcze,pay_with_inteligo,bnp_paribas_poland,bank_nowy_sa,credit_agricole,pay_with_bos,pay_with_citi_handlowy,pay_with_plus_bank,toyota_bank,velo_bank,e_transfer_pocztowy24" }
# Bank redirect configs for allowed banks through open_banking_uk payment method
[bank_config.open_banking_uk]
-adyen = { banks = "aib,bank_of_scotland,danske_bank,first_direct,first_trust,halifax,lloyds,monzo,nat_west,nationwide_bank,royal_bank_of_scotland,starling,tsb_bank,tesco_bank,ulster_bank,barclays,hsbc_bank,revolut,santander_przelew24,open_bank_success,open_bank_failure,open_bank_cancelled"}
+adyen = { banks = "aib,bank_of_scotland,danske_bank,first_direct,first_trust,halifax,lloyds,monzo,nat_west,nationwide_bank,royal_bank_of_scotland,starling,tsb_bank,tesco_bank,ulster_bank,barclays,hsbc_bank,revolut,santander_przelew24,open_bank_success,open_bank_failure,open_bank_cancelled" }
# Bank redirect configs for allowed banks through przelewy24 payment method
[bank_config.przelewy24]
@@ -311,89 +313,92 @@ region = "" # The AWS region used by the KMS SDK for decrypting data.
# EmailClient configuration. Only applicable when the `email` feature flag is enabled.
[email]
from_email = "notify@example.com" # Sender email
-aws_region = "" # AWS region used by AWS SES
-base_url = "" # Base url used when adding links that should redirect to self
+aws_region = "" # AWS region used by AWS SES
+base_url = "" # Base url used when adding links that should redirect to self
#tokenization configuration which describe token lifetime and payment method for specific connector
[tokenization]
stripe = { long_lived_token = false, payment_method = "wallet", payment_method_type = { type = "disable_only", list = "google_pay" } }
checkout = { long_lived_token = false, payment_method = "wallet" }
-mollie = {long_lived_token = false, payment_method = "card"}
+mollie = { long_lived_token = false, payment_method = "card" }
stax = { long_lived_token = true, payment_method = "card,bank_debit" }
-square = {long_lived_token = false, payment_method = "card"}
+square = { long_lived_token = false, payment_method = "card" }
braintree = { long_lived_token = false, payment_method = "card" }
-gocardless = {long_lived_token = true, payment_method = "bank_debit"}
+gocardless = { long_lived_token = true, payment_method = "bank_debit" }
[temp_locker_enable_config]
-stripe = {payment_method = "bank_transfer"}
-nuvei = {payment_method = "card"}
-shift4 = {payment_method = "card"}
-bluesnap = {payment_method = "card"}
+stripe = { payment_method = "bank_transfer" }
+nuvei = { payment_method = "card" }
+shift4 = { payment_method = "card" }
+bluesnap = { payment_method = "card" }
[dummy_connector]
-enabled = true # Whether dummy connector is enabled or not
-payment_ttl = 172800 # Time to live for dummy connector payment in redis
-payment_duration = 1000 # Fake delay duration for dummy connector payment
-payment_tolerance = 100 # Fake delay tolerance for dummy connector payment
-payment_retrieve_duration = 500 # Fake delay duration for dummy connector payment sync
-payment_retrieve_tolerance = 100 # Fake delay tolerance for dummy connector payment sync
-payment_complete_duration = 500 # Fake delay duration for dummy connector payment complete
-payment_complete_tolerance = 100 # Fake delay tolerance for dummy connector payment complete
-refund_ttl = 172800 # Time to live for dummy connector refund in redis
-refund_duration = 1000 # Fake delay duration for dummy connector refund
-refund_tolerance = 100 # Fake delay tolerance for dummy connector refund
-refund_retrieve_duration = 500 # Fake delay duration for dummy connector refund sync
-refund_retrieve_tolerance = 100 # Fake delay tolerance for dummy connector refund sync
-authorize_ttl = 36000 # Time to live for dummy connector authorize request in redis
+enabled = true # Whether dummy connector is enabled or not
+payment_ttl = 172800 # Time to live for dummy connector payment in redis
+payment_duration = 1000 # Fake delay duration for dummy connector payment
+payment_tolerance = 100 # Fake delay tolerance for dummy connector payment
+payment_retrieve_duration = 500 # Fake delay duration for dummy connector payment sync
+payment_retrieve_tolerance = 100 # Fake delay tolerance for dummy connector payment sync
+payment_complete_duration = 500 # Fake delay duration for dummy connector payment complete
+payment_complete_tolerance = 100 # Fake delay tolerance for dummy connector payment complete
+refund_ttl = 172800 # Time to live for dummy connector refund in redis
+refund_duration = 1000 # Fake delay duration for dummy connector refund
+refund_tolerance = 100 # Fake delay tolerance for dummy connector refund
+refund_retrieve_duration = 500 # Fake delay duration for dummy connector refund sync
+refund_retrieve_tolerance = 100 # Fake delay tolerance for dummy connector refund sync
+authorize_ttl = 36000 # Time to live for dummy connector authorize request in redis
assets_base_url = "https://www.example.com/" # Base url for dummy connector assets
default_return_url = "https://www.example.com/" # Default return url when no return url is passed while payment
slack_invite_url = "https://www.example.com/" # Slack invite url for hyperswitch
discord_invite_url = "https://www.example.com/" # Discord invite url for hyperswitch
[mandates.supported_payment_methods]
-card.credit = {connector_list = "stripe,adyen"} # Mandate supported payment method type and connector for card
-wallet.paypal = {connector_list = "adyen"} # Mandate supported payment method type and connector for wallets
-pay_later.klarna = {connector_list = "adyen"} # Mandate supported payment method type and connector for pay_later
-bank_debit.ach = { connector_list = "gocardless"} # Mandate supported payment method type and connector for bank_debit
-bank_debit.becs = { connector_list = "gocardless"} # Mandate supported payment method type and connector for bank_debit
-bank_debit.sepa = { connector_list = "gocardless"} # Mandate supported payment method type and connector for bank_debit
+card.credit = { connector_list = "stripe,adyen" } # Mandate supported payment method type and connector for card
+wallet.paypal = { connector_list = "adyen" } # Mandate supported payment method type and connector for wallets
+pay_later.klarna = { connector_list = "adyen" } # Mandate supported payment method type and connector for pay_later
+bank_debit.ach = { connector_list = "gocardless" } # Mandate supported payment method type and connector for bank_debit
+bank_debit.becs = { connector_list = "gocardless" } # Mandate supported payment method type and connector for bank_debit
+bank_debit.sepa = { connector_list = "gocardless" } # Mandate supported payment method type and connector for bank_debit
# Required fields info used while listing the payment_method_data
[required_fields.pay_later] # payment_method = "pay_later"
-afterpay_clearpay = {fields = {stripe = [ # payment_method_type = afterpay_clearpay, connector = "stripe"
- # Required fields vector with its respective display name in front-end and field_type
- { required_field = "shipping.address.first_name", display_name = "first_name", field_type = "text" },
- { required_field = "shipping.address.last_name", display_name = "last_name", field_type = "text" },
- { required_field = "shipping.address.country", display_name = "country", field_type = { drop_down = { options = [ "US", "IN" ] } } },
- ] } }
+afterpay_clearpay = { fields = { stripe = [ # payment_method_type = afterpay_clearpay, connector = "stripe"
+ # Required fields vector with its respective display name in front-end and field_type
+ { required_field = "shipping.address.first_name", display_name = "first_name", field_type = "text" },
+ { required_field = "shipping.address.last_name", display_name = "last_name", field_type = "text" },
+ { required_field = "shipping.address.country", display_name = "country", field_type = { drop_down = { options = [
+ "US",
+ "IN",
+ ] } } },
+] } }
[payouts]
-payout_eligibility = true # Defaults the eligibility of a payout method to true in case connector does not provide checks for payout eligibility
+payout_eligibility = true # Defaults the eligibility of a payout method to true in case connector does not provide checks for payout eligibility
[pm_filters.adyen]
-online_banking_fpx = {country = "MY", currency = "MYR"}
-online_banking_thailand = {country = "TH", currency = "THB"}
-touch_n_go = {country = "MY", currency = "MYR"}
-atome = {country = "MY,SG", currency = "MYR,SGD"}
-swish = {country = "SE", currency = "SEK"}
-permata_bank_transfer = {country = "ID", currency = "IDR"}
-bca_bank_transfer = {country = "ID", currency = "IDR"}
-bni_va = {country = "ID", currency = "IDR"}
-bri_va = {country = "ID", currency = "IDR"}
-cimb_va = {country = "ID", currency = "IDR"}
-danamon_va = {country = "ID", currency = "IDR"}
-mandiri_va = {country = "ID", currency = "IDR"}
-alfamart = {country = "ID", currency = "IDR"}
-indomaret = {country = "ID", currency = "IDR"}
-open_banking_uk = {country = "GB", currency = "GBP"}
-oxxo = {country = "MX", currency = "MXN"}
-pay_safe_card = {country = "AT,AU,BE,BR,BE,CA,HR,CY,CZ,DK,FI,FR,GE,DE,GI,HU,IS,IE,KW,LV,IE,LI,LT,LU,MT,MX,MD,ME,NL,NZ,NO,PY,PE,PL,PT,RO,SA,RS,SK,SI,ES,SE,CH,TR,UAE,UK,US,UY", currency = "EUR,AUD,BRL,CAD,CZK,DKK,GEL,GIP,HUF,ISK,KWD,CHF,MXN,MDL,NZD,NOK,PYG,PEN,PLN,RON,SAR,RSD,SEK,TRY,AED,GBP,USD,UYU"}
-seven_eleven = {country = "JP", currency = "JPY"}
-lawson = {country = "JP", currency = "JPY"}
-mini_stop = {country = "JP", currency = "JPY"}
-family_mart = {country = "JP", currency = "JPY"}
-seicomart = {country = "JP", currency = "JPY"}
-pay_easy = {country = "JP", currency = "JPY"}
+online_banking_fpx = { country = "MY", currency = "MYR" }
+online_banking_thailand = { country = "TH", currency = "THB" }
+touch_n_go = { country = "MY", currency = "MYR" }
+atome = { country = "MY,SG", currency = "MYR,SGD" }
+swish = { country = "SE", currency = "SEK" }
+permata_bank_transfer = { country = "ID", currency = "IDR" }
+bca_bank_transfer = { country = "ID", currency = "IDR" }
+bni_va = { country = "ID", currency = "IDR" }
+bri_va = { country = "ID", currency = "IDR" }
+cimb_va = { country = "ID", currency = "IDR" }
+danamon_va = { country = "ID", currency = "IDR" }
+mandiri_va = { country = "ID", currency = "IDR" }
+alfamart = { country = "ID", currency = "IDR" }
+indomaret = { country = "ID", currency = "IDR" }
+open_banking_uk = { country = "GB", currency = "GBP" }
+oxxo = { country = "MX", currency = "MXN" }
+pay_safe_card = { country = "AT,AU,BE,BR,BE,CA,HR,CY,CZ,DK,FI,FR,GE,DE,GI,HU,IS,IE,KW,LV,IE,LI,LT,LU,MT,MX,MD,ME,NL,NZ,NO,PY,PE,PL,PT,RO,SA,RS,SK,SI,ES,SE,CH,TR,UAE,UK,US,UY", currency = "EUR,AUD,BRL,CAD,CZK,DKK,GEL,GIP,HUF,ISK,KWD,CHF,MXN,MDL,NZD,NOK,PYG,PEN,PLN,RON,SAR,RSD,SEK,TRY,AED,GBP,USD,UYU" }
+seven_eleven = { country = "JP", currency = "JPY" }
+lawson = { country = "JP", currency = "JPY" }
+mini_stop = { country = "JP", currency = "JPY" }
+family_mart = { country = "JP", currency = "JPY" }
+seicomart = { country = "JP", currency = "JPY" }
+pay_easy = { country = "JP", currency = "JPY" }
[pm_filters.zen]
credit = { not_available_flows = { capture_method = "manual" } }
@@ -413,7 +418,10 @@ debit = { currency = "USD" }
ach = { currency = "USD" }
[pm_filters.stripe]
-cashapp = {country = "US", currency = "USD"}
+cashapp = { country = "US", currency = "USD" }
+
+[pm_filters.prophetpay]
+card_redirect = { currency = "USD" }
[connector_customer]
connector_list = "gocardless,stax,stripe"
@@ -429,10 +437,10 @@ adyen.banks = "bangkok_bank,krungsri_bank,krung_thai_bank,the_siam_commercial_ba
supported_connectors = "braintree"
[applepay_decrypt_keys]
-apple_pay_ppc = "APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE" #Payment Processing Certificate provided by Apple Pay (https://developer.apple.com/) Certificates, Identifiers & Profiles > Apple Pay Payment Processing Certificate
-apple_pay_ppc_key = "APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE_KEY" #Private key generate by Elliptic-curve prime256v1 curve
-apple_pay_merchant_cert = "APPLE_PAY_MERCHNAT_CERTIFICATE" #Merchant Certificate provided by Apple Pay (https://developer.apple.com/) Certificates, Identifiers & Profiles > Apple Pay Merchant Identity Certificate
-apple_pay_merchant_cert_key = "APPLE_PAY_MERCHNAT_CERTIFICATE_KEY" #Private key generate by RSA:2048 algorithm
+apple_pay_ppc = "APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE" #Payment Processing Certificate provided by Apple Pay (https://developer.apple.com/) Certificates, Identifiers & Profiles > Apple Pay Payment Processing Certificate
+apple_pay_ppc_key = "APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE_KEY" #Private key generate by Elliptic-curve prime256v1 curve
+apple_pay_merchant_cert = "APPLE_PAY_MERCHNAT_CERTIFICATE" #Merchant Certificate provided by Apple Pay (https://developer.apple.com/) Certificates, Identifiers & Profiles > Apple Pay Merchant Identity Certificate
+apple_pay_merchant_cert_key = "APPLE_PAY_MERCHNAT_CERTIFICATE_KEY" #Private key generate by RSA:2048 algorithm
[payment_link]
sdk_url = "http://localhost:9090/dist/HyperLoader.js"
diff --git a/config/development.toml b/config/development.toml
index 63c1f045d94f..c82607a704c3 100644
--- a/config/development.toml
+++ b/config/development.toml
@@ -48,6 +48,7 @@ applepay_endpoint = "DOMAIN SPECIFIC ENDPOINT"
[locker]
host = ""
+host_rs = ""
mock_locker = true
basilisk_host = ""
@@ -59,6 +60,7 @@ locker_encryption_key2 = ""
locker_decryption_key1 = ""
locker_decryption_key2 = ""
vault_encryption_key = ""
+rust_locker_encryption_key = ""
vault_private_key = ""
tunnel_private_key = ""
@@ -353,6 +355,9 @@ credit = { currency = "USD" }
debit = { currency = "USD" }
ach = { currency = "USD" }
+[pm_filters.prophetpay]
+card_redirect = { currency = "USD" }
+
[pm_filters.trustpay]
credit = { not_available_flows = { capture_method = "manual" } }
debit = { not_available_flows = { capture_method = "manual" } }
diff --git a/config/docker_compose.toml b/config/docker_compose.toml
index ddda7e7021a4..a5294546de41 100644
--- a/config/docker_compose.toml
+++ b/config/docker_compose.toml
@@ -44,6 +44,7 @@ recon_admin_api_key = "recon_test_admin"
[locker]
host = ""
+host_rs = ""
mock_locker = true
basilisk_host = ""
@@ -55,6 +56,7 @@ locker_encryption_key2 = ""
locker_decryption_key1 = ""
locker_decryption_key2 = ""
vault_encryption_key = ""
+rust_locker_encryption_key = ""
vault_private_key = ""
[redis]
@@ -283,6 +285,9 @@ red_pagos = { country = "UY", currency = "UYU" }
[pm_filters.stripe]
cashapp = {country = "US", currency = "USD"}
+[pm_filters.prophetpay]
+card_redirect = { currency = "USD" }
+
[pm_filters.stax]
credit = { currency = "USD" }
debit = { currency = "USD" }
diff --git a/connector-template/mod.rs b/connector-template/mod.rs
index 7f21962109de..e441b0e5879a 100644
--- a/connector-template/mod.rs
+++ b/connector-template/mod.rs
@@ -485,7 +485,7 @@ impl api::IncomingWebhook for {{project-name | downcase | pascal_case}} {
fn get_webhook_resource_object(
&self,
_request: &api::IncomingWebhookRequestDetails<'_>,
- ) -> CustomResult {
+ ) -> CustomResult, errors::ConnectorError> {
Err(errors::ConnectorError::WebhooksNotImplemented).into_report()
}
}
diff --git a/crates/api_models/Cargo.toml b/crates/api_models/Cargo.toml
index ac624c899c6d..ce882e913282 100644
--- a/crates/api_models/Cargo.toml
+++ b/crates/api_models/Cargo.toml
@@ -25,7 +25,6 @@ mime = "0.3.17"
reqwest = { version = "0.11.18", optional = true }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
-serde_with = "3.0.0"
strum = { version = "0.24.1", features = ["derive"] }
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
url = { version = "2.4.0", features = ["serde"] }
diff --git a/crates/api_models/src/admin.rs b/crates/api_models/src/admin.rs
index 979214a071a9..6b9928734cef 100644
--- a/crates/api_models/src/admin.rs
+++ b/crates/api_models/src/admin.rs
@@ -455,6 +455,11 @@ pub struct PrimaryBusinessDetails {
#[derive(Clone, Debug, Deserialize, ToSchema, Serialize, PartialEq)]
#[serde(deny_unknown_fields)]
pub struct PaymentLinkConfig {
+ #[schema(
+ max_length = 255,
+ max_length = 255,
+ example = "https://i.imgur.com/RfxPFQo.png"
+ )]
pub merchant_logo: Option,
pub color_scheme: Option,
}
diff --git a/crates/api_models/src/enums.rs b/crates/api_models/src/enums.rs
index b27e71b9e8f5..c4e4aa90c4b8 100644
--- a/crates/api_models/src/enums.rs
+++ b/crates/api_models/src/enums.rs
@@ -76,7 +76,7 @@ pub enum Connector {
Airwallex,
Authorizedotnet,
Bambora,
- // Bankofamerica, Added as template code for future usage
+ Bankofamerica,
Bitpay,
Bluesnap,
Boku,
@@ -108,7 +108,7 @@ pub enum Connector {
Paypal,
Payu,
Powertranz,
- // Prophetpay, added as a template code for future usage
+ Prophetpay,
Rapyd,
Shift4,
Square,
@@ -196,7 +196,7 @@ pub enum RoutableConnectors {
Adyen,
Airwallex,
Authorizedotnet,
- // Bankofamerica, Added as template code for future usage
+ Bankofamerica,
Bitpay,
Bambora,
Bluesnap,
@@ -229,7 +229,7 @@ pub enum RoutableConnectors {
Paypal,
Payu,
Powertranz,
- // Prophetpay, added as a template code for future usage
+ Prophetpay,
Rapyd,
Shift4,
Square,
@@ -562,3 +562,9 @@ pub enum RetryAction {
/// Denotes that the payment is requeued
Requeue,
}
+
+#[derive(Clone, Copy)]
+pub enum LockerChoice {
+ Basilisk,
+ Tartarus,
+}
diff --git a/crates/api_models/src/events.rs b/crates/api_models/src/events.rs
index ad07340615b4..0ce7638b5ed1 100644
--- a/crates/api_models/src/events.rs
+++ b/crates/api_models/src/events.rs
@@ -1,5 +1,6 @@
pub mod customer;
pub mod gsm;
+mod locker_migration;
pub mod payment;
#[cfg(feature = "payouts")]
pub mod payouts;
diff --git a/crates/api_models/src/events/gsm.rs b/crates/api_models/src/events/gsm.rs
index d984ae1ff698..a653cc291d6c 100644
--- a/crates/api_models/src/events/gsm.rs
+++ b/crates/api_models/src/events/gsm.rs
@@ -31,3 +31,9 @@ impl ApiEventMetric for gsm::GsmDeleteResponse {
Some(ApiEventsType::Gsm)
}
}
+
+impl ApiEventMetric for gsm::GsmResponse {
+ fn get_api_event_type(&self) -> Option {
+ Some(ApiEventsType::Gsm)
+ }
+}
diff --git a/crates/api_models/src/events/locker_migration.rs b/crates/api_models/src/events/locker_migration.rs
new file mode 100644
index 000000000000..db76a8f760db
--- /dev/null
+++ b/crates/api_models/src/events/locker_migration.rs
@@ -0,0 +1,9 @@
+use common_utils::events::ApiEventMetric;
+
+use crate::locker_migration::MigrateCardResponse;
+
+impl ApiEventMetric for MigrateCardResponse {
+ fn get_api_event_type(&self) -> Option {
+ Some(common_utils::events::ApiEventsType::RustLocker)
+ }
+}
diff --git a/crates/api_models/src/gsm.rs b/crates/api_models/src/gsm.rs
index 6bd8fd99dd93..254981b1f8f7 100644
--- a/crates/api_models/src/gsm.rs
+++ b/crates/api_models/src/gsm.rs
@@ -1,8 +1,10 @@
-use crate::enums;
+use utoipa::ToSchema;
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+use crate::enums::Connector;
+
+#[derive(Debug, serde::Deserialize, serde::Serialize, ToSchema)]
pub struct GsmCreateRequest {
- pub connector: enums::Connector,
+ pub connector: Connector,
pub flow: String,
pub sub_flow: String,
pub code: String,
@@ -13,9 +15,9 @@ pub struct GsmCreateRequest {
pub step_up_possible: bool,
}
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+#[derive(Debug, serde::Deserialize, serde::Serialize, ToSchema)]
pub struct GsmRetrieveRequest {
- pub connector: enums::Connector,
+ pub connector: Connector,
pub flow: String,
pub sub_flow: String,
pub code: String,
@@ -33,6 +35,7 @@ pub struct GsmRetrieveRequest {
serde::Serialize,
serde::Deserialize,
strum::EnumString,
+ ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
@@ -43,7 +46,7 @@ pub enum GsmDecision {
DoDefault,
}
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+#[derive(Debug, serde::Deserialize, serde::Serialize, ToSchema)]
pub struct GsmUpdateRequest {
pub connector: String,
pub flow: String,
@@ -56,7 +59,7 @@ pub struct GsmUpdateRequest {
pub step_up_possible: Option,
}
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+#[derive(Debug, serde::Deserialize, serde::Serialize, ToSchema)]
pub struct GsmDeleteRequest {
pub connector: String,
pub flow: String,
@@ -65,7 +68,7 @@ pub struct GsmDeleteRequest {
pub message: String,
}
-#[derive(Debug, serde::Serialize)]
+#[derive(Debug, serde::Serialize, ToSchema)]
pub struct GsmDeleteResponse {
pub gsm_rule_delete: bool,
pub connector: String,
@@ -73,3 +76,16 @@ pub struct GsmDeleteResponse {
pub sub_flow: String,
pub code: String,
}
+
+#[derive(serde::Serialize, Debug, ToSchema)]
+pub struct GsmResponse {
+ pub connector: String,
+ pub flow: String,
+ pub sub_flow: String,
+ pub code: String,
+ pub message: String,
+ pub status: String,
+ pub router_error: Option,
+ pub decision: String,
+ pub step_up_possible: bool,
+}
diff --git a/crates/api_models/src/lib.rs b/crates/api_models/src/lib.rs
index bcc3913ea824..40faa6b3e81d 100644
--- a/crates/api_models/src/lib.rs
+++ b/crates/api_models/src/lib.rs
@@ -13,6 +13,7 @@ pub mod errors;
pub mod events;
pub mod files;
pub mod gsm;
+pub mod locker_migration;
pub mod mandates;
pub mod organization;
pub mod payment_methods;
diff --git a/crates/api_models/src/locker_migration.rs b/crates/api_models/src/locker_migration.rs
new file mode 100644
index 000000000000..6e2881cd463e
--- /dev/null
+++ b/crates/api_models/src/locker_migration.rs
@@ -0,0 +1,8 @@
+#[derive(Debug, Clone, serde::Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct MigrateCardResponse {
+ pub status_message: String,
+ pub status_code: String,
+ pub customers_moved: usize,
+ pub cards_moved: usize,
+}
diff --git a/crates/api_models/src/payment_methods.rs b/crates/api_models/src/payment_methods.rs
index 289f652981eb..755acbf7f425 100644
--- a/crates/api_models/src/payment_methods.rs
+++ b/crates/api_models/src/payment_methods.rs
@@ -6,7 +6,6 @@ use common_utils::{
types::Percentage,
};
use serde::de;
-use serde_with::serde_as;
use utoipa::ToSchema;
#[cfg(feature = "payouts")]
@@ -15,7 +14,7 @@ use crate::{
admin,
customers::CustomerId,
enums as api_enums,
- payments::{self, BankCodeResponse},
+ payments::{self, BankCodeResponse, RequestSurchargeDetails},
};
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone, ToSchema)]
@@ -342,15 +341,85 @@ pub struct SurchargeDetailsResponse {
pub final_amount: i64,
}
-#[serde_as]
-#[derive(Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize)]
+impl SurchargeDetailsResponse {
+ pub fn is_request_surcharge_matching(
+ &self,
+ request_surcharge_details: RequestSurchargeDetails,
+ ) -> bool {
+ request_surcharge_details.surcharge_amount == self.surcharge_amount
+ && request_surcharge_details.tax_amount.unwrap_or(0) == self.tax_on_surcharge_amount
+ }
+}
+
+#[derive(Clone, Debug)]
pub struct SurchargeMetadata {
- #[serde_as(as = "HashMap<_, _>")]
- pub surcharge_results: HashMap,
+ surcharge_results: HashMap<
+ (
+ common_enums::PaymentMethod,
+ common_enums::PaymentMethodType,
+ Option,
+ ),
+ SurchargeDetailsResponse,
+ >,
+ pub payment_attempt_id: String,
}
impl SurchargeMetadata {
- pub fn get_key_for_surcharge_details_hash_map(
+ pub fn new(payment_attempt_id: String) -> Self {
+ Self {
+ surcharge_results: HashMap::new(),
+ payment_attempt_id,
+ }
+ }
+ pub fn is_empty_result(&self) -> bool {
+ self.surcharge_results.is_empty()
+ }
+ pub fn get_surcharge_results_size(&self) -> usize {
+ self.surcharge_results.len()
+ }
+ pub fn insert_surcharge_details(
+ &mut self,
+ payment_method: &common_enums::PaymentMethod,
+ payment_method_type: &common_enums::PaymentMethodType,
+ card_network: Option<&common_enums::CardNetwork>,
+ surcharge_details: SurchargeDetailsResponse,
+ ) {
+ let key = (
+ payment_method.to_owned(),
+ payment_method_type.to_owned(),
+ card_network.cloned(),
+ );
+ self.surcharge_results.insert(key, surcharge_details);
+ }
+ pub fn get_surcharge_details(
+ &self,
+ payment_method: &common_enums::PaymentMethod,
+ payment_method_type: &common_enums::PaymentMethodType,
+ card_network: Option<&common_enums::CardNetwork>,
+ ) -> Option<&SurchargeDetailsResponse> {
+ let key = &(
+ payment_method.to_owned(),
+ payment_method_type.to_owned(),
+ card_network.cloned(),
+ );
+ self.surcharge_results.get(key)
+ }
+ pub fn get_surcharge_metadata_redis_key(payment_attempt_id: &str) -> String {
+ format!("surcharge_metadata_{}", payment_attempt_id)
+ }
+ pub fn get_individual_surcharge_key_value_pairs(
+ &self,
+ ) -> Vec<(String, SurchargeDetailsResponse)> {
+ self.surcharge_results
+ .iter()
+ .map(|((pm, pmt, card_network), surcharge_details)| {
+ let key =
+ Self::get_surcharge_details_redis_hashset_key(pm, pmt, card_network.as_ref());
+ (key, surcharge_details.to_owned())
+ })
+ .collect()
+ }
+ pub fn get_surcharge_details_redis_hashset_key(
payment_method: &common_enums::PaymentMethod,
payment_method_type: &common_enums::PaymentMethodType,
card_network: Option<&common_enums::CardNetwork>,
diff --git a/crates/api_models/src/payments.rs b/crates/api_models/src/payments.rs
index 22579ed6d6ea..b479f4442ba6 100644
--- a/crates/api_models/src/payments.rs
+++ b/crates/api_models/src/payments.rs
@@ -16,6 +16,7 @@ use crate::{
admin, disputes,
enums::{self as api_enums},
ephemeral_key::EphemeralKeyCreateResponse,
+ payment_methods::{Surcharge, SurchargeDetailsResponse},
refunds,
};
@@ -319,6 +320,23 @@ pub struct RequestSurchargeDetails {
pub tax_amount: Option,
}
+impl RequestSurchargeDetails {
+ pub fn is_surcharge_zero(&self) -> bool {
+ self.surcharge_amount == 0 && self.tax_amount.unwrap_or(0) == 0
+ }
+ pub fn get_surcharge_details_object(&self, original_amount: i64) -> SurchargeDetailsResponse {
+ let surcharge_amount = self.surcharge_amount;
+ let tax_on_surcharge_amount = self.tax_amount.unwrap_or(0);
+ SurchargeDetailsResponse {
+ surcharge: Surcharge::Fixed(self.surcharge_amount),
+ tax_on_surcharge: None,
+ surcharge_amount,
+ tax_on_surcharge_amount,
+ final_amount: original_amount + surcharge_amount + tax_on_surcharge_amount,
+ }
+ }
+}
+
#[derive(Default, Debug, Clone, Copy)]
pub struct HeaderPayload {
pub payment_confirm_source: Option,
@@ -686,6 +704,7 @@ pub enum CardRedirectData {
Knet {},
Benefit {},
MomoAtm {},
+ CardRedirect {},
}
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
@@ -810,6 +829,36 @@ pub enum PaymentMethodData {
GiftCard(Box),
}
+impl PaymentMethodData {
+ pub fn get_payment_method_type_if_session_token_type(
+ &self,
+ ) -> Option {
+ match self {
+ Self::Wallet(wallet) => match wallet {
+ WalletData::ApplePay(_) => Some(api_enums::PaymentMethodType::ApplePay),
+ WalletData::GooglePay(_) => Some(api_enums::PaymentMethodType::GooglePay),
+ WalletData::PaypalSdk(_) => Some(api_enums::PaymentMethodType::Paypal),
+ _ => None,
+ },
+ Self::PayLater(pay_later) => match pay_later {
+ PayLaterData::KlarnaSdk { .. } => Some(api_enums::PaymentMethodType::Klarna),
+ _ => None,
+ },
+ Self::Card(_)
+ | Self::CardRedirect(_)
+ | Self::BankRedirect(_)
+ | Self::BankDebit(_)
+ | Self::BankTransfer(_)
+ | Self::Crypto(_)
+ | Self::MandatePayment
+ | Self::Reward
+ | Self::Upi(_)
+ | Self::Voucher(_)
+ | Self::GiftCard(_) => None,
+ }
+ }
+}
+
pub trait GetPaymentMethodType {
fn get_payment_method_type(&self) -> api_enums::PaymentMethodType;
}
@@ -820,6 +869,7 @@ impl GetPaymentMethodType for CardRedirectData {
Self::Knet {} => api_enums::PaymentMethodType::Knet,
Self::Benefit {} => api_enums::PaymentMethodType::Benefit,
Self::MomoAtm {} => api_enums::PaymentMethodType::MomoAtm,
+ Self::CardRedirect {} => api_enums::PaymentMethodType::CardRedirect,
}
}
}
@@ -3100,6 +3150,8 @@ pub struct PaymentLinkObject {
#[serde(default, with = "common_utils::custom_serde::iso8601::option")]
pub link_expiry: Option,
pub merchant_custom_domain_name: Option,
+ #[schema(value_type = PaymentLinkConfig)]
+ pub payment_link_config: Option,
/// Custom merchant name for payment link
pub custom_merchant_name: Option,
}
diff --git a/crates/api_models/src/routing.rs b/crates/api_models/src/routing.rs
index 363df5389a79..47a44ea7443e 100644
--- a/crates/api_models/src/routing.rs
+++ b/crates/api_models/src/routing.rs
@@ -306,8 +306,9 @@ impl From for ast::ConnectorChoice {
RoutableConnectors::Adyen => euclid_enums::Connector::Adyen,
RoutableConnectors::Airwallex => euclid_enums::Connector::Airwallex,
RoutableConnectors::Authorizedotnet => euclid_enums::Connector::Authorizedotnet,
- RoutableConnectors::Bitpay => euclid_enums::Connector::Bitpay,
RoutableConnectors::Bambora => euclid_enums::Connector::Bambora,
+ RoutableConnectors::Bankofamerica => euclid_enums::Connector::Bankofamerica,
+ RoutableConnectors::Bitpay => euclid_enums::Connector::Bitpay,
RoutableConnectors::Bluesnap => euclid_enums::Connector::Bluesnap,
RoutableConnectors::Boku => euclid_enums::Connector::Boku,
RoutableConnectors::Braintree => euclid_enums::Connector::Braintree,
@@ -336,6 +337,7 @@ impl From for ast::ConnectorChoice {
RoutableConnectors::Paypal => euclid_enums::Connector::Paypal,
RoutableConnectors::Payu => euclid_enums::Connector::Payu,
RoutableConnectors::Powertranz => euclid_enums::Connector::Powertranz,
+ RoutableConnectors::Prophetpay => euclid_enums::Connector::Prophetpay,
RoutableConnectors::Rapyd => euclid_enums::Connector::Rapyd,
RoutableConnectors::Shift4 => euclid_enums::Connector::Shift4,
RoutableConnectors::Square => euclid_enums::Connector::Square,
diff --git a/crates/common_enums/src/enums.rs b/crates/common_enums/src/enums.rs
index f0386fc2f42e..8b1437fa8926 100644
--- a/crates/common_enums/src/enums.rs
+++ b/crates/common_enums/src/enums.rs
@@ -50,6 +50,7 @@ pub enum AttemptStatus {
VoidFailed,
AutoRefunded,
PartialCharged,
+ PartialChargedAndChargeable,
Unresolved,
#[default]
Pending,
@@ -68,7 +69,8 @@ impl AttemptStatus {
| Self::Voided
| Self::VoidFailed
| Self::CaptureFailed
- | Self::Failure => true,
+ | Self::Failure
+ | Self::PartialCharged => true,
Self::Started
| Self::AuthenticationFailed
| Self::AuthenticationPending
@@ -79,7 +81,7 @@ impl AttemptStatus {
| Self::CodInitiated
| Self::VoidInitiated
| Self::CaptureInitiated
- | Self::PartialCharged
+ | Self::PartialChargedAndChargeable
| Self::Unresolved
| Self::Pending
| Self::PaymentMethodAwaited
@@ -861,6 +863,7 @@ pub enum IntentStatus {
RequiresConfirmation,
RequiresCapture,
PartiallyCaptured,
+ PartiallyCapturedAndCapturable,
}
#[derive(
@@ -990,6 +993,7 @@ pub enum PaymentMethodType {
BcaBankTransfer,
BniVa,
BriVa,
+ CardRedirect,
CimbVa,
#[serde(rename = "classic")]
ClassicReward,
diff --git a/crates/common_enums/src/transformers.rs b/crates/common_enums/src/transformers.rs
index 73f736cdeefa..63abfdb3f73a 100644
--- a/crates/common_enums/src/transformers.rs
+++ b/crates/common_enums/src/transformers.rs
@@ -1807,6 +1807,7 @@ impl From for PaymentMethod {
PaymentMethodType::Bizum => Self::BankRedirect,
PaymentMethodType::Blik => Self::BankRedirect,
PaymentMethodType::Alfamart => Self::Voucher,
+ PaymentMethodType::CardRedirect => Self::CardRedirect,
PaymentMethodType::CimbVa => Self::BankTransfer,
PaymentMethodType::ClassicReward => Self::Reward,
PaymentMethodType::Credit => Self::Card,
diff --git a/crates/common_utils/src/consts.rs b/crates/common_utils/src/consts.rs
index 7bc248bf8d1b..60756192d66e 100644
--- a/crates/common_utils/src/consts.rs
+++ b/crates/common_utils/src/consts.rs
@@ -41,3 +41,9 @@ pub const DEFAULT_PRODUCT_IMG: &str = "https://i.imgur.com/On3VtKF.png";
/// Default Merchant Logo Link
pub const DEFAULT_MERCHANT_LOGO: &str = "https://i.imgur.com/RfxPFQo.png";
+
+/// Redirect url for Prophetpay
+pub const PROPHETPAY_REDIRECT_URL: &str = "https://ccm-thirdparty.cps.golf/hp/tokenize/";
+
+/// Variable which store the card token for Prophetpay
+pub const PROPHETPAY_TOKEN: &str = "cctoken";
diff --git a/crates/common_utils/src/events.rs b/crates/common_utils/src/events.rs
index 753f1deeb676..14b8d4de1c36 100644
--- a/crates/common_utils/src/events.rs
+++ b/crates/common_utils/src/events.rs
@@ -44,6 +44,7 @@ pub enum ApiEventsType {
Gsm,
// TODO: This has to be removed once the corresponding apiEventTypes are created
Miscellaneous,
+ RustLocker,
}
impl ApiEventMetric for serde_json::Value {}
diff --git a/crates/common_utils/src/ext_traits.rs b/crates/common_utils/src/ext_traits.rs
index e76fe7dff5fb..d3296f989533 100644
--- a/crates/common_utils/src/ext_traits.rs
+++ b/crates/common_utils/src/ext_traits.rs
@@ -223,6 +223,7 @@ pub trait ByteSliceExt {
}
impl ByteSliceExt for [u8] {
+ #[track_caller]
fn parse_struct<'de, T>(
&'de self,
type_name: &'static str,
diff --git a/crates/common_utils/src/types.rs b/crates/common_utils/src/types.rs
index b28bffe0dc90..111f0f43c0f2 100644
--- a/crates/common_utils/src/types.rs
+++ b/crates/common_utils/src/types.rs
@@ -77,7 +77,9 @@ impl Percentage {
if value.contains('.') {
// if string has '.' then take the decimal part and verify precision length
match value.split('.').last() {
- Some(decimal_part) => decimal_part.trim_end_matches('0').len() <= PRECISION.into(),
+ Some(decimal_part) => {
+ decimal_part.trim_end_matches('0').len() <= >::into(PRECISION)
+ }
// will never be None
None => false,
}
diff --git a/crates/data_models/src/payments/payment_attempt.rs b/crates/data_models/src/payments/payment_attempt.rs
index cdd41ea9db2d..88fc7b3b524a 100644
--- a/crates/data_models/src/payments/payment_attempt.rs
+++ b/crates/data_models/src/payments/payment_attempt.rs
@@ -224,6 +224,8 @@ pub enum PaymentAttemptUpdate {
business_sub_label: Option,
amount_to_capture: Option,
capture_method: Option,
+ surcharge_amount: Option,
+ tax_amount: Option,
updated_by: String,
},
UpdateTrackers {
@@ -231,6 +233,8 @@ pub enum PaymentAttemptUpdate {
connector: Option,
straight_through_algorithm: Option,
amount_capturable: Option,
+ surcharge_amount: Option,
+ tax_amount: Option,
updated_by: String,
merchant_connector_id: Option,
},
@@ -255,8 +259,6 @@ pub enum PaymentAttemptUpdate {
error_code: Option