@ingocollatz/sdk-tests
Version:
141 lines (120 loc) • 6.75 kB
text/typescript
import { describe } from "node:test";
import { CirclesSdk } from "@ingocollatz/sdk";
import { QueryMode, SortOrder } from "@ingocollatz/sdk-interfaces";
import { TEST_DATA } from "./config";
const testData = TEST_DATA;
describe("getCrcTransfers", async () => {
it("should return 2 transfer items ascending", async () => {
const transfers = await CirclesSdk.getCrcTransfers({
fromAddress: testData.safeAddress.toLowerCase(),
toAddress: testData.safeAddress.toLowerCase(),
mode: QueryMode.Or,
limit: 2,
sortOrder: SortOrder.Ascending,
});
expect(transfers.length).toEqual(2);
const item0 = transfers[0];
expect(item0.transactionHash).toEqual("0xd0e1999f70c5e1dbb4892af3f01c5fb33f282eee850b831da516cb81c7428952");
expect(item0.amount).toEqual("50000000000000000000");
expect(item0.tokenAddress).toEqual(("0x6b35C6Da733836BE97ceD8627C3747824450926b").toLowerCase());
expect(item0.blockNumber).toEqual("12543096");
expect(item0.fromAddress === testData.safeAddress.toLowerCase() || item0.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
const item1 = transfers[1];
expect(item1.transactionHash).toEqual("0xdba380b7a1e2ab0d47233d5ac0d16e640729192463767bba0c927f93c29548ec");
expect(item1.amount).toEqual("74970");
expect(item1.tokenAddress).toEqual(("0x6b35c6da733836be97ced8627c3747824450926b").toLowerCase());
expect(item1.blockNumber).toEqual("12543129");
expect(item1.fromAddress === testData.safeAddress.toLowerCase() || item1.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
});
it("should return 2 transfer items ascending from a specific cursor", async () => {
const transfers = await CirclesSdk.getCrcTransfers(
{
fromAddress: testData.safeAddress.toLowerCase(),
toAddress: testData.safeAddress.toLowerCase(),
mode: QueryMode.Or,
limit: 2,
sortOrder: SortOrder.Ascending,
cursor: "12543129-2-1"
}
);
const item0 = transfers[0];
expect(item0.transactionHash).toEqual("0xfe6969a18ae6d122eca3d38d0ec22478710bcb7c28bb595f03258a6386a10652");
expect(item0.amount).toEqual("74970");
expect(item0.tokenAddress).toEqual(("0x6b35C6Da733836BE97ceD8627C3747824450926b").toLowerCase());
expect(item0.blockNumber).toEqual("12543149");
expect(item0.fromAddress === testData.safeAddress.toLowerCase() || item0.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
const item1 = transfers[1];
expect(item1.transactionHash).toEqual("0xcb0c37b5b9d53bdc8e53a4d6061594031d56b28ba4b38a56ca0cdd474275e806");
expect(item1.amount).toEqual("74970");
expect(item1.tokenAddress).toEqual(("0x6b35c6da733836be97ced8627c3747824450926b").toLowerCase());
expect(item1.blockNumber).toEqual("12543155");
expect(item1.fromAddress === testData.safeAddress.toLowerCase() || item1.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
});
it("should return 2 transfer items descending from a specific cursor", async () => {
const transfers = await CirclesSdk.getCrcTransfers(
{
fromAddress: testData.safeAddress.toLowerCase(),
toAddress: testData.safeAddress.toLowerCase(),
mode: QueryMode.Or,
limit: 2,
sortOrder: SortOrder.Descending,
cursor: "30731018-10-1"
});
expect(transfers.length).toEqual(2);
const item0 = transfers[0];
expect(item0.transactionHash).toEqual("0x842e22255eb2fd577a9caa9ea17a75d197e7f377150817505dee4ee5cf3a56f6");
expect(item0.amount).toEqual("102606");
expect(item0.tokenAddress).toEqual(("0x447a88d9e746fbfed238717646b8475f3e141f52").toLowerCase());
expect(item0.blockNumber).toEqual("30521397");
expect(item0.fromAddress === testData.safeAddress.toLowerCase() || item0.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
const item1 = transfers[1];
expect(item1.transactionHash).toEqual("0x842e22255eb2fd577a9caa9ea17a75d197e7f377150817505dee4ee5cf3a56f6");
expect(item1.amount).toEqual("64008155400184413432");
expect(item1.tokenAddress).toEqual(("0x6b35c6da733836be97ced8627c3747824450926b").toLowerCase());
expect(item1.blockNumber).toEqual("30521397");
expect(item1.fromAddress === testData.safeAddress.toLowerCase() || item1.toAddress === testData.safeAddress.toLowerCase()).toBeTruthy();
});
it("should return one incoming and one outgoing transaction, Ascending", async () => {
const transfers = await CirclesSdk.getCrcTransfers({
fromAddress: testData.safeAddress.toLowerCase(),
toAddress: testData.safeAddress.toLowerCase(),
mode: QueryMode.Or,
limit: 2,
sortOrder: SortOrder.Ascending,
});
const item0 = transfers[0];
expect(item0.transactionHash).toEqual("0xd0e1999f70c5e1dbb4892af3f01c5fb33f282eee850b831da516cb81c7428952");
expect(item0.amount).toEqual("50000000000000000000");
expect(item0.fromAddress).not.toEqual(testData.safeAddress.toLowerCase());
expect(item0.blockNumber).toEqual("12543096");
expect(item0.toAddress).toEqual(testData.safeAddress.toLowerCase());
const item1 = transfers[1];
expect(item1.transactionHash).toEqual("0xdba380b7a1e2ab0d47233d5ac0d16e640729192463767bba0c927f93c29548ec");
expect(item1.amount).toEqual("74970");
expect(item1.toAddress).not.toEqual(testData.safeAddress.toLowerCase());
expect(item1.blockNumber).toEqual("12543129");
expect(item1.fromAddress).toEqual(testData.safeAddress.toLowerCase());
});
it("should return one incoming and one outgoing transaction, Descending from a specific cursor", async () => {
const transfers = await CirclesSdk.getCrcTransfers({
fromAddress: testData.safeAddress.toLowerCase(),
toAddress: testData.safeAddress.toLowerCase(),
mode: QueryMode.Or,
limit: 2,
sortOrder: SortOrder.Descending,
cursor: "30842167-7-2"
});
const item0 = transfers[0];
expect(item0.transactionHash).toEqual("0xf951a0f613337be1aa1ef796dfdd0bddb80accff14e3ca0de998489e8c004573");
expect(item0.amount).toEqual("68266655474073227040");
expect(item0.fromAddress).not.toEqual(testData.safeAddress.toLowerCase());
expect(item0.blockNumber).toEqual("30842167");
expect(item0.toAddress).toEqual(testData.safeAddress.toLowerCase());
const item1 = transfers[1];
expect(item1.transactionHash).toEqual("0x1e89d52e6c691e5fc3b1cda815020eaf83b06cb112e31a13a447a7787bf83b6c");
expect(item1.amount).toEqual("94648");
expect(item1.fromAddress).toEqual(testData.safeAddress.toLowerCase());
expect(item1.blockNumber).toEqual("30731018");
expect(item1.fromAddress).toEqual(testData.safeAddress.toLowerCase());
});
});