tecNO_PERMISSION - No permission to perform requested operation

Free training on Ripple development. Click here for details.


If you are trying to submit some ripple transaction, and coming across
"tecNO_PERMISSION - No permission to perform requested operation" 
in the transaction response, then the probable cause could be that the sender does not have permission to do this operation.

For example,
1. The EscrowCreate transaction tried to create an Escrow with FinishAfter time which is not adjusted for Ripple Epoch .
2. Someone tried to use PaymentChannelFund on a channel the sender does not own,
3. A Payment tried to deliver funds to an account with the "DepositAuth" flag enabled.

Fix:
Below is an example of request payload where the transaction returned tecNO_PERMISSION 

{
            "TransactionType": "EscrowCreate",
            "Account": sender,
            "Fee" : _fee+"",
    "Amount": "10000",
            "Destination": receiver,
    "FinishAfter": finishAfterDate,
    "Sequence":nextseqOfSender
}

The reason is that the highlighted finishAfterDate above is not adjusted for the Ripple Epoch whose value is 946684800 (January 1, 2000 (00:00 UTC) .
To get the correct finishAfterDate, use below calculation and submit the signed transaction and it should work:

unix_date = Math.floor( new Date() / 1000 );
finishAfterDate = unix_date - 946684800;


Comments

Popular posts from this blog

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 18): AssertionError [ERR_ASSERTION]: issuer must be defined