@riocrypto/common-server 1.0.1172 → 1.0.1175

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -175,7 +175,7 @@ declare class BridgeClient {
175
175
  last_4: string;
176
176
  }[]>;
177
177
  exchangePlaidPublicToken(linkToken: string, publicToken: string): Promise<void>;
178
- createExternalAccount(bridgeCustomerId: string, bankName: string, accountName: string, accountNumber: string, routingNumber: string, accountOwnerName: string, address: {
178
+ createExternalAccount(bridgeCustomerId: string, bankName: string, accountNumber: string, routingNumber: string, accountOwnerName: string, address: {
179
179
  streetLine1: string;
180
180
  streetLine2?: string;
181
181
  city: string;
@@ -179,12 +179,11 @@ class BridgeClient {
179
179
  return data;
180
180
  });
181
181
  }
182
- createExternalAccount(bridgeCustomerId, bankName, accountName, accountNumber, routingNumber, accountOwnerName, address) {
182
+ createExternalAccount(bridgeCustomerId, bankName, accountNumber, routingNumber, accountOwnerName, address) {
183
183
  return __awaiter(this, void 0, void 0, function* () {
184
184
  const { data } = yield axios_1.default.post(`${this.baseUrl}/v0/customers/${bridgeCustomerId}/external_accounts`, {
185
185
  type: "wire",
186
186
  bank_name: bankName,
187
- account_name: accountName,
188
187
  account_number: accountNumber,
189
188
  routing_number: routingNumber,
190
189
  account_owner_name: accountOwnerName,
@@ -46,8 +46,8 @@ const getPlatformFees = (mongoose, conversionRateToUSD, amountFiat, fiat, proces
46
46
  else {
47
47
  volume = Number(amountUSD);
48
48
  }
49
- if (broker.platformFeeRanges) {
50
- for (const range of broker.platformFeeRanges) {
49
+ if (broker.platformFeeRanges && broker.platformFeeRanges[country]) {
50
+ for (const range of broker.platformFeeRanges[country]) {
51
51
  if (range.min <= Number(volume) && range.max >= Number(volume)) {
52
52
  if (discount) {
53
53
  if (discount > range.fee) {
@@ -84,7 +84,7 @@ const getPlatformFees = (mongoose, conversionRateToUSD, amountFiat, fiat, proces
84
84
  platformFeeFiat = amountFiat * netPlatformFee;
85
85
  }
86
86
  }
87
- else if (user === null || user === void 0 ? void 0 : user.platformFeeRanges) {
87
+ else if ((user === null || user === void 0 ? void 0 : user.platformFeeRanges) && user.platformFeeRanges[country]) {
88
88
  let volume;
89
89
  if ((_b = user === null || user === void 0 ? void 0 : user.attributes) === null || _b === void 0 ? void 0 : _b.includes(common_1.UserAttribute.summedVolumeFees)) {
90
90
  const volumeAndRevenue = yield (0, calculate_aggregate_volume_and_revenue_1.calculateAggregateVolumeAndRevenue)(mongoose, 14, user);
@@ -93,7 +93,7 @@ const getPlatformFees = (mongoose, conversionRateToUSD, amountFiat, fiat, proces
93
93
  else {
94
94
  volume = Number(amountUSD);
95
95
  }
96
- for (const range of user.platformFeeRanges) {
96
+ for (const range of user.platformFeeRanges[country]) {
97
97
  if (range.min <= Number(volume) && range.max >= Number(volume)) {
98
98
  if (discount) {
99
99
  if (discount > range.fee) {
@@ -25,7 +25,13 @@ interface UserAttrs {
25
25
  curp?: string;
26
26
  ruc?: string;
27
27
  economicActivity?: string;
28
- platformFeeRanges?: PlatformFeeRange[];
28
+ platformFeeRanges?: {
29
+ MX?: PlatformFeeRange[];
30
+ PE?: PlatformFeeRange[];
31
+ CO?: PlatformFeeRange[];
32
+ BR?: PlatformFeeRange[];
33
+ US?: PlatformFeeRange[];
34
+ };
29
35
  COIFile?: string;
30
36
  KYCReportFile?: string;
31
37
  CSFFile?: string;
@@ -67,7 +73,13 @@ interface UserDoc extends Document {
67
73
  language?: Language;
68
74
  attributes?: UserAttribute[];
69
75
  brokerId?: string;
70
- platformFeeRanges?: PlatformFeeRange[];
76
+ platformFeeRanges?: {
77
+ MX?: PlatformFeeRange[];
78
+ PE?: PlatformFeeRange[];
79
+ CO?: PlatformFeeRange[];
80
+ BR?: PlatformFeeRange[];
81
+ US?: PlatformFeeRange[];
82
+ };
71
83
  COIFile?: string;
72
84
  KYCReportFile?: string;
73
85
  CSFFile?: string;
@@ -103,22 +103,88 @@ const buildUser = (mongoose) => {
103
103
  proofOfAddressFile: {
104
104
  type: String,
105
105
  },
106
- platformFeeRanges: [
107
- {
108
- min: {
109
- type: Number,
110
- required: true,
106
+ platformFeeRanges: {
107
+ MX: [
108
+ {
109
+ min: {
110
+ type: Number,
111
+ required: true,
112
+ },
113
+ max: {
114
+ type: Number,
115
+ required: true,
116
+ },
117
+ fee: {
118
+ type: Number,
119
+ required: true,
120
+ },
111
121
  },
112
- max: {
113
- type: Number,
114
- required: true,
122
+ ],
123
+ US: [
124
+ {
125
+ min: {
126
+ type: Number,
127
+ required: true,
128
+ },
129
+ max: {
130
+ type: Number,
131
+ required: true,
132
+ },
133
+ fee: {
134
+ type: Number,
135
+ required: true,
136
+ },
115
137
  },
116
- fee: {
117
- type: Number,
118
- required: true,
138
+ ],
139
+ PE: [
140
+ {
141
+ min: {
142
+ type: Number,
143
+ required: true,
144
+ },
145
+ max: {
146
+ type: Number,
147
+ required: true,
148
+ },
149
+ fee: {
150
+ type: Number,
151
+ required: true,
152
+ },
119
153
  },
120
- },
121
- ],
154
+ ],
155
+ CO: [
156
+ {
157
+ min: {
158
+ type: Number,
159
+ required: true,
160
+ },
161
+ max: {
162
+ type: Number,
163
+ required: true,
164
+ },
165
+ fee: {
166
+ type: Number,
167
+ required: true,
168
+ },
169
+ },
170
+ ],
171
+ BR: [
172
+ {
173
+ min: {
174
+ type: Number,
175
+ required: true,
176
+ },
177
+ max: {
178
+ type: Number,
179
+ required: true,
180
+ },
181
+ fee: {
182
+ type: Number,
183
+ required: true,
184
+ },
185
+ },
186
+ ],
187
+ },
122
188
  authorizedPhoneNumbers: [
123
189
  {
124
190
  type: String,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riocrypto/common-server",
3
- "version": "1.0.1172",
3
+ "version": "1.0.1175",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "@aws-sdk/client-s3": "^3.297.0",
27
27
  "@everapi/currencyapi-js": "^1.0.6",
28
28
  "@google-cloud/storage": "^6.9.5",
29
- "@riocrypto/common": "^1.0.1050",
29
+ "@riocrypto/common": "^1.0.1056",
30
30
  "@types/express": "^4.17.13",
31
31
  "axios": "^0.27.2",
32
32
  "ccxt": "^3.0.30",