@riocrypto/common 1.0.504 → 1.0.506

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.
Files changed (89) hide show
  1. package/build/index.d.ts +0 -41
  2. package/build/index.js +0 -41
  3. package/package.json +2 -2
  4. package/build/clients/bitstamp-client.d.ts +0 -16
  5. package/build/clients/bitstamp-client.js +0 -83
  6. package/build/clients/ccxt-client.d.ts +0 -48
  7. package/build/clients/ccxt-client.js +0 -201
  8. package/build/clients/etherscan-client.d.ts +0 -6
  9. package/build/clients/etherscan-client.js +0 -24
  10. package/build/clients/fireblocks-client.d.ts +0 -15
  11. package/build/clients/fireblocks-client.js +0 -140
  12. package/build/clients/fixer-client.d.ts +0 -8
  13. package/build/clients/fixer-client.js +0 -34
  14. package/build/clients/gueno-client.d.ts +0 -10
  15. package/build/clients/gueno-client.js +0 -44
  16. package/build/clients/kapstar-client.d.ts +0 -6
  17. package/build/clients/kapstar-client.js +0 -26
  18. package/build/clients/kushki-client.d.ts +0 -14
  19. package/build/clients/kushki-client.js +0 -150
  20. package/build/clients/rio-client.d.ts +0 -82
  21. package/build/clients/rio-client.js +0 -315
  22. package/build/clients/slack-client.d.ts +0 -7
  23. package/build/clients/slack-client.js +0 -34
  24. package/build/helpers/get-user-from-client-helper.d.ts +0 -4
  25. package/build/helpers/get-user-from-client-helper.js +0 -41
  26. package/build/helpers/get-user-helper.d.ts +0 -4
  27. package/build/helpers/get-user-helper.js +0 -35
  28. package/build/middlewares/authorize.d.ts +0 -28
  29. package/build/middlewares/authorize.js +0 -195
  30. package/build/middlewares/current-admin-auth.d.ts +0 -15
  31. package/build/middlewares/current-admin-auth.js +0 -20
  32. package/build/middlewares/current-auth.d.ts +0 -16
  33. package/build/middlewares/current-auth.js +0 -20
  34. package/build/middlewares/error-handler.d.ts +0 -2
  35. package/build/middlewares/error-handler.js +0 -14
  36. package/build/middlewares/get-order.d.ts +0 -11
  37. package/build/middlewares/get-order.js +0 -57
  38. package/build/middlewares/get-partner.d.ts +0 -10
  39. package/build/middlewares/get-partner.js +0 -41
  40. package/build/middlewares/get-user.d.ts +0 -12
  41. package/build/middlewares/get-user.js +0 -45
  42. package/build/middlewares/require-admin-api-key.d.ts +0 -2
  43. package/build/middlewares/require-admin-api-key.js +0 -11
  44. package/build/middlewares/require-auth.d.ts +0 -2
  45. package/build/middlewares/require-auth.js +0 -11
  46. package/build/middlewares/require-priveleges.d.ts +0 -2
  47. package/build/middlewares/require-priveleges.js +0 -15
  48. package/build/middlewares/validate-auth.d.ts +0 -2
  49. package/build/middlewares/validate-auth.js +0 -30
  50. package/build/middlewares/validate-kyc.d.ts +0 -2
  51. package/build/middlewares/validate-kyc.js +0 -30
  52. package/build/middlewares/validate-order.d.ts +0 -0
  53. package/build/middlewares/validate-order.js +0 -20
  54. package/build/middlewares/validate-request.d.ts +0 -2
  55. package/build/middlewares/validate-request.js +0 -13
  56. package/build/middlewares/verify-admin-api-key.d.ts +0 -9
  57. package/build/middlewares/verify-admin-api-key.js +0 -11
  58. package/build/models/admin-auth.d.ts +0 -16
  59. package/build/models/admin-auth.js +0 -59
  60. package/build/models/auth.d.ts +0 -24
  61. package/build/models/auth.js +0 -83
  62. package/build/models/bank-payout.d.ts +0 -20
  63. package/build/models/bank-payout.js +0 -44
  64. package/build/models/business-user.d.ts +0 -57
  65. package/build/models/business-user.js +0 -111
  66. package/build/models/ccxt-order.d.ts +0 -16
  67. package/build/models/ccxt-order.js +0 -37
  68. package/build/models/checked-address.d.ts +0 -17
  69. package/build/models/checked-address.js +0 -37
  70. package/build/models/kushki-payment.d.ts +0 -16
  71. package/build/models/kushki-payment.js +0 -37
  72. package/build/models/kyc.d.ts +0 -20
  73. package/build/models/kyc.js +0 -45
  74. package/build/models/order.d.ts +0 -67
  75. package/build/models/order.js +0 -123
  76. package/build/models/partner.d.ts +0 -35
  77. package/build/models/partner.js +0 -69
  78. package/build/models/rio-settings.d.ts +0 -12
  79. package/build/models/rio-settings.js +0 -29
  80. package/build/models/user.d.ts +0 -53
  81. package/build/models/user.js +0 -94
  82. package/build/services/apiKey.d.ts +0 -3
  83. package/build/services/apiKey.js +0 -24
  84. package/build/services/password.d.ts +0 -4
  85. package/build/services/password.js +0 -32
  86. package/build/services/s3.d.ts +0 -5
  87. package/build/services/s3.js +0 -21
  88. package/build/types.d.ts +0 -93
  89. package/build/types.js +0 -109
