added more smart contract creation checks

-- Only one smart contract allowed per address
-- Payee addresses can't include creator address
This commit is contained in:
sairaj mote 2023-10-01 22:14:49 +05:30
parent 6ba663ecaa
commit 24996890d5
4 changed files with 11 additions and 1 deletions

View File

@ -674,6 +674,7 @@ h3 {
.password-field label { .password-field label {
display: flex; display: flex;
flex-shrink: 0;
} }
.password-field label input:checked ~ .visible { .password-field label input:checked ~ .visible {
display: none; display: none;

2
css/main.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -645,6 +645,7 @@ h3 {
.password-field { .password-field {
label { label {
display: flex; display: flex;
flex-shrink: 0;
input:checked ~ .visible { input:checked ~ .visible {
display: none; display: none;
} }

View File

@ -1589,6 +1589,10 @@
}) })
} }
const smCompConfig = {
}
const indicatorObserver = new IntersectionObserver(entries => { const indicatorObserver = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (!entry.isIntersecting) { if (!entry.isIntersecting) {
@ -3097,6 +3101,8 @@
const contractName = document.getElementById('contract_name').value.trim().replace(/\s+/g, '-') const contractName = document.getElementById('contract_name').value.trim().replace(/\s+/g, '-')
const creatorPrivateKey = document.getElementById('contract_creator_private_key').value.trim() const creatorPrivateKey = document.getElementById('contract_creator_private_key').value.trim()
const creatorAddress = floCrypto.getFloID(creatorPrivateKey) const creatorAddress = floCrypto.getFloID(creatorPrivateKey)
if (floGlobals.smartContracts.some(sc => sc.creatorAddress === creatorAddress))
return notify(`You already have a smart contract with this address. Only one smart contract is allowed per address.`, 'error')
let floData let floData
let confirmationMessage = '' let confirmationMessage = ''
if (floGlobals.scMap.has(`${contractName}_${creatorAddress}`)) if (floGlobals.scMap.has(`${contractName}_${creatorAddress}`))
@ -3134,6 +3140,8 @@
else else
payeeAddressesShare[payeeAddress] = payeeShare payeeAddressesShare[payeeAddress] = payeeShare
}) })
if (payeeAddressesShare[creatorAddress])
return notify(`Creator address cannot be a payee address`, 'error')
// check if payeeAddresses total share is equal to 100 else add remainder // check if payeeAddresses total share is equal to 100 else add remainder
const payeeAddressesArray = Object.keys(payeeAddressesShare) const payeeAddressesArray = Object.keys(payeeAddressesShare)
const totalShare = payeeAddressesArray.reduce((acc, payeeAddress) => acc + payeeAddressesShare[payeeAddress], 0) const totalShare = payeeAddressesArray.reduce((acc, payeeAddress) => acc + payeeAddressesShare[payeeAddress], 0)