@augustdigital/sdk 0.0.1-alpha

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.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # August Digital SDK
2
+
3
+ This repo serves as the JS SDK powering the August Digital ecosystem that can easily be used in your web app.
4
+
5
+ #### In progress
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./main";
package/lib/index.js ADDED
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./main"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
package/lib/main.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ import { IAddress, IChainId } from "@augustdigital/types";
2
+ interface IAugustDigitalSDK {
3
+ augustKey: string;
4
+ infuraKey: string;
5
+ chainIds: IChainId[];
6
+ }
7
+ export declare class AugustDigitalSDK {
8
+ private augustKey;
9
+ private infuraKey;
10
+ authorized: boolean;
11
+ chainIds: IChainId[];
12
+ constructor({ augustKey, infuraKey, chainIds }: IAugustDigitalSDK);
13
+ init(): Promise<void>;
14
+ getPools(): Promise<{
15
+ address: string;
16
+ asset: {
17
+ symbol: any;
18
+ decimals: any;
19
+ address: `0x${string}`;
20
+ };
21
+ name: string;
22
+ getLoansOperator: IAddress;
23
+ globalLoansAmount: import("@augustdigital/types").INormalizedNumber;
24
+ symbol: string;
25
+ totalAssets: import("@augustdigital/types").INormalizedNumber;
26
+ totalSupply: import("@augustdigital/types").INormalizedNumber;
27
+ decimals: number;
28
+ }[]>;
29
+ getPool(pool: IAddress): Promise<void>;
30
+ }
31
+ export {};
package/lib/main.js ADDED
@@ -0,0 +1,56 @@
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.AugustDigitalSDK = void 0;
13
+ const pools_1 = require("@augustdigital/pools");
14
+ const verify_1 = require("./verify");
15
+ class AugustDigitalSDK {
16
+ constructor({ augustKey, infuraKey, chainIds }) {
17
+ this.augustKey = augustKey;
18
+ this.infuraKey = infuraKey;
19
+ this.authorized = false;
20
+ if (chainIds.length === 0)
21
+ throw new Error("Must pass at least 1 chain id.");
22
+ this.chainIds = chainIds;
23
+ }
24
+ init() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const [infuraCheck, augustCheck] = yield Promise.all([
27
+ (0, verify_1.verifyInfuraKey)(this.infuraKey),
28
+ (0, verify_1.verifyAugustKey)(this.augustKey)
29
+ ]);
30
+ if (!infuraCheck)
31
+ throw new Error("Infura API key is invalid.");
32
+ if (!augustCheck)
33
+ throw new Error("August Digital API key is invalid.");
34
+ this.authorized = true;
35
+ return;
36
+ });
37
+ }
38
+ getPools() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (!this.authorized)
41
+ throw new Error("Not authorized.");
42
+ const infuraOptions = { apiKey: this.infuraKey, chainId: this.chainIds[0] };
43
+ return yield (0, pools_1.getLendingPools)(infuraOptions);
44
+ });
45
+ }
46
+ getPool(pool) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ if (!this.authorized)
49
+ throw new Error("Not authorized.");
50
+ const infuraOptions = { apiKey: this.infuraKey, chainId: this.chainIds[0] };
51
+ return yield (0, pools_1.getLendingPool)(pool, infuraOptions);
52
+ });
53
+ }
54
+ }
55
+ exports.AugustDigitalSDK = AugustDigitalSDK;
56
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src.ts/main.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAuE;AAEvE,qCAA4D;AAO5D,MAAa,gBAAgB;IAM3B,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACU;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC3E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEK,IAAI;;YACR,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnD,IAAA,wBAAe,EAAC,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAA,wBAAe,EAAC,IAAI,CAAC,SAAS,CAAC;aAChC,CAAC,CAAC;YACH,IAAG,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC/D,IAAG,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;KAAA;IAEK,QAAQ;;YACZ,IAAG,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,IAAA,uBAAe,EAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,OAAO,CAAC,IAAc;;YAC1B,IAAG,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,IAAA,sBAAc,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAxCD,4CAwCC"}
@@ -0,0 +1,2 @@
1
+ export declare function verifyInfuraKey(key: string): Promise<boolean>;
2
+ export declare function verifyAugustKey(key: string): Promise<boolean>;
package/lib/verify.js ADDED
@@ -0,0 +1,33 @@
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.verifyInfuraKey = verifyInfuraKey;
13
+ exports.verifyAugustKey = verifyAugustKey;
14
+ const utils_1 = require("@augustdigital/utils");
15
+ function verifyInfuraKey(key) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ if (key.length !== 32)
18
+ return false;
19
+ const regex = /[a-z0-9]+/i;
20
+ if (!regex.test(key))
21
+ return false;
22
+ return true;
23
+ });
24
+ }
25
+ function verifyAugustKey(key) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const verify = yield (0, utils_1.fetchAugustWithKey)(key, utils_1.WEBSERVER_ENDPOINTS.auth.verify);
28
+ if (verify.status === 200)
29
+ return true;
30
+ return false;
31
+ });
32
+ }
33
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src.ts/verify.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,0CAKC;AAED,0CAIC;AAbD,gDAA+E;AAE/E,SAAsB,eAAe,CAAC,GAAW;;QAC/C,IAAG,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC;QAC3B,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAED,SAAsB,eAAe,CAAC,GAAW;;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAkB,EAAC,GAAG,EAAE,2BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7E,IAAG,MAAM,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;CAAA"}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@augustdigital/sdk",
3
+ "version": "0.0.1-alpha",
4
+ "main": "lib/index.js",
5
+ "keywords": ["augustdigital", "sdk", "js", "institutional", "defi"],
6
+ "author": "August Digital",
7
+ "license": "MIT",
8
+ "description": "JS SDK powering the August Digital ecosystem.",
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "test": "pnpm build && cross-env node dist/test"
12
+ },
13
+ "files": [
14
+ "lib"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "dependencies": {
20
+ "@augustdigital/logger": "workspace:^",
21
+ "@augustdigital/pools": "workspace:^",
22
+ "@augustdigital/types": "workspace:^",
23
+ "@augustdigital/utils": "workspace:^"
24
+ }
25
+ }