@coinflowlabs/angular 0.2.2 → 0.3.1

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.
@@ -10,6 +10,11 @@ export class CoinflowMobileWalletButtonComponent {
10
10
  handleMessage({ data }) {
11
11
  try {
12
12
  const res = JSON.parse(data);
13
+ console.log({ data });
14
+ if ('method' in res && res.data.startsWith('ERROR')) {
15
+ this.purchaseProps.onError?.(res.info);
16
+ return;
17
+ }
13
18
  if ('method' in res && res.method === 'loaded') {
14
19
  this.opacity = 1;
15
20
  setTimeout(() => {
@@ -88,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
88
93
  }], alignItems: [{
89
94
  type: Input
90
95
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctbW9iaWxlLXdhbGxldC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvbW9iaWxlLXdhbGxldC9jb2luZmxvdy1tb2JpbGUtd2FsbGV0LWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUlMLFdBQVcsRUFDWCxlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0sV0FBVyxDQUFDOztBQTBCbkIsTUFBTSxPQUFPLG1DQUFtQztJQXhCaEQ7UUE2QkUsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixZQUFPLEdBQVcsTUFBTSxDQUFDO0tBZ0MxQjtJQTNCQyxhQUFhLENBQUMsRUFBQyxJQUFJLEVBQWlCO1FBQ2xDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFN0IsSUFBSSxRQUFRLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsWUFBWTtZQUNaLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUU7WUFDekQsV0FBVyxFQUFFLE1BQU07WUFDbkIsV0FBVyxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUM5RCxDQUFDO0lBQ0osQ0FBQzsrR0FyQ1UsbUNBQW1DO21HQUFuQyxtQ0FBbUMscU9BcEJwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBa0JILDREQW5CRyx1QkFBdUI7OzRGQXFCdEIsbUNBQW1DO2tCQXhCL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBa0JIO2lCQUNSOzhCQUVVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29pbmZsb3dJRnJhbWVDb21wb25lbnR9IGZyb20gJy4uL2NvaW5mbG93LWlmcmFtZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxuICBJRnJhbWVNZXNzYWdlSGFuZGxlcnMsXG4gIGdldEhhbmRsZXJzLFxuICBnZXRXYWxsZXRQdWJrZXksXG4gIENvaW5mbG93VXRpbHMsXG59IGZyb20gJy4uL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb2luZmxvdy1tb2JpbGUtd2FsbGV0LWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb2luZmxvd0lGcmFtZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTtcIj5cbiAgICA8ZGl2XG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJwdXJjaGFzZVByb3BzLmNvbG9yXCJcbiAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIm92ZXJsYXlEaXNwbGF5T3ZlcnJpZGUgPz8gZGlzcGxheVwiXG4gICAgICBbc3R5bGUub3BhY2l0eV09XCJvcGFjaXR5XCJcbiAgICAgIFtzdHlsZS5hbGlnbi1pdGVtc109XCJhbGlnbkl0ZW1zXCJcbiAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogNDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGJvdHRvbTogMDsgbGVmdDogMDsgei1pbmRleDogMjA7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwb2ludGVyLWV2ZW50czogbm9uZTtcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgPGxpYi1jb2luZmxvdy1pZnJhbWVcbiAgICAgICAgKG1lc3NhZ2VFdmVudCk9XCJoYW5kbGVNZXNzYWdlKCRldmVudClcIlxuICAgICAgICBuZy1pZj1cImlmcmFtZVByb3BzICYmIG1lc3NhZ2VIYW5kbGVyc1wiXG4gICAgICAgIFtpZnJhbWVQcm9wc109XCJpZnJhbWVQcm9wcyFcIlxuICAgICAgICBbbWVzc2FnZUhhbmRsZXJzXT1cIm1lc3NhZ2VIYW5kbGVycyFcIlxuICAgICAgPjwvbGliLWNvaW5mbG93LWlmcmFtZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29pbmZsb3dNb2JpbGVXYWxsZXRCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBwdXJjaGFzZVByb3BzITogQ29pbmZsb3dQdXJjaGFzZVByb3BzICYge2NvbG9yOiAnd2hpdGUnIHwgJ2JsYWNrJ307XG4gIEBJbnB1dCgpIHJvdXRlITogc3RyaW5nO1xuICBASW5wdXQoKSBvdmVybGF5RGlzcGxheU92ZXJyaWRlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFsaWduSXRlbXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgb3BhY2l0eTogbnVtYmVyID0gMC44O1xuICBkaXNwbGF5OiBzdHJpbmcgPSAnZmxleCc7XG5cbiAgaWZyYW1lUHJvcHM/OiBDb2luZmxvd0lGcmFtZVByb3BzO1xuICBtZXNzYWdlSGFuZGxlcnM/OiBJRnJhbWVNZXNzYWdlSGFuZGxlcnM7XG5cbiAgaGFuZGxlTWVzc2FnZSh7ZGF0YX06IHtkYXRhOiBzdHJpbmd9KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IEpTT04ucGFyc2UoZGF0YSk7XG5cbiAgICAgIGlmICgnbWV0aG9kJyBpbiByZXMgJiYgcmVzLm1ldGhvZCA9PT0gJ2xvYWRlZCcpIHtcbiAgICAgICAgdGhpcy5vcGFjaXR5ID0gMTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9LCAyMDAwKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgd2FsbGV0UHVia2V5ID0gZ2V0V2FsbGV0UHVia2V5KHRoaXMucHVyY2hhc2VQcm9wcyk7XG4gICAgdGhpcy5tZXNzYWdlSGFuZGxlcnMgPSBnZXRIYW5kbGVycyh0aGlzLnB1cmNoYXNlUHJvcHMpO1xuICAgIHRoaXMubWVzc2FnZUhhbmRsZXJzLmhhbmRsZUhlaWdodENoYW5nZSA9XG4gICAgICB0aGlzLnB1cmNoYXNlUHJvcHMuaGFuZGxlSGVpZ2h0Q2hhbmdlO1xuXG4gICAgdGhpcy5pZnJhbWVQcm9wcyA9IHtcbiAgICAgIC4uLnRoaXMucHVyY2hhc2VQcm9wcyxcbiAgICAgIHdhbGxldFB1YmtleSxcbiAgICAgIHJvdXRlOiBgLyR7dGhpcy5yb3V0ZX0vJHt0aGlzLnB1cmNoYXNlUHJvcHM/Lm1lcmNoYW50SWR9YCxcbiAgICAgIHJvdXRlUHJlZml4OiAnZm9ybScsXG4gICAgICB0cmFuc2FjdGlvbjogQ29pbmZsb3dVdGlscy5nZXRUcmFuc2FjdGlvbih0aGlzLnB1cmNoYXNlUHJvcHMpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctbW9iaWxlLXdhbGxldC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvbW9iaWxlLXdhbGxldC9jb2luZmxvdy1tb2JpbGUtd2FsbGV0LWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUlMLFdBQVcsRUFDWCxlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0sV0FBVyxDQUFDOztBQTBCbkIsTUFBTSxPQUFPLG1DQUFtQztJQXhCaEQ7UUFpQ0UsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixZQUFPLEdBQVcsTUFBTSxDQUFDO0tBc0MxQjtJQWpDQyxhQUFhLENBQUMsRUFBQyxJQUFJLEVBQWlCO1FBQ2xDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDcEIsSUFBSSxRQUFRLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDakIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFFeEMsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixHQUFHLElBQUksQ0FBQyxhQUFhO1lBQ3JCLFlBQVk7WUFDWixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFO1lBQ3pELFdBQVcsRUFBRSxNQUFNO1lBQ25CLFdBQVcsRUFBRSxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7K0dBL0NVLG1DQUFtQzttR0FBbkMsbUNBQW1DLHFPQXBCcEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQWtCSCw0REFuQkcsdUJBQXVCOzs0RkFxQnRCLG1DQUFtQztrQkF4Qi9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQWtCSDtpQkFDUjs4QkFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvaW5mbG93SUZyYW1lQ29tcG9uZW50fSBmcm9tICcuLi9jb2luZmxvdy1pZnJhbWUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvaW5mbG93SUZyYW1lUHJvcHMsXG4gIENvaW5mbG93UHVyY2hhc2VQcm9wcyxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICBnZXRIYW5kbGVycyxcbiAgZ2V0V2FsbGV0UHVia2V5LFxuICBDb2luZmxvd1V0aWxzLFxufSBmcm9tICcuLi9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29pbmZsb3ctbW9iaWxlLXdhbGxldC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29pbmZsb3dJRnJhbWVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgPGRpdlxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwicHVyY2hhc2VQcm9wcy5jb2xvclwiXG4gICAgICBbc3R5bGUuZGlzcGxheV09XCJvdmVybGF5RGlzcGxheU92ZXJyaWRlID8/IGRpc3BsYXlcIlxuICAgICAgW3N0eWxlLm9wYWNpdHldPVwib3BhY2l0eVwiXG4gICAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYWxpZ25JdGVtc1wiXG4gICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDQwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHotaW5kZXg6IDIwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgIDxsaWItY29pbmZsb3ctaWZyYW1lXG4gICAgICAgIChtZXNzYWdlRXZlbnQpPVwiaGFuZGxlTWVzc2FnZSgkZXZlbnQpXCJcbiAgICAgICAgbmctaWY9XCJpZnJhbWVQcm9wcyAmJiBtZXNzYWdlSGFuZGxlcnNcIlxuICAgICAgICBbaWZyYW1lUHJvcHNdPVwiaWZyYW1lUHJvcHMhXCJcbiAgICAgICAgW21lc3NhZ2VIYW5kbGVyc109XCJtZXNzYWdlSGFuZGxlcnMhXCJcbiAgICAgID48L2xpYi1jb2luZmxvdy1pZnJhbWU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93TW9iaWxlV2FsbGV0QnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVyY2hhc2VQcm9wcyE6IENvaW5mbG93UHVyY2hhc2VQcm9wcyAmIHtcbiAgICBjb2xvcjogJ3doaXRlJyB8ICdibGFjayc7XG4gICAgb25FcnJvcj86IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgQElucHV0KCkgcm91dGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG92ZXJsYXlEaXNwbGF5T3ZlcnJpZGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWxpZ25JdGVtczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBvcGFjaXR5OiBudW1iZXIgPSAwLjg7XG4gIGRpc3BsYXk6IHN0cmluZyA9ICdmbGV4JztcblxuICBpZnJhbWVQcm9wcz86IENvaW5mbG93SUZyYW1lUHJvcHM7XG4gIG1lc3NhZ2VIYW5kbGVycz86IElGcmFtZU1lc3NhZ2VIYW5kbGVycztcblxuICBoYW5kbGVNZXNzYWdlKHtkYXRhfToge2RhdGE6IHN0cmluZ30pIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShkYXRhKTtcblxuICAgICAgY29uc29sZS5sb2coe2RhdGF9KTtcbiAgICAgIGlmICgnbWV0aG9kJyBpbiByZXMgJiYgcmVzLmRhdGEuc3RhcnRzV2l0aCgnRVJST1InKSkge1xuICAgICAgICB0aGlzLnB1cmNoYXNlUHJvcHMub25FcnJvcj8uKHJlcy5pbmZvKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoJ21ldGhvZCcgaW4gcmVzICYmIHJlcy5tZXRob2QgPT09ICdsb2FkZWQnKSB7XG4gICAgICAgIHRoaXMub3BhY2l0eSA9IDE7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfSwgMjAwMCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHdhbGxldFB1YmtleSA9IGdldFdhbGxldFB1YmtleSh0aGlzLnB1cmNoYXNlUHJvcHMpO1xuICAgIHRoaXMubWVzc2FnZUhhbmRsZXJzID0gZ2V0SGFuZGxlcnModGhpcy5wdXJjaGFzZVByb3BzKTtcbiAgICB0aGlzLm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVIZWlnaHRDaGFuZ2UgPVxuICAgICAgdGhpcy5wdXJjaGFzZVByb3BzLmhhbmRsZUhlaWdodENoYW5nZTtcblxuICAgIHRoaXMuaWZyYW1lUHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnB1cmNoYXNlUHJvcHMsXG4gICAgICB3YWxsZXRQdWJrZXksXG4gICAgICByb3V0ZTogYC8ke3RoaXMucm91dGV9LyR7dGhpcy5wdXJjaGFzZVByb3BzPy5tZXJjaGFudElkfWAsXG4gICAgICByb3V0ZVByZWZpeDogJ2Zvcm0nLFxuICAgICAgdHJhbnNhY3Rpb246IENvaW5mbG93VXRpbHMuZ2V0VHJhbnNhY3Rpb24odGhpcy5wdXJjaGFzZVByb3BzKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -91,12 +91,15 @@ class CoinflowUtils {
91
91
  return 'http://localhost:5000';
92
92
  return `https://api-${env}.coinflow.cash`;
93
93
  }
94
- static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, 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, jwtToken, origins, threeDsChallengePreference, }) {
94
+ static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, amount, transaction, blockchain = 'solana', 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, jwtToken, origins, threeDsChallengePreference, supportEmail, }) {
95
95
  const prefix = routePrefix
96
96
  ? `/${routePrefix}/${blockchain}`
97
97
  : `/${blockchain}`;
98
98
  const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
99
- url.searchParams.append('pubkey', walletPubkey);
99
+ if (walletPubkey)
100
+ url.searchParams.append('pubkey', walletPubkey);
101
+ if (sessionKey)
102
+ url.searchParams.append('sessionKey', sessionKey);
100
103
  if (transaction) {
101
104
  url.searchParams.append('transaction', transaction);
102
105
  }
@@ -115,6 +118,8 @@ class CoinflowUtils {
115
118
  if (email) {
116
119
  url.searchParams.append('email', email);
117
120
  }
121
+ if (supportEmail)
122
+ url.searchParams.append('supportEmail', supportEmail);
118
123
  if (token) {
119
124
  url.searchParams.append('token', token.toString());
120
125
  }
@@ -183,6 +188,8 @@ class CoinflowUtils {
183
188
  return url.toString();
184
189
  }
185
190
  static getTransaction(props) {
191
+ if (!props.blockchain)
192
+ return undefined;
186
193
  return this.byBlockchain(props.blockchain, {
187
194
  solana: () => {
188
195
  if (!('transaction' in props))
@@ -229,6 +236,9 @@ class CoinflowUtils {
229
236
  const { action } = props;
230
237
  return LZString.compressToEncodedURIComponent(JSON.stringify(action));
231
238
  },
239
+ user: () => {
240
+ return undefined;
241
+ },
232
242
  })();
233
243
  }
234
244
  static byBlockchain(blockchain, args) {
@@ -245,6 +255,8 @@ class CoinflowUtils {
245
255
  return args.base;
246
256
  case 'arbitrum':
247
257
  return args.arbitrum;
258
+ case 'user':
259
+ return args.user;
248
260
  default:
249
261
  throw new Error('blockchain not supported!');
250
262
  }
@@ -309,16 +321,28 @@ var IFrameMessageMethods;
309
321
  IFrameMessageMethods["SendTransaction"] = "sendTransaction";
310
322
  IFrameMessageMethods["HeightChange"] = "heightChange";
311
323
  IFrameMessageMethods["Success"] = "success";
324
+ IFrameMessageMethods["Loaded"] = "loaded";
312
325
  })(IFrameMessageMethods || (IFrameMessageMethods = {}));
313
- function getWalletPubkey({ wallet, }) {
314
- if ('publicKey' in wallet) {
315
- return wallet.publicKey.toString();
316
- }
317
- if ('address' in wallet) {
318
- return wallet.address;
319
- }
320
- if ('accountId' in wallet) {
321
- return wallet.accountId;
326
+ function getWalletPubkey(input) {
327
+ let wallet;
328
+ if ('signer' in input &&
329
+ typeof input.signer === 'object' &&
330
+ input.signer &&
331
+ 'wallet' in input.signer)
332
+ wallet = input.signer.wallet;
333
+ else if ('wallet' in input && input.wallet)
334
+ wallet = input.wallet;
335
+ if (!wallet)
336
+ return;
337
+ if (typeof wallet === 'string')
338
+ return wallet;
339
+ if (typeof wallet === 'object') {
340
+ if ('publicKey' in wallet)
341
+ return wallet.publicKey ? wallet.publicKey.toString() : undefined;
342
+ if ('address' in wallet)
343
+ return wallet.address ? wallet.address : undefined;
344
+ if ('accountId' in wallet)
345
+ return wallet.accountId ? wallet.accountId : undefined;
322
346
  }
323
347
  return null;
324
348
  }
@@ -354,17 +378,66 @@ function handleIFrameMessage(rawMessage, handlers) {
354
378
  return;
355
379
  handlers.onSuccess(walletCall.info);
356
380
  return;
381
+ case IFrameMessageMethods.Loaded:
382
+ return;
357
383
  }
358
384
  console.warn(`Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`);
359
385
  }
360
386
  function getHandlers(props) {
361
- return CoinflowUtils.byBlockchain(props.blockchain, {
362
- solana: () => getSolanaWalletHandlers(props),
363
- near: () => getNearWalletHandlers(props),
364
- eth: () => getEvmWalletHandlers(props),
365
- polygon: () => getEvmWalletHandlers(props),
366
- base: () => getEvmWalletHandlers(props),
367
- arbitrum: () => getEvmWalletHandlers(props),
387
+ let chain;
388
+ let wallet;
389
+ if ('signer' in props &&
390
+ typeof props.signer === 'object' &&
391
+ props.signer &&
392
+ 'blockchain' in props.signer &&
393
+ 'wallet' in props.signer) {
394
+ chain = props.signer.blockchain;
395
+ wallet = props.signer.wallet;
396
+ }
397
+ else if ('blockchain' in props && props.blockchain) {
398
+ chain = props.blockchain;
399
+ wallet = props.wallet;
400
+ }
401
+ if (!chain) {
402
+ return {
403
+ handleSendTransaction: () => {
404
+ throw new Error('handleSendTransaction Not Implemented');
405
+ },
406
+ handleSignMessage: () => {
407
+ throw new Error('handleSendTransaction Not Implemented');
408
+ },
409
+ handleSignTransaction: () => {
410
+ throw new Error('handleSendTransaction Not Implemented');
411
+ },
412
+ onSuccess: props.onSuccess,
413
+ };
414
+ }
415
+ return CoinflowUtils.byBlockchain(chain, {
416
+ solana: () => getSolanaWalletHandlers({
417
+ wallet: wallet,
418
+ onSuccess: props.onSuccess,
419
+ }),
420
+ near: () => getNearWalletHandlers({
421
+ wallet: wallet,
422
+ onSuccess: props.onSuccess,
423
+ }),
424
+ eth: () => getEvmWalletHandlers({
425
+ wallet: wallet,
426
+ onSuccess: props.onSuccess,
427
+ }),
428
+ polygon: () => getEvmWalletHandlers({
429
+ wallet: wallet,
430
+ onSuccess: props.onSuccess,
431
+ }),
432
+ base: () => getEvmWalletHandlers({
433
+ wallet: wallet,
434
+ onSuccess: props.onSuccess,
435
+ }),
436
+ arbitrum: () => getEvmWalletHandlers({
437
+ wallet: wallet,
438
+ onSuccess: props.onSuccess,
439
+ }),
440
+ user: () => getSessionKeyHandlers(props),
368
441
  })();
369
442
  }
370
443
  function getSolanaWalletHandlers({ wallet, onSuccess, }) {
@@ -412,11 +485,10 @@ function getSolanaTransaction(data) {
412
485
  return vtx;
413
486
  }
414
487
  function getNearWalletHandlers({ wallet, onSuccess, }) {
415
- const nearWallet = wallet;
416
488
  return {
417
489
  handleSendTransaction: async (transaction) => {
418
490
  const action = JSON.parse(Buffer.from(transaction, 'base64').toString());
419
- const executionOutcome = await nearWallet.signAndSendTransaction(action);
491
+ const executionOutcome = await wallet.signAndSendTransaction(action);
420
492
  if (!executionOutcome)
421
493
  throw new Error('Transaction did not send');
422
494
  const { transaction: transactionResult } = executionOutcome;
@@ -426,15 +498,22 @@ function getNearWalletHandlers({ wallet, onSuccess, }) {
426
498
  };
427
499
  }
428
500
  function getEvmWalletHandlers({ wallet, onSuccess, }) {
429
- const evmWallet = wallet;
430
501
  return {
431
502
  handleSendTransaction: async (transaction) => {
432
503
  const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());
433
- const { hash } = await evmWallet.sendTransaction(tx);
504
+ const { hash } = await wallet.sendTransaction(tx);
434
505
  return hash;
435
506
  },
436
507
  handleSignMessage: async (message) => {
437
- return evmWallet.signMessage(message);
508
+ return wallet.signMessage(message);
509
+ },
510
+ onSuccess,
511
+ };
512
+ }
513
+ function getSessionKeyHandlers({ onSuccess, }) {
514
+ return {
515
+ handleSendTransaction: async () => {
516
+ return Promise.resolve('');
438
517
  },
439
518
  onSuccess,
440
519
  };
@@ -679,7 +758,7 @@ class CoinflowPurchaseComponent {
679
758
  this.iframeProps = {
680
759
  ...this.purchaseProps,
681
760
  walletPubkey,
682
- route: `/purchase/${this.purchaseProps?.merchantId}`,
761
+ route: `/purchase-v2/${this.purchaseProps?.merchantId}`,
683
762
  transaction: CoinflowUtils.getTransaction(this.purchaseProps),
684
763
  };
685
764
  }
@@ -984,6 +1063,11 @@ class CoinflowMobileWalletButtonComponent {
984
1063
  handleMessage({ data }) {
985
1064
  try {
986
1065
  const res = JSON.parse(data);
1066
+ console.log({ data });
1067
+ if ('method' in res && res.data.startsWith('ERROR')) {
1068
+ this.purchaseProps.onError?.(res.info);
1069
+ return;
1070
+ }
987
1071
  if ('method' in res && res.method === 'loaded') {
988
1072
  this.opacity = 1;
989
1073
  setTimeout(() => {