UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

57 lines (55 loc) • 2.34 kB
const require_theme = require('../../utils/theme.cjs'); const require_custody_signer = require('./custody-signer.cjs'); const require_delegate_signer = require('./delegate-signer.cjs'); const require_near_signer = require('./near-signer.cjs'); let effect = require("effect"); //#region src/services/auth/signer.ts /** The strategy dispatch, exported for the train's procedural deps. */ const dispatchSubmit = (input) => input.mode === "custody" ? (async () => { await require_custody_signer.ensureCustodyBalance(input.custodyWallet); console.log(` Signing via ${require_theme.colors.cyan(`OutLayer custody wallet ${input.custodyWallet.nearAccountId}`)}`); return require_custody_signer.submitRegistryWriteCustody({ contract: input.contract, args: input.args, custodyWallet: input.custodyWallet, idempotencyKey: input.idempotencyKey }); })() : input.mode === "wallet" ? (async () => { const record = await require_delegate_signer.ensureDelegateKey({ configDir: input.configDir, account: input.account, contract: input.contract, network: input.network, siteUrl: input.credential.siteUrl }); return require_delegate_signer.submitRegistryWriteDelegated({ account: input.account, contract: input.contract, network: input.network, args: input.args, delegatePrivateKey: record.privateKey, relayEndpoint: `${input.credential.siteUrl}/api/auth/near/relay`, apiKey: input.credential.apiKey }); })() : require_near_signer.submitRegistryWrite({ account: input.account, contract: input.contract, method: "__fastdata_kv", args: input.args, network: input.network, privateKey: input.privateKey }, input.strategy); var SignerService = class SignerService extends effect.Context.Service()("everything-dev/auth/signer") { static Live = effect.Layer.succeed(this, SignerService.of({ submitRegistryWrite: require_near_signer.submitRegistryWrite, submitRegistryWriteDelegated: require_delegate_signer.submitRegistryWriteDelegated, submitRegistryWriteCustody: require_custody_signer.submitRegistryWriteCustody, ensureDelegateKey: require_delegate_signer.ensureDelegateKey, ensureCustodyBalance: require_custody_signer.ensureCustodyBalance, submit: dispatchSubmit })); }; //#endregion exports.SignerService = SignerService; exports.dispatchSubmit = dispatchSubmit; //# sourceMappingURL=signer.cjs.map