@notabene/javascript-sdk 1.32.0 → 2.0.0-next.10

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/dist/lib/index.js DELETED
@@ -1,366 +0,0 @@
1
- var $4mxld$jsxpragmatic = require("jsx-pragmatic");
2
- var $4mxld$zoid = require("zoid");
3
-
4
- function $parcel$export(e, n, v, s) {
5
- Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
6
- }
7
- function $parcel$exportWildcard(dest, source) {
8
- Object.keys(source).forEach(function(key) {
9
- if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
10
- return;
11
- }
12
-
13
- Object.defineProperty(dest, key, {
14
- enumerable: true,
15
- get: function get() {
16
- return source[key];
17
- }
18
- });
19
- });
20
-
21
- return dest;
22
- }
23
- function $parcel$interopDefault(a) {
24
- return a && a.__esModule ? a.default : a;
25
- }
26
-
27
- $parcel$export(module.exports, "Notabene", () => $fef5d623a19b12b5$export$2e2bcd8739ae039);
28
-
29
- var $48505191f6b4c91c$exports = {};
30
-
31
- $parcel$export($48505191f6b4c91c$exports, "WidgetType", () => $48505191f6b4c91c$export$95cdd842edb044c5);
32
- let $48505191f6b4c91c$export$95cdd842edb044c5;
33
- (function($48505191f6b4c91c$export$95cdd842edb044c5) {
34
- $48505191f6b4c91c$export$95cdd842edb044c5["WITHDRAWAL"] = "WITHDRAWAL";
35
- $48505191f6b4c91c$export$95cdd842edb044c5["POST_DEPOSIT"] = "POST_DEPOSIT";
36
- })($48505191f6b4c91c$export$95cdd842edb044c5 || ($48505191f6b4c91c$export$95cdd842edb044c5 = {}));
37
-
38
-
39
-
40
- const $fd25ee12f453fb93$var$generalProps = {
41
- vaspDID: {
42
- type: 'string',
43
- required: true
44
- },
45
- transaction: {
46
- type: 'object',
47
- required: false
48
- },
49
- error: {
50
- type: 'object',
51
- required: false
52
- },
53
- onError: {
54
- type: 'function',
55
- required: true
56
- },
57
- storeTransaction: {
58
- type: 'function',
59
- required: true
60
- },
61
- theme: {
62
- type: 'object',
63
- required: false
64
- },
65
- dictionary: {
66
- type: 'object',
67
- required: false
68
- },
69
- transactionTypeAllowed: {
70
- type: 'string',
71
- required: false
72
- },
73
- nonCustodialDeclarationType: {
74
- type: 'string',
75
- required: false
76
- },
77
- beneficiaryDetails: {
78
- type: 'array',
79
- required: false
80
- },
81
- fieldsProps: {
82
- type: 'object',
83
- required: false
84
- },
85
- fallbacks: {
86
- type: 'array',
87
- required: false
88
- },
89
- optInFeatures: {
90
- type: 'array',
91
- required: false
92
- }
93
- };
94
- const $fd25ee12f453fb93$export$1aafbfc7f973e450 = {
95
- ...$fd25ee12f453fb93$var$generalProps,
96
- onRequireAdditionalInformation: {
97
- type: 'function',
98
- required: true
99
- },
100
- onValidStateChange: {
101
- type: 'function',
102
- required: true
103
- }
104
- };
105
- const $fd25ee12f453fb93$export$73ab9d0d47d71b0c = {
106
- ...$fd25ee12f453fb93$var$generalProps,
107
- close: {
108
- type: 'function'
109
- },
110
- popupOpen: {
111
- type: 'boolean',
112
- required: true
113
- },
114
- setPopupOpen: {
115
- type: 'function',
116
- required: true
117
- }
118
- };
119
-
120
-
121
- class $fef5d623a19b12b5$export$2e2bcd8739ae039 {
122
- constructor(config){
123
- this.config = config;
124
- this.config.nonCustodialDeclarationType = config.nonCustodialDeclarationType || 'SIGNATURE';
125
- this.config.transactionTypeAllowed = config.transactionTypeAllowed || 'ALL';
126
- this.widgetRendered = false;
127
- this.shouldBeDestroyed = false;
128
- this.popupRendered = false;
129
- this.config.fallbacks = this.config.fallbacks || [
130
- {
131
- flow: 'WALLET_NOT_SUPPORTED',
132
- action: 'DECLARATION'
133
- },
134
- ];
135
- }
136
- /**
137
- * Renders a new widget
138
- * @param type - the type of widget to render
139
- */ async renderWidget(type = $48505191f6b4c91c$export$95cdd842edb044c5.WITHDRAWAL) {
140
- this._renderWidget(type);
141
- }
142
- async _renderWidget(type) {
143
- if (this.widgetRendered) {
144
- console.error('Notabene: Widget already rendered, please destroy it first');
145
- this.config.onError(new Error('Widget already rendered, please destroy it first'));
146
- return;
147
- }
148
- this.widget = await this.buildWidget();
149
- this.popup = await this.buildPopup();
150
- this.widget.updateProps({
151
- transaction: this.tx,
152
- type: type
153
- });
154
- this.popup.updateProps({
155
- transaction: this.tx,
156
- type: type
157
- });
158
- this.popup.hide();
159
- await this.widget.render(this.config.container);
160
- await this.renderPopup();
161
- }
162
- async renderPopup() {
163
- if (!this.popup) return;
164
- if (!this.popupRendered) {
165
- await this.popup.render(this.config.container);
166
- this.popupRendered = true;
167
- }
168
- }
169
- async destroyWidget() {
170
- if (!this.widgetRendered || !this.popupRendered) {
171
- this.shouldBeDestroyed = true;
172
- return;
173
- }
174
- await $4mxld$zoid.destroy();
175
- this.shouldBeDestroyed = false;
176
- this.widgetRendered = false;
177
- this.popupRendered = false;
178
- }
179
- setTransaction(tx) {
180
- this.tx = tx;
181
- if (this.widgetRendered) {
182
- this.widget.updateProps({
183
- transaction: tx
184
- });
185
- this.popup.updateProps({
186
- transaction: tx
187
- });
188
- }
189
- }
190
- cleanUpDestroyedComponents() {
191
- if (!this.shouldBeDestroyed) return;
192
- this.destroyWidget();
193
- }
194
- getWidgetUrl() {
195
- const url = new URL(this.config.widget);
196
- url.hash = `authToken=${this.config.authToken}`;
197
- return url.toString();
198
- }
199
- getAdditionalInfoUrl() {
200
- const url = new URL(this.config.widget);
201
- url.search = 'popup=true';
202
- url.hash = `authToken=${this.config.authToken}`;
203
- return url.toString();
204
- }
205
- handleError(err) {
206
- this.error = err;
207
- if (this.widget && this.popup) {
208
- this.widget.updateProps({
209
- error: err
210
- });
211
- this.popup.updateProps({
212
- error: err
213
- });
214
- }
215
- if (!err || !this.config.onError) return;
216
- this.config.onError(err);
217
- }
218
- buildWidget() {
219
- if (!this.config.authToken) {
220
- console.error('Notabene: authToken is required');
221
- return;
222
- }
223
- const builtWidget = ($parcel$interopDefault($4mxld$zoid)).create({
224
- tag: 'widget',
225
- url: this.getWidgetUrl(),
226
- dimensions: {
227
- width: '100%',
228
- height: '280px'
229
- },
230
- props: $fd25ee12f453fb93$export$1aafbfc7f973e450
231
- })({
232
- vaspDID: this.config.vaspDID,
233
- transaction: {},
234
- theme: this.config.theme,
235
- dictionary: this.config.dictionary,
236
- transactionTypeAllowed: this.config.transactionTypeAllowed,
237
- nonCustodialDeclarationType: this.config.nonCustodialDeclarationType,
238
- beneficiaryDetails: this.config.beneficiaryDetails,
239
- fieldsProps: this.config.fieldsProps,
240
- fallbacks: this.config.fallbacks,
241
- optInFeatures: this.config.optInFeatures,
242
- onRequireAdditionalInformation: ()=>{
243
- this.popup.updateProps({
244
- popupOpen: true
245
- });
246
- this.popup.show();
247
- },
248
- onValidStateChange: (isValid)=>{
249
- this.config.onValidStateChange(isValid);
250
- },
251
- error: this.error,
252
- onError: (err)=>{
253
- this.handleError(err);
254
- console.debug('Notabene: Error handler called');
255
- },
256
- storeTransaction: (tx)=>{
257
- this.setTransaction(tx);
258
- }
259
- });
260
- builtWidget.event.on(($parcel$interopDefault($4mxld$zoid)).EVENT.RENDERED, ()=>{
261
- this.widgetRendered = true;
262
- this.cleanUpDestroyedComponents();
263
- });
264
- return builtWidget;
265
- }
266
- buildPopup() {
267
- if (!this.config.authToken) {
268
- console.error('Notabene: authToken is required');
269
- return;
270
- }
271
- const builtPopup = ($parcel$interopDefault($4mxld$zoid)).create({
272
- tag: 'popup',
273
- url: this.getAdditionalInfoUrl(),
274
- children: ()=>{
275
- return {
276
- Transaction: this.tx
277
- };
278
- },
279
- dimensions: {
280
- width: '100%',
281
- height: '100%'
282
- },
283
- props: $fd25ee12f453fb93$export$73ab9d0d47d71b0c,
284
- containerTemplate: ({ uid: uid , doc: doc , frame: frame , prerenderFrame: prerenderFrame })=>{
285
- return $4mxld$jsxpragmatic.node('div', {
286
- id: uid,
287
- class: 'nb-container'
288
- }, $4mxld$jsxpragmatic.node('style', null, `
289
- #${uid}.container {
290
- border: 5px solid red;
291
- }
292
- .nb-overlay {
293
- position: fixed;
294
- width: 100vw;
295
- height: 100vh;
296
- top: 0;
297
- left: 0;
298
- display: flex;
299
- align-items: center;
300
- justify-content: center;
301
- background-color: rgba(0,0,0,0.5);
302
- }
303
- .nb-popup {
304
- width: 100%;
305
- height: 100%;
306
- }
307
- .nb-preloader {
308
- display: none;
309
- }
310
- `), $4mxld$jsxpragmatic.node('div', {
311
- class: 'nb-overlay'
312
- }, $4mxld$jsxpragmatic.node('node', {
313
- el: frame,
314
- class: 'nb-popup'
315
- }), $4mxld$jsxpragmatic.node('node', {
316
- el: prerenderFrame,
317
- class: 'nb-preloader'
318
- }))).render($4mxld$jsxpragmatic.dom({
319
- doc: doc
320
- }));
321
- }
322
- })({
323
- vaspDID: this.config.vaspDID,
324
- transaction: this.tx,
325
- beneficiaryDetails: this.config.beneficiaryDetails,
326
- fieldsProps: this.config.fieldsProps,
327
- storeTransaction: (tx)=>{
328
- this.setTransaction(tx);
329
- console.debug('Notabene: Transaction stored');
330
- },
331
- close: ()=>{
332
- this.popup.close();
333
- console.debug('Notabene: Popup closing');
334
- },
335
- setPopupOpen: (isOpen)=>{
336
- this.popup.updateProps({
337
- popupOpen: isOpen
338
- });
339
- },
340
- error: this.error,
341
- onError: (err)=>{
342
- this.handleError(err);
343
- console.debug('Notabene: Error handler called');
344
- },
345
- popupOpen: false,
346
- theme: this.config.theme,
347
- dictionary: this.config.dictionary,
348
- transactionTypeAllowed: this.config.transactionTypeAllowed,
349
- nonCustodialDeclarationType: this.config.nonCustodialDeclarationType,
350
- fallbacks: this.config.fallbacks,
351
- optInFeatures: this.config.optInFeatures
352
- });
353
- builtPopup.event.on(($parcel$interopDefault($4mxld$zoid)).EVENT.RENDERED, ()=>{
354
- this.popupRendered = true;
355
- this.cleanUpDestroyedComponents();
356
- });
357
- return builtPopup;
358
- }
359
- }
360
- if (window) window.Notabene = $fef5d623a19b12b5$export$2e2bcd8739ae039;
361
-
362
-
363
-
364
- $parcel$exportWildcard(module.exports, $48505191f6b4c91c$exports);
365
-
366
-
package/jest.config.js DELETED
@@ -1,5 +0,0 @@
1
- /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
- module.exports = {
3
- preset: 'ts-jest',
4
- testEnvironment: 'node',
5
- };
package/public/index.html DELETED
@@ -1,93 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- ​
4
- <head>
5
- <meta charset="UTF-8" />
6
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <title>Notabene Widget Example</title>
9
- <script id="notabene" async src="http://localhost:3002/js/notabene.js"></script>
10
- <script>
11
- document.querySelector('#notabene').addEventListener('load', function () {
12
- const nb = new Notabene({
13
- widget: 'http://localhost:8080',
14
- container: '#container',
15
- authToken: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NkstUiJ9.eyJpYXQiOjE2NzI2ODY0ODMsImV4cCI6bnVsbCwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS5ub3RhYmVuZS5pZC9zY2hlbWFzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJBY2Nlc3NUb2tlbiJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJub25jZSI6ImFlZDY4YjllLWUxODEtNDRkMy1hOTdkLTYyODBjODA0NDZlMiIsInNjb3BlIjoiY3VzdG9tZXIifX0sInN1YiI6ImRpZDpldGhyOjB4YzZiMGRiYTRjOGYzNmQ3NjQxYjU4MjEwYzg1ZjI3Mjk1NDcyZmQxMyIsImlzcyI6ImRpZDpldGhyOjB4YzZiMGRiYTRjOGYzNmQ3NjQxYjU4MjEwYzg1ZjI3Mjk1NDcyZmQxMyJ9.-qdoEeJrRcYvtleGJhPDXD-crS0xDLjz3idUevEZKCevD64wjFugKaSP5ncenRSPVezHTNHdIRWlh7Cy6gX8jwE',
16
- onValidStateChange: (isValid) => {
17
- console.log(nb.tx);
18
- if(isValid){
19
- console.log('tx: %o',nb.tx)
20
- }
21
- },
22
- onError: (err) => {
23
- // If any errors are encountered, this function will be called.
24
- console.error(err.message);
25
- },
26
- vaspDID: 'did:ethr:0x8e73ea19a72e89f20339f5a9e4cda8e4b230455c',
27
- theme:{
28
- // primaryColor: '#fff',
29
- // primaryFontColor: '#fff',
30
- // secondaryFontColor: '#fff',
31
- // backgroundColor: 'black',
32
- // mode: 'dark',
33
- },
34
- // transactionTypeAllowed: 'VASP_2_VASP_ONLY',
35
- nonCustodialDeclarationType: 'DECLARATION',
36
- optInFeatures: ['REUSE_ADDRESS_OWNERSHIP_PROOF'],
37
-
38
- // @deprecated
39
- // beneficiaryDetails: ['beneficiaryNationalIdentification'],
40
-
41
- // fieldsProps: {
42
- // nationalIdentification: {
43
- // forceDisplay: true,
44
- // },
45
- // dateAndPlaceOfBirth: {
46
- // forceDisplay: true,
47
- // },
48
- // geographicAddress: {
49
- // forceDisplay: true,
50
- // optional: true
51
- // },
52
- // counterparty: {
53
- // optional: true
54
- // }
55
- // }
56
- fallbacks: [{flow: "WALLET_NOT_SUPPORTED", action: "REJECT"}]
57
- });
58
- nb.setTransaction({
59
- transactionAsset: 'BTC',
60
- // originatorAccountNumber: '0xdc0fF33a148031FasdfD1DE1e18e23456b25E1d8',
61
- beneficiaryAccountNumber: '0x8e73ea19a72e89f20339f5a9e4cda8e4b230455c',
62
- transactionAmount: '400000000000',
63
- });
64
-
65
- switch (window.location.hash.substr(1)) {
66
- case "post_deposit":
67
- nb.renderWidget('POST_DEPOSIT');
68
- break;
69
- case "withdrawal":
70
- default:
71
- nb.renderWidget('WITHDRAWAL');
72
- break;
73
- }
74
- });
75
- </script>
76
- </head>
77
- ​
78
- <body>
79
- <div id="container">
80
- </body>
81
- ​
82
- </html>
83
-
84
- <style>
85
- body{
86
- margin: 0;
87
- padding: 0;
88
- }
89
- #container{
90
- max-width: 100vw;
91
-
92
- }
93
- </style>
File without changes
package/src/lib/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export { default as Notabene } from '../notabene';
2
- export * from '../types';
@@ -1,10 +0,0 @@
1
- import Notabene from '../notabene';
2
- export * from '../types';
3
-
4
- declare global {
5
- interface Window {
6
- Notabene: typeof Notabene;
7
- }
8
- }
9
-
10
- if (window) window.Notabene = Notabene;
@@ -1,81 +0,0 @@
1
- const generalProps = {
2
- vaspDID: {
3
- type: 'string',
4
- required: true,
5
- },
6
- transaction: {
7
- type: 'object',
8
- required: false,
9
- },
10
- error: {
11
- type: 'object',
12
- required: false,
13
- },
14
- onError: {
15
- type: 'function',
16
- required: true,
17
- },
18
- storeTransaction: {
19
- type: 'function',
20
- required: true,
21
- },
22
- theme: {
23
- type: 'object',
24
- required: false,
25
- },
26
- dictionary: {
27
- type: 'object',
28
- required: false,
29
- },
30
- transactionTypeAllowed: {
31
- type: 'string',
32
- required: false,
33
- },
34
- nonCustodialDeclarationType: {
35
- type: 'string',
36
- required: false,
37
- },
38
- beneficiaryDetails: {
39
- type: 'array',
40
- required: false,
41
- },
42
- fieldsProps: {
43
- type: 'object',
44
- required: false,
45
- },
46
- fallbacks: {
47
- type: 'array',
48
- required: false,
49
- },
50
- optInFeatures: {
51
- type: 'array',
52
- required: false,
53
- },
54
- };
55
-
56
- export const widgetProps = {
57
- ...generalProps,
58
- onRequireAdditionalInformation: {
59
- type: 'function',
60
- required: true,
61
- },
62
- onValidStateChange: {
63
- type: 'function',
64
- required: true,
65
- },
66
- };
67
-
68
- export const popupProps = {
69
- ...generalProps,
70
- close: {
71
- type: 'function',
72
- },
73
- popupOpen: {
74
- type: 'boolean',
75
- required: true,
76
- },
77
- setPopupOpen: {
78
- type: 'function',
79
- required: true,
80
- },
81
- };
package/tsconfig.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2020",
4
- "module": "ES2020",
5
- "strict": true,
6
- "esModuleInterop": true,
7
- "forceConsistentCasingInFileNames": true,
8
- "outDir": "./dist",
9
- "declaration": true,
10
- "moduleResolution": "node",
11
- "sourceMap": false,
12
- "baseUrl": "src",
13
- "resolveJsonModule": true,
14
- "lib": ["dom", "es2016"]
15
- },
16
- "include": ["./src"],
17
- "exclude": [".git", "node_modules"]
18
- }