Skip to content
This repository was archived by the owner on Sep 10, 2019. It is now read-only.

Commit f29fb5d

Browse files
authored
Merge pull request #240 from eosdac/dev
updating master from dev
2 parents c991919 + 35cb7e9 commit f29fb5d

File tree

12 files changed

+288
-82
lines changed

12 files changed

+288
-82
lines changed

eosdac-material/src/components/msig-proposal.vue

+31-31
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<div v-if="!isHidden" class="q-mb-md bg-dark2 round-borders shadow-5 animate-fade lt-sm" style="border:1px solid #4A1289;">
55

66
<div class="row justify-center q-pa-md relative-position">
7-
<q-chip v-if="!is_seen_computed" dense class="animate-fade absolute" style="top:10px;right:10px" color="negative">new</q-chip>
7+
<q-chip v-if="!is_seen_computed" dense class="animate-fade absolute" style="top:10px;right:10px" color="negative">{{ $t('custodians.new') }}</q-chip>
88
<div class="relative-position" style="text-align:center">
99
<q-chip v-if="msig.trx.actions.length > 1" dense class="absolute" style="top:12px;left:100px" color="dark">{{msig.trx.actions.length}}</q-chip>
1010
<q-icon style="border:2px solid #4A1289;border-radius:50%" size="48px" count="5" :name="'icon-'+matchIcon" class="q-pa-md q-mr-xs q-mb-xs text-dimwhite" :color="getStatusColor" />
@@ -14,35 +14,35 @@
1414

1515
<div class="row q-caption bg-dark q-pa-md q-mx-xs round-borders" >
1616
<div class="full-width">
17-
<span class="text-white">Proposal: <span class="text-dimwhite">{{msig.proposal_name}}</span></span>
17+
<span class="text-white">{{ $t('custodians.proposal') }}: <span class="text-dimwhite">{{msig.proposal_name}}</span></span>
1818
</div>
1919
<div class="full-width q-mt-xs">
20-
<span class="text-white">Submitted by:&nbsp;</span>
20+
<span class="text-white">{{ $t('custodians.submitted_by') }}:&nbsp;</span>
2121
<router-link :to="{path: '/profile/' + msig.proposer}" >{{ msig.proposer }}</router-link>
2222
</div>
2323
<div class="full-width q-mt-xs">
24-
<span class="text-white">Submitted on:&nbsp;<span class="text-dimwhite">{{new Date(msig.block_time).toDateString()}}</span></span>
24+
<span class="text-white">{{ $t('custodians.submitted_on') }}:&nbsp;<span class="text-dimwhite">{{new Date(msig.block_time).toDateString()}}</span></span>
2525
</div>
2626
</div>
2727

2828
<div class="row q-pa-md justify-between relative-position items-center">
2929
<div v-if="msig.status !== 0" @click="approvals_modal = true" class="cursor-pointer">
30-
<div class="q-caption text-dimwhite" >Received Approvals:</div>
30+
<div class="q-caption text-dimwhite" >{{ $t('custodians.received_approvals') }}:</div>
3131
<div class="text-white q-title">
3232
<span><q-spinner v-if="provided_approvals==null" color="primary" size="25px" style="margin-top:-4px" /></span>
3333
<span v-if="provided_approvals" class="text-p-light cursor-pointer animate-fade">{{provided_approvals.length}}</span>
3434
<span class="">/{{msig.threshold}}</span>
3535
</div>
3636
</div>
37-
<q-btn label="view details" color="dark" @click="mobile_details_modal=true; handleIsSeenCache(true)"/>
37+
<q-btn :label="$t('custodians.view_details')" color="dark" @click="mobile_details_modal=true; handleIsSeenCache(true)"/>
3838
</div>
3939

4040
<!-- mobile details modal -->
4141
<q-modal maximized v-model="mobile_details_modal" >
4242
<div >
4343
<!-- header -->
4444
<div style="height:50px" class="bg-dark row items-center justify-between q-px-md">
45-
<span>Proposal Details</span>
45+
<span>{{ $t('custodians.proposal_details') }}</span>
4646
<q-icon class=" cursor-pointer" name="icon-ui-8" @click.native="mobile_details_modal = false" />
4747
</div>
4848
<!-- content -->
@@ -62,26 +62,26 @@
6262
<q-checkbox dark left-label :label="isSeen ?'Unmark as seen':'Mark as seen' " v-model="isSeen" @input="handleIsSeenCache" />
6363
</div>
6464
<div class="q-pb-xs" >
65-
Proposal name: <span class="text-dimwhite">{{msig.proposal_name}}</span>
65+
{{ $t('custodians.proposal_name') }}: <span class="text-dimwhite">{{msig.proposal_name}}</span>
6666
</div>
6767

