@diagonal-finance/crypto
v1.0.3
Published
Diagonal finance crypto library
Downloads
5
Keywords
Readme
| Diagonal crypto is a light weight library which allows developers to easily sign various diagonal messages. | | ----------------------------------------------------------------------------------------------------------- |
♜ Jest tests & common test coverage for all packages (npm test
)
♞ ESLint & Prettier to keep the code neat and well organized (npm run format
& npm run lint
)\
📦 Package
🛠 Installation
ESMModule:
npm install @diagonal-finance/crypto
📜 Usage
ESModule:
Create charge digest:
import {
createChargeDigest,
CreateChargeDigestInput,
} from "@diagonal-finance/crypto";
const chargeDigestInput: CreateChargeDigestInput = {
id: "charge_17e8e79988359da2be9678f0b9936671c2031d0724abab99",
source_address: "0x4632Ea8C867aaB1c93bf4B21b8FeD4958d111Cc0",
token_address: "0x07865c6e87b9f70255377e024ace6630c1eaa37f",
token_amount: "10000000",
organization_address: "0xf78eA64621d8e2E7fCafdbc7cEd53b20edA526a0",
chain_id: 1,
};
const chargeDigest = createChargeDigest(chargeDigestInput);
Sign digest:
You can use this snippet to sign the digest when your signing service can load the signing key in memory (ex. via env vars, via a secrets managing service), and you are not using an external signing service (ex. KMS) where the signing key is unknown.
import {
createChargeDigest,
signDigest,
CreateChargeDigestInput,
ECDSASignature,
} from "@diagonal-finance/crypto";
const chargeDigestInput: CreateChargeDigestInput = {
id: "charge_17e8e79988359da2be9678f0b9936671c2031d0724abab99",
source_address: "0x4632Ea8C867aaB1c93bf4B21b8FeD4958d111Cc0",
token_address: "0x07865c6e87b9f70255377e024ace6630c1eaa37f",
token_amount: "10000000",
organization_address: "0xf78eA64621d8e2E7fCafdbc7cEd53b20edA526a0",
chain_id: 1,
};
const chargeDigest: string = createChargeDigest(chargeDigestInput);
const privateKey = process.env.SIGNER_PRIVATE_KEY;
const signature: ECDSASignature = signDigest(chargeDigest, privateKey);
🛠 Development
Clone this repository and install the dependencies:
git clone https://github.com/diagonal-finance/crypto.git
cd crypto && npm i
📜 Usage
npm run lint # Syntax check with ESLint (yarn lint:fix to fix errors).
npm run format # Syntax check with Prettier (yarn prettier:fix to fix errors).
npm test # Run tests (with common coverage).
npm run build # Create a JS build.
npm run publish # Publish a package on npm.