/**
 * Minified by jsDelivr using Terser v5.48.0.
 * Original file: /npm/@cardano-foundation/ledgerjs-hw-app-cardano@8.1.0/dist/Ada.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,s)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)},__awaiter=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))(function(s,n){function a(e){try{d(i.next(e))}catch(e){n(e)}}function o(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,o)}d((i=i.apply(e,t||[])).next())})},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Networks=exports.utils=exports.Ada=void 0;const deviceStatusError_1=require("./errors/deviceStatusError"),errors_1=require("./errors"),invalidDataReason_1=require("./errors/invalidDataReason"),interact_1=require("./interactions/common/interact"),deriveAddress_1=require("./interactions/deriveAddress"),deriveNativeScriptHash_1=require("./interactions/deriveNativeScriptHash"),getExtendedPublicKeys_1=require("./interactions/getExtendedPublicKeys"),getSerial_1=require("./interactions/getSerial"),getVersion_1=require("./interactions/getVersion"),deviceCapabilities_1=require("./validation/deviceCapabilities"),runTests_1=require("./interactions/runTests"),showAddress_1=require("./interactions/showAddress"),signCVote_1=require("./interactions/signCVote"),signOperationalCertificate_1=require("./interactions/signOperationalCertificate"),signMessage_1=require("./interactions/signMessage"),messageData_1=require("./parsing/messageData"),signTx_1=require("./interactions/signTx"),address_1=require("./parsing/address"),cVote_1=require("./parsing/cVote"),nativeScript_1=require("./parsing/nativeScript"),operationalCertificate_1=require("./parsing/operationalCertificate"),transaction_1=require("./parsing/transaction"),networkConstants_1=require("./networkConstants"),utils_1=__importDefault(require("./utils"));exports.utils=utils_1.default;const assert_1=require("./utils/assert"),parse_1=require("./utils/parse");__exportStar(require("./errors"),exports),__exportStar(require("./types/public"),exports);const CLA=215;function getStatusCodeFromError(e){return null==e||"object"!=typeof e?null:"statusCode"in e&&"number"==typeof e.statusCode?e.statusCode:"code"in e&&"number"==typeof e.code?e.code:null}function wrap(e,t){return(...r)=>__awaiter(this,void 0,void 0,function*(){try{return yield e(...r)}catch(e){return yield t(e,...r)}})}function wrapConvertDeviceStatusError(e){return wrap(e,(e,...t)=>__awaiter(this,void 0,void 0,function*(){const t=getStatusCodeFromError(e);if(null!=t)throw new errors_1.DeviceStatusError(t);throw e}))}function wrapRetryStillInCall(e){return wrap(e,(t,...r)=>__awaiter(this,void 0,void 0,function*(){const i=getStatusCodeFromError(t);if(i===deviceStatusError_1.StatusWordV7.ERR_STILL_IN_CALL||i===deviceStatusError_1.StatusWordV8.SWO_STILL_IN_CALL_RESET_DONE)try{return yield e(...r)}catch(e){const t=getStatusCodeFromError(e);if(t===deviceStatusError_1.StatusWordV7.ERR_STILL_IN_CALL||t===deviceStatusError_1.StatusWordV8.SWO_STILL_IN_CALL_RESET_DONE)throw new errors_1.ErrorBase("Ledger app seems to be in an unexpected irrecoverable state. Please reopen the Cardano app and retry.");throw e}throw t}))}function interactWithDevice(e,t){return(0,interact_1.interact)(e,t,wrapRetryStillInCall(t))}class Ada{constructor(e,t="ADA"){this.transport=e;this.transport.decorateAppAPIMethods(this,["getVersion","getSerial","getExtendedPublicKeys","signTransaction","deriveAddress","showAddress","signOperationalCertificate","signMessage","signCIP36Vote","runTests","deriveNativeScriptHash"],t),this._send=e=>__awaiter(this,void 0,void 0,function*(){if(e.data.length>255)throw new Error("APDU too large, likely a bug");let t=yield wrapConvertDeviceStatusError(this.transport.send)(215,e.ins,e.p1,e.p2,e.data);return t=utils_1.default.stripRetcodeFromResponse(t),null!=e.expectedResponseLength&&(0,assert_1.assert)(t.length===e.expectedResponseLength,`unexpected response length: ${t.length} instead of ${e.expectedResponseLength}`),t})}getVersion(){return __awaiter(this,void 0,void 0,function*(){const e=yield interactWithDevice(this._getVersion(),this._send);return{version:e,compatibility:(0,deviceCapabilities_1.getCompatibility)(e)}})}*_getVersion(){return yield*(0,getVersion_1.getVersion)()}getSerial(){return __awaiter(this,void 0,void 0,function*(){return interactWithDevice(this._getSerial(),this._send)})}*_getSerial(){const e=yield*(0,getVersion_1.getVersion)();return yield*(0,getSerial_1.getSerial)(e)}runTests(){return __awaiter(this,void 0,void 0,function*(){return interactWithDevice(this._runTests(),this._send)})}*_runTests(){const e=yield*(0,getVersion_1.getVersion)();return yield*(0,runTests_1.runTests)(e)}getExtendedPublicKeys(e){return __awaiter(this,arguments,void 0,function*({paths:e}){(0,parse_1.validate)((0,parse_1.isArray)(e),invalidDataReason_1.InvalidDataReason.GET_EXT_PUB_KEY_PATHS_NOT_ARRAY);const t=e.map(e=>(0,parse_1.parseBIP32Path)(e,invalidDataReason_1.InvalidDataReason.INVALID_PATH));return interactWithDevice(this._getExtendedPublicKeys(t),this._send)})}*_getExtendedPublicKeys(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,getExtendedPublicKeys_1.getExtendedPublicKeys)(t,e)}getExtendedPublicKey(e){return __awaiter(this,arguments,void 0,function*({path:e}){return(yield this.getExtendedPublicKeys({paths:[e]}))[0]})}deriveAddress(e){return __awaiter(this,arguments,void 0,function*({network:e,address:t}){const r=(0,address_1.parseAddress)(e,t);return interactWithDevice(this._deriveAddress(r),this._send)})}*_deriveAddress(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,deriveAddress_1.deriveAddress)(t,e)}showAddress(e){return __awaiter(this,arguments,void 0,function*({network:e,address:t}){const r=(0,address_1.parseAddress)(e,t);return interactWithDevice(this._showAddress(r),this._send)})}*_showAddress(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,showAddress_1.showAddress)(t,e)}signTransaction(e){return __awaiter(this,void 0,void 0,function*(){const t=(0,transaction_1.parseSignTransactionRequest)(e);return interactWithDevice(this._signTx(t),this._send)})}*_signTx(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,signTx_1.signTransaction)(t,e)}signOperationalCertificate(e){return __awaiter(this,void 0,void 0,function*(){const t=(0,operationalCertificate_1.parseOperationalCertificate)(e);return interactWithDevice(this._signOperationalCertificate(t),this._send)})}*_signOperationalCertificate(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,signOperationalCertificate_1.signOperationalCertificate)(t,e)}signMessage(e){return __awaiter(this,void 0,void 0,function*(){const t=(0,messageData_1.parseMessageData)(e);return interactWithDevice(this._signMessage(t),this._send)})}*_signMessage(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,signMessage_1.signMessage)(t,e)}signCIP36Vote(e){return __awaiter(this,void 0,void 0,function*(){const t=(0,cVote_1.parseCVote)(e);return interactWithDevice(this._signCIP36Vote(t),this._send)})}*_signCIP36Vote(e){const t=yield*(0,getVersion_1.getVersion)();return yield*(0,signCVote_1.signCVote)(t,e)}deriveNativeScriptHash(e){return __awaiter(this,arguments,void 0,function*({script:e,displayFormat:t}){const r=(0,nativeScript_1.parseNativeScript)(e),i=(0,nativeScript_1.parseNativeScriptHashDisplayFormat)(t);return interactWithDevice(this._deriveNativeScriptHash(r,i),this._send)})}*_deriveNativeScriptHash(e,t){const r=yield*(0,getVersion_1.getVersion)();return yield*(0,deriveNativeScriptHash_1.deriveNativeScriptHash)(r,e,t)}}exports.Ada=Ada,exports.default=Ada,exports.Networks={Mainnet:{networkId:networkConstants_1.MAINNET_NETWORK_ID,protocolMagic:764824073},Testnet:{networkId:networkConstants_1.TESTNET_NETWORK_ID,protocolMagic:1097911063}};
//# sourceMappingURL=/sm/ee6e0e8bf0957a3874b9515f6928783163a91c995d356aa3540c902669493d8d.map