with npm and Bitget?
Emit new event with the latest count of downloads for an npm package. See the documentation
Emit new event when a new version of an npm package is published. See the documentation
Retrieve all contract symbols by product type. See the documentation
Retrieve candlestick data for a contract symbol. See the documentation
Retrieve open interest for contracts. See the documentation
Retrieve current funding rate for a contract symbol. See the documentation
Retrieve discount rate information for contract trading. See the documentation
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
	props: {
		bitget: {
			type: "app",
			app: "bitget",
		}
	},
	async run({ steps, $ }) {
		function sign(message, secretKey) {
			const mac = crypto.createHmac('sha256', secretKey);
			mac.update(message, 'utf8');
			const digest = mac.digest();
			return Buffer.from(digest).toString('base64');
		}
		function preHash(timestamp, method, requestPath, body) {
			return timestamp.toString() + method.toUpperCase() + requestPath + body;
		}
		const emptyBody = "";
		const timestamp = Math.round(new Date());
		const requestPath = "/api/v2/mix/account/account?symbol=btcusdt&productType=USDT-FUTURES&marginCoin=usdt";
		const getSignResult = sign(preHash(timestamp, "GET", requestPath, emptyBody), this.bitget.$auth.secret_key);
		return await axios($, {
			url: `https://api.bitget.com${requestPath}`,
			method: "GET",
			headers: {
				"ACCESS-KEY": this.bitget.$auth.api_key,
				"ACCESS-SIGN": getSignResult,
				"ACCESS-PASSPHRASE": this.bitget.$auth.secret_passphrase,
				"ACCESS-TIMESTAMP": timestamp,
				"locale": "en-US",
				"Content-Type": "application/json",
				"paptrading": this.bitget.$auth.demo_environment ? "1" : "0"
			}
		})
	},
})