package/build/index.d.ts CHANGED
@@ -30,20 +30,6 @@ export * from "./errors/partner-not-found-error";
30
30
  export * from "./errors/insufficient-liquidity-error";
31
31
  export * from "./errors/rio-settings-already-exists-error";
32
32
  export * from "./errors/wrong-security-answer-error";
33
- export * from "./middlewares/error-handler";
34
- export * from "./middlewares/validate-request";
35
- export * from "./middlewares/current-auth";
36
- export * from "./middlewares/require-auth";
37
- export * from "./middlewares/verify-admin-api-key";
38
- export * from "./middlewares/require-admin-api-key";
39
- export * from "./middlewares/current-admin-auth";
40
- export * from "./middlewares/validate-auth";
41
- export * from "./middlewares/get-order";
42
- export * from "./middlewares/get-partner";
43
- export * from "./middlewares/get-user";
44
- export * from "./middlewares/require-priveleges";
45
- export * from "./middlewares/validate-kyc";
46
- export * from "./middlewares/authorize";
47
33
  export * from "./events/base-listener";
48
34
  export * from "./events/base-publisher";
49
35
  export * from "./events/subjects";
@@ -154,30 +140,3 @@ export * from "./classes/PaymentMethodAsset";
154
140
  export * from "./classes/PayoutMethodAsset";
155
141
  export * from "./classes/USStateAsset";
156
142
  export * from "./classes/WyrePaymentMethodAsset";
157
- export * from "./services/apiKey";
158
- export * from "./services/password";
159
- export * from "./services/s3";
160
- export * from "./models/admin-auth";
161
- export * from "./models/auth";
162
- export * from "./models/business-user";
163
- export * from "./models/bank-payout";
164
- export * from "./models/order";
165
- export * from "./models/partner";
166
- export * from "./models/user";
167
- export * from "./models/ccxt-order";
168
- export * from "./models/kushki-payment";
169
- export * from "./models/kyc";
170
- export * from "./models/checked-address";
171
- export * from "./models/rio-settings";
172
- export * from "./clients/bitstamp-client";
173
- export * from "./clients/ccxt-client";
174
- export * from "./clients/fixer-client";
175
- export * from "./clients/kushki-client";
176
- export * from "./clients/slack-client";
177
- export * from "./clients/gueno-client";
178
- export * from "./clients/fireblocks-client";
179
- export * from "./clients/kapstar-client";
180
- export * from "./clients/etherscan-client";
181
- export * from "./clients/rio-client";
182
- export * from "./helpers/get-user-helper";
183
- export * from "./helpers/get-user-from-client-helper";
package/build/index.js CHANGED
@@ -46,20 +46,6 @@ __exportStar(require("./errors/partner-not-found-error"), exports);
46
46
  __exportStar(require("./errors/insufficient-liquidity-error"), exports);
47
47
  __exportStar(require("./errors/rio-settings-already-exists-error"), exports);
48
48
  __exportStar(require("./errors/wrong-security-answer-error"), exports);
