@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.
- package/LICENSE +21 -0
- package/README.md +14 -79
- package/esm/_dnt.shims.js +76 -0
- package/esm/deps/deno.land/std@0.159.0/encoding/base64.js +123 -0
- package/esm/deps/deno.land/std@0.159.0/encoding/base64url.js +49 -0
- package/esm/mod.js +1 -0
- package/esm/package.json +3 -0
- package/esm/src/client.js +139 -0
- package/esm/src/config.js +13 -0
- package/esm/src/types.js +73 -0
- package/package.json +39 -46
- package/script/_dnt.shims.js +88 -0
- package/script/deps/deno.land/std@0.159.0/encoding/base64.js +151 -0
- package/script/deps/deno.land/std@0.159.0/encoding/base64url.js +77 -0
- package/script/mod.js +5 -0
- package/script/package.json +3 -0
- package/script/src/client.js +166 -0
- package/script/src/config.js +16 -0
- package/script/src/types.js +76 -0
- package/types/_dnt.shims.d.ts +18 -0
- package/types/deps/deno.land/std@0.159.0/encoding/base64.d.ts +11 -0
- package/types/deps/deno.land/std@0.159.0/encoding/base64url.d.ts +10 -0
- package/types/mod.d.ts +1 -0
- package/types/src/client.d.ts +19 -0
- package/types/src/config.d.ts +3 -0
- package/types/src/types.d.ts +266 -0
- package/.eslintignore +0 -13
- package/.eslintrc.cjs +0 -20
- package/.github/workflows/release-please.yml +0 -31
- package/.prettierignore +0 -13
- package/.prettierrc +0 -6
- package/CHANGELOG.md +0 -158
- package/src/app.d.ts +0 -11
- package/src/app.html +0 -12
- package/src/lib/client.ts +0 -341
- package/src/lib/config.ts +0 -59
- package/src/lib/index.ts +0 -1
- package/src/routes/index.svelte +0 -32
- package/src/routes/integration.svelte +0 -45
- package/static/favicon.png +0 -0
- package/svelte.config.js +0 -19
- package/test/index.test.ts +0 -20
- package/tsconfig.json +0 -19
- package/vite.config.js +0 -14
- package/vitest.config.ts +0 -7
package/package.json
CHANGED
|
@@ -1,47 +1,40 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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,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 = {}));
|