hector-rubic-sdk
Version:
Simplify dApp creation
32 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTokenNativeAddressProxyInPathStartAndEnd = exports.createTokenNativeAddressProxy = void 0;
function createTokenNativeAddressProxy(token, wrappedNativeAddress) {
var wethAbleAddress = token.isNative ? wrappedNativeAddress : token.address;
return new Proxy(token, {
get: function (target, key) {
if (!(key in target)) {
return undefined;
}
if (key === 'address') {
return wethAbleAddress;
}
return target[key];
}
});
}
exports.createTokenNativeAddressProxy = createTokenNativeAddressProxy;
function createTokenNativeAddressProxyInPathStartAndEnd(path, wrappedNativeAddress) {
if (!(path === null || path === void 0 ? void 0 : path[0])) {
throw new Error('');
}
var tokenAddress = path[path.length - 1];
if (!tokenAddress) {
throw new Error('[RUBIC SDK] Token has to be defined.');
}
return [createTokenNativeAddressProxy(path[0], wrappedNativeAddress)]
.concat(path.slice(1, path.length - 1))
.concat(createTokenNativeAddressProxy(tokenAddress, wrappedNativeAddress));
}
exports.createTokenNativeAddressProxyInPathStartAndEnd = createTokenNativeAddressProxyInPathStartAndEnd;
//# sourceMappingURL=token-native-address-proxy.js.map