{"version":3,"sources":["jsdelivr-header.js","/npm/remme-atomic-swap@1.1.3/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,UAAa,MAAQ,KAAK,WAAc,SAAU,EAAS,EAAY,EAAG,GAC1E,OAAO,IAAK,IAAM,EAAI,WAAU,SAAU,EAAS,GAC/C,SAAS,EAAU,GAAS,IAAM,EAAK,EAAU,KAAK,GAAS,CAAE,MAAO,GAAK,EAAO,EAAI,CAAE,CAC1F,SAAS,EAAS,GAAS,IAAM,EAAK,EAAiB,MAAE,GAAS,CAAE,MAAO,GAAK,EAAO,EAAI,CAAE,CAC7F,SAAS,EAAK,GAAU,EAAO,KAAO,EAAQ,EAAO,OAAS,IAAI,GAAE,SAAU,GAAW,EAAQ,EAAO,MAAQ,IAAG,KAAK,EAAW,EAAW,CAC9I,GAAM,EAAY,EAAU,MAAM,EAAS,GAAc,KAAK,OAClE,GACJ,EACI,YAAe,MAAQ,KAAK,aAAgB,SAAU,EAAS,GAC/D,IAAsG,EAAG,EAAG,EAAG,EAA3G,EAAI,CAAE,MAAO,EAAG,KAAM,WAAa,GAAW,EAAP,EAAE,GAAQ,MAAM,EAAE,GAAI,OAAO,EAAE,EAAI,EAAG,KAAM,GAAI,IAAK,IAChG,OAAO,EAAI,CAAE,KAAM,EAAK,GAAI,MAAS,EAAK,GAAI,OAAU,EAAK,IAAwB,mBAAX,SAA0B,EAAE,OAAO,UAAY,WAAa,OAAO,IAAM,GAAI,EACvJ,SAAS,EAAK,GAAK,OAAO,SAAU,GAAK,OACzC,SAAc,GACV,GAAI,EAAG,MAAM,IAAI,UAAU,mCAC3B,KAAO,OACH,GAAI,EAAI,EAAG,IAAM,EAAI,EAAU,EAAR,EAAG,GAAS,SAAW,EAAG,GAAK,QAAU,YAAc,EAAI,EAAE,KAAK,EAAG,EAAG,KAAK,KAAM,OAAO,EAEjH,OADI,EAAI,EAAG,IAAG,EAAK,CAAC,EAAG,EAAE,QACjB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG,EAAI,EAAI,MACxB,KAAK,EAAc,OAAX,EAAE,QAAgB,CAAE,MAAO,EAAG,GAAI,MAAM,GAChD,KAAK,EAAG,EAAE,QAAS,EAAI,EAAG,GAAI,EAAK,CAAC,GAAI,SACxC,KAAK,EAAG,EAAK,EAAE,IAAI,MAAO,EAAE,KAAK,MAAO,SACxC,QACI,KAAM,EAAI,EAAE,MAAM,EAAI,EAAE,OAAS,GAAK,EAAE,EAAE,OAAS,KAAkB,IAAV,EAAG,IAAsB,IAAV,EAAG,IAAW,CAAE,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAV,EAAG,MAAc,GAAM,EAAG,GAAK,EAAE,IAAM,EAAG,GAAK,EAAE,IAAM,CAAE,EAAE,MAAQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAV,EAAG,IAAY,EAAE,MAAQ,EAAE,GAAI,CAAE,EAAE,MAAQ,EAAE,GAAI,EAAI,EAAI,KAAO,CACpE,GAAI,GAAK,EAAE,MAAQ,EAAE,GAAI,CAAE,EAAE,MAAQ,EAAE,GAAI,EAAE,IAAI,KAAK,GAAK,KAAO,CAC9D,EAAE,IAAI,EAAE,IAAI,MAChB,EAAE,KAAK,MAAO,SAEtB,EAAK,EAAK,KAAK,EAAS,EAC5B,CAAE,MAAO,GAAK,EAAK,CAAC,EAAG,GAAI,EAAI,CAAG,CAAE,QAAU,EAAI,EAAI,CAAG,CACzD,GAAY,EAAR,EAAG,GAAQ,MAAM,EAAG,GAAI,MAAO,CAAE,MAAO,EAAG,GAAK,EAAG,QAAK,EAAQ,MAAM,EAC9E,CAtBgD,CAAK,CAAC,EAAG,GAAK,CAAG,CAuBrE,EACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,IAAI,YAAc,QAAQ,aACtB,cAAgB,QAAQ,eACxB,iBAAmB,QAAQ,kBAC3B,mBAAqB,QAAQ,oBACjC,QAAQ,YAAc,mBAAmB,YACzC,QAAQ,SAAW,mBAAmB,SACtC,QAAQ,UAAY,mBAAmB,UACvC,IAAI,SAAW,QAAQ,YACvB,QAAQ,YAAc,SAAS,YAkE/B,IAAI,UAA2B,WAe3B,SAAS,EAAU,EAAU,GACzB,KAAK,YAAc,cAAc,gBAAgB,KACjD,KAAK,eAAiB,MACtB,KAAK,2BAA6B,WAClC,KAAK,wBAA0B,WAAa,IAAI,OAAO,IACvD,KAAK,uBAAyB,cAAc,wBAAwB,iCACpE,KAAK,UAAY,EACjB,KAAK,yBAA2B,CACpC,CAwTA,OAvTA,EAAU,UAAU,4BAA8B,SAAU,EAAQ,GAChE,OAAO,iBAAiB,mBAAmB,OAAO,CAC9C,OAAQ,EACR,KAAM,IACP,QACP,EACA,EAAU,UAAU,cAAgB,SAAU,EAAQ,EAAQ,GAC1D,IA6DI,EA7DA,EAAY,CAAC,cAAc,gBAAgB,KAAK,YAAa,IAC7D,IAAqB,EAAK,CAAC,GACxB,iBAAiB,iBAAiB,OAAO,MAAQ,CAChD,OAAQ,CACJ,KAAK,uBACL,cAAc,iBACd,cAAc,YACd,KAAK,2BACL,KAAK,yBAET,QAAS,CACL,KAAK,uBACL,cAAc,iBACd,cAAc,cAGtB,EAAG,iBAAiB,iBAAiB,OAAO,QAAU,CAClD,OAAQ,CACJ,cAAc,iBACd,cAAc,YACd,KAAK,2BACL,KAAK,yBAET,QAAS,CACL,cAAc,YACd,cAAc,mBAGtB,EAAG,iBAAiB,iBAAiB,OAAO,OAAS,CACjD,OAAQ,CACJ,cAAc,iBACd,cAAc,YACd,GAEJ,QAAS,CACL,cAAc,iBACd,cAAc,YACd,IAGR,EAAG,iBAAiB,iBAAiB,OAAO,iBAAmB,CAC3D,OAAQ,CACJ,cAAc,kBAElB,QAAS,CACL,cAAc,mBAGtB,EAAG,iBAAiB,iBAAiB,OAAO,SAAW,CACnD,OAAQ,CACJ,cAAc,kBAElB,QAAS,CACL,cAAc,mBAGtB,GACJ,MAAO,CACH,OAAQ,EAAkB,GAAU,EAAU,OAAO,EAAkB,GAAQ,QAAU,EACzF,QAAS,EAAkB,GAAU,EAAU,OAAO,EAAkB,GAAQ,SAAW,EAGnG,EACA,EAAU,UAAU,0BAA4B,SAAU,EAAoB,EAAQ,GAClF,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EACJ,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAAG,MAAO,CAAC,EAAa,KAAK,yBAAyB,OAAO,CAC1D,WAAY,KAAK,YACjB,cAAe,KAAK,eACpB,OAAQ,EACR,QAAS,EACT,aAAc,KAEtB,KAAK,EAED,OADA,EAAc,EAAG,OACV,CAAC,EAAa,KAAK,yBAAyB,KAAK,IAC5D,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EACA,EAAU,UAAU,iBAAmB,SAAU,GAC7C,IAAK,IAAI,EAAK,EAAG,EAAK,OAAO,QAAQ,GAAa,EAAK,EAAG,OAAQ,IAAM,CACpE,IAAI,EAAK,EAAG,GAAK,EAAM,EAAG,GAAI,EAAQ,EAAG,GACzC,IAAK,EACD,MAAM,IAAI,MAAM,QAAU,EAAM,+BAEpC,IAAsD,IAAlD,EAAM,OAAO,cAAc,SAAS,SACpC,MAAM,IAAI,MAAM,SAAW,EAAM,kBAEzC,CACJ,EAYA,EAAU,UAAU,QAAU,SAAU,GACpC,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EAAS,EAAoB,EAAI,EAAQ,EAC7C,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAOD,OANA,KAAK,iBAAiB,CAAE,OAAQ,IAChC,EAAU,iBAAiB,yBAAyB,OAAO,CACvD,OAAQ,IACT,SACH,EAAqB,KAAK,4BAA4B,iBAAiB,iBAAiB,OAAO,QAAS,GACxG,EAAK,KAAK,cAAc,iBAAiB,iBAAiB,OAAO,QAAS,GAAS,EAAS,EAAG,OAAQ,EAAU,EAAG,QAC7G,CAAC,EAAa,KAAK,0BAA0B,EAAoB,EAAQ,IACpF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EAaA,EAAU,UAAU,MAAQ,SAAU,EAAQ,GAC1C,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EAAiB,EAAS,EAAoB,EAAI,EAAQ,EAC9D,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAED,OADA,KAAK,iBAAiB,CAAE,OAAQ,EAAQ,UAAW,IAC5C,CAAC,EAAa,KAAK,QAAQ,IACtC,KAAK,EAQD,OAPA,EAAmB,EAAG,OAAQ,gBAC9B,EAAU,iBAAiB,uBAAuB,OAAO,CACrD,OAAQ,EACR,UAAW,IACZ,SACH,EAAqB,KAAK,4BAA4B,iBAAiB,iBAAiB,OAAO,MAAO,GACtG,EAAK,KAAK,cAAc,iBAAiB,iBAAiB,OAAO,MAAO,EAAQ,GAAkB,EAAS,EAAG,OAAQ,EAAU,EAAG,QAC5H,CAAC,EAAa,KAAK,0BAA0B,EAAoB,EAAQ,IACpF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EAYA,EAAU,UAAU,OAAS,SAAU,GACnC,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EAAS,EAAoB,EAAI,EAAQ,EAC7C,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAOD,OANA,KAAK,iBAAiB,CAAE,OAAQ,IAChC,EAAU,iBAAiB,wBAAwB,OAAO,CACtD,OAAQ,IACT,SACH,EAAqB,KAAK,4BAA4B,iBAAiB,iBAAiB,OAAO,OAAQ,GACvG,EAAK,KAAK,cAAc,iBAAiB,iBAAiB,OAAO,OAAQ,GAAS,EAAS,EAAG,OAAQ,EAAU,EAAG,QAC5G,CAAC,EAAa,KAAK,0BAA0B,EAAoB,EAAQ,IACpF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EAWA,EAAU,UAAU,QAAU,SAAU,GACpC,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EACJ,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAED,OADA,KAAK,iBAAiB,CAAE,OAAQ,IACzB,CAAC,EAAa,KAAK,UACjB,YAAY,YAAY,aAAa,WAAY,IAAI,SAAS,YAAY,KACvF,KAAK,EAED,OADA,EAAY,EAAG,OACR,CAAC,EAAc,IAAI,mBAAmB,SAAS,IAElE,GACJ,GACJ,EAUA,EAAU,UAAU,aAAe,WAC/B,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAAG,MAAO,CAAC,EAAa,KAAK,UAAU,YAAY,YAAY,aAAa,sBACjF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EAwBA,EAAU,UAAU,KAAO,SAAU,GACjC,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EAAc,EAAQ,EAAS,EAAoB,EAAI,EAAQ,EACnE,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAMD,OALA,EAAe,IAAI,SAAS,YAAY,GACxC,EAAS,EAAa,OACtB,EAAU,iBAAiB,sBAAsB,OAAO,GAAc,SACtE,EAAqB,KAAK,4BAA4B,iBAAiB,iBAAiB,OAAO,KAAM,GACrG,EAAK,KAAK,cAAc,iBAAiB,iBAAiB,OAAO,KAAM,GAAS,EAAS,EAAG,OAAQ,EAAU,EAAG,QAC1G,CAAC,EAAa,KAAK,0BAA0B,EAAoB,EAAQ,IACpF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EAeA,EAAU,UAAU,cAAgB,SAAU,EAAQ,GAClD,OAAO,UAAU,UAAM,OAAQ,GAAQ,WACnC,IAAI,EAAS,EAAoB,EAAI,EAAQ,EAC7C,OAAO,YAAY,MAAM,SAAU,GAC/B,OAAQ,EAAG,OACP,KAAK,EAQD,OAPA,KAAK,iBAAiB,CAAE,OAAQ,EAAQ,WAAY,IACpD,EAAU,iBAAiB,+BAA+B,OAAO,CAC7D,OAAQ,EACR,WAAY,IACb,SACH,EAAqB,KAAK,4BAA4B,iBAAiB,iBAAiB,OAAO,gBAAiB,GAChH,EAAK,KAAK,cAAc,iBAAiB,iBAAiB,OAAO,gBAAiB,GAAS,EAAS,EAAG,OAAQ,EAAU,EAAG,QACrH,CAAC,EAAa,KAAK,0BAA0B,EAAoB,EAAQ,IACpF,KAAK,EAAG,MAAO,CAAC,EAAc,EAAG,QAEzC,GACJ,GACJ,EACO,CACX,CAhV8B,GAiV9B,QAAQ,UAAY","file":"/npm/remme-atomic-swap@1.1.3/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/remme-atomic-swap@1.1.3/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (_) try {\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [0, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar remme_api_1 = require(\"remme-api\");\nvar remme_utils_1 = require(\"remme-utils\");\nvar remme_protobuf_1 = require(\"remme-protobuf\");\nvar remme_web_socket_1 = require(\"remme-web-socket\");\nexports.SwapInfoDto = remme_web_socket_1.SwapInfoDto;\nexports.SwapInfo = remme_web_socket_1.SwapInfo;\nexports.SwapState = remme_web_socket_1.SwapState;\nvar models_1 = require(\"./models\");\nexports.SwapInitDto = models_1.SwapInitDto;\n/**\n * Main class for working with atomic swap\n * @example\n * ```typescript\n * const swapId = \"133102e41346242476b15a3a7966eb5249271025fc7fb0b37ed3fdb4bcce3806\";\n * const secret = \"secretkey\";\n * const secretKey = \"039eaa877ff63694f8f09c8034403f8b5165a7418812a642396d5d539f90b170\";\n * const secretLock = \"b605112c2d7489034bbd7beab083fb65ba02af787786bb5e3d99bb26709f4f68\";\n * const init = await remme.swap.init({\n *    receiverAddress: \"112007484def48e1c6b77cf784aeabcac51222e48ae14f3821697f4040247ba01558b1\",\n *    senderAddressNonLocal: \"0xe6ca0e7c974f06471759e9a05d18b538c5ced11e\",\n *    amount: 100,\n *    swapId,\n * });\n *\n * init.connectToWebSocket(async (err, data) => {\n *    if (err) {\n *      console.log(\"err init\", err);\n *    } else if (data.status === \"COMMITTED\") {\n *      console.log(\"data init\", data);\n *      const res = await remme.swap.getInfo(swapId);\n *      console.log(\"after init info\", res);\n *      const pubkey = await remme.swap.getPublicKey();\n *      console.log(pubkey);\n *      init.closeWebSocket();\n *      const setSecretLock = await remme.swap.setSecretLock(swapId, secretLock);\n *      setSecretLock.connectToWebSocket(async (err, data) => {\n *        if (err) {\n *          console.log(\"set secret lock err\", err);\n *        }\n *        console.log(\"data set secret lock\", data);\n *        if (data.status === \"COMMITTED\") {\n *          const res = await remme.swap.getInfo(swapId);\n *          console.log(\"after set secret lock info\", res);\n *          setSecretLock.closeWebSocket();\n *          const approve = await remme.swap.approve(swapId);\n *          approve.connectToWebSocket(async (err, data) => {\n *            if (err) {\n *              console.log(\"approve err\", err);\n *            }\n *            console.log(\"data approve\", data);\n *            if (data.status === \"COMMITTED\") {\n *              const res = await remme.swap.getInfo(swapId);\n *              console.log(\"after approve\", res);\n *              approve.closeWebSocket();\n *              const close = await remme.swap.close(swapId, secretKey);\n *              close.connectToWebSocket(async (err, data) => {\n *                if (err) {\n *                  console.log(\"err close\", err);\n *                }\n *                console.log(\"data close\", data);\n *                if (data.status === \"COMMITTED\") {\n *                  const res = await remme.swap.getInfo(swapId);\n *                  console.log(\"after close info\", res);\n *                  close.closeWebSocket();\n *                }\n *              });\n *            }\n *          });\n *        }\n *      });\n *    }\n * });\n * ```\n */\nvar RemmeSwap = /** @class */ (function () {\n    /* tslint:disable */\n    /**\n     * @example\n     * Usage without main remme package\n     * ```typescript\n     * const remmeApi = new RemmeApi(); // See RemmeRest implementation\n     * const remmeAccount = new RemmeAccount(); // See RemmeAccount implementation\n     * const remmeTransaction = new RemmeTransactionService(remmeApi, remmeAccount); // See RemmeTransactionService implementation\n     * const remmeSwap = new RemmeSwap(remmeApi, remmeTransaction);\n     * ```\n     * @param {IRemmeApi} remmeApi\n     * @param {IRemmeTransactionService} remmeTransactionService\n     */\n    /* tslint:enable */\n    function RemmeSwap(remmeApi, remmeTransactionService) {\n        this._familyName = remme_utils_1.RemmeFamilyName.Swap;\n        this._familyVersion = \"0.1\";\n        this._blockInfoNamespaceAddress = \"00b10c00\";\n        this._blockInfoConfigAddress = \"00b10c01\" + \"0\".repeat(62);\n        this._settingsSwapComission = remme_utils_1.generateSettingsAddress(\"remme.settings.swap_comission\");\n        this._remmeApi = remmeApi;\n        this._remmeTransactionService = remmeTransactionService;\n    }\n    RemmeSwap.prototype._generateTransactionPayload = function (method, data) {\n        return remme_protobuf_1.TransactionPayload.encode({\n            method: method,\n            data: data,\n        }).finish();\n    };\n    RemmeSwap.prototype._getAddresses = function (method, swapId, receiverAddress) {\n        var addresses = [remme_utils_1.generateAddress(this._familyName, swapId)];\n        var methodToAddresses = (_a = {},\n            _a[remme_protobuf_1.AtomicSwapMethod.Method.INIT] = {\n                inputs: [\n                    this._settingsSwapComission,\n                    remme_utils_1.ConsensusAddress,\n                    remme_utils_1.ZeroAddress,\n                    this._blockInfoNamespaceAddress,\n                    this._blockInfoConfigAddress,\n                ],\n                outputs: [\n                    this._settingsSwapComission,\n                    remme_utils_1.ConsensusAddress,\n                    remme_utils_1.ZeroAddress,\n                ],\n            },\n            _a[remme_protobuf_1.AtomicSwapMethod.Method.EXPIRE] = {\n                inputs: [\n                    remme_utils_1.ConsensusAddress,\n                    remme_utils_1.ZeroAddress,\n                    this._blockInfoNamespaceAddress,\n                    this._blockInfoConfigAddress,\n                ],\n                outputs: [\n                    remme_utils_1.ZeroAddress,\n                    remme_utils_1.ConsensusAddress,\n                ],\n            },\n            _a[remme_protobuf_1.AtomicSwapMethod.Method.CLOSE] = {\n                inputs: [\n                    remme_utils_1.ConsensusAddress,\n                    remme_utils_1.ZeroAddress,\n                    receiverAddress,\n                ],\n                outputs: [\n                    remme_utils_1.ConsensusAddress,\n                    remme_utils_1.ZeroAddress,\n                    receiverAddress,\n                ],\n            },\n            _a[remme_protobuf_1.AtomicSwapMethod.Method.SET_SECRET_LOCK] = {\n                inputs: [\n                    remme_utils_1.ConsensusAddress,\n                ],\n                outputs: [\n                    remme_utils_1.ConsensusAddress,\n                ],\n            },\n            _a[remme_protobuf_1.AtomicSwapMethod.Method.APPROVE] = {\n                inputs: [\n                    remme_utils_1.ConsensusAddress,\n                ],\n                outputs: [\n                    remme_utils_1.ConsensusAddress,\n                ],\n            },\n            _a);\n        return {\n            inputs: methodToAddresses[method] ? addresses.concat(methodToAddresses[method].inputs) : addresses,\n            outputs: methodToAddresses[method] ? addresses.concat(methodToAddresses[method].outputs) : addresses,\n        };\n        var _a;\n    };\n    RemmeSwap.prototype._createAndSendTransaction = function (transactionPayload, inputs, outputs) {\n        return __awaiter(this, void 0, void 0, function () {\n            var transaction;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this._remmeTransactionService.create({\n                            familyName: this._familyName,\n                            familyVersion: this._familyVersion,\n                            inputs: inputs,\n                            outputs: outputs,\n                            payloadBytes: transactionPayload,\n                        })];\n                    case 1:\n                        transaction = _a.sent();\n                        return [4 /*yield*/, this._remmeTransactionService.send(transaction)];\n                    case 2: return [2 /*return*/, _a.sent()];\n                }\n            });\n        });\n    };\n    RemmeSwap.prototype._checkParameters = function (parameters) {\n        for (var _i = 0, _a = Object.entries(parameters); _i < _a.length; _i++) {\n            var _b = _a[_i], key = _b[0], value = _b[1];\n            if (!value) {\n                throw new Error(\"The '\" + key + \"' was missing in parameters\");\n            }\n            if (value.search(remme_utils_1.PATTERNS.SWAP_ID) === -1) {\n                throw new Error(\"Given \" + key + \" is not a valid\");\n            }\n        }\n    };\n    /**\n     * Approve swap with given id.\n     * Send transaction into REMChain.\n     * @example\n     * ```typescript\n     * const approve = await remme.swap.approve(swapId);\n     * console.log(approve.swapId);\n     * ```\n     * @param {string} swapId\n     * @returns {Promise<IBaseTransactionResponse>}\n     */\n    RemmeSwap.prototype.approve = function (swapId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var payload, transactionPayload, _a, inputs, outputs;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        this._checkParameters({ swapId: swapId });\n                        payload = remme_protobuf_1.AtomicSwapApprovePayload.encode({\n                            swapId: swapId,\n                        }).finish();\n                        transactionPayload = this._generateTransactionPayload(remme_protobuf_1.AtomicSwapMethod.Method.APPROVE, payload);\n                        _a = this._getAddresses(remme_protobuf_1.AtomicSwapMethod.Method.APPROVE, swapId), inputs = _a.inputs, outputs = _a.outputs;\n                        return [4 /*yield*/, this._createAndSendTransaction(transactionPayload, inputs, outputs)];\n                    case 1: return [2 /*return*/, _b.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Close swap with given id and secret key for checking who can close swap.\n     * Send transaction into REMChain.\n     * @example\n     * ```typescript\n     * const close = await remme.swap.close(swapId);\n     * console.log(close.swapId);\n     * ```\n     * @param {string} swapId\n     * @param {string} secretKey\n     * @returns {Promise<IBaseTransactionResponse>}\n     */\n    RemmeSwap.prototype.close = function (swapId, secretKey) {\n        return __awaiter(this, void 0, void 0, function () {\n            var receiverAddress, payload, transactionPayload, _a, inputs, outputs;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        this._checkParameters({ swapId: swapId, secretKey: secretKey });\n                        return [4 /*yield*/, this.getInfo(swapId)];\n                    case 1:\n                        receiverAddress = (_b.sent()).receiverAddress;\n                        payload = remme_protobuf_1.AtomicSwapClosePayload.encode({\n                            swapId: swapId,\n                            secretKey: secretKey,\n                        }).finish();\n                        transactionPayload = this._generateTransactionPayload(remme_protobuf_1.AtomicSwapMethod.Method.CLOSE, payload);\n                        _a = this._getAddresses(remme_protobuf_1.AtomicSwapMethod.Method.CLOSE, swapId, receiverAddress), inputs = _a.inputs, outputs = _a.outputs;\n                        return [4 /*yield*/, this._createAndSendTransaction(transactionPayload, inputs, outputs)];\n                    case 2: return [2 /*return*/, _b.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Expire swap with given id. Could be expired after 24h after initiation.\n     * Send transaction into REMChain.\n     * @example\n     * ```typescript\n     * const expire = await remme.swap.expire(swapId);\n     * console.log(expire.swapId);\n     * ```\n     * @param {string} swapId\n     * @returns {Promise<IBaseTransactionResponse>}\n     */\n    RemmeSwap.prototype.expire = function (swapId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var payload, transactionPayload, _a, inputs, outputs;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        this._checkParameters({ swapId: swapId });\n                        payload = remme_protobuf_1.AtomicSwapExpirePayload.encode({\n                            swapId: swapId,\n                        }).finish();\n                        transactionPayload = this._generateTransactionPayload(remme_protobuf_1.AtomicSwapMethod.Method.EXPIRE, payload);\n                        _a = this._getAddresses(remme_protobuf_1.AtomicSwapMethod.Method.EXPIRE, swapId), inputs = _a.inputs, outputs = _a.outputs;\n                        return [4 /*yield*/, this._createAndSendTransaction(transactionPayload, inputs, outputs)];\n                    case 1: return [2 /*return*/, _b.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Get info about swap by given swap id.\n     * @example\n     * ```typescript\n     * const info = await remme.swap.getInfo(swapId);\n     * console.log(info); // SwapInfo\n     * ```\n     * @param {string} swapId\n     * @returns {Promise<SwapInfo>}\n     */\n    RemmeSwap.prototype.getInfo = function (swapId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var apiResult;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        this._checkParameters({ swapId: swapId });\n                        return [4 /*yield*/, this._remmeApi\n                                .sendRequest(remme_api_1.RemmeMethods.atomicSwap, new models_1.SwapRequest(swapId))];\n                    case 1:\n                        apiResult = _a.sent();\n                        return [2 /*return*/, new remme_web_socket_1.SwapInfo(apiResult)];\n                }\n            });\n        });\n    };\n    /**\n     * Get swap public key.\n     * @example\n     * ```typescript\n     * const publicKey = await remme.swap.getPublicKey();\n     * console.log(publicKey);\n     * ```\n     * @returns {Promise<string>}\n     */\n    RemmeSwap.prototype.getPublicKey = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this._remmeApi.sendRequest(remme_api_1.RemmeMethods.atomicSwapPublicKey)];\n                    case 1: return [2 /*return*/, _a.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Initiation of swap.\n     * Send transaction into REMChain.\n     * @example\n     * ```typescript\n     * const swapId = \"133102e41346242476b15a3a7966eb5249271025fc7fb0b37ed3fdb4bcce3806\";\n     * const secretLockBySolicitor = \"b605112c2d7489034bbd7beab083fb65ba02af787786bb5e3d99bb26709f4f68\";\n     * const init = await remme.swap.init({\n     *      receiverAddress: \"112007484def48e1c6b77cf784aeabcac51222e48ae14f3821697f4040247ba01558b1\",\n     *      senderAddressNonLocal: \"0xe6ca0e7c974f06471759e9a05d18b538c5ced11e\",\n     *      amount: 100,\n     *\n     *      // you can provide secret lock in initiation.\n     *      secretLockBySolicitor,\n     *      // or you can set it separately in remme.swap.setSecretLock\n     *\n     *      swapId,\n     * });\n     * console.log(init.batchId); // SwapInfo\n     * ```\n     * @param {SwapInitDto} data\n     * @returns {Promise<IBaseTransactionResponse>}\n     */\n    RemmeSwap.prototype.init = function (data) {\n        return __awaiter(this, void 0, void 0, function () {\n            var swapInitData, swapId, payload, transactionPayload, _a, inputs, outputs;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        swapInitData = new models_1.SwapInitDto(data);\n                        swapId = swapInitData.swapId;\n                        payload = remme_protobuf_1.AtomicSwapInitPayload.encode(swapInitData).finish();\n                        transactionPayload = this._generateTransactionPayload(remme_protobuf_1.AtomicSwapMethod.Method.INIT, payload);\n                        _a = this._getAddresses(remme_protobuf_1.AtomicSwapMethod.Method.INIT, swapId), inputs = _a.inputs, outputs = _a.outputs;\n                        return [4 /*yield*/, this._createAndSendTransaction(transactionPayload, inputs, outputs)];\n                    case 1: return [2 /*return*/, _b.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Set secret lock to swap with given swap id.\n     * Send transaction into REMChain.\n     * @example\n     * ```typescript\n     * const swapId = \"133102e41346242476b15a3a7966eb5249271025fc7fb0b37ed3fdb4bcce3806\";\n     * const secretLockBySolicitor = \"b605112c2d7489034bbd7beab083fb65ba02af787786bb5e3d99bb26709f4f68\";\n     * const setting = await remme.swap.setSecretLock(swapId, secretLockBySolicitor);\n     * console.log(setting.batchId); // SwapInfo\n     * ```\n     * @param {string} swapId\n     * @param {string} secretLock\n     * @returns {Promise<IBaseTransactionResponse>}\n     */\n    RemmeSwap.prototype.setSecretLock = function (swapId, secretLock) {\n        return __awaiter(this, void 0, void 0, function () {\n            var payload, transactionPayload, _a, inputs, outputs;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        this._checkParameters({ swapId: swapId, secretLock: secretLock });\n                        payload = remme_protobuf_1.AtomicSwapSetSecretLockPayload.encode({\n                            swapId: swapId,\n                            secretLock: secretLock,\n                        }).finish();\n                        transactionPayload = this._generateTransactionPayload(remme_protobuf_1.AtomicSwapMethod.Method.SET_SECRET_LOCK, payload);\n                        _a = this._getAddresses(remme_protobuf_1.AtomicSwapMethod.Method.SET_SECRET_LOCK, swapId), inputs = _a.inputs, outputs = _a.outputs;\n                        return [4 /*yield*/, this._createAndSendTransaction(transactionPayload, inputs, outputs)];\n                    case 1: return [2 /*return*/, _b.sent()];\n                }\n            });\n        });\n    };\n    return RemmeSwap;\n}());\nexports.RemmeSwap = RemmeSwap;\n"]}