6868
<div class="q-pb-xs">
69-
Submitted by: <span class="text-dimwhite">{{msig.proposer}}</span>
69+
{{ $t('custodians.submitted_by') }}: <span class="text-dimwhite">{{msig.proposer}}</span>
7070
</div>
7171

7272
<div class="q-pb-xs">
73-
Submitted on: <span class="text-dimwhite">{{new Date(msig.block_time).toUTCString()}}</span>
73+
{{ $t('custodians.submitted_on') }}: <span class="text-dimwhite">{{new Date(msig.block_time).toUTCString()}}</span>
7474
</div>
7575
<div class="q-pb-xs">
76-
Expiration: <span class="text-dimwhite">{{new Date(msig.trx.expiration).toUTCString()}}</span>
76+
{{ $t('custodians.expiration') }}: <span class="text-dimwhite">{{new Date(msig.trx.expiration).toUTCString()}}</span>
7777
</div>
7878

7979
<div class="q-mb-xs">
80-
<div>Description:</div>
80+
<div>{{ $t('custodians.description') }}:</div>
8181
<div class="text-dimwhite">{{msig.description}}</div>
8282
</div>
8383
<div >
84-
<div>Actions <span class="text-dimwhite">({{msig.trx.actions.length}}) </span></div>
84+
<div>{{ $t('custodians.actions') }}: <span class="text-dimwhite">({{msig.trx.actions.length}}) </span></div>
8585
<div class="text-dimwhite q-mb-md">{{msig.trx.actions.map(a=>a.name).join(', ')}}</div>
8686
</div>
8787
</div>
@@ -90,10 +90,10 @@
9090
<Actionparser class="q-body-1" @seenAllActions="disable_approve = false" :actions="msig.trx.actions" />
9191
</div>
9292
<div class="q-mt-md">
93-
<q-btn v-if="!isApproved" class="full-width q-mb-md" :disabled="disable_approve" color="positive" label="Approve" @click="approveProposal(msig.proposer, msig.proposal_name)" />
94-
<q-btn v-if="isApproved" class="full-width q-mb-md" color="warning" label="Unapprove" @click="unapproveProposal(msig.proposer, msig.proposal_name)" />
95-
<q-btn v-if="isCreator" class="full-width q-mb-md" color="red" label="cancel" @click="cancelProposal(msig.proposer, msig.proposal_name)" />
96-
<q-btn v-if="isExecutable" class="full-width q-mb-md" label="execute" />
93+
<q-btn v-if="!isApproved" class="full-width q-mb-md" :disabled="disable_approve" color="positive" :label="$t('custodians.approve')" @click="approveProposal(msig.proposer, msig.proposal_name)" />
94+
<q-btn v-if="isApproved" class="full-width q-mb-md" color="warning" :label="$t('custodians.unapprove')" @click="unapproveProposal(msig.proposer, msig.proposal_name)" />
95+
<q-btn v-if="isCreator" class="full-width q-mb-md" color="red" :label="$t('custodians.cancel')" @click="cancelProposal(msig.proposer, msig.proposal_name)" />
96+
<q-btn v-if="isExecutable" class="full-width q-mb-md" :label="$t('custodians.execute')" />
9797
</div>
9898

