invoice-canister icon indicating copy to clipboard operation
invoice-canister copied to clipboard

Providing an example and simplified experience for accepting payments in smart contracts

Results 16 invoice-canister issues
Sort by recently updated
recently updated
newest added

./install-local.sh results in following errors being dumped continuously (no perceivable delay): Nov 06 09:11:19.362 ERRO s:lftbv-pjj44-lhaob-lpzga-soo6y-smi4l-rg745-5kpnc-of53u-ousgw-cae/n:fotuh-z4hlx-r7spc-ydzkg-rp5tq-jktzt-ba23y-ab56v-tggcd-2iwh5-pqe/ic_consensus/notary Couldn't create a signature: Cannot find MultiBls12_381 secret key with ID "KeyId(0xc0134609a2f493b0981df8eeb90739aa7a84b417f88918c8be5692332b2d02b4)" Nov 06...

## Observation The invoice canister can be deployed by anyone and anyone can create invoices on it. This means that the invoice creators (sellers) will receive money that will be...

high risk

## Observation The balance could have changed by the time of the transfer out and updating of the invoice. Consider if Alice pays an invoice I of 1 ICP created...

medium risk

7 additional notes were provided from the security audit that have minimal risk and are trivial to clean up. - redundant argument in verify_invoice: The caller is no longer needed...

low risk

## Observation if invoice is paid again after the invoice was verified, the money is locked. TODO: expand on this ## Recommendations Offer a new method: ``` type AmountConsolidated =...

high-medium risk

## Observation The sha256, crc32 and hex libraries are copied into the repository. ## Risk Description If the libraries are copied, it is hard to keep them up to date....

medium risk

## Observation Invoice content is usually private information (what did I order, how much, etc.) ## Risk description Every node can see the data (independent of permissions) since they are...

medium-low risk

Currently when requesting a transfer with an amount in TransferArgs below **10_000 e8s** the invoice canister will trap on an **arithmetic overflow**, due to this line : ``` amount =...