@monerium/sdk 1.1.0 → 2.0.0-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.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -79
  3. package/esm/_dnt.shims.js +76 -0
  4. package/esm/deps/deno.land/std@0.159.0/encoding/base64.js +123 -0
  5. package/esm/deps/deno.land/std@0.159.0/encoding/base64url.js +49 -0
  6. package/esm/mod.js +1 -0
  7. package/esm/package.json +3 -0
  8. package/esm/src/client.js +139 -0
  9. package/esm/src/config.js +13 -0
  10. package/esm/src/types.js +73 -0
  11. package/package.json +39 -46
  12. package/script/_dnt.shims.js +88 -0
  13. package/script/deps/deno.land/std@0.159.0/encoding/base64.js +151 -0
  14. package/script/deps/deno.land/std@0.159.0/encoding/base64url.js +77 -0
  15. package/script/mod.js +5 -0
  16. package/script/package.json +3 -0
  17. package/script/src/client.js +166 -0
  18. package/script/src/config.js +16 -0
  19. package/script/src/types.js +76 -0
  20. package/types/_dnt.shims.d.ts +18 -0
  21. package/types/deps/deno.land/std@0.159.0/encoding/base64.d.ts +11 -0
  22. package/types/deps/deno.land/std@0.159.0/encoding/base64url.d.ts +10 -0
  23. package/types/mod.d.ts +1 -0
  24. package/types/src/client.d.ts +19 -0
  25. package/types/src/config.d.ts +3 -0
  26. package/types/src/types.d.ts +266 -0
  27. package/.eslintignore +0 -13
  28. package/.eslintrc.cjs +0 -20
  29. package/.github/workflows/release-please.yml +0 -31
  30. package/.prettierignore +0 -13
  31. package/.prettierrc +0 -6
  32. package/CHANGELOG.md +0 -158
  33. package/src/app.d.ts +0 -11
  34. package/src/app.html +0 -12
  35. package/src/lib/client.ts +0 -341
  36. package/src/lib/config.ts +0 -59
  37. package/src/lib/index.ts +0 -1
  38. package/src/routes/index.svelte +0 -32
  39. package/src/routes/integration.svelte +0 -45
  40. package/static/favicon.png +0 -0
  41. package/svelte.config.js +0 -19
  42. package/test/index.test.ts +0 -20
  43. package/tsconfig.json +0 -19
  44. package/vite.config.js +0 -14
  45. package/vitest.config.ts +0 -7
