@centrifuge/sdk 0.18.0 → 0.20.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/abi/BalanceSheet.abi.d.ts +1 -1
- package/dist/abi/BalanceSheet.abi.js +4 -4
- package/dist/abi/BalanceSheet.abi.js.map +1 -1
- package/dist/abi/index.d.ts +73 -0
- package/dist/abi/index.d.ts.map +1 -1
- package/dist/entities/BalanceSheet.d.ts +8 -5
- package/dist/entities/BalanceSheet.d.ts.map +1 -1
- package/dist/entities/BalanceSheet.js +54 -41
- package/dist/entities/BalanceSheet.js.map +1 -1
- package/dist/entities/BalanceSheet.test.js +26 -9
- package/dist/entities/BalanceSheet.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const _default: readonly ["function availableBalanceOf(uint64 poolId, bytes16 scId, address asset, uint256 tokenId) view returns (uint128)", "function deposit(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, uint128 amount)", "function issue(uint64 poolId, bytes16 scId, address to, uint128 shares)", "function manager(uint64, address) view returns (bool)", "function revoke(uint64 poolId, bytes16 scId, uint128 shares)", "function withdraw(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, address receiver, uint128 amount)", "event Deposit(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, uint128 amount)", "event Issue(uint64 indexed poolId, bytes16 indexed scId, address to, uint128 pricePoolPerShare, uint128 shares)", "event NoteDeposit(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, uint128 amount, uint128 pricePoolPerAsset)", "event Revoke(uint64 indexed poolId, bytes16 indexed scId, address from, uint128 pricePoolPerShare, uint128 shares)", "event Withdraw(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, address receiver, uint128 amount, uint128 pricePoolPerAsset)"];
|
|
1
|
+
declare const _default: readonly ["function availableBalanceOf(uint64 poolId, bytes16 scId, address asset, uint256 tokenId) view returns (uint128)", "function deposit(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, uint128 amount)", "function issue(uint64 poolId, bytes16 scId, address to, uint128 shares)", "function manager(uint64, address) view returns (bool)", "function multicall(bytes[] data) payable", "function overridePricePoolPerShare(uint64 poolId, bytes16 scId, uint128 value)", "function revoke(uint64 poolId, bytes16 scId, uint128 shares)", "function transferSharesFrom(uint64 poolId, bytes16 scId, address sender_, address from, address to, uint256 amount)", "function withdraw(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, address receiver, uint128 amount)", "event Deposit(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, uint128 amount)", "event Issue(uint64 indexed poolId, bytes16 indexed scId, address to, uint128 pricePoolPerShare, uint128 shares)", "event NoteDeposit(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, uint128 amount, uint128 pricePoolPerAsset)", "event Revoke(uint64 indexed poolId, bytes16 indexed scId, address from, uint128 pricePoolPerShare, uint128 shares)", "event TransferSharesFrom(uint64 indexed poolId, bytes16 indexed scId, address sender, address indexed from, address to, uint256 amount)", "event Withdraw(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, address receiver, uint128 amount, uint128 pricePoolPerAsset)"];
|
|
2
2
|
export default _default;
|
|
3
3
|
//# sourceMappingURL=BalanceSheet.abi.d.ts.map
|
|
@@ -7,10 +7,10 @@ export default [
|
|
|
7
7
|
// 'function gateway() view returns (address)',
|
|
8
8
|
'function issue(uint64 poolId, bytes16 scId, address to, uint128 shares)',
|
|
9
9
|
'function manager(uint64, address) view returns (bool)',
|
|
10
|
-
|
|
10
|
+
'function multicall(bytes[] data) payable',
|
|
11
11
|
// 'function noteDeposit(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, uint128 amount)',
|
|
12
12
|
// 'function overridePricePoolPerAsset(uint64 poolId, bytes16 scId, uint128 assetId, uint128 value)',
|
|
13
|
-
|
|
13
|
+
'function overridePricePoolPerShare(uint64 poolId, bytes16 scId, uint128 value)',
|
|
14
14
|
// 'function poolEscrowProvider() view returns (address)',
|
|
15
15
|
// 'function queuedAssets(uint64 poolId, bytes16 scId, uint128 assetId) view returns (uint128 deposits, uint128 withdrawals)',
|
|
16
16
|
// 'function queuedShares(uint64 poolId, bytes16 scId) view returns (uint128 delta, bool isPositive, uint32 queuedAssetCounter, uint64 nonce)',
|
|
@@ -26,7 +26,7 @@ export default [
|
|
|
26
26
|
// 'function spoke() view returns (address)',
|
|
27
27
|
// 'function submitQueuedAssets(uint64 poolId, bytes16 scId, uint128 assetId, uint128 extraGasLimit)',
|
|
28
28
|
// 'function submitQueuedShares(uint64 poolId, bytes16 scId, uint128 extraGasLimit)',
|
|
29
|
-
|
|
29
|
+
'function transferSharesFrom(uint64 poolId, bytes16 scId, address sender_, address from, address to, uint256 amount)',
|
|
30
30
|
// 'function unreserve(uint64 poolId, bytes16 scId, address asset, uint256 tokenId, uint128 amount)',
|
|
31
31
|
// 'function updateManager(uint64 poolId, address who, bool canManage)',
|
|
32
32
|
// 'function wards(address) view returns (uint256)',
|
|
@@ -40,7 +40,7 @@ export default [
|
|
|
40
40
|
'event Revoke(uint64 indexed poolId, bytes16 indexed scId, address from, uint128 pricePoolPerShare, uint128 shares)',
|
|
41
41
|
// 'event SubmitQueuedAssets(uint64 indexed poolId, bytes16 indexed scId, uint128 indexed assetId, (uint128 netAmount, bool isIncrease, bool isSnapshot, uint64 nonce) data, uint128 pricePoolPerAsset)',
|
|
42
42
|
// 'event SubmitQueuedShares(uint64 indexed poolId, bytes16 indexed scId, (uint128 netAmount, bool isIncrease, bool isSnapshot, uint64 nonce) data)',
|
|
43
|
-
|
|
43
|
+
'event TransferSharesFrom(uint64 indexed poolId, bytes16 indexed scId, address sender, address indexed from, address to, uint256 amount)',
|
|
44
44
|
// 'event UpdateManager(uint64 indexed poolId, address who, bool canManage)',
|
|
45
45
|
'event Withdraw(uint64 indexed poolId, bytes16 indexed scId, address asset, uint256 tokenId, address receiver, uint128 amount, uint128 pricePoolPerAsset)',
|
|
46
46
|
// 'error CallFailedWithEmptyRevert()',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceSheet.abi.js","sourceRoot":"","sources":["../../src/abi/BalanceSheet.abi.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,iHAAiH;IACjH,iCAAiC;IACjC,+FAA+F;IAC/F,2DAA2D;IAC3D,+CAA+C;IAC/C,+CAA+C;IAC/C,yEAAyE;IACzE,uDAAuD;IACvD,
|
|
1
|
+
{"version":3,"file":"BalanceSheet.abi.js","sourceRoot":"","sources":["../../src/abi/BalanceSheet.abi.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,iHAAiH;IACjH,iCAAiC;IACjC,+FAA+F;IAC/F,2DAA2D;IAC3D,+CAA+C;IAC/C,+CAA+C;IAC/C,yEAAyE;IACzE,uDAAuD;IACvD,0CAA0C;IAC1C,uGAAuG;IACvG,qGAAqG;IACrG,gFAAgF;IAChF,0DAA0D;IAC1D,8HAA8H;IAC9H,+IAA+I;IAC/I,6EAA6E;IAC7E,8FAA8F;IAC9F,iCAAiC;IACjC,mGAAmG;IACnG,mFAAmF;IACnF,kEAAkE;IAClE,8DAA8D;IAC9D,4CAA4C;IAC5C,8CAA8C;IAC9C,6CAA6C;IAC7C,sGAAsG;IACtG,qFAAqF;IACrF,qHAAqH;IACrH,qGAAqG;IACrG,wEAAwE;IACxE,oDAAoD;IACpD,kHAAkH;IAClH,sCAAsC;IACtC,4GAA4G;IAC5G,oDAAoD;IACpD,iHAAiH;IACjH,2IAA2I;IAC3I,sCAAsC;IACtC,oHAAoH;IACpH,yMAAyM;IACzM,qJAAqJ;IACrJ,yIAAyI;IACzI,6EAA6E;IAC7E,0JAA0J;IAC1J,uCAAuC;IACvC,gDAAgD;IAChD,mCAAmC;IACnC,oBAAoB;IACpB,2BAA2B;IAC3B,mCAAmC;IACnC,gCAAgC;IAChC,sFAAsF;CAC9E,CAAA"}
|
package/dist/abi/index.d.ts
CHANGED
|
@@ -8599,6 +8599,30 @@ export declare const ABI: {
|
|
|
8599
8599
|
readonly outputs: readonly [{
|
|
8600
8600
|
readonly type: "bool";
|
|
8601
8601
|
}];
|
|
8602
|
+
}, {
|
|
8603
|
+
readonly name: "multicall";
|
|
8604
|
+
readonly type: "function";
|
|
8605
|
+
readonly stateMutability: "payable";
|
|
8606
|
+
readonly inputs: readonly [{
|
|
8607
|
+
readonly type: "bytes[]";
|
|
8608
|
+
readonly name: "data";
|
|
8609
|
+
}];
|
|
8610
|
+
readonly outputs: readonly [];
|
|
8611
|
+
}, {
|
|
8612
|
+
readonly name: "overridePricePoolPerShare";
|
|
8613
|
+
readonly type: "function";
|
|
8614
|
+
readonly stateMutability: "nonpayable";
|
|
8615
|
+
readonly inputs: readonly [{
|
|
8616
|
+
readonly type: "uint64";
|
|
8617
|
+
readonly name: "poolId";
|
|
8618
|
+
}, {
|
|
8619
|
+
readonly type: "bytes16";
|
|
8620
|
+
readonly name: "scId";
|
|
8621
|
+
}, {
|
|
8622
|
+
readonly type: "uint128";
|
|
8623
|
+
readonly name: "value";
|
|
8624
|
+
}];
|
|
8625
|
+
readonly outputs: readonly [];
|
|
8602
8626
|
}, {
|
|
8603
8627
|
readonly name: "revoke";
|
|
8604
8628
|
readonly type: "function";
|
|
@@ -8614,6 +8638,30 @@ export declare const ABI: {
|
|
|
8614
8638
|
readonly name: "shares";
|
|
8615
8639
|
}];
|
|
8616
8640
|
readonly outputs: readonly [];
|
|
8641
|
+
}, {
|
|
8642
|
+
readonly name: "transferSharesFrom";
|
|
8643
|
+
readonly type: "function";
|
|
8644
|
+
readonly stateMutability: "nonpayable";
|
|
8645
|
+
readonly inputs: readonly [{
|
|
8646
|
+
readonly type: "uint64";
|
|
8647
|
+
readonly name: "poolId";
|
|
8648
|
+
}, {
|
|
8649
|
+
readonly type: "bytes16";
|
|
8650
|
+
readonly name: "scId";
|
|
8651
|
+
}, {
|
|
8652
|
+
readonly type: "address";
|
|
8653
|
+
readonly name: "sender_";
|
|
8654
|
+
}, {
|
|
8655
|
+
readonly type: "address";
|
|
8656
|
+
readonly name: "from";
|
|
8657
|
+
}, {
|
|
8658
|
+
readonly type: "address";
|
|
8659
|
+
readonly name: "to";
|
|
8660
|
+
}, {
|
|
8661
|
+
readonly type: "uint256";
|
|
8662
|
+
readonly name: "amount";
|
|
8663
|
+
}];
|
|
8664
|
+
readonly outputs: readonly [];
|
|
8617
8665
|
}, {
|
|
8618
8666
|
readonly name: "withdraw";
|
|
8619
8667
|
readonly type: "function";
|
|
@@ -8725,6 +8773,31 @@ export declare const ABI: {
|
|
|
8725
8773
|
readonly type: "uint128";
|
|
8726
8774
|
readonly name: "shares";
|
|
8727
8775
|
}];
|
|
8776
|
+
}, {
|
|
8777
|
+
readonly name: "TransferSharesFrom";
|
|
8778
|
+
readonly type: "event";
|
|
8779
|
+
readonly inputs: readonly [{
|
|
8780
|
+
readonly type: "uint64";
|
|
8781
|
+
readonly name: "poolId";
|
|
8782
|
+
readonly indexed: true;
|
|
8783
|
+
}, {
|
|
8784
|
+
readonly type: "bytes16";
|
|
8785
|
+
readonly name: "scId";
|
|
8786
|
+
readonly indexed: true;
|
|
8787
|
+
}, {
|
|
8788
|
+
readonly type: "address";
|
|
8789
|
+
readonly name: "sender";
|
|
8790
|
+
}, {
|
|
8791
|
+
readonly type: "address";
|
|
8792
|
+
readonly name: "from";
|
|
8793
|
+
readonly indexed: true;
|
|
8794
|
+
}, {
|
|
8795
|
+
readonly type: "address";
|
|
8796
|
+
readonly name: "to";
|
|
8797
|
+
}, {
|
|
8798
|
+
readonly type: "uint256";
|
|
8799
|
+
readonly name: "amount";
|
|
8800
|
+
}];
|
|
8728
8801
|
}, {
|
|
8729
8802
|
readonly name: "Withdraw";
|
|
8730
8803
|
readonly type: "event";
|
package/dist/abi/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bf,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HexString } from '../types/index.js';
|
|
2
|
-
import { Balance } from '../utils/BigInt.js';
|
|
2
|
+
import { Balance, Price } from '../utils/BigInt.js';
|
|
3
3
|
import { AssetId } from '../utils/types.js';
|
|
4
4
|
import { Entity } from './Entity.js';
|
|
5
5
|
import type { Pool } from './Pool.js';
|
|
@@ -18,7 +18,7 @@ export declare class BalanceSheet extends Entity {
|
|
|
18
18
|
assetId: AssetId;
|
|
19
19
|
amount: Balance;
|
|
20
20
|
value: Balance;
|
|
21
|
-
price:
|
|
21
|
+
price: Price;
|
|
22
22
|
asset: {
|
|
23
23
|
decimals: number;
|
|
24
24
|
address: `0x${string}`;
|
|
@@ -45,9 +45,12 @@ export declare class BalanceSheet extends Entity {
|
|
|
45
45
|
deposit(assetId: AssetId, amount: Balance): import("../index.js").Transaction;
|
|
46
46
|
withdraw(assetId: AssetId, to: HexString, amount: Balance): import("../index.js").Transaction;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Issue directly into the balance sheet.
|
|
49
|
+
* @param to - The address that should receive the shares.
|
|
50
|
+
* @param amount - The amount to receive.
|
|
51
|
+
* @param pricePerShare - The price of the shares to issue.
|
|
49
52
|
*/
|
|
50
|
-
issue(): import("../index.js").Transaction;
|
|
51
|
-
revoke(): import("../index.js").Transaction;
|
|
53
|
+
issue(to: HexString, amount: Balance, pricePerShare: Price): import("../index.js").Transaction;
|
|
54
|
+
revoke(user: HexString, amount: Balance, pricePerShare: Price): import("../index.js").Transaction;
|
|
52
55
|
}
|
|
53
56
|
//# sourceMappingURL=BalanceSheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceSheet.d.ts","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"BalanceSheet.d.ts","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,MAAM;IAM7B,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,UAAU;IAN/B,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IAYf,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIR,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IA0DzC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IA2BzD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK;IAmC1D,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK;CA+C9D"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { encodeFunctionData } from 'viem';
|
|
2
2
|
import { ABI } from '../abi/index.js';
|
|
3
|
-
import { Balance } from '../utils/BigInt.js';
|
|
4
3
|
import { doTransaction, wrapTransaction } from '../utils/transaction.js';
|
|
5
4
|
import { Entity } from './Entity.js';
|
|
6
|
-
import { firstValueFrom } from 'rxjs';
|
|
7
5
|
/**
|
|
8
6
|
* Query and interact with the balanceSheet, which is the main entry point for withdrawing and depositing funds.
|
|
9
7
|
* A BalanceSheet exists for every ShareClass on any network that Vaults are deployed on.
|
|
@@ -93,9 +91,12 @@ export class BalanceSheet extends Entity {
|
|
|
93
91
|
}, this.chainId);
|
|
94
92
|
}
|
|
95
93
|
/**
|
|
96
|
-
*
|
|
94
|
+
* Issue directly into the balance sheet.
|
|
95
|
+
* @param to - The address that should receive the shares.
|
|
96
|
+
* @param amount - The amount to receive.
|
|
97
|
+
* @param pricePerShare - The price of the shares to issue.
|
|
97
98
|
*/
|
|
98
|
-
issue() {
|
|
99
|
+
issue(to, amount, pricePerShare) {
|
|
99
100
|
const self = this;
|
|
100
101
|
return this._transact(async function* (ctx) {
|
|
101
102
|
const [{ balanceSheet }, isManager] = await Promise.all([
|
|
@@ -104,28 +105,28 @@ export class BalanceSheet extends Entity {
|
|
|
104
105
|
]);
|
|
105
106
|
if (!isManager)
|
|
106
107
|
throw new Error('Signing address is not a BalanceSheetManager');
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return acc.add(shares);
|
|
115
|
-
}, new Balance(0n, 18));
|
|
116
|
-
if (totalShares.eq(0n))
|
|
117
|
-
throw new Error('Total shares to issue is 0');
|
|
118
|
-
yield* doTransaction('Issue', ctx, () => {
|
|
119
|
-
return ctx.walletClient.writeContract({
|
|
120
|
-
address: balanceSheet,
|
|
121
|
-
abi: ABI.BalanceSheet,
|
|
122
|
-
functionName: 'issue',
|
|
123
|
-
args: [self.pool.id.raw, self.shareClass.id.raw, ctx.signingAddress, totalShares.toBigInt()],
|
|
124
|
-
});
|
|
108
|
+
const shares = amount.div(pricePerShare.toDecimal());
|
|
109
|
+
if (shares.eq(0n))
|
|
110
|
+
throw new Error('Cannot issue 0 shares');
|
|
111
|
+
const overrideTx = encodeFunctionData({
|
|
112
|
+
abi: ABI.BalanceSheet,
|
|
113
|
+
functionName: 'overridePricePoolPerShare',
|
|
114
|
+
args: [self.pool.id.raw, self.shareClass.id.raw, pricePerShare.toBigInt()],
|
|
125
115
|
});
|
|
116
|
+
const issueTx = encodeFunctionData({
|
|
117
|
+
abi: ABI.BalanceSheet,
|
|
118
|
+
functionName: 'issue',
|
|
119
|
+
args: [self.pool.id.raw, self.shareClass.id.raw, to, shares.toBigInt()],
|
|
120
|
+
});
|
|
121
|
+
yield* doTransaction('Issue shares', ctx, () => ctx.walletClient.writeContract({
|
|
122
|
+
address: balanceSheet,
|
|
123
|
+
abi: ABI.BalanceSheet,
|
|
124
|
+
functionName: 'multicall',
|
|
125
|
+
args: [[overrideTx, issueTx]],
|
|
126
|
+
}));
|
|
126
127
|
}, this.chainId);
|
|
127
128
|
}
|
|
128
|
-
revoke() {
|
|
129
|
+
revoke(user, amount, pricePerShare) {
|
|
129
130
|
const self = this;
|
|
130
131
|
return this._transact(async function* (ctx) {
|
|
131
132
|
const [{ balanceSheet }, isManager] = await Promise.all([
|
|
@@ -134,25 +135,37 @@ export class BalanceSheet extends Entity {
|
|
|
134
135
|
]);
|
|
135
136
|
if (!isManager)
|
|
136
137
|
throw new Error('Signing address is not a BalanceSheetManager');
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
abi: ABI.BalanceSheet,
|
|
152
|
-
functionName: 'revoke',
|
|
153
|
-
args: [self.pool.id.raw, self.shareClass.id.raw, totalShares.toBigInt()],
|
|
154
|
-
});
|
|
138
|
+
const shares = amount.div(pricePerShare.toDecimal());
|
|
139
|
+
if (shares.eq(0n))
|
|
140
|
+
throw new Error('Cannot revoke 0 shares');
|
|
141
|
+
const transferTx = encodeFunctionData({
|
|
142
|
+
abi: ABI.BalanceSheet,
|
|
143
|
+
functionName: 'transferSharesFrom',
|
|
144
|
+
args: [
|
|
145
|
+
self.pool.id.raw,
|
|
146
|
+
self.shareClass.id.raw,
|
|
147
|
+
ctx.signingAddress,
|
|
148
|
+
user,
|
|
149
|
+
ctx.signingAddress,
|
|
150
|
+
shares.toBigInt(),
|
|
151
|
+
],
|
|
155
152
|
});
|
|
153
|
+
const overrideTx = encodeFunctionData({
|
|
154
|
+
abi: ABI.BalanceSheet,
|
|
155
|
+
functionName: 'overridePricePoolPerShare',
|
|
156
|
+
args: [self.pool.id.raw, self.shareClass.id.raw, pricePerShare.toBigInt()],
|
|
157
|
+
});
|
|
158
|
+
const revokeTx = encodeFunctionData({
|
|
159
|
+
abi: ABI.BalanceSheet,
|
|
160
|
+
functionName: 'revoke',
|
|
161
|
+
args: [self.pool.id.raw, self.shareClass.id.raw, shares.toBigInt()],
|
|
162
|
+
});
|
|
163
|
+
yield* doTransaction('Revoke shares', ctx, () => ctx.walletClient.writeContract({
|
|
164
|
+
address: balanceSheet,
|
|
165
|
+
abi: ABI.BalanceSheet,
|
|
166
|
+
functionName: 'multicall',
|
|
167
|
+
args: [[transferTx, overrideTx, revokeTx]],
|
|
168
|
+
}));
|
|
156
169
|
}, this.chainId);
|
|
157
170
|
}
|
|
158
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceSheet.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"BalanceSheet.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { firstValueFrom, toArray } from 'rxjs';
|
|
3
3
|
import { context } from '../tests/setup.js';
|
|
4
|
-
import { Balance } from '../utils/BigInt.js';
|
|
4
|
+
import { Balance, Price } from '../utils/BigInt.js';
|
|
5
5
|
import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
|
|
6
6
|
import { BalanceSheet } from './BalanceSheet.js';
|
|
7
7
|
import { Pool } from './Pool.js';
|
|
@@ -59,20 +59,37 @@ describe('BalanceSheet', () => {
|
|
|
59
59
|
expect(result[5].type).to.equal('TransactionConfirmed');
|
|
60
60
|
expect(result[5].title).to.equal('Deposit');
|
|
61
61
|
});
|
|
62
|
-
// fix tests, right now it depends on indexer data which fails quite often
|
|
63
62
|
describe('issue and revoke', () => {
|
|
64
|
-
it
|
|
63
|
+
it('throws an error during issue if not BalanceSheetManager', async () => {
|
|
64
|
+
try {
|
|
65
|
+
await firstValueFrom(balanceSheet.issue('0x1234567890123456789012345678901234567890', Balance.fromFloat(100, 6), Price.fromFloat(1)));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
expect(error.message).to.include('Signing address is not a BalanceSheetManager');
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
it('throws an error during revoke if not BalanceSheetManager', async () => {
|
|
72
|
+
try {
|
|
73
|
+
await firstValueFrom(balanceSheet.revoke('0x1234567890123456789012345678901234567890', Balance.fromFloat(100, 6), Price.fromFloat(1)));
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
expect(error.message).to.include('Signing address is not a BalanceSheetManager');
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
it.only('issues and revokes shares successfully', async () => {
|
|
65
80
|
context.tenderlyFork.impersonateAddress = poolManager;
|
|
66
81
|
context.centrifuge.setSigner(context.tenderlyFork.signer);
|
|
67
82
|
await balanceSheet.pool.updateBalanceSheetManagers([{ chainId, address: poolManager, canManage: true }]);
|
|
83
|
+
const amount = Balance.fromFloat(100, 18);
|
|
84
|
+
const pricePerShare = Price.fromFloat(1);
|
|
68
85
|
await balanceSheet.shareClass.setMaxAssetPriceAge(assetId, 9999999999999);
|
|
69
86
|
await balanceSheet.shareClass.notifyAssetPrice(assetId);
|
|
70
|
-
const
|
|
71
|
-
expect(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
expect(
|
|
87
|
+
const issueResult = await firstValueFrom(balanceSheet.issue(poolManager, amount, pricePerShare).pipe(toArray()));
|
|
88
|
+
expect(issueResult.at(-1)?.type).to.equal('TransactionConfirmed');
|
|
89
|
+
expect(issueResult.at(-1).title).to.equal('Issue shares');
|
|
90
|
+
const revokeResult = await firstValueFrom(balanceSheet.revoke(poolManager, amount, pricePerShare).pipe(toArray()));
|
|
91
|
+
expect(revokeResult.at(-1)?.type).to.equal('TransactionConfirmed');
|
|
92
|
+
expect(revokeResult.at(-1).title).to.equal('Revoke shares');
|
|
76
93
|
});
|
|
77
94
|
});
|
|
78
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceSheet.test.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"BalanceSheet.test.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.test.ts"],"names":[],"mappings":"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"}
|