9999
</div>
@@ -110,7 +110,7 @@
110110
<q-item-side left >
111111
<div class="row full-height items-center relative-position">
112112
<q-chip v-if="msig.trx.actions.length > 1" floating dense color="dark">{{msig.trx.actions.length}}</q-chip>
113-
<q-chip v-if="!is_seen_computed" class="animate-fade" floating dense color="negative">new</q-chip>
113+
<q-chip v-if="!is_seen_computed" class="animate-fade" floating dense color="negative">{{ $t('custodians.new') }}</q-chip>
114114
<q-icon size="48px" count="5" :name="'icon-'+matchIcon" class="q-mr-xs" :color="getStatusColor" />
115115
</div>
116116
</q-item-side>
@@ -119,21 +119,21 @@
119119
<div class="q-title q-mb-xs">{{msig.proposal_name}}: {{msig.title}}</div>
120120
<div class="q-caption">
121121
<div>
122-
<span class="text-dimwhite">Submitted by: </span>
122+
<span class="text-dimwhite">{{ $t('custodians.submitted_by') }}: </span>
123123
<router-link :to="{path: '/profile/' + msig.proposer}" >
124124
{{ msig.proposer }}
125125
</router-link>
126126
</div>
127127
<div>
128-
<span class="text-dimwhite">Submitted on:&nbsp;<span class="text-white">{{new Date(msig.block_time).toDateString()}}</span></span>
128+
<span class="text-dimwhite">{{ $t('custodians.submitted_on') }}:&nbsp;<span class="text-white">{{new Date(msig.block_time).toDateString()}}</span></span>
129129
</div>
130130
</div>
131131

132132
</div>
133133
</q-item-main>
134134
<q-item-side right v-if="msig.status !== 0">
135135

136-
<div class="q-caption text-dimwhite" >Received Approvals:</div>
136+
<div class="q-caption text-dimwhite">{{ $t('custodians.received_approvals') }}:</div>
137137
<div class="text-white q-display-1">
138138
<span><q-spinner v-if="provided_approvals==null" color="primary" size="25px" style="margin-top:-4px" /></span>
139139
<span v-if="provided_approvals" class="text-p-light cursor-pointer animate-fade" @click="approvals_modal = true">{{provided_approvals.length}}</span>
@@ -144,11 +144,11 @@
144144

145145
<div class="q-px-md q-pb-md">
146146
<div style="border-top: 1px solid grey" >
147-
<div class="q-mt-md">Description</div>
147+
<div class="q-mt-md">{{ $t('custodians.description') }}</div>
148148
<div class="text-dimwhite q-mb-md">{{msig.description}}</div>
149-
<div class="q-mt-md">Expiration</div>
149+
<div class="q-mt-md">{{ $t('custodians.expiration') }}</div>
150150
<div class="text-dimwhite q-mb-md">{{new Date(msig.trx.expiration).toString()}}</div>
151-
<div class="q-mt-md">Actions <span class="text-dimwhite">({{msig.trx.actions.length}})</span></div>
151+
<div class="q-mt-md">{{ $t('custodians.actions') }} <span class="text-dimwhite">({{msig.trx.actions.length}})</span></div>
152152
<div class="text-dimwhite q-mb-md">{{msig.trx.actions.map(a=>a.name).join(', ')}}</div>
153153
<div style="text-align:right">
154154
<span>trx: </span>
@@ -162,13 +162,13 @@
162162

163163
<div v-if="msig.status == 1" class="row justify-between">
164164
<span>
165-
<q-btn v-if="!isApproved" class="on-left" :disabled="disable_approve" color="positive" label="Approve" @click="approveProposal(msig.proposer, msig.proposal_name)" />
166-
<q-btn v-if="isApproved" class="on-left" color="warning" label="Unapprove" @click="unapproveProposal(msig.proposer, msig.proposal_name)" />
167-
<q-btn v-if="isCreator" class="on-left" color="red" label="cancel" @click="cancelProposal(msig.proposer, msig.proposal_name)" />
168-
<q-btn v-if="isExecutable" color="blue" label="execute" @click="executeProposal(msig.proposer, msig.proposal_name)" />
165+
<q-btn v-if="!isApproved" class="on-left" :disabled="disable_approve" color="positive" :label="$t('custodians.approve')" @click="approveProposal(msig.proposer, msig.proposal_name)" />
166+
<q-btn v-if="isApproved" class="on-left" color="warning" :label="$t('custodians.unapprove')" @click="unapproveProposal(msig.proposer, msig.proposal_name)" />
167+
<q-btn v-if="isCreator" class="on-left" color="red" :label="$t('custodians.cancel')" @click="cancelProposal(msig.proposer, msig.proposal_name)" />
168+
<q-btn v-if="isExecutable" color="blue" :label="$t('custodians.execute')" @click="executeProposal(msig.proposer, msig.proposal_name)" />
169169
</span>
170170
<span>
171-
<q-checkbox dark left-label :label="isSeen ?'Unmark as seen':'Mark as seen' " v-model="isSeen" @input="handleIsSeenCache" />
171+
<q-checkbox dark left-label :label="isSeen ? $t('custodians.unmark_as_seen') : $t('custodians.mark_as_seen')" v-model="isSeen" @input="handleIsSeenCache" />
172172
</span>
173173
</div>
174174

