@coinflowlabs/angular 0.1.0 → 0.1.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.
- package/esm2022/lib/common/CoinflowTypes.mjs +1 -1
- package/esm2022/lib/common/CoinflowUtils.mjs +51 -28
- package/fesm2022/coinflowlabs-angular.mjs +50 -27
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
- package/lib/common/CoinflowTypes.d.ts +3 -2
- package/lib/common/CoinflowUtils.d.ts +2 -2
- package/package.json +3 -2
|
@@ -10,4 +10,4 @@ export var MerchantStyle;
|
|
|
10
10
|
MerchantStyle["Sharp"] = "sharp";
|
|
11
11
|
MerchantStyle["Pill"] = "pill";
|
|
12
12
|
})(MerchantStyle || (MerchantStyle = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDb25uZWN0aW9uLFxuICBWZXJzaW9uZWRUcmFuc2FjdGlvbixcbiAgUHVibGljS2V5LFxuICBTaWduZXIsXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuXG5leHBvcnQgZW51bSBTZXR0bGVtZW50VHlwZSB7XG4gIENyZWRpdHMgPSAnQ3JlZGl0cycsXG4gIFVTREMgPSAnVVNEQycsXG4gIEJhbmsgPSAnQmFuaycsXG59XG5cbmV4cG9ydCBlbnVtIE1lcmNoYW50U3R5bGUge1xuICBSb3VuZGVkID0gJ3JvdW5kZWQnLFxuICBTaGFycCA9ICdzaGFycCcsXG4gIFBpbGwgPSAncGlsbCcsXG59XG5cbmV4cG9ydCB0eXBlIE1lcmNoYW50VGhlbWUgPSB7XG4gIHByaW1hcnk/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQyPzogc3RyaW5nO1xuICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIHRleHRDb2xvckFjY2VudD86IHN0cmluZztcbiAgdGV4dENvbG9yQWN0aW9uPzogc3RyaW5nO1xuICBmb250Pzogc3RyaW5nO1xuICBzdHlsZT86IE1lcmNoYW50U3R5bGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVySW5mbyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbklkPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY2l0eT86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHppcD86IHN0cmluZztcbiAgY291bnRyeT86IHN0cmluZztcbiAgaXA/OiBzdHJpbmc7XG4gIGxhdD86IHN0cmluZztcbiAgbG5nPzogc3RyaW5nO1xufVxuXG4vKiogQ29pbmZsb3cgVHlwZXMgKiovXG5leHBvcnQgdHlwZSBDb2luZmxvd0Jsb2NrY2hhaW4gPSAnc29sYW5hJyB8ICduZWFyJyB8ICdldGgnIHwgJ3BvbHlnb24nIHwgJ2Jhc2UnO1xuZXhwb3J0IHR5cGUgQ29pbmZsb3dFbnZzID0gJ3Byb2QnIHwgJ3N0YWdpbmcnIHwgJ3NhbmRib3gnIHwgJ2xvY2FsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1R5cGVzIHtcbiAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICBlbnY/OiBDb2luZmxvd0VudnM7XG4gIGxvYWRlckJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbjtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKHBhcmFtczogc3RyaW5nKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhckhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aEhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzO1xuXG4vKiogVHJhbnNhY3Rpb25zICoqL1xuXG5leHBvcnQgdHlwZSBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb24gPSB7XG4gIG1ldGhvZE5hbWU6ICdmdF90cmFuc2Zlcl9jYWxsJztcbiAgYXJnczogb2JqZWN0O1xuICBnYXM6IHN0cmluZztcbiAgZGVwb3NpdDogc3RyaW5nO1xufTtcblxudHlwZSBCeXRlcyA9IEFycmF5TGlrZTxudW1iZXI+O1xudHlwZSBCeXRlc0xpa2UgPSBCeXRlcyB8IHN0cmluZztcblxuLyoqIFB1cmNoYXNlICoqL1xuXG5leHBvcnQgdHlwZSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEgPSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHByb2R1Y3RcbiAgICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcHJvZHVjdCB0eXBlLiBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZTogaW5HYW1lUHJvZHVjdCwgZ2FtZU9mU2tpbGwsIGRhdGFTdG9yYWdlLCBjb21wdXRpbmdSZXNvdXJjZXMsIHNwb3J0c1RpY2tldCwgZVNwb3J0c1RpY2tldCwgbXVzaWNUaWNrZXQsIGNvbmZlcmVuY2VUaWNrZXQsIHZpcnR1YWxTcG9ydHNUaWNrZXQsIHZpcnR1YWxFU3BvcnRzVGlja2V0LCB2aXJ0dWFsTXVzaWNUaWNrZXQsIHZpcnR1YWxDb25mZXJlbmNlVGlja2V0LCBhbGNvaG9sLCBETEMsIHN1YnNjcmlwdGlvbiwgZnVuZEFDYXVzZSwgcmVhbEVzdGF0ZSwgY29tcHV0aW5nQ29udHJhY3QsIGRpZ2l0YWxBcnQsIHRvcFVwXG4gICAqL1xuICBwcm9kdWN0VHlwZTpcbiAgICB8ICdpbkdhbWVQcm9kdWN0J1xuICAgIHwgJ2dhbWVPZlNraWxsJ1xuICAgIHwgJ2RhdGFTdG9yYWdlJ1xuICAgIHwgJ2NvbXB1dGluZ1Jlc291cmNlcydcbiAgICB8ICdzcG9ydHNUaWNrZXQnXG4gICAgfCAnZVNwb3J0c1RpY2tldCdcbiAgICB8ICdtdXNpY1RpY2tldCdcbiAgICB8ICdjb25mZXJlbmNlVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxTcG9ydHNUaWNrZXQnXG4gICAgfCAndmlydHVhbEVTcG9ydHNUaWNrZXQnXG4gICAgfCAndmlydHVhbE11c2ljVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxDb25mZXJlbmNlVGlja2V0J1xuICAgIHwgJ2FsY29ob2wnXG4gICAgfCAnRExDJ1xuICAgIHwgJ3N1YnNjcmlwdGlvbidcbiAgICB8ICdmdW5kQUNhdXNlJ1xuICAgIHwgJ3JlYWxFc3RhdGUnXG4gICAgfCAnY29tcHV0aW5nQ29udHJhY3QnXG4gICAgfCAnZGlnaXRhbEFydCdcbiAgICB8ICd0b3BVcCdcbiAgICB8ICdvd25lcnNoaXBDb250cmFjdCc7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSdzIGxpc3QgcHJpY2VcbiAgICovXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHVuaXRzIHNvbGRcbiAgICovXG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbnkgYWRkaXRpb25hbCBkYXRhIHRoYXQgdGhlIHN0b3JlIGNhbiBwcm92aWRlIG9uIHRoZSBwcm9kdWN0LCBlLmcuIGRlc2NyaXB0aW9uLCBsaW5rIHRvIGltYWdlLCBldGMuXG4gICAqL1xuICByYXdQcm9kdWN0RGF0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgd2ViaG9va0luZm8/OiBvYmplY3Q7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGE/OiBDaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGE7XG4gIHBsYW5Db2RlPzogc3RyaW5nO1xuICBkaXNhYmxlQXBwbGVQYXk/OiBib29sZWFuO1xuICBkaXNhYmxlR29vZ2xlUGF5PzogYm9vbGVhbjtcbiAgY3VzdG9tZXJJbmZvPzogQ3VzdG9tZXJJbmZvO1xuICBzZXR0bGVtZW50VHlwZT86IFNldHRsZW1lbnRUeXBlO1xuICBhdXRoT25seT86IGJvb2xlYW47XG4gIGRldmljZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICB0cmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb247XG4gIHBhcnRpYWxTaWduZXJzPzogU2lnbmVyW107XG4gIGRlYnVnVHg/OiBib29sZWFuO1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbiAgdG9rZW4/OiBQdWJsaWNLZXkgfCBzdHJpbmc7XG4gIHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zPzogYm9vbGVhbjtcbiAgcmVudD86IHtsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyfTtcbiAgbmF0aXZlU29sVG9Db252ZXJ0Pzoge2xhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXJ9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbiAgYWN0aW9uPzogTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB0cmFuc2FjdGlvbj86IEV2bVRyYW5zYWN0aW9uRGF0YTtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdiYXNlJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dQdXJjaGFzZVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd05lYXJQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dQb2x5Z29uUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93RXRoUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93QmFzZVB1cmNoYXNlUHJvcHM7XG5cbi8qKiBXaXRoZHJhdyAqKi9cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xuICB0b2tlbnM/OiBzdHJpbmdbXTtcbiAgbG9ja0RlZmF1bHRUb2tlbj86IGJvb2xlYW47XG4gIGFtb3VudD86IG51bWJlcjtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGJhbmtBY2NvdW50TGlua1JlZGlyZWN0Pzogc3RyaW5nO1xuICBhZGRpdGlvbmFsV2FsbGV0cz86IHtcbiAgICB3YWxsZXQ6IHN0cmluZztcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICdldGgnIHwgJ25lYXInIHwgJ3BvbHlnb24nO1xuICB9W107XG4gIHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zPzogYm9vbGVhbjtcbiAgbG9ja0Ftb3VudD86IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uU2lnbmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U29sYW5hV2l0aGRyYXdQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd05lYXJXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBFdGhXYWxsZXQ7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd1dpdGhkcmF3UHJvcHMgPVxuICB8IENvaW5mbG93U29sYW5hV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd1BvbHlnb25XaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dCYXNlV2l0aGRyYXdQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25Fdm1SZWRlZW0ge1xuICB3YWl0Rm9ySGFzaD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9ybWFsUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHJhbnNhY3Rpb246IHt0bzogc3RyaW5nOyBkYXRhOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtub3duVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIG5mdENvbnRyYWN0OiBzdHJpbmc7XG4gIG5mdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZU1pbnRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAnc2FmZU1pbnQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXR1cm5lZFRva2VuSWRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAncmV0dXJuZWQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxudHlwZSBSZXNlcnZvaXJOZnRJZEl0ZW0gPSBPbWl0PEtub3duVG9rZW5JZFJlZGVlbSwga2V5b2YgTm9ybWFsUmVkZWVtPjtcbmludGVyZmFjZSBSZXNlcnZvaXJPcmRlcklkSXRlbSB7XG4gIG9yZGVySWQ6IHN0cmluZztcbn1cbnR5cGUgUmVzZXJ2b2lySXRlbSA9IFJlc2Vydm9pck5mdElkSXRlbSB8IFJlc2Vydm9pck9yZGVySWRJdGVtO1xudHlwZSBSZXNlcnZvaXJJdGVtcyA9IFJlc2Vydm9pckl0ZW0gfCBSZXNlcnZvaXJJdGVtW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXJ2b2lyUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHlwZTogJ3Jlc2Vydm9pcic7XG4gIGl0ZW1zOiBSZXNlcnZvaXJJdGVtcztcbn1cblxuZXhwb3J0IHR5cGUgRXZtVHJhbnNhY3Rpb25EYXRhID1cbiAgfCBTYWZlTWludFJlZGVlbVxuICB8IFJldHVybmVkVG9rZW5JZFJlZGVlbVxuICB8IFJlc2Vydm9pclJlZGVlbVxuICB8IEtub3duVG9rZW5JZFJlZGVlbVxuICB8IE5vcm1hbFJlZGVlbTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0lGcmFtZVByb3BzXG4gIGV4dGVuZHMgT21pdDxDb2luZmxvd1R5cGVzLCAnbWVyY2hhbnRJZCc+LFxuICAgIFBpY2s8XG4gICAgICBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMsXG4gICAgICB8ICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnXG4gICAgICB8ICd3ZWJob29rSW5mbydcbiAgICAgIHwgJ2Ftb3VudCdcbiAgICAgIHwgJ2N1c3RvbWVySW5mbydcbiAgICAgIHwgJ3NldHRsZW1lbnRUeXBlJ1xuICAgICAgfCAnZW1haWwnXG4gICAgICB8ICdwbGFuQ29kZSdcbiAgICAgIHwgJ2RldmljZUlkJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgID4sXG4gICAgUGljazxDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMsICdhdXRoT25seSc+LFxuICAgIFBpY2s8Q29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzLCAncmVudCcgfCAnbmF0aXZlU29sVG9Db252ZXJ0JyB8ICd0b2tlbic+IHtcbiAgd2FsbGV0UHVia2V5OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZVByZWZpeD86IHN0cmluZztcbiAgdHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIHRva2Vucz86IHN0cmluZ1tdIHwgUHVibGljS2V5W107XG4gIHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zPzogYm9vbGVhbjtcbiAgbmVhckRlcG9zaXQ/OiBzdHJpbmc7XG4gIG1lcmNoYW50Q3NzPzogc3RyaW5nO1xuICBjb2xvcj86ICd3aGl0ZScgfCAnYmxhY2snO1xuICBkaXNhYmxlQXBwbGVQYXk/OiBib29sZWFuO1xuICBkaXNhYmxlR29vZ2xlUGF5PzogYm9vbGVhbjtcbiAgdGhlbWU/OiBNZXJjaGFudFRoZW1lO1xuICB1c2VQZXJtaXQ/OiBib29sZWFuO1xufVxuIl19
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDb25uZWN0aW9uLFxuICBWZXJzaW9uZWRUcmFuc2FjdGlvbixcbiAgUHVibGljS2V5LFxuICBTaWduZXIsXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuXG5leHBvcnQgZW51bSBTZXR0bGVtZW50VHlwZSB7XG4gIENyZWRpdHMgPSAnQ3JlZGl0cycsXG4gIFVTREMgPSAnVVNEQycsXG4gIEJhbmsgPSAnQmFuaycsXG59XG5cbmV4cG9ydCBlbnVtIE1lcmNoYW50U3R5bGUge1xuICBSb3VuZGVkID0gJ3JvdW5kZWQnLFxuICBTaGFycCA9ICdzaGFycCcsXG4gIFBpbGwgPSAncGlsbCcsXG59XG5cbmV4cG9ydCB0eXBlIE1lcmNoYW50VGhlbWUgPSB7XG4gIHByaW1hcnk/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQyPzogc3RyaW5nO1xuICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIHRleHRDb2xvckFjY2VudD86IHN0cmluZztcbiAgdGV4dENvbG9yQWN0aW9uPzogc3RyaW5nO1xuICBmb250Pzogc3RyaW5nO1xuICBzdHlsZT86IE1lcmNoYW50U3R5bGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVySW5mbyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbklkPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY2l0eT86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHppcD86IHN0cmluZztcbiAgY291bnRyeT86IHN0cmluZztcbiAgaXA/OiBzdHJpbmc7XG4gIGxhdD86IHN0cmluZztcbiAgbG5nPzogc3RyaW5nO1xufVxuXG4vKiogQ29pbmZsb3cgVHlwZXMgKiovXG5leHBvcnQgdHlwZSBDb2luZmxvd0Jsb2NrY2hhaW4gPSAnc29sYW5hJyB8ICduZWFyJyB8ICdldGgnIHwgJ3BvbHlnb24nIHwgJ2Jhc2UnO1xuZXhwb3J0IHR5cGUgQ29pbmZsb3dFbnZzID0gJ3Byb2QnIHwgJ3N0YWdpbmcnIHwgJ3NhbmRib3gnIHwgJ2xvY2FsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1R5cGVzIHtcbiAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICBlbnY/OiBDb2luZmxvd0VudnM7XG4gIGxvYWRlckJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbjtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKHBhcmFtczogc3RyaW5nKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhckhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aEhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzO1xuXG4vKiogVHJhbnNhY3Rpb25zICoqL1xuXG5leHBvcnQgdHlwZSBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb24gPSB7XG4gIG1ldGhvZE5hbWU6ICdmdF90cmFuc2Zlcl9jYWxsJztcbiAgYXJnczogb2JqZWN0O1xuICBnYXM6IHN0cmluZztcbiAgZGVwb3NpdDogc3RyaW5nO1xufTtcblxudHlwZSBCeXRlcyA9IEFycmF5TGlrZTxudW1iZXI+O1xudHlwZSBCeXRlc0xpa2UgPSBCeXRlcyB8IHN0cmluZztcblxuLyoqIFB1cmNoYXNlICoqL1xuXG5leHBvcnQgdHlwZSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEgPSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGFyZ2ViYWNrUHJvdGVjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHByb2R1Y3RcbiAgICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcHJvZHVjdCB0eXBlLiBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZTogaW5HYW1lUHJvZHVjdCwgZ2FtZU9mU2tpbGwsIGRhdGFTdG9yYWdlLCBjb21wdXRpbmdSZXNvdXJjZXMsIHNwb3J0c1RpY2tldCwgZVNwb3J0c1RpY2tldCwgbXVzaWNUaWNrZXQsIGNvbmZlcmVuY2VUaWNrZXQsIHZpcnR1YWxTcG9ydHNUaWNrZXQsIHZpcnR1YWxFU3BvcnRzVGlja2V0LCB2aXJ0dWFsTXVzaWNUaWNrZXQsIHZpcnR1YWxDb25mZXJlbmNlVGlja2V0LCBhbGNvaG9sLCBETEMsIHN1YnNjcmlwdGlvbiwgZnVuZEFDYXVzZSwgcmVhbEVzdGF0ZSwgY29tcHV0aW5nQ29udHJhY3QsIGRpZ2l0YWxBcnQsIHRvcFVwXG4gICAqL1xuICBwcm9kdWN0VHlwZTpcbiAgICB8ICdpbkdhbWVQcm9kdWN0J1xuICAgIHwgJ2dhbWVPZlNraWxsJ1xuICAgIHwgJ2RhdGFTdG9yYWdlJ1xuICAgIHwgJ2NvbXB1dGluZ1Jlc291cmNlcydcbiAgICB8ICdzcG9ydHNUaWNrZXQnXG4gICAgfCAnZVNwb3J0c1RpY2tldCdcbiAgICB8ICdtdXNpY1RpY2tldCdcbiAgICB8ICdjb25mZXJlbmNlVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxTcG9ydHNUaWNrZXQnXG4gICAgfCAndmlydHVhbEVTcG9ydHNUaWNrZXQnXG4gICAgfCAndmlydHVhbE11c2ljVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxDb25mZXJlbmNlVGlja2V0J1xuICAgIHwgJ2FsY29ob2wnXG4gICAgfCAnRExDJ1xuICAgIHwgJ3N1YnNjcmlwdGlvbidcbiAgICB8ICdmdW5kQUNhdXNlJ1xuICAgIHwgJ3JlYWxFc3RhdGUnXG4gICAgfCAnY29tcHV0aW5nQ29udHJhY3QnXG4gICAgfCAnZGlnaXRhbEFydCdcbiAgICB8ICd0b3BVcCdcbiAgICB8ICdvd25lcnNoaXBDb250cmFjdCc7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSdzIGxpc3QgcHJpY2VcbiAgICovXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHVuaXRzIHNvbGRcbiAgICovXG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbnkgYWRkaXRpb25hbCBkYXRhIHRoYXQgdGhlIHN0b3JlIGNhbiBwcm92aWRlIG9uIHRoZSBwcm9kdWN0LCBlLmcuIGRlc2NyaXB0aW9uLCBsaW5rIHRvIGltYWdlLCBldGMuXG4gICAqL1xuICByYXdQcm9kdWN0RGF0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBhbW91bnQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgd2ViaG9va0luZm8/OiBvYmplY3Q7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGE/OiBDaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGE7XG4gIHBsYW5Db2RlPzogc3RyaW5nO1xuICBkaXNhYmxlQXBwbGVQYXk/OiBib29sZWFuO1xuICBkaXNhYmxlR29vZ2xlUGF5PzogYm9vbGVhbjtcbiAgY3VzdG9tZXJJbmZvPzogQ3VzdG9tZXJJbmZvO1xuICBzZXR0bGVtZW50VHlwZT86IFNldHRsZW1lbnRUeXBlO1xuICBhdXRoT25seT86IGJvb2xlYW47XG4gIGRldmljZUlkPzogc3RyaW5nO1xuICBqd3RUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHNcbiAgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgdHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uO1xuICBwYXJ0aWFsU2lnbmVycz86IFNpZ25lcltdO1xuICBkZWJ1Z1R4PzogYm9vbGVhbjtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG4gIHRva2VuPzogUHVibGljS2V5IHwgc3RyaW5nO1xuICBzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucz86IGJvb2xlYW47XG4gIHJlbnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG4gIG5hdGl2ZVNvbFRvQ29udmVydD86IHtsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd05lYXJQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG4gIGFjdGlvbj86IE5lYXJGdFRyYW5zZmVyQ2FsbEFjdGlvbjtcbiAgbmVhckRlcG9zaXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgdHJhbnNhY3Rpb24/OiBFdm1UcmFuc2FjdGlvbkRhdGE7XG4gIHRva2VuPzogc3RyaW5nO1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXRoUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UHVyY2hhc2VQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dOZWFyUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzO1xuXG4vKiogV2l0aGRyYXcgKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgdG9rZW5zPzogc3RyaW5nW107XG4gIGxvY2tEZWZhdWx0VG9rZW4/OiBib29sZWFuO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdD86IHN0cmluZztcbiAgYWRkaXRpb25hbFdhbGxldHM/OiB7XG4gICAgd2FsbGV0OiBzdHJpbmc7XG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnZXRoJyB8ICduZWFyJyB8ICdwb2x5Z29uJztcbiAgfVtdO1xuICBzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucz86IGJvb2xlYW47XG4gIGxvY2tBbW91bnQ/OiBib29sZWFuO1xuICB0cmFuc2FjdGlvblNpZ25lcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1NvbGFuYVdpdGhkcmF3UHJvcHNcbiAgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dOZWFyV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xuICB1c2VQZXJtaXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXRoV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xuICB1c2VQZXJtaXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdiYXNlJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dXaXRoZHJhd1Byb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYVdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd05lYXJXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dFdGhXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dQb2x5Z29uV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uRXZtUmVkZWVtIHtcbiAgd2FpdEZvckhhc2g/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vcm1hbFJlZGVlbSBleHRlbmRzIENvbW1vbkV2bVJlZGVlbSB7XG4gIHRyYW5zYWN0aW9uOiB7dG86IHN0cmluZzsgZGF0YTogc3RyaW5nfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLbm93blRva2VuSWRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICBuZnRDb250cmFjdDogc3RyaW5nO1xuICBuZnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhZmVNaW50UmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgdHlwZTogJ3NhZmVNaW50JztcbiAgbmZ0Q29udHJhY3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV0dXJuZWRUb2tlbklkUmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgdHlwZTogJ3JldHVybmVkJztcbiAgbmZ0Q29udHJhY3Q/OiBzdHJpbmc7XG59XG5cbnR5cGUgUmVzZXJ2b2lyTmZ0SWRJdGVtID0gT21pdDxLbm93blRva2VuSWRSZWRlZW0sIGtleW9mIE5vcm1hbFJlZGVlbT47XG5pbnRlcmZhY2UgUmVzZXJ2b2lyT3JkZXJJZEl0ZW0ge1xuICBvcmRlcklkOiBzdHJpbmc7XG59XG50eXBlIFJlc2Vydm9pckl0ZW0gPSBSZXNlcnZvaXJOZnRJZEl0ZW0gfCBSZXNlcnZvaXJPcmRlcklkSXRlbTtcbnR5cGUgUmVzZXJ2b2lySXRlbXMgPSBSZXNlcnZvaXJJdGVtIHwgUmVzZXJ2b2lySXRlbVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2Vydm9pclJlZGVlbSBleHRlbmRzIENvbW1vbkV2bVJlZGVlbSB7XG4gIHR5cGU6ICdyZXNlcnZvaXInO1xuICBpdGVtczogUmVzZXJ2b2lySXRlbXM7XG59XG5cbmV4cG9ydCB0eXBlIEV2bVRyYW5zYWN0aW9uRGF0YSA9XG4gIHwgU2FmZU1pbnRSZWRlZW1cbiAgfCBSZXR1cm5lZFRva2VuSWRSZWRlZW1cbiAgfCBSZXNlcnZvaXJSZWRlZW1cbiAgfCBLbm93blRva2VuSWRSZWRlZW1cbiAgfCBOb3JtYWxSZWRlZW07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dJRnJhbWVQcm9wc1xuICBleHRlbmRzIE9taXQ8Q29pbmZsb3dUeXBlcywgJ21lcmNoYW50SWQnPixcbiAgICBQaWNrPFxuICAgICAgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzLFxuICAgICAgfCAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJ1xuICAgICAgfCAnd2ViaG9va0luZm8nXG4gICAgICB8ICdhbW91bnQnXG4gICAgICB8ICdjdXN0b21lckluZm8nXG4gICAgICB8ICdzZXR0bGVtZW50VHlwZSdcbiAgICAgIHwgJ2VtYWlsJ1xuICAgICAgfCAncGxhbkNvZGUnXG4gICAgICB8ICdkZXZpY2VJZCdcbiAgICAgIHwgJ2p3dFRva2VuJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgID4sXG4gICAgUGljazxDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMsICdhdXRoT25seSc+LFxuICAgIFBpY2s8Q29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzLCAncmVudCcgfCAnbmF0aXZlU29sVG9Db252ZXJ0JyB8ICd0b2tlbic+IHtcbiAgd2FsbGV0UHVia2V5OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZVByZWZpeD86IHN0cmluZztcbiAgdHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIHRva2Vucz86IHN0cmluZ1tdIHwgUHVibGljS2V5W107XG4gIHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zPzogYm9vbGVhbjtcbiAgbmVhckRlcG9zaXQ/OiBzdHJpbmc7XG4gIG1lcmNoYW50Q3NzPzogc3RyaW5nO1xuICBjb2xvcj86ICd3aGl0ZScgfCAnYmxhY2snO1xuICBkaXNhYmxlQXBwbGVQYXk/OiBib29sZWFuO1xuICBkaXNhYmxlR29vZ2xlUGF5PzogYm9vbGVhbjtcbiAgdGhlbWU/OiBNZXJjaGFudFRoZW1lO1xuICB1c2VQZXJtaXQ/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { web3, base58 } from './SolanaPeerDeps';
|
|
2
|
+
import LZString from 'lz-string';
|
|
2
3
|
export class CoinflowUtils {
|
|
3
4
|
constructor(env) {
|
|
4
5
|
this.env = env ?? 'prod';
|
|
@@ -43,7 +44,7 @@ export class CoinflowUtils {
|
|
|
43
44
|
return 'http://localhost:5000';
|
|
44
45
|
return `https://api-${env}.coinflow.cash`;
|
|
45
46
|
}
|
|
46
|
-
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, }) {
|
|
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, jwtToken, }) {
|
|
47
48
|
const prefix = routePrefix
|
|
48
49
|
? `/${routePrefix}/${blockchain}`
|
|
49
50
|
: `/${blockchain}`;
|
|
@@ -59,13 +60,13 @@ export class CoinflowUtils {
|
|
|
59
60
|
url.searchParams.append('supportsVersionedTransactions', 'true');
|
|
60
61
|
}
|
|
61
62
|
if (webhookInfo) {
|
|
62
|
-
url.searchParams.append('webhookInfo',
|
|
63
|
+
url.searchParams.append('webhookInfo', LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo)));
|
|
63
64
|
}
|
|
64
65
|
if (theme) {
|
|
65
|
-
url.searchParams.append('theme',
|
|
66
|
+
url.searchParams.append('theme', LZString.compressToEncodedURIComponent(JSON.stringify(theme)));
|
|
66
67
|
}
|
|
67
68
|
if (customerInfo) {
|
|
68
|
-
url.searchParams.append('customerInfo',
|
|
69
|
+
url.searchParams.append('customerInfo', LZString.compressToEncodedURIComponent(JSON.stringify(customerInfo)));
|
|
69
70
|
}
|
|
70
71
|
if (email) {
|
|
71
72
|
url.searchParams.append('email', email);
|
|
@@ -86,11 +87,11 @@ export class CoinflowUtils {
|
|
|
86
87
|
url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
|
|
87
88
|
}
|
|
88
89
|
if (additionalWallets)
|
|
89
|
-
url.searchParams.append('additionalWallets', JSON.stringify(additionalWallets));
|
|
90
|
+
url.searchParams.append('additionalWallets', LZString.compressToEncodedURIComponent(JSON.stringify(additionalWallets)));
|
|
90
91
|
if (nearDeposit)
|
|
91
92
|
url.searchParams.append('nearDeposit', nearDeposit);
|
|
92
93
|
if (chargebackProtectionData)
|
|
93
|
-
url.searchParams.append('chargebackProtectionData', JSON.stringify(chargebackProtectionData));
|
|
94
|
+
url.searchParams.append('chargebackProtectionData', LZString.compressToEncodedURIComponent(JSON.stringify(chargebackProtectionData)));
|
|
94
95
|
if (deviceId) {
|
|
95
96
|
url.searchParams.append('deviceId', deviceId);
|
|
96
97
|
}
|
|
@@ -129,30 +130,54 @@ export class CoinflowUtils {
|
|
|
129
130
|
url.searchParams.append('transactionSigner', transactionSigner);
|
|
130
131
|
if (authOnly === true)
|
|
131
132
|
url.searchParams.append('authOnly', 'true');
|
|
133
|
+
if (jwtToken)
|
|
134
|
+
url.searchParams.append('jwtToken', jwtToken);
|
|
132
135
|
return url.toString();
|
|
133
136
|
}
|
|
134
137
|
static getTransaction(props) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
return this.byBlockchain(props.blockchain, {
|
|
139
|
+
solana: () => {
|
|
140
|
+
if (!('transaction' in props))
|
|
141
|
+
return undefined;
|
|
142
|
+
const { transaction } = props;
|
|
143
|
+
if (!web3)
|
|
144
|
+
throw new Error('@solana/web3.js dependency is required for Solana');
|
|
138
145
|
if (!base58)
|
|
139
146
|
throw new Error('bs58 dependency is required for Solana');
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
147
|
+
if (transaction instanceof web3.Transaction)
|
|
148
|
+
return base58.encode(transaction.serialize({
|
|
149
|
+
requireAllSignatures: false,
|
|
150
|
+
verifySignatures: false,
|
|
151
|
+
}));
|
|
152
|
+
if (transaction instanceof web3.VersionedTransaction)
|
|
153
|
+
return base58.encode(transaction.serialize());
|
|
154
|
+
return undefined;
|
|
155
|
+
},
|
|
156
|
+
polygon: () => {
|
|
157
|
+
if (!('transaction' in props))
|
|
158
|
+
return undefined;
|
|
159
|
+
const { transaction } = props;
|
|
160
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
161
|
+
},
|
|
162
|
+
eth: () => {
|
|
163
|
+
if (!('transaction' in props))
|
|
164
|
+
return undefined;
|
|
165
|
+
const { transaction } = props;
|
|
166
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
167
|
+
},
|
|
168
|
+
base: () => {
|
|
169
|
+
if (!('transaction' in props))
|
|
170
|
+
return undefined;
|
|
171
|
+
const { transaction } = props;
|
|
172
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
173
|
+
},
|
|
174
|
+
near: () => {
|
|
175
|
+
if (!('action' in props))
|
|
176
|
+
return undefined;
|
|
177
|
+
const { action } = props;
|
|
178
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(action));
|
|
179
|
+
},
|
|
180
|
+
})();
|
|
156
181
|
}
|
|
157
182
|
static byBlockchain(blockchain, args) {
|
|
158
183
|
switch (blockchain) {
|
|
@@ -163,8 +188,6 @@ export class CoinflowUtils {
|
|
|
163
188
|
case 'polygon':
|
|
164
189
|
return args.polygon;
|
|
165
190
|
case 'eth':
|
|
166
|
-
if (args.eth === undefined)
|
|
167
|
-
throw new Error('blockchain not supported for this operation!');
|
|
168
191
|
return args.eth;
|
|
169
192
|
case 'base':
|
|
170
193
|
return args.base;
|
|
@@ -173,4 +196,4 @@ export class CoinflowUtils {
|
|
|
173
196
|
}
|
|
174
197
|
}
|
|
175
198
|
}
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxn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QUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUNqQixVQUE4QixFQUM5QixJQUF3RDtRQUV4RCxRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3RCLEtBQUssS0FBSztnQkFDUixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssU0FBUztvQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDbEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvaW5mbG93QmxvY2tjaGFpbixcbiAgQ29pbmZsb3dFbnZzLFxuICBDb2luZmxvd0lGcmFtZVByb3BzLFxuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG59IGZyb20gJy4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge3dlYjMsIGJhc2U1OH0gZnJvbSAnLi9Tb2xhbmFQZWVyRGVwcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRDcmVkaXRCYWxhbmNlKFxuICAgIHB1YmxpY0tleTogc3RyaW5nLFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICduZWFyJ1xuICApOiBQcm9taXNlPHtjZW50czogbnVtYmVyfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICB0aGlzLnVybCArIGAvYXBpL2N1c3RvbWVyL2JhbGFuY2VzLyR7bWVyY2hhbnRJZH1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC13YWxsZXQnOiBwdWJsaWNLZXksXG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC1ibG9ja2NoYWluJzogYmxvY2tjaGFpbixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHtjcmVkaXRzfSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICByZXR1cm4gY3JlZGl0cztcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd0Jhc2VVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2NvaW5mbG93LmNhc2gnO1xuICAgIGlmIChlbnYgPT09ICdsb2NhbCcpIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJztcblxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dBcGlVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vYXBpLSR7ZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd1VybCh7XG4gICAgd2FsbGV0UHVia2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBhbW91bnQsXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgYmxvY2tjaGFpbixcbiAgICBzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucyxcbiAgICB3ZWJob29rSW5mbyxcbiAgICBlbWFpbCxcbiAgICBsb2FkZXJCYWNrZ3JvdW5kLFxuICAgIGhhbmRsZUhlaWdodENoYW5nZSxcbiAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdCxcbiAgICBhZGRpdGlvbmFsV2FsbGV0cyxcbiAgICBuZWFyRGVwb3NpdCxcbiAgICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEsXG4gICAgbWVyY2hhbnRDc3MsXG4gICAgY29sb3IsXG4gICAgcmVudCxcbiAgICBsb2NrRGVmYXVsdFRva2VuLFxuICAgIHRva2VuLFxuICAgIHRva2VucyxcbiAgICBwbGFuQ29kZSxcbiAgICBkaXNhYmxlQXBwbGVQYXksXG4gICAgZGlzYWJsZUdvb2dsZVBheSxcbiAgICBjdXN0b21lckluZm8sXG4gICAgc2V0dGxlbWVudFR5cGUsXG4gICAgbG9ja0Ftb3VudCxcbiAgICBuYXRpdmVTb2xUb0NvbnZlcnQsXG4gICAgdGhlbWUsXG4gICAgdXNlUGVybWl0LFxuICAgIHRyYW5zYWN0aW9uU2lnbmVyLFxuICAgIGF1dGhPbmx5LFxuICAgIGRldmljZUlkLFxuICB9OiBDb2luZmxvd0lGcmFtZVByb3BzKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSByb3V0ZVByZWZpeFxuICAgICAgPyBgLyR7cm91dGVQcmVmaXh9LyR7YmxvY2tjaGFpbn1gXG4gICAgICA6IGAvJHtibG9ja2NoYWlufWA7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChwcmVmaXggKyByb3V0ZSwgQ29pbmZsb3dVdGlscy5nZXRDb2luZmxvd0Jhc2VVcmwoZW52KSk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3B1YmtleScsIHdhbGxldFB1YmtleSEpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuICAgIGlmIChhbW91bnQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhbW91bnQnLCBhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnMnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIGlmICh3ZWJob29rSW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd3ZWJob29rSW5mbycsXG4gICAgICAgIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHdlYmhvb2tJbmZvKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHRoZW1lKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21lckluZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY3VzdG9tZXJJbmZvJyxcbiAgICAgICAgQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoY3VzdG9tZXJJbmZvKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbWFpbCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2VtYWlsJywgZW1haWwpO1xuICAgIH1cblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VuJywgdG9rZW4udG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHRva2Vucykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VucycsIHRva2Vucy50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAobG9hZGVyQmFja2dyb3VuZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvYWRlckJhY2tncm91bmQnLCBsb2FkZXJCYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAoaGFuZGxlSGVpZ2h0Q2hhbmdlKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndXNlSGVpZ2h0Q2hhbmdlJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICBpZiAoYmFua0FjY291bnRMaW5rUmVkaXJlY3QpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnYmFua0FjY291bnRMaW5rUmVkaXJlY3QnLFxuICAgICAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2FkZGl0aW9uYWxXYWxsZXRzJyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICApO1xuXG4gICAgaWYgKG5lYXJEZXBvc2l0KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbmVhckRlcG9zaXQnLCBuZWFyRGVwb3NpdCk7XG5cbiAgICBpZiAoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICApO1xuICAgIGlmIChkZXZpY2VJZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGRldmljZUlkID0gd2luZG93Py5uU3VyZVNESz8uZ2V0RGV2aWNlSWQoKTtcbiAgICAgICAgaWYgKGRldmljZUlkKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1lcmNoYW50Q3NzKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbWVyY2hhbnRDc3MnLCBtZXJjaGFudENzcyk7XG4gICAgaWYgKGNvbG9yKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY29sb3InLCBjb2xvcik7XG4gICAgaWYgKHJlbnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdyZW50JywgcmVudC5sYW1wb3J0cy50b1N0cmluZygpKTtcbiAgICBpZiAobmF0aXZlU29sVG9Db252ZXJ0KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICduYXRpdmVTb2xUb0NvbnZlcnQnLFxuICAgICAgICBuYXRpdmVTb2xUb0NvbnZlcnQubGFtcG9ydHMudG9TdHJpbmcoKVxuICAgICAgKTtcbiAgICBpZiAobG9ja0RlZmF1bHRUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tEZWZhdWx0VG9rZW4nLCAndHJ1ZScpO1xuICAgIGlmIChwbGFuQ29kZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3BsYW5Db2RlJywgcGxhbkNvZGUpO1xuXG4gICAgaWYgKGRpc2FibGVBcHBsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVBcHBsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKGRpc2FibGVHb29nbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlR29vZ2xlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoc2V0dGxlbWVudFR5cGUpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2V0dGxlbWVudFR5cGUnLCBzZXR0bGVtZW50VHlwZSk7XG5cbiAgICBpZiAobG9ja0Ftb3VudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tBbW91bnQnLCAndHJ1ZScpO1xuXG4gICAgaWYgKHVzZVBlcm1pdCA9PT0gZmFsc2UpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VQZXJtaXQnLCAnZmFsc2UnKTtcbiAgICBpZiAodHJhbnNhY3Rpb25TaWduZXIpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb25TaWduZXInLCB0cmFuc2FjdGlvblNpZ25lcik7XG4gICAgaWYgKGF1dGhPbmx5ID09PSB0cnVlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYXV0aE9ubHknLCAndHJ1ZScpO1xuXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGdldFRyYW5zYWN0aW9uKHByb3BzOiBDb2luZmxvd1B1cmNoYXNlUHJvcHMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICgndHJhbnNhY3Rpb24nIGluIHByb3BzICYmIHByb3BzLnRyYW5zYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgIGlmICh3ZWIzICYmIHRyYW5zYWN0aW9uIGluc3RhbmNlb2Ygd2ViMy5UcmFuc2FjdGlvbikge1xuICAgICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQgZm9yIFNvbGFuYScpO1xuICAgICAgICByZXR1cm4gYmFzZTU4LmVuY29kZShcbiAgICAgICAgICB0cmFuc2FjdGlvbi5zZXJpYWxpemUoe1xuICAgICAgICAgICAgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlLFxuICAgICAgICAgICAgdmVyaWZ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdlYjMgJiYgdHJhbnNhY3Rpb24gaW5zdGFuY2VvZiB3ZWIzLlZlcnNpb25lZFRyYW5zYWN0aW9uKSB7XG4gICAgICAgIGlmICghYmFzZTU4KSB0aHJvdyBuZXcgRXJyb3IoJ2JzNTggZGVwZW5kZW5jeSBpcyByZXF1aXJlZCBmb3IgU29sYW5hJyk7XG4gICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ0b2EoSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pKTtcbiAgICB9XG5cbiAgICBpZiAoJ2FjdGlvbicgaW4gcHJvcHMgJiYgcHJvcHMuYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBidG9hKEpTT04uc3RyaW5naWZ5KHByb3BzLmFjdGlvbikpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgYnlCbG9ja2NoYWluPFQ+KFxuICAgIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbixcbiAgICBhcmdzOiB7c29sYW5hOiBUOyBuZWFyOiBUOyBldGg/OiBUOyBwb2x5Z29uOiBUOyBiYXNlOiBUfVxuICApOiBUIHtcbiAgICBzd2l0Y2ggKGJsb2NrY2hhaW4pIHtcbiAgICAgIGNhc2UgJ3NvbGFuYSc6XG4gICAgICAgIHJldHVybiBhcmdzLnNvbGFuYTtcbiAgICAgIGNhc2UgJ25lYXInOlxuICAgICAgICByZXR1cm4gYXJncy5uZWFyO1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIHJldHVybiBhcmdzLnBvbHlnb247XG4gICAgICBjYXNlICdldGgnOlxuICAgICAgICBpZiAoYXJncy5ldGggPT09IHVuZGVmaW5lZClcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBvcGVyYXRpb24hJyk7XG4gICAgICAgIHJldHVybiBhcmdzLmV0aDtcbiAgICAgIGNhc2UgJ2Jhc2UnOlxuICAgICAgICByZXR1cm4gYXJncy5iYXNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIG5vdCBzdXBwb3J0ZWQhJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksR0FBa0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRywyQkFBMkIsQ0FBQzthQUMzRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLENBQUM7O1lBQzdELElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBZSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLFVBQVUsRUFBRSxDQUFDO2FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNqQyxJQUFJLENBQ0gsQ0FBQyxJQUdBLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQ2hFO2FBQ0EsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUMs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QUMsTUFBTSxDQUFDO1lBQ3JCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN0QixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2xCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gIENvaW5mbG93RW52cyxcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHt3ZWIzLCBiYXNlNTh9IGZyb20gJy4vU29sYW5hUGVlckRlcHMnO1xuaW1wb3J0IExaU3RyaW5nIGZyb20gJ2x6LXN0cmluZyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRDcmVkaXRCYWxhbmNlKFxuICAgIHB1YmxpY0tleTogc3RyaW5nLFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICduZWFyJ1xuICApOiBQcm9taXNlPHtjZW50czogbnVtYmVyfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICB0aGlzLnVybCArIGAvYXBpL2N1c3RvbWVyL2JhbGFuY2VzLyR7bWVyY2hhbnRJZH1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC13YWxsZXQnOiBwdWJsaWNLZXksXG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC1ibG9ja2NoYWluJzogYmxvY2tjaGFpbixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHtjcmVkaXRzfSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICByZXR1cm4gY3JlZGl0cztcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd0Jhc2VVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2NvaW5mbG93LmNhc2gnO1xuICAgIGlmIChlbnYgPT09ICdsb2NhbCcpIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJztcblxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dBcGlVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vYXBpLSR7ZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd1VybCh7XG4gICAgd2FsbGV0UHVia2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBhbW91bnQsXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgYmxvY2tjaGFpbixcbiAgICBzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucyxcbiAgICB3ZWJob29rSW5mbyxcbiAgICBlbWFpbCxcbiAgICBsb2FkZXJCYWNrZ3JvdW5kLFxuICAgIGhhbmRsZUhlaWdodENoYW5nZSxcbiAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdCxcbiAgICBhZGRpdGlvbmFsV2FsbGV0cyxcbiAgICBuZWFyRGVwb3NpdCxcbiAgICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEsXG4gICAgbWVyY2hhbnRDc3MsXG4gICAgY29sb3IsXG4gICAgcmVudCxcbiAgICBsb2NrRGVmYXVsdFRva2VuLFxuICAgIHRva2VuLFxuICAgIHRva2VucyxcbiAgICBwbGFuQ29kZSxcbiAgICBkaXNhYmxlQXBwbGVQYXksXG4gICAgZGlzYWJsZUdvb2dsZVBheSxcbiAgICBjdXN0b21lckluZm8sXG4gICAgc2V0dGxlbWVudFR5cGUsXG4gICAgbG9ja0Ftb3VudCxcbiAgICBuYXRpdmVTb2xUb0NvbnZlcnQsXG4gICAgdGhlbWUsXG4gICAgdXNlUGVybWl0LFxuICAgIHRyYW5zYWN0aW9uU2lnbmVyLFxuICAgIGF1dGhPbmx5LFxuICAgIGRldmljZUlkLFxuICAgIGp3dFRva2VuLFxuICB9OiBDb2luZmxvd0lGcmFtZVByb3BzKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSByb3V0ZVByZWZpeFxuICAgICAgPyBgLyR7cm91dGVQcmVmaXh9LyR7YmxvY2tjaGFpbn1gXG4gICAgICA6IGAvJHtibG9ja2NoYWlufWA7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChwcmVmaXggKyByb3V0ZSwgQ29pbmZsb3dVdGlscy5nZXRDb2luZmxvd0Jhc2VVcmwoZW52KSk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3B1YmtleScsIHdhbGxldFB1YmtleSEpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuICAgIGlmIChhbW91bnQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhbW91bnQnLCBhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnMnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIGlmICh3ZWJob29rSW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd3ZWJob29rSW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHdlYmhvb2tJbmZvKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodGhlbWUpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY3VzdG9tZXJJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2N1c3RvbWVySW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGN1c3RvbWVySW5mbykpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbWFpbCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2VtYWlsJywgZW1haWwpO1xuICAgIH1cblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VuJywgdG9rZW4udG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHRva2Vucykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VucycsIHRva2Vucy50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAobG9hZGVyQmFja2dyb3VuZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvYWRlckJhY2tncm91bmQnLCBsb2FkZXJCYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAoaGFuZGxlSGVpZ2h0Q2hhbmdlKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndXNlSGVpZ2h0Q2hhbmdlJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICBpZiAoYmFua0FjY291bnRMaW5rUmVkaXJlY3QpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnYmFua0FjY291bnRMaW5rUmVkaXJlY3QnLFxuICAgICAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2FkZGl0aW9uYWxXYWxsZXRzJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICBpZiAobmVhckRlcG9zaXQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCduZWFyRGVwb3NpdCcsIG5lYXJEZXBvc2l0KTtcblxuICAgIGlmIChjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2NoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YScsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICBpZiAoZGV2aWNlSWQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXZpY2VJZCcsIGRldmljZUlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBkZXZpY2VJZCA9IHdpbmRvdz8ublN1cmVTREs/LmdldERldmljZUlkKCk7XG4gICAgICAgIGlmIChkZXZpY2VJZCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXJjaGFudENzcykgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ21lcmNoYW50Q3NzJywgbWVyY2hhbnRDc3MpO1xuICAgIGlmIChjb2xvcikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2NvbG9yJywgY29sb3IpO1xuICAgIGlmIChyZW50KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncmVudCcsIHJlbnQubGFtcG9ydHMudG9TdHJpbmcoKSk7XG4gICAgaWYgKG5hdGl2ZVNvbFRvQ29udmVydClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnbmF0aXZlU29sVG9Db252ZXJ0JyxcbiAgICAgICAgbmF0aXZlU29sVG9Db252ZXJ0LmxhbXBvcnRzLnRvU3RyaW5nKClcbiAgICAgICk7XG4gICAgaWYgKGxvY2tEZWZhdWx0VG9rZW4pIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2NrRGVmYXVsdFRva2VuJywgJ3RydWUnKTtcbiAgICBpZiAocGxhbkNvZGUpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwbGFuQ29kZScsIHBsYW5Db2RlKTtcblxuICAgIGlmIChkaXNhYmxlQXBwbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlQXBwbGVQYXknLCAndHJ1ZScpO1xuICAgIGlmIChkaXNhYmxlR29vZ2xlUGF5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGlzYWJsZUdvb2dsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKHNldHRsZW1lbnRUeXBlKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3NldHRsZW1lbnRUeXBlJywgc2V0dGxlbWVudFR5cGUpO1xuXG4gICAgaWYgKGxvY2tBbW91bnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2NrQW1vdW50JywgJ3RydWUnKTtcblxuICAgIGlmICh1c2VQZXJtaXQgPT09IGZhbHNlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndXNlUGVybWl0JywgJ2ZhbHNlJyk7XG4gICAgaWYgKHRyYW5zYWN0aW9uU2lnbmVyKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3RyYW5zYWN0aW9uU2lnbmVyJywgdHJhbnNhY3Rpb25TaWduZXIpO1xuICAgIGlmIChhdXRoT25seSA9PT0gdHJ1ZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dGhPbmx5JywgJ3RydWUnKTtcbiAgICBpZiAoand0VG9rZW4pIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdqd3RUb2tlbicsIGp3dFRva2VuKTtcblxuICAgIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRUcmFuc2FjdGlvbihwcm9wczogQ29pbmZsb3dQdXJjaGFzZVByb3BzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ieUJsb2NrY2hhaW48KCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkPihwcm9wcy5ibG9ja2NoYWluLCB7XG4gICAgICBzb2xhbmE6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgaWYgKCF3ZWIzKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQHNvbGFuYS93ZWIzLmpzIGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQgZm9yIFNvbGFuYScpO1xuICAgICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQgZm9yIFNvbGFuYScpO1xuICAgICAgICBpZiAodHJhbnNhY3Rpb24gaW5zdGFuY2VvZiB3ZWIzLlRyYW5zYWN0aW9uKVxuICAgICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKFxuICAgICAgICAgICAgdHJhbnNhY3Rpb24uc2VyaWFsaXplKHtcbiAgICAgICAgICAgICAgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlLFxuICAgICAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcblxuICAgICAgICBpZiAodHJhbnNhY3Rpb24gaW5zdGFuY2VvZiB3ZWIzLlZlcnNpb25lZFRyYW5zYWN0aW9uKVxuICAgICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSgpKTtcblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSxcbiAgICAgIHBvbHlnb246ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGV0aDogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYmFzZTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgbmVhcjogKCkgPT4ge1xuICAgICAgICBpZiAoISgnYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHthY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShhY3Rpb24pKTtcbiAgICAgIH0sXG4gICAgfSkoKTtcbiAgfVxuXG4gIHN0YXRpYyBieUJsb2NrY2hhaW48VD4oXG4gICAgYmxvY2tjaGFpbjogQ29pbmZsb3dCbG9ja2NoYWluLFxuICAgIGFyZ3M6IHtzb2xhbmE6IFQ7IG5lYXI6IFQ7IGV0aDogVDsgcG9seWdvbjogVDsgYmFzZTogVH1cbiAgKTogVCB7XG4gICAgc3dpdGNoIChibG9ja2NoYWluKSB7XG4gICAgICBjYXNlICdzb2xhbmEnOlxuICAgICAgICByZXR1cm4gYXJncy5zb2xhbmE7XG4gICAgICBjYXNlICduZWFyJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MubmVhcjtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gYXJncy5wb2x5Z29uO1xuICAgICAgY2FzZSAnZXRoJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MuZXRoO1xuICAgICAgY2FzZSAnYmFzZSc6XG4gICAgICAgIHJldHVybiBhcmdzLmJhc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component, Input, ViewChild, HostListener } from '@angular/core';
|
|
3
3
|
import * as SolanaWeb3Js from '@solana/web3.js';
|
|
4
4
|
import base58Imported from 'bs58';
|
|
5
|
+
import LZString from 'lz-string';
|
|
5
6
|
import * as i1 from '@angular/platform-browser';
|
|
6
7
|
|
|
7
8
|
var SettlementType;
|
|
@@ -75,7 +76,7 @@ class CoinflowUtils {
|
|
|
75
76
|
return 'http://localhost:5000';
|
|
76
77
|
return `https://api-${env}.coinflow.cash`;
|
|
77
78
|
}
|
|
78
|
-
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, }) {
|
|
79
|
+
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, jwtToken, }) {
|
|
79
80
|
const prefix = routePrefix
|
|
80
81
|
? `/${routePrefix}/${blockchain}`
|
|
81
82
|
: `/${blockchain}`;
|
|
@@ -91,13 +92,13 @@ class CoinflowUtils {
|
|
|
91
92
|
url.searchParams.append('supportsVersionedTransactions', 'true');
|
|
92
93
|
}
|
|
93
94
|
if (webhookInfo) {
|
|
94
|
-
url.searchParams.append('webhookInfo',
|
|
95
|
+
url.searchParams.append('webhookInfo', LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo)));
|
|
95
96
|
}
|
|
96
97
|
if (theme) {
|
|
97
|
-
url.searchParams.append('theme',
|
|
98
|
+
url.searchParams.append('theme', LZString.compressToEncodedURIComponent(JSON.stringify(theme)));
|
|
98
99
|
}
|
|
99
100
|
if (customerInfo) {
|
|
100
|
-
url.searchParams.append('customerInfo',
|
|
101
|
+
url.searchParams.append('customerInfo', LZString.compressToEncodedURIComponent(JSON.stringify(customerInfo)));
|
|
101
102
|
}
|
|
102
103
|
if (email) {
|
|
103
104
|
url.searchParams.append('email', email);
|
|
@@ -118,11 +119,11 @@ class CoinflowUtils {
|
|
|
118
119
|
url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
|
|
119
120
|
}
|
|
120
121
|
if (additionalWallets)
|
|
121
|
-
url.searchParams.append('additionalWallets', JSON.stringify(additionalWallets));
|
|
122
|
+
url.searchParams.append('additionalWallets', LZString.compressToEncodedURIComponent(JSON.stringify(additionalWallets)));
|
|
122
123
|
if (nearDeposit)
|
|
123
124
|
url.searchParams.append('nearDeposit', nearDeposit);
|
|
124
125
|
if (chargebackProtectionData)
|
|
125
|
-
url.searchParams.append('chargebackProtectionData', JSON.stringify(chargebackProtectionData));
|
|
126
|
+
url.searchParams.append('chargebackProtectionData', LZString.compressToEncodedURIComponent(JSON.stringify(chargebackProtectionData)));
|
|
126
127
|
if (deviceId) {
|
|
127
128
|
url.searchParams.append('deviceId', deviceId);
|
|
128
129
|
}
|
|
@@ -161,30 +162,54 @@ class CoinflowUtils {
|
|
|
161
162
|
url.searchParams.append('transactionSigner', transactionSigner);
|
|
162
163
|
if (authOnly === true)
|
|
163
164
|
url.searchParams.append('authOnly', 'true');
|
|
165
|
+
if (jwtToken)
|
|
166
|
+
url.searchParams.append('jwtToken', jwtToken);
|
|
164
167
|
return url.toString();
|
|
165
168
|
}
|
|
166
169
|
static getTransaction(props) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
+
return this.byBlockchain(props.blockchain, {
|
|
171
|
+
solana: () => {
|
|
172
|
+
if (!('transaction' in props))
|
|
173
|
+
return undefined;
|
|
174
|
+
const { transaction } = props;
|
|
175
|
+
if (!web3)
|
|
176
|
+
throw new Error('@solana/web3.js dependency is required for Solana');
|
|
170
177
|
if (!base58)
|
|
171
178
|
throw new Error('bs58 dependency is required for Solana');
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
179
|
+
if (transaction instanceof web3.Transaction)
|
|
180
|
+
return base58.encode(transaction.serialize({
|
|
181
|
+
requireAllSignatures: false,
|
|
182
|
+
verifySignatures: false,
|
|
183
|
+
}));
|
|
184
|
+
if (transaction instanceof web3.VersionedTransaction)
|
|
185
|
+
return base58.encode(transaction.serialize());
|
|
186
|
+
return undefined;
|
|
187
|
+
},
|
|
188
|
+
polygon: () => {
|
|
189
|
+
if (!('transaction' in props))
|
|
190
|
+
return undefined;
|
|
191
|
+
const { transaction } = props;
|
|
192
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
193
|
+
},
|
|
194
|
+
eth: () => {
|
|
195
|
+
if (!('transaction' in props))
|
|
196
|
+
return undefined;
|
|
197
|
+
const { transaction } = props;
|
|
198
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
199
|
+
},
|
|
200
|
+
base: () => {
|
|
201
|
+
if (!('transaction' in props))
|
|
202
|
+
return undefined;
|
|
203
|
+
const { transaction } = props;
|
|
204
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
|
|
205
|
+
},
|
|
206
|
+
near: () => {
|
|
207
|
+
if (!('action' in props))
|
|
208
|
+
return undefined;
|
|
209
|
+
const { action } = props;
|
|
210
|
+
return LZString.compressToEncodedURIComponent(JSON.stringify(action));
|
|
211
|
+
},
|
|
212
|
+
})();
|
|
188
213
|
}
|
|
189
214
|
static byBlockchain(blockchain, args) {
|
|
190
215
|
switch (blockchain) {
|
|
@@ -195,8 +220,6 @@ class CoinflowUtils {
|
|
|
195
220
|
case 'polygon':
|
|
196
221
|
return args.polygon;
|
|
197
222
|
case 'eth':
|
|
198
|
-
if (args.eth === undefined)
|
|
199
|
-
throw new Error('blockchain not supported for this operation!');
|
|
200
223
|
return args.eth;
|
|
201
224
|
case 'base':
|
|
202
225
|
return args.base;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coinflowlabs-angular.mjs","sources":["../../../projects/coinflowlabs/src/lib/common/CoinflowTypes.ts","../../../projects/coinflowlabs/src/lib/common/SolanaPeerDeps.ts","../../../projects/coinflowlabs/src/lib/common/CoinflowUtils.ts","../../../projects/coinflowlabs/src/lib/common/CoinflowLibMessageHandlers.ts","../../../projects/coinflowlabs/src/lib/coinflow-iframe.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase-history.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase-protection.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-withdraw.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-withdraw-history.component.ts","../../../projects/coinflowlabs/src/public-api.ts","../../../projects/coinflowlabs/src/coinflowlabs-angular.ts"],"sourcesContent":["import type {\n Connection,\n VersionedTransaction,\n PublicKey,\n Signer,\n Transaction,\n} from '@solana/web3.js';\n\nexport enum SettlementType {\n Credits = 'Credits',\n USDC = 'USDC',\n Bank = 'Bank',\n}\n\nexport enum MerchantStyle {\n Rounded = 'rounded',\n Sharp = 'sharp',\n Pill = 'pill',\n}\n\nexport type MerchantTheme = {\n primary?: string;\n background?: string;\n backgroundAccent?: string;\n backgroundAccent2?: string;\n textColor?: string;\n textColorAccent?: string;\n textColorAction?: string;\n font?: string;\n style?: MerchantStyle;\n};\n\nexport interface CustomerInfo {\n name?: string;\n verificationId?: string;\n displayName?: string;\n address?: string;\n city?: string;\n state?: string;\n zip?: string;\n country?: string;\n ip?: string;\n lat?: string;\n lng?: string;\n}\n\n/** Coinflow Types **/\nexport type CoinflowBlockchain = 'solana' | 'near' | 'eth' | 'polygon' | 'base';\nexport type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';\n\nexport interface CoinflowTypes {\n merchantId: string;\n env?: CoinflowEnvs;\n loaderBackground?: string;\n blockchain: CoinflowBlockchain;\n handleHeightChange?: (height: string) => void;\n theme?: MerchantTheme;\n}\n\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type OnSuccessMethod = (params: string) => void | Promise<void>;\n\n/** Wallets **/\nexport interface SolanaWallet {\n publicKey: PublicKey | null;\n signTransaction?: <T extends Transaction | VersionedTransaction>(\n transaction: T\n ) => Promise<T>;\n sendTransaction: <T extends Transaction | VersionedTransaction>(\n transaction: T\n ) => Promise<string>;\n signMessage?: (message: Uint8Array) => Promise<Uint8Array>;\n}\n\nexport interface NearWallet {\n accountId: string;\n signAndSendTransaction: (transaction: unknown) => Promise<{\n transaction: {hash: string};\n }>;\n}\n\ntype AccessList = Array<{address: string; storageKeys: Array<string>}>;\ntype AccessListish =\n | AccessList\n | Array<[string, Array<string>]>\n | Record<string, Array<string>>;\n\nexport type EthWallet = {\n address: string | null | undefined;\n sendTransaction: (transaction: {\n to: string;\n from?: string;\n nonce?: Bytes | bigint | string | number;\n\n gasLimit?: Bytes | bigint | string | number;\n gasPrice?: Bytes | bigint | string | number;\n\n data?: BytesLike;\n value?: Bytes | bigint | string | number;\n chainId?: number;\n\n type?: number;\n accessList?: AccessListish;\n\n maxPriorityFeePerGas?: Bytes | bigint | string | number;\n maxFeePerGas?: Bytes | bigint | string | number;\n\n customData?: Record<string, any>;\n ccipReadEnabled?: boolean;\n }) => Promise<{hash: string}>;\n signMessage: (message: string) => Promise<string>;\n};\n\n/** History **/\nexport interface CoinflowSolanaHistoryProps extends CoinflowTypes {\n wallet: SolanaWallet;\n connection: Connection;\n blockchain: 'solana';\n}\n\nexport interface CoinflowNearHistoryProps extends CoinflowTypes {\n wallet: NearWallet;\n blockchain: 'near';\n}\n\nexport interface CoinflowEvmHistoryProps extends CoinflowTypes {\n wallet: EthWallet;\n}\n\nexport interface CoinflowEthHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'eth';\n}\n\nexport interface CoinflowPolygonHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowBaseHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'base';\n}\n\nexport type CoinflowHistoryProps =\n | CoinflowSolanaHistoryProps\n | CoinflowNearHistoryProps\n | CoinflowPolygonHistoryProps\n | CoinflowEthHistoryProps\n | CoinflowBaseHistoryProps;\n\n/** Transactions **/\n\nexport type NearFtTransferCallAction = {\n methodName: 'ft_transfer_call';\n args: object;\n gas: string;\n deposit: string;\n};\n\ntype Bytes = ArrayLike<number>;\ntype BytesLike = Bytes | string;\n\n/** Purchase **/\n\nexport type ChargebackProtectionData = ChargebackProtectionItem[];\n\nexport interface ChargebackProtectionItem {\n /**\n * The name of the product\n */\n productName: string;\n /**\n * The product type. Possible values include: inGameProduct, gameOfSkill, dataStorage, computingResources, sportsTicket, eSportsTicket, musicTicket, conferenceTicket, virtualSportsTicket, virtualESportsTicket, virtualMusicTicket, virtualConferenceTicket, alcohol, DLC, subscription, fundACause, realEstate, computingContract, digitalArt, topUp\n */\n productType:\n | 'inGameProduct'\n | 'gameOfSkill'\n | 'dataStorage'\n | 'computingResources'\n | 'sportsTicket'\n | 'eSportsTicket'\n | 'musicTicket'\n | 'conferenceTicket'\n | 'virtualSportsTicket'\n | 'virtualESportsTicket'\n | 'virtualMusicTicket'\n | 'virtualConferenceTicket'\n | 'alcohol'\n | 'DLC'\n | 'subscription'\n | 'fundACause'\n | 'realEstate'\n | 'computingContract'\n | 'digitalArt'\n | 'topUp'\n | 'ownershipContract';\n /**\n * The item's list price\n */\n /**\n * The number of units sold\n */\n quantity: number;\n /**\n * Any additional data that the store can provide on the product, e.g. description, link to image, etc.\n */\n rawProductData?: {[key: string]: any};\n}\n\nexport interface CoinflowCommonPurchaseProps extends CoinflowTypes {\n amount?: number;\n onSuccess?: OnSuccessMethod;\n webhookInfo?: object;\n email?: string;\n chargebackProtectionData?: ChargebackProtectionData;\n planCode?: string;\n disableApplePay?: boolean;\n disableGooglePay?: boolean;\n customerInfo?: CustomerInfo;\n settlementType?: SettlementType;\n authOnly?: boolean;\n deviceId?: string;\n}\n\nexport interface CoinflowSolanaPurchaseProps\n extends CoinflowCommonPurchaseProps {\n wallet: SolanaWallet;\n transaction?: Transaction | VersionedTransaction;\n partialSigners?: Signer[];\n debugTx?: boolean;\n connection: Connection;\n blockchain: 'solana';\n token?: PublicKey | string;\n supportsVersionedTransactions?: boolean;\n rent?: {lamports: string | number};\n nativeSolToConvert?: {lamports: string | number};\n}\n\nexport interface CoinflowNearPurchaseProps extends CoinflowCommonPurchaseProps {\n wallet: NearWallet;\n blockchain: 'near';\n action?: NearFtTransferCallAction;\n nearDeposit?: string;\n}\n\nexport interface CoinflowEvmPurchaseProps extends CoinflowCommonPurchaseProps {\n transaction?: EvmTransactionData;\n token?: string;\n wallet: EthWallet;\n}\n\nexport interface CoinflowPolygonPurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowEthPurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'eth';\n}\n\nexport interface CoinflowBasePurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'base';\n}\n\nexport type CoinflowPurchaseProps =\n | CoinflowSolanaPurchaseProps\n | CoinflowNearPurchaseProps\n | CoinflowPolygonPurchaseProps\n | CoinflowEthPurchaseProps\n | CoinflowBasePurchaseProps;\n\n/** Withdraw **/\n\nexport interface CoinflowCommonWithdrawProps extends CoinflowTypes {\n onSuccess?: OnSuccessMethod;\n tokens?: string[];\n lockDefaultToken?: boolean;\n amount?: number;\n email?: string;\n bankAccountLinkRedirect?: string;\n additionalWallets?: {\n wallet: string;\n blockchain: 'solana' | 'eth' | 'near' | 'polygon';\n }[];\n supportsVersionedTransactions?: boolean;\n lockAmount?: boolean;\n transactionSigner?: string;\n}\n\nexport interface CoinflowSolanaWithdrawProps\n extends CoinflowCommonWithdrawProps {\n wallet: SolanaWallet;\n connection: Connection;\n blockchain: 'solana';\n}\n\nexport interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {\n wallet: NearWallet;\n blockchain: 'near';\n}\n\nexport interface CoinflowEvmWithdrawProps extends CoinflowCommonWithdrawProps {\n wallet: EthWallet;\n usePermit?: boolean;\n}\n\nexport interface CoinflowEthWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'eth';\n usePermit?: boolean;\n}\n\nexport interface CoinflowPolygonWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowBaseWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'base';\n}\n\nexport type CoinflowWithdrawProps =\n | CoinflowSolanaWithdrawProps\n | CoinflowNearWithdrawProps\n | CoinflowEthWithdrawProps\n | CoinflowPolygonWithdrawProps\n | CoinflowBaseWithdrawProps;\n\nexport interface CommonEvmRedeem {\n waitForHash?: boolean;\n}\n\nexport interface NormalRedeem extends CommonEvmRedeem {\n transaction: {to: string; data: string};\n}\n\nexport interface KnownTokenIdRedeem extends NormalRedeem {\n nftContract: string;\n nftId: string;\n}\n\nexport interface SafeMintRedeem extends NormalRedeem {\n type: 'safeMint';\n nftContract?: string;\n}\n\nexport interface ReturnedTokenIdRedeem extends NormalRedeem {\n type: 'returned';\n nftContract?: string;\n}\n\ntype ReservoirNftIdItem = Omit<KnownTokenIdRedeem, keyof NormalRedeem>;\ninterface ReservoirOrderIdItem {\n orderId: string;\n}\ntype ReservoirItem = ReservoirNftIdItem | ReservoirOrderIdItem;\ntype ReservoirItems = ReservoirItem | ReservoirItem[];\n\nexport interface ReservoirRedeem extends CommonEvmRedeem {\n type: 'reservoir';\n items: ReservoirItems;\n}\n\nexport type EvmTransactionData =\n | SafeMintRedeem\n | ReturnedTokenIdRedeem\n | ReservoirRedeem\n | KnownTokenIdRedeem\n | NormalRedeem;\n\nexport interface CoinflowIFrameProps\n extends Omit<CoinflowTypes, 'merchantId'>,\n Pick<\n CoinflowCommonPurchaseProps,\n | 'chargebackProtectionData'\n | 'webhookInfo'\n | 'amount'\n | 'customerInfo'\n | 'settlementType'\n | 'email'\n | 'planCode'\n | 'deviceId'\n >,\n Pick<\n CoinflowCommonWithdrawProps,\n | 'bankAccountLinkRedirect'\n | 'additionalWallets'\n | 'transactionSigner'\n | 'lockAmount'\n | 'lockDefaultToken'\n >,\n Pick<CoinflowEvmPurchaseProps, 'authOnly'>,\n Pick<CoinflowSolanaPurchaseProps, 'rent' | 'nativeSolToConvert' | 'token'> {\n walletPubkey: string | null | undefined;\n route: string;\n routePrefix?: string;\n transaction?: string;\n tokens?: string[] | PublicKey[];\n supportsVersionedTransactions?: boolean;\n nearDeposit?: string;\n merchantCss?: string;\n color?: 'white' | 'black';\n disableApplePay?: boolean;\n disableGooglePay?: boolean;\n theme?: MerchantTheme;\n usePermit?: boolean;\n}\n","// This works in angular, but not react\n// let web3: typeof import('@solana/web3.js') | undefined;\n// let base58: typeof import('bs58') | undefined;\n//\n// try {\n// web3 = require('@solana/web3.js');\n// base58 = require('bs58');\n// } catch (e) {}\n//\n// export {web3, base58};\n\n// This works in react, but not angular\nimport * as SolanaWeb3Js from '@solana/web3.js';\nimport base58Imported from 'bs58';\n\nconst web3: typeof SolanaWeb3Js | undefined = SolanaWeb3Js;\nconst base58: typeof base58Imported | undefined = base58Imported;\nexport {web3, base58};\n","import {\n CoinflowBlockchain,\n CoinflowEnvs,\n CoinflowIFrameProps,\n CoinflowPurchaseProps,\n} from './CoinflowTypes';\nimport {web3, base58} from './SolanaPeerDeps';\n\nexport class CoinflowUtils {\n env: CoinflowEnvs;\n url: string;\n\n constructor(env?: CoinflowEnvs) {\n this.env = env ?? 'prod';\n if (this.env === 'prod') this.url = 'https://api.coinflow.cash';\n else if (this.env === 'local') this.url = 'http://localhost:5000';\n else this.url = `https://api-${this.env}.coinflow.cash`;\n }\n\n async getNSurePartnerId(merchantId: string): Promise<string | undefined> {\n return fetch(this.url + `/merchant/view/${merchantId}`)\n .then(response => response.json())\n .then(\n (json: {\n nSurePartnerId: string | undefined;\n nSureSettings: {nSurePartnerId: string | undefined};\n }) => json.nSureSettings?.nSurePartnerId || json.nSurePartnerId\n )\n .catch(e => {\n console.error(e);\n return undefined;\n });\n }\n\n async getCreditBalance(\n publicKey: string,\n merchantId: string,\n blockchain: 'solana' | 'near'\n ): Promise<{cents: number}> {\n const response = await fetch(\n this.url + `/api/customer/balances/${merchantId}`,\n {\n method: 'GET',\n headers: {\n 'x-coinflow-auth-wallet': publicKey,\n 'x-coinflow-auth-blockchain': blockchain,\n },\n }\n );\n const {credits} = await response.json();\n return credits;\n }\n\n static getCoinflowBaseUrl(env?: CoinflowEnvs): string {\n if (!env || env === 'prod') return 'https://coinflow.cash';\n if (env === 'local') return 'http://localhost:3000';\n\n return `https://${env}.coinflow.cash`;\n }\n\n static getCoinflowApiUrl(env?: CoinflowEnvs): string {\n if (!env || env === 'prod') return 'https://api.coinflow.cash';\n if (env === 'local') return 'http://localhost:5000';\n\n return `https://api-${env}.coinflow.cash`;\n }\n\n static getCoinflowUrl({\n walletPubkey,\n route,\n routePrefix,\n env,\n amount,\n transaction,\n blockchain,\n supportsVersionedTransactions,\n webhookInfo,\n email,\n loaderBackground,\n handleHeightChange,\n bankAccountLinkRedirect,\n additionalWallets,\n nearDeposit,\n chargebackProtectionData,\n merchantCss,\n color,\n rent,\n lockDefaultToken,\n token,\n tokens,\n planCode,\n disableApplePay,\n disableGooglePay,\n customerInfo,\n settlementType,\n lockAmount,\n nativeSolToConvert,\n theme,\n usePermit,\n transactionSigner,\n authOnly,\n deviceId,\n }: CoinflowIFrameProps): string {\n const prefix = routePrefix\n ? `/${routePrefix}/${blockchain}`\n : `/${blockchain}`;\n const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));\n url.searchParams.append('pubkey', walletPubkey!);\n\n if (transaction) {\n url.searchParams.append('transaction', transaction);\n }\n if (amount) {\n url.searchParams.append('amount', amount.toString());\n }\n\n if (supportsVersionedTransactions) {\n url.searchParams.append('supportsVersionedTransactions', 'true');\n }\n\n if (webhookInfo) {\n url.searchParams.append(\n 'webhookInfo',\n Buffer.from(JSON.stringify(webhookInfo)).toString('base64')\n );\n }\n\n if (theme) {\n url.searchParams.append(\n 'theme',\n Buffer.from(JSON.stringify(theme)).toString('base64')\n );\n }\n\n if (customerInfo) {\n url.searchParams.append(\n 'customerInfo',\n Buffer.from(JSON.stringify(customerInfo)).toString('base64')\n );\n }\n\n if (email) {\n url.searchParams.append('email', email);\n }\n\n if (token) {\n url.searchParams.append('token', token.toString());\n }\n\n if (tokens) {\n url.searchParams.append('tokens', tokens.toString());\n }\n\n if (loaderBackground) {\n url.searchParams.append('loaderBackground', loaderBackground);\n }\n\n if (handleHeightChange) {\n url.searchParams.append('useHeightChange', 'true');\n }\n\n if (bankAccountLinkRedirect) {\n url.searchParams.append(\n 'bankAccountLinkRedirect',\n bankAccountLinkRedirect\n );\n }\n\n if (additionalWallets)\n url.searchParams.append(\n 'additionalWallets',\n JSON.stringify(additionalWallets)\n );\n\n if (nearDeposit) url.searchParams.append('nearDeposit', nearDeposit);\n\n if (chargebackProtectionData)\n url.searchParams.append(\n 'chargebackProtectionData',\n JSON.stringify(chargebackProtectionData)\n );\n if (deviceId) {\n url.searchParams.append('deviceId', deviceId);\n } else {\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const deviceId = window?.nSureSDK?.getDeviceId();\n if (deviceId) url.searchParams.append('deviceId', deviceId);\n }\n }\n\n if (merchantCss) url.searchParams.append('merchantCss', merchantCss);\n if (color) url.searchParams.append('color', color);\n if (rent) url.searchParams.append('rent', rent.lamports.toString());\n if (nativeSolToConvert)\n url.searchParams.append(\n 'nativeSolToConvert',\n nativeSolToConvert.lamports.toString()\n );\n if (lockDefaultToken) url.searchParams.append('lockDefaultToken', 'true');\n if (planCode) url.searchParams.append('planCode', planCode);\n\n if (disableApplePay) url.searchParams.append('disableApplePay', 'true');\n if (disableGooglePay) url.searchParams.append('disableGooglePay', 'true');\n if (settlementType)\n url.searchParams.append('settlementType', settlementType);\n\n if (lockAmount) url.searchParams.append('lockAmount', 'true');\n\n if (usePermit === false) url.searchParams.append('usePermit', 'false');\n if (transactionSigner)\n url.searchParams.append('transactionSigner', transactionSigner);\n if (authOnly === true) url.searchParams.append('authOnly', 'true');\n\n return url.toString();\n }\n\n static getTransaction(props: CoinflowPurchaseProps): string | undefined {\n if ('transaction' in props && props.transaction !== undefined) {\n const {transaction} = props;\n if (web3 && transaction instanceof web3.Transaction) {\n if (!base58) throw new Error('bs58 dependency is required for Solana');\n return base58.encode(\n transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })\n );\n }\n\n if (web3 && transaction instanceof web3.VersionedTransaction) {\n if (!base58) throw new Error('bs58 dependency is required for Solana');\n return base58.encode(transaction.serialize());\n }\n\n return btoa(JSON.stringify(transaction));\n }\n\n if ('action' in props && props.action !== undefined) {\n return btoa(JSON.stringify(props.action));\n }\n\n return undefined;\n }\n\n static byBlockchain<T>(\n blockchain: CoinflowBlockchain,\n args: {solana: T; near: T; eth?: T; polygon: T; base: T}\n ): T {\n switch (blockchain) {\n case 'solana':\n return args.solana;\n case 'near':\n return args.near;\n case 'polygon':\n return args.polygon;\n case 'eth':\n if (args.eth === undefined)\n throw new Error('blockchain not supported for this operation!');\n return args.eth;\n case 'base':\n return args.base;\n default:\n throw new Error('blockchain not supported!');\n }\n }\n}\n","import {\n CoinflowPurchaseProps,\n EthWallet,\n NearWallet,\n SolanaWallet,\n} from './CoinflowTypes';\nimport {CoinflowUtils} from './CoinflowUtils';\nimport type {Transaction, VersionedTransaction} from '@solana/web3.js';\nimport {web3, base58} from './SolanaPeerDeps';\n\nexport type WalletCall = {method: IFrameMessageMethods; data: string};\n\nexport interface IFrameMessageHandlers {\n handleSendTransaction: (transaction: string) => Promise<string>;\n handleSignMessage?: (message: string) => Promise<string>;\n handleSignTransaction?: (transaction: string) => Promise<string>;\n handleHeightChange?: (height: string) => void;\n}\n\nenum IFrameMessageMethods {\n SignMessage = 'signMessage',\n SignTransaction = 'signTransaction',\n SendTransaction = 'sendTransaction',\n HeightChange = 'heightChange',\n}\n\nexport function getWalletPubkey({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): string | null | undefined {\n if ('publicKey' in wallet) {\n return wallet.publicKey!.toString();\n }\n\n if ('address' in wallet) {\n return wallet.address;\n }\n\n if ('accountId' in wallet) {\n return wallet.accountId;\n }\n\n return null;\n}\n\nexport function handleIFrameMessage(\n rawMessage: string,\n handlers: IFrameMessageHandlers\n): Promise<string> | void {\n let walletCall: WalletCall;\n try {\n walletCall = JSON.parse(rawMessage);\n if (!('method' in walletCall) || !('data' in walletCall)) return;\n } catch (e) {\n console.error('handleIFrameMessage JSON parse', e);\n return;\n }\n\n const {data, method} = walletCall;\n switch (method) {\n case IFrameMessageMethods.SignMessage:\n if (!handlers.handleSignMessage) return;\n return handlers.handleSignMessage(data);\n case IFrameMessageMethods.SignTransaction:\n if (!handlers.handleSignTransaction) return;\n return handlers.handleSignTransaction(data);\n case IFrameMessageMethods.SendTransaction:\n return handlers.handleSendTransaction(data);\n case IFrameMessageMethods.HeightChange:\n if (!handlers.handleHeightChange) return;\n return handlers.handleHeightChange(data);\n }\n\n console.warn(\n `Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`\n );\n}\n\nexport function getHandlers({\n wallet,\n blockchain,\n}: Pick<CoinflowPurchaseProps, 'wallet' | 'blockchain'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n return CoinflowUtils.byBlockchain(blockchain, {\n solana: () => getSolanaWalletHandlers({wallet}),\n near: () => getNearWalletHandlers({wallet}),\n eth: () => getEvmWalletHandlers({wallet}),\n polygon: () => getEvmWalletHandlers({wallet}),\n base: () => getEvmWalletHandlers({wallet}),\n })();\n}\n\nfunction getSolanaWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n return {\n handleSendTransaction: async (transaction: string) => {\n const tx = getSolanaTransaction(transaction);\n return await (wallet as SolanaWallet).sendTransaction(tx);\n },\n handleSignMessage: async (message: string) => {\n const signMessage = (wallet as SolanaWallet).signMessage;\n if (!signMessage) {\n throw new Error('signMessage is not supported by this wallet');\n }\n\n const signedMessage = await signMessage(\n new TextEncoder().encode(message)\n );\n if (!base58) throw new Error('bs58 dependency is required');\n return base58.encode(signedMessage);\n },\n handleSignTransaction: async (transaction: string) => {\n const signTransaction = (wallet as SolanaWallet).signTransaction;\n if (!signTransaction) {\n throw new Error('signTransaction is not supported by this wallet');\n }\n const tx = getSolanaTransaction(transaction);\n const signedTransaction = await signTransaction(tx);\n if (!base58) throw new Error('bs58 dependency is required');\n return base58.encode(\n signedTransaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })\n );\n },\n };\n}\n\nfunction getSolanaTransaction(\n data: string\n): Transaction | VersionedTransaction {\n if (!web3)\n throw new Error(\n '@solana/web3.js is not defined. Please install @solana/web3.js into your project'\n );\n\n if (!base58)\n throw new Error(\n 'bs58 is not defined. Please install bs58 into your project'\n );\n\n const parsedUInt8Array = base58.decode(data);\n const vtx = web3.VersionedTransaction.deserialize(parsedUInt8Array);\n if (vtx.version === 'legacy') return web3.Transaction.from(parsedUInt8Array);\n return vtx;\n}\n\nfunction getNearWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n const nearWallet = wallet as NearWallet;\n return {\n handleSendTransaction: async (transaction: string) => {\n const action = JSON.parse(Buffer.from(transaction, 'base64').toString());\n const executionOutcome = await nearWallet.signAndSendTransaction(action);\n if (!executionOutcome) throw new Error('Transaction did not send');\n const {transaction: transactionResult} = executionOutcome;\n return transactionResult.hash;\n },\n };\n}\n\nfunction getEvmWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n const evmWallet = wallet as EthWallet;\n return {\n handleSendTransaction: async (transaction: string) => {\n const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());\n const {hash} = await evmWallet.sendTransaction(tx);\n return hash;\n },\n handleSignMessage: async (message: string) => {\n return evmWallet.signMessage(message);\n },\n };\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n CoinflowIFrameProps,\n CoinflowUtils,\n IFrameMessageHandlers,\n handleIFrameMessage,\n} from './common';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-coinflow-iframe',\n standalone: true,\n imports: [],\n template: ` <iframe\n width=\"100%\"\n height=\"100%\"\n #iframe\n scrolling=\"{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}\"\n allow=\"payment;camera\"\n title=\"withdraw\"\n frameBorder=\"0\"\n [src]=\"dynamicUrl\"\n ></iframe>`,\n})\nexport class CoinflowIFrameComponent {\n @Input() iframeProps!: CoinflowIFrameProps;\n @Input() messageHandlers!: IFrameMessageHandlers;\n\n dynamicUrl?: SafeResourceUrl;\n @ViewChild('iframe') iframe?: ElementRef<HTMLIFrameElement>;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n const coinflowUrl = CoinflowUtils.getCoinflowUrl(this.iframeProps);\n this.dynamicUrl =\n this.sanitizer.bypassSecurityTrustResourceUrl(coinflowUrl);\n }\n\n @HostListener('window:message', ['$event']) onPostMessage(event: any) {\n if (\n !event.origin.includes(\n CoinflowUtils.getCoinflowBaseUrl(this.iframeProps.env)\n )\n )\n return;\n\n const promise = handleIFrameMessage(event.data, this.messageHandlers);\n if (!promise) return;\n promise\n .then(this.sendMessage.bind(this))\n .catch(e => this.sendMessage('ERROR ' + e.message));\n }\n\n sendMessage(message: string) {\n if (!this.iframe || !this.iframe.nativeElement) return;\n this.iframe.nativeElement.contentWindow!.postMessage(message, '*');\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {CoinflowIFrameComponent} from './coinflow-iframe.component';\nimport {\n CoinflowIFrameProps,\n CoinflowPurchaseProps,\n IFrameMessageHandlers,\n getHandlers,\n getWalletPubkey,\n CoinflowUtils,\n} from './common';\n\n@Component({\n selector: 'lib-coinflow-purchase',\n standalone: true,\n imports: [CoinflowIFrameComponent],\n template:\n ' <lib-coinflow-iframe ng-if=\"iframeProps && messageHandlers\" [iframeProps]=\"iframeProps!\" [messageHandlers]=\"messageHandlers!\"></lib-coinflow-iframe> ',\n})\nexport class CoinflowPurchaseComponent {\n @Input() purchaseProps!: CoinflowPurchaseProps;\n iframeProps?: CoinflowIFrameProps;\n messageHandlers?: IFrameMessageHandlers;\n\n ngOnInit() {\n const walletPubkey = getWalletPubkey(this.purchaseProps);\n this.messageHandlers = getHandlers(this.purchaseProps);\n this.messageHandlers.handleHeightChange =\n this.purchaseProps.handleHeightChange;\n\n this.iframeProps = {\n ...this.purchaseProps,\n walletPubkey,\n route: `/purchase/${this.purchaseProps?.merchantId}`,\n transaction: CoinflowUtils.getTransaction(this.purchaseProps),\n };\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-purchase-history',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-purchase-history works!</p> ',\n})\nexport class CoinflowPurchaseHistoryComponent {}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-purchase-protection',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-purchase-protection works!</p> ',\n})\nexport class CoinflowPurchaseProtectionComponent {}\n","import {Component, Input} from '@angular/core';\nimport {\n CoinflowIFrameProps,\n CoinflowWithdrawProps,\n IFrameMessageHandlers,\n getHandlers,\n getWalletPubkey,\n} from './common';\nimport {CoinflowIFrameComponent} from './coinflow-iframe.component';\n\n@Component({\n selector: 'lib-coinflow-withdraw',\n standalone: true,\n imports: [CoinflowIFrameComponent],\n template:\n ' <lib-coinflow-iframe ng-if=\"iframeProps && messageHandlers\" [iframeProps]=\"iframeProps!\" [messageHandlers]=\"messageHandlers!\"></lib-coinflow-iframe> ',\n})\nexport class CoinflowWithdrawComponent {\n @Input() withdrawProps!: CoinflowWithdrawProps;\n iframeProps?: CoinflowIFrameProps;\n messageHandlers?: IFrameMessageHandlers;\n\n ngOnInit() {\n const walletPubkey = getWalletPubkey(this.withdrawProps);\n this.messageHandlers = getHandlers(this.withdrawProps);\n this.messageHandlers.handleHeightChange =\n this.withdrawProps.handleHeightChange;\n\n this.iframeProps = {\n ...this.withdrawProps,\n walletPubkey,\n route: `/withdraw/${this.withdrawProps?.merchantId}`,\n transaction: undefined,\n };\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-withdraw-history',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-withdraw-history works!</p> ',\n})\nexport class CoinflowWithdrawHistoryComponent {}\n","/*\n * Public API Surface of coinflowlabs\n */\n\nexport * from './lib/coinflow-iframe.component';\nexport * from './lib/coinflow-purchase.component';\nexport * from './lib/coinflow-purchase-history.component';\nexport * from './lib/coinflow-purchase-protection.component';\nexport * from './lib/coinflow-withdraw.component';\nexport * from './lib/coinflow-withdraw-history.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coinflowlabs-angular.mjs","sources":["../../../projects/coinflowlabs/src/lib/common/CoinflowTypes.ts","../../../projects/coinflowlabs/src/lib/common/SolanaPeerDeps.ts","../../../projects/coinflowlabs/src/lib/common/CoinflowUtils.ts","../../../projects/coinflowlabs/src/lib/common/CoinflowLibMessageHandlers.ts","../../../projects/coinflowlabs/src/lib/coinflow-iframe.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase-history.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-purchase-protection.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-withdraw.component.ts","../../../projects/coinflowlabs/src/lib/coinflow-withdraw-history.component.ts","../../../projects/coinflowlabs/src/public-api.ts","../../../projects/coinflowlabs/src/coinflowlabs-angular.ts"],"sourcesContent":["import type {\n Connection,\n VersionedTransaction,\n PublicKey,\n Signer,\n Transaction,\n} from '@solana/web3.js';\n\nexport enum SettlementType {\n Credits = 'Credits',\n USDC = 'USDC',\n Bank = 'Bank',\n}\n\nexport enum MerchantStyle {\n Rounded = 'rounded',\n Sharp = 'sharp',\n Pill = 'pill',\n}\n\nexport type MerchantTheme = {\n primary?: string;\n background?: string;\n backgroundAccent?: string;\n backgroundAccent2?: string;\n textColor?: string;\n textColorAccent?: string;\n textColorAction?: string;\n font?: string;\n style?: MerchantStyle;\n};\n\nexport interface CustomerInfo {\n name?: string;\n verificationId?: string;\n displayName?: string;\n address?: string;\n city?: string;\n state?: string;\n zip?: string;\n country?: string;\n ip?: string;\n lat?: string;\n lng?: string;\n}\n\n/** Coinflow Types **/\nexport type CoinflowBlockchain = 'solana' | 'near' | 'eth' | 'polygon' | 'base';\nexport type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';\n\nexport interface CoinflowTypes {\n merchantId: string;\n env?: CoinflowEnvs;\n loaderBackground?: string;\n blockchain: CoinflowBlockchain;\n handleHeightChange?: (height: string) => void;\n theme?: MerchantTheme;\n}\n\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type OnSuccessMethod = (params: string) => void | Promise<void>;\n\n/** Wallets **/\nexport interface SolanaWallet {\n publicKey: PublicKey | null;\n signTransaction?: <T extends Transaction | VersionedTransaction>(\n transaction: T\n ) => Promise<T>;\n sendTransaction: <T extends Transaction | VersionedTransaction>(\n transaction: T\n ) => Promise<string>;\n signMessage?: (message: Uint8Array) => Promise<Uint8Array>;\n}\n\nexport interface NearWallet {\n accountId: string;\n signAndSendTransaction: (transaction: unknown) => Promise<{\n transaction: {hash: string};\n }>;\n}\n\ntype AccessList = Array<{address: string; storageKeys: Array<string>}>;\ntype AccessListish =\n | AccessList\n | Array<[string, Array<string>]>\n | Record<string, Array<string>>;\n\nexport type EthWallet = {\n address: string | null | undefined;\n sendTransaction: (transaction: {\n to: string;\n from?: string;\n nonce?: Bytes | bigint | string | number;\n\n gasLimit?: Bytes | bigint | string | number;\n gasPrice?: Bytes | bigint | string | number;\n\n data?: BytesLike;\n value?: Bytes | bigint | string | number;\n chainId?: number;\n\n type?: number;\n accessList?: AccessListish;\n\n maxPriorityFeePerGas?: Bytes | bigint | string | number;\n maxFeePerGas?: Bytes | bigint | string | number;\n\n customData?: Record<string, any>;\n ccipReadEnabled?: boolean;\n }) => Promise<{hash: string}>;\n signMessage: (message: string) => Promise<string>;\n};\n\n/** History **/\nexport interface CoinflowSolanaHistoryProps extends CoinflowTypes {\n wallet: SolanaWallet;\n connection: Connection;\n blockchain: 'solana';\n}\n\nexport interface CoinflowNearHistoryProps extends CoinflowTypes {\n wallet: NearWallet;\n blockchain: 'near';\n}\n\nexport interface CoinflowEvmHistoryProps extends CoinflowTypes {\n wallet: EthWallet;\n}\n\nexport interface CoinflowEthHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'eth';\n}\n\nexport interface CoinflowPolygonHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowBaseHistoryProps extends CoinflowEvmHistoryProps {\n blockchain: 'base';\n}\n\nexport type CoinflowHistoryProps =\n | CoinflowSolanaHistoryProps\n | CoinflowNearHistoryProps\n | CoinflowPolygonHistoryProps\n | CoinflowEthHistoryProps\n | CoinflowBaseHistoryProps;\n\n/** Transactions **/\n\nexport type NearFtTransferCallAction = {\n methodName: 'ft_transfer_call';\n args: object;\n gas: string;\n deposit: string;\n};\n\ntype Bytes = ArrayLike<number>;\ntype BytesLike = Bytes | string;\n\n/** Purchase **/\n\nexport type ChargebackProtectionData = ChargebackProtectionItem[];\n\nexport interface ChargebackProtectionItem {\n /**\n * The name of the product\n */\n productName: string;\n /**\n * The product type. Possible values include: inGameProduct, gameOfSkill, dataStorage, computingResources, sportsTicket, eSportsTicket, musicTicket, conferenceTicket, virtualSportsTicket, virtualESportsTicket, virtualMusicTicket, virtualConferenceTicket, alcohol, DLC, subscription, fundACause, realEstate, computingContract, digitalArt, topUp\n */\n productType:\n | 'inGameProduct'\n | 'gameOfSkill'\n | 'dataStorage'\n | 'computingResources'\n | 'sportsTicket'\n | 'eSportsTicket'\n | 'musicTicket'\n | 'conferenceTicket'\n | 'virtualSportsTicket'\n | 'virtualESportsTicket'\n | 'virtualMusicTicket'\n | 'virtualConferenceTicket'\n | 'alcohol'\n | 'DLC'\n | 'subscription'\n | 'fundACause'\n | 'realEstate'\n | 'computingContract'\n | 'digitalArt'\n | 'topUp'\n | 'ownershipContract';\n /**\n * The item's list price\n */\n /**\n * The number of units sold\n */\n quantity: number;\n /**\n * Any additional data that the store can provide on the product, e.g. description, link to image, etc.\n */\n rawProductData?: {[key: string]: any};\n}\n\nexport interface CoinflowCommonPurchaseProps extends CoinflowTypes {\n amount?: number | string;\n onSuccess?: OnSuccessMethod;\n webhookInfo?: object;\n email?: string;\n chargebackProtectionData?: ChargebackProtectionData;\n planCode?: string;\n disableApplePay?: boolean;\n disableGooglePay?: boolean;\n customerInfo?: CustomerInfo;\n settlementType?: SettlementType;\n authOnly?: boolean;\n deviceId?: string;\n jwtToken?: string;\n}\n\nexport interface CoinflowSolanaPurchaseProps\n extends CoinflowCommonPurchaseProps {\n wallet: SolanaWallet;\n transaction?: Transaction | VersionedTransaction;\n partialSigners?: Signer[];\n debugTx?: boolean;\n connection: Connection;\n blockchain: 'solana';\n token?: PublicKey | string;\n supportsVersionedTransactions?: boolean;\n rent?: {lamports: string | number};\n nativeSolToConvert?: {lamports: string | number};\n}\n\nexport interface CoinflowNearPurchaseProps extends CoinflowCommonPurchaseProps {\n wallet: NearWallet;\n blockchain: 'near';\n action?: NearFtTransferCallAction;\n nearDeposit?: string;\n}\n\nexport interface CoinflowEvmPurchaseProps extends CoinflowCommonPurchaseProps {\n transaction?: EvmTransactionData;\n token?: string;\n wallet: EthWallet;\n}\n\nexport interface CoinflowPolygonPurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowEthPurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'eth';\n}\n\nexport interface CoinflowBasePurchaseProps extends CoinflowEvmPurchaseProps {\n blockchain: 'base';\n}\n\nexport type CoinflowPurchaseProps =\n | CoinflowSolanaPurchaseProps\n | CoinflowNearPurchaseProps\n | CoinflowPolygonPurchaseProps\n | CoinflowEthPurchaseProps\n | CoinflowBasePurchaseProps;\n\n/** Withdraw **/\n\nexport interface CoinflowCommonWithdrawProps extends CoinflowTypes {\n onSuccess?: OnSuccessMethod;\n tokens?: string[];\n lockDefaultToken?: boolean;\n amount?: number;\n email?: string;\n bankAccountLinkRedirect?: string;\n additionalWallets?: {\n wallet: string;\n blockchain: 'solana' | 'eth' | 'near' | 'polygon';\n }[];\n supportsVersionedTransactions?: boolean;\n lockAmount?: boolean;\n transactionSigner?: string;\n}\n\nexport interface CoinflowSolanaWithdrawProps\n extends CoinflowCommonWithdrawProps {\n wallet: SolanaWallet;\n connection: Connection;\n blockchain: 'solana';\n}\n\nexport interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {\n wallet: NearWallet;\n blockchain: 'near';\n}\n\nexport interface CoinflowEvmWithdrawProps extends CoinflowCommonWithdrawProps {\n wallet: EthWallet;\n usePermit?: boolean;\n}\n\nexport interface CoinflowEthWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'eth';\n usePermit?: boolean;\n}\n\nexport interface CoinflowPolygonWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'polygon';\n}\n\nexport interface CoinflowBaseWithdrawProps extends CoinflowEvmWithdrawProps {\n blockchain: 'base';\n}\n\nexport type CoinflowWithdrawProps =\n | CoinflowSolanaWithdrawProps\n | CoinflowNearWithdrawProps\n | CoinflowEthWithdrawProps\n | CoinflowPolygonWithdrawProps\n | CoinflowBaseWithdrawProps;\n\nexport interface CommonEvmRedeem {\n waitForHash?: boolean;\n}\n\nexport interface NormalRedeem extends CommonEvmRedeem {\n transaction: {to: string; data: string};\n}\n\nexport interface KnownTokenIdRedeem extends NormalRedeem {\n nftContract: string;\n nftId: string;\n}\n\nexport interface SafeMintRedeem extends NormalRedeem {\n type: 'safeMint';\n nftContract?: string;\n}\n\nexport interface ReturnedTokenIdRedeem extends NormalRedeem {\n type: 'returned';\n nftContract?: string;\n}\n\ntype ReservoirNftIdItem = Omit<KnownTokenIdRedeem, keyof NormalRedeem>;\ninterface ReservoirOrderIdItem {\n orderId: string;\n}\ntype ReservoirItem = ReservoirNftIdItem | ReservoirOrderIdItem;\ntype ReservoirItems = ReservoirItem | ReservoirItem[];\n\nexport interface ReservoirRedeem extends CommonEvmRedeem {\n type: 'reservoir';\n items: ReservoirItems;\n}\n\nexport type EvmTransactionData =\n | SafeMintRedeem\n | ReturnedTokenIdRedeem\n | ReservoirRedeem\n | KnownTokenIdRedeem\n | NormalRedeem;\n\nexport interface CoinflowIFrameProps\n extends Omit<CoinflowTypes, 'merchantId'>,\n Pick<\n CoinflowCommonPurchaseProps,\n | 'chargebackProtectionData'\n | 'webhookInfo'\n | 'amount'\n | 'customerInfo'\n | 'settlementType'\n | 'email'\n | 'planCode'\n | 'deviceId'\n | 'jwtToken'\n >,\n Pick<\n CoinflowCommonWithdrawProps,\n | 'bankAccountLinkRedirect'\n | 'additionalWallets'\n | 'transactionSigner'\n | 'lockAmount'\n | 'lockDefaultToken'\n >,\n Pick<CoinflowEvmPurchaseProps, 'authOnly'>,\n Pick<CoinflowSolanaPurchaseProps, 'rent' | 'nativeSolToConvert' | 'token'> {\n walletPubkey: string | null | undefined;\n route: string;\n routePrefix?: string;\n transaction?: string;\n tokens?: string[] | PublicKey[];\n supportsVersionedTransactions?: boolean;\n nearDeposit?: string;\n merchantCss?: string;\n color?: 'white' | 'black';\n disableApplePay?: boolean;\n disableGooglePay?: boolean;\n theme?: MerchantTheme;\n usePermit?: boolean;\n}\n","// This works in angular, but not react\n// let web3: typeof import('@solana/web3.js') | undefined;\n// let base58: typeof import('bs58') | undefined;\n//\n// try {\n// web3 = require('@solana/web3.js');\n// base58 = require('bs58');\n// } catch (e) {}\n//\n// export {web3, base58};\n\n// This works in react, but not angular\nimport * as SolanaWeb3Js from '@solana/web3.js';\nimport base58Imported from 'bs58';\n\nconst web3: typeof SolanaWeb3Js | undefined = SolanaWeb3Js;\nconst base58: typeof base58Imported | undefined = base58Imported;\nexport {web3, base58};\n","import {\n CoinflowBlockchain,\n CoinflowEnvs,\n CoinflowIFrameProps,\n CoinflowPurchaseProps,\n} from './CoinflowTypes';\nimport {web3, base58} from './SolanaPeerDeps';\nimport LZString from 'lz-string';\n\nexport class CoinflowUtils {\n env: CoinflowEnvs;\n url: string;\n\n constructor(env?: CoinflowEnvs) {\n this.env = env ?? 'prod';\n if (this.env === 'prod') this.url = 'https://api.coinflow.cash';\n else if (this.env === 'local') this.url = 'http://localhost:5000';\n else this.url = `https://api-${this.env}.coinflow.cash`;\n }\n\n async getNSurePartnerId(merchantId: string): Promise<string | undefined> {\n return fetch(this.url + `/merchant/view/${merchantId}`)\n .then(response => response.json())\n .then(\n (json: {\n nSurePartnerId: string | undefined;\n nSureSettings: {nSurePartnerId: string | undefined};\n }) => json.nSureSettings?.nSurePartnerId || json.nSurePartnerId\n )\n .catch(e => {\n console.error(e);\n return undefined;\n });\n }\n\n async getCreditBalance(\n publicKey: string,\n merchantId: string,\n blockchain: 'solana' | 'near'\n ): Promise<{cents: number}> {\n const response = await fetch(\n this.url + `/api/customer/balances/${merchantId}`,\n {\n method: 'GET',\n headers: {\n 'x-coinflow-auth-wallet': publicKey,\n 'x-coinflow-auth-blockchain': blockchain,\n },\n }\n );\n const {credits} = await response.json();\n return credits;\n }\n\n static getCoinflowBaseUrl(env?: CoinflowEnvs): string {\n if (!env || env === 'prod') return 'https://coinflow.cash';\n if (env === 'local') return 'http://localhost:3000';\n\n return `https://${env}.coinflow.cash`;\n }\n\n static getCoinflowApiUrl(env?: CoinflowEnvs): string {\n if (!env || env === 'prod') return 'https://api.coinflow.cash';\n if (env === 'local') return 'http://localhost:5000';\n\n return `https://api-${env}.coinflow.cash`;\n }\n\n static getCoinflowUrl({\n walletPubkey,\n route,\n routePrefix,\n env,\n amount,\n transaction,\n blockchain,\n supportsVersionedTransactions,\n webhookInfo,\n email,\n loaderBackground,\n handleHeightChange,\n bankAccountLinkRedirect,\n additionalWallets,\n nearDeposit,\n chargebackProtectionData,\n merchantCss,\n color,\n rent,\n lockDefaultToken,\n token,\n tokens,\n planCode,\n disableApplePay,\n disableGooglePay,\n customerInfo,\n settlementType,\n lockAmount,\n nativeSolToConvert,\n theme,\n usePermit,\n transactionSigner,\n authOnly,\n deviceId,\n jwtToken,\n }: CoinflowIFrameProps): string {\n const prefix = routePrefix\n ? `/${routePrefix}/${blockchain}`\n : `/${blockchain}`;\n const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));\n url.searchParams.append('pubkey', walletPubkey!);\n\n if (transaction) {\n url.searchParams.append('transaction', transaction);\n }\n if (amount) {\n url.searchParams.append('amount', amount.toString());\n }\n\n if (supportsVersionedTransactions) {\n url.searchParams.append('supportsVersionedTransactions', 'true');\n }\n\n if (webhookInfo) {\n url.searchParams.append(\n 'webhookInfo',\n LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo))\n );\n }\n\n if (theme) {\n url.searchParams.append(\n 'theme',\n LZString.compressToEncodedURIComponent(JSON.stringify(theme))\n );\n }\n\n if (customerInfo) {\n url.searchParams.append(\n 'customerInfo',\n LZString.compressToEncodedURIComponent(JSON.stringify(customerInfo))\n );\n }\n\n if (email) {\n url.searchParams.append('email', email);\n }\n\n if (token) {\n url.searchParams.append('token', token.toString());\n }\n\n if (tokens) {\n url.searchParams.append('tokens', tokens.toString());\n }\n\n if (loaderBackground) {\n url.searchParams.append('loaderBackground', loaderBackground);\n }\n\n if (handleHeightChange) {\n url.searchParams.append('useHeightChange', 'true');\n }\n\n if (bankAccountLinkRedirect) {\n url.searchParams.append(\n 'bankAccountLinkRedirect',\n bankAccountLinkRedirect\n );\n }\n\n if (additionalWallets)\n url.searchParams.append(\n 'additionalWallets',\n LZString.compressToEncodedURIComponent(\n JSON.stringify(additionalWallets)\n )\n );\n\n if (nearDeposit) url.searchParams.append('nearDeposit', nearDeposit);\n\n if (chargebackProtectionData)\n url.searchParams.append(\n 'chargebackProtectionData',\n LZString.compressToEncodedURIComponent(\n JSON.stringify(chargebackProtectionData)\n )\n );\n if (deviceId) {\n url.searchParams.append('deviceId', deviceId);\n } else {\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const deviceId = window?.nSureSDK?.getDeviceId();\n if (deviceId) url.searchParams.append('deviceId', deviceId);\n }\n }\n\n if (merchantCss) url.searchParams.append('merchantCss', merchantCss);\n if (color) url.searchParams.append('color', color);\n if (rent) url.searchParams.append('rent', rent.lamports.toString());\n if (nativeSolToConvert)\n url.searchParams.append(\n 'nativeSolToConvert',\n nativeSolToConvert.lamports.toString()\n );\n if (lockDefaultToken) url.searchParams.append('lockDefaultToken', 'true');\n if (planCode) url.searchParams.append('planCode', planCode);\n\n if (disableApplePay) url.searchParams.append('disableApplePay', 'true');\n if (disableGooglePay) url.searchParams.append('disableGooglePay', 'true');\n if (settlementType)\n url.searchParams.append('settlementType', settlementType);\n\n if (lockAmount) url.searchParams.append('lockAmount', 'true');\n\n if (usePermit === false) url.searchParams.append('usePermit', 'false');\n if (transactionSigner)\n url.searchParams.append('transactionSigner', transactionSigner);\n if (authOnly === true) url.searchParams.append('authOnly', 'true');\n if (jwtToken) url.searchParams.append('jwtToken', jwtToken);\n\n return url.toString();\n }\n\n static getTransaction(props: CoinflowPurchaseProps): string | undefined {\n return this.byBlockchain<() => string | undefined>(props.blockchain, {\n solana: () => {\n if (!('transaction' in props)) return undefined;\n const {transaction} = props;\n if (!web3)\n throw new Error('@solana/web3.js dependency is required for Solana');\n if (!base58) throw new Error('bs58 dependency is required for Solana');\n if (transaction instanceof web3.Transaction)\n return base58.encode(\n transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })\n );\n\n if (transaction instanceof web3.VersionedTransaction)\n return base58.encode(transaction.serialize());\n\n return undefined;\n },\n polygon: () => {\n if (!('transaction' in props)) return undefined;\n const {transaction} = props;\n return LZString.compressToEncodedURIComponent(\n JSON.stringify(transaction)\n );\n },\n eth: () => {\n if (!('transaction' in props)) return undefined;\n const {transaction} = props;\n return LZString.compressToEncodedURIComponent(\n JSON.stringify(transaction)\n );\n },\n base: () => {\n if (!('transaction' in props)) return undefined;\n const {transaction} = props;\n return LZString.compressToEncodedURIComponent(\n JSON.stringify(transaction)\n );\n },\n near: () => {\n if (!('action' in props)) return undefined;\n const {action} = props;\n return LZString.compressToEncodedURIComponent(JSON.stringify(action));\n },\n })();\n }\n\n static byBlockchain<T>(\n blockchain: CoinflowBlockchain,\n args: {solana: T; near: T; eth: T; polygon: T; base: T}\n ): T {\n switch (blockchain) {\n case 'solana':\n return args.solana;\n case 'near':\n return args.near;\n case 'polygon':\n return args.polygon;\n case 'eth':\n return args.eth;\n case 'base':\n return args.base;\n default:\n throw new Error('blockchain not supported!');\n }\n }\n}\n","import {\n CoinflowPurchaseProps,\n EthWallet,\n NearWallet,\n SolanaWallet,\n} from './CoinflowTypes';\nimport {CoinflowUtils} from './CoinflowUtils';\nimport type {Transaction, VersionedTransaction} from '@solana/web3.js';\nimport {web3, base58} from './SolanaPeerDeps';\n\nexport type WalletCall = {method: IFrameMessageMethods; data: string};\n\nexport interface IFrameMessageHandlers {\n handleSendTransaction: (transaction: string) => Promise<string>;\n handleSignMessage?: (message: string) => Promise<string>;\n handleSignTransaction?: (transaction: string) => Promise<string>;\n handleHeightChange?: (height: string) => void;\n}\n\nenum IFrameMessageMethods {\n SignMessage = 'signMessage',\n SignTransaction = 'signTransaction',\n SendTransaction = 'sendTransaction',\n HeightChange = 'heightChange',\n}\n\nexport function getWalletPubkey({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): string | null | undefined {\n if ('publicKey' in wallet) {\n return wallet.publicKey!.toString();\n }\n\n if ('address' in wallet) {\n return wallet.address;\n }\n\n if ('accountId' in wallet) {\n return wallet.accountId;\n }\n\n return null;\n}\n\nexport function handleIFrameMessage(\n rawMessage: string,\n handlers: IFrameMessageHandlers\n): Promise<string> | void {\n let walletCall: WalletCall;\n try {\n walletCall = JSON.parse(rawMessage);\n if (!('method' in walletCall) || !('data' in walletCall)) return;\n } catch (e) {\n console.error('handleIFrameMessage JSON parse', e);\n return;\n }\n\n const {data, method} = walletCall;\n switch (method) {\n case IFrameMessageMethods.SignMessage:\n if (!handlers.handleSignMessage) return;\n return handlers.handleSignMessage(data);\n case IFrameMessageMethods.SignTransaction:\n if (!handlers.handleSignTransaction) return;\n return handlers.handleSignTransaction(data);\n case IFrameMessageMethods.SendTransaction:\n return handlers.handleSendTransaction(data);\n case IFrameMessageMethods.HeightChange:\n if (!handlers.handleHeightChange) return;\n return handlers.handleHeightChange(data);\n }\n\n console.warn(\n `Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`\n );\n}\n\nexport function getHandlers({\n wallet,\n blockchain,\n}: Pick<CoinflowPurchaseProps, 'wallet' | 'blockchain'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n return CoinflowUtils.byBlockchain(blockchain, {\n solana: () => getSolanaWalletHandlers({wallet}),\n near: () => getNearWalletHandlers({wallet}),\n eth: () => getEvmWalletHandlers({wallet}),\n polygon: () => getEvmWalletHandlers({wallet}),\n base: () => getEvmWalletHandlers({wallet}),\n })();\n}\n\nfunction getSolanaWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n return {\n handleSendTransaction: async (transaction: string) => {\n const tx = getSolanaTransaction(transaction);\n return await (wallet as SolanaWallet).sendTransaction(tx);\n },\n handleSignMessage: async (message: string) => {\n const signMessage = (wallet as SolanaWallet).signMessage;\n if (!signMessage) {\n throw new Error('signMessage is not supported by this wallet');\n }\n\n const signedMessage = await signMessage(\n new TextEncoder().encode(message)\n );\n if (!base58) throw new Error('bs58 dependency is required');\n return base58.encode(signedMessage);\n },\n handleSignTransaction: async (transaction: string) => {\n const signTransaction = (wallet as SolanaWallet).signTransaction;\n if (!signTransaction) {\n throw new Error('signTransaction is not supported by this wallet');\n }\n const tx = getSolanaTransaction(transaction);\n const signedTransaction = await signTransaction(tx);\n if (!base58) throw new Error('bs58 dependency is required');\n return base58.encode(\n signedTransaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })\n );\n },\n };\n}\n\nfunction getSolanaTransaction(\n data: string\n): Transaction | VersionedTransaction {\n if (!web3)\n throw new Error(\n '@solana/web3.js is not defined. Please install @solana/web3.js into your project'\n );\n\n if (!base58)\n throw new Error(\n 'bs58 is not defined. Please install bs58 into your project'\n );\n\n const parsedUInt8Array = base58.decode(data);\n const vtx = web3.VersionedTransaction.deserialize(parsedUInt8Array);\n if (vtx.version === 'legacy') return web3.Transaction.from(parsedUInt8Array);\n return vtx;\n}\n\nfunction getNearWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n const nearWallet = wallet as NearWallet;\n return {\n handleSendTransaction: async (transaction: string) => {\n const action = JSON.parse(Buffer.from(transaction, 'base64').toString());\n const executionOutcome = await nearWallet.signAndSendTransaction(action);\n if (!executionOutcome) throw new Error('Transaction did not send');\n const {transaction: transactionResult} = executionOutcome;\n return transactionResult.hash;\n },\n };\n}\n\nfunction getEvmWalletHandlers({\n wallet,\n}: Pick<CoinflowPurchaseProps, 'wallet'>): Omit<\n IFrameMessageHandlers,\n 'handleHeightChange'\n> {\n const evmWallet = wallet as EthWallet;\n return {\n handleSendTransaction: async (transaction: string) => {\n const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());\n const {hash} = await evmWallet.sendTransaction(tx);\n return hash;\n },\n handleSignMessage: async (message: string) => {\n return evmWallet.signMessage(message);\n },\n };\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n CoinflowIFrameProps,\n CoinflowUtils,\n IFrameMessageHandlers,\n handleIFrameMessage,\n} from './common';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-coinflow-iframe',\n standalone: true,\n imports: [],\n template: ` <iframe\n width=\"100%\"\n height=\"100%\"\n #iframe\n scrolling=\"{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}\"\n allow=\"payment;camera\"\n title=\"withdraw\"\n frameBorder=\"0\"\n [src]=\"dynamicUrl\"\n ></iframe>`,\n})\nexport class CoinflowIFrameComponent {\n @Input() iframeProps!: CoinflowIFrameProps;\n @Input() messageHandlers!: IFrameMessageHandlers;\n\n dynamicUrl?: SafeResourceUrl;\n @ViewChild('iframe') iframe?: ElementRef<HTMLIFrameElement>;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n const coinflowUrl = CoinflowUtils.getCoinflowUrl(this.iframeProps);\n this.dynamicUrl =\n this.sanitizer.bypassSecurityTrustResourceUrl(coinflowUrl);\n }\n\n @HostListener('window:message', ['$event']) onPostMessage(event: any) {\n if (\n !event.origin.includes(\n CoinflowUtils.getCoinflowBaseUrl(this.iframeProps.env)\n )\n )\n return;\n\n const promise = handleIFrameMessage(event.data, this.messageHandlers);\n if (!promise) return;\n promise\n .then(this.sendMessage.bind(this))\n .catch(e => this.sendMessage('ERROR ' + e.message));\n }\n\n sendMessage(message: string) {\n if (!this.iframe || !this.iframe.nativeElement) return;\n this.iframe.nativeElement.contentWindow!.postMessage(message, '*');\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {CoinflowIFrameComponent} from './coinflow-iframe.component';\nimport {\n CoinflowIFrameProps,\n CoinflowPurchaseProps,\n IFrameMessageHandlers,\n getHandlers,\n getWalletPubkey,\n CoinflowUtils,\n} from './common';\n\n@Component({\n selector: 'lib-coinflow-purchase',\n standalone: true,\n imports: [CoinflowIFrameComponent],\n template:\n ' <lib-coinflow-iframe ng-if=\"iframeProps && messageHandlers\" [iframeProps]=\"iframeProps!\" [messageHandlers]=\"messageHandlers!\"></lib-coinflow-iframe> ',\n})\nexport class CoinflowPurchaseComponent {\n @Input() purchaseProps!: CoinflowPurchaseProps;\n iframeProps?: CoinflowIFrameProps;\n messageHandlers?: IFrameMessageHandlers;\n\n ngOnInit() {\n const walletPubkey = getWalletPubkey(this.purchaseProps);\n this.messageHandlers = getHandlers(this.purchaseProps);\n this.messageHandlers.handleHeightChange =\n this.purchaseProps.handleHeightChange;\n\n this.iframeProps = {\n ...this.purchaseProps,\n walletPubkey,\n route: `/purchase/${this.purchaseProps?.merchantId}`,\n transaction: CoinflowUtils.getTransaction(this.purchaseProps),\n };\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-purchase-history',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-purchase-history works!</p> ',\n})\nexport class CoinflowPurchaseHistoryComponent {}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-purchase-protection',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-purchase-protection works!</p> ',\n})\nexport class CoinflowPurchaseProtectionComponent {}\n","import {Component, Input} from '@angular/core';\nimport {\n CoinflowIFrameProps,\n CoinflowWithdrawProps,\n IFrameMessageHandlers,\n getHandlers,\n getWalletPubkey,\n} from './common';\nimport {CoinflowIFrameComponent} from './coinflow-iframe.component';\n\n@Component({\n selector: 'lib-coinflow-withdraw',\n standalone: true,\n imports: [CoinflowIFrameComponent],\n template:\n ' <lib-coinflow-iframe ng-if=\"iframeProps && messageHandlers\" [iframeProps]=\"iframeProps!\" [messageHandlers]=\"messageHandlers!\"></lib-coinflow-iframe> ',\n})\nexport class CoinflowWithdrawComponent {\n @Input() withdrawProps!: CoinflowWithdrawProps;\n iframeProps?: CoinflowIFrameProps;\n messageHandlers?: IFrameMessageHandlers;\n\n ngOnInit() {\n const walletPubkey = getWalletPubkey(this.withdrawProps);\n this.messageHandlers = getHandlers(this.withdrawProps);\n this.messageHandlers.handleHeightChange =\n this.withdrawProps.handleHeightChange;\n\n this.iframeProps = {\n ...this.withdrawProps,\n walletPubkey,\n route: `/withdraw/${this.withdrawProps?.merchantId}`,\n transaction: undefined,\n };\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'lib-coinflow-withdraw-history',\n standalone: true,\n imports: [],\n template: ' <p>coinflow-withdraw-history works!</p> ',\n})\nexport class CoinflowWithdrawHistoryComponent {}\n","/*\n * Public API Surface of coinflowlabs\n */\n\nexport * from './lib/coinflow-iframe.component';\nexport * from './lib/coinflow-purchase.component';\nexport * from './lib/coinflow-purchase-history.component';\nexport * from './lib/coinflow-purchase-protection.component';\nexport * from './lib/coinflow-withdraw.component';\nexport * from './lib/coinflow-withdraw-history.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -146,7 +146,7 @@ export interface ChargebackProtectionItem {
|
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
148
|
export interface CoinflowCommonPurchaseProps extends CoinflowTypes {
|
|
149
|
-
amount?: number;
|
|
149
|
+
amount?: number | string;
|
|
150
150
|
onSuccess?: OnSuccessMethod;
|
|
151
151
|
webhookInfo?: object;
|
|
152
152
|
email?: string;
|
|
@@ -158,6 +158,7 @@ export interface CoinflowCommonPurchaseProps extends CoinflowTypes {
|
|
|
158
158
|
settlementType?: SettlementType;
|
|
159
159
|
authOnly?: boolean;
|
|
160
160
|
deviceId?: string;
|
|
161
|
+
jwtToken?: string;
|
|
161
162
|
}
|
|
162
163
|
export interface CoinflowSolanaPurchaseProps extends CoinflowCommonPurchaseProps {
|
|
163
164
|
wallet: SolanaWallet;
|
|
@@ -268,7 +269,7 @@ export interface ReservoirRedeem extends CommonEvmRedeem {
|
|
|
268
269
|
items: ReservoirItems;
|
|
269
270
|
}
|
|
270
271
|
export type EvmTransactionData = SafeMintRedeem | ReturnedTokenIdRedeem | ReservoirRedeem | KnownTokenIdRedeem | NormalRedeem;
|
|
271
|
-
export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'>, Pick<CoinflowCommonPurchaseProps, 'chargebackProtectionData' | 'webhookInfo' | 'amount' | 'customerInfo' | 'settlementType' | 'email' | 'planCode' | 'deviceId'>, Pick<CoinflowCommonWithdrawProps, 'bankAccountLinkRedirect' | 'additionalWallets' | 'transactionSigner' | 'lockAmount' | 'lockDefaultToken'>, Pick<CoinflowEvmPurchaseProps, 'authOnly'>, Pick<CoinflowSolanaPurchaseProps, 'rent' | 'nativeSolToConvert' | 'token'> {
|
|
272
|
+
export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'>, Pick<CoinflowCommonPurchaseProps, 'chargebackProtectionData' | 'webhookInfo' | 'amount' | 'customerInfo' | 'settlementType' | 'email' | 'planCode' | 'deviceId' | 'jwtToken'>, Pick<CoinflowCommonWithdrawProps, 'bankAccountLinkRedirect' | 'additionalWallets' | 'transactionSigner' | 'lockAmount' | 'lockDefaultToken'>, Pick<CoinflowEvmPurchaseProps, 'authOnly'>, Pick<CoinflowSolanaPurchaseProps, 'rent' | 'nativeSolToConvert' | 'token'> {
|
|
272
273
|
walletPubkey: string | null | undefined;
|
|
273
274
|
route: string;
|
|
274
275
|
routePrefix?: string;
|
|
@@ -9,12 +9,12 @@ export declare class CoinflowUtils {
|
|
|
9
9
|
}>;
|
|
10
10
|
static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
|
|
11
11
|
static getCoinflowApiUrl(env?: CoinflowEnvs): string;
|
|
12
|
-
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, }: CoinflowIFrameProps): string;
|
|
12
|
+
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, jwtToken, }: CoinflowIFrameProps): string;
|
|
13
13
|
static getTransaction(props: CoinflowPurchaseProps): string | undefined;
|
|
14
14
|
static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
|
|
15
15
|
solana: T;
|
|
16
16
|
near: T;
|
|
17
|
-
eth
|
|
17
|
+
eth: T;
|
|
18
18
|
polygon: T;
|
|
19
19
|
base: T;
|
|
20
20
|
}): T;
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinflowlabs/angular",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^17.3.0",
|
|
6
6
|
"@angular/core": "^17.3.0",
|
|
7
7
|
"@coinflowlabs/lib-common": "*",
|
|
8
8
|
"@solana/web3.js": ">=1.54.0",
|
|
9
|
-
"bs58": "~5.0.0"
|
|
9
|
+
"bs58": "~5.0.0",
|
|
10
|
+
"lz-string": "^1.5.0"
|
|
10
11
|
},
|
|
11
12
|
"dependencies": {
|
|
12
13
|
"tslib": "^2.6.2"
|