x402z-shared
v0.0.15
Published
Shared utilities for the erc7984-mind-v1 x402 scheme.
Readme
x402z-shared
Shared utilities for the erc7984-mind-v1 x402 scheme.
Install
pnpm add x402z-sharedFolder map
src/core/: ABI, constants, types, utilssrc/relayer/: relayer helperssrc/token/: token, balance, observer, transfer helperssrc/index.ts: public exports
Relayer helpers (Node)
import {
createRelayer,
createEncryptedAmountInput,
SepoliaConfig,
} from "x402z-shared";
Token helper (Node)
import { ConfidentialToken } from "x402z-shared";
const token = new ConfidentialToken({
rpcUrl: "https://sepolia.infura.io/v3/...",
tokenAddress: "0xToken",
relayer,
signer: { address, signTypedData, writeContract },
});
const balance = await token.balanceOf("0xWallet");
console.log(balance.toString());Notes:
- Balance decryption is allowed for the account or its
observer(ERC7984ObserverAccess). - Unauthorized observer errors throw
confidentialErrorCodes.observerNotAuthorized(ConfidentialErrorCode).
Transfer amount helper (Node)
import { getTransferAmounts } from "x402z-shared";
const transfers = await getTransferAmounts({
rpcUrl: "https://sepolia.infura.io/v3/...",
tokenAddress: "0xToken",
txHash: "0xTransactionHash",
from: "0xSender",
to: "0xReceiver",
relayer,
signer: { address, signTypedData },
});
console.log(transfers[0]?.amount?.toString());Notes:
- Transfer amount decryption is allowed for
holder,payee, or anobserverset viaERC7984ObserverAccess. - Unauthorized observer errors throw
confidentialErrorCodes.observerNotAuthorized(ConfidentialErrorCode).
Observer helper (Node)
import { ConfidentialToken } from "x402z-shared";
const token = new ConfidentialToken({
rpcUrl: "https://sepolia.infura.io/v3/...",
tokenAddress: "0xToken",
relayer,
signer: { address, signTypedData, writeContract },
});
const txHash = await token.setObserver("0xHolder", "0xObserver");
console.log(txHash);Notes
- Scheme name:
erc7984-mind-v1 - For browser usage, use
x402z-shared-web.
