@centrifuge/sdk 0.19.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 +9 -6
- package/dist/entities/BalanceSheet.d.ts.map +1 -1
- package/dist/entities/BalanceSheet.js +44 -11
- package/dist/entities/BalanceSheet.js.map +1 -1
- package/dist/entities/BalanceSheet.test.js +7 -6
- 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}`;
|
|
@@ -43,11 +43,14 @@ export declare class BalanceSheet extends Entity {
|
|
|
43
43
|
} | null | undefined;
|
|
44
44
|
}[]>;
|
|
45
45
|
deposit(assetId: AssetId, amount: Balance): import("../index.js").Transaction;
|
|
46
|
+
withdraw(assetId: AssetId, to: HexString, amount: Balance): import("../index.js").Transaction;
|
|
46
47
|
/**
|
|
47
|
-
*
|
|
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.
|
|
48
52
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
revoke(amount: Balance): 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"}
|
|
@@ -68,9 +68,6 @@ export class BalanceSheet extends Entity {
|
|
|
68
68
|
});
|
|
69
69
|
}, this.chainId);
|
|
70
70
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Withdraw directly from the balance sheet
|
|
73
|
-
*/
|
|
74
71
|
withdraw(assetId, to, amount) {
|
|
75
72
|
const self = this;
|
|
76
73
|
return this._transact(async function* (ctx) {
|
|
@@ -93,7 +90,13 @@ export class BalanceSheet extends Entity {
|
|
|
93
90
|
});
|
|
94
91
|
}, this.chainId);
|
|
95
92
|
}
|
|
96
|
-
|
|
93
|
+
/**
|
|
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.
|
|
98
|
+
*/
|
|
99
|
+
issue(to, amount, pricePerShare) {
|
|
97
100
|
const self = this;
|
|
98
101
|
return this._transact(async function* (ctx) {
|
|
99
102
|
const [{ balanceSheet }, isManager] = await Promise.all([
|
|
@@ -102,19 +105,28 @@ export class BalanceSheet extends Entity {
|
|
|
102
105
|
]);
|
|
103
106
|
if (!isManager)
|
|
104
107
|
throw new Error('Signing address is not a BalanceSheetManager');
|
|
105
|
-
const { pricePerShare } = await self.shareClass.details();
|
|
106
108
|
const shares = amount.div(pricePerShare.toDecimal());
|
|
107
109
|
if (shares.eq(0n))
|
|
108
110
|
throw new Error('Cannot issue 0 shares');
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
const overrideTx = encodeFunctionData({
|
|
112
|
+
abi: ABI.BalanceSheet,
|
|
113
|
+
functionName: 'overridePricePoolPerShare',
|
|
114
|
+
args: [self.pool.id.raw, self.shareClass.id.raw, pricePerShare.toBigInt()],
|
|
115
|
+
});
|
|
116
|
+
const issueTx = encodeFunctionData({
|
|
111
117
|
abi: ABI.BalanceSheet,
|
|
112
118
|
functionName: 'issue',
|
|
113
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]],
|
|
114
126
|
}));
|
|
115
127
|
}, this.chainId);
|
|
116
128
|
}
|
|
117
|
-
revoke(amount) {
|
|
129
|
+
revoke(user, amount, pricePerShare) {
|
|
118
130
|
const self = this;
|
|
119
131
|
return this._transact(async function* (ctx) {
|
|
120
132
|
const [{ balanceSheet }, isManager] = await Promise.all([
|
|
@@ -123,15 +135,36 @@ export class BalanceSheet extends Entity {
|
|
|
123
135
|
]);
|
|
124
136
|
if (!isManager)
|
|
125
137
|
throw new Error('Signing address is not a BalanceSheetManager');
|
|
126
|
-
const { pricePerShare } = await self.shareClass.details();
|
|
127
138
|
const shares = amount.div(pricePerShare.toDecimal());
|
|
128
139
|
if (shares.eq(0n))
|
|
129
140
|
throw new Error('Cannot revoke 0 shares');
|
|
130
|
-
|
|
131
|
-
|
|
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
|
+
],
|
|
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({
|
|
132
159
|
abi: ABI.BalanceSheet,
|
|
133
160
|
functionName: 'revoke',
|
|
134
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]],
|
|
135
168
|
}));
|
|
136
169
|
}, this.chainId);
|
|
137
170
|
}
|
|
@@ -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;AAIrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,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';
|
|
@@ -62,7 +62,7 @@ describe('BalanceSheet', () => {
|
|
|
62
62
|
describe('issue and revoke', () => {
|
|
63
63
|
it('throws an error during issue if not BalanceSheetManager', async () => {
|
|
64
64
|
try {
|
|
65
|
-
await firstValueFrom(balanceSheet.issue('0x1234567890123456789012345678901234567890', Balance.fromFloat(100, 6)));
|
|
65
|
+
await firstValueFrom(balanceSheet.issue('0x1234567890123456789012345678901234567890', Balance.fromFloat(100, 6), Price.fromFloat(1)));
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
68
|
expect(error.message).to.include('Signing address is not a BalanceSheetManager');
|
|
@@ -70,23 +70,24 @@ describe('BalanceSheet', () => {
|
|
|
70
70
|
});
|
|
71
71
|
it('throws an error during revoke if not BalanceSheetManager', async () => {
|
|
72
72
|
try {
|
|
73
|
-
await firstValueFrom(balanceSheet.revoke(Balance.fromFloat(100, 6)));
|
|
73
|
+
await firstValueFrom(balanceSheet.revoke('0x1234567890123456789012345678901234567890', Balance.fromFloat(100, 6), Price.fromFloat(1)));
|
|
74
74
|
}
|
|
75
75
|
catch (error) {
|
|
76
76
|
expect(error.message).to.include('Signing address is not a BalanceSheetManager');
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
it('issues and revokes shares successfully', async () => {
|
|
79
|
+
it.only('issues and revokes shares successfully', async () => {
|
|
80
80
|
context.tenderlyFork.impersonateAddress = poolManager;
|
|
81
81
|
context.centrifuge.setSigner(context.tenderlyFork.signer);
|
|
82
82
|
await balanceSheet.pool.updateBalanceSheetManagers([{ chainId, address: poolManager, canManage: true }]);
|
|
83
83
|
const amount = Balance.fromFloat(100, 18);
|
|
84
|
+
const pricePerShare = Price.fromFloat(1);
|
|
84
85
|
await balanceSheet.shareClass.setMaxAssetPriceAge(assetId, 9999999999999);
|
|
85
86
|
await balanceSheet.shareClass.notifyAssetPrice(assetId);
|
|
86
|
-
const issueResult = await firstValueFrom(balanceSheet.issue(poolManager, amount).pipe(toArray()));
|
|
87
|
+
const issueResult = await firstValueFrom(balanceSheet.issue(poolManager, amount, pricePerShare).pipe(toArray()));
|
|
87
88
|
expect(issueResult.at(-1)?.type).to.equal('TransactionConfirmed');
|
|
88
89
|
expect(issueResult.at(-1).title).to.equal('Issue shares');
|
|
89
|
-
const revokeResult = await firstValueFrom(balanceSheet.revoke(amount).pipe(toArray()));
|
|
90
|
+
const revokeResult = await firstValueFrom(balanceSheet.revoke(poolManager, amount, pricePerShare).pipe(toArray()));
|
|
90
91
|
expect(revokeResult.at(-1)?.type).to.equal('TransactionConfirmed');
|
|
91
92
|
expect(revokeResult.at(-1).title).to.equal('Revoke shares');
|
|
92
93
|
});
|
|
@@ -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":"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,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAChC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AACzC,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,WAAW,GAAG,4CAA4C,CAAA;AAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,YAA0B,CAAA;IAE9B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7D,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;YAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;YAClF,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACrE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;YAClF,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;YACrD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAEvC,MAAM,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YACzE,MAAM,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAEvD,MAAM,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAExG,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAE1F,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACxD,MAAM,CAAE,MAAM,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACxD,MAAM,CAAE,MAAM,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACvE,IAAI,CAAC;oBACH,MAAM,cAAc,CAClB,YAAY,CAAC,KAAK,CAChB,4CAA4C,EAC5C,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EACzB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,CACF,CAAA;gBACH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;gBAClF,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,IAAI,CAAC;oBACH,MAAM,cAAc,CAClB,YAAY,CAAC,MAAM,CACjB,4CAA4C,EAC5C,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EACzB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,CACF,CAAA;gBACH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;gBAClF,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBAC3D,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;gBACrD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAEzD,MAAM,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAExG,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBACzC,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAExC,MAAM,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;gBACzE,MAAM,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBAEvD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAChH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACjE,MAAM,CAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAElE,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CACxE,CAAA;gBACD,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAClE,MAAM,CAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACtE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|