@bronlabs/intents-sdk
Version:
SDK for Intents DeFi smart contracts
50 lines • 2.62 kB
JavaScript
import { ethers } from 'ethers';
import * as fs from 'node:fs';
import * as path from 'node:path';
import { fileURLToPath } from 'node:url';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
export var OrderStatus;
(function (OrderStatus) {
OrderStatus[OrderStatus["NOT_EXIST"] = 0] = "NOT_EXIST";
OrderStatus[OrderStatus["USER_INITIATED"] = 1] = "USER_INITIATED";
OrderStatus[OrderStatus["AUCTION_IN_PROGRESS"] = 2] = "AUCTION_IN_PROGRESS";
OrderStatus[OrderStatus["WAIT_FOR_USER_TX"] = 3] = "WAIT_FOR_USER_TX";
OrderStatus[OrderStatus["WAIT_FOR_ORACLE_CONFIRM_USER_TX"] = 4] = "WAIT_FOR_ORACLE_CONFIRM_USER_TX";
OrderStatus[OrderStatus["WAIT_FOR_SOLVER_TX"] = 5] = "WAIT_FOR_SOLVER_TX";
OrderStatus[OrderStatus["WAIT_FOR_ORACLE_CONFIRM_SOLVER_TX"] = 6] = "WAIT_FOR_ORACLE_CONFIRM_SOLVER_TX";
OrderStatus[OrderStatus["COMPLETED"] = 7] = "COMPLETED";
OrderStatus[OrderStatus["LIQUIDATED"] = 8] = "LIQUIDATED";
OrderStatus[OrderStatus["CANCELLED"] = 9] = "CANCELLED";
})(OrderStatus || (OrderStatus = {}));
export function initOrderEngine(orderEngineAddress, provider) {
return new ethers.Contract(orderEngineAddress, JSON.parse(fs.readFileSync(path.join(__dirname, '../abi/OrderEngine.json'), 'utf8')), provider);
}
export function initOracleAggregator(oracleAggregatorAddress, provider) {
return new ethers.Contract(oracleAggregatorAddress, JSON.parse(fs.readFileSync(path.join(__dirname, '../abi/OracleAggregator.json'), 'utf8')), provider);
}
export function printOrder(baseParams, quoteParams, pricingParams) {
return JSON.stringify({
baseParams: {
networkId: baseParams.networkId,
tokenAddress: baseParams.tokenAddress,
solverAddress: baseParams.solverAddress,
userTxHash: baseParams.userTxHash
},
quoteParams: {
networkId: quoteParams.networkId,
tokenAddress: quoteParams.tokenAddress,
userAddress: quoteParams.userAddress,
solverTxHash: quoteParams.solverTxHash
},
pricingParams: {
baseAmount: pricingParams.baseAmount.toString(),
quoteAmount: pricingParams.quoteAmount.toString(),
price_e18: pricingParams.price_e18.toString(),
maxPrice_e18: pricingParams.maxPrice_e18.toString(),
auctionDuration: pricingParams.auctionDuration.toString(),
orderValueInUSD_e18: pricingParams.orderValueInUSD_e18.toString(),
liquidationReceiver: pricingParams.liquidationReceiver
}
}, null, 2);
}
//# sourceMappingURL=contracts.js.map