49
- __exportStar(require("./middlewares/error-handler"), exports);
50
- __exportStar(require("./middlewares/validate-request"), exports);
51
- __exportStar(require("./middlewares/current-auth"), exports);
52
- __exportStar(require("./middlewares/require-auth"), exports);
53
- __exportStar(require("./middlewares/verify-admin-api-key"), exports);
54
- __exportStar(require("./middlewares/require-admin-api-key"), exports);
55
- __exportStar(require("./middlewares/current-admin-auth"), exports);
56
- __exportStar(require("./middlewares/validate-auth"), exports);
57
- __exportStar(require("./middlewares/get-order"), exports);
58
- __exportStar(require("./middlewares/get-partner"), exports);
59
- __exportStar(require("./middlewares/get-user"), exports);
60
- __exportStar(require("./middlewares/require-priveleges"), exports);
61
- __exportStar(require("./middlewares/validate-kyc"), exports);
62
- __exportStar(require("./middlewares/authorize"), exports);
63
49
  __exportStar(require("./events/base-listener"), exports);
64
50
  __exportStar(require("./events/base-publisher"), exports);
65
51
  __exportStar(require("./events/subjects"), exports);
@@ -170,30 +156,3 @@ __exportStar(require("./classes/PaymentMethodAsset"), exports);
170
156
  __exportStar(require("./classes/PayoutMethodAsset"), exports);
171
157
  __exportStar(require("./classes/USStateAsset"), exports);
172
158
  __exportStar(require("./classes/WyrePaymentMethodAsset"), exports);
173
- __exportStar(require("./services/apiKey"), exports);
174
- __exportStar(require("./services/password"), exports);
175
- __exportStar(require("./services/s3"), exports);
176
- __exportStar(require("./models/admin-auth"), exports);
177
- __exportStar(require("./models/auth"), exports);
178
- __exportStar(require("./models/business-user"), exports);
179
- __exportStar(require("./models/bank-payout"), exports);
180
- __exportStar(require("./models/order"), exports);
181
- __exportStar(require("./models/partner"), exports);
182
- __exportStar(require("./models/user"), exports);
183
- __exportStar(require("./models/ccxt-order"), exports);
184
- __exportStar(require("./models/kushki-payment"), exports);
185
- __exportStar(require("./models/kyc"), exports);
186
- __exportStar(require("./models/checked-address"), exports);
187
- __exportStar(require("./models/rio-settings"), exports);
188
- __exportStar(require("./clients/bitstamp-client"), exports);
189
- __exportStar(require("./clients/ccxt-client"), exports);
190
- __exportStar(require("./clients/fixer-client"), exports);
191
- __exportStar(require("./clients/kushki-client"), exports);
192
- __exportStar(require("./clients/slack-client"), exports);
193
- __exportStar(require("./clients/gueno-client"), exports);
194
- __exportStar(require("./clients/fireblocks-client"), exports);
195
- __exportStar(require("./clients/kapstar-client"), exports);
196
- __exportStar(require("./clients/etherscan-client"), exports);
197
- __exportStar(require("./clients/rio-client"), exports);
198
- __exportStar(require("./helpers/get-user-helper"), exports);
199
- __exportStar(require("./helpers/get-user-from-client-helper"), exports);
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@riocrypto/common",
3
- "version": "1.0.504",
3
+ "version": "1.0.506",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
- "types": "./build/types.d.ts",
6
+ "types": "./build/index.d.ts",
7
7
  "files": [
8
8
  "build/**/*"
9
9
  ],
