@centrifuge/sdk 0.0.0-alpha.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/LICENSE +165 -0
- package/README.md +149 -0
- package/dist/Account.d.ts +11 -0
- package/dist/Account.d.ts.map +1 -0
- package/dist/Account.js +46 -0
- package/dist/Account.js.map +1 -0
- package/dist/Centrifuge.d.ts +7117 -0
- package/dist/Centrifuge.d.ts.map +1 -0
- package/dist/Centrifuge.js +464 -0
- package/dist/Centrifuge.js.map +1 -0
- package/dist/Entity.d.ts +12 -0
- package/dist/Entity.d.ts.map +1 -0
- package/dist/Entity.js +16 -0
- package/dist/Entity.js.map +1 -0
- package/dist/Pool.d.ts +27 -0
- package/dist/Pool.d.ts.map +1 -0
- package/dist/Pool.js +73 -0
- package/dist/Pool.js.map +1 -0
- package/dist/PoolNetwork.d.ts +82 -0
- package/dist/PoolNetwork.d.ts.map +1 -0
- package/dist/PoolNetwork.js +235 -0
- package/dist/PoolNetwork.js.map +1 -0
- package/dist/Reports/Processor.d.ts +38 -0
- package/dist/Reports/Processor.d.ts.map +1 -0
- package/dist/Reports/Processor.js +167 -0
- package/dist/Reports/Processor.js.map +1 -0
- package/dist/Reports/index.d.ts +24 -0
- package/dist/Reports/index.d.ts.map +1 -0
- package/dist/Reports/index.js +68 -0
- package/dist/Reports/index.js.map +1 -0
- package/dist/Reports/types.d.ts +102 -0
- package/dist/Reports/types.d.ts.map +1 -0
- package/dist/Reports/types.js +2 -0
- package/dist/Reports/types.js.map +1 -0
- package/dist/Vault.d.ts +96 -0
- package/dist/Vault.d.ts.map +1 -0
- package/dist/Vault.js +330 -0
- package/dist/Vault.js.map +1 -0
- package/dist/abi/CentrifugeRouter.abi.json +43 -0
- package/dist/abi/Currency.abi.json +14 -0
- package/dist/abi/Gateway.abi.json +1 -0
- package/dist/abi/InvestmentManager.abi.json +4 -0
- package/dist/abi/LiquidityPool.abi.json +79 -0
- package/dist/abi/PoolManager.abi.json +55 -0
- package/dist/abi/RestrictionManager.abi.json +22 -0
- package/dist/abi/Router.abi.json +1 -0
- package/dist/abi/index.d.ts +11 -0
- package/dist/abi/index.d.ts.map +1 -0
- package/dist/abi/index.js +20 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/config/chains.d.ts +1575 -0
- package/dist/config/chains.d.ts.map +1 -0
- package/dist/config/chains.js +3 -0
- package/dist/config/chains.js.map +1 -0
- package/dist/config/lp.d.ts +17 -0
- package/dist/config/lp.d.ts.map +1 -0
- package/dist/config/lp.js +35 -0
- package/dist/config/lp.js.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +3 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/queries/poolFeeSnapshots.d.ts +48 -0
- package/dist/queries/poolFeeSnapshots.d.ts.map +1 -0
- package/dist/queries/poolFeeSnapshots.js +62 -0
- package/dist/queries/poolFeeSnapshots.js.map +1 -0
- package/dist/queries/poolSnapshots.d.ts +73 -0
- package/dist/queries/poolSnapshots.d.ts.map +1 -0
- package/dist/queries/poolSnapshots.js +106 -0
- package/dist/queries/poolSnapshots.js.map +1 -0
- package/dist/queries/trancheSnapshots.d.ts +70 -0
- package/dist/queries/trancheSnapshots.d.ts.map +1 -0
- package/dist/queries/trancheSnapshots.js +76 -0
- package/dist/queries/trancheSnapshots.js.map +1 -0
- package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +3 -0
- package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -0
- package/dist/tests/mocks/mockPoolFeeSnapshot.js +68 -0
- package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -0
- package/dist/tests/mocks/mockPoolMetadata.d.ts +3 -0
- package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -0
- package/dist/tests/mocks/mockPoolMetadata.js +118 -0
- package/dist/tests/mocks/mockPoolMetadata.js.map +1 -0
- package/dist/tests/mocks/mockPoolSnapshots.d.ts +3 -0
- package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -0
- package/dist/tests/mocks/mockPoolSnapshots.js +64 -0
- package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -0
- package/dist/tests/mocks/mockTrancheSnapshots.d.ts +3 -0
- package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -0
- package/dist/tests/mocks/mockTrancheSnapshots.js +112 -0
- package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -0
- package/dist/tests/setup.d.ts +16 -0
- package/dist/tests/setup.d.ts.map +1 -0
- package/dist/tests/setup.js +41 -0
- package/dist/tests/setup.js.map +1 -0
- package/dist/tests/tenderly.d.ts +76 -0
- package/dist/tests/tenderly.d.ts.map +1 -0
- package/dist/tests/tenderly.js +219 -0
- package/dist/tests/tenderly.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/poolMetadata.d.ts +92 -0
- package/dist/types/poolMetadata.d.ts.map +1 -0
- package/dist/types/poolMetadata.js +2 -0
- package/dist/types/poolMetadata.js.map +1 -0
- package/dist/types/query.d.ts +11 -0
- package/dist/types/query.d.ts.map +1 -0
- package/dist/types/query.js +2 -0
- package/dist/types/query.js.map +1 -0
- package/dist/types/transaction.d.ts +47 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist/types/transaction.js +2 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/utils/BigInt.d.ts +80 -0
- package/dist/utils/BigInt.d.ts.map +1 -0
- package/dist/utils/BigInt.js +215 -0
- package/dist/utils/BigInt.js.map +1 -0
- package/dist/utils/date.d.ts +17 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +36 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/decimal.d.ts +6 -0
- package/dist/utils/decimal.d.ts.map +1 -0
- package/dist/utils/decimal.js +13 -0
- package/dist/utils/decimal.js.map +1 -0
- package/dist/utils/pinToApi.d.ts +2 -0
- package/dist/utils/pinToApi.d.ts.map +1 -0
- package/dist/utils/pinToApi.js +10 -0
- package/dist/utils/pinToApi.js.map +1 -0
- package/dist/utils/query.d.ts +2 -0
- package/dist/utils/query.d.ts.map +1 -0
- package/dist/utils/query.js +37 -0
- package/dist/utils/query.js.map +1 -0
- package/dist/utils/rx.d.ts +19 -0
- package/dist/utils/rx.d.ts.map +1 -0
- package/dist/utils/rx.js +45 -0
- package/dist/utils/rx.js.map +1 -0
- package/dist/utils/transaction.d.ts +14 -0
- package/dist/utils/transaction.d.ts.map +1 -0
- package/dist/utils/transaction.js +33 -0
- package/dist/utils/transaction.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { Dec, Decimal } from './decimal.js';
|
|
2
|
+
export class BigIntWrapper {
|
|
3
|
+
value;
|
|
4
|
+
constructor(value) {
|
|
5
|
+
if (typeof value === 'bigint') {
|
|
6
|
+
this.value = value;
|
|
7
|
+
}
|
|
8
|
+
else if (value instanceof Decimal) {
|
|
9
|
+
this.value = BigInt(value.toFixed(0));
|
|
10
|
+
}
|
|
11
|
+
else if (typeof value === 'number') {
|
|
12
|
+
this.value = BigInt(Math.floor(value));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.value = BigInt(String(value).split('.')[0] || '0');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
toString() {
|
|
19
|
+
return this.value.toString();
|
|
20
|
+
}
|
|
21
|
+
toBigInt() {
|
|
22
|
+
return this.value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class DecimalWrapper extends BigIntWrapper {
|
|
26
|
+
decimals;
|
|
27
|
+
constructor(value, decimals) {
|
|
28
|
+
super(value);
|
|
29
|
+
this.decimals = decimals;
|
|
30
|
+
}
|
|
31
|
+
static _fromFloat(num, decimals) {
|
|
32
|
+
const n = Dec(num.toString()).mul(Dec(10).pow(decimals));
|
|
33
|
+
if (Dec(n).gt(0) && Dec(n).lt(1)) {
|
|
34
|
+
throw new Error(`${num} is too small to be represented with ${decimals} decimals`);
|
|
35
|
+
}
|
|
36
|
+
return new this(n.toDecimalPlaces(0), decimals);
|
|
37
|
+
}
|
|
38
|
+
toDecimal() {
|
|
39
|
+
return Dec(this.value.toString()).div(Dec(10).pow(this.decimals));
|
|
40
|
+
}
|
|
41
|
+
toFloat() {
|
|
42
|
+
return this.toDecimal().toNumber();
|
|
43
|
+
}
|
|
44
|
+
_add(value) {
|
|
45
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
46
|
+
return new this.constructor(this.value + val, this.decimals);
|
|
47
|
+
}
|
|
48
|
+
_sub(value) {
|
|
49
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
50
|
+
return this._add(-val);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* a._mul(b) will preserve the decimals of a
|
|
54
|
+
* @example
|
|
55
|
+
* Currency.fromFloat(1, 6).mul(Price.fromFloat(1.01))
|
|
56
|
+
* // Price has 18 decimals
|
|
57
|
+
* // returns Currency with 6 decimals (1_010_000n or 1.01)
|
|
58
|
+
*/
|
|
59
|
+
_mul(value) {
|
|
60
|
+
let val;
|
|
61
|
+
if (typeof value === 'bigint') {
|
|
62
|
+
val = Dec(value.toString());
|
|
63
|
+
}
|
|
64
|
+
else if (value instanceof Decimal) {
|
|
65
|
+
val = value;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
val = value.toDecimal().mul(Dec(10).pow(this.decimals));
|
|
69
|
+
}
|
|
70
|
+
return new this.constructor(this.toDecimal().mul(val), this.decimals);
|
|
71
|
+
}
|
|
72
|
+
_div(value) {
|
|
73
|
+
if (!value) {
|
|
74
|
+
throw new Error(`Division by zero`);
|
|
75
|
+
}
|
|
76
|
+
if (typeof value === 'bigint') {
|
|
77
|
+
return new this.constructor(this.value / value, this.decimals);
|
|
78
|
+
}
|
|
79
|
+
return new this.constructor(this.value / value.toBigInt(), this.decimals);
|
|
80
|
+
}
|
|
81
|
+
lt(value) {
|
|
82
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
83
|
+
return this.value < val;
|
|
84
|
+
}
|
|
85
|
+
lte(value) {
|
|
86
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
87
|
+
return this.value <= val;
|
|
88
|
+
}
|
|
89
|
+
gt(value) {
|
|
90
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
91
|
+
return this.value > val;
|
|
92
|
+
}
|
|
93
|
+
gte(value) {
|
|
94
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
95
|
+
return this.value >= val;
|
|
96
|
+
}
|
|
97
|
+
eq(value) {
|
|
98
|
+
const val = typeof value === 'bigint' ? value : value.toBigInt();
|
|
99
|
+
return this.value === val;
|
|
100
|
+
}
|
|
101
|
+
isZero() {
|
|
102
|
+
return this.value === 0n;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export class Currency extends DecimalWrapper {
|
|
106
|
+
static fromFloat(num, decimals) {
|
|
107
|
+
return Currency._fromFloat(num, decimals);
|
|
108
|
+
}
|
|
109
|
+
static ZERO = new Currency(0n, 0);
|
|
110
|
+
add(value) {
|
|
111
|
+
return this._add(value);
|
|
112
|
+
}
|
|
113
|
+
sub(value) {
|
|
114
|
+
return this._sub(value);
|
|
115
|
+
}
|
|
116
|
+
mul(value) {
|
|
117
|
+
return this._mul(value);
|
|
118
|
+
}
|
|
119
|
+
div(value) {
|
|
120
|
+
return this._div(value);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export class Token extends Currency {
|
|
124
|
+
static fromFloat(number, decimals) {
|
|
125
|
+
const n = Dec(number.toString()).mul(Dec(10).pow(decimals)).toDecimalPlaces(0).toString();
|
|
126
|
+
return new Token(n, decimals);
|
|
127
|
+
}
|
|
128
|
+
static ZERO = new Token(0n, 0);
|
|
129
|
+
add(value) {
|
|
130
|
+
return this._add(value);
|
|
131
|
+
}
|
|
132
|
+
sub(value) {
|
|
133
|
+
return this._sub(value);
|
|
134
|
+
}
|
|
135
|
+
mul(value) {
|
|
136
|
+
return this._mul(value);
|
|
137
|
+
}
|
|
138
|
+
div(value) {
|
|
139
|
+
return this._div(value);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const secondsPerYear = Dec(60 * 60 * 24 * 365);
|
|
143
|
+
/**
|
|
144
|
+
* @deprecated
|
|
145
|
+
*/
|
|
146
|
+
export class Rate extends DecimalWrapper {
|
|
147
|
+
static decimals = 27;
|
|
148
|
+
static fromFloat(number) {
|
|
149
|
+
return Rate._fromFloat(number, this.decimals);
|
|
150
|
+
}
|
|
151
|
+
static fromPercent(number) {
|
|
152
|
+
return Rate.fromFloat(Dec(number.toString()).div(100));
|
|
153
|
+
}
|
|
154
|
+
static fromApr(apr) {
|
|
155
|
+
const i = Dec(apr.toString());
|
|
156
|
+
const rate = i.div(secondsPerYear).plus(1);
|
|
157
|
+
return Rate.fromFloat(rate);
|
|
158
|
+
}
|
|
159
|
+
static fromAprPercent(apr) {
|
|
160
|
+
return this.fromApr(Dec(apr.toString()).div(100));
|
|
161
|
+
}
|
|
162
|
+
toPercent() {
|
|
163
|
+
return this.toDecimal().mul(100);
|
|
164
|
+
}
|
|
165
|
+
toApr() {
|
|
166
|
+
const rate = this.toDecimal();
|
|
167
|
+
if (rate.isZero()) {
|
|
168
|
+
return rate;
|
|
169
|
+
}
|
|
170
|
+
return rate.minus(1).times(secondsPerYear);
|
|
171
|
+
}
|
|
172
|
+
toAprPercent() {
|
|
173
|
+
return this.toApr().mul(100);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
export class Price extends DecimalWrapper {
|
|
177
|
+
static decimals = 18;
|
|
178
|
+
constructor(value) {
|
|
179
|
+
super(value, 18);
|
|
180
|
+
}
|
|
181
|
+
static fromFloat(number) {
|
|
182
|
+
return Price._fromFloat(number, this.decimals);
|
|
183
|
+
}
|
|
184
|
+
add(value) {
|
|
185
|
+
return this._add(value);
|
|
186
|
+
}
|
|
187
|
+
sub(value) {
|
|
188
|
+
return this._sub(value);
|
|
189
|
+
}
|
|
190
|
+
mul(value) {
|
|
191
|
+
return this._mul(value);
|
|
192
|
+
}
|
|
193
|
+
div(value) {
|
|
194
|
+
return this._div(value);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* @deprecated
|
|
199
|
+
*/
|
|
200
|
+
export class Perquintill extends DecimalWrapper {
|
|
201
|
+
static decimals = 18;
|
|
202
|
+
constructor(value) {
|
|
203
|
+
super(value, 18);
|
|
204
|
+
}
|
|
205
|
+
static fromFloat(number) {
|
|
206
|
+
return Perquintill._fromFloat(number, this.decimals);
|
|
207
|
+
}
|
|
208
|
+
static fromPercent(number) {
|
|
209
|
+
return Perquintill.fromFloat(Dec(number).div(100));
|
|
210
|
+
}
|
|
211
|
+
toPercent() {
|
|
212
|
+
return this.toDecimal().mul(100);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=BigInt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BigInt.js","sourceRoot":"","sources":["../../src/utils/BigInt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function getDateYearsFromNow(years: number): Date;
|
|
2
|
+
export type GroupBy = 'day' | 'month' | 'quarter' | 'year';
|
|
3
|
+
export declare function getPeriod(date: Date, groupBy: GroupBy): string | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Group data by period and return the latest item or all items in the period
|
|
6
|
+
* @param data - Data to group
|
|
7
|
+
* @param groupBy - Period to group by
|
|
8
|
+
* @param strategy - 'latest' returns the latest item in the period, 'all' returns all items in the period
|
|
9
|
+
* @returns Grouped data
|
|
10
|
+
*/
|
|
11
|
+
export declare function groupByPeriod<T extends {
|
|
12
|
+
timestamp: string;
|
|
13
|
+
}>(data: T[], groupBy: GroupBy, strategy: 'all'): T[][];
|
|
14
|
+
export declare function groupByPeriod<T extends {
|
|
15
|
+
timestamp: string;
|
|
16
|
+
}>(data: T[], groupBy: GroupBy, strategy?: 'latest'): T[];
|
|
17
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,QAEhD;AAED,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAC1D,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAc1E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAA;AACnH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function getDateYearsFromNow(years) {
|
|
2
|
+
return new Date(new Date().setFullYear(new Date().getFullYear() + years));
|
|
3
|
+
}
|
|
4
|
+
export function getPeriod(date, groupBy) {
|
|
5
|
+
switch (groupBy) {
|
|
6
|
+
case 'day':
|
|
7
|
+
return date.toISOString().slice(0, 10);
|
|
8
|
+
case 'month':
|
|
9
|
+
return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}`;
|
|
10
|
+
case 'quarter':
|
|
11
|
+
const quarter = Math.floor(date.getMonth() / 3) + 1;
|
|
12
|
+
return `${date.getFullYear()}-Q${quarter}`;
|
|
13
|
+
case 'year':
|
|
14
|
+
return date.getFullYear().toString();
|
|
15
|
+
default:
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function groupByPeriod(data, groupBy, strategy = 'latest') {
|
|
20
|
+
const grouped = new Map();
|
|
21
|
+
data.forEach((item) => {
|
|
22
|
+
const period = getPeriod(new Date(item.timestamp), groupBy);
|
|
23
|
+
if (!period)
|
|
24
|
+
return;
|
|
25
|
+
if (!grouped.has(period)) {
|
|
26
|
+
grouped.set(period, []);
|
|
27
|
+
}
|
|
28
|
+
grouped.get(period).push(item);
|
|
29
|
+
// Sort by timestamp within each group
|
|
30
|
+
grouped.get(period).sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
|
|
31
|
+
});
|
|
32
|
+
return strategy === 'latest'
|
|
33
|
+
? Array.from(grouped.values()).map((group) => group[group.length - 1])
|
|
34
|
+
: Array.from(grouped.values());
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;AAC3E,CAAC;AAGD,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,OAAgB;IACpD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACxC,KAAK,OAAO;YACV,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;QAChF,KAAK,SAAS;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACnD,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAA;QAC5C,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QACtC;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAWD,MAAM,UAAU,aAAa,CAC3B,IAAS,EACT,OAAgB,EAChB,WAA6B,QAAQ;IAErC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAA;IAEtC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACxG,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAM,CAAC;QAC3E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import DecimalLight, { type Numeric } from 'decimal.js-light';
|
|
2
|
+
declare const Decimal: typeof DecimalLight.Decimal;
|
|
3
|
+
export declare function Dec(value: Numeric): DecimalLight.Decimal;
|
|
4
|
+
export type { Numeric };
|
|
5
|
+
export { Decimal };
|
|
6
|
+
//# sourceMappingURL=decimal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../src/utils/decimal.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE7D,QAAA,MAAM,OAAO,6BAAuC,CAAA;AASpD,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,wBAEjC;AAED,YAAY,EAAE,OAAO,EAAE,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import DecimalLight from 'decimal.js-light';
|
|
2
|
+
const Decimal = DecimalLight.default || DecimalLight;
|
|
3
|
+
Decimal.set({
|
|
4
|
+
precision: 30,
|
|
5
|
+
toExpNeg: -7,
|
|
6
|
+
toExpPos: 29,
|
|
7
|
+
rounding: Decimal.ROUND_HALF_CEIL,
|
|
8
|
+
});
|
|
9
|
+
export function Dec(value) {
|
|
10
|
+
return new Decimal(value);
|
|
11
|
+
}
|
|
12
|
+
export { Decimal };
|
|
13
|
+
//# sourceMappingURL=decimal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../../src/utils/decimal.ts"],"names":[],"mappings":"AAAA,OAAO,YAA8B,MAAM,kBAAkB,CAAA;AAE7D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,YAAY,CAAA;AAEpD,OAAO,CAAC,GAAG,CAAC;IACV,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC;IACZ,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO,CAAC,eAAe;CAClC,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,CAAC,KAAc;IAChC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinToApi.d.ts","sourceRoot":"","sources":["../../src/utils/pinToApi.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,gBAQ9E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export async function pinToApi(path, url, reqInit) {
|
|
2
|
+
const res = await fetch(`${new URL(url).toString()}/${path}`, reqInit);
|
|
3
|
+
if (!res.ok) {
|
|
4
|
+
const resText = await res.text();
|
|
5
|
+
throw new Error(`Error pinning: ${resText}`);
|
|
6
|
+
}
|
|
7
|
+
const json = await res.json();
|
|
8
|
+
return json;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pinToApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinToApi.js","sourceRoot":"","sources":["../../src/utils/pinToApi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,OAAqB;IAC7E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/utils/query.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAY1C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function hashKey(key) {
|
|
2
|
+
return JSON.stringify(key, (_, val) => isPlainObject(val)
|
|
3
|
+
? // Order the keys in the object alphabetically
|
|
4
|
+
Object.keys(val)
|
|
5
|
+
.sort()
|
|
6
|
+
.reduce((result, key) => {
|
|
7
|
+
result[key] = val[key];
|
|
8
|
+
return result;
|
|
9
|
+
}, {})
|
|
10
|
+
: jsonFormatter(val));
|
|
11
|
+
}
|
|
12
|
+
function jsonFormatter(nestedValue) {
|
|
13
|
+
return typeof nestedValue === 'bigint' ? nestedValue.toString() : nestedValue;
|
|
14
|
+
}
|
|
15
|
+
function isObject(o) {
|
|
16
|
+
return Object.prototype.toString.call(o) === '[object Object]';
|
|
17
|
+
}
|
|
18
|
+
// Copied from: https://github.com/jonschlinkert/is-plain-object
|
|
19
|
+
function isPlainObject(o) {
|
|
20
|
+
if (isObject(o) === false)
|
|
21
|
+
return false;
|
|
22
|
+
// If has modified constructor
|
|
23
|
+
const ctor = o.constructor;
|
|
24
|
+
if (ctor === undefined)
|
|
25
|
+
return true;
|
|
26
|
+
// If has modified prototype
|
|
27
|
+
const prot = ctor.prototype;
|
|
28
|
+
if (isObject(prot) === false)
|
|
29
|
+
return false;
|
|
30
|
+
// If constructor does not have an Object-specific method
|
|
31
|
+
if (prot.hasOwnProperty('isPrototypeOf') === false) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
// Most likely a plain Object
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/utils/query.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,GAAU;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACpC,aAAa,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,8CAA8C;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;iBACb,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBACtB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;gBACtB,OAAO,MAAM,CAAA;YACf,CAAC,EAAE,EAAS,CAAC;QACjB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CACvB,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAgB;IACrC,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,CAAM;IACtB,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAA;AAChE,CAAC;AAED,gEAAgE;AAChE,SAAS,aAAa,CAAC,CAAM;IAC3B,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvC,8BAA8B;IAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAA;IAC1B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEnC,4BAA4B;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA;IAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAE1C,yDAAyD;IACzD,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,6BAA6B;IAC7B,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MonoTypeOperatorFunction, Observable } from 'rxjs';
|
|
2
|
+
import type { Abi, Log } from 'viem';
|
|
3
|
+
import type { Centrifuge } from '../Centrifuge.js';
|
|
4
|
+
import type { Query } from '../types/query.js';
|
|
5
|
+
export declare function shareReplayWithDelayedReset<T>(config?: {
|
|
6
|
+
bufferSize?: number;
|
|
7
|
+
windowTime?: number;
|
|
8
|
+
resetDelay?: number;
|
|
9
|
+
}): MonoTypeOperatorFunction<T>;
|
|
10
|
+
export declare function repeatOnEvents<T>(centrifuge: Centrifuge, opts: {
|
|
11
|
+
address?: string | string[];
|
|
12
|
+
abi: Abi | Abi[];
|
|
13
|
+
eventName: string | string[];
|
|
14
|
+
filter?: (events: (Log<bigint, number, false, undefined, true, Abi, string> & {
|
|
15
|
+
args: any;
|
|
16
|
+
})[]) => boolean;
|
|
17
|
+
}, chainId?: number): MonoTypeOperatorFunction<T>;
|
|
18
|
+
export declare function makeThenable<T>($query: Observable<T>, exhaust?: boolean): Query<T>;
|
|
19
|
+
//# sourceMappingURL=rx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx.d.ts","sourceRoot":"","sources":["../../src/utils/rx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAA4B,MAAM,MAAM,CAAA;AAE1F,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAS9B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,EAAE,KAAK,OAAO,CAAA;CAC3G,EACD,OAAO,CAAC,EAAE,MAAM,GACf,wBAAwB,CAAC,CAAC,CAAC,CAS7B;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,UAAQ,YAUrE"}
|
package/dist/utils/rx.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { filter, firstValueFrom, lastValueFrom, repeat, ReplaySubject, share, Subject, timer } from 'rxjs';
|
|
2
|
+
export function shareReplayWithDelayedReset(config) {
|
|
3
|
+
const { bufferSize = Infinity, windowTime = Infinity, resetDelay = 1000 } = config ?? {};
|
|
4
|
+
const reset = resetDelay === 0 ? true : isFinite(resetDelay) ? () => timer(resetDelay) : false;
|
|
5
|
+
return share({
|
|
6
|
+
connector: () => (bufferSize === 0 ? new Subject() : new ExpiringReplaySubject(bufferSize, windowTime)),
|
|
7
|
+
resetOnError: true,
|
|
8
|
+
resetOnComplete: false,
|
|
9
|
+
resetOnRefCountZero: reset,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export function repeatOnEvents(centrifuge, opts, chainId) {
|
|
13
|
+
return repeat({
|
|
14
|
+
delay: () => centrifuge._filteredEvents(opts.address || [], opts.abi, opts.eventName, chainId).pipe(filter((events) => {
|
|
15
|
+
return opts.filter ? opts.filter(events) : true;
|
|
16
|
+
})),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function makeThenable($query, exhaust = false) {
|
|
20
|
+
const thenableQuery = Object.assign($query, {
|
|
21
|
+
then(onfulfilled, onrejected) {
|
|
22
|
+
return (exhaust ? lastValueFrom : firstValueFrom)($query).then(onfulfilled, onrejected);
|
|
23
|
+
},
|
|
24
|
+
toPromise() {
|
|
25
|
+
return (exhaust ? lastValueFrom : firstValueFrom)($query);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return thenableQuery;
|
|
29
|
+
}
|
|
30
|
+
// A ReplaySubject that completes when an existing buffer is expired
|
|
31
|
+
class ExpiringReplaySubject extends ReplaySubject {
|
|
32
|
+
// @ts-expect-error
|
|
33
|
+
_subscribe(subscriber) {
|
|
34
|
+
// @ts-expect-error
|
|
35
|
+
const { _buffer } = this;
|
|
36
|
+
const length = _buffer.length;
|
|
37
|
+
// @ts-expect-error
|
|
38
|
+
const subscription = super._subscribe(subscriber);
|
|
39
|
+
if (length && _buffer.length === 0) {
|
|
40
|
+
this.complete();
|
|
41
|
+
}
|
|
42
|
+
return subscription;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=rx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx.js","sourceRoot":"","sources":["../../src/utils/rx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAK1G,MAAM,UAAU,2BAA2B,CAAI,MAI9C;IACC,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,UAAU,GAAG,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IACxF,MAAM,KAAK,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9F,OAAO,KAAK,CAAI;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACvG,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAAsB,EACtB,IAKC,EACD,OAAgB;IAEhB,OAAO,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,EAAE,CACV,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CACpF,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,CAAC,CAAC,CACH;KACJ,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,MAAqB,EAAE,OAAO,GAAG,KAAK;IACpE,MAAM,aAAa,GAAa,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpD,IAAI,CAAC,WAA8B,EAAE,UAAgC;YACnE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QACzF,CAAC;QACD,SAAS;YACP,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC;KACF,CAAC,CAAA;IACF,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,oEAAoE;AACpE,MAAM,qBAAyB,SAAQ,aAAgB;IACrD,mBAAmB;IACA,UAAU,CAAC,UAAyB;QACrD,mBAAmB;QACnB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,mBAAmB;QACnB,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAEjD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Account, Chain, LocalAccount, PublicClient, WalletClient } from 'viem';
|
|
2
|
+
import type { HexString } from '../types/index.js';
|
|
3
|
+
import type { OperationStatus, Signer } from '../types/transaction.js';
|
|
4
|
+
export declare function doTransaction(title: string, publicClient: PublicClient, transactionCallback: () => Promise<HexString>): AsyncGenerator<OperationStatus>;
|
|
5
|
+
export declare function doSignMessage(title: string, transactionCallback: () => Promise<any>): AsyncGenerator<OperationStatus, any>;
|
|
6
|
+
export type Permit = {
|
|
7
|
+
deadline: number | string;
|
|
8
|
+
r: string;
|
|
9
|
+
s: string;
|
|
10
|
+
v: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function signPermit(_: WalletClient<any, Chain, Account>, signer: Signer, chainId: number, signingAddress: string, currencyAddress: string, spender: string, amount: bigint): Promise<Permit>;
|
|
13
|
+
export declare function isLocalAccount(signer: Signer): signer is LocalAccount;
|
|
14
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/utils/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEtE,wBAAuB,aAAa,CAClC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAC5C,cAAc,CAAC,eAAe,CAAC,CAMjC;AAED,wBAAuB,aAAa,CAClC,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GACtC,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,CAKtC;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAAA;AAED,wBAAsB,UAAU,CAC9B,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,mBAef;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,YAAY,CAErE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { signERC2612Permit } from 'eth-permit';
|
|
2
|
+
export async function* doTransaction(title, publicClient, transactionCallback) {
|
|
3
|
+
yield { type: 'SigningTransaction', title };
|
|
4
|
+
const hash = await transactionCallback();
|
|
5
|
+
yield { type: 'TransactionPending', title, hash };
|
|
6
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
7
|
+
yield { type: 'TransactionConfirmed', title, hash, receipt };
|
|
8
|
+
}
|
|
9
|
+
export async function* doSignMessage(title, transactionCallback) {
|
|
10
|
+
yield { type: 'SigningMessage', title };
|
|
11
|
+
const message = await transactionCallback();
|
|
12
|
+
yield { type: 'SignedMessage', title, signed: message };
|
|
13
|
+
return message;
|
|
14
|
+
}
|
|
15
|
+
export async function signPermit(_, signer, chainId, signingAddress, currencyAddress, spender, amount) {
|
|
16
|
+
let domainOrCurrency = currencyAddress;
|
|
17
|
+
const USDC = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
|
|
18
|
+
if (currencyAddress.toLowerCase() === USDC) {
|
|
19
|
+
// USDC has custom version
|
|
20
|
+
domainOrCurrency = { name: 'USD Coin', version: '2', chainId, verifyingContract: currencyAddress };
|
|
21
|
+
}
|
|
22
|
+
else if (chainId === 5 || chainId === 84531 || chainId === 421613 || chainId === 11155111) {
|
|
23
|
+
// Assume on testnets the LP currencies are used which have custom domains
|
|
24
|
+
domainOrCurrency = { name: 'Centrifuge', version: '1', chainId, verifyingContract: currencyAddress };
|
|
25
|
+
}
|
|
26
|
+
const deadline = Math.floor(Date.now() / 1000) + 3600; // 1 hour
|
|
27
|
+
const permit = await signERC2612Permit(signer, domainOrCurrency, signingAddress, spender, amount.toString(), deadline);
|
|
28
|
+
return permit;
|
|
29
|
+
}
|
|
30
|
+
export function isLocalAccount(signer) {
|
|
31
|
+
return 'type' in signer && signer.type === 'local';
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/utils/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK9C,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAClC,KAAa,EACb,YAA0B,EAC1B,mBAA6C;IAE7C,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,mBAAmB,EAAE,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACtE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAClC,KAAa,EACb,mBAAuC;IAEvC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAA;IAC3C,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACvD,OAAO,OAAO,CAAA;AAChB,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,CAAoC,EACpC,MAAc,EACd,OAAe,EACf,cAAsB,EACtB,eAAuB,EACvB,OAAe,EACf,MAAc;IAEd,IAAI,gBAAgB,GAAQ,eAAe,CAAA;IAC3C,MAAM,IAAI,GAAG,4CAA4C,CAAA;IACzD,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;QAC3C,0BAA0B;QAC1B,gBAAgB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACpG,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5F,0EAA0E;QAC1E,gBAAgB,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACtG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA,CAAC,SAAS;IAC/D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACtH,OAAO,MAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAA;AACpD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@centrifuge/sdk",
|
|
3
|
+
"version": "0.0.0-alpha.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"homepage": "https://github.com/centrifuge/sdk/tree/main#readme",
|
|
6
|
+
"author": "",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/centrifuge/sdk.git"
|
|
10
|
+
},
|
|
11
|
+
"license": "LGPL-3.0-only",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"main": "./dist/index.js",
|
|
17
|
+
"module": "./dist/index.js",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"typings": "./dist/index.d.ts",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"sideEffects": false,
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=18.18"
|
|
26
|
+
},
|
|
27
|
+
"packageManager": "yarn@4.5.0",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"dev": "tsc -w --importHelpers",
|
|
30
|
+
"build": "tsc --importHelpers",
|
|
31
|
+
"prepare": "yarn build",
|
|
32
|
+
"test": "mocha --loader=ts-node/esm --require $(pwd)/src/tests/setup.ts --exit --timeout 60000 'src/**/*.test.ts' --recursive",
|
|
33
|
+
"test:simple:single": "mocha --loader=ts-node/esm --exit --timeout 60000",
|
|
34
|
+
"test:single": "mocha --loader=ts-node/esm --require $(pwd)/src/tests/setup.ts --exit --timeout 60000",
|
|
35
|
+
"test:ci": "yarn test --reporter mocha-multi-reporters --reporter-options configFile=mocha-reporter-config.json",
|
|
36
|
+
"test:coverage": "nyc yarn test"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"decimal.js-light": "^2.5.1",
|
|
40
|
+
"eth-permit": "^0.2.3",
|
|
41
|
+
"isomorphic-ws": "^5.0.0",
|
|
42
|
+
"rxjs": "^7.8.1"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/chai": "^5.0.0",
|
|
46
|
+
"@types/mocha": "^10.0.9",
|
|
47
|
+
"@types/node": "^22.7.8",
|
|
48
|
+
"@types/sinon": "^17.0.3",
|
|
49
|
+
"@types/sinon-chai": "^4",
|
|
50
|
+
"chai": "^5.1.2",
|
|
51
|
+
"dotenv": "^16.4.5",
|
|
52
|
+
"eslint": "^9.12.0",
|
|
53
|
+
"globals": "^15.11.0",
|
|
54
|
+
"mocha": "^10.7.3",
|
|
55
|
+
"mocha-multi-reporters": "^1.5.1",
|
|
56
|
+
"mochawesome": "^7.1.3",
|
|
57
|
+
"npm-run-all": "4.1.5",
|
|
58
|
+
"nyc": "^17.1.0",
|
|
59
|
+
"prettier": "^3.3.3",
|
|
60
|
+
"sinon": "^19.0.2",
|
|
61
|
+
"sinon-chai": "^4.0.0",
|
|
62
|
+
"source-map-support": "^0.5.21",
|
|
63
|
+
"ts-node": "^10.9.2",
|
|
64
|
+
"typescript": "~5.6.3",
|
|
65
|
+
"typescript-eslint": "^8.8.1",
|
|
66
|
+
"viem": "^2.21.25"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"viem": "^2"
|
|
70
|
+
},
|
|
71
|
+
"stableVersion": "0.0.0-alpha"
|
|
72
|
+
}
|