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 +12 -5
- package/GInvestment.vue +1 -1
- package/GInvestmentWidget.vue +82 -25
- package/components/GSlotWallet/WalletLogsDialog.vue +33 -1
- package/components/Investment/InvestmentAddWallet.vue +320 -0
- package/components/Investment/InvestmentStatusDialog.vue +1 -1
- package/components/Investment/{InvestmentVIewDialog.vue → InvestmentView.vue} +0 -0
- package/components/Investment/InvestmentViewDialog.vue +97 -0
- package/contracts/PaymentProcessor.json +113 -0
- package/contracts/USDT.json +305 -0
- package/dialogs/CashoutStatusDialog.vue +10 -0
- package/package.json +2 -1
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">
|
|
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/
|
|
46
|
+
import InvestmentViewDialog from './components/Investment/InvestmentView.vue';
|
|
47
47
|
export default
|
|
48
48
|
{
|
|
49
49
|
components: {AddInvestment, InvestmentViewDialog},
|
package/GInvestmentWidget.vue
CHANGED
|
@@ -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="
|
|
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="
|
|
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
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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.
|
|
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;
|
|
File without changes
|
|
@@ -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.
|
|
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",
|