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 {
display: flex;
flex-shrink: 0;
}
.password-field label input:checked ~ .visible {
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 {
label {
display: flex;
flex-shrink: 0;
input:checked ~ .visible {
display: none;
}

View File

@ -1589,6 +1589,10 @@
})
}
const smCompConfig = {
}
const indicatorObserver = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (!entry.isIntersecting) {
@ -3097,6 +3101,8 @@
const contractName = document.getElementById('contract_name').value.trim().replace(/\s+/g, '-')
const creatorPrivateKey = document.getElementById('contract_creator_private_key').value.trim()
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 confirmationMessage = ''
if (floGlobals.scMap.has(`${contractName}_${creatorAddress}`))
@ -3134,6 +3140,8 @@
else
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
const payeeAddressesArray = Object.keys(payeeAddressesShare)
const totalShare = payeeAddressesArray.reduce((acc, payeeAddress) => acc + payeeAddressesShare[payeeAddress], 0)