UNPKG

3.31 kBSource Map (JSON)View Raw
1{"version":3,"file":"rate-backend.js","sourceRoot":"","sources":["rate-backend.ts"],"names":[],"mappings":";;AAAA,qCAA6B;AAC7B,yCAAiC;AAQjC,wCAA+C;AAE/C,MAAM,eAAe,GAAG,YAAY,CAAA;AAEpC,MAAqB,WAAW;IAI9B,YAAa,IAAqB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAQ,CAAC,CAAA;QAE9B,MAAM,OAAO,GAAuB,wBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,CAAA;QAClG,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IAC/B,CAAC;IAED,OAAO,CAAE,aAAqB,EAAE,kBAA0B;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;IAChE,CAAC;IAED,aAAa,CAAE,MAA2B;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,CAAE,MAA2B;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;SACzC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAChD,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAA;YAC3C,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE;gBACnC,IAAI,UAAU,KAAK,UAAU;oBAAE,SAAQ;gBACvC,YAAY,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;aAC9E;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAhDD,8BAgDC","sourcesContent":["import Config from './config'\nimport Accounts from './accounts'\nimport reduct = require('reduct')\nimport {\n BackendConstructor,\n BackendInstance,\n SubmitPaymentParams\n} from '../types/backend'\n\nimport { loadModuleOfType } from '../lib/utils'\n\nconst DEFAULT_BACKEND = 'one-to-one'\n\nexport default class RateBackend implements BackendInstance {\n protected backend: BackendInstance\n private accounts: Accounts\n\n constructor (deps: reduct.Injector) {\n const config = deps(Config)\n this.accounts = deps(Accounts)\n\n const Backend: BackendConstructor = loadModuleOfType('backend', config.backend || DEFAULT_BACKEND)\n this.backend = new Backend(Object.assign({\n spread: config.spread\n }, config.backendConfig), {\n getInfo: (account: string) => this.accounts.getInfo(account),\n accounts: this.accounts\n })\n }\n\n connect () {\n return this.backend.connect()\n }\n\n getRate (sourceAccount: string, destinationAccount: string) {\n return this.backend.getRate(sourceAccount, destinationAccount)\n }\n\n submitPayment (params: SubmitPaymentParams) {\n return this.backend.submitPayment(params)\n }\n\n submitPacket (params: SubmitPaymentParams) {\n if (this.backend.submitPacket) {\n return this.backend.submitPacket(params)\n }\n return Promise.resolve()\n }\n\n async getStatus () {\n const rates = {}\n const accountIds = this.accounts.getAccountIds()\n for (const srcAccount of accountIds) {\n const accountRates = rates[srcAccount] = {}\n for (const dstAccount of accountIds) {\n if (srcAccount === dstAccount) continue\n accountRates[dstAccount] = await this.backend.getRate(srcAccount, dstAccount)\n }\n }\n return rates\n }\n}\n"]}
\No newline at end of file