geer-builder 1.2.522 → 1.2.524

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/GCashOut.vue CHANGED
@@ -3,7 +3,7 @@
3
3
  <q-form @submit.prevent="submit()">
4
4
  <div class="cashout__content" v-if="!is_initializing">
5
5
  <div class="cashout__content-left">
6
- <g-card :nomargin="true" class="cashout__box cashout__choice">
6
+ <g-card :nomargin="true" class="cashout__box cashout__choice" v-if="!cashout_choice_hide">
7
7
  <div class="cashout__content-label cashout_title">How should we send the money?</div>
8
8
  <div class="cashout__content-label cashout_body q-mt-md">
9
9
  <q-select v-model="cashout_choice" outlined dense :options="payoutmethodlist" option-label="method_label" option-value="method_key"/>
@@ -38,7 +38,8 @@
38
38
  <div class="cashout__content-label cashout_title">Cash out Summary</div>
39
39
  <div class="cashout_body">
40
40
  <div class="summary__content">
41
- <div class="summary__content-label">Cashout Method</div>
41
+ <div class="summary__content-label" v-if="metamask">Currency</div>
42
+ <div class="summary__content-label" v-else>Cashout Method</div>
42
43
  <div class="summary__content-info">{{cashout_choice.method_label}}</div>
43
44
  </div>
44
45
  <div class="summary__content">
@@ -61,7 +62,7 @@
61
62
  <div class="summary__content-label" v-else>Withholding Tax</div>
62
63
  <div class="summary__content-info">{{ main_currency }} {{ $_formatNumber(xfield.witholding_tax, { decimal: 2}) }}</div>
63
64
  </div>
64
- <div class="summary__content">
65
+ <div class="summary__content" v-if="!metamask">
65
66
  <div class="summary__content-label">Total Charge</div>
66
67
  <div class="summary__content-info" v-if="merchant_cashout">{{ main_currency }} {{ $_formatNumber(total_charge, { decimal: 2}) }}</div>
67
68
  <div class="summary__content-info" v-else>{{ main_currency }} {{ $_formatNumber(total_charge, { decimal: 2}) }}</div>
@@ -89,7 +90,7 @@
89
90
  </q-form>
90
91
 
91
92
  <q-dialog v-model="is_dialog_open_cashout_status">
92
- <cashout-status-dialog @closePopup="is_dialog_open_cashout_status = false;"></cashout-status-dialog>
93
+ <cashout-status-dialog :metamask='metamask' @closePopup="is_dialog_open_cashout_status = false;"></cashout-status-dialog>
93
94
  </q-dialog>
94
95
  <q-dialog v-model="is_tin_registration_dialog_open">
95
96
  <tin-registration-dialog @closePopup="is_tin_registration_dialog_open = false;"></tin-registration-dialog>
@@ -138,6 +139,7 @@ export default {
138
139
  }),
139
140
  mixins:[GlobalMixins],
140
141
  components: { GCard , CashoutStatusDialog, TinRegistrationDialog},
142
+ props:['cashout_choice_hide', 'metamask'],
141
143
  async mounted()
