cosmic-interchain-cli
Version:
A command-line utility for Cosmic Wire's interchain messaging protocol
41 lines • 1.65 kB
JavaScript
import { SubmissionStrategySchema, } from '@hyperlane-xyz/sdk';
import { runSubmit } from '../config/submit.js';
import { logBlue, logGray } from '../logger.js';
import { readYamlOrJson } from '../utils/files.js';
import { dryRunCommandOption, outputFileCommandOption, strategyCommandOption, transactionsCommandOption, } from './options.js';
/**
* Submit command
*/
export const submitCommand = {
command: 'submit',
describe: 'Submit transactions',
builder: {
transactions: transactionsCommandOption,
strategy: strategyCommandOption,
'dry-run': dryRunCommandOption,
receipts: outputFileCommandOption('./generated/transactions/receipts.yaml'),
},
handler: async ({ context, transactions, strategy: strategyUrl, receipts, }) => {
logGray(`Interchain Submit`);
logGray(`----------------`);
const submissionStrategy = readSubmissionStrategy(strategyUrl);
await runSubmit({
context,
transactionsFilepath: transactions,
receiptsFilepath: receipts,
submissionStrategy,
});
logBlue(`✅ Submission complete`);
process.exit(0);
},
};
/**
* Retrieves a submission strategy from the provided filepath.
* @param submissionStrategyFilepath a filepath to the submission strategy file
* @returns a formatted submission strategy
*/
export function readSubmissionStrategy(submissionStrategyFilepath) {
const submissionStrategyFileContent = readYamlOrJson(submissionStrategyFilepath.trim());
return SubmissionStrategySchema.parse(submissionStrategyFileContent);
}
//# sourceMappingURL=submit.js.map