@depay/verify-payment
Version:
A light JavaScript/TypeScript package to decode payment instructions for the DePay payment protocol.
72 lines (44 loc) • 3.27 kB
Markdown
## Installation
```
yarn add @depay/verify-payment
```
or
```
npm install --save @depay/verify-payment
```
## Functionality
### Decode payment
```javascript
import { decodePayment } from '@depay/verify-payment'
const payment = decodePayment({
blockchain: 'ethereum',
address: '0xF491525C7655f362716335D526E57b387799d058',
transaction: '0x422feecb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000243cd890b58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000001c232f01118cb8b424793ae03f870aa7d0ac7f770000000000000000000000004ecaba5870353805a9f068101a40e0f32ed605c600000000000000000000000008b277154218ccf3380cae48d630da13462e395000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000064f2fb0400000000000000000000000000000000000000000000000000000000000000e47ff36ab5000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000800000000000000000000000005ec3153bacebb5e49136cf2d457f26f5df1b67800000000000000000000000000000000000000000000000000000000064f2fb030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000e91d153e0b41518a2ce8dd3d7944fa863463a97d0000000000000000000000004ecaba5870353805a9f068101a40e0f32ed605c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000'
});
// payment = {
// amount: BigInt('10200000000000000'),
// token: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
// receiver: '0x08b277154218ccf3380cae48d630da13462e3950'
// }
```
The `decodePayment` function will return a payment with the following attributes:
`amount`: Amount paid as BigInt
`token`: Address of the token used to perform the payment
`receiver`: Address of the payment receiver
#### Blockchain
You can pass blockchains in 3 different formats:
`names`: e.g. `ethereum`, `bsc`, `polygon` etc. check [web3-blockchains](https://github.com/DePayFi/web3-blockchains/tree/master/src/blockchains) for a list of names.
`id`: e.g. `1` (ethereum), `137` (polygon), `10` (optimism) etc.
`hexId` (lowercase): e.g. `0x1` (ethereum), `0x89` (polygon), `0xa` (optimism) etc.
#### Address
Please make sure you pass addresses correctly [checksum-formatted](https://docs.alchemy.com/docs/how-to-handle-checksum-addresses) as it will be verified case-sensitive.
If the given address does not match the given blockchain, `undefined` is returned.
#### Transaction
The transaction needs
If the given transaction can't be decoded, `undefined` is returned.
## Development
### Get started
```
yarn install
yarn test
```