using walletnotify to freeze an address before confirmation

+1 vote
We have a system where we need to limit the amount of asset going into an address, based on a calculation done outside out multichain. Could we use waleltnotify to see the transaction, but if the calculation decided it should not be confirmed, then the send and receive address could be revoked so the transation would not be confirmed on chain - if that is possible, what happens to the asset that has been sent by someone else..does it go back to them, or could we simply write a command to send it back?
asked Mar 18, 2018 by mark

1 Answer

0 votes
I'm afraid this kind of approach will not work, because the permission transaction would be after the transaction that it intended to block, and therefore it would not block it effectively.

Are these limits calculated dynamically and if so how often are they updated? Do they need to be immediately applied or is it enough to block funds from being sent on further by an address after too much was received by that address?

As a general point, if a transaction is not allowed because of permissions, there's no need to sends funds back anywhere – it will be as if the transaction never took place.
answered Mar 18, 2018 by MultiChain
We are governed by banking regulations as an E-Money Issuer, and one of the restrictions is that we cannot allow users to go over a set limit per rolling 30 days of total inward transactions to their account. Currently we do this by keeping all transactions for individuals off chain. We don't have the same restrictions for companies, so they can have permissioned addresses for use on other nodes..I was just looking for a way to offer this to individuals as well. For the regulations, we have to check the limit BEFORE each transaction is made to that account. This is something that can be built into an ethereum smart contract for a currency, was hoping at some point in the future we might be able to do the same thing on Multichain.
Understood, I'm afraid I can't see a way to do that with MultiChain's transaction model, even with the filters that are coming in MultiChain 2.0. If the restriction could be applied at the time of sending funds from the individuals, then it would be possible using a combination of inline metadata (in regular outputs) and filters. But not for receiving funds by individuals. Perhaps you can have a philosophical conversation with the regulator explaining that, if a individual cannot send some funds somewhere, then they haven't really received them in any meaningful way, but I don't suppose that will fly...
...