@superfluid-finance/sdk-core 0.4.5-dev.19b1d22.0 → 0.4.5-dev.73ba205.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -68055,7 +68055,7 @@ arguments[4][292][0].apply(exports,arguments)
68055
68055
  },{"dup":292}],336:[function(require,module,exports){
68056
68056
  "use strict";
68057
68057
  Object.defineProperty(exports, "__esModule", { value: true });
68058
- exports.getFlowOperatorId = exports.typeGuard = exports.isInjectedEthers = exports.isInjectedWeb3 = exports.isEthersProvider = exports.getBalance = exports.getSanitizedTimestamp = exports.getStringCurrentTimeInSeconds = exports.subscriptionTotalAmountClaimableSinceUpdatedAt = exports.subscriptionTotalAmountReceivedSinceUpdated = exports.subscriptionTotalAmountDistributedSinceUpdated = exports.flowedAmountSinceUpdatedAt = exports.getFlowAmountByPerSecondFlowRate = exports.getPerSecondFlowRateByDay = exports.getPerSecondFlowRateByWeek = exports.getPerSecondFlowRateByMonth = exports.getPerSecondFlowRateByYear = exports.getTransactionDescription = exports.removeSigHashFromCallData = exports.isNullOrEmpty = exports.isPermissionsClean = exports.normalizeAddress = void 0;
68058
+ exports.getFlowOperatorId = exports.typeGuard = exports.isInjectedEthers = exports.isInjectedWeb3 = exports.isEthersProvider = exports.calculateAvailableBalance = exports.getSanitizedTimestamp = exports.getStringCurrentTimeInSeconds = exports.subscriptionTotalAmountClaimableSinceUpdatedAt = exports.subscriptionTotalAmountReceivedSinceUpdated = exports.subscriptionTotalAmountDistributedSinceUpdated = exports.flowedAmountSinceUpdatedAt = exports.getFlowAmountByPerSecondFlowRate = exports.getPerSecondFlowRateByDay = exports.getPerSecondFlowRateByWeek = exports.getPerSecondFlowRateByMonth = exports.getPerSecondFlowRateByYear = exports.getTransactionDescription = exports.removeSigHashFromCallData = exports.toBN = exports.isNullOrEmpty = exports.isPermissionsClean = exports.normalizeAddress = void 0;
68059
68059
  const ethers_1 = require("ethers");
68060
68060
  const SFError_1 = require("./SFError");
68061
68061
  const constants_1 = require("./constants");
@@ -68089,6 +68089,10 @@ const isNullOrEmpty = (str) => {
68089
68089
  return str == null || str === "";
68090
68090
  };
68091
68091
  exports.isNullOrEmpty = isNullOrEmpty;
68092
+ function toBN(num) {
68093
+ return ethers_1.ethers.BigNumber.from(num);
68094
+ }
68095
+ exports.toBN = toBN;
68092
68096
  /**
68093
68097
  * Removes the 8-character signature hash from `callData`.
68094
68098
  * @param callData
@@ -68168,8 +68172,9 @@ exports.getFlowAmountByPerSecondFlowRate = getFlowAmountByPerSecondFlowRate;
68168
68172
  * @returns the flowed amount since the updatedAt timestamp
68169
68173
  */
68170
68174
  const flowedAmountSinceUpdatedAt = ({ netFlowRate, currentTimestamp, updatedAtTimestamp, }) => {
68171
- return ((Number(currentTimestamp) - Number(updatedAtTimestamp)) *
68172
- Number(netFlowRate));
68175
+ return toBN(currentTimestamp)
68176
+ .sub(toBN(updatedAtTimestamp))
68177
+ .mul(toBN(netFlowRate));
68173
68178
  };
68174
68179
  exports.flowedAmountSinceUpdatedAt = flowedAmountSinceUpdatedAt;
68175
68180
  /**
@@ -68178,9 +68183,9 @@ exports.flowedAmountSinceUpdatedAt = flowedAmountSinceUpdatedAt;
68178
68183
  * @returns the total amount received since updated at (both pending and actually distributed)
68179
68184
  */
68180
68185
  const subscriptionTotalAmountDistributedSinceUpdated = (indexSubscriptions) => {
68181
- return indexSubscriptions.reduce((x, y) => x +
68182
- (Number(y.index.indexValue) - Number(y.indexValueUntilUpdatedAt)) *
68183
- Number(y.units), 0);
68186
+ return indexSubscriptions.reduce((x, y) => toBN(x)
68187
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
68188
+ .mul(toBN(y.units)), toBN(0));
68184
68189
  };
68185
68190
  exports.subscriptionTotalAmountDistributedSinceUpdated = subscriptionTotalAmountDistributedSinceUpdated;
68186
68191
  /**
@@ -68191,10 +68196,9 @@ exports.subscriptionTotalAmountDistributedSinceUpdated = subscriptionTotalAmount
68191
68196
  const subscriptionTotalAmountReceivedSinceUpdated = (indexSubscriptions) => {
68192
68197
  return indexSubscriptions
68193
68198
  .filter((x) => x.approved)
68194
- .reduce((x, y) => x +
68195
- (Number(y.index.indexValue) -
68196
- Number(y.indexValueUntilUpdatedAt)) *
68197
- Number(y.units), 0);
68199
+ .reduce((x, y) => toBN(x)
68200
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
68201
+ .mul(toBN(y.units)), toBN(0));
68198
68202
  };
68199
68203
  exports.subscriptionTotalAmountReceivedSinceUpdated = subscriptionTotalAmountReceivedSinceUpdated;
68200
68204
  /**
@@ -68203,8 +68207,7 @@ exports.subscriptionTotalAmountReceivedSinceUpdated = subscriptionTotalAmountRec
68203
68207
  * @returns the total amount that can be claimed since updated at
68204
68208
  */
68205
68209
  const subscriptionTotalAmountClaimableSinceUpdatedAt = (indexSubscriptions) => {
68206
- return ((0, exports.subscriptionTotalAmountDistributedSinceUpdated)(indexSubscriptions) -
68207
- (0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
68210
+ return (0, exports.subscriptionTotalAmountDistributedSinceUpdated)(indexSubscriptions).sub((0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
68208
68211
  };
68209
68212
  exports.subscriptionTotalAmountClaimableSinceUpdatedAt = subscriptionTotalAmountClaimableSinceUpdatedAt;
68210
68213
  const getStringCurrentTimeInSeconds = () => Math.floor(new Date().getTime() / 1000);
@@ -68219,16 +68222,16 @@ exports.getSanitizedTimestamp = getSanitizedTimestamp;
68219
68222
  * @param updatedAtTimestamp the updated at timestamp of the `AccountTokenSnapshot` entity
68220
68223
  * @returns the balance since the updated at timestamp
68221
68224
  */
68222
- const getBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
68223
- return (Number(currentBalance) +
68224
- (0, exports.flowedAmountSinceUpdatedAt)({
68225
- netFlowRate,
68226
- currentTimestamp,
68227
- updatedAtTimestamp,
68228
- }) +
68229
- (0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
68225
+ const calculateAvailableBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
68226
+ return toBN(currentBalance)
68227
+ .add((0, exports.flowedAmountSinceUpdatedAt)({
68228
+ netFlowRate,
68229
+ currentTimestamp,
68230
+ updatedAtTimestamp,
68231
+ }))
68232
+ .add((0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
68230
68233
  };
68231
- exports.getBalance = getBalance;
68234
+ exports.calculateAvailableBalance = calculateAvailableBalance;
68232
68235
  // NOTE: This is the only places we are allowed to use explicit any in the
68233
68236
  // sdk-core otherwise this doesn't work properly.
68234
68237
  const isEthersProvider = (provider) => !!provider.getNetwork;
@@ -11,6 +11,7 @@ import { IIndexSubscription } from "./interfaces";
11
11
  export declare const normalizeAddress: (address?: string | undefined) => string;
12
12
  export declare const isPermissionsClean: (permissions: number) => boolean;
13
13
  export declare const isNullOrEmpty: (str: string | null | undefined) => boolean;
14
+ export declare function toBN(num: any): ethers.BigNumber;
14
15
  /**
15
16
  * Removes the 8-character signature hash from `callData`.
16
17
  * @param callData
@@ -71,25 +72,25 @@ export declare const flowedAmountSinceUpdatedAt: ({ netFlowRate, currentTimestam
71
72
  netFlowRate: string;
72
73
  currentTimestamp: string;
73
74
  updatedAtTimestamp: string;
74
- }) => number;
75
+ }) => ethers.BigNumber;
75
76
  /**
76
77
  * The formula for calculating the total amount distributed to the subscriber (pending or received).
77
78
  * @param indexSubscriptions the index subscriptions of a single token from an account.
78
79
  * @returns the total amount received since updated at (both pending and actually distributed)
79
80
  */
80
- export declare const subscriptionTotalAmountDistributedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => number;
81
+ export declare const subscriptionTotalAmountDistributedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
81
82
  /**
82
83
  * The formula for calculating the total amount received (approved subscriptions).
83
84
  * @param indexSubscriptions the index subscriptions of a single token from an account.
84
85
  * @returns the total amount received since updated at (actually distributed into wallet)
85
86
  */
86
- export declare const subscriptionTotalAmountReceivedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => number;
87
+ export declare const subscriptionTotalAmountReceivedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
87
88
  /**
88
89
  * The formula for calculating the total amount that is claimable.
89
90
  * @param indexSubscriptions the index subscriptions of a single token from an account.
90
91
  * @returns the total amount that can be claimed since updated at
91
92
  */
92
- export declare const subscriptionTotalAmountClaimableSinceUpdatedAt: (indexSubscriptions: IIndexSubscription[]) => number;
93
+ export declare const subscriptionTotalAmountClaimableSinceUpdatedAt: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
93
94
  export declare const getStringCurrentTimeInSeconds: () => number;
94
95
  export declare const getSanitizedTimestamp: (timestamp: ethers.BigNumberish) => Date;
95
96
  /**
@@ -100,13 +101,13 @@ export declare const getSanitizedTimestamp: (timestamp: ethers.BigNumberish) =>
100
101
  * @param updatedAtTimestamp the updated at timestamp of the `AccountTokenSnapshot` entity
101
102
  * @returns the balance since the updated at timestamp
102
103
  */
103
- export declare const getBalance: ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }: {
104
+ export declare const calculateAvailableBalance: ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }: {
104
105
  currentBalance: string;
105
106
  netFlowRate: string;
106
107
  currentTimestamp: string;
107
108
  updatedAtTimestamp: string;
108
109
  indexSubscriptions: IIndexSubscription[];
109
- }) => number;
110
+ }) => ethers.BigNumber;
110
111
  export declare const isEthersProvider: (provider: any) => provider is ethers.providers.Provider;
111
112
  export declare const isInjectedWeb3: (provider: any) => provider is Web3;
112
113
  export declare const isInjectedEthers: (provider: any) => provider is typeof ethers & HardhatEthersHelpers;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oCAAuB,MAWnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,KAAG,OAUxD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,GAAG,IAAI,GAAG,SAAS,YAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,aAAc,MAAM,WACtB,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAE5B,MAAM,GACN,SAAS,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,EAAE,QAC1D,MAAM,oEAMf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,mBAAoB,MAAM,WAIjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,WAI7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,sBAAuB,MAAM;;;;;CAQzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;iBAKtB,MAAM;sBACD,MAAM;wBACJ,MAAM;YAM7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,WAS3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,uBAChC,kBAAkB,EAAE,WAY3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,WAM3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,cACC,CAAC;AAE5C,eAAO,MAAM,qBAAqB,cAAe,OAAO,YAAY,SACnB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;oBAOH,MAAM;iBACT,MAAM;sBACD,MAAM;wBACJ,MAAM;wBACN,kBAAkB,EAAE;YAW3C,CAAC;AAIF,eAAO,MAAM,gBAAgB,aACf,GAAG,0CACgD,CAAC;AAElE,eAAO,MAAM,cAAc,aAAc,GAAG,qBACd,CAAC;AAE/B,eAAO,MAAM,gBAAgB,aACf,GAAG,qDACyD,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAqB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAY,MAAM,gBAAgB,MAAM,WAOrE,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oCAAuB,MAWnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,KAAG,OAUxD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,GAAG,IAAI,GAAG,SAAS,YAE3D,CAAC;AAEF,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,oBAE5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,aAAc,MAAM,WACtB,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAE5B,MAAM,GACN,SAAS,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,EAAE,QAC1D,MAAM,oEAMf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,mBAAoB,MAAM,WAIjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,WAI7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,sBAAuB,MAAM;;;;;CAQzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;iBAKtB,MAAM;sBACD,MAAM;wBACJ,MAAM;sBAK7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,qBAa3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,uBAChC,kBAAkB,EAAE,qBAe3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,qBAK3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,cACC,CAAC;AAE5C,eAAO,MAAM,qBAAqB,cAAe,OAAO,YAAY,SACnB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;oBAOlB,MAAM;iBACT,MAAM;sBACD,MAAM;wBACJ,MAAM;wBACN,kBAAkB,EAAE;sBAW3C,CAAC;AAIF,eAAO,MAAM,gBAAgB,aACf,GAAG,0CACgD,CAAC;AAElE,eAAO,MAAM,cAAc,aAAc,GAAG,qBACd,CAAC;AAE/B,eAAO,MAAM,gBAAgB,aACf,GAAG,qDACyD,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAqB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAY,MAAM,gBAAgB,MAAM,WAOrE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFlowOperatorId = exports.typeGuard = exports.isInjectedEthers = exports.isInjectedWeb3 = exports.isEthersProvider = exports.getBalance = exports.getSanitizedTimestamp = exports.getStringCurrentTimeInSeconds = exports.subscriptionTotalAmountClaimableSinceUpdatedAt = exports.subscriptionTotalAmountReceivedSinceUpdated = exports.subscriptionTotalAmountDistributedSinceUpdated = exports.flowedAmountSinceUpdatedAt = exports.getFlowAmountByPerSecondFlowRate = exports.getPerSecondFlowRateByDay = exports.getPerSecondFlowRateByWeek = exports.getPerSecondFlowRateByMonth = exports.getPerSecondFlowRateByYear = exports.getTransactionDescription = exports.removeSigHashFromCallData = exports.isNullOrEmpty = exports.isPermissionsClean = exports.normalizeAddress = void 0;
3
+ exports.getFlowOperatorId = exports.typeGuard = exports.isInjectedEthers = exports.isInjectedWeb3 = exports.isEthersProvider = exports.calculateAvailableBalance = exports.getSanitizedTimestamp = exports.getStringCurrentTimeInSeconds = exports.subscriptionTotalAmountClaimableSinceUpdatedAt = exports.subscriptionTotalAmountReceivedSinceUpdated = exports.subscriptionTotalAmountDistributedSinceUpdated = exports.flowedAmountSinceUpdatedAt = exports.getFlowAmountByPerSecondFlowRate = exports.getPerSecondFlowRateByDay = exports.getPerSecondFlowRateByWeek = exports.getPerSecondFlowRateByMonth = exports.getPerSecondFlowRateByYear = exports.getTransactionDescription = exports.removeSigHashFromCallData = exports.toBN = exports.isNullOrEmpty = exports.isPermissionsClean = exports.normalizeAddress = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const SFError_1 = require("./SFError");
6
6
  const constants_1 = require("./constants");
@@ -34,6 +34,10 @@ const isNullOrEmpty = (str) => {
34
34
  return str == null || str === "";
35
35
  };
36
36
  exports.isNullOrEmpty = isNullOrEmpty;
37
+ function toBN(num) {
38
+ return ethers_1.ethers.BigNumber.from(num);
39
+ }
40
+ exports.toBN = toBN;
37
41
  /**
38
42
  * Removes the 8-character signature hash from `callData`.
39
43
  * @param callData
@@ -113,8 +117,9 @@ exports.getFlowAmountByPerSecondFlowRate = getFlowAmountByPerSecondFlowRate;
113
117
  * @returns the flowed amount since the updatedAt timestamp
114
118
  */
115
119
  const flowedAmountSinceUpdatedAt = ({ netFlowRate, currentTimestamp, updatedAtTimestamp, }) => {
116
- return ((Number(currentTimestamp) - Number(updatedAtTimestamp)) *
117
- Number(netFlowRate));
120
+ return toBN(currentTimestamp)
121
+ .sub(toBN(updatedAtTimestamp))
122
+ .mul(toBN(netFlowRate));
118
123
  };
119
124
  exports.flowedAmountSinceUpdatedAt = flowedAmountSinceUpdatedAt;
120
125
  /**
@@ -123,9 +128,9 @@ exports.flowedAmountSinceUpdatedAt = flowedAmountSinceUpdatedAt;
123
128
  * @returns the total amount received since updated at (both pending and actually distributed)
124
129
  */
125
130
  const subscriptionTotalAmountDistributedSinceUpdated = (indexSubscriptions) => {
126
- return indexSubscriptions.reduce((x, y) => x +
127
- (Number(y.index.indexValue) - Number(y.indexValueUntilUpdatedAt)) *
128
- Number(y.units), 0);
131
+ return indexSubscriptions.reduce((x, y) => toBN(x)
132
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
133
+ .mul(toBN(y.units)), toBN(0));
129
134
  };
130
135
  exports.subscriptionTotalAmountDistributedSinceUpdated = subscriptionTotalAmountDistributedSinceUpdated;
131
136
  /**
@@ -136,10 +141,9 @@ exports.subscriptionTotalAmountDistributedSinceUpdated = subscriptionTotalAmount
136
141
  const subscriptionTotalAmountReceivedSinceUpdated = (indexSubscriptions) => {
137
142
  return indexSubscriptions
138
143
  .filter((x) => x.approved)
139
- .reduce((x, y) => x +
140
- (Number(y.index.indexValue) -
141
- Number(y.indexValueUntilUpdatedAt)) *
142
- Number(y.units), 0);
144
+ .reduce((x, y) => toBN(x)
145
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
146
+ .mul(toBN(y.units)), toBN(0));
143
147
  };
144
148
  exports.subscriptionTotalAmountReceivedSinceUpdated = subscriptionTotalAmountReceivedSinceUpdated;
145
149
  /**
@@ -148,8 +152,7 @@ exports.subscriptionTotalAmountReceivedSinceUpdated = subscriptionTotalAmountRec
148
152
  * @returns the total amount that can be claimed since updated at
149
153
  */
150
154
  const subscriptionTotalAmountClaimableSinceUpdatedAt = (indexSubscriptions) => {
151
- return ((0, exports.subscriptionTotalAmountDistributedSinceUpdated)(indexSubscriptions) -
152
- (0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
155
+ return (0, exports.subscriptionTotalAmountDistributedSinceUpdated)(indexSubscriptions).sub((0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
153
156
  };
154
157
  exports.subscriptionTotalAmountClaimableSinceUpdatedAt = subscriptionTotalAmountClaimableSinceUpdatedAt;
155
158
  const getStringCurrentTimeInSeconds = () => Math.floor(new Date().getTime() / 1000);
@@ -164,16 +167,16 @@ exports.getSanitizedTimestamp = getSanitizedTimestamp;
164
167
  * @param updatedAtTimestamp the updated at timestamp of the `AccountTokenSnapshot` entity
165
168
  * @returns the balance since the updated at timestamp
166
169
  */
167
- const getBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
168
- return (Number(currentBalance) +
169
- (0, exports.flowedAmountSinceUpdatedAt)({
170
- netFlowRate,
171
- currentTimestamp,
172
- updatedAtTimestamp,
173
- }) +
174
- (0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
170
+ const calculateAvailableBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
171
+ return toBN(currentBalance)
172
+ .add((0, exports.flowedAmountSinceUpdatedAt)({
173
+ netFlowRate,
174
+ currentTimestamp,
175
+ updatedAtTimestamp,
176
+ }))
177
+ .add((0, exports.subscriptionTotalAmountReceivedSinceUpdated)(indexSubscriptions));
175
178
  };
176
- exports.getBalance = getBalance;
179
+ exports.calculateAvailableBalance = calculateAvailableBalance;
177
180
  // NOTE: This is the only places we are allowed to use explicit any in the
178
181
  // sdk-core otherwise this doesn't work properly.
179
182
  const isEthersProvider = (provider) => !!provider.getNetwork;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { IIndexSubscription } from "./interfaces";
11
11
  export declare const normalizeAddress: (address?: string | undefined) => string;
12
12
  export declare const isPermissionsClean: (permissions: number) => boolean;
13
13
  export declare const isNullOrEmpty: (str: string | null | undefined) => boolean;
14
+ export declare function toBN(num: any): ethers.BigNumber;
14
15
  /**
15
16
  * Removes the 8-character signature hash from `callData`.
16
17
  * @param callData
@@ -71,25 +72,25 @@ export declare const flowedAmountSinceUpdatedAt: ({ netFlowRate, currentTimestam
71
72
  netFlowRate: string;
72
73
  currentTimestamp: string;
73
74
  updatedAtTimestamp: string;
74
- }) => number;
75
+ }) => ethers.BigNumber;
75
76
  /**
76
77
  * The formula for calculating the total amount distributed to the subscriber (pending or received).
77
78
  * @param indexSubscriptions the index subscriptions of a single token from an account.
78
79
  * @returns the total amount received since updated at (both pending and actually distributed)
79
80
  */
80
- export declare const subscriptionTotalAmountDistributedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => number;
81
+ export declare const subscriptionTotalAmountDistributedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
81
82
  /**
82
83
  * The formula for calculating the total amount received (approved subscriptions).
83
84
  * @param indexSubscriptions the index subscriptions of a single token from an account.
84
85
  * @returns the total amount received since updated at (actually distributed into wallet)
85
86
  */
86
- export declare const subscriptionTotalAmountReceivedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => number;
87
+ export declare const subscriptionTotalAmountReceivedSinceUpdated: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
87
88
  /**
88
89
  * The formula for calculating the total amount that is claimable.
89
90
  * @param indexSubscriptions the index subscriptions of a single token from an account.
90
91
  * @returns the total amount that can be claimed since updated at
91
92
  */
92
- export declare const subscriptionTotalAmountClaimableSinceUpdatedAt: (indexSubscriptions: IIndexSubscription[]) => number;
93
+ export declare const subscriptionTotalAmountClaimableSinceUpdatedAt: (indexSubscriptions: IIndexSubscription[]) => ethers.BigNumber;
93
94
  export declare const getStringCurrentTimeInSeconds: () => number;
94
95
  export declare const getSanitizedTimestamp: (timestamp: ethers.BigNumberish) => Date;
95
96
  /**
@@ -100,13 +101,13 @@ export declare const getSanitizedTimestamp: (timestamp: ethers.BigNumberish) =>
100
101
  * @param updatedAtTimestamp the updated at timestamp of the `AccountTokenSnapshot` entity
101
102
  * @returns the balance since the updated at timestamp
102
103
  */
103
- export declare const getBalance: ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }: {
104
+ export declare const calculateAvailableBalance: ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }: {
104
105
  currentBalance: string;
105
106
  netFlowRate: string;
106
107
  currentTimestamp: string;
107
108
  updatedAtTimestamp: string;
108
109
  indexSubscriptions: IIndexSubscription[];
109
- }) => number;
110
+ }) => ethers.BigNumber;
110
111
  export declare const isEthersProvider: (provider: any) => provider is ethers.providers.Provider;
111
112
  export declare const isInjectedWeb3: (provider: any) => provider is Web3;
112
113
  export declare const isInjectedEthers: (provider: any) => provider is typeof ethers & HardhatEthersHelpers;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oCAAuB,MAWnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,KAAG,OAUxD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,GAAG,IAAI,GAAG,SAAS,YAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,aAAc,MAAM,WACtB,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAE5B,MAAM,GACN,SAAS,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,EAAE,QAC1D,MAAM,oEAMf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,mBAAoB,MAAM,WAIjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,WAI7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,sBAAuB,MAAM;;;;;CAQzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;iBAKtB,MAAM;sBACD,MAAM;wBACJ,MAAM;YAM7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,WAS3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,uBAChC,kBAAkB,EAAE,WAY3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,WAM3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,cACC,CAAC;AAE5C,eAAO,MAAM,qBAAqB,cAAe,OAAO,YAAY,SACnB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;oBAOH,MAAM;iBACT,MAAM;sBACD,MAAM;wBACJ,MAAM;wBACN,kBAAkB,EAAE;YAW3C,CAAC;AAIF,eAAO,MAAM,gBAAgB,aACf,GAAG,0CACgD,CAAC;AAElE,eAAO,MAAM,cAAc,aAAc,GAAG,qBACd,CAAC;AAE/B,eAAO,MAAM,gBAAgB,aACf,GAAG,qDACyD,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAqB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAY,MAAM,gBAAgB,MAAM,WAOrE,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oCAAuB,MAWnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,KAAG,OAUxD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,GAAG,IAAI,GAAG,SAAS,YAE3D,CAAC;AAEF,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,oBAE5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,aAAc,MAAM,WACtB,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAE5B,MAAM,GACN,SAAS,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,EAAE,QAC1D,MAAM,oEAMf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,mBAAoB,MAAM,WAIjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,WAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,WAI7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,sBAAuB,MAAM;;;;;CAQzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;iBAKtB,MAAM;sBACD,MAAM;wBACJ,MAAM;sBAK7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,qBAa3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,uBAChC,kBAAkB,EAAE,qBAe3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,uBACnC,kBAAkB,EAAE,qBAK3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,cACC,CAAC;AAE5C,eAAO,MAAM,qBAAqB,cAAe,OAAO,YAAY,SACnB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;oBAOlB,MAAM;iBACT,MAAM;sBACD,MAAM;wBACJ,MAAM;wBACN,kBAAkB,EAAE;sBAW3C,CAAC;AAIF,eAAO,MAAM,gBAAgB,aACf,GAAG,0CACgD,CAAC;AAElE,eAAO,MAAM,cAAc,aAAc,GAAG,qBACd,CAAC;AAE/B,eAAO,MAAM,gBAAgB,aACf,GAAG,qDACyD,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAqB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAY,MAAM,gBAAgB,MAAM,WAOrE,CAAC"}
@@ -28,6 +28,9 @@ export const isPermissionsClean = (permissions) => {
28
28
  export const isNullOrEmpty = (str) => {
29
29
  return str == null || str === "";
30
30
  };
31
+ export function toBN(num) {
32
+ return ethers.BigNumber.from(num);
33
+ }
31
34
  /**
32
35
  * Removes the 8-character signature hash from `callData`.
33
36
  * @param callData
@@ -100,8 +103,9 @@ export const getFlowAmountByPerSecondFlowRate = (perSecondFlowRate) => {
100
103
  * @returns the flowed amount since the updatedAt timestamp
101
104
  */
102
105
  export const flowedAmountSinceUpdatedAt = ({ netFlowRate, currentTimestamp, updatedAtTimestamp, }) => {
103
- return ((Number(currentTimestamp) - Number(updatedAtTimestamp)) *
104
- Number(netFlowRate));
106
+ return toBN(currentTimestamp)
107
+ .sub(toBN(updatedAtTimestamp))
108
+ .mul(toBN(netFlowRate));
105
109
  };
106
110
  /**
107
111
  * The formula for calculating the total amount distributed to the subscriber (pending or received).
@@ -109,9 +113,9 @@ export const flowedAmountSinceUpdatedAt = ({ netFlowRate, currentTimestamp, upda
109
113
  * @returns the total amount received since updated at (both pending and actually distributed)
110
114
  */
111
115
  export const subscriptionTotalAmountDistributedSinceUpdated = (indexSubscriptions) => {
112
- return indexSubscriptions.reduce((x, y) => x +
113
- (Number(y.index.indexValue) - Number(y.indexValueUntilUpdatedAt)) *
114
- Number(y.units), 0);
116
+ return indexSubscriptions.reduce((x, y) => toBN(x)
117
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
118
+ .mul(toBN(y.units)), toBN(0));
115
119
  };
116
120
  /**
117
121
  * The formula for calculating the total amount received (approved subscriptions).
@@ -121,10 +125,9 @@ export const subscriptionTotalAmountDistributedSinceUpdated = (indexSubscription
121
125
  export const subscriptionTotalAmountReceivedSinceUpdated = (indexSubscriptions) => {
122
126
  return indexSubscriptions
123
127
  .filter((x) => x.approved)
124
- .reduce((x, y) => x +
125
- (Number(y.index.indexValue) -
126
- Number(y.indexValueUntilUpdatedAt)) *
127
- Number(y.units), 0);
128
+ .reduce((x, y) => toBN(x)
129
+ .add(toBN(y.index.indexValue).sub(toBN(y.indexValueUntilUpdatedAt)))
130
+ .mul(toBN(y.units)), toBN(0));
128
131
  };
129
132
  /**
130
133
  * The formula for calculating the total amount that is claimable.
@@ -132,8 +135,7 @@ export const subscriptionTotalAmountReceivedSinceUpdated = (indexSubscriptions)
132
135
  * @returns the total amount that can be claimed since updated at
133
136
  */
134
137
  export const subscriptionTotalAmountClaimableSinceUpdatedAt = (indexSubscriptions) => {
135
- return (subscriptionTotalAmountDistributedSinceUpdated(indexSubscriptions) -
136
- subscriptionTotalAmountReceivedSinceUpdated(indexSubscriptions));
138
+ return subscriptionTotalAmountDistributedSinceUpdated(indexSubscriptions).sub(subscriptionTotalAmountReceivedSinceUpdated(indexSubscriptions));
137
139
  };
138
140
  export const getStringCurrentTimeInSeconds = () => Math.floor(new Date().getTime() / 1000);
139
141
  export const getSanitizedTimestamp = (timestamp) => new Date(Number(timestamp.toString()) * 1000);
@@ -145,14 +147,14 @@ export const getSanitizedTimestamp = (timestamp) => new Date(Number(timestamp.to
145
147
  * @param updatedAtTimestamp the updated at timestamp of the `AccountTokenSnapshot` entity
146
148
  * @returns the balance since the updated at timestamp
147
149
  */
148
- export const getBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
149
- return (Number(currentBalance) +
150
- flowedAmountSinceUpdatedAt({
151
- netFlowRate,
152
- currentTimestamp,
153
- updatedAtTimestamp,
154
- }) +
155
- subscriptionTotalAmountReceivedSinceUpdated(indexSubscriptions));
150
+ export const calculateAvailableBalance = ({ currentBalance, netFlowRate, currentTimestamp, updatedAtTimestamp, indexSubscriptions, }) => {
151
+ return toBN(currentBalance)
152
+ .add(flowedAmountSinceUpdatedAt({
153
+ netFlowRate,
154
+ currentTimestamp,
155
+ updatedAtTimestamp,
156
+ }))
157
+ .add(subscriptionTotalAmountReceivedSinceUpdated(indexSubscriptions));
156
158
  };
157
159
  // NOTE: This is the only places we are allowed to use explicit any in the
158
160
  // sdk-core otherwise this doesn't work properly.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superfluid-finance/sdk-core",
3
- "version": "0.4.5-dev.19b1d22.0",
3
+ "version": "0.4.5-dev.73ba205.0",
4
4
  "description": "SDK Core for building with Superfluid Protocol",
5
5
  "homepage": "https://github.com/superfluid-finance/protocol-monorepo/tree/dev/packages/sdk-core#readme",
6
6
  "repository": {