cngn-typescript-library
Version:
A lightweight Typescript library to give you the best experience with managing your cngn merchant account
145 lines (128 loc) • 4.85 kB
text/typescript
import {cNGNManager} from "./services/cngn.manager";
import {Network} from "./utils/types";
const manager = new cNGNManager({
apiKey: "cngn_live_gMtkVsc8AeHDg1nfg2lRl76o2lfZ6MpudNck38fMowEoBEeTfM2",
encryptionKey: "0GwD2Hp/jfGYPV2ZMMn1X4joue/EwMiGApf1WObvmIbCIANvv0wGK8dPTxRna0Y=",
privateKey:"-----BEGIN OPENSSH PRIVATE KEY-----\n" +
"b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\n" +
"QyNTUxOQAAACAn3FuHnlgAxqBhJL9oS/GWyfVCa0gKxA/XuTH0v4DlPwAAAKAzJhNzMyYT\n" +
"cwAAAAtzc2gtZWQyNTUxOQAAACAn3FuHnlgAxqBhJL9oS/GWyfVCa0gKxA/XuTH0v4DlPw\n" +
"AAAECTB9ZmDfCRV8+7+Kafw3je1M8SWV+O/+pnaExmcQTGOifcW4eeWADGoGEkv2hL8ZbJ\n" +
"9UJrSArED9e5MfS/gOU/AAAAGGV6dW1haGplcmVtaWFoQGdtYWlsLmNvbQECAwQF\n" +
"-----END OPENSSH PRIVATE KEY-----",
});
const runner = async () => {
try {
console.log("---------------TEST BALANCE----------------")
const balance = await manager.getBalance()
console.log("Balance Response: ", balance.data)
}
catch (e:any) {
console.error("Error in retrieving balance ", e)
}
try {
console.log("---------------TEST TRANSACTION HISTORY----------------")
const history = await manager.getTransactionHistory(1, 20)
console.log("Transaction History Response: ", history.data)
}
catch (e:any) {
console.error("Error in fetching transaction history ", e?.response?.data?.message)
}
try {
console.log("---------------VERIFY REF BALANCE----------------")
const transaction = await manager.verifyWithdrawal("dba34aa3-d9ea-4ecd-a766-7183431a6863")
console.log("transaction Response: ", transaction.data)
}
catch (e:any) {
console.error("Error in retrieving balance ", e?.response?.data?.message)
}
try {
console.log("---------------TEST WITHDRAWAL----------------")
const withdraw = await manager.withdraw({
address: "GAKRER5S7DNP36JOVNFFD22QPPRGN5P3RY44IQMMPMRLIGC6SVPKHIJP",
network: Network.xbn,
amount: 5900,
shouldSaveAddress: true
})
console.log("Withdrawal Response: ", withdraw.data)
}
catch (e:any) {
console.log(e)
}
try {
console.log("---------------REDEEM ASSETS----------------")
const redeem = await manager.redeemAsset({
amount: 1000000,
accountNumber: "3069839406",
bankCode: "011",
})
console.log("Redeem Asset Response: ", redeem)
}
catch (e) {
console.log("error handling redeem: ", e)
}
try {
console.log("---------------VIRTUAL ACCOUNT----------------")
const virtualAccount = await manager.createVirtualAccount({
bank_code: "011",
provider: "bellbank"
})
console.log("virtualAccount Response: ", virtualAccount)
}
catch (e) {
console.error(e)
}
//
//
// console.log("---------------UPDATE EXTERNAL ACCOUNT----------------")
// await manager.updateExternalAccounts({
// walletAddress: {
// xbnAddress: "GBMEXW2INX6FFBTHVJLH3AFHDD76BAMNQCQZTIJDGWE4ZUC7CVMSYZBM",
// }
// }).then((response) => {
// console.log("Updated External Accounts: ", response.data)
// }).
// catch((e) => {
// console.error("Error updating external accounts: ", e)
// })
//
//
//
//
// try {
// console.log("---------------GET BANK LISTS----------------")
// const listing = await manager.getBanks()
// console.log("Bank List Response: ", listing.data)
// }
// catch (e:any) {
// console.error("Error in fetching bank lists ", e?.response?.data?.message)
// }
//
//
//
// try {
// console.log("---------------SWAP----------------")
// const swapAssets = await manager.swapAsset({
// destinationNetwork: Network.atc,
// originNetwork: Network.eth,
// destinationAddress: "0x391e03868AfDa6ea9e0E3d4cDB5F6f09227d4B7C"
// })
// console.log("Swap Response: ", swapAssets.data)
// }
// catch (e) {
// console.log("Error processing swap operation: ", e)
// }
try {
const swapQuote = await manager.getSwapQuote({
originNetwork: Network.eth,
destinationNetwork: Network.atc,
amount: 1000,
destinationAddress: "0x391e03868AfDa6ea9e0E3d4cDB5F6f09227d4B7C",
});
console.log('swapQuote', swapQuote);
}
catch (error) {
console.error('Error fetching swap quote:', error);
}
}
runner()