@@ -1,16 +0,0 @@
1
- declare class BitstampClient {
2
- private apiKey;
3
- private apiSecret;
4
- constructor(apiKey: string, apiSecret: string);
5
- getHeaders(payload?: any): Promise<{
6
- "X-Auth": string;
7
- "X-Auth-Signature": string;
8
- "X-Auth-Nonce": string;
9
- "X-Auth-Timestamp": string;
10
- "X-Auth-Version": string;
11
- "Content-Type": string;
12
- }>;
13
- getTransactions(): Promise<any>;
14
- }
15
- export declare const bitstampClient: BitstampClient;
16
- export {};
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.bitstampClient = void 0;
39
- const axios_1 = __importDefault(require("axios"));
40
- const crypto = __importStar(require("crypto"));
41
- const uuid = __importStar(require("uuid"));
42
- class BitstampClient {
43
- constructor(apiKey, apiSecret) {
44
- this.apiKey = apiKey;
45
- this.apiSecret = apiSecret;
46
- }
47
- getHeaders(payload) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const timestamp = String(Math.round(Date.now()));
50
- const nonce = uuid.v4().toString();
51
- const content_type = "application/x-www-form-urlencoded";
52
- let payload_string = new URLSearchParams(payload).toString();
53
- const message = `BITSTAMP ${this.apiKey}POSTwww.bitstamp.net/api/v2/crypto-transactions/${content_type}${nonce}${timestamp}v2${payload_string}`;
54
- const message_encoded = new TextEncoder().encode(message);
55
- const signature = crypto
56
- .createHmac("sha256", this.apiSecret)
57
- .update(message_encoded)
58
- .digest("hex");
59
- const headers = {
60
- "X-Auth": `BITSTAMP ${this.apiKey}`,
61
- "X-Auth-Signature": signature,
62
- "X-Auth-Nonce": nonce,
63
- "X-Auth-Timestamp": timestamp,
64
- "X-Auth-Version": "v2",
65
- "Content-Type": content_type,
66
- };
67
- return headers;
68
- });
69
- }
70
- getTransactions() {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const payload = { offset: "0" };
73
- let payload_string = new URLSearchParams(payload).toString();
74
- const headers = yield this.getHeaders(payload);
75
- const response = yield axios_1.default.post("https://www.bitstamp.net/api/v2/crypto-transactions/", payload_string, { headers });
76
- if (response.status !== 200) {
77
- throw new Error("Status code not 200");
78
- }
79
- return response.data;
80
- });
81
- }
82
- }
83
- exports.bitstampClient = new BitstampClient(process.env.BITSTAMP_API_KEY, process.env.BITSTAMP_SECRET);
@@ -1,48 +0,0 @@
1
- import { Crypto } from "../types/crypto";
2
- import { CCXTLiquidityProvider } from "../types/ccxt-liquidity-provider";
3
- import { Fiat } from "../types/fiat";
4
- import { Side } from "../types/side";
5
- declare class CCXTClient {
6
- private env;
7
- constructor(env: "production" | "development");
8
- createBuyOrder(amount: number, crypto: Crypto, fiat: Fiat, ccxtLiquidityProvider: CCXTLiquidityProvider): Promise<{
9
- ccxtId: any;
10
- price: any;
11
- amountCrypto: any;
12
- amountFiat: number;
13
- crypto: Crypto;
14
- fiat: Fiat;
15
- side: Side;
16
- }>;
17
- createSellOrder(amount: number, crypto: Crypto, fiat: Fiat, ccxtLiquidityProvider: CCXTLiquidityProvider): Promise<{
18
- ccxtId: any;
19
- price: any;
20
- amountCrypto: number;
21
- amountFiat: number;
22
- crypto: Crypto;
23
- fiat: Fiat;
24
- side: Side;
25
- }>;
26
- transfer(side: Side, amount: number, crypto: Crypto, cryptoAddress: string, ccxtLiquidityProvider: CCXTLiquidityProvider): Promise<void>;
27
- getBuyQuote(amount: number, crypto: Crypto, fiat: Fiat): Promise<{
28
- price: number;
29
- amountCrypto: number;
30
- amountFiat: number;
31
- crypto: Crypto;
32
- fiat: Fiat;
33
- side: Side;
34
- }>;
35
- private getOptimalExchange;
36
- private round;
37
- private getExchange;
38
- getSellQuote(amount: number, crypto: Crypto, fiat: Fiat): Promise<{
39
- price: number;
40
- amountCrypto: number;
41
- amountFiat: number;
42
- crypto: Crypto;
43
- fiat: Fiat;
44
- }>;
45
- getDepositAddress(crypto: Crypto): Promise<string>;
46
- }
47
- export declare const ccxtWrapper: CCXTClient;
48
- export {};
@@ -1,201 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ccxtWrapper = void 0;
16
- const ccxt_1 = __importDefault(require("ccxt"));
17
- const ccxt_liquidity_provider_1 = require("../types/ccxt-liquidity-provider");
18
- const rio_env_1 = require("../types/rio-env");
19
- const side_1 = require("../types/side");
20
- class CCXTClient {
21
- constructor(env) {
22
- this.env = env;
23
- }
24
- createBuyOrder(amount, crypto, fiat, ccxtLiquidityProvider) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- if (this.env === "production") {
27
- const exchange = yield this.getExchange(ccxtLiquidityProvider);
28
- const order = yield exchange.createOrder(`${crypto}/${fiat}`, "market", "buy", amount);
29
- return {
30
- ccxtId: order.id,
31
- price: order.price,
32
- amountCrypto: order.amount,
33
- amountFiat: amount,
34
- crypto,
35
- fiat,
36
- side: side_1.Side.Buy,
37
- };
38
- }
39
- else {
40
- return {
41
- ccxtId: "1",
42
- price: 1,
43
- amountCrypto: amount,
44
- amountFiat: amount,
45
- crypto,
46
- fiat,
47
- side: side_1.Side.Buy,
48
- };
49
- }
50
- });
51
- }
52
- createSellOrder(amount, crypto, fiat, ccxtLiquidityProvider) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- if (this.env === "production") {
55
- const exchange = yield this.getExchange(ccxtLiquidityProvider);
56
- const order = yield exchange.createOrder(`${crypto}/${fiat}`, "market", "sell", amount);
57
- return {
58
- ccxtId: order.id,
59
- price: order.price,
60
- amountCrypto: amount,
61
- amountFiat: order.amount * order.price,
62
- crypto,
63
- fiat,
64
- side: side_1.Side.Sell,
65
- };
66
- }
67
- else {
68
- return {
69
- ccxtId: "1",
70
- price: 1,
71
- amountCrypto: amount,
72
- amountFiat: amount,
73
- crypto,
74
- fiat,
75
- side: side_1.Side.Sell,
76
- };
77
- }
78
- });
79
- }
80
- transfer(side, amount, crypto, cryptoAddress, ccxtLiquidityProvider) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- if (this.env === "production") {
83
- const exchange = yield this.getExchange(ccxtLiquidityProvider);
84
- const params = ccxtLiquidityProvider === ccxt_liquidity_provider_1.CCXTLiquidityProvider.Kraken
85
- ? {
86
- key: "Metamask",
87
- }
88
- : undefined;
89
- yield exchange.withdraw(crypto, this.round(amount, 8), cryptoAddress, undefined, params);
90
- }
91
- });
92
- }
93
- getBuyQuote(amount, crypto, fiat) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- if (this.env === "production") {
96
- const exchange = yield this.getOptimalExchange(crypto);
97
- if (!exchange)
98
- throw new Error("Unable to get optimal exchange");
99
- let ticker = yield exchange.fetchTicker(`${crypto}/${fiat}`);
100
- if (!ticker.vwap)
101
- throw new Error("Unable to get ticker vwap");
102
- return {
103
- price: ticker.vwap,
104
- amountCrypto: amount / ticker.vwap,
105
- amountFiat: amount,
106
- crypto,
107
- fiat,
108
- side: side_1.Side.Buy,
109
- };
110
- }
111
- else {
112
- return {
113
- price: 0.5,
114
- amountCrypto: amount,
115
- amountFiat: amount,
116
- crypto,
117
- fiat,
118
- side: side_1.Side.Buy,
119
- };
120
- }
121
- });
122
- }
123
- getOptimalExchange(crypto) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- for (let exchangeId of ccxt_1.default.exchanges) {
126
- if (exchangeId === "bitstamp") {
127
- //@ts-ignore
128
- const exchangeClass = ccxt_1.default[exchangeId], exchange = new exchangeClass({
129
- apiKey: process.env[`${exchangeId.toLocaleUpperCase()}_API_KEY`],
130
- secret: process.env[`${exchangeId.toLocaleUpperCase()}_SECRET`],
131
- });
132
- return exchange;
133
- }
134
- }
135
- return null;
136
- });
137
- }
138
- round(value, precision) {
139
- if (Number.isInteger(precision)) {
140
- var shift = Math.pow(10, precision);
141
- // Limited preventing decimal issue
142
- return Math.round(value * shift + 0.00000000000001) / shift;
143
- }
144
- else {
145
- return Math.round(value);
146
- }
147
- }
148
- getExchange(ccxtLiquidityProvider) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- // @ts-ignore
151
- const exchangeClass = ccxt_1.default[ccxtLiquidityProvider], exchange = new exchangeClass({
152
- apiKey: process.env[`${ccxtLiquidityProvider.toLocaleUpperCase()}_API_KEY`],
153
- secret: process.env[`${ccxtLiquidityProvider.toLocaleUpperCase()}_SECRET`],
154
- });
155
- return exchange;
156
- });
157
- }
158
- getSellQuote(amount, crypto, fiat) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- if (this.env === "production") {
161
- const exchange = yield this.getOptimalExchange(crypto);
162
- if (!exchange)
163
- throw new Error("Unable to get optimal exchange");
164
- exchange.options["fetchMarketsMethod"] = "fetch_markets_from_api";
165
- let ticker = yield exchange.fetchTicker(`${crypto}/${fiat}`);
166
- if (!ticker.vwap)
167
- throw new Error("Unable to get ticker vwap");
168
- return {
169
- price: ticker.vwap,
170
- amountCrypto: amount,
171
- amountFiat: amount * ticker.vwap,
172
- crypto,
173
- fiat,
174
- };
175
- }
176
- else {
177
- return {
178
- price: 1,
179
- amountCrypto: 100,
180
- amountFiat: 100,
181
- crypto,
182
- fiat,
183
- };
184
- }
185
- });
186
- }
187
- getDepositAddress(crypto) {
188
- return __awaiter(this, void 0, void 0, function* () {
189
- const exchange = yield this.getOptimalExchange(crypto);
190
- if (!exchange)
191
- throw new Error("Unable to get optimal exchange");
192
- let depositAddress = yield exchange.fetchDepositAddress(crypto);
193
- if (!depositAddress)
194
- throw new Error("Unable to get deposit address");
195
- return depositAddress.address;
196
- });
197
- }
198
- }
199
- exports.ccxtWrapper = new CCXTClient([rio_env_1.RioEnv.Production, rio_env_1.RioEnv.Staging].includes(process.env.RIO_ENV)
200
- ? "production"
201
- : "development");
@@ -1,6 +0,0 @@
1
- import { AxiosInstance, AxiosStatic } from "axios";
2
- export declare class EtherscanClient {
3
- private axios;
4
- constructor(axios: AxiosStatic | AxiosInstance);
5
- getTransactions(address: string): Promise<any[]>;
6
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EtherscanClient = void 0;
13
- class EtherscanClient {
14
- constructor(axios) {
15
- this.axios = axios;
16
- }
17
- getTransactions(address) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const { data } = yield this.axios.get(`https://api.etherscan.io/api?module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=1&offset=100&sort=asc&apikey=${"DDR78IVPYXCVGFKTT6YWBBYZBRD18S2EW1"}`);
20
- return data.result;
21
- });
22
- }
23
- }
24
- exports.EtherscanClient = EtherscanClient;
@@ -1,15 +0,0 @@
1
- import { Crypto } from "../types/crypto";
2
- import { FireblocksSDK } from "fireblocks-sdk";
3
- declare class FireblocksClient {
4
- fireblocks: FireblocksSDK;
5
- constructor(privateKey: string, apiKey: string);
6
- estimateWithdrawFromExchangeFee(crypto: Crypto, address: string, amountCrypto: number): Promise<string | undefined>;
7
- estimateWithdrawFromVaultFee(crypto: Crypto, address: string, amountCrypto: number): Promise<string | undefined>;
8
- withdrawFromExchange(crypto: Crypto, address: string, amountCrypto: number): Promise<void>;
9
- withdrawFromVault(crypto: Crypto, address: string, amountCrypto: number): Promise<void>;
10
- getVaultCryptoBalance(crypto: Crypto): Promise<number>;
11
- getExchangeCryptoBalance(crypto: Crypto): Promise<number>;
12
- getExchangeFiatBalance(): Promise<number>;
13
- }
14
- export declare const fireblocksClient: FireblocksClient;
15
- export {};
@@ -1,140 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.fireblocksClient = void 0;
13
- const fireblocks_sdk_1 = require("fireblocks-sdk");
14
- class FireblocksClient {
15
- constructor(privateKey, apiKey) {
16
- this.fireblocks = new fireblocks_sdk_1.FireblocksSDK(privateKey, apiKey, "https://api.fireblocks.io");
17
- }
18
- estimateWithdrawFromExchangeFee(crypto, address, amountCrypto) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- let estimate = yield this.fireblocks.estimateFeeForTransaction({
21
- assetId: crypto,
22
- source: {
23
- type: fireblocks_sdk_1.PeerType.VAULT_ACCOUNT,
24
- id: "0",
25
- },
26
- destination: {
27
- type: fireblocks_sdk_1.PeerType.ONE_TIME_ADDRESS,
28
- oneTimeAddress: {
29
- address,
30
- },
31
- },
32
- amount: amountCrypto,
33
- operation: fireblocks_sdk_1.TransactionOperation.TRANSFER,
34
- });
35
- return estimate.medium.networkFee;
36
- });
37
- }
38
- estimateWithdrawFromVaultFee(crypto, address, amountCrypto) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- let estimate = yield this.fireblocks.estimateFeeForTransaction({
41
- assetId: crypto,
42
- source: {
43
- type: fireblocks_sdk_1.PeerType.VAULT_ACCOUNT,
44
- id: "0",
45
- },
46
- destination: {
47
- type: fireblocks_sdk_1.PeerType.ONE_TIME_ADDRESS,
48
- oneTimeAddress: {
49
- address,
50
- },
51
- },
52
- amount: amountCrypto,
53
- operation: fireblocks_sdk_1.TransactionOperation.TRANSFER,
54
- });
55
- return estimate.medium.networkFee;
56
- });
57
- }
58
- withdrawFromExchange(crypto, address, amountCrypto) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- let withdraw = yield this.fireblocks.createTransaction({
61
- assetId: crypto,
62
- source: {
63
- type: fireblocks_sdk_1.PeerType.EXCHANGE_ACCOUNT,
64
- id: "b227e245-a32e-c7ab-ff37-b365fa361077",
65
- },
66
- destination: {
67
- type: fireblocks_sdk_1.PeerType.ONE_TIME_ADDRESS,
68
- oneTimeAddress: {
69
- address,
70
- },
71
- },
72
- amount: amountCrypto,
73
- operation: fireblocks_sdk_1.TransactionOperation.TRANSFER,
74
- });
75
- });
76
- }
77
- withdrawFromVault(crypto, address, amountCrypto) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- let withdraw = yield this.fireblocks.createTransaction({
80
- assetId: crypto,
81
- source: {
82
- type: fireblocks_sdk_1.PeerType.VAULT_ACCOUNT,
83
- id: "2",
84
- },
85
- destination: {
86
- type: fireblocks_sdk_1.PeerType.ONE_TIME_ADDRESS,
87
- oneTimeAddress: {
88
- address,
89
- },
90
- },
91
- amount: amountCrypto,
92
- operation: fireblocks_sdk_1.TransactionOperation.TRANSFER,
93
- });
94
- });
95
- }
96
- getVaultCryptoBalance(crypto) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- let vault = yield this.fireblocks.getVaultAccountById("2");
99
- let balance = 0;
100
- if (!(vault === null || vault === void 0 ? void 0 : vault.assets)) {
101
- throw new Error();
102
- }
103
- vault.assets.forEach((asset) => {
104
- if (asset.id === crypto) {
105
- balance += Number(asset.available);
106
- }
107
- });
108
- return balance;
109
- });
110
- }
111
- getExchangeCryptoBalance(crypto) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- let exchanges = yield this.fireblocks.getExchangeAccounts();
114
- let balance = 0;
115
- exchanges.forEach((exchange) => {
116
- exchange.assets.forEach((asset) => {
117
- if (asset.id === crypto) {
118
- balance += Number(asset.available);
119
- }
120
- });
121
- });
122
- return balance;
123
- });
124
- }
125
- getExchangeFiatBalance() {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- let exchanges = yield this.fireblocks.getExchangeAccounts();
128
- let balance = 0;
129
- exchanges.forEach((exchange) => {
130
- exchange.assets.forEach((asset) => {
131
- if (asset.id === "USD") {
132
- balance += Number(asset.available);
133
- }
134
- });
135
- });
136
- return balance;
137
- });
138
- }
139
- }
140
- exports.fireblocksClient = new FireblocksClient(process.env.FIREBLOCKS_PRIVATE_KEY, process.env.FIREBLOCKS_API_KEY);
@@ -1,8 +0,0 @@
1
- import { Fiat } from "../types/fiat";
2
- declare class FixerClient {
3
- private apiKey;
4
- constructor(apiKey: string);
5
- convert(from: Fiat, to: Fiat): Promise<number>;
6
- }
7
- export declare const fixerClient: FixerClient;
8
- export {};