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