mirror of
https://github.com/Instadapp/assembly.git
synced 2024-07-29 22:37:06 +00:00
wip
This commit is contained in:
parent
6c3e80b291
commit
4baaeec8d0
|
@ -10,17 +10,14 @@
|
||||||
:key="index"
|
:key="index"
|
||||||
:value="input.value"
|
:value="input.value"
|
||||||
:token-key="input.token ? input.token.key : 'eth'"
|
:token-key="input.token ? input.token.key : 'eth'"
|
||||||
:token-keys="input.tokenKeys ? input.tokenKeys : []"
|
:token-keys="input.tokenKeys ? input.tokenKeys : activeStrategy.getContext()['tokenKeys']"
|
||||||
:placeholder="input.placeholder()"
|
:placeholder="input.placeholder()"
|
||||||
:error="input.error"
|
:error="input.error"
|
||||||
@input="$event => input.onInput($event)"
|
@input="$event => input.onInput($event)"
|
||||||
@tokenKeyChanged="
|
@tokenKeyChanged="
|
||||||
tokenKey => {
|
tokenKey => {
|
||||||
input.onCustomInput({
|
input.onCustomInput({
|
||||||
token: {
|
token: getTokenByKey(tokenKey)
|
||||||
key: tokenKey,
|
|
||||||
symbol: tokenKey.toUpperCase(),
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
|
@ -42,6 +39,7 @@ import { useSidebar } from "~/composables/useSidebar";
|
||||||
import { protocolStrategies, DefineStrategy } from "~/core/strategies";
|
import { protocolStrategies, DefineStrategy } from "~/core/strategies";
|
||||||
import { useStrategy } from "~/composables/useStrategy";
|
import { useStrategy } from "~/composables/useStrategy";
|
||||||
import InputAmount from "~/components/common/input/InputAmount.vue";
|
import InputAmount from "~/components/common/input/InputAmount.vue";
|
||||||
|
import { useToken } from "~/composables/useToken";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: { InputAmount },
|
components: { InputAmount },
|
||||||
|
@ -57,18 +55,21 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const { close } = useSidebar();
|
const { close } = useSidebar();
|
||||||
|
const { getTokenByKey } = useToken();
|
||||||
|
|
||||||
const strategies: DefineStrategy[] =
|
const strategies: DefineStrategy[] =
|
||||||
protocolStrategies[props.protocol] || [];
|
protocolStrategies[props.protocol] || [];
|
||||||
|
|
||||||
const { inputs, submit, error } = useStrategy(
|
const { inputs, submit, error, strategy : activeStrategy} = useStrategy(
|
||||||
strategies.find(strategy => strategy.id === props.strategy)
|
strategies.find(strategy => strategy.id === props.strategy)
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
inputs,
|
inputs,
|
||||||
error,
|
error,
|
||||||
submit
|
submit,
|
||||||
|
activeStrategy,
|
||||||
|
getTokenByKey,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { nextTick, onMounted, ref, watch } from "@nuxtjs/composition-api";
|
import { nextTick, onMounted, ref, watch } from "@nuxtjs/composition-api";
|
||||||
|
import tokens from "~/constant/tokens";
|
||||||
import { buildStrategy, DefineStrategy, IStrategy } from "~/core/strategies";
|
import { buildStrategy, DefineStrategy, IStrategy } from "~/core/strategies";
|
||||||
import { useBalances } from "./useBalances";
|
import { useBalances } from "./useBalances";
|
||||||
import { useDSA } from "./useDSA";
|
import { useDSA } from "./useDSA";
|
||||||
|
@ -62,6 +63,15 @@ export function useStrategy(defineStrategy: DefineStrategy) {
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
);
|
);
|
||||||
|
watch(
|
||||||
|
networkName,
|
||||||
|
() =>
|
||||||
|
strategy.setProps({
|
||||||
|
tokens: tokens[networkName.value].allTokens,
|
||||||
|
tokenKeys: tokens[networkName.value].tokenKeys
|
||||||
|
}),
|
||||||
|
{ immediate: true }
|
||||||
|
);
|
||||||
|
|
||||||
// testing
|
// testing
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
|
@ -34,6 +34,8 @@ export class Strategy {
|
||||||
|
|
||||||
setProps(props: object) {
|
setProps(props: object) {
|
||||||
Object.assign(this.props, props);
|
Object.assign(this.props, props);
|
||||||
|
|
||||||
|
this.notifyListeners()
|
||||||
}
|
}
|
||||||
|
|
||||||
getInputs() {
|
getInputs() {
|
||||||
|
@ -68,7 +70,7 @@ export class Strategy {
|
||||||
this.notifyListeners();
|
this.notifyListeners();
|
||||||
},
|
},
|
||||||
onCustomInput: (values: object) => {
|
onCustomInput: (values: object) => {
|
||||||
// input = Object.assign(input, values);
|
input = Object.assign(input, values);
|
||||||
|
|
||||||
input.error = input.validate({
|
input.error = input.validate({
|
||||||
...this.getContext(),
|
...this.getContext(),
|
||||||
|
@ -86,8 +88,6 @@ export class Strategy {
|
||||||
|
|
||||||
const spells = this.context.dsa.Spell();
|
const spells = this.context.dsa.Spell();
|
||||||
|
|
||||||
console.log(allSpells);
|
|
||||||
|
|
||||||
for (const spell of allSpells) {
|
for (const spell of allSpells) {
|
||||||
spells.add(spell);
|
spells.add(spell);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import tokens from "~/constant/tokens";
|
||||||
import { defineStrategy, defineInput, StrategyInputType } from "../../helpers";
|
import { defineStrategy, defineInput, StrategyInputType } from "../../helpers";
|
||||||
|
|
||||||
export default defineStrategy({
|
export default defineStrategy({
|
||||||
|
@ -19,17 +20,13 @@ export default defineStrategy({
|
||||||
return "Your amount exceeds your maximum limit.";
|
return "Your amount exceeds your maximum limit.";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tokenKeys: ["eth", "dai"],
|
token: tokens.mainnet.getTokenByKey("eth")
|
||||||
tokens: [{ key: "eth", symbol: "ETH" }],
|
|
||||||
token: { key: "eth", symbol: "ETH", address : "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }
|
|
||||||
}),
|
}),
|
||||||
defineInput({
|
defineInput({
|
||||||
type: StrategyInputType.INPUT_WITH_TOKEN,
|
type: StrategyInputType.INPUT_WITH_TOKEN,
|
||||||
name: "Collateral",
|
name: "Collateral",
|
||||||
placeholder: ({ input }) => `${input.token.symbol} to Withdraw`,
|
placeholder: ({ input }) => `${input.token.symbol} to Withdraw`,
|
||||||
tokenKeys: ["eth", "dai"],
|
token: tokens.mainnet.getTokenByKey("dai")
|
||||||
tokens: [{ key: "eth", symbol: "ETH" }],
|
|
||||||
token: { key: "dai", symbol: "DAI", address : "0x6B175474E89094C44Da98b954EedeAC495271d0F" }
|
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user