HTTP service that signs and broadcasts Axelar and EVM transactions for relayer workflows. It exposes signing endpoints for Axelar modules and EVM chains and supports e2e tests against Axelar + Avalanche testnet.
- Node.js and npm
- Mnemonics for Axelar (Cosmos) and EVM chains
- Network access to Axelar RPC and EVM RPC endpoints
npm installEnvironment variables:
KEPLR_MNEMONIC- Axelar/Cosmos signer mnemonic.EVM_MNEMONIC- EVM signer mnemonic.ENVIRONMENT- One oflocal,mainnet,testnet,devnet.GAS_PRICE(optional) - Override default gas price, format like0.007uaxl.
# development
npm run start
# watch mode
npm run start:dev
# production build + run
npm run build
npm run start:prodSigning endpoints:
POST /get_link_addressPOST /confirm_deposit_txPOST /route_messagePOST /confirm_gateway_txPOST /execute_pending_transfersPOST /sign_commandsPOST /create_pending_transfersPOST /route_ibc_transfersPOST /sign_evm_txPOST /send_evm_tx
# unit tests
npm test
# e2e tests
npm run test:e2e
# unit test coverage
npm run test:cov
# e2e coverage
npm run test:e2e:covThis application automatically deploys to production on Heroku when pull requests are merged to the main branch.
- E2E tests depend on external RPCs and can be flaky if endpoints are down.
GAS_PRICEcan be set to tune Cosmos fee calculation without code changes.