@@ -184,7 +184,7 @@
184184
<div class="bg-dark">
185185
<!-- header -->
186186
<div style="height:50px" class="bg-dark2 row items-center justify-between q-px-md">
187-
<span>Approvals <span v-if="provided_approvals" class="q-caption text-weight-thin">needs {{msig.threshold-provided_approvals.length}} more</span></span>
187+
<span>{{ $t('custodians.approvals') }} <span v-if="provided_approvals" class="q-caption text-weight-thin">{{ $t('custodians.needs') }} {{msig.threshold-provided_approvals.length}} {{ $t('custodians.more') }}</span></span>
188188
<q-icon class=" cursor-pointer" name="icon-ui-8" @click.native="approvals_modal = false" />
189189
</div>
190190
<!-- content -->
@@ -231,7 +231,7 @@ export default {
231231
232232
data () {
233233
return {
234-
systemmsig: 'eosio.msig',
234+
systemmsig: this.$configFile.network.systemMsigContract.name,
235235
provided_approvals: null,
236236
requested_approvals: null,
237237
isApproved: false,

eosdac-material/src/components/msigcreator.vue

+32-29
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
dark
6262
stack-label ="Asset"
6363
placeholder="Select token symbol"
64-
v-model="token"
65-
:options="[{label: 'KASDAC', value: 'kasdactokens-KASDAC'}, {label: 'EOS', value: 'eosio.token-EOS'}]"
64+
v-model="token"
65+
:options="[{label: $configFile.network.tokenContract.token, value: `${$configFile.network.tokenContract.name}-${$configFile.network.tokenContract.token}`}, {label: 'EOS', value: 'eosio.token-EOS'}]"
6666
/>
6767
<q-input dark stack-label="Memo" v-model="msigtemplate.trx.actions[0].data.memo"/>
6868
</q-tab-pane>
@@ -192,34 +192,37 @@ export default {
192192
193193
async setFromAccountOptions(){
194194
//get controlled accounts from authority account
195-
let ctrlaccs = await this.$store.dispatch('api/getControlledAccounts', {accountname: this.$configFile.network.authorityAccount});
196-
197-
//get the permissions from each account synchronous
198-
let proms = [];
199-
ctrlaccs.controlled_accounts.forEach(ctrlacc =>{
200-
proms.push( this.$store.dispatch('api/getAccountPermissions', {accountname: ctrlacc }) );
201-
});
202-
let res = await Promise.all(proms);
195+
// let ctrlaccs = await this.$store.dispatch('api/getControlledAccounts', {accountname: this.$configFile.network.authorityAccount});
196+
197+
// //get the permissions from each account synchronous
198+
// let proms = [];
199+
// ctrlaccs.controlled_accounts.forEach(ctrlacc =>{
200+
// proms.push( this.$store.dispatch('api/getAccountPermissions', {accountname: ctrlacc }) );
201+
// });
202+
// let res = await Promise.all(proms);
203203
204204
205-
//map accountnames with fetched permissions
206-
res = res.map((r, i)=>{
207-
let t = {};
208-
t.account = ctrlaccs.controlled_accounts[i];
209-
t.permissions = r;
210-
return t;
211-
})
212-
console.log(res);
213-
214-
//filter: only keep accounts where xfer is set
215-
res = res.filter(acc => {
216-
if(acc.permissions.find(p => p.perm_name == 'xfer') ) return true;
217-
});
205+
// //map accountnames with fetched permissions
206+
// res = res.map((r, i)=>{
207+
// let t = {};
208+
// t.account = ctrlaccs.controlled_accounts[i];
209+
// t.permissions = r;
210+
// return t;
211+
// })
212+
// console.log(res);
213+
214+
// //filter: only keep accounts where xfer is set
215+
// res = res.filter(acc => {
216+
// if(acc.permissions.find(p => p.perm_name == 'xfer') ) return true;
217+
// });
218+
219+
// //set from account options
220+
// this.fromAccountOptions = res.map(o => {
221+
// return {value: o.account, label: o.account};
222+
// });
223+
224+
this.fromAccountOptions = [{value: 'dacelections', label: 'dacelections'}];
218225
219-
//set from account options
220-
this.fromAccountOptions = res.map(o => {
221-
return {value: o.account, label: o.account};
222-
});
223226
},
224227
225228
//send proposal to msig system contract. this should be changed to the eosdac msig relay contract
@@ -230,13 +233,13 @@ export default {
230233
231234
let actions = [
232235
{
233-
contract: 'eosio.msig',
236+
contract: this.$configFile.network.systemMsigContract.name,
234237
action: 'propose',
235238
fields: this.msigtemplate,
236239
237240
},
238241
{
239-
contract: 'dacmultisigs',
242+
contract: this.$configFile.network.msigContract.name,
240243
action: 'proposed',
241244
authorization: [ {actor: this.getAccountName, permission: 'active'}, {actor: 'dacauthority', permission: 'one'}],
242245
fields: {proposer: this.getAccountName, proposal_name: this.msigtemplate.proposal_name, metadata: JSON.stringify(this.meta)}

eosdac-material/src/components/nodeselector.vue

+7-3
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,12 @@ export default {
129129
async getFastestNode() {
130130
//if the chain id is not from mainnet then use the default node from the config file
131131
if(this.$configFile.network.chainId !== 'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906' || this.setup){
132-
this.connect(this.$configFile.network.default_node);
133-
return false;
132+
let test = await this.$store.dispatch('api/testEndpoint', this.$configFile.network.default_node);
133+
if(test){
134+
console.log('ok')
135+
this.connect(this.$configFile.network.default_node);
136+
return false;
137+
}
134138
}
135139
136140
let s = new NodeSelector(this.$configFile.api.bpNodeApiUrl)
@@ -195,7 +199,7 @@ export default {
195199
this.loadingText = 'nodeselector.connecting'
196200
try {
197201
let url = await this.filterUrl(u)
198-
let test = await this.$store.dispatch('api/testEndpoint', url)
202+
199203
this.loading = false
200204
this.$store.commit('api/ADD_ENDPOINT', {
201205
save: true,

eosdac-material/src/i18n/en_GB/index.json

+32
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,39 @@
7979
"VOTECUST_VOTING_FOR_INACTIVE_CAND": "Attempting to vote for an inactive candidate.",
8080
"VOTECUST_VOTING_IS_DISABLED": "Voting is currently disabled."
8181
},
82+
"custodians": {
83+
"actions": "Actions",
84+
"approve": "Approve",
85+
"cancel": "cancel",
86+
"cancelled_expired": "cancelled/expired",
87+
"claim": "claim",
88+
"claim_payments": "Claim Payments",
89+
"create_msig_proposal": "Create Msig Proposal",
90+
"create_new": "create new",
91+
"description": "Description",
92+
"execute": "execute",
93+
"executed": "executed",
94+
"expiration": "Expiration",
95+
"mark_as_seen": "Mark as seen",
96+
"more": "more",
97+
"needs": "needs",
98+
"new": "new",
99+
"no_pending_payments": "You do not have any pending payments.",
100+
"open": "open",
101+
"proposal": "Proposal",
102+
"proposal_details": "Proposal Details",
103+
"proposal_name": "Proposal name",
104+
"received_approvals": "Received Approvals",
105+
"review_proposals": "Review Proposals",
106+
"submitted_by": "Submitted by",
107+
"submitted_on": "Submitted on",
108+
"unapprove": "Unapprove",
109+
"unmark_as_seen": "Unmark as seen",
110+
"view_details": "view details"
111+
},
82112
"default": {
83113
"account_name": "Account Name",
114+
"claim_payment": "Claim Payment",
84115
"constitution": "Constitution",
85116
"constitution_has_been_updated": "The Constitution has been updated. Please sign the updated Constitution to use the Member Client.",
86117
"custodians": "Vote For Custodians",
@@ -91,6 +122,7 @@
91122
"member_client": "Member Client",
92123
"member_status": "Member Status",
93124
"menu": "Menu",
125+
"msig_proposals": "Msig Proposals",
94126
"not_registered": "not registered",
95127
"pending": "Pending",
96128
"permission_denied_message": "Sorry, you do not have permission to view this page.",

0 commit comments

Comments
 (0)