@coinflowlabs/angular 0.0.1 → 0.0.3
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/esm2022/coinflowlabs-angular.mjs +5 -0
- package/esm2022/lib/coinflow-iframe.component.mjs +67 -0
- package/esm2022/lib/coinflow-purchase-history.component.mjs +16 -0
- package/esm2022/lib/coinflow-purchase-protection.component.mjs +16 -0
- package/esm2022/lib/coinflow-purchase.component.mjs +32 -0
- package/esm2022/lib/coinflow-withdraw-history.component.mjs +16 -0
- package/esm2022/lib/coinflow-withdraw.component.mjs +32 -0
- package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +127 -0
- package/esm2022/lib/common/CoinflowTypes.mjs +13 -0
- package/esm2022/lib/common/CoinflowUtils.mjs +173 -0
- package/esm2022/lib/common/index.mjs +4 -0
- package/esm2022/public-api.mjs +10 -0
- package/fesm2022/coinflowlabs-angular.mjs +486 -0
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/coinflow-iframe.component.d.ts +17 -0
- package/lib/coinflow-purchase-history.component.d.ts +5 -0
- package/lib/coinflow-purchase-protection.component.d.ts +5 -0
- package/lib/coinflow-purchase.component.d.ts +10 -0
- package/lib/coinflow-withdraw-history.component.d.ts +5 -0
- package/lib/coinflow-withdraw.component.d.ts +10 -0
- package/lib/common/CoinflowLibMessageHandlers.d.ts +21 -0
- package/lib/common/CoinflowTypes.d.ts +287 -0
- package/lib/common/CoinflowUtils.d.ts +21 -0
- package/package.json +19 -8
- package/{src/public-api.ts → public-api.d.ts} +0 -4
- package/_update-notifier-last-checked +0 -0
- package/ng-package.json +0 -7
- package/src/lib/coinflow-iframe.component.ts +0 -63
- package/src/lib/coinflow-purchase-history.component.ts +0 -9
- package/src/lib/coinflow-purchase-protection.component.ts +0 -9
- package/src/lib/coinflow-purchase.component.ts +0 -37
- package/src/lib/coinflow-withdraw-history.component.ts +0 -9
- package/src/lib/coinflow-withdraw.component.ts +0 -36
- package/src/lib/common/CoinflowLibMessageHandlers.ts +0 -188
- package/src/lib/common/CoinflowTypes.ts +0 -398
- package/src/lib/common/CoinflowUtils.ts +0 -267
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{src/lib/common/index.ts → lib/common/index.d.ts} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3dsYWJzLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2NvaW5mbG93bGFicy1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Component, HostListener, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { CoinflowUtils, handleIFrameMessage, } from './common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class CoinflowIFrameComponent {
|
|
6
|
+
constructor(sanitizer) {
|
|
7
|
+
this.sanitizer = sanitizer;
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
const coinflowUrl = CoinflowUtils.getCoinflowUrl(this.iframeProps);
|
|
11
|
+
this.dynamicUrl =
|
|
12
|
+
this.sanitizer.bypassSecurityTrustResourceUrl(coinflowUrl);
|
|
13
|
+
}
|
|
14
|
+
onPostMessage(event) {
|
|
15
|
+
if (!event.origin.includes(CoinflowUtils.getCoinflowBaseUrl(this.iframeProps.env)))
|
|
16
|
+
return;
|
|
17
|
+
const promise = handleIFrameMessage(event.data, this.messageHandlers);
|
|
18
|
+
if (!promise)
|
|
19
|
+
return;
|
|
20
|
+
promise.then(this.sendMessage.bind(this));
|
|
21
|
+
}
|
|
22
|
+
sendMessage(message) {
|
|
23
|
+
if (!this.iframe || !this.iframe.nativeElement)
|
|
24
|
+
return;
|
|
25
|
+
this.iframe.nativeElement.contentWindow.postMessage(message, '*');
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowIFrameComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowIFrameComponent, isStandalone: true, selector: "lib-coinflow-iframe", inputs: { iframeProps: "iframeProps", messageHandlers: "messageHandlers" }, host: { listeners: { "window:message": "onPostMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: ` <iframe
|
|
29
|
+
width="100%"
|
|
30
|
+
height="100%"
|
|
31
|
+
#iframe
|
|
32
|
+
scrolling="{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}"
|
|
33
|
+
allow="payment;camera"
|
|
34
|
+
title="withdraw"
|
|
35
|
+
frameBorder="0"
|
|
36
|
+
[src]="dynamicUrl"
|
|
37
|
+
></iframe>`, isInline: true }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowIFrameComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: 'lib-coinflow-iframe',
|
|
43
|
+
standalone: true,
|
|
44
|
+
imports: [],
|
|
45
|
+
template: ` <iframe
|
|
46
|
+
width="100%"
|
|
47
|
+
height="100%"
|
|
48
|
+
#iframe
|
|
49
|
+
scrolling="{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}"
|
|
50
|
+
allow="payment;camera"
|
|
51
|
+
title="withdraw"
|
|
52
|
+
frameBorder="0"
|
|
53
|
+
[src]="dynamicUrl"
|
|
54
|
+
></iframe>`,
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { iframeProps: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], messageHandlers: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], iframe: [{
|
|
61
|
+
type: ViewChild,
|
|
62
|
+
args: ['iframe']
|
|
63
|
+
}], onPostMessage: [{
|
|
64
|
+
type: HostListener,
|
|
65
|
+
args: ['window:message', ['$event']]
|
|
66
|
+
}] } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctaWZyYW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvaW5mbG93LWlmcmFtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUViLG1CQUFtQixHQUNwQixNQUFNLFVBQVUsQ0FBQzs7O0FBa0JsQixNQUFNLE9BQU8sdUJBQXVCO0lBT2xDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDO0lBRS9DLFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsVUFBVTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUUyQyxhQUFhLENBQUMsS0FBVTtRQUNsRSxJQUNFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ3BCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUN2RDtZQUVELE9BQU87UUFFVCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckUsQ0FBQzs4R0EvQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaVVBWHhCOzs7Ozs7Ozs7YUFTQzs7MkZBRUEsdUJBQXVCO2tCQWZuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUU7Ozs7Ozs7OzthQVNDO2lCQUNaO2lGQUVVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHZSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBVXlCLGFBQWE7c0JBQXhELFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2luZmxvd0lGcmFtZVByb3BzLFxuICBDb2luZmxvd1V0aWxzLFxuICBJRnJhbWVNZXNzYWdlSGFuZGxlcnMsXG4gIGhhbmRsZUlGcmFtZU1lc3NhZ2UsXG59IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29pbmZsb3ctaWZyYW1lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgIDxpZnJhbWVcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICNpZnJhbWVcbiAgICBzY3JvbGxpbmc9XCJ7eyBpZnJhbWVQcm9wcz8uaGFuZGxlSGVpZ2h0Q2hhbmdlID8gJ25vJyA6ICd5ZXMnIH19XCJcbiAgICBhbGxvdz1cInBheW1lbnQ7Y2FtZXJhXCJcbiAgICB0aXRsZT1cIndpdGhkcmF3XCJcbiAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgIFtzcmNdPVwiZHluYW1pY1VybFwiXG4gID48L2lmcmFtZT5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2luZmxvd0lGcmFtZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlmcmFtZVByb3BzITogQ29pbmZsb3dJRnJhbWVQcm9wcztcbiAgQElucHV0KCkgbWVzc2FnZUhhbmRsZXJzITogSUZyYW1lTWVzc2FnZUhhbmRsZXJzO1xuXG4gIGR5bmFtaWNVcmw/OiBTYWZlUmVzb3VyY2VVcmw7XG4gIEBWaWV3Q2hpbGQoJ2lmcmFtZScpIGlmcmFtZT86IEVsZW1lbnRSZWY8SFRNTElGcmFtZUVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29pbmZsb3dVcmwgPSBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93VXJsKHRoaXMuaWZyYW1lUHJvcHMpO1xuICAgIHRoaXMuZHluYW1pY1VybCA9XG4gICAgICB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoY29pbmZsb3dVcmwpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1lc3NhZ2UnLCBbJyRldmVudCddKSBvblBvc3RNZXNzYWdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoXG4gICAgICAhZXZlbnQub3JpZ2luLmluY2x1ZGVzKFxuICAgICAgICBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93QmFzZVVybCh0aGlzLmlmcmFtZVByb3BzLmVudilcbiAgICAgIClcbiAgICApXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCBwcm9taXNlID0gaGFuZGxlSUZyYW1lTWVzc2FnZShldmVudC5kYXRhLCB0aGlzLm1lc3NhZ2VIYW5kbGVycyk7XG4gICAgaWYgKCFwcm9taXNlKSByZXR1cm47XG4gICAgcHJvbWlzZS50aGVuKHRoaXMuc2VuZE1lc3NhZ2UuYmluZCh0aGlzKSk7XG4gIH1cblxuICBzZW5kTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuaWZyYW1lIHx8ICF0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5jb250ZW50V2luZG93IS5wb3N0TWVzc2FnZShtZXNzYWdlLCAnKicpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CoinflowPurchaseHistoryComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowPurchaseHistoryComponent, isStandalone: true, selector: "lib-coinflow-purchase-history", ngImport: i0, template: ' <p>coinflow-purchase-history works!</p> ', isInline: true }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseHistoryComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{
|
|
10
|
+
selector: 'lib-coinflow-purchase-history',
|
|
11
|
+
standalone: true,
|
|
12
|
+
imports: [],
|
|
13
|
+
template: ' <p>coinflow-purchase-history works!</p> ',
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctcHVyY2hhc2UtaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb2luZmxvdy1wdXJjaGFzZS1oaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVF4QyxNQUFNLE9BQU8sZ0NBQWdDOzhHQUFoQyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyx5RkFGakMsMkNBQTJDOzsyRkFFMUMsZ0NBQWdDO2tCQU41QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsMkNBQTJDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvaW5mbG93LXB1cmNoYXNlLWhpc3RvcnknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGU6ICcgPHA+Y29pbmZsb3ctcHVyY2hhc2UtaGlzdG9yeSB3b3JrcyE8L3A+ICcsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93UHVyY2hhc2VIaXN0b3J5Q29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CoinflowPurchaseProtectionComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseProtectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowPurchaseProtectionComponent, isStandalone: true, selector: "lib-coinflow-purchase-protection", ngImport: i0, template: ' <p>coinflow-purchase-protection works!</p> ', isInline: true }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseProtectionComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{
|
|
10
|
+
selector: 'lib-coinflow-purchase-protection',
|
|
11
|
+
standalone: true,
|
|
12
|
+
imports: [],
|
|
13
|
+
template: ' <p>coinflow-purchase-protection works!</p> ',
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctcHVyY2hhc2UtcHJvdGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb2luZmxvdy1wdXJjaGFzZS1wcm90ZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVF4QyxNQUFNLE9BQU8sbUNBQW1DOzhHQUFuQyxtQ0FBbUM7a0dBQW5DLG1DQUFtQyw0RkFGcEMsOENBQThDOzsyRkFFN0MsbUNBQW1DO2tCQU4vQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsOENBQThDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvaW5mbG93LXB1cmNoYXNlLXByb3RlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGU6ICcgPHA+Y29pbmZsb3ctcHVyY2hhc2UtcHJvdGVjdGlvbiB3b3JrcyE8L3A+ICcsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93UHVyY2hhc2VQcm90ZWN0aW9uQ29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CoinflowIFrameComponent } from './coinflow-iframe.component';
|
|
3
|
+
import { getHandlers, getWalletPubkey, CoinflowUtils, } from './common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CoinflowPurchaseComponent {
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
const walletPubkey = getWalletPubkey(this.purchaseProps);
|
|
8
|
+
this.messageHandlers = getHandlers(this.purchaseProps);
|
|
9
|
+
this.messageHandlers.handleHeightChange =
|
|
10
|
+
this.purchaseProps.handleHeightChange;
|
|
11
|
+
this.iframeProps = {
|
|
12
|
+
...this.purchaseProps,
|
|
13
|
+
walletPubkey,
|
|
14
|
+
route: `/purchase/${this.purchaseProps?.merchantId}`,
|
|
15
|
+
transaction: CoinflowUtils.getTransaction(this.purchaseProps),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowPurchaseComponent, isStandalone: true, selector: "lib-coinflow-purchase", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ', isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"] }] }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowPurchaseComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: 'lib-coinflow-purchase',
|
|
25
|
+
standalone: true,
|
|
26
|
+
imports: [CoinflowIFrameComponent],
|
|
27
|
+
template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ',
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { purchaseProps: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctcHVyY2hhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvY29pbmZsb3ctcHVyY2hhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFJTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGFBQWEsR0FDZCxNQUFNLFVBQVUsQ0FBQzs7QUFTbEIsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsWUFBWTtZQUNaLEtBQUssRUFBRSxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFO1lBQ3BELFdBQVcsRUFBRSxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7OEdBakJVLHlCQUF5QjtrR0FBekIseUJBQXlCLDZIQUZsQyx3SkFBd0osNERBRmhKLHVCQUF1Qjs7MkZBSXRCLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFFBQVEsRUFDTix3SkFBd0o7aUJBQzNKOzhCQUVVLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb2luZmxvd0lGcmFtZUNvbXBvbmVudH0gZnJvbSAnLi9jb2luZmxvdy1pZnJhbWUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvaW5mbG93SUZyYW1lUHJvcHMsXG4gIENvaW5mbG93UHVyY2hhc2VQcm9wcyxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICBnZXRIYW5kbGVycyxcbiAgZ2V0V2FsbGV0UHVia2V5LFxuICBDb2luZmxvd1V0aWxzLFxufSBmcm9tICcuL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb2luZmxvdy1wdXJjaGFzZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb2luZmxvd0lGcmFtZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOlxuICAgICcgPGxpYi1jb2luZmxvdy1pZnJhbWUgbmctaWY9XCJpZnJhbWVQcm9wcyAmJiBtZXNzYWdlSGFuZGxlcnNcIiBbaWZyYW1lUHJvcHNdPVwiaWZyYW1lUHJvcHMhXCIgW21lc3NhZ2VIYW5kbGVyc109XCJtZXNzYWdlSGFuZGxlcnMhXCI+PC9saWItY29pbmZsb3ctaWZyYW1lPiAnLFxufSlcbmV4cG9ydCBjbGFzcyBDb2luZmxvd1B1cmNoYXNlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVyY2hhc2VQcm9wcyE6IENvaW5mbG93UHVyY2hhc2VQcm9wcztcbiAgaWZyYW1lUHJvcHM/OiBDb2luZmxvd0lGcmFtZVByb3BzO1xuICBtZXNzYWdlSGFuZGxlcnM/OiBJRnJhbWVNZXNzYWdlSGFuZGxlcnM7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgd2FsbGV0UHVia2V5ID0gZ2V0V2FsbGV0UHVia2V5KHRoaXMucHVyY2hhc2VQcm9wcyk7XG4gICAgdGhpcy5tZXNzYWdlSGFuZGxlcnMgPSBnZXRIYW5kbGVycyh0aGlzLnB1cmNoYXNlUHJvcHMpO1xuICAgIHRoaXMubWVzc2FnZUhhbmRsZXJzLmhhbmRsZUhlaWdodENoYW5nZSA9XG4gICAgICB0aGlzLnB1cmNoYXNlUHJvcHMuaGFuZGxlSGVpZ2h0Q2hhbmdlO1xuXG4gICAgdGhpcy5pZnJhbWVQcm9wcyA9IHtcbiAgICAgIC4uLnRoaXMucHVyY2hhc2VQcm9wcyxcbiAgICAgIHdhbGxldFB1YmtleSxcbiAgICAgIHJvdXRlOiBgL3B1cmNoYXNlLyR7dGhpcy5wdXJjaGFzZVByb3BzPy5tZXJjaGFudElkfWAsXG4gICAgICB0cmFuc2FjdGlvbjogQ29pbmZsb3dVdGlscy5nZXRUcmFuc2FjdGlvbih0aGlzLnB1cmNoYXNlUHJvcHMpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CoinflowWithdrawHistoryComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowWithdrawHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowWithdrawHistoryComponent, isStandalone: true, selector: "lib-coinflow-withdraw-history", ngImport: i0, template: ' <p>coinflow-withdraw-history works!</p> ', isInline: true }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowWithdrawHistoryComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{
|
|
10
|
+
selector: 'lib-coinflow-withdraw-history',
|
|
11
|
+
standalone: true,
|
|
12
|
+
imports: [],
|
|
13
|
+
template: ' <p>coinflow-withdraw-history works!</p> ',
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctd2l0aGRyYXctaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb2luZmxvdy13aXRoZHJhdy1oaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVF4QyxNQUFNLE9BQU8sZ0NBQWdDOzhHQUFoQyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyx5RkFGakMsMkNBQTJDOzsyRkFFMUMsZ0NBQWdDO2tCQU41QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsMkNBQTJDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvaW5mbG93LXdpdGhkcmF3LWhpc3RvcnknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGU6ICcgPHA+Y29pbmZsb3ctd2l0aGRyYXctaGlzdG9yeSB3b3JrcyE8L3A+ICcsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93V2l0aGRyYXdIaXN0b3J5Q29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { getHandlers, getWalletPubkey, } from './common';
|
|
3
|
+
import { CoinflowIFrameComponent } from './coinflow-iframe.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CoinflowWithdrawComponent {
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
const walletPubkey = getWalletPubkey(this.withdrawProps);
|
|
8
|
+
this.messageHandlers = getHandlers(this.withdrawProps);
|
|
9
|
+
this.messageHandlers.handleHeightChange =
|
|
10
|
+
this.withdrawProps.handleHeightChange;
|
|
11
|
+
this.iframeProps = {
|
|
12
|
+
...this.withdrawProps,
|
|
13
|
+
walletPubkey,
|
|
14
|
+
route: `/withdraw/${this.withdrawProps?.merchantId}`,
|
|
15
|
+
transaction: undefined,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowWithdrawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: CoinflowWithdrawComponent, isStandalone: true, selector: "lib-coinflow-withdraw", inputs: { withdrawProps: "withdrawProps" }, ngImport: i0, template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ', isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"] }] }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: CoinflowWithdrawComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: 'lib-coinflow-withdraw',
|
|
25
|
+
standalone: true,
|
|
26
|
+
imports: [CoinflowIFrameComponent],
|
|
27
|
+
template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ',
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { withdrawProps: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctd2l0aGRyYXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvY29pbmZsb3ctd2l0aGRyYXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFJTCxXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFTcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsWUFBWTtZQUNaLEtBQUssRUFBRSxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFO1lBQ3BELFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDOzhHQWpCVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2SEFGbEMseUpBQXlKLDREQUZqSix1QkFBdUI7OzJGQUl0Qix5QkFBeUI7a0JBUHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxRQUFRLEVBQ04seUpBQXlKO2lCQUM1Sjs4QkFFVSxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvaW5mbG93SUZyYW1lUHJvcHMsXG4gIENvaW5mbG93V2l0aGRyYXdQcm9wcyxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICBnZXRIYW5kbGVycyxcbiAgZ2V0V2FsbGV0UHVia2V5LFxufSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQge0NvaW5mbG93SUZyYW1lQ29tcG9uZW50fSBmcm9tICcuL2NvaW5mbG93LWlmcmFtZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29pbmZsb3ctd2l0aGRyYXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29pbmZsb3dJRnJhbWVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTpcbiAgICAnICA8bGliLWNvaW5mbG93LWlmcmFtZSBuZy1pZj1cImlmcmFtZVByb3BzICYmIG1lc3NhZ2VIYW5kbGVyc1wiIFtpZnJhbWVQcm9wc109XCJpZnJhbWVQcm9wcyFcIiBbbWVzc2FnZUhhbmRsZXJzXT1cIm1lc3NhZ2VIYW5kbGVycyFcIj48L2xpYi1jb2luZmxvdy1pZnJhbWU+ICcsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93V2l0aGRyYXdDb21wb25lbnQge1xuICBASW5wdXQoKSB3aXRoZHJhd1Byb3BzITogQ29pbmZsb3dXaXRoZHJhd1Byb3BzO1xuICBpZnJhbWVQcm9wcz86IENvaW5mbG93SUZyYW1lUHJvcHM7XG4gIG1lc3NhZ2VIYW5kbGVycz86IElGcmFtZU1lc3NhZ2VIYW5kbGVycztcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB3YWxsZXRQdWJrZXkgPSBnZXRXYWxsZXRQdWJrZXkodGhpcy53aXRoZHJhd1Byb3BzKTtcbiAgICB0aGlzLm1lc3NhZ2VIYW5kbGVycyA9IGdldEhhbmRsZXJzKHRoaXMud2l0aGRyYXdQcm9wcyk7XG4gICAgdGhpcy5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlSGVpZ2h0Q2hhbmdlID1cbiAgICAgIHRoaXMud2l0aGRyYXdQcm9wcy5oYW5kbGVIZWlnaHRDaGFuZ2U7XG5cbiAgICB0aGlzLmlmcmFtZVByb3BzID0ge1xuICAgICAgLi4udGhpcy53aXRoZHJhd1Byb3BzLFxuICAgICAgd2FsbGV0UHVia2V5LFxuICAgICAgcm91dGU6IGAvd2l0aGRyYXcvJHt0aGlzLndpdGhkcmF3UHJvcHM/Lm1lcmNoYW50SWR9YCxcbiAgICAgIHRyYW5zYWN0aW9uOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { CoinflowUtils } from './CoinflowUtils';
|
|
2
|
+
import * as web3 from '@solana/web3.js';
|
|
3
|
+
import base58 from 'bs58';
|
|
4
|
+
var IFrameMessageMethods;
|
|
5
|
+
(function (IFrameMessageMethods) {
|
|
6
|
+
IFrameMessageMethods["SignMessage"] = "signMessage";
|
|
7
|
+
IFrameMessageMethods["SignTransaction"] = "signTransaction";
|
|
8
|
+
IFrameMessageMethods["SendTransaction"] = "sendTransaction";
|
|
9
|
+
IFrameMessageMethods["HeightChange"] = "heightChange";
|
|
10
|
+
})(IFrameMessageMethods || (IFrameMessageMethods = {}));
|
|
11
|
+
export function getWalletPubkey({ wallet, }) {
|
|
12
|
+
if ('publicKey' in wallet) {
|
|
13
|
+
return wallet.publicKey.toString();
|
|
14
|
+
}
|
|
15
|
+
if ('address' in wallet) {
|
|
16
|
+
return wallet.address;
|
|
17
|
+
}
|
|
18
|
+
if ('accountId' in wallet) {
|
|
19
|
+
return wallet.accountId;
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
export function handleIFrameMessage(rawMessage, handlers) {
|
|
24
|
+
let walletCall;
|
|
25
|
+
try {
|
|
26
|
+
walletCall = JSON.parse(rawMessage);
|
|
27
|
+
if (!('method' in walletCall) || !('data' in walletCall))
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
console.error('handleIFrameMessage JSON parse', e);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const { data, method } = walletCall;
|
|
35
|
+
switch (method) {
|
|
36
|
+
case IFrameMessageMethods.SignMessage:
|
|
37
|
+
if (!handlers.handleSignMessage)
|
|
38
|
+
return;
|
|
39
|
+
return handlers.handleSignMessage(data);
|
|
40
|
+
case IFrameMessageMethods.SignTransaction:
|
|
41
|
+
if (!handlers.handleSignTransaction)
|
|
42
|
+
return;
|
|
43
|
+
return handlers.handleSignTransaction(data);
|
|
44
|
+
case IFrameMessageMethods.SendTransaction:
|
|
45
|
+
return handlers.handleSendTransaction(data);
|
|
46
|
+
case IFrameMessageMethods.HeightChange:
|
|
47
|
+
if (!handlers.handleHeightChange)
|
|
48
|
+
return;
|
|
49
|
+
return handlers.handleHeightChange(data);
|
|
50
|
+
}
|
|
51
|
+
console.warn(`Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`);
|
|
52
|
+
}
|
|
53
|
+
export function getHandlers({ wallet, blockchain, }) {
|
|
54
|
+
return CoinflowUtils.byBlockchain(blockchain, {
|
|
55
|
+
solana: () => getSolanaWalletHandlers({ wallet }),
|
|
56
|
+
near: () => getNearWalletHandlers({ wallet }),
|
|
57
|
+
eth: () => getEvmWalletHandlers({ wallet }),
|
|
58
|
+
polygon: () => getEvmWalletHandlers({ wallet }),
|
|
59
|
+
base: () => getEvmWalletHandlers({ wallet }),
|
|
60
|
+
})();
|
|
61
|
+
}
|
|
62
|
+
function getSolanaWalletHandlers({ wallet, }) {
|
|
63
|
+
return {
|
|
64
|
+
handleSendTransaction: async (transaction) => {
|
|
65
|
+
const tx = getSolanaTransaction(transaction);
|
|
66
|
+
return wallet.sendTransaction(tx);
|
|
67
|
+
},
|
|
68
|
+
handleSignMessage: async (message) => {
|
|
69
|
+
const signMessage = wallet.signMessage;
|
|
70
|
+
if (!signMessage) {
|
|
71
|
+
throw new Error('signMessage is not supported by this wallet');
|
|
72
|
+
}
|
|
73
|
+
const signedMessage = await signMessage(new TextEncoder().encode(message));
|
|
74
|
+
return base58.encode(signedMessage);
|
|
75
|
+
},
|
|
76
|
+
handleSignTransaction: async (transaction) => {
|
|
77
|
+
const signTransaction = wallet.signTransaction;
|
|
78
|
+
if (!signTransaction) {
|
|
79
|
+
throw new Error('signTransaction is not supported by this wallet');
|
|
80
|
+
}
|
|
81
|
+
const tx = getSolanaTransaction(transaction);
|
|
82
|
+
const signedTransaction = await signTransaction(tx);
|
|
83
|
+
return base58.encode(signedTransaction.serialize({
|
|
84
|
+
requireAllSignatures: false,
|
|
85
|
+
verifySignatures: false,
|
|
86
|
+
}));
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function getSolanaTransaction(data) {
|
|
91
|
+
if (!web3)
|
|
92
|
+
throw new Error('@solana/web3.js is not defined. Please install @solana/web3.js into your project');
|
|
93
|
+
if (!base58)
|
|
94
|
+
throw new Error('bs58 is not defined. Please install bs58 into your project');
|
|
95
|
+
const parsedUInt8Array = base58.decode(data);
|
|
96
|
+
const vtx = web3.VersionedTransaction.deserialize(parsedUInt8Array);
|
|
97
|
+
if (vtx.version === 'legacy')
|
|
98
|
+
return web3.Transaction.from(parsedUInt8Array);
|
|
99
|
+
return vtx;
|
|
100
|
+
}
|
|
101
|
+
function getNearWalletHandlers({ wallet, }) {
|
|
102
|
+
const nearWallet = wallet;
|
|
103
|
+
return {
|
|
104
|
+
handleSendTransaction: async (transaction) => {
|
|
105
|
+
const action = JSON.parse(Buffer.from(transaction, 'base64').toString());
|
|
106
|
+
const executionOutcome = await nearWallet.signAndSendTransaction(action);
|
|
107
|
+
if (!executionOutcome)
|
|
108
|
+
throw new Error('Transaction did not send');
|
|
109
|
+
const { transaction: transactionResult } = executionOutcome;
|
|
110
|
+
return transactionResult.hash;
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function getEvmWalletHandlers({ wallet, }) {
|
|
115
|
+
const evmWallet = wallet;
|
|
116
|
+
return {
|
|
117
|
+
handleSendTransaction: async (transaction) => {
|
|
118
|
+
const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());
|
|
119
|
+
const { hash } = await evmWallet.sendTransaction(tx);
|
|
120
|
+
return hash;
|
|
121
|
+
},
|
|
122
|
+
handleSignMessage: async (message) => {
|
|
123
|
+
return evmWallet.signMessage(message);
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxJQUFJLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxNQUFNLE1BQU0sTUFBTSxDQUFDO0FBVzFCLElBQUssb0JBS0o7QUFMRCxXQUFLLG9CQUFvQjtJQUN2QixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQywyREFBbUMsQ0FBQTtJQUNuQyxxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQUt4QjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFDOUIsTUFBTSxHQUNnQztJQUN0QyxJQUFJLFdBQVcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLE1BQU0sQ0FBQyxTQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxXQUFXLElBQUksTUFBTSxFQUFFLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFVBQWtCLEVBQ2xCLFFBQStCO0lBRS9CLElBQUksVUFBc0IsQ0FBQztJQUMzQixJQUFJLENBQUM7UUFDSCxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7WUFBRSxPQUFPO0lBQ25FLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRCxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsVUFBVSxDQUFDO0lBQ2xDLFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixLQUFLLG9CQUFvQixDQUFDLFdBQVc7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7Z0JBQUUsT0FBTztZQUN4QyxPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxLQUFLLG9CQUFvQixDQUFDLGVBQWU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUI7Z0JBQUUsT0FBTztZQUM1QyxPQUFPLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxLQUFLLG9CQUFvQixDQUFDLGVBQWU7WUFDdkMsT0FBTyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsS0FBSyxvQkFBb0IsQ0FBQyxZQUFZO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCO2dCQUFFLE9BQU87WUFDekMsT0FBTyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJLENBQ1YseURBQXlELE1BQU0sa0JBQWtCLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUN2SCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsRUFDMUIsTUFBTSxFQUNOLFVBQVUsR0FDMkM7SUFJckQsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTtRQUM1QyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQztRQUMvQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQztRQUMzQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQztRQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQztRQUM3QyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQztLQUMzQyxDQUFDLEVBQUUsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEVBQy9CLE1BQU0sR0FDZ0M7SUFJdEMsT0FBTztRQUNMLHFCQUFxQixFQUFFLEtBQUssRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDbkQsTUFBTSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsT0FBUSxNQUF1QixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQWUsRUFBRSxFQUFFO1lBQzNDLE1BQU0sV0FBVyxHQUFJLE1BQXVCLENBQUMsV0FBVyxDQUFDO1lBQ3pELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7WUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLFdBQVcsQ0FDckMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQ2xDLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELHFCQUFxQixFQUFFLEtBQUssRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDbkQsTUFBTSxlQUFlLEdBQUksTUFBdUIsQ0FBQyxlQUFlLENBQUM7WUFDakUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFHLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixpQkFBaUIsQ0FBQyxTQUFTLENBQUM7Z0JBQzFCLG9CQUFvQixFQUFFLEtBQUs7Z0JBQzNCLGdCQUFnQixFQUFFLEtBQUs7YUFDeEIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixJQUFZO0lBRVosSUFBSSxDQUFDLElBQUk7UUFDUCxNQUFNLElBQUksS0FBSyxDQUNiLGtGQUFrRixDQUNuRixDQUFDO0lBRUosSUFBSSxDQUFDLE1BQU07UUFDVCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO0lBRUosTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RSxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEVBQzdCLE1BQU0sR0FDZ0M7SUFJdEMsTUFBTSxVQUFVLEdBQUcsTUFBb0IsQ0FBQztJQUN4QyxPQUFPO1FBQ0wscUJBQXFCLEVBQUUsS0FBSyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtZQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsZ0JBQWdCO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUNuRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFDLEdBQUcsZ0JBQWdCLENBQUM7WUFDMUQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDaEMsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxFQUM1QixNQUFNLEdBQ2dDO0lBSXRDLE1BQU0sU0FBUyxHQUFHLE1BQW1CLENBQUM7SUFDdEMsT0FBTztRQUNMLHFCQUFxQixFQUFFLEtBQUssRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxNQUFNLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQWUsRUFBRSxFQUFFO1lBQzNDLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG4gIEV0aFdhbGxldCxcbiAgTmVhcldhbGxldCxcbiAgU29sYW5hV2FsbGV0LFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHtDb2luZmxvd1V0aWxzfSBmcm9tICcuL0NvaW5mbG93VXRpbHMnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbiwgVmVyc2lvbmVkVHJhbnNhY3Rpb259IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgKiBhcyB3ZWIzIGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuXG5leHBvcnQgdHlwZSBXYWxsZXRDYWxsID0ge21ldGhvZDogSUZyYW1lTWVzc2FnZU1ldGhvZHM7IGRhdGE6IHN0cmluZ307XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZyYW1lTWVzc2FnZUhhbmRsZXJzIHtcbiAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICBoYW5kbGVTaWduTWVzc2FnZT86IChtZXNzYWdlOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgaGFuZGxlU2lnblRyYW5zYWN0aW9uPzogKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5lbnVtIElGcmFtZU1lc3NhZ2VNZXRob2RzIHtcbiAgU2lnbk1lc3NhZ2UgPSAnc2lnbk1lc3NhZ2UnLFxuICBTaWduVHJhbnNhY3Rpb24gPSAnc2lnblRyYW5zYWN0aW9uJyxcbiAgU2VuZFRyYW5zYWN0aW9uID0gJ3NlbmRUcmFuc2FjdGlvbicsXG4gIEhlaWdodENoYW5nZSA9ICdoZWlnaHRDaGFuZ2UnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2FsbGV0UHVia2V5KHtcbiAgd2FsbGV0LFxufTogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnPik6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAoJ3B1YmxpY0tleScgaW4gd2FsbGV0KSB7XG4gICAgcmV0dXJuIHdhbGxldC5wdWJsaWNLZXkhLnRvU3RyaW5nKCk7XG4gIH1cblxuICBpZiAoJ2FkZHJlc3MnIGluIHdhbGxldCkge1xuICAgIHJldHVybiB3YWxsZXQuYWRkcmVzcztcbiAgfVxuXG4gIGlmICgnYWNjb3VudElkJyBpbiB3YWxsZXQpIHtcbiAgICByZXR1cm4gd2FsbGV0LmFjY291bnRJZDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlSUZyYW1lTWVzc2FnZShcbiAgcmF3TWVzc2FnZTogc3RyaW5nLFxuICBoYW5kbGVyczogSUZyYW1lTWVzc2FnZUhhbmRsZXJzXG4pOiBQcm9taXNlPHN0cmluZz4gfCB2b2lkIHtcbiAgbGV0IHdhbGxldENhbGw6IFdhbGxldENhbGw7XG4gIHRyeSB7XG4gICAgd2FsbGV0Q2FsbCA9IEpTT04ucGFyc2UocmF3TWVzc2FnZSk7XG4gICAgaWYgKCEoJ21ldGhvZCcgaW4gd2FsbGV0Q2FsbCkgfHwgISgnZGF0YScgaW4gd2FsbGV0Q2FsbCkpIHJldHVybjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2hhbmRsZUlGcmFtZU1lc3NhZ2UgSlNPTiBwYXJzZScsIGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHtkYXRhLCBtZXRob2R9ID0gd2FsbGV0Q2FsbDtcbiAgc3dpdGNoIChtZXRob2QpIHtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLlNpZ25NZXNzYWdlOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVTaWduTWVzc2FnZSkgcmV0dXJuO1xuICAgICAgcmV0dXJuIGhhbmRsZXJzLmhhbmRsZVNpZ25NZXNzYWdlKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuU2lnblRyYW5zYWN0aW9uOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVTaWduVHJhbnNhY3Rpb24pIHJldHVybjtcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVTaWduVHJhbnNhY3Rpb24oZGF0YSk7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TZW5kVHJhbnNhY3Rpb246XG4gICAgICByZXR1cm4gaGFuZGxlcnMuaGFuZGxlU2VuZFRyYW5zYWN0aW9uKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuSGVpZ2h0Q2hhbmdlOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVIZWlnaHRDaGFuZ2UpIHJldHVybjtcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVIZWlnaHRDaGFuZ2UoZGF0YSk7XG4gIH1cblxuICBjb25zb2xlLndhcm4oXG4gICAgYERpZG4ndCBleHBlY3QgdG8gZ2V0IGhlcmUsIGhhbmRsZUlGcmFtZU1lc3NhZ2UgbWV0aG9kOiR7bWV0aG9kfSBpcyBub3Qgb25lIG9mICR7T2JqZWN0LnZhbHVlcyhJRnJhbWVNZXNzYWdlTWV0aG9kcyl9YFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGFuZGxlcnMoe1xuICB3YWxsZXQsXG4gIGJsb2NrY2hhaW4sXG59OiBQaWNrPENvaW5mbG93UHVyY2hhc2VQcm9wcywgJ3dhbGxldCcgfCAnYmxvY2tjaGFpbic+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIHJldHVybiBDb2luZmxvd1V0aWxzLmJ5QmxvY2tjaGFpbihibG9ja2NoYWluLCB7XG4gICAgc29sYW5hOiAoKSA9PiBnZXRTb2xhbmFXYWxsZXRIYW5kbGVycyh7d2FsbGV0fSksXG4gICAgbmVhcjogKCkgPT4gZ2V0TmVhcldhbGxldEhhbmRsZXJzKHt3YWxsZXR9KSxcbiAgICBldGg6ICgpID0+IGdldEV2bVdhbGxldEhhbmRsZXJzKHt3YWxsZXR9KSxcbiAgICBwb2x5Z29uOiAoKSA9PiBnZXRFdm1XYWxsZXRIYW5kbGVycyh7d2FsbGV0fSksXG4gICAgYmFzZTogKCkgPT4gZ2V0RXZtV2FsbGV0SGFuZGxlcnMoe3dhbGxldH0pLFxuICB9KSgpO1xufVxuXG5mdW5jdGlvbiBnZXRTb2xhbmFXYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbn06IFBpY2s8Q29pbmZsb3dQdXJjaGFzZVByb3BzLCAnd2FsbGV0Jz4pOiBPbWl0PFxuICBJRnJhbWVNZXNzYWdlSGFuZGxlcnMsXG4gICdoYW5kbGVIZWlnaHRDaGFuZ2UnXG4+IHtcbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVTZW5kVHJhbnNhY3Rpb246IGFzeW5jICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGdldFNvbGFuYVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgICAgIHJldHVybiAod2FsbGV0IGFzIFNvbGFuYVdhbGxldCkuc2VuZFRyYW5zYWN0aW9uKHR4KTtcbiAgICB9LFxuICAgIGhhbmRsZVNpZ25NZXNzYWdlOiBhc3luYyAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzaWduTWVzc2FnZSA9ICh3YWxsZXQgYXMgU29sYW5hV2FsbGV0KS5zaWduTWVzc2FnZTtcbiAgICAgIGlmICghc2lnbk1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduTWVzc2FnZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgd2FsbGV0Jyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBhd2FpdCBzaWduTWVzc2FnZShcbiAgICAgICAgbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKG1lc3NhZ2UpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoc2lnbmVkTWVzc2FnZSk7XG4gICAgfSxcbiAgICBoYW5kbGVTaWduVHJhbnNhY3Rpb246IGFzeW5jICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzaWduVHJhbnNhY3Rpb24gPSAod2FsbGV0IGFzIFNvbGFuYVdhbGxldCkuc2lnblRyYW5zYWN0aW9uO1xuICAgICAgaWYgKCFzaWduVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduVHJhbnNhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHdhbGxldCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgdHggPSBnZXRTb2xhbmFUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICBjb25zdCBzaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHNpZ25UcmFuc2FjdGlvbih0eCk7XG4gICAgICByZXR1cm4gYmFzZTU4LmVuY29kZShcbiAgICAgICAgc2lnbmVkVHJhbnNhY3Rpb24uc2VyaWFsaXplKHtcbiAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgdmVyaWZ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNvbGFuYVRyYW5zYWN0aW9uKFxuICBkYXRhOiBzdHJpbmdcbik6IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24ge1xuICBpZiAoIXdlYjMpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0Bzb2xhbmEvd2ViMy5qcyBpcyBub3QgZGVmaW5lZC4gUGxlYXNlIGluc3RhbGwgQHNvbGFuYS93ZWIzLmpzIGludG8geW91ciBwcm9qZWN0J1xuICAgICk7XG5cbiAgaWYgKCFiYXNlNTgpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2JzNTggaXMgbm90IGRlZmluZWQuIFBsZWFzZSBpbnN0YWxsIGJzNTggaW50byB5b3VyIHByb2plY3QnXG4gICAgKTtcblxuICBjb25zdCBwYXJzZWRVSW50OEFycmF5ID0gYmFzZTU4LmRlY29kZShkYXRhKTtcbiAgY29uc3QgdnR4ID0gd2ViMy5WZXJzaW9uZWRUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZShwYXJzZWRVSW50OEFycmF5KTtcbiAgaWYgKHZ0eC52ZXJzaW9uID09PSAnbGVnYWN5JykgcmV0dXJuIHdlYjMuVHJhbnNhY3Rpb24uZnJvbShwYXJzZWRVSW50OEFycmF5KTtcbiAgcmV0dXJuIHZ0eDtcbn1cblxuZnVuY3Rpb24gZ2V0TmVhcldhbGxldEhhbmRsZXJzKHtcbiAgd2FsbGV0LFxufTogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnPik6IE9taXQ8XG4gIElGcmFtZU1lc3NhZ2VIYW5kbGVycyxcbiAgJ2hhbmRsZUhlaWdodENoYW5nZSdcbj4ge1xuICBjb25zdCBuZWFyV2FsbGV0ID0gd2FsbGV0IGFzIE5lYXJXYWxsZXQ7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgYWN0aW9uID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbSh0cmFuc2FjdGlvbiwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCkpO1xuICAgICAgY29uc3QgZXhlY3V0aW9uT3V0Y29tZSA9IGF3YWl0IG5lYXJXYWxsZXQuc2lnbkFuZFNlbmRUcmFuc2FjdGlvbihhY3Rpb24pO1xuICAgICAgaWYgKCFleGVjdXRpb25PdXRjb21lKSB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIGRpZCBub3Qgc2VuZCcpO1xuICAgICAgY29uc3Qge3RyYW5zYWN0aW9uOiB0cmFuc2FjdGlvblJlc3VsdH0gPSBleGVjdXRpb25PdXRjb21lO1xuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uUmVzdWx0Lmhhc2g7XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RXZtV2FsbGV0SGFuZGxlcnMoe1xuICB3YWxsZXQsXG59OiBQaWNrPENvaW5mbG93UHVyY2hhc2VQcm9wcywgJ3dhbGxldCc+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIGNvbnN0IGV2bVdhbGxldCA9IHdhbGxldCBhcyBFdGhXYWxsZXQ7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHggPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHRyYW5zYWN0aW9uLCAnYmFzZTY0JykudG9TdHJpbmcoKSk7XG4gICAgICBjb25zdCB7aGFzaH0gPSBhd2FpdCBldm1XYWxsZXQuc2VuZFRyYW5zYWN0aW9uKHR4KTtcbiAgICAgIHJldHVybiBoYXNoO1xuICAgIH0sXG4gICAgaGFuZGxlU2lnbk1lc3NhZ2U6IGFzeW5jIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBldm1XYWxsZXQuc2lnbk1lc3NhZ2UobWVzc2FnZSk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export var SettlementType;
|
|
2
|
+
(function (SettlementType) {
|
|
3
|
+
SettlementType["Credits"] = "Credits";
|
|
4
|
+
SettlementType["USDC"] = "USDC";
|
|
5
|
+
SettlementType["Bank"] = "Bank";
|
|
6
|
+
})(SettlementType || (SettlementType = {}));
|
|
7
|
+
export var MerchantStyle;
|
|
8
|
+
(function (MerchantStyle) {
|
|
9
|
+
MerchantStyle["Rounded"] = "rounded";
|
|
10
|
+
MerchantStyle["Sharp"] = "sharp";
|
|
11
|
+
MerchantStyle["Pill"] = "pill";
|
|
12
|
+
})(MerchantStyle || (MerchantStyle = {}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0Nvbm5lY3Rpb24sIFZlcnNpb25lZFRyYW5zYWN0aW9ufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHtQdWJsaWNLZXksIFNpZ25lciwgVHJhbnNhY3Rpb259IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5cbmV4cG9ydCBlbnVtIFNldHRsZW1lbnRUeXBlIHtcbiAgQ3JlZGl0cyA9ICdDcmVkaXRzJyxcbiAgVVNEQyA9ICdVU0RDJyxcbiAgQmFuayA9ICdCYW5rJyxcbn1cblxuZXhwb3J0IGVudW0gTWVyY2hhbnRTdHlsZSB7XG4gIFJvdW5kZWQgPSAncm91bmRlZCcsXG4gIFNoYXJwID0gJ3NoYXJwJyxcbiAgUGlsbCA9ICdwaWxsJyxcbn1cblxuZXhwb3J0IHR5cGUgTWVyY2hhbnRUaGVtZSA9IHtcbiAgcHJpbWFyeT86IHN0cmluZztcbiAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudDI/OiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgdGV4dENvbG9yQWNjZW50Pzogc3RyaW5nO1xuICB0ZXh0Q29sb3JBY3Rpb24/OiBzdHJpbmc7XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIHN0eWxlPzogTWVyY2hhbnRTdHlsZTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJJbmZvIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uSWQ/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbiAgemlwPzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBpcD86IHN0cmluZztcbiAgbGF0Pzogc3RyaW5nO1xuICBsbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBDb2luZmxvdyBUeXBlcyAqKi9cbmV4cG9ydCB0eXBlIENvaW5mbG93QmxvY2tjaGFpbiA9ICdzb2xhbmEnIHwgJ25lYXInIHwgJ2V0aCcgfCAncG9seWdvbicgfCAnYmFzZSc7XG5leHBvcnQgdHlwZSBDb2luZmxvd0VudnMgPSAncHJvZCcgfCAnc3RhZ2luZycgfCAnc2FuZGJveCcgfCAnbG9jYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93VHlwZXMge1xuICBtZXJjaGFudElkOiBzdHJpbmc7XG4gIGVudj86IENvaW5mbG93RW52cztcbiAgbG9hZGVyQmFja2dyb3VuZD86IHN0cmluZztcbiAgYmxvY2tjaGFpbjogQ29pbmZsb3dCbG9ja2NoYWluO1xuICBoYW5kbGVIZWlnaHRDaGFuZ2U/OiAoaGVpZ2h0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHRoZW1lPzogTWVyY2hhbnRUaGVtZTtcbn1cblxuZXhwb3J0IHR5cGUgUGFydGlhbEJ5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuXG5leHBvcnQgdHlwZSBPblN1Y2Nlc3NNZXRob2QgPSAocGFyYW1zOiBzdHJpbmcpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4vKiogV2FsbGV0cyAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29sYW5hV2FsbGV0IHtcbiAgcHVibGljS2V5OiBQdWJsaWNLZXkgfCBudWxsO1xuICBzaWduVHJhbnNhY3Rpb24/OiA8VCBleHRlbmRzIFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24+KFxuICAgIHRyYW5zYWN0aW9uOiBUXG4gICkgPT4gUHJvbWlzZTxUPjtcbiAgc2VuZFRyYW5zYWN0aW9uOiA8VCBleHRlbmRzIFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24+KFxuICAgIHRyYW5zYWN0aW9uOiBUXG4gICkgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICBzaWduTWVzc2FnZT86IChtZXNzYWdlOiBVaW50OEFycmF5KSA9PiBQcm9taXNlPFVpbnQ4QXJyYXk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5lYXJXYWxsZXQge1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgc2lnbkFuZFNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB1bmtub3duKSA9PiBQcm9taXNlPHtcbiAgICB0cmFuc2FjdGlvbjoge2hhc2g6IHN0cmluZ307XG4gIH0+O1xufVxuXG50eXBlIEFjY2Vzc0xpc3QgPSBBcnJheTx7YWRkcmVzczogc3RyaW5nOyBzdG9yYWdlS2V5czogQXJyYXk8c3RyaW5nPn0+O1xudHlwZSBBY2Nlc3NMaXN0aXNoID1cbiAgfCBBY2Nlc3NMaXN0XG4gIHwgQXJyYXk8W3N0cmluZywgQXJyYXk8c3RyaW5nPl0+XG4gIHwgUmVjb3JkPHN0cmluZywgQXJyYXk8c3RyaW5nPj47XG5cbmV4cG9ydCB0eXBlIEV0aFdhbGxldCA9IHtcbiAgYWRkcmVzczogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgc2VuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb246IHtcbiAgICB0bzogc3RyaW5nO1xuICAgIGZyb20/OiBzdHJpbmc7XG4gICAgbm9uY2U/OiBCeXRlcyB8IGJpZ2ludCB8IHN0cmluZyB8IG51bWJlcjtcblxuICAgIGdhc0xpbWl0PzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgZ2FzUHJpY2U/OiBCeXRlcyB8IGJpZ2ludCB8IHN0cmluZyB8IG51bWJlcjtcblxuICAgIGRhdGE/OiBCeXRlc0xpa2U7XG4gICAgdmFsdWU/OiBCeXRlcyB8IGJpZ2ludCB8IHN0cmluZyB8IG51bWJlcjtcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuXG4gICAgdHlwZT86IG51bWJlcjtcbiAgICBhY2Nlc3NMaXN0PzogQWNjZXNzTGlzdGlzaDtcblxuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgbWF4RmVlUGVyR2FzPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBjdXN0b21EYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjY2lwUmVhZEVuYWJsZWQ/OiBib29sZWFuO1xuICB9KSA9PiBQcm9taXNlPHtoYXNoOiBzdHJpbmd9PjtcbiAgc2lnbk1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbn07XG5cbi8qKiBIaXN0b3J5ICoqL1xuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dOZWFySGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXRoSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25IaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0Jhc2VIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdiYXNlJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dIaXN0b3J5UHJvcHMgPVxuICB8IENvaW5mbG93U29sYW5hSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dOZWFySGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dFdGhIaXN0b3J5UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VIaXN0b3J5UHJvcHM7XG5cbi8qKiBUcmFuc2FjdGlvbnMgKiovXG5cbmV4cG9ydCB0eXBlIE5lYXJGdFRyYW5zZmVyQ2FsbEFjdGlvbiA9IHtcbiAgbWV0aG9kTmFtZTogJ2Z0X3RyYW5zZmVyX2NhbGwnO1xuICBhcmdzOiBvYmplY3Q7XG4gIGdhczogc3RyaW5nO1xuICBkZXBvc2l0OiBzdHJpbmc7XG59O1xuXG50eXBlIEJ5dGVzID0gQXJyYXlMaWtlPG51bWJlcj47XG50eXBlIEJ5dGVzTGlrZSA9IEJ5dGVzIHwgc3RyaW5nO1xuXG4vKiogUHVyY2hhc2UgKiovXG5cbmV4cG9ydCB0eXBlIENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSA9IENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvZHVjdFxuICAgKi9cbiAgcHJvZHVjdE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwcm9kdWN0IHR5cGUuIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBpbkdhbWVQcm9kdWN0LCBnYW1lT2ZTa2lsbCwgZGF0YVN0b3JhZ2UsIGNvbXB1dGluZ1Jlc291cmNlcywgc3BvcnRzVGlja2V0LCBlU3BvcnRzVGlja2V0LCBtdXNpY1RpY2tldCwgY29uZmVyZW5jZVRpY2tldCwgdmlydHVhbFNwb3J0c1RpY2tldCwgdmlydHVhbEVTcG9ydHNUaWNrZXQsIHZpcnR1YWxNdXNpY1RpY2tldCwgdmlydHVhbENvbmZlcmVuY2VUaWNrZXQsIGFsY29ob2wsIERMQywgc3Vic2NyaXB0aW9uLCBmdW5kQUNhdXNlLCByZWFsRXN0YXRlLCBjb21wdXRpbmdDb250cmFjdCwgZGlnaXRhbEFydCwgdG9wVXBcbiAgICovXG4gIHByb2R1Y3RUeXBlOlxuICAgIHwgJ2luR2FtZVByb2R1Y3QnXG4gICAgfCAnZ2FtZU9mU2tpbGwnXG4gICAgfCAnZGF0YVN0b3JhZ2UnXG4gICAgfCAnY29tcHV0aW5nUmVzb3VyY2VzJ1xuICAgIHwgJ3Nwb3J0c1RpY2tldCdcbiAgICB8ICdlU3BvcnRzVGlja2V0J1xuICAgIHwgJ211c2ljVGlja2V0J1xuICAgIHwgJ2NvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAndmlydHVhbFNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsRVNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsTXVzaWNUaWNrZXQnXG4gICAgfCAndmlydHVhbENvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAnYWxjb2hvbCdcbiAgICB8ICdETEMnXG4gICAgfCAnc3Vic2NyaXB0aW9uJ1xuICAgIHwgJ2Z1bmRBQ2F1c2UnXG4gICAgfCAncmVhbEVzdGF0ZSdcbiAgICB8ICdjb21wdXRpbmdDb250cmFjdCdcbiAgICB8ICdkaWdpdGFsQXJ0J1xuICAgIHwgJ3RvcFVwJ1xuICAgIHwgJ293bmVyc2hpcENvbnRyYWN0JztcbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgbGlzdCBwcmljZVxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdW5pdHMgc29sZFxuICAgKi9cbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFueSBhZGRpdGlvbmFsIGRhdGEgdGhhdCB0aGUgc3RvcmUgY2FuIHByb3ZpZGUgb24gdGhlIHByb2R1Y3QsIGUuZy4gZGVzY3JpcHRpb24sIGxpbmsgdG8gaW1hZ2UsIGV0Yy5cbiAgICovXG4gIHJhd1Byb2R1Y3REYXRhPzoge1trZXk6IHN0cmluZ106IGFueX07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIGFtb3VudD86IG51bWJlcjtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xuICB3ZWJob29rSW5mbz86IG9iamVjdDtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YT86IENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YTtcbiAgcGxhbkNvZGU/OiBzdHJpbmc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICBjdXN0b21lckluZm8/OiBDdXN0b21lckluZm87XG4gIHNldHRsZW1lbnRUeXBlPzogU2V0dGxlbWVudFR5cGU7XG4gIGF1dGhPbmx5PzogYm9vbGVhbjtcbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24gfCBWZXJzaW9uZWRUcmFuc2FjdGlvbjtcbiAgcGFydGlhbFNpZ25lcnM/OiBTaWduZXJbXTtcbiAgZGVidWdUeD86IGJvb2xlYW47XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xuICB0b2tlbj86IFB1YmxpY0tleSB8IHN0cmluZztcbiAgc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnM/OiBib29sZWFuO1xuICByZW50Pzoge2xhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXJ9O1xuICBuYXRpdmVTb2xUb0NvbnZlcnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dOZWFyUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xuICBhY3Rpb24/OiBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb247XG4gIG5lYXJEZXBvc2l0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHRyYW5zYWN0aW9uPzogRXZtVHJhbnNhY3Rpb25EYXRhO1xuICB0b2tlbj86IHN0cmluZztcbiAgd2FsbGV0OiBFdGhXYWxsZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd1B1cmNoYXNlUHJvcHMgPVxuICB8IENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wcztcblxuLyoqIFdpdGhkcmF3ICoqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBvblN1Y2Nlc3M/OiBPblN1Y2Nlc3NNZXRob2Q7XG4gIHRva2Vucz86IHN0cmluZ1tdO1xuICBsb2NrRGVmYXVsdFRva2VuPzogYm9vbGVhbjtcbiAgYW1vdW50PzogbnVtYmVyO1xuICBlbWFpbD86IHN0cmluZztcbiAgYmFua0FjY291bnRMaW5rUmVkaXJlY3Q/OiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxXYWxsZXRzPzoge1xuICAgIHdhbGxldDogc3RyaW5nO1xuICAgIGJsb2NrY2hhaW46ICdzb2xhbmEnIHwgJ2V0aCcgfCAnbmVhcicgfCAncG9seWdvbic7XG4gIH1bXTtcbiAgc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnM/OiBib29sZWFuO1xuICBsb2NrQW1vdW50PzogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25TaWduZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93V2l0aGRyYXdQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dOZWFyV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93RXRoV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkV2bVJlZGVlbSB7XG4gIHdhaXRGb3JIYXNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3JtYWxSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0cmFuc2FjdGlvbjoge3RvOiBzdHJpbmc7IGRhdGE6IHN0cmluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS25vd25Ub2tlbklkUmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgbmZ0Q29udHJhY3Q6IHN0cmluZztcbiAgbmZ0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYWZlTWludFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdzYWZlTWludCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldHVybmVkVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdyZXR1cm5lZCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG50eXBlIFJlc2Vydm9pck5mdElkSXRlbSA9IE9taXQ8S25vd25Ub2tlbklkUmVkZWVtLCBrZXlvZiBOb3JtYWxSZWRlZW0+O1xuaW50ZXJmYWNlIFJlc2Vydm9pck9yZGVySWRJdGVtIHtcbiAgb3JkZXJJZDogc3RyaW5nO1xufVxudHlwZSBSZXNlcnZvaXJJdGVtID0gUmVzZXJ2b2lyTmZ0SWRJdGVtIHwgUmVzZXJ2b2lyT3JkZXJJZEl0ZW07XG50eXBlIFJlc2Vydm9pckl0ZW1zID0gUmVzZXJ2b2lySXRlbSB8IFJlc2Vydm9pckl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNlcnZvaXJSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAncmVzZXJ2b2lyJztcbiAgaXRlbXM6IFJlc2Vydm9pckl0ZW1zO1xufVxuXG5leHBvcnQgdHlwZSBFdm1UcmFuc2FjdGlvbkRhdGEgPVxuICB8IFNhZmVNaW50UmVkZWVtXG4gIHwgUmV0dXJuZWRUb2tlbklkUmVkZWVtXG4gIHwgUmVzZXJ2b2lyUmVkZWVtXG4gIHwgS25vd25Ub2tlbklkUmVkZWVtXG4gIHwgTm9ybWFsUmVkZWVtO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93SUZyYW1lUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PENvaW5mbG93VHlwZXMsICdtZXJjaGFudElkJz4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyxcbiAgICAgIHwgJ2NoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSdcbiAgICAgIHwgJ3dlYmhvb2tJbmZvJ1xuICAgICAgfCAnYW1vdW50J1xuICAgICAgfCAnY3VzdG9tZXJJbmZvJ1xuICAgICAgfCAnc2V0dGxlbWVudFR5cGUnXG4gICAgICB8ICdlbWFpbCdcbiAgICAgIHwgJ3BsYW5Db2RlJ1xuICAgICAgfCAnZGV2aWNlSWQnXG4gICAgPixcbiAgICBQaWNrPFxuICAgICAgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzLFxuICAgICAgfCAnYmFua0FjY291bnRMaW5rUmVkaXJlY3QnXG4gICAgICB8ICdhZGRpdGlvbmFsV2FsbGV0cydcbiAgICAgIHwgJ3RyYW5zYWN0aW9uU2lnbmVyJ1xuICAgICAgfCAnbG9ja0Ftb3VudCdcbiAgICAgIHwgJ2xvY2tEZWZhdWx0VG9rZW4nXG4gICAgPixcbiAgICBQaWNrPENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcywgJ2F1dGhPbmx5Jz4sXG4gICAgUGljazxDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHMsICdyZW50JyB8ICduYXRpdmVTb2xUb0NvbnZlcnQnIHwgJ3Rva2VuJz4ge1xuICB3YWxsZXRQdWJrZXk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHJvdXRlOiBzdHJpbmc7XG4gIHJvdXRlUHJlZml4Pzogc3RyaW5nO1xuICB0cmFuc2FjdGlvbj86IHN0cmluZztcbiAgdG9rZW5zPzogc3RyaW5nW10gfCBQdWJsaWNLZXlbXTtcbiAgc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnM/OiBib29sZWFuO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbiAgbWVyY2hhbnRDc3M/OiBzdHJpbmc7XG4gIGNvbG9yPzogJ3doaXRlJyB8ICdibGFjayc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
2
|
+
import base58 from 'bs58';
|
|
3
|
+
export class CoinflowUtils {
|
|
4
|
+
constructor(env) {
|
|
5
|
+
this.env = env ?? 'prod';
|
|
6
|
+
if (this.env === 'prod')
|
|
7
|
+
this.url = 'https://api.coinflow.cash';
|
|
8
|
+
else if (this.env === 'local')
|
|
9
|
+
this.url = 'http://localhost:5000';
|
|
10
|
+
else
|
|
11
|
+
this.url = `https://api-${this.env}.coinflow.cash`;
|
|
12
|
+
}
|
|
13
|
+
async getNSurePartnerId(merchantId) {
|
|
14
|
+
return fetch(this.url + `/merchant/view/${merchantId}`)
|
|
15
|
+
.then(response => response.json())
|
|
16
|
+
.then((json) => json.nSureSettings?.nSurePartnerId || json.nSurePartnerId)
|
|
17
|
+
.catch(e => {
|
|
18
|
+
console.error(e);
|
|
19
|
+
return undefined;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async getCreditBalance(publicKey, merchantId, blockchain) {
|
|
23
|
+
const response = await fetch(this.url + `/api/customer/balances/${merchantId}`, {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
headers: {
|
|
26
|
+
'x-coinflow-auth-wallet': publicKey,
|
|
27
|
+
'x-coinflow-auth-blockchain': blockchain,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
const { credits } = await response.json();
|
|
31
|
+
return credits;
|
|
32
|
+
}
|
|
33
|
+
static getCoinflowBaseUrl(env) {
|
|
34
|
+
if (!env || env === 'prod')
|
|
35
|
+
return 'https://coinflow.cash';
|
|
36
|
+
if (env === 'local')
|
|
37
|
+
return 'http://localhost:3000';
|
|
38
|
+
return `https://${env}.coinflow.cash`;
|
|
39
|
+
}
|
|
40
|
+
static getCoinflowApiUrl(env) {
|
|
41
|
+
if (!env || env === 'prod')
|
|
42
|
+
return 'https://api.coinflow.cash';
|
|
43
|
+
if (env === 'local')
|
|
44
|
+
return 'http://localhost:5000';
|
|
45
|
+
return `https://api-${env}.coinflow.cash`;
|
|
46
|
+
}
|
|
47
|
+
static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, }) {
|
|
48
|
+
const prefix = routePrefix
|
|
49
|
+
? `/${routePrefix}/${blockchain}`
|
|
50
|
+
: `/${blockchain}`;
|
|
51
|
+
const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
|
|
52
|
+
url.searchParams.append('pubkey', walletPubkey);
|
|
53
|
+
if (transaction) {
|
|
54
|
+
url.searchParams.append('transaction', transaction);
|
|
55
|
+
}
|
|
56
|
+
if (amount) {
|
|
57
|
+
url.searchParams.append('amount', amount.toString());
|
|
58
|
+
}
|
|
59
|
+
if (supportsVersionedTransactions) {
|
|
60
|
+
url.searchParams.append('supportsVersionedTransactions', 'true');
|
|
61
|
+
}
|
|
62
|
+
if (webhookInfo) {
|
|
63
|
+
url.searchParams.append('webhookInfo', Buffer.from(JSON.stringify(webhookInfo)).toString('base64'));
|
|
64
|
+
}
|
|
65
|
+
if (theme) {
|
|
66
|
+
url.searchParams.append('theme', Buffer.from(JSON.stringify(theme)).toString('base64'));
|
|
67
|
+
}
|
|
68
|
+
if (customerInfo) {
|
|
69
|
+
url.searchParams.append('customerInfo', Buffer.from(JSON.stringify(customerInfo)).toString('base64'));
|
|
70
|
+
}
|
|
71
|
+
if (email) {
|
|
72
|
+
url.searchParams.append('email', email);
|
|
73
|
+
}
|
|
74
|
+
if (token) {
|
|
75
|
+
url.searchParams.append('token', token.toString());
|
|
76
|
+
}
|
|
77
|
+
if (tokens) {
|
|
78
|
+
url.searchParams.append('tokens', tokens.toString());
|
|
79
|
+
}
|
|
80
|
+
if (loaderBackground) {
|
|
81
|
+
url.searchParams.append('loaderBackground', loaderBackground);
|
|
82
|
+
}
|
|
83
|
+
if (handleHeightChange) {
|
|
84
|
+
url.searchParams.append('useHeightChange', 'true');
|
|
85
|
+
}
|
|
86
|
+
if (bankAccountLinkRedirect) {
|
|
87
|
+
url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
|
|
88
|
+
}
|
|
89
|
+
if (additionalWallets)
|
|
90
|
+
url.searchParams.append('additionalWallets', JSON.stringify(additionalWallets));
|
|
91
|
+
if (nearDeposit)
|
|
92
|
+
url.searchParams.append('nearDeposit', nearDeposit);
|
|
93
|
+
if (chargebackProtectionData)
|
|
94
|
+
url.searchParams.append('chargebackProtectionData', JSON.stringify(chargebackProtectionData));
|
|
95
|
+
if (deviceId) {
|
|
96
|
+
url.searchParams.append('deviceId', deviceId);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
if (typeof window !== 'undefined') {
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
101
|
+
// @ts-ignore
|
|
102
|
+
const deviceId = window?.nSureSDK?.getDeviceId();
|
|
103
|
+
if (deviceId)
|
|
104
|
+
url.searchParams.append('deviceId', deviceId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (merchantCss)
|
|
108
|
+
url.searchParams.append('merchantCss', merchantCss);
|
|
109
|
+
if (color)
|
|
110
|
+
url.searchParams.append('color', color);
|
|
111
|
+
if (rent)
|
|
112
|
+
url.searchParams.append('rent', rent.lamports.toString());
|
|
113
|
+
if (nativeSolToConvert)
|
|
114
|
+
url.searchParams.append('nativeSolToConvert', nativeSolToConvert.lamports.toString());
|
|
115
|
+
if (lockDefaultToken)
|
|
116
|
+
url.searchParams.append('lockDefaultToken', 'true');
|
|
117
|
+
if (planCode)
|
|
118
|
+
url.searchParams.append('planCode', planCode);
|
|
119
|
+
if (disableApplePay)
|
|
120
|
+
url.searchParams.append('disableApplePay', 'true');
|
|
121
|
+
if (disableGooglePay)
|
|
122
|
+
url.searchParams.append('disableGooglePay', 'true');
|
|
123
|
+
if (settlementType)
|
|
124
|
+
url.searchParams.append('settlementType', settlementType);
|
|
125
|
+
if (lockAmount)
|
|
126
|
+
url.searchParams.append('lockAmount', 'true');
|
|
127
|
+
if (usePermit === false)
|
|
128
|
+
url.searchParams.append('usePermit', 'false');
|
|
129
|
+
if (transactionSigner)
|
|
130
|
+
url.searchParams.append('transactionSigner', transactionSigner);
|
|
131
|
+
if (authOnly === true)
|
|
132
|
+
url.searchParams.append('authOnly', 'true');
|
|
133
|
+
return url.toString();
|
|
134
|
+
}
|
|
135
|
+
static getTransaction(props) {
|
|
136
|
+
if ('transaction' in props) {
|
|
137
|
+
const { transaction } = props;
|
|
138
|
+
if (transaction instanceof Transaction) {
|
|
139
|
+
return base58.encode(transaction.serialize({
|
|
140
|
+
requireAllSignatures: false,
|
|
141
|
+
verifySignatures: false,
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
if (transaction instanceof VersionedTransaction) {
|
|
145
|
+
return base58.encode(transaction.serialize());
|
|
146
|
+
}
|
|
147
|
+
return btoa(JSON.stringify(transaction));
|
|
148
|
+
}
|
|
149
|
+
if ('action' in props) {
|
|
150
|
+
return btoa(JSON.stringify(props.action));
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
static byBlockchain(blockchain, args) {
|
|
155
|
+
switch (blockchain) {
|
|
156
|
+
case 'solana':
|
|
157
|
+
return args.solana;
|
|
158
|
+
case 'near':
|
|
159
|
+
return args.near;
|
|
160
|
+
case 'polygon':
|
|
161
|
+
return args.polygon;
|
|
162
|
+
case 'eth':
|
|
163
|
+
if (args.eth === undefined)
|
|
164
|
+
throw new Error('blockchain not supported for this operation!');
|
|
165
|
+
return args.eth;
|
|
166
|
+
case 'base':
|
|
167
|
+
return args.base;
|
|
168
|
+
default:
|
|
169
|
+
throw new Error('blockchain not supported!');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLE1BQU0sTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FB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SSxDQUFDLE9BQU8sQ0FBQztZQUN0QixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVM7b0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztnQkFDbEUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2xCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gIENvaW5mbG93RW52cyxcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbiwgVmVyc2lvbmVkVHJhbnNhY3Rpb259IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuXG5leHBvcnQgY2xhc3MgQ29pbmZsb3dVdGlscyB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICB1cmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihlbnY/OiBDb2luZmxvd0VudnMpIHtcbiAgICB0aGlzLmVudiA9IGVudiA/PyAncHJvZCc7XG4gICAgaWYgKHRoaXMuZW52ID09PSAncHJvZCcpIHRoaXMudXJsID0gJ2h0dHBzOi8vYXBpLmNvaW5mbG93LmNhc2gnO1xuICAgIGVsc2UgaWYgKHRoaXMuZW52ID09PSAnbG9jYWwnKSB0aGlzLnVybCA9ICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuICAgIGVsc2UgdGhpcy51cmwgPSBgaHR0cHM6Ly9hcGktJHt0aGlzLmVudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBhc3luYyBnZXROU3VyZVBhcnRuZXJJZChtZXJjaGFudElkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBmZXRjaCh0aGlzLnVybCArIGAvbWVyY2hhbnQvdmlldy8ke21lcmNoYW50SWR9YClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIC50aGVuKFxuICAgICAgICAoanNvbjoge1xuICAgICAgICAgIG5TdXJlUGFydG5lcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgblN1cmVTZXR0aW5nczoge25TdXJlUGFydG5lcklkOiBzdHJpbmcgfCB1bmRlZmluZWR9O1xuICAgICAgICB9KSA9PiBqc29uLm5TdXJlU2V0dGluZ3M/Lm5TdXJlUGFydG5lcklkIHx8IGpzb24ublN1cmVQYXJ0bmVySWRcbiAgICAgIClcbiAgICAgIC5jYXRjaChlID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3JlZGl0QmFsYW5jZShcbiAgICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnbmVhcidcbiAgKTogUHJvbWlzZTx7Y2VudHM6IG51bWJlcn0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgdGhpcy51cmwgKyBgL2FwaS9jdXN0b21lci9iYWxhbmNlcy8ke21lcmNoYW50SWR9YCxcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtd2FsbGV0JzogcHVibGljS2V5LFxuICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtYmxvY2tjaGFpbic6IGJsb2NrY2hhaW4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcbiAgICBjb25zdCB7Y3JlZGl0c30gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgcmV0dXJuIGNyZWRpdHM7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dCYXNlVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vJHtlbnZ9LmNvaW5mbG93LmNhc2hgO1xuICB9XG5cbiAgc3RhdGljIGdldENvaW5mbG93QXBpVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgaWYgKGVudiA9PT0gJ2xvY2FsJykgcmV0dXJuICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuXG4gICAgcmV0dXJuIGBodHRwczovL2FwaS0ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dVcmwoe1xuICAgIHdhbGxldFB1YmtleSxcbiAgICByb3V0ZSxcbiAgICByb3V0ZVByZWZpeCxcbiAgICBlbnYsXG4gICAgYW1vdW50LFxuICAgIHRyYW5zYWN0aW9uLFxuICAgIGJsb2NrY2hhaW4sXG4gICAgc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnMsXG4gICAgd2ViaG9va0luZm8sXG4gICAgZW1haWwsXG4gICAgbG9hZGVyQmFja2dyb3VuZCxcbiAgICBoYW5kbGVIZWlnaHRDaGFuZ2UsXG4gICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3QsXG4gICAgYWRkaXRpb25hbFdhbGxldHMsXG4gICAgbmVhckRlcG9zaXQsXG4gICAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhLFxuICAgIG1lcmNoYW50Q3NzLFxuICAgIGNvbG9yLFxuICAgIHJlbnQsXG4gICAgbG9ja0RlZmF1bHRUb2tlbixcbiAgICB0b2tlbixcbiAgICB0b2tlbnMsXG4gICAgcGxhbkNvZGUsXG4gICAgZGlzYWJsZUFwcGxlUGF5LFxuICAgIGRpc2FibGVHb29nbGVQYXksXG4gICAgY3VzdG9tZXJJbmZvLFxuICAgIHNldHRsZW1lbnRUeXBlLFxuICAgIGxvY2tBbW91bnQsXG4gICAgbmF0aXZlU29sVG9Db252ZXJ0LFxuICAgIHRoZW1lLFxuICAgIHVzZVBlcm1pdCxcbiAgICB0cmFuc2FjdGlvblNpZ25lcixcbiAgICBhdXRoT25seSxcbiAgICBkZXZpY2VJZCxcbiAgfTogQ29pbmZsb3dJRnJhbWVQcm9wcyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gcm91dGVQcmVmaXhcbiAgICAgID8gYC8ke3JvdXRlUHJlZml4fS8ke2Jsb2NrY2hhaW59YFxuICAgICAgOiBgLyR7YmxvY2tjaGFpbn1gO1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocHJlZml4ICsgcm91dGUsIENvaW5mbG93VXRpbHMuZ2V0Q29pbmZsb3dCYXNlVXJsKGVudikpO1xuICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwdWJrZXknLCB3YWxsZXRQdWJrZXkhKTtcblxuICAgIGlmICh0cmFuc2FjdGlvbikge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3RyYW5zYWN0aW9uJywgdHJhbnNhY3Rpb24pO1xuICAgIH1cbiAgICBpZiAoYW1vdW50KSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYW1vdW50JywgYW1vdW50LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmIChzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3N1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICBpZiAod2ViaG9va0luZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnd2ViaG9va0luZm8nLFxuICAgICAgICBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeSh3ZWJob29rSW5mbykpLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeSh0aGVtZSkpLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY3VzdG9tZXJJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2N1c3RvbWVySW5mbycsXG4gICAgICAgIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGN1c3RvbWVySW5mbykpLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZW1haWwpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdlbWFpbCcsIGVtYWlsKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbicsIHRva2VuLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmICh0b2tlbnMpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbnMnLCB0b2tlbnMudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRlckJhY2tncm91bmQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2FkZXJCYWNrZ3JvdW5kJywgbG9hZGVyQmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUhlaWdodENoYW5nZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZUhlaWdodENoYW5nZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgaWYgKGJhbmtBY2NvdW50TGlua1JlZGlyZWN0KSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0JyxcbiAgICAgICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdhZGRpdGlvbmFsV2FsbGV0cycsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgKTtcblxuICAgIGlmIChuZWFyRGVwb3NpdCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ25lYXJEZXBvc2l0JywgbmVhckRlcG9zaXQpO1xuXG4gICAgaWYgKGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgKTtcbiAgICBpZiAoZGV2aWNlSWQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXZpY2VJZCcsIGRldmljZUlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBkZXZpY2VJZCA9IHdpbmRvdz8ublN1cmVTREs/LmdldERldmljZUlkKCk7XG4gICAgICAgIGlmIChkZXZpY2VJZCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXJjaGFudENzcykgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ21lcmNoYW50Q3NzJywgbWVyY2hhbnRDc3MpO1xuICAgIGlmIChjb2xvcikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2NvbG9yJywgY29sb3IpO1xuICAgIGlmIChyZW50KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncmVudCcsIHJlbnQubGFtcG9ydHMudG9TdHJpbmcoKSk7XG4gICAgaWYgKG5hdGl2ZVNvbFRvQ29udmVydClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnbmF0aXZlU29sVG9Db252ZXJ0JyxcbiAgICAgICAgbmF0aXZlU29sVG9Db252ZXJ0LmxhbXBvcnRzLnRvU3RyaW5nKClcbiAgICAgICk7XG4gICAgaWYgKGxvY2tEZWZhdWx0VG9rZW4pIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2NrRGVmYXVsdFRva2VuJywgJ3RydWUnKTtcbiAgICBpZiAocGxhbkNvZGUpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwbGFuQ29kZScsIHBsYW5Db2RlKTtcblxuICAgIGlmIChkaXNhYmxlQXBwbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlQXBwbGVQYXknLCAndHJ1ZScpO1xuICAgIGlmIChkaXNhYmxlR29vZ2xlUGF5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGlzYWJsZUdvb2dsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKHNldHRsZW1lbnRUeXBlKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3NldHRsZW1lbnRUeXBlJywgc2V0dGxlbWVudFR5cGUpO1xuXG4gICAgaWYgKGxvY2tBbW91bnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2NrQW1vdW50JywgJ3RydWUnKTtcblxuICAgIGlmICh1c2VQZXJtaXQgPT09IGZhbHNlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndXNlUGVybWl0JywgJ2ZhbHNlJyk7XG4gICAgaWYgKHRyYW5zYWN0aW9uU2lnbmVyKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3RyYW5zYWN0aW9uU2lnbmVyJywgdHJhbnNhY3Rpb25TaWduZXIpO1xuICAgIGlmIChhdXRoT25seSA9PT0gdHJ1ZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dGhPbmx5JywgJ3RydWUnKTtcblxuICAgIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRUcmFuc2FjdGlvbihwcm9wczogQ29pbmZsb3dQdXJjaGFzZVByb3BzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykge1xuICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgaWYgKHRyYW5zYWN0aW9uIGluc3RhbmNlb2YgVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoXG4gICAgICAgICAgdHJhbnNhY3Rpb24uc2VyaWFsaXplKHtcbiAgICAgICAgICAgIHJlcXVpcmVBbGxTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICAgIHZlcmlmeVNpZ25hdHVyZXM6IGZhbHNlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0cmFuc2FjdGlvbiBpbnN0YW5jZW9mIFZlcnNpb25lZFRyYW5zYWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ0b2EoSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pKTtcbiAgICB9XG5cbiAgICBpZiAoJ2FjdGlvbicgaW4gcHJvcHMpIHtcbiAgICAgIHJldHVybiBidG9hKEpTT04uc3RyaW5naWZ5KHByb3BzLmFjdGlvbikpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgYnlCbG9ja2NoYWluPFQ+KFxuICAgIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbixcbiAgICBhcmdzOiB7c29sYW5hOiBUOyBuZWFyOiBUOyBldGg/OiBUOyBwb2x5Z29uOiBUOyBiYXNlOiBUfVxuICApOiBUIHtcbiAgICBzd2l0Y2ggKGJsb2NrY2hhaW4pIHtcbiAgICAgIGNhc2UgJ3NvbGFuYSc6XG4gICAgICAgIHJldHVybiBhcmdzLnNvbGFuYTtcbiAgICAgIGNhc2UgJ25lYXInOlxuICAgICAgICByZXR1cm4gYXJncy5uZWFyO1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIHJldHVybiBhcmdzLnBvbHlnb247XG4gICAgICBjYXNlICdldGgnOlxuICAgICAgICBpZiAoYXJncy5ldGggPT09IHVuZGVmaW5lZClcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBvcGVyYXRpb24hJyk7XG4gICAgICAgIHJldHVybiBhcmdzLmV0aDtcbiAgICAgIGNhc2UgJ2Jhc2UnOlxuICAgICAgICByZXR1cm4gYXJncy5iYXNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIG5vdCBzdXBwb3J0ZWQhJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|