From 03dbfaf8ac242a3c70a3c1cbcc14e9df6feb9b89 Mon Sep 17 00:00:00 2001 From: Benjamin Hindman Date: Fri, 29 May 2026 15:23:30 -0500 Subject: [PATCH] patch/ibex-client-auth --- .yarnrc | 1 + dev/config/base-config.yaml | 6 +++--- package.json | 2 +- src/config/schema.ts | 6 +++--- src/config/schema.types.d.ts | 6 +++--- src/services/ibex/client.ts | 3 +-- yarn.lock | 39 +++++++++++++++++++++++++++++------- 7 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 .yarnrc diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 000000000..123ac74a0 --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +ignore-engines true diff --git a/dev/config/base-config.yaml b/dev/config/base-config.yaml index eb7eaf3ce..e6618350d 100644 --- a/dev/config/base-config.yaml +++ b/dev/config/base-config.yaml @@ -4,9 +4,9 @@ admin_accounts: phone: "+16505554334" ibex: - url: "https://api-sandbox.poweredbyibex.io" - email: "" - password: "" + clientId: "" + clientSecret: "" + environment: "sandbox" webhook: uri: "" # external uri defined in overrides port: 4008 diff --git a/package.json b/package.json index b48d43be7..700257594 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "graphql-ws": "^5.13.1", "gt3-server-node-express-sdk": "https://github.com/GaloyMoney/gt3-server-node-express-bypass#master", "i18n": "^0.15.1", - "ibex-client": "^2.2.0", + "ibex-client": "^3.0.0", "invoices": "^3.0.0", "ioredis": "^5.3.2", "ioredis-cache": "^2.0.0", diff --git a/src/config/schema.ts b/src/config/schema.ts index 4f75d2c97..fb28b6833 100644 --- a/src/config/schema.ts +++ b/src/config/schema.ts @@ -629,9 +629,9 @@ export const configSchema = { ibex: { type: "object", properties: { - url: { type: "string" }, - email: { type: "string" }, - password: { type: "string" }, + clientId: { type: "string" }, + clientSecret: { type: "string" }, + environment: { type: "string", enum: ["production", "sandbox"] }, webhook: { type: "object", properties: { diff --git a/src/config/schema.types.d.ts b/src/config/schema.types.d.ts index e49908962..3c8619c26 100644 --- a/src/config/schema.types.d.ts +++ b/src/config/schema.types.d.ts @@ -23,9 +23,9 @@ type WebhookServer = { } type IbexConfig = { - url: string - email: string - password: string + clientId: string + clientSecret: string + environment: 'production' | 'sandbox' webhook: WebhookServer } diff --git a/src/services/ibex/client.ts b/src/services/ibex/client.ts index 9f5a94d2c..facea5a3e 100644 --- a/src/services/ibex/client.ts +++ b/src/services/ibex/client.ts @@ -9,8 +9,7 @@ import { GetFeeEstimateArgs, IbexAccountDetails, IbexFeeEstimation, IbexInvoiceA import { USDAmount } from "@domain/shared"; const Ibex = new IbexClient( - IbexConfig.url, - { email: IbexConfig.email, password: IbexConfig.password }, + { clientId: IbexConfig.clientId, clientSecret: IbexConfig.clientSecret, environment: IbexConfig.environment }, Redis ) diff --git a/yarn.lock b/yarn.lock index 1b016c30d..5ede1b40d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8811,10 +8811,10 @@ i18n@^0.15.1: math-interval-parser "^2.0.1" mustache "^4.2.0" -ibex-client@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ibex-client/-/ibex-client-2.2.0.tgz#8fd0aa95611b4d2a7bd84a486c22a8918521583d" - integrity sha512-RCokoz7YXrCzLPrY+bNYCwHvPPX8cragPgBhCQcPDHWAf5dfPSyW+A0nCx/kkYyEhrHfpBmE17jHVCL82Gqicg== +ibex-client@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ibex-client/-/ibex-client-3.0.0.tgz#963ced9561b1e2cea0cec876ebf282f62ef69540" + integrity sha512-ATfB1qptJLv2C7K0bzzZCjTSYgJO/ihx059FCT+DjngfSkijJLOdFdFepQTcy7Cadh1ij5TdFa5+jYbr3ZiViw== dependencies: api "^6.1.2" node-cache "^5.1.2" @@ -13227,7 +13227,16 @@ string-template@~0.2.1: resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -13305,7 +13314,7 @@ stringify-object@^3.2.1: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -13319,6 +13328,13 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.2" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" @@ -14421,7 +14437,16 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==