diff --git a/package-lock.json b/package-lock.json index 7d6f829..d60d3a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cirlces-sdk/root", - "version": "0.12.1", + "version": "0.12.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cirlces-sdk/root", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "workspaces": [ "packages/abi-v1", @@ -6531,7 +6531,7 @@ }, "packages/abi-v1": { "name": "@circles-sdk/abi-v1", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { "ethers": "^6.13.2" @@ -6542,7 +6542,7 @@ }, "packages/abi-v2": { "name": "@circles-sdk/abi-v2", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { "ethers": "^6.13.2" @@ -6553,7 +6553,7 @@ }, "packages/adapter": { "name": "@circles-sdk/adapter", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "devDependencies": { "typescript": "^5.3.3" @@ -6561,10 +6561,10 @@ }, "packages/adapter-cometh": { "name": "@circles-sdk/adapter-cometh", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { - "@circles-sdk/adapter": "0.12.1", + "@circles-sdk/adapter": "0.12.2", "@cometh/connect-sdk": "1.2.29" }, "devDependencies": { @@ -6573,10 +6573,10 @@ }, "packages/adapter-ethers": { "name": "@circles-sdk/adapter-ethers", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { - "@circles-sdk/adapter": "0.12.1", + "@circles-sdk/adapter": "0.12.2", "ethers": "^6.13.2" }, "devDependencies": { @@ -6585,7 +6585,7 @@ }, "packages/adapter-safe": { "name": "@circles-sdk/adapter-safe", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { "@circles-sdk/adapter": "^0.10.0", @@ -6598,10 +6598,10 @@ }, "packages/adapter-safe-app": { "name": "@circles-sdk/adapter-safe-app", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { - "@circles-sdk/adapter": "0.12.1", + "@circles-sdk/adapter": "0.12.2", "@safe-global/safe-apps-sdk": "^9.1.0" }, "devDependencies": { @@ -6614,10 +6614,10 @@ }, "packages/data": { "name": "@circles-sdk/data", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { - "@circles-sdk/utils": "0.12.1" + "@circles-sdk/utils": "0.12.2" }, "devDependencies": { "typescript": "^5.3.3" @@ -6625,10 +6625,10 @@ }, "packages/profiles": { "name": "@circles-sdk/profiles", - "version": "0.12.1", + "version": "0.12.2", "license": "ISC", "dependencies": { - "@circles-sdk/utils": "0.12.1" + "@circles-sdk/utils": "0.12.2" }, "devDependencies": { "typescript": "^5.3.3" @@ -6636,14 +6636,14 @@ }, "packages/sdk": { "name": "@circles-sdk/sdk", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { - "@circles-sdk/abi-v1": "0.12.1", - "@circles-sdk/abi-v2": "0.12.1", - "@circles-sdk/adapter-ethers": "0.12.1", - "@circles-sdk/data": "0.12.1", - "@circles-sdk/profiles": "0.12.1", + "@circles-sdk/abi-v1": "0.12.2", + "@circles-sdk/abi-v2": "0.12.2", + "@circles-sdk/adapter-ethers": "0.12.2", + "@circles-sdk/data": "0.12.2", + "@circles-sdk/profiles": "0.12.2", "ethers": "^6.13.2", "multihashes": "^4.0.3" }, @@ -6654,7 +6654,7 @@ }, "packages/utils": { "name": "@circles-sdk/utils", - "version": "0.12.1", + "version": "0.12.2", "license": "MIT", "dependencies": { "bignumber.js": "^9.1.2", diff --git a/package.json b/package.json index 3344963..d45cf9a 100644 --- a/package.json +++ b/package.json @@ -36,5 +36,5 @@ }, "name": "@cirlces-sdk/root", "license": "MIT", - "version": "0.12.1" + "version": "0.12.2" } diff --git a/packages/abi-v1/package.json b/packages/abi-v1/package.json index 9ad6a6f..d7f5855 100644 --- a/packages/abi-v1/package.json +++ b/packages/abi-v1/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/abi-v1", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", diff --git a/packages/abi-v2/package.json b/packages/abi-v2/package.json index 767c3f6..70b880c 100644 --- a/packages/abi-v2/package.json +++ b/packages/abi-v2/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/abi-v2", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", diff --git a/packages/adapter-cometh/package.json b/packages/adapter-cometh/package.json index 7912c48..4d782d0 100644 --- a/packages/adapter-cometh/package.json +++ b/packages/adapter-cometh/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/adapter-cometh", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -17,7 +17,7 @@ "build": "rollup -c" }, "dependencies": { - "@circles-sdk/adapter": "0.12.1", + "@circles-sdk/adapter": "0.12.2", "@cometh/connect-sdk": "1.2.29" }, "keywords": [], diff --git a/packages/adapter-ethers/package.json b/packages/adapter-ethers/package.json index e0ee031..7797f56 100644 --- a/packages/adapter-ethers/package.json +++ b/packages/adapter-ethers/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/adapter-ethers", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -18,7 +18,7 @@ }, "dependencies": { "ethers": "^6.13.2", - "@circles-sdk/adapter": "0.12.1" + "@circles-sdk/adapter": "0.12.2" }, "keywords": [], "author": "", diff --git a/packages/adapter-safe-app/package.json b/packages/adapter-safe-app/package.json index 3ead222..9a69846 100644 --- a/packages/adapter-safe-app/package.json +++ b/packages/adapter-safe-app/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/adapter-safe-app", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -17,7 +17,7 @@ "build": "rollup -c" }, "dependencies": { - "@circles-sdk/adapter": "0.12.1", + "@circles-sdk/adapter": "0.12.2", "@safe-global/safe-apps-sdk": "^9.1.0" }, "keywords": [], diff --git a/packages/adapter-safe/package.json b/packages/adapter-safe/package.json index e50ed31..f843942 100644 --- a/packages/adapter-safe/package.json +++ b/packages/adapter-safe/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/adapter-safe", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", diff --git a/packages/adapter/package.json b/packages/adapter/package.json index 52d5ac3..926e7e9 100644 --- a/packages/adapter/package.json +++ b/packages/adapter/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/adapter", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", diff --git a/packages/data/package.json b/packages/data/package.json index 9fa8800..86df12f 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/data", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -17,7 +17,7 @@ "build": "rollup -c" }, "dependencies": { - "@circles-sdk/utils": "0.12.1" + "@circles-sdk/utils": "0.12.2" }, "keywords": [], "author": "", diff --git a/packages/data/src/circlesData.ts b/packages/data/src/circlesData.ts index 97d93c0..8e05ef8 100644 --- a/packages/data/src/circlesData.ts +++ b/packages/data/src/circlesData.ts @@ -5,13 +5,13 @@ import {TokenBalanceRow} from './rows/tokenBalanceRow'; import {CirclesRpc} from './circlesRpc'; import {AvatarRow} from './rows/avatarRow'; import { - attoCirclesToStaticAttoCircles, + attoCirclesToCircles, + attoCirclesToStaticAttoCircles, circlesToAttoCircles, crcToTc, hexStringToUint8Array, staticAttoCirclesToAttoCircles, tcToCrc, uint8ArrayToCidV0 } from '@circles-sdk/utils'; -import {ethers} from 'ethers'; import {TrustRelation, TrustRelationRow} from './rows/trustRelationRow'; import {CirclesDataInterface, GroupQueryParams} from './circlesDataInterface'; import {Observable} from './observable'; @@ -44,14 +44,6 @@ export type TokenInfo = { isGroup: boolean }; -export function attoCirclesToCircles(weiBalance: bigint): number { - return parseFloat(ethers.formatEther(weiBalance.toString())); -} - -export function circlesToAttoCircles(circlesBalance: number): bigint { - return BigInt(ethers.parseEther(circlesBalance.toFixed(18)).toString()); -} - export const TokenTypes: Record = { "CrcV1_Signup": { isErc20: true, diff --git a/packages/data/src/index.ts b/packages/data/src/index.ts index 0e46827..5ed584f 100644 --- a/packages/data/src/index.ts +++ b/packages/data/src/index.ts @@ -1,5 +1,3 @@ -import {attoCirclesToCircles} from "./circlesData"; - export {PagedQueryResult} from './pagedQuery/pagedQueryResult'; export {Cursor} from './pagedQuery/cursor'; export {CirclesQuery} from './pagedQuery/circlesQuery'; @@ -52,6 +50,4 @@ export { } from './events/events'; export {TrustEvent} from "./circlesData"; export {TokenType} from './rows/tokenInfoRow'; -export {TrustRelation} from './rows/trustRelationRow'; -export {attoCirclesToCircles} from './circlesData'; -export {circlesToAttoCircles} from './circlesData'; \ No newline at end of file +export {TrustRelation} from './rows/trustRelationRow'; \ No newline at end of file diff --git a/packages/profiles/package.json b/packages/profiles/package.json index 77fa3be..99085b7 100644 --- a/packages/profiles/package.json +++ b/packages/profiles/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/profiles", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -17,7 +17,7 @@ "build": "rollup -c" }, "dependencies": { - "@circles-sdk/utils": "0.12.1" + "@circles-sdk/utils": "0.12.2" }, "keywords": [], "author": "", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 832a222..88176c7 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/sdk", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", @@ -17,11 +17,11 @@ "author": "", "license": "MIT", "dependencies": { - "@circles-sdk/abi-v1": "0.12.1", - "@circles-sdk/abi-v2": "0.12.1", - "@circles-sdk/data": "0.12.1", - "@circles-sdk/profiles": "0.12.1", - "@circles-sdk/adapter-ethers": "0.12.1", + "@circles-sdk/abi-v1": "0.12.2", + "@circles-sdk/abi-v2": "0.12.2", + "@circles-sdk/data": "0.12.2", + "@circles-sdk/profiles": "0.12.2", + "@circles-sdk/adapter-ethers": "0.12.2", "ethers": "^6.13.2", "multihashes": "^4.0.3" }, diff --git a/packages/sdk/src/v2/v2Avatar.ts b/packages/sdk/src/v2/v2Avatar.ts index bb3ea8f..c326480 100644 --- a/packages/sdk/src/v2/v2Avatar.ts +++ b/packages/sdk/src/v2/v2Avatar.ts @@ -8,14 +8,13 @@ import { } from 'ethers'; import {Sdk} from '../sdk'; import { - attoCirclesToCircles, AvatarRow, CirclesQuery, TokenBalanceRow, TransactionHistoryRow, TrustRelationRow } from '@circles-sdk/data'; -import {addressToUInt256, cidV0ToUint8Array} from '@circles-sdk/utils'; +import { addressToUInt256, attoCirclesToCircles, cidV0ToUint8Array } from '@circles-sdk/utils'; import {Pathfinder} from './pathfinderV2'; import {Profile} from "@circles-sdk/profiles"; import {TokenType} from "@circles-sdk/data/dist/rows/tokenInfoRow"; diff --git a/packages/utils/package.json b/packages/utils/package.json index fb9514e..1455949 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@circles-sdk/utils", - "version": "0.12.1", + "version": "0.12.2", "description": "", "type": "module", "main": "./dist/index.js", diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index e4bde61..d541507 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,7 +1,6 @@ import { BigNumber } from 'bignumber.js'; import { ethers, parseEther } from 'ethers'; import multihash from 'multihashes'; -import { attoCirclesToCircles, circlesToAttoCircles } from '@circles-sdk/data'; const CirclesInceptionTimestamp = new Date('2020-10-15T00:00:00.000Z').getTime(); const OneDayInMilliseconds = new BigNumber(86400).multipliedBy(1000); @@ -40,10 +39,7 @@ export function crcToTc(timestamp: Date, amount: bigint): number { const amountFloat = parseFloat(ethers.formatEther(amount ?? '0')); const ts = timestamp.getTime(); const payoutAtTimestamp = getCrcPayoutAt(ts); - const value = amountFloat / payoutAtTimestamp * 24; - - return value; - // return Math.floor(value * 100) / 100; + return amountFloat / payoutAtTimestamp * 24; } /** @@ -57,6 +53,44 @@ export function tcToCrc(timestamp: Date, amount: number): bigint { return parseEther((amount / 24 * payoutAtTimestamp).toString()); } +export function staticCirclesToCircles(value: number): number { + const lastUpdate = new Date(); + const lastUpdateDay = (lastUpdate.getTime() - CirclesInceptionTimestamp) / 86400000; + const f = Math.pow(Beta, lastUpdateDay); + return value / f; +} + +export function attoCirclesToCircles(weiBalance: bigint): number { + return parseFloat(ethers.formatEther(weiBalance.toString())); +} + +export function circlesToAttoCircles(circlesBalance: number): bigint { + return BigInt(ethers.parseEther(circlesBalance.toFixed(18)).toString()); +} + +export function staticCirclesToAttoCircles(value: number): bigint { + const circles = staticCirclesToCircles(value); + return circlesToAttoCircles(circles); +} + +export function staticAttoCirclesToAttoCircles(value: bigint): bigint { + const staticCircles = attoCirclesToCircles(value); + return staticCirclesToAttoCircles(staticCircles); +} + +export function circlesToStaticCircles(value: number): number { + const lastUpdate = new Date(); + const lastUpdateDay = (lastUpdate.getTime() - CirclesInceptionTimestamp) / 86400000; + const f = Math.pow(Beta, lastUpdateDay); + return value * f; +} + +export function attoCirclesToStaticAttoCircles(value: bigint): bigint { + const circles = attoCirclesToCircles(value); + const staticCircles = circlesToStaticCircles(circles); + return circlesToAttoCircles(staticCircles); +} + /** * Converts a CIDv0 string to a UInt8Array, stripping the hashing algorithm identifier. * @param {string} cidV0 - The CIDv0 string (e.g., Qm...). @@ -203,30 +237,4 @@ export function parseError(errorData: string): ethers.ErrorDescription | null { } catch (error) { throw new Error(`Error decoding the revert data: ${error}. Original error data: ${errorData}`); } -} - -export function staticCirclesToCircles(value: number): number { - const lastUpdate = new Date(); - const lastUpdateDay = (lastUpdate.getTime() - 1609459200000) / 86400000; - const f = Math.pow(Beta, lastUpdateDay); - return value / f; -} - -export function staticAttoCirclesToAttoCircles(value: bigint): bigint { - const staticCircles = attoCirclesToCircles(value); - const circles = staticCirclesToCircles(staticCircles); - return circlesToAttoCircles(circles); -} - -export function circlesToStaticCircles(value: number): number { - const lastUpdate = new Date(); - const lastUpdateDay = (lastUpdate.getTime() - 1609459200000) / 86400000; - const f = Math.pow(Beta, lastUpdateDay); - return value * f; -} - -export function attoCirclesToStaticAttoCircles(value: bigint): bigint { - const circles = attoCirclesToCircles(value); - const staticCircles = circlesToStaticCircles(circles); - return circlesToAttoCircles(staticCircles); } \ No newline at end of file