142
144
  {
143
145
 
@@ -238,7 +240,6 @@ export default {
238
240
  if(this.merchant_cashout)
239
241
  {
240
242
  this.payoutmethodlist = await this.$_getData('merchant_payout_methods');
241
- console.log(this.merchant_cashout, 'Merhant Cashout');
242
243
  }
243
244
  else
244
245
  {
@@ -259,6 +260,7 @@ export default {
259
260
  },
260
261
  async submit()
261
262
  {
263
+
262
264
  if(this.tin_required && !this.user_info.hasOwnProperty('tin_number'))
263
265
  {
264
266
  if(this.user_info.tin_number == 'N/A')
@@ -270,6 +272,10 @@ export default {
270
272
  this.is_tin_registration_dialog_open = true;
271
273
  }
272
274
  }
275
+ else if(this.cashout_amount > this.walletBal)
276
+ {
277
+ this.$q.dialog({ html: true, title: `Something's not quite right`, message: 'Your wallet is not enough to continue this transaction'});
278
+ }
273
279
  else
274
280
  {
275
281
  this.cashout_choice.fields.forEach((field, i) =>
@@ -277,6 +283,7 @@ export default {
277
283
  this.cashout_choice.fields[i]["value"] = this.inputed[i];
278
284
  });
279
285
 
286
+
280
287
  let submitdata = {};
281
288
  if(this.merchant_cashout)
282
289
  {
package/GInvestment.vue CHANGED
@@ -43,7 +43,7 @@
43
43
  <script>
44
44
  import GlobalMixins from './mixins/global_mixins.js';
45
45
  import AddInvestment from './dialogs/AddInvestment';
46
- import InvestmentViewDialog from './components/Investment/InvestmentViewDialog';
46
+ import InvestmentViewDialog from './components/Investment/InvestmentView.vue';
47
47
  export default
48
48
  {
49
49
  components: {AddInvestment, InvestmentViewDialog},
@@ -1,25 +1,38 @@
1
1
  <template>
2
2
  <g-card v-if="this.user_info">
3
3
  <template v-if="current_slot_info">
4
+ <div class="wallet-holder">
5
+ <q-card class="wallet-card">
6
+ <q-card-section class="bg-primary text-white">
7
+ <div class="text-h4">{{ $_formatNumber( current_slot_info.wallet ? current_slot_info.wallet : current_slot_info.wallet) }}USD</div>
8
+ <div class="text-subtitle2">Your wallet</div>
9
+ </q-card-section>
10
+ <q-separator />
11
+ <q-card-actions align="center">
12
+ <q-btn flat class="text-primary" @click="is_wallet_add_dialog_open=true"><q-icon name="add_box" size="16px"></q-icon>Add</q-btn>
13
+ <q-btn flat class="text-primary" @click="is_cashout_dialog_open= true"><q-icon name="attach_money" size="16px"></q-icon>Cashout</q-btn>
14
+ </q-card-actions>
15
+ </q-card>
16
+ </div>
4
17
  <div class="investment">
5
18
  <div class="investment__grid">
6
- <div class="investment__grid-info">
7
- <div class="label">Your Wallet</div>
8
- <div class="value"> {{ $_formatNumber( current_slot_info.wallet ? current_slot_info.wallet : 0, { decimal: 2 }) }}</div>
9
- </div>
10
19
  <div class="investment__grid-actions">
11
20
  <q-btn @click="is_investment_list_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
12
21
  <q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
13
22
  <div>My Investment</div>
14
23
  </q-btn>
15
24
  <q-btn @click="is_investment_add_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
16
- <q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
25
+ <q-icon class="q-mr-sm" name="addchart" size="16px"></q-icon>
17
26
  <div>Add Investment</div>
18
27
  </q-btn>
19
28
  <q-btn @click="is_investment_link_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
20
- <q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
29
+ <q-icon class="q-mr-sm" name="share" size="16px"></q-icon>
21
30
  <div>My Link</div>
22
31
  </q-btn>
32
+ <q-btn @click="is_wallet_logs_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
33
+ <q-icon class="q-mr-sm" name="event_note" size="16px"></q-icon>
34
+ <div>Wallet Logs</div>
35
+ </q-btn>
23
36
  </div>
24
37
  </div>
25
38
  </div>
@@ -40,7 +53,19 @@
40
53
  <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_link_dialog_open">
41
54
  <investment-link-dialog @closeDialog="is_investment_link_dialog_open = false"></investment-link-dialog>
42
55
  </q-dialog>
56
+ <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_wallet_logs_open">
57
+ <wallet-logs-dialog :hide_search="true" :mbot="true" @closeDialog="is_wallet_logs_open = false"></wallet-logs-dialog>
58
+ </q-dialog>
43
59
 
60
+ <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_cashout_dialog_open">
61
+ <q-card style="width: 700px; max-width: 80vw;">
62
+ <g-cash-out :metamask="true" :cashout_choice_hide="true" @closeDialog="is_cashout_dialog_open = false"></g-cash-out>
63
+ </q-card>
64
+ </q-dialog>
65
+
66
+ <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_wallet_add_dialog_open">
67
+ <investment-add-wallet @closeDialog="is_wallet_add_dialog_open = false"></investment-add-wallet>
68
+ </q-dialog>
44
69
  </g-card>
45
70
  <div v-else>
46
71
  <span>You need to login to view this component.</span>
@@ -50,12 +75,15 @@
50
75
  import GlobalMixins from './mixins/global_mixins.js';
51
76
  import GCard from './components/GCard';
52
77
  import InvestmentListDialog from './components/Investment/InvestmentListDialog';
53
- import InvestmentAddDialog from './components/Investment/InvestmentAddDialog';
78
+ import InvestmentAddDialog from './components/Investment/InvestmentAddDialog';
79
+ import InvestmentAddWallet from './components/Investment/InvestmentAddWallet';
54
80
  import InvestmentLinkDialog from './components/Investment/InvestmentLinkDialog';
81
+ import WalletLogsDialog from './components/GSlotWallet/WalletLogsDialog';
82
+ import GCashOut from './GCashOut';
55
83
 
56
84
  export default {
57
85
  mixins: [GlobalMixins],
58
- components: {GCard, InvestmentListDialog, InvestmentAddDialog, InvestmentLinkDialog},
86
+ components: {GCard, InvestmentListDialog, InvestmentAddDialog, InvestmentLinkDialog, WalletLogsDialog, GCashOut,InvestmentAddWallet},
59
87
  data: () =>
60
88
  ({
61
89
  public_settings : null,
@@ -63,7 +91,11 @@ export default {
63
91
  is_investment_list_dialog_open:false,
64
92
  is_investment_add_dialog_open:false,
65
93
  is_investment_link_dialog_open:false,
94
+ is_wallet_add_dialog_open:false,
95
+ is_wallet_logs_open:false,
96
+ is_cashout_dialog_open:false,
66
97
  replicated_link:'',
98
+ amount:0
67
99
  }),
68
100
  async mounted()
69
101
  {
@@ -77,23 +109,48 @@ export default {
77
109
  },
78
110
  methods:
79
111
  {
80
- // async initialWallet()
81
- // {
82
- // let password = prompt("Enter Password")
83
- // {
84
- // if(password == 'cheesecurls')
85
- // {
86
- // let fields = {}
87
- // fields.amount = 50000;
88
- // fields.key = 'base';
89
- // fields.slot_id = this.current_slot_info.id;
90
- // await this.$_fbCall('memberInsertTempWallet', fields);
91
- // this.$q.dialog({ title: "Ka-ching!", message: "Wallet Added!" });
92
-
93
- // }
94
- // }
95
-
96
- // },
112
+ async addWalletDialog()
113
+ {
114
+ this.$q.dialog({
115
+ title: 'Add Funds',
116
+ message: 'Please Enter Amount',
117
+ prompt: {
118
+ model: this.amount,
119
+ type: 'number' // optional
120
+ },
121
+ cancel: true,
122
+ persistent: true
123
+ }).onOk(async data => {
124
+ await this.addWallet(data);
125
+ }).onCancel(() => {
126
+ // console.log('>>>> Cancel')
127
+ }).onDismiss(() => {
128
+ // console.log('I am triggered on both OK and Cancel')
129
+ })
130
+ },
131
+ async addWallet(data)
132
+ {
133
+ this.amount = Number(data);
134
+ if(this.amount<= 0)
135
+ {
136
+ this.$q.dialog({ title: "Something's not quite right", message: "Please enter a valid amount" });
137
+ }
138
+ else
139
+ {
140
+ let fields = {};
141
+ fields.slot_info = this.current_slot_info;
142
+ fields.amount = this.amount;
143
+ try
144
+ {
145
+ let res = await this.$_fbCall('memberAddInvestmentWallet', fields);
146
+ this.$q.dialog({ title: "Success!", message: "Transaction Now Pending." });
147
+ }
148
+ catch (error)
149
+ {
150
+ this.$q.dialog({ title: "Something's not quite right!", message: error.message });
151
+ }
152
+ }
153
+ },
97
154
  async checkEarnings()
98
155
  {
99
156
  this.submit_loading = true;
@@ -9,7 +9,7 @@
9
9
  </q-btn>
10
10
  </q-bar>
11
11
  <div class="table-holder">
12
- <div class="temp-nav-holder">
12
+ <div class="temp-nav-holder" v-if="!hide_search">
13
13
  <!-- FILTER FROM -->
14
14
  <!-- <div class="filter-from">
15
15
  <div class="q-mt-sm text-left">
@@ -95,6 +95,7 @@ export default
95
95
  {
96
96
  filters: { },
97
97
  components: { },
98
+ props:['hide_search', 'mbot'],
98
99
  data:() =>(
99
100
  {
100
101
  is_wallet_convert_open:false,
@@ -193,9 +194,40 @@ export default
193
194
  }),
194
195
  async mounted() {
195
196
  await this.getTableData();
197
+ if(this.mbot)
198
+ {
199
+ await this.mbotLog();
200
+ }
196
201
  },
197
202
  methods:
198
203
  {
204
+ async mbotLog()
205
+ {
206
+ this.table_data.forEach(element =>
207
+ {
208
+ if(element.type == 'direct_invest')
209
+ {
210
+ element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package ${element.cause_info.owner_info.email}`;
211
+ }
212
+ else if(element.type == 'unilevel_invest')
213
+ {
214
+ element.message = `Your account <b>${element.current_owner_info.email}</b> earned unilevel amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
215
+ }
216
+ else if(element.type == 'receive_interest')
217
+ {
218
+ // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
219
+ }
220
+ else if(element.type == 'capital_investment')
221
+ {
222
+ // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
223
+ }
224
+ else if(element.type == 'create_investment')
225
+ {
226
+ // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
227
+ }
228
+ });
229
+ console.log(this.table_data);
230
+ },
199
231
  async getTableData()
200
232
  {
201
233
  await this.$bind("table_data", new DB_SLOT_LOG().collection().where("recipient_id", "==", this.user_info.active_slot).orderBy('created_date', 'desc'));
@@ -0,0 +1,320 @@
1
+ <template>
2
+ <q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '400px' };`" class="form add-slot">
3
+ <!-- HEADER -->
4
+ <div class="desktop-only">
5
+ <q-card-section class="content">
6
+ <q-stepper flat v-model="step" vertical color="primary" animated>
7
+ <q-step :name="1" title="Add Wallet" icon="settings" :done="step > 1">
8
+ <q-form @submit.prevent="confirmPlan()">
9
+ <div class="row justify-center">
10
+ <div class="q-py-md col-12 plan-amount">
11
+ <q-input type="number" label="Investment Amount" dense v-model="investment_amount" class="amount-field"></q-input>
12
+ </div>
13
+ </div>
14
+ <q-btn type="submit" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Confirm</q-btn>
15
+ </q-form>
16
+ </q-step>
17
+
18
+ <q-step :name="2" title="Verify All Details" icon="assignment" :done="step > 2">
19
+ <div class="add-slot__verify-details" v-if="wallet_details">
20
+ <div class="title">Review Your Details</div>
21
+ <div class="breakdowns">
22
+ <div class="breakdown-label">Transaction ID</div>
23
+ <div class="breakdown-value">{{ wallet_details.transaction_id }}</div>
24
+ </div>
25
+ <div class="breakdowns">
26
+ <div class="breakdown-label">Status</div>
27
+ <div class="breakdown-value">{{ wallet_details.status}}</div>
28
+ </div>
29
+ <div class="breakdowns">
30
+ <div class="breakdown-label">Amount</div>
31
+ <div class="breakdown-value">{{ $_formatNumber(wallet_details.amount)}}USD</div>
32
+ </div>
33
+ </div>
34
+ <q-btn @click="confirmDetails()" type="button" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Confirm Details</q-btn>
35
+ <q-btn @click="step = 1" type="button" outline unelevated class="full-width q-mt-sm" color="primary"><q-icon name="fa fa-times q-mr-sm" size="14px"></q-icon> Cancel</q-btn>
36
+ </q-step>
37
+ <q-step :name="3" title="Transaction Complete" icon="star">
38
+ <div class="add-slot__complete text-center">
39
+ <div>
40
+ <q-img spinner-size="0" style="width: 120px; height: 120px" :src="'../assets/success.png'"></q-img>
41
+ </div>
42
+ <div><b>Congratulations!</b></div>
43
+ <div class="q-pt-sm q-mr-lg q-ml-lg">Your Transaction has been completed!</div>
44
+ </div>
45
+ <q-btn v-close-popup type="button" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Transaction Complete</q-btn>
46
+ </q-step>
47
+ </q-stepper>
48
+ </q-card-section>
49
+ </div>
50
+ </q-card>
51
+ </template>
52
+
53
+ <script>
54
+ import GlobalMixins from '../../mixins/global_mixins';
55
+ import PaymentProcessor from '../../../contracts/PaymentProcessor.json';
56
+ import USDT from '../../../contracts/USDT.json';
57
+ import settings from '../../settings';
58
+ import { ethers, Contract } from 'ethers';
59
+
60
+
61
+ export default
62
+ {
63
+ mixins: [GlobalMixins],
64
+ data: () =>
65
+ ({
66
+ investment_packages:'',
67
+ submit_loading : false,
68
+ step : 1,
69
+ chosen_plan : {},
70
+ investment_preview : [],
71
+ investment_options :
72
+ [
73
+ {key : "token",label :"Coins"},
74
+ {key : "interest",label :"Coins Earned"},
75
+ ],
76
+ investment_amount: 0,
77
+ investment_type : null,
78
+ wallet_details:{},
79
+ metamask:
80
+ {
81
+ signer: null,
82
+ payment_processor: null,
83
+ usdt: null
84
+ }
85
+
86
+ }),
87
+ components: { },
88
+ props:
89
+ {
90
+
91
+ },
92
+ async mounted()
93
+ {
94
+ await this.$_getSlotInfo();
95
+ if (window.ethereum)
96
+ {
97
+ await window.ethereum.request({ method: 'eth_requestAccounts' });
98
+ const provider = new ethers.providers.Web3Provider(window.ethereum);
99
+ this.metamask.signer = provider.getSigner();
100
+
101
+ this.metamask.payment_processor = new Contract(
102
+ settings.payment_processor,
103
+ PaymentProcessor.abi,
104
+ this.metamask.signer
105
+ );
106
+
107
+ this.metamask.usdt = new Contract(
108
+ settings.usdt,
109
+ USDT.abi,
110
+ this.metamask.signer
111
+ );
112
+
113
+ console.log(await this.metamask.usdt.balanceOf(await this.metamask.signer.getAddress()).then(result => ethers.utils.formatEther(result.toString())));
114
+ // this.merchant_balance = await this.usdt.balanceOf(this.settings.merchant).then(result => ethers.utils.formatEther(result.toString()));
115
+ }
116
+ },
117
+ methods:
118
+ {
119
+ async confirmPlan()
120
+ {
121
+ this.submit_loading = true;
122
+ if(Number(this.investment_amount) < 1)
123
+ {
124
+ this.$q.dialog({ title: "Something's not quite right", message: "Please enter valid amount." });
125
+ }
126
+ else
127
+ {
128
+ let fields = {};
129
+ fields.slot_info = this.current_slot_info;
130
+ fields.amount = Number(this.investment_amount);
131
+ try
132
+ {
133
+ let res = await this.$_fbCall('memberAddInvestmentWallet', fields);
134
+ this.wallet_details = res.data;
135
+ console.log(this.wallet_details);
136
+ this.step++;
137
+ }
138
+ catch (error)
139
+ {
140
+ this.$q.dialog({ title: "Something's not quite right!", message: error.message });
141
+ }
142
+ this.submit_loading = false;
143
+ }
144
+
145
+ },
146
+ addDaysToDate(days)
147
+ {
148
+ let res = new Date();
149
+ res.setDate(res.getDate() + days);
150
+ return res;
151
+ },
152
+ async confirmDetails()
153
+ {
154
+ this.submit_loading = true;
155
+
156
+ try
157
+ {
158
+ const amount = Number(this.wallet_details.amount);
159
+ console.log(amount, this.wallet_details.transaction_id);
160
+
161
+ const tx1 = await this.metamask.usdt.approve(settings.payment_processor, amount);
162
+ await tx1.wait();
163
+
164
+ const tx2 = await this.metamask.payment_processor.pay(settings.usdt, amount, this.wallet_details.transaction_id);
165
+ await tx2.wait();
166
+ }
167
+ catch (e)
168
+ {
169
+ console.log(e.message);
170
+ }
171
+ finally
172
+ {
173
+
174
+ }
175
+
176
+ this.step++
177
+ this.submit_loading = false;
178
+ }
179
+ }
180
+ }
181
+ </script>
182
+
183
+ <style lang="scss">
184
+
185
+ .desktop-only
186
+ {
187
+ .add-slot {
188
+ .instruction {
189
+ color: #aaa;
190
+ border-left: 3px solid #eee;
191
+ margin-left: 10px;
192
+ padding-left: 10px;
193
+ margin-top: 10px;
194
+ }
195
+
196
+ &__verify-details {
197
+ border: 1px dashed #aaa;
198
+ padding: 15px;
199
+ border-radius: 5px;
200
+
201
+
202
+ .title {
203
+ text-align: center;
204
+ font-weight: bold;
205
+ margin-bottom: 10px;
206
+ font-size: 14px;
207
+ }
208
+
209
+ .breakdowns {
210
+ display: grid;
211
+ grid-template-columns: 1fr 1fr;
212
+ justify-content: space-between;
213
+ font-size: 14px;
214
+ &-value {
215
+ font-weight: bold;
216
+ }
217
+ }
218
+
219
+ }
220
+
221
+ &__complete {
222
+ border: 1px dashed #ddd;
223
+ border-radius: 8px;
224
+ padding: 20px;
225
+ }
226
+ }
227
+ .plan-amount-text
228
+ {
229
+ padding:15px;
230
+ }
231
+ .plan-amount
232
+ {
233
+ margin:10px;
234
+ padding:15px;
235
+ border:solid 1px $primary;
236
+ box-shadow: 0 0 5px #ccc;
237
+ border-radius: 5px;
238
+ }
239
+ .plan-grid
240
+ {
241
+ display: grid;
242
+ grid-template-columns: repeat(4,1fr);
243
+ grid-gap:5px;
244
+ .plan-item
245
+ {
246
+ cursor:pointer;
247
+ border: solid 1px $primary;
248
+ border-radius: 5px;
249
+ box-shadow: 0 0 5px #ccc;
250
+ padding: 5px;
251
+ text-align: center;
252
+
253
+ .plan-title
254
+ {
255
+ font-size: 1rem;
256
+ font-weight: 500;
257
+ }
258
+
259
+ .plan-min-max
260
+ {
261
+ font-style: italic;
262
+ font-weight:400;
263
+ }
264
+ }
265
+
266
+ :hover
267
+ {
268
+ background-color:$primary;
269
+ color:#fff;
270
+ }
271
+
272
+ .active
273
+ {
274
+ background-color:$primary;
275
+ color:#fff;
276
+ }
277
+ }
278
+ }
279
+ .mobile-only
280
+ {
281
+ .plan-grid
282
+ {
283
+ display: grid;
284
+ grid-gap:5px;
285
+ .plan-item
286
+ {
287
+ cursor:pointer;
288
+ border: solid 1px $primary;
289
+ border-radius: 5px;
290
+ box-shadow: 0 0 5px #ccc;
291
+ padding: 5px;
292
+ text-align: center;
293
+
294
+ .plan-title
295
+ {
296
+ font-size: 1rem;
297
+ font-weight: 500;
298
+ }
299
+
300
+ .plan-min-max
301
+ {
302
+ font-style: italic;
303
+ font-weight:400;
304
+ }
305
+ }
306
+
307
+ :hover
308
+ {
309
+ background-color:$primary;
310
+ color:#fff;
311
+ }
312
+
313
+ .active
314
+ {
315
+ background-color:$primary;
316
+ color:#fff;
317
+ }
318
+ }
319
+ }
320
+ </style>
@@ -89,7 +89,7 @@ export default
89
89
  let percentage = 0;
90
90
  if(this.investment_info.hasOwnProperty('claim_list') && this.investment_info.claim_list.length > 0)
91
91
  {
92
- percentage = parseFloat((this.investment_info.claim_list.length/this.investment_info.plan.investment_duration) * 1);
92
+ percentage = parseFloat((this.investment_info.claim_list.length/this.investment_info.projection.length) * 1);
93
93
  }
94
94
  this.progress_label = `${this.investment_info.plan.investment_name} - ${percentage.toFixed(2)}%`
95
95
  return percentage;
@@ -0,0 +1,97 @@
1
+ <template>
2
+ <q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '300px' };`" class="form add-slot">
3
+ <q-card-section class='content text-center bg-primary my-card'>
4
+ <q-card class="my-card" v-if="investment_details">
5
+ <q-card-section>
6
+ <div class="text-h6 text-bold">{{investment_details.investment_name}}</div>
7
+ <div class="text-h4 text-bold">${{investment_details.investment_minimum}}</div>
8
+ </q-card-section>
9
+ <q-card-section class="text-h6">
10
+ <div class="plan-value">Daily ROI of {{investment_details.investment_rate}}%</div>
11
+ <div class="plan-value">Duration of {{investment_details.investment_duration}} Days</div>
12
+ <div class="plan-value">Grows every {{investment_details.investment_interval}} Days</div>
13
+ <div class="plan-value">Principle return after{{investment_details.investment_return_days}} Days</div>
14
+ <div class="plan-value">Minimum Investment of {{investment_details.investment_minimum}}</div>
15
+ <div class="plan-value">Maximum Investment of {{investment_details.investment_maximum}}</div>
16
+ <div class="plan-value">Support 24/7</div>
17
+ </q-card-section>
18
+ <q-separator />
19
+ <q-card-actions vertical>
20
+ <q-btn @click="showSample" flat>Sample Computation</q-btn>
21
+ </q-card-actions>
22
+ </q-card>
23
+ </q-card-section>
24
+ <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_sample_computation_open">
25
+ <investment-breakdown-dialog :investment_details="investment_details" @closeDialog="is_sample_computation_open = false"></investment-breakdown-dialog>
26
+ </q-dialog>
27
+
28
+ </q-card>
29
+ </template>
30
+
31
+ <script>
32
+ import {formatDate} from '../../utilities/DateUtils';
33
+ import GlobalMixins from '../../mixins/global_mixins';
34
+ import InvestmentBreakdownDialog from './InvestmentBreakdownDialog.vue';
35
+
36
+
37
+ export default
38
+ {
39
+ mixins: [GlobalMixins],
40
+ components:{InvestmentBreakdownDialog},
41
+ data:() =>
42
+ ({
43
+ amount:0,
44
+ is_sample_computation_open:false
45
+ }),
46
+ props:
47
+ {
48
+ investment_details:Object
49
+ },
50
+ async mounted()
51
+ {
52
+ await this.$_getSlotInfo()
53
+ },
54
+ methods:
55
+ {
56
+ showSample()
57
+ {
58
+ this.$q.dialog({
59
+ title: 'Sample Computation',
60
+ message: 'Please Enter Amount',
61
+ prompt: {
62
+ model: this.amount,
63
+ type: 'number' // optional
64
+ },
65
+ cancel: true,
66
+ persistent: true
67
+ }).onOk(data => {
68
+ this.computeSample(data);
69
+ }).onCancel(() => {
70
+ // console.log('>>>> Cancel')
71
+ }).onDismiss(() => {
72
+ // console.log('I am triggered on both OK and Cancel')
73
+ })
74
+ },
75
+ computeSample(data)
76
+ {
77
+ if(data <= 0)
78
+ {
79
+ this.$q.dialog({ title: "Something's not quite right", message: "Please enter a valid amount" });
80
+ }
81
+ else if(data < this.investment_details.investment_minimum)
82
+ {
83
+ this.$q.dialog({ title: "Something's not quite right", message: "The minimum investment amount is "+ this.investment_details.investment_minimum});
84
+ }
85
+ else if(data > this.investment_details.investment_maximum)
86
+ {
87
+ this.$q.dialog({ title: "Something's not quite right", message: "The maximum investment amount is "+ this.investment_details.investment_maximum });
88
+ }
89
+ else
90
+ {
91
+ this.investment_details.entered_amount = Number(data);
92
+ this.is_sample_computation_open = true;
93
+ }
94
+ }
95
+ },
96
+ }
97
+ </script>
@@ -0,0 +1,113 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PaymentProcessor",
4
+ "sourceName": "contracts/PaymentProcessor.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "adminAddress",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "payer",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "amount",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "string",
35
+ "name": "paymentId",
36
+ "type": "string"
37
+ },
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "date",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "PaymentDone",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "admin",
51
+ "outputs": [
52
+ {
53
+ "internalType": "address",
54
+ "name": "",
55
+ "type": "address"
56
+ }
57
+ ],
58
+ "stateMutability": "view",
59
+ "type": "function"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "contract IBEP2E",
65
+ "name": "token",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "uint256",
70
+ "name": "amount",
71
+ "type": "uint256"
72
+ },
73
+ {
74
+ "internalType": "string",
75
+ "name": "paymentId",
76
+ "type": "string"
77
+ }
78
+ ],
79
+ "name": "pay",
80
+ "outputs": [],
81
+ "stateMutability": "nonpayable",
82
+ "type": "function"
83
+ },
84
+ {
85
+ "inputs": [
86
+ {
87
+ "internalType": "contract IBEP2E",
88
+ "name": "token",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "internalType": "address[]",
93
+ "name": "to",
94
+ "type": "address[]"
95
+ },
96
+ {
97
+ "internalType": "uint256[]",
98
+ "name": "values",
99
+ "type": "uint256[]"
100
+ }
101
+ ],
102
+ "name": "sendBulk",
103
+ "outputs": [],
104
+ "stateMutability": "nonpayable",
105
+ "type": "function"
106
+ }
107
+ ],
108
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161068d38038061068d83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6105fc806100916000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806322828eda146100465780634a4bdb301461005b578063f851a4401461006e575b600080fd5b610059610054366004610327565b61009d565b005b6100596100693660046103fe565b6101c2565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b80518251146100ab57600080fd5b60005b82518110156101bc57836001600160a01b03166323b872dd338584815181106100e757634e487b7160e01b600052603260045260246000fd5b602002602001015185858151811061010f57634e487b7160e01b600052603260045260246000fd5b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a19190610300565b6101aa57600080fd5b806101b481610571565b9150506100ae565b50505050565b6000546040516323b872dd60e01b81523360048201526001600160a01b03918216602482015260448101849052908416906323b872dd90606401602060405180830381600087803b15801561021657600080fd5b505af115801561022a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024e9190610300565b507f5deda500cf2f51e0ae5ba5537859f938dadea1f0d406c57f7a1ad89ea5f243483383834260405161028494939291906104aa565b60405180910390a1505050565b600082601f8301126102a1578081fd5b813560206102b66102b18361054d565b61051c565b80838252828201915082860187848660051b89010111156102d5578586fd5b855b858110156102f3578135845292840192908401906001016102d7565b5090979650505050505050565b600060208284031215610311578081fd5b81518015158114610320578182fd5b9392505050565b60008060006060848603121561033b578182fd5b8335610346816105ae565b925060208481013567ffffffffffffffff80821115610363578485fd5b818701915087601f830112610376578485fd5b81356103846102b18261054d565b8082825285820191508585018b878560051b88010111156103a3578889fd5b8895505b838610156103ce5780356103ba816105ae565b8352600195909501949186019186016103a7565b509650505060408701359250808311156103e6578384fd5b50506103f486828701610291565b9150509250925092565b600080600060608486031215610412578283fd5b833561041d816105ae565b92506020848101359250604085013567ffffffffffffffff80821115610441578384fd5b818701915087601f830112610454578384fd5b81358181111561046657610466610598565b610478601f8201601f1916850161051c565b9150808252888482850101111561048d578485fd5b808484018584013784848284010152508093505050509250925092565b60018060a01b0385168152600060208581840152608060408401528451806080850152825b818110156104eb5786810183015185820160a0015282016104cf565b818111156104fc578360a083870101525b5060608401949094525050601f91909101601f19160160a0019392505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561054557610545610598565b604052919050565b600067ffffffffffffffff82111561056757610567610598565b5060051b60200190565b600060001982141561059157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105c357600080fd5b5056fea264697066735822122015289f9480c1b37dfc9c6e171ec15346f324e643b07f571f736a39c5639f37c164736f6c63430008040033",
109
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806322828eda146100465780634a4bdb301461005b578063f851a4401461006e575b600080fd5b610059610054366004610327565b61009d565b005b6100596100693660046103fe565b6101c2565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b80518251146100ab57600080fd5b60005b82518110156101bc57836001600160a01b03166323b872dd338584815181106100e757634e487b7160e01b600052603260045260246000fd5b602002602001015185858151811061010f57634e487b7160e01b600052603260045260246000fd5b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a19190610300565b6101aa57600080fd5b806101b481610571565b9150506100ae565b50505050565b6000546040516323b872dd60e01b81523360048201526001600160a01b03918216602482015260448101849052908416906323b872dd90606401602060405180830381600087803b15801561021657600080fd5b505af115801561022a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024e9190610300565b507f5deda500cf2f51e0ae5ba5537859f938dadea1f0d406c57f7a1ad89ea5f243483383834260405161028494939291906104aa565b60405180910390a1505050565b600082601f8301126102a1578081fd5b813560206102b66102b18361054d565b61051c565b80838252828201915082860187848660051b89010111156102d5578586fd5b855b858110156102f3578135845292840192908401906001016102d7565b5090979650505050505050565b600060208284031215610311578081fd5b81518015158114610320578182fd5b9392505050565b60008060006060848603121561033b578182fd5b8335610346816105ae565b925060208481013567ffffffffffffffff80821115610363578485fd5b818701915087601f830112610376578485fd5b81356103846102b18261054d565b8082825285820191508585018b878560051b88010111156103a3578889fd5b8895505b838610156103ce5780356103ba816105ae565b8352600195909501949186019186016103a7565b509650505060408701359250808311156103e6578384fd5b50506103f486828701610291565b9150509250925092565b600080600060608486031215610412578283fd5b833561041d816105ae565b92506020848101359250604085013567ffffffffffffffff80821115610441578384fd5b818701915087601f830112610454578384fd5b81358181111561046657610466610598565b610478601f8201601f1916850161051c565b9150808252888482850101111561048d578485fd5b808484018584013784848284010152508093505050509250925092565b60018060a01b0385168152600060208581840152608060408401528451806080850152825b818110156104eb5786810183015185820160a0015282016104cf565b818111156104fc578360a083870101525b5060608401949094525050601f91909101601f19160160a0019392505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561054557610545610598565b604052919050565b600067ffffffffffffffff82111561056757610567610598565b5060051b60200190565b600060001982141561059157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105c357600080fd5b5056fea264697066735822122015289f9480c1b37dfc9c6e171ec15346f324e643b07f571f736a39c5639f37c164736f6c63430008040033",
110
+ "linkReferences": {},
111
+ "deployedLinkReferences": {}
112
+ }
113
+
@@ -0,0 +1,305 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "USDT",
4
+ "sourceName": "contracts/USDT.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "owner",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": true,
22
+ "internalType": "address",
23
+ "name": "spender",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "value",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "Approval",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "from",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "to",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "value",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "name": "Transfer",
59
+ "type": "event"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "address",
65
+ "name": "owner",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "address",
70
+ "name": "spender",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "allowance",
75
+ "outputs": [
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "",
79
+ "type": "uint256"
80
+ }
81
+ ],
82
+ "stateMutability": "view",
83
+ "type": "function"
84
+ },
85
+ {
86
+ "inputs": [
87
+ {
88
+ "internalType": "address",
89
+ "name": "spender",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "amount",
95
+ "type": "uint256"
96
+ }
97
+ ],
98
+ "name": "approve",
99
+ "outputs": [
100
+ {
101
+ "internalType": "bool",
102
+ "name": "",
103
+ "type": "bool"
104
+ }
105
+ ],
106
+ "stateMutability": "nonpayable",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [
111
+ {
112
+ "internalType": "address",
113
+ "name": "account",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "name": "balanceOf",
118
+ "outputs": [
119
+ {
120
+ "internalType": "uint256",
121
+ "name": "",
122
+ "type": "uint256"
123
+ }
124
+ ],
125
+ "stateMutability": "view",
126
+ "type": "function"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "decimals",
131
+ "outputs": [
132
+ {
133
+ "internalType": "uint8",
134
+ "name": "",
135
+ "type": "uint8"
136
+ }
137
+ ],
138
+ "stateMutability": "view",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "address",
145
+ "name": "spender",
146
+ "type": "address"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "subtractedValue",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "name": "decreaseAllowance",
155
+ "outputs": [
156
+ {
157
+ "internalType": "bool",
158
+ "name": "",
159
+ "type": "bool"
160
+ }
161
+ ],
162
+ "stateMutability": "nonpayable",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "address",
169
+ "name": "to",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "internalType": "uint256",
174
+ "name": "amount",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "name": "faucet",
179
+ "outputs": [],
180
+ "stateMutability": "nonpayable",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "spender",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "internalType": "uint256",
192
+ "name": "addedValue",
193
+ "type": "uint256"
194
+ }
195
+ ],
196
+ "name": "increaseAllowance",
197
+ "outputs": [
198
+ {
199
+ "internalType": "bool",
200
+ "name": "",
201
+ "type": "bool"
202
+ }
203
+ ],
204
+ "stateMutability": "nonpayable",
205
+ "type": "function"
206
+ },
207
+ {
208
+ "inputs": [],
209
+ "name": "name",
210
+ "outputs": [
211
+ {
212
+ "internalType": "string",
213
+ "name": "",
214
+ "type": "string"
215
+ }
216
+ ],
217
+ "stateMutability": "view",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [],
222
+ "name": "symbol",
223
+ "outputs": [
224
+ {
225
+ "internalType": "string",
226
+ "name": "",
227
+ "type": "string"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [],
235
+ "name": "totalSupply",
236
+ "outputs": [
237
+ {
238
+ "internalType": "uint256",
239
+ "name": "",
240
+ "type": "uint256"
241
+ }
242
+ ],
243
+ "stateMutability": "view",
244
+ "type": "function"
245
+ },
246
+ {
247
+ "inputs": [
248
+ {
249
+ "internalType": "address",
250
+ "name": "recipient",
251
+ "type": "address"
252
+ },
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "amount",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "name": "transfer",
260
+ "outputs": [
261
+ {
262
+ "internalType": "bool",
263
+ "name": "",
264
+ "type": "bool"
265
+ }
266
+ ],
267
+ "stateMutability": "nonpayable",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "internalType": "address",
274
+ "name": "sender",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "internalType": "address",
279
+ "name": "recipient",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "amount",
285
+ "type": "uint256"
286
+ }
287
+ ],
288
+ "name": "transferFrom",
289
+ "outputs": [
290
+ {
291
+ "internalType": "bool",
292
+ "name": "",
293
+ "type": "bool"
294
+ }
295
+ ],
296
+ "stateMutability": "nonpayable",
297
+ "type": "function"
298
+ }
299
+ ],
300
+ "bytecode": "0x608060405234801561001057600080fd5b50604080518082018252600f81526e2aa9a22a1029ba30b13632b1b7b4b760891b6020808301918252835180850190945260048452631554d11560e21b9084015281519192916100629160039161007e565b50805161007690600490602084019061007e565b505050610152565b82805461008a90610117565b90600052602060002090601f0160209004810192826100ac57600085556100f2565b82601f106100c557805160ff19168380011785556100f2565b828001600101855582156100f2579182015b828111156100f25782518255916020019190600101906100d7565b506100fe929150610102565b5090565b5b808211156100fe5760008155600101610103565b600181811c9082168061012b57607f821691505b6020821081141561014c57634e487b7160e01b600052602260045260246000fd5b50919050565b6109c9806101616000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101415780637b56c2b21461016a57806395d89b411461017f578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f578063395093511461012e575b600080fd5b6100c16101e6565b6040516100ce91906108e1565b60405180910390f35b6100ea6100e53660046108b8565b610278565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461087d565b61028e565b604051601281526020016100ce565b6100ea61013c3660046108b8565b61033d565b6100fe61014f36600461082a565b6001600160a01b031660009081526020819052604090205490565b61017d6101783660046108b8565b610379565b005b6100c1610387565b6100ea6101953660046108b8565b610396565b6100ea6101a83660046108b8565b61042f565b6100fe6101bb36600461084b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610958565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610958565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b600061028533848461043c565b50600192915050565b600061029b848484610560565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103255760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610332853385840361043c565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610285918590610374908690610934565b61043c565b610383828261072f565b5050565b6060600480546101f590610958565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156104185760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161031c565b610425338585840361043c565b5060019392505050565b6000610285338484610560565b6001600160a01b03831661049e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161031c565b6001600160a01b0382166104ff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161031c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161031c565b6001600160a01b0382166106265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161031c565b6001600160a01b0383166000908152602081905260409020548181101561069e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161031c565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106d5908490610934565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161072191815260200190565b60405180910390a350505050565b6001600160a01b0382166107855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161031c565b80600260008282546107979190610934565b90915550506001600160a01b038216600090815260208190526040812080548392906107c4908490610934565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80356001600160a01b038116811461082557600080fd5b919050565b60006020828403121561083b578081fd5b6108448261080e565b9392505050565b6000806040838503121561085d578081fd5b6108668361080e565b91506108746020840161080e565b90509250929050565b600080600060608486031215610891578081fd5b61089a8461080e565b92506108a86020850161080e565b9150604084013590509250925092565b600080604083850312156108ca578182fd5b6108d38361080e565b946020939093013593505050565b6000602080835283518082850152825b8181101561090d578581018301518582016040015282016108f1565b8181111561091e5783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561095357634e487b7160e01b81526011600452602481fd5b500190565b600181811c9082168061096c57607f821691505b6020821081141561098d57634e487b7160e01b600052602260045260246000fd5b5091905056fea264697066735822122055d5548ab630c8832f609334e197cce2919b04b412e3943df195f949c08a735964736f6c63430008040033",
301
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101415780637b56c2b21461016a57806395d89b411461017f578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f578063395093511461012e575b600080fd5b6100c16101e6565b6040516100ce91906108e1565b60405180910390f35b6100ea6100e53660046108b8565b610278565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461087d565b61028e565b604051601281526020016100ce565b6100ea61013c3660046108b8565b61033d565b6100fe61014f36600461082a565b6001600160a01b031660009081526020819052604090205490565b61017d6101783660046108b8565b610379565b005b6100c1610387565b6100ea6101953660046108b8565b610396565b6100ea6101a83660046108b8565b61042f565b6100fe6101bb36600461084b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610958565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610958565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b600061028533848461043c565b50600192915050565b600061029b848484610560565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103255760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610332853385840361043c565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610285918590610374908690610934565b61043c565b610383828261072f565b5050565b6060600480546101f590610958565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156104185760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161031c565b610425338585840361043c565b5060019392505050565b6000610285338484610560565b6001600160a01b03831661049e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161031c565b6001600160a01b0382166104ff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161031c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161031c565b6001600160a01b0382166106265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161031c565b6001600160a01b0383166000908152602081905260409020548181101561069e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161031c565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106d5908490610934565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161072191815260200190565b60405180910390a350505050565b6001600160a01b0382166107855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161031c565b80600260008282546107979190610934565b90915550506001600160a01b038216600090815260208190526040812080548392906107c4908490610934565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80356001600160a01b038116811461082557600080fd5b919050565b60006020828403121561083b578081fd5b6108448261080e565b9392505050565b6000806040838503121561085d578081fd5b6108668361080e565b91506108746020840161080e565b90509250929050565b600080600060608486031215610891578081fd5b61089a8461080e565b92506108a86020850161080e565b9150604084013590509250925092565b600080604083850312156108ca578182fd5b6108d38361080e565b946020939093013593505050565b6000602080835283518082850152825b8181101561090d578581018301518582016040015282016108f1565b8181111561091e5783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561095357634e487b7160e01b81526011600452602481fd5b500190565b600181811c9082168061096c57607f821691505b6020821081141561098d57634e487b7160e01b600052602260045260246000fd5b5091905056fea264697066735822122055d5548ab630c8832f609334e197cce2919b04b412e3943df195f949c08a735964736f6c63430008040033",
302
+ "linkReferences": {},
303
+ "deployedLinkReferences": {}
304
+ }
305
+
@@ -140,6 +140,7 @@ export default
140
140
  },
141
141
  ],
142
142
  }),
143
+ props:['metamask'],
143
144
  async mounted()
144
145
  {
145
146
  // this.public_settings = await this.$_getData('public_settings');
@@ -154,6 +155,15 @@ export default
154
155
  this.table_loading=true;
155
156
  this.cashout_list = await new DB_MEMBER_CASHOUT().getPayoutBySlot(this.user_info.active_slot);
156
157
 
158
+ if(this.metamask)
159
+ {
160
+ this.table_column[1].label = 'Wallet Address';
161
+ this.table_column[2].label = 'Currency';
162
+
163
+ this.cashout_list.forEach(element => {
164
+ element.requested_by_slot = this.metamask ? element.cashout_details.wallet_address : element.requested_by_slot;
165
+ });
166
+ }
157
167
  if(this.merchant_cashout)
158
168
  {
159
169
  this.table_column[5].label = "VAT";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geer-builder",
3
- "version": "1.2.522",
3
+ "version": "1.2.524",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -12,6 +12,7 @@
12
12
  "@capacitor/core": "^2.0.0",
13
13
  "axios": "^0.20.0",
14
14
  "console": "^0.7.2",
15
+ "ethers": "^5.5.4",
15
16
  "jquery": "^3.5.1",
16
17
  "moment-timezone": "^0.5.33",
17
18
  "philippine-location-json-for-geer": "^1.1.11",