package/package.json CHANGED
@@ -1,47 +1,40 @@
1
1
  {
2
- "name": "@monerium/sdk",
3
- "version": "1.1.0",
4
- "publishConfig": {
5
- "access": "public",
6
- "@monerium:registry": "https://registry.yarnpkg.com"
7
- },
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/monerium/sdk.git"
11
- },
12
- "scripts": {
13
- "dev": "vite dev",
14
- "test": "vitest",
15
- "build": "vite build",
16
- "package": "svelte-kit package",
17
- "preview": "vite preview",
18
- "check": "svelte-check --tsconfig ./tsconfig.json",
19
- "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
20
- "lint": "prettier --check --plugin-search-dir=. . && eslint .",
21
- "format": "prettier --write --plugin-search-dir=. ."
22
- },
23
- "devDependencies": {
24
- "@sveltejs/adapter-auto": "next",
25
- "@sveltejs/kit": "next",
26
- "@typescript-eslint/eslint-plugin": "^5.27.0",
27
- "@typescript-eslint/parser": "^5.27.0",
28
- "eslint": "^8.16.0",
29
- "eslint-config-prettier": "^8.3.0",
30
- "eslint-plugin-svelte3": "^4.0.0",
31
- "prettier": "^2.6.2",
32
- "prettier-plugin-svelte": "^2.7.0",
33
- "svelte": "^3.44.0",
34
- "svelte-check": "^2.7.1",
35
- "svelte-preprocess": "^4.10.6",
36
- "tslib": "^2.3.1",
37
- "typescript": "^4.7.4",
38
- "vite": "^3.0.0",
39
- "vitest": "^0.21.0"
40
- },
41
- "type": "module",
42
- "dependencies": {
43
- "@0xsequence/multicall": "^0.40.5",
44
- "ethers": "^5.6.9",
45
- "oauth-pkce": "^0.0.6"
46
- }
47
- }
2
+ "module": "./esm/mod.js",
3
+ "main": "./script/mod.js",
4
+ "types": "./types/mod.d.ts",
5
+ "name": "@monerium/sdk",
6
+ "version": "2.0.0-alpha",
7
+ "description": "Everything you need to interact with the Monerium API - an electronic money issuer.",
8
+ "license": "MIT",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/monerium/sdk.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/monerium/sdk/issues"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "import": {
19
+ "default": "./esm/mod.js",
20
+ "types": "./types/mod.d.ts"
21
+ },
22
+ "require": {
23
+ "default": "./script/mod.js",
24
+ "types": "./types/mod.d.ts"
25
+ }
26
+ }
27
+ },
28
+ "scripts": {
29
+ "test": "node test_runner.js"
30
+ },
31
+ "dependencies": {
32
+ "@deno/shim-deno": "~0.10.0",
33
+ "@deno/shim-crypto": "~0.3.1",
34
+ "undici": "^5.8.0"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "16.11.37",
38
+ "chalk": "4.1.2"
39
+ }
40
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dntGlobalThis = exports.TextEncoder = exports.Response = exports.Request = exports.Headers = exports.FormData = exports.File = exports.fetch = exports.crypto = exports.Deno = void 0;
4
+ const shim_deno_1 = require("@deno/shim-deno");
5
+ var shim_deno_2 = require("@deno/shim-deno");
6
+ Object.defineProperty(exports, "Deno", { enumerable: true, get: function () { return shim_deno_2.Deno; } });
7
+ const shim_crypto_1 = require("@deno/shim-crypto");
8
+ var shim_crypto_2 = require("@deno/shim-crypto");
9
+ Object.defineProperty(exports, "crypto", { enumerable: true, get: function () { return shim_crypto_2.crypto; } });
10
+ const undici_1 = require("undici");
11
+ var undici_2 = require("undici");
12
+ Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return undici_2.fetch; } });
13
+ Object.defineProperty(exports, "File", { enumerable: true, get: function () { return undici_2.File; } });
14
+ Object.defineProperty(exports, "FormData", { enumerable: true, get: function () { return undici_2.FormData; } });
15
+ Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return undici_2.Headers; } });
16
+ Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return undici_2.Request; } });
17
+ Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return undici_2.Response; } });
18
+ const util_1 = require("util");
19
+ var util_2 = require("util");
20
+ Object.defineProperty(exports, "TextEncoder", { enumerable: true, get: function () { return util_2.TextEncoder; } });
21
+ const dntGlobals = {
22
+ Deno: shim_deno_1.Deno,
23
+ crypto: shim_crypto_1.crypto,
24
+ fetch: undici_1.fetch,
25
+ File: undici_1.File,
26
+ FormData: undici_1.FormData,
27
+ Headers: undici_1.Headers,
28
+ Request: undici_1.Request,
29
+ Response: undici_1.Response,
30
+ TextEncoder: util_1.TextEncoder,
31
+ };
32
+ exports.dntGlobalThis = createMergeProxy(globalThis, dntGlobals);
33
+ // deno-lint-ignore ban-types
34
+ function createMergeProxy(baseObj, extObj) {
35
+ return new Proxy(baseObj, {
36
+ get(_target, prop, _receiver) {
37
+ if (prop in extObj) {
38
+ return extObj[prop];
39
+ }
40
+ else {
41
+ return baseObj[prop];
42
+ }
43
+ },
44
+ set(_target, prop, value) {
45
+ if (prop in extObj) {
46
+ delete extObj[prop];
47
+ }
48
+ baseObj[prop] = value;
49
+ return true;
50
+ },
51
+ deleteProperty(_target, prop) {
52
+ let success = false;
53
+ if (prop in extObj) {
54
+ delete extObj[prop];
55
+ success = true;
56
+ }
57
+ if (prop in baseObj) {
58
+ delete baseObj[prop];
59
+ success = true;
60
+ }
61
+ return success;
62
+ },
63
+ ownKeys(_target) {
64
+ const baseKeys = Reflect.ownKeys(baseObj);
65
+ const extKeys = Reflect.ownKeys(extObj);
66
+ const extKeysSet = new Set(extKeys);
67
+ return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys];
68
+ },
69
+ defineProperty(_target, prop, desc) {
70
+ if (prop in extObj) {
71
+ delete extObj[prop];
72
+ }
73
+ Reflect.defineProperty(baseObj, prop, desc);
74
+ return true;
75
+ },
76
+ getOwnPropertyDescriptor(_target, prop) {
77
+ if (prop in extObj) {
78
+ return Reflect.getOwnPropertyDescriptor(extObj, prop);
79
+ }
80
+ else {
81
+ return Reflect.getOwnPropertyDescriptor(baseObj, prop);
82
+ }
83
+ },
84
+ has(_target, prop) {
85
+ return prop in extObj || prop in baseObj;
86
+ },
87
+ });
88
+ }
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.decode = exports.encode = void 0;
28
+ /**
29
+ * {@linkcode encode} and {@linkcode decode} for
30
+ * [base64](https://en.wikipedia.org/wiki/Base64) encoding.
31
+ *
32
+ * This module is browser compatible.
33
+ *
34
+ * @module
35
+ */
36
+ const dntShim = __importStar(require("../../../../_dnt.shims.js"));
37
+ const base64abc = [
38
+ "A",
39
+ "B",
40
+ "C",
41
+ "D",
42
+ "E",
43
+ "F",
44
+ "G",
45
+ "H",
46
+ "I",
47
+ "J",
48
+ "K",
49
+ "L",
50
+ "M",
51
+ "N",
52
+ "O",
53
+ "P",
54
+ "Q",
55
+ "R",
56
+ "S",
57
+ "T",
58
+ "U",
59
+ "V",
60
+ "W",
61
+ "X",
62
+ "Y",
63
+ "Z",
64
+ "a",
65
+ "b",
66
+ "c",
67
+ "d",
68
+ "e",
69
+ "f",
70
+ "g",
71
+ "h",
72
+ "i",
73
+ "j",
74
+ "k",
75
+ "l",
76
+ "m",
77
+ "n",
78
+ "o",
79
+ "p",
80
+ "q",
81
+ "r",
82
+ "s",
83
+ "t",
84
+ "u",
85
+ "v",
86
+ "w",
87
+ "x",
88
+ "y",
89
+ "z",
90
+ "0",
91
+ "1",
92
+ "2",
93
+ "3",
94
+ "4",
95
+ "5",
96
+ "6",
97
+ "7",
98
+ "8",
99
+ "9",
100
+ "+",
101
+ "/",
102
+ ];
103
+ /**
104
+ * CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727
105
+ * Encodes a given Uint8Array, ArrayBuffer or string into RFC4648 base64 representation
106
+ * @param data
107
+ */
108
+ function encode(data) {
109
+ const uint8 = typeof data === "string"
110
+ ? new dntShim.TextEncoder().encode(data)
111
+ : data instanceof Uint8Array
112
+ ? data
113
+ : new Uint8Array(data);
114
+ let result = "", i;
115
+ const l = uint8.length;
116
+ for (i = 2; i < l; i += 3) {
117
+ result += base64abc[uint8[i - 2] >> 2];
118
+ result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)];
119
+ result += base64abc[((uint8[i - 1] & 0x0f) << 2) | (uint8[i] >> 6)];
120
+ result += base64abc[uint8[i] & 0x3f];
121
+ }
122
+ if (i === l + 1) {
123
+ // 1 octet yet to write
124
+ result += base64abc[uint8[i - 2] >> 2];
125
+ result += base64abc[(uint8[i - 2] & 0x03) << 4];
126
+ result += "==";
127
+ }
128
+ if (i === l) {
129
+ // 2 octets yet to write
130
+ result += base64abc[uint8[i - 2] >> 2];
131
+ result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)];
132
+ result += base64abc[(uint8[i - 1] & 0x0f) << 2];
133
+ result += "=";
134
+ }
135
+ return result;
136
+ }
137
+ exports.encode = encode;
138
+ /**
139
+ * Decodes a given RFC4648 base64 encoded string
140
+ * @param b64
141
+ */
142
+ function decode(b64) {
143
+ const binString = atob(b64);
144
+ const size = binString.length;
145
+ const bytes = new Uint8Array(size);
146
+ for (let i = 0; i < size; i++) {
147
+ bytes[i] = binString.charCodeAt(i);
148
+ }
149
+ return bytes;
150
+ }
151
+ exports.decode = decode;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.decode = exports.encode = void 0;
28
+ /**
29
+ * {@linkcode encode} and {@linkcode decode} for
30
+ * [base64 URL safe](https://en.wikipedia.org/wiki/Base64#URL_applications) encoding.
31
+ *
32
+ * This module is browser compatible.
33
+ *
34
+ * @module
35
+ */
36
+ const base64 = __importStar(require("./base64.js"));
37
+ /*
38
+ * Some variants allow or require omitting the padding '=' signs:
39
+ * https://en.wikipedia.org/wiki/Base64#The_URL_applications
40
+ * @param base64url
41
+ */
42
+ function addPaddingToBase64url(base64url) {
43
+ if (base64url.length % 4 === 2)
44
+ return base64url + "==";
45
+ if (base64url.length % 4 === 3)
46
+ return base64url + "=";
47
+ if (base64url.length % 4 === 1) {
48
+ throw new TypeError("Illegal base64url string!");
49
+ }
50
+ return base64url;
51
+ }
52
+ function convertBase64urlToBase64(b64url) {
53
+ if (!/^[-_A-Z0-9]*?={0,2}$/i.test(b64url)) {
54
+ // Contains characters not part of base64url spec.
55
+ throw new TypeError("Failed to decode base64url: invalid character");
56
+ }
57
+ return addPaddingToBase64url(b64url).replace(/\-/g, "+").replace(/_/g, "/");
58
+ }
59
+ function convertBase64ToBase64url(b64) {
60
+ return b64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
61
+ }
62
+ /**
63
+ * Encodes a given ArrayBuffer or string into a base64url representation
64
+ * @param data
65
+ */
66
+ function encode(data) {
67
+ return convertBase64ToBase64url(base64.encode(data));
68
+ }
69
+ exports.encode = encode;
70
+ /**
71
+ * Converts given base64url encoded data back to original
72
+ * @param b64url
73
+ */
74
+ function decode(b64url) {
75
+ return base64.decode(convertBase64urlToBase64(b64url));
76
+ }
77
+ exports.decode = decode;
package/script/mod.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MoneriumClient = void 0;
4
+ var client_js_1 = require("./src/client.js");
5
+ Object.defineProperty(exports, "MoneriumClient", { enumerable: true, get: function () { return client_js_1.MoneriumClient; } });
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,166 @@
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var _MoneriumClient_instances, _MoneriumClient_env, _MoneriumClient_authPayload, _MoneriumClient_api, _MoneriumClient_isAuthCode, _MoneriumClient_isRefreshToken, _MoneriumClient_isClientCredentials;
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.MoneriumClient = void 0;
39
+ const dntShim = __importStar(require("../_dnt.shims.js"));
40
+ const base64_js_1 = require("../deps/deno.land/std@0.159.0/encoding/base64.js");
41
+ const base64url_js_1 = require("../deps/deno.land/std@0.159.0/encoding/base64url.js");
42
+ const config_js_1 = require("./config.js");
43
+ class MoneriumClient {
44
+ constructor(env = "sandbox") {
45
+ _MoneriumClient_instances.add(this);
46
+ _MoneriumClient_env.set(this, void 0);
47
+ _MoneriumClient_authPayload.set(this, void 0);
48
+ Object.defineProperty(this, "codeVerifier", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ Object.defineProperty(this, "bearerProfile", {
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true,
58
+ value: void 0
59
+ });
60
+ __classPrivateFieldSet(this, _MoneriumClient_env, config_js_1.MONERIUM_CONFIG.environments[env], "f");
61
+ }
62
+ // -- Authentication
63
+ async auth(args) {
64
+ let params;
65
+ if (__classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_isAuthCode).call(this, args)) {
66
+ params = { ...args, grant_type: "authorization_code" };
67
+ }
68
+ else if (__classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_isRefreshToken).call(this, args)) {
69
+ params = { ...args, grant_type: "refresh_token" };
70
+ }
71
+ else if (__classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_isClientCredentials).call(this, args)) {
72
+ params = { ...args, grant_type: "client_credentials" };
73
+ }
74
+ else {
75
+ throw new Error("Authentication method could not be detected.");
76
+ }
77
+ this.bearerProfile = (await __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "post", `auth/token`, new URLSearchParams(params), true));
78
+ __classPrivateFieldSet(this, _MoneriumClient_authPayload, `Bearer ${this.bearerProfile.access_token}`, "f");
79
+ }
80
+ async pkceRequest(args) {
81
+ const buffer = dntShim.crypto.getRandomValues(new Uint8Array(128 / 2));
82
+ let randomString = "";
83
+ for (let i = 0; i < buffer.length; ++i) {
84
+ randomString += ("0" + buffer[i].toString(16)).slice(-2);
85
+ }
86
+ this.codeVerifier = randomString;
87
+ const data = new dntShim.TextEncoder().encode(this.codeVerifier);
88
+ const digest = await dntShim.crypto.subtle.digest("SHA-256", data);
89
+ const base64Digest = (0, base64_js_1.encode)(digest);
90
+ const challenge = (0, base64url_js_1.encode)(base64Digest);
91
+ const params = {
92
+ ...args,
93
+ code_challenge: challenge,
94
+ code_challenge_method: "S256",
95
+ response_type: "code",
96
+ };
97
+ return `${__classPrivateFieldGet(this, _MoneriumClient_env, "f").api}/auth?${new URLSearchParams(params)}`;
98
+ }
99
+ // -- Read Methods
100
+ getAuthContext() {
101
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `auth/context`);
102
+ }
103
+ getProfile(profileId) {
104
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `profiles/${profileId}`);
105
+ }
106
+ getBalances(profileId) {
107
+ if (profileId) {
108
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `profiles/${profileId}/balances`);
109
+ }
110
+ else {
111
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `balances`);
112
+ }
113
+ }
114
+ getOrders(filter) {
115
+ const searchParams = new URLSearchParams(filter);
116
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `orders?${searchParams}`);
117
+ }
118
+ getOrder(orderId) {
119
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", `orders/${orderId}`);
120
+ }
121
+ getTokens() {
122
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "get", "tokens");
123
+ }
124
+ // -- Write Methods
125
+ linkAddress(profileId, body) {
126
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "post", `profiles/${profileId}/addresses`, JSON.stringify(body));
127
+ }
128
+ placeOrder(order, profileId) {
129
+ if (profileId) {
130
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "post", `profiles/${profileId}/orders`, JSON.stringify(order));
131
+ }
132
+ else {
133
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "post", `orders`, JSON.stringify(order));
134
+ }
135
+ }
136
+ uploadSupportingDocument(document) {
137
+ const searchParams = new URLSearchParams(document);
138
+ return __classPrivateFieldGet(this, _MoneriumClient_instances, "m", _MoneriumClient_api).call(this, "post", "files/supporting-document", searchParams, true);
139
+ }
140
+ }
141
+ exports.MoneriumClient = MoneriumClient;
142
+ _MoneriumClient_env = new WeakMap(), _MoneriumClient_authPayload = new WeakMap(), _MoneriumClient_instances = new WeakSet(), _MoneriumClient_api =
143
+ // -- Helper Methods
144
+ async function _MoneriumClient_api(method, resource, body, isFormEncoded) {
145
+ const res = await dntShim.fetch(`${__classPrivateFieldGet(this, _MoneriumClient_env, "f").api}/${resource}`, {
146
+ method,
147
+ headers: {
148
+ "Content-Type": `application/${isFormEncoded ? "x-www-form-urlencoded" : "json"}`,
149
+ Authorization: __classPrivateFieldGet(this, _MoneriumClient_authPayload, "f") || "",
150
+ },
151
+ body,
152
+ });
153
+ const response = await res.json();
154
+ if (res.ok) {
155
+ return response;
156
+ }
157
+ else {
158
+ throw response;
159
+ }
160
+ }, _MoneriumClient_isAuthCode = function _MoneriumClient_isAuthCode(args) {
161
+ return args.code != undefined;
162
+ }, _MoneriumClient_isRefreshToken = function _MoneriumClient_isRefreshToken(args) {
163
+ return args.refresh_token != undefined;
164
+ }, _MoneriumClient_isClientCredentials = function _MoneriumClient_isClientCredentials(args) {
165
+ return args.client_secret != undefined;
166
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MONERIUM_CONFIG = void 0;
4
+ const MONERIUM_CONFIG = {
5
+ environments: {
6
+ production: {
7
+ api: "https://api.monerium.app",
8
+ web: "https://monerium.app",
9
+ },
10
+ sandbox: {
11
+ api: "https://api.monerium.dev",
12
+ web: "https://sandbox.monerium.dev",
13
+ },
14
+ },
15
+ };
16
+ exports.MONERIUM_CONFIG = MONERIUM_CONFIG;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ // --- Config --- //
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.OrderKind = exports.Network = exports.Chain = exports.PaymentStandard = exports.Currency = void 0;
5
+ // --- Client Methods --- //
6
+ var Currency;
7
+ (function (Currency) {
8
+ Currency["eur"] = "eur";
9
+ Currency["usd"] = "usd";
10
+ Currency["gbp"] = "gbp";
11
+ Currency["isk"] = "isk";
12
+ })(Currency = exports.Currency || (exports.Currency = {}));
13
+ // -- authContext
14
+ var Method;
15
+ (function (Method) {
16
+ Method["password"] = "password";
17
+ Method["resource"] = "resource";
18
+ Method["jwt"] = "jwt";
19
+ Method["apiKey"] = "apiKey";
20
+ })(Method || (Method = {}));
21
+ var Type;
22
+ (function (Type) {
23
+ Type["corporate"] = "corporate";
24
+ Type["personal"] = "personal";
25
+ })(Type || (Type = {}));
26
+ var Permission;
27
+ (function (Permission) {
28
+ Permission["read"] = "read";
29
+ Permission["write"] = "write";
30
+ })(Permission || (Permission = {}));
31
+ // -- getProfile
32
+ var KYCState;
33
+ (function (KYCState) {
34
+ KYCState["absent"] = "absent";
35
+ KYCState["submitted"] = "submitted";
36
+ KYCState["pending"] = "pending";
37
+ KYCState["confirmed"] = "confirmed";
38
+ })(KYCState || (KYCState = {}));
39
+ var KYCOutcome;
40
+ (function (KYCOutcome) {
41
+ KYCOutcome["approved"] = "approved";
42
+ KYCOutcome["rejected"] = "rejected";
43
+ KYCOutcome["unknown"] = "unknown";
44
+ })(KYCOutcome || (KYCOutcome = {}));
45
+ var PaymentStandard;
46
+ (function (PaymentStandard) {
47
+ PaymentStandard["iban"] = "iban";
48
+ PaymentStandard["scan"] = "scan";
49
+ })(PaymentStandard = exports.PaymentStandard || (exports.PaymentStandard = {}));
50
+ // -- getBalances
51
+ var Chain;
52
+ (function (Chain) {
53
+ Chain["polygon"] = "polygon";
54
+ Chain["ethereum"] = "ethereum";
55
+ Chain["gnosis"] = "gnosis";
56
+ })(Chain = exports.Chain || (exports.Chain = {}));
57
+ var Network;
58
+ (function (Network) {
59
+ Network["mainnet"] = "mainnet";
60
+ Network["chiado"] = "chiado";
61
+ Network["goerli"] = "goerli";
62
+ Network["mumbai"] = "mumbai";
63
+ })(Network = exports.Network || (exports.Network = {}));
64
+ // --getOrders
65
+ var OrderKind;
66
+ (function (OrderKind) {
67
+ OrderKind["redeem"] = "redeem";
68
+ OrderKind["issue"] = "issue";
69
+ })(OrderKind = exports.OrderKind || (exports.OrderKind = {}));
70
+ var OrderState;
71
+ (function (OrderState) {
72
+ OrderState["placed"] = "placed";
73
+ OrderState["pending"] = "pending";
74
+ OrderState["processed"] = "processed";
75
+ OrderState["rejected"] = "rejected";
76
+ })(OrderState || (OrderState = {}));