@yoroi/claim
Version:
The Claim (proof-of-onboarding) package of Yoroi SDK
68 lines (67 loc) • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.claimManagerMaker = void 0;
var _common = require("@yoroi/common");
var _types = require("@yoroi/types");
var _immer = require("immer");
var _transformers = require("./transformers");
var _validators = require("./validators");
const claimManagerMaker = function (_ref) {
let {
address,
primaryTokenInfo,
tokenManager
} = _ref;
let deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
request: _common.fetchData
};
const claimTokens = postClaimTokens({
address,
primaryTokenInfo,
tokenManager
}, deps);
return (0, _immer.freeze)({
claimTokens,
address,
primaryTokenInfo
});
};
exports.claimManagerMaker = claimManagerMaker;
const postClaimTokens = (_ref2, _ref3) => {
let {
address,
primaryTokenInfo,
tokenManager
} = _ref2;
let {
request
} = _ref3;
return async claimAction => {
// builds the request from the action, overides address and code
const {
code,
params,
url
} = claimAction;
const payload = {
...params,
address,
code
};
const response = await request({
url,
method: 'post',
data: payload
});
if ((0, _common.isLeft)(response)) {
return (0, _transformers.asClaimApiError)(response.error);
} else {
const claimInfo = response.value.data;
if (!_validators.ClaimTokensApiResponseSchema.safeParse(claimInfo).success) throw new _types.Api.Errors.ResponseMalformed();
return (0, _transformers.asClaimToken)(claimInfo, primaryTokenInfo, tokenManager);
}
};
};
//# sourceMappingURL=manager.js.map