@centrifuge/sdk 0.0.0-alpha.25 → 0.0.0-alpha.27

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.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/dist/Centrifuge.d.ts +0 -162
  3. package/dist/Centrifuge.d.ts.map +1 -1
  4. package/dist/Centrifuge.js +95 -200
  5. package/dist/Centrifuge.js.map +1 -1
  6. package/dist/Centrifuge.test.js +14 -14
  7. package/dist/Centrifuge.test.js.map +1 -1
  8. package/dist/abi/BalanceSheet.abi.d.ts +1 -1
  9. package/dist/abi/BalanceSheet.abi.js +6 -6
  10. package/dist/abi/BalanceSheet.abi.js.map +1 -1
  11. package/dist/abi/ERC6909.abi.d.ts +3 -0
  12. package/dist/abi/ERC6909.abi.d.ts.map +1 -0
  13. package/dist/abi/ERC6909.abi.js +19 -0
  14. package/dist/abi/ERC6909.abi.js.map +1 -0
  15. package/dist/abi/index.d.ts +229 -0
  16. package/dist/abi/index.d.ts.map +1 -1
  17. package/dist/abi/index.js +2 -0
  18. package/dist/abi/index.js.map +1 -1
  19. package/dist/config/protocol.js +1 -1
  20. package/dist/entities/BalanceSheet.d.ts +6 -1
  21. package/dist/entities/BalanceSheet.d.ts.map +1 -1
  22. package/dist/entities/BalanceSheet.js +78 -2
  23. package/dist/entities/BalanceSheet.js.map +1 -1
  24. package/dist/entities/BalanceSheet.test.js +19 -2
  25. package/dist/entities/BalanceSheet.test.js.map +1 -1
  26. package/dist/entities/Pool.d.ts +12 -0
  27. package/dist/entities/Pool.d.ts.map +1 -1
  28. package/dist/entities/Pool.js +20 -23
  29. package/dist/entities/Pool.js.map +1 -1
  30. package/dist/entities/Pool.test.js +1 -1
  31. package/dist/entities/Pool.test.js.map +1 -1
  32. package/dist/entities/PoolNetwork.d.ts +2 -0
  33. package/dist/entities/PoolNetwork.d.ts.map +1 -1
  34. package/dist/entities/PoolNetwork.js +15 -4
  35. package/dist/entities/PoolNetwork.js.map +1 -1
  36. package/dist/entities/PoolNetwork.test.js +1 -1
  37. package/dist/entities/PoolNetwork.test.js.map +1 -1
  38. package/dist/entities/ShareClass.d.ts +27 -24
  39. package/dist/entities/ShareClass.d.ts.map +1 -1
  40. package/dist/entities/ShareClass.js +105 -63
  41. package/dist/entities/ShareClass.js.map +1 -1
  42. package/dist/entities/ShareClass.test.js +9 -8
  43. package/dist/entities/ShareClass.test.js.map +1 -1
  44. package/dist/entities/Vault.d.ts.map +1 -1
  45. package/dist/entities/Vault.js +5 -23
  46. package/dist/entities/Vault.js.map +1 -1
  47. package/dist/tests/setup.js +2 -2
  48. package/dist/tests/setup.js.map +1 -1
  49. package/dist/types/index.d.ts +4 -6
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/package.json +1 -1
@@ -3107,6 +3107,98 @@ export declare const ABI: {
3107
3107
  readonly type: "address";
3108
3108
  }];
3109
3109
  }];
3110
+ ERC6909: readonly [{
3111
+ readonly name: "allowance";
3112
+ readonly type: "function";
3113
+ readonly stateMutability: "view";
3114
+ readonly inputs: readonly [{
3115
+ readonly type: "address";
3116
+ readonly name: "owner";
3117
+ }, {
3118
+ readonly type: "address";
3119
+ readonly name: "spender";
3120
+ }, {
3121
+ readonly type: "uint256";
3122
+ readonly name: "tokenId";
3123
+ }];
3124
+ readonly outputs: readonly [{
3125
+ readonly type: "uint256";
3126
+ readonly name: "amount";
3127
+ }];
3128
+ }, {
3129
+ readonly name: "approve";
3130
+ readonly type: "function";
3131
+ readonly stateMutability: "nonpayable";
3132
+ readonly inputs: readonly [{
3133
+ readonly type: "address";
3134
+ readonly name: "spender";
3135
+ }, {
3136
+ readonly type: "uint256";
3137
+ readonly name: "tokenId";
3138
+ }, {
3139
+ readonly type: "uint256";
3140
+ readonly name: "amount";
3141
+ }];
3142
+ readonly outputs: readonly [{
3143
+ readonly type: "bool";
3144
+ }];
3145
+ }, {
3146
+ readonly name: "balanceOf";
3147
+ readonly type: "function";
3148
+ readonly stateMutability: "view";
3149
+ readonly inputs: readonly [{
3150
+ readonly type: "address";
3151
+ readonly name: "owner";
3152
+ }, {
3153
+ readonly type: "uint256";
3154
+ readonly name: "tokenId";
3155
+ }];
3156
+ readonly outputs: readonly [{
3157
+ readonly type: "uint256";
3158
+ readonly name: "amount";
3159
+ }];
3160
+ }, {
3161
+ readonly name: "Approval";
3162
+ readonly type: "event";
3163
+ readonly inputs: readonly [{
3164
+ readonly type: "address";
3165
+ readonly name: "owner";
3166
+ readonly indexed: true;
3167
+ }, {
3168
+ readonly type: "address";
3169
+ readonly name: "spender";
3170
+ readonly indexed: true;
3171
+ }, {
3172
+ readonly type: "uint256";
3173
+ readonly name: "tokenId";
3174
+ readonly indexed: true;
3175
+ }, {
3176
+ readonly type: "uint256";
3177
+ readonly name: "amount";
3178
+ }];
3179
+ }, {
3180
+ readonly name: "Transfer";
3181
+ readonly type: "event";
3182
+ readonly inputs: readonly [{
3183
+ readonly type: "address";
3184
+ readonly name: "caller";
3185
+ }, {
3186
+ readonly type: "address";
3187
+ readonly name: "from";
3188
+ readonly indexed: true;
3189
+ }, {
3190
+ readonly type: "address";
3191
+ readonly name: "to";
3192
+ readonly indexed: true;
3193
+ }, {
3194
+ readonly type: "uint256";
3195
+ readonly name: "tokenId";
3196
+ readonly indexed: true;
3197
+ }, {
3198
+ readonly type: "uint256";
3199
+ readonly name: "amount";
3200
+ }];
3201
+ }];
3110
3202
  RestrictionManager: readonly [{
3111
3203
  readonly name: "UpdateMember";
3112
3204
  readonly type: "event";
@@ -8230,6 +8322,47 @@ export declare const ABI: {
8230
8322
  }];
8231
8323
  }];
8232
8324
  BalanceSheet: readonly [{
8325
+ readonly name: "availableBalanceOf";
8326
+ readonly type: "function";
8327
+ readonly stateMutability: "view";
8328
+ readonly inputs: readonly [{
8329
+ readonly type: "uint64";
8330
+ readonly name: "poolId";
8331
+ }, {
8332
+ readonly type: "bytes16";
8333
+ readonly name: "scId";
8334
+ }, {
8335
+ readonly type: "address";
8336
+ readonly name: "asset";
8337
+ }, {
8338
+ readonly type: "uint256";
8339
+ readonly name: "tokenId";
8340
+ }];
8341
+ readonly outputs: readonly [{
8342
+ readonly type: "uint128";
8343
+ }];
8344
+ }, {
8345
+ readonly name: "deposit";
8346
+ readonly type: "function";
8347
+ readonly stateMutability: "nonpayable";
8348
+ readonly inputs: readonly [{
8349
+ readonly type: "uint64";
8350
+ readonly name: "poolId";
8351
+ }, {
8352
+ readonly type: "bytes16";
8353
+ readonly name: "scId";
8354
+ }, {
8355
+ readonly type: "address";
8356
+ readonly name: "asset";
8357
+ }, {
8358
+ readonly type: "uint256";
8359
+ readonly name: "tokenId";
8360
+ }, {
8361
+ readonly type: "uint128";
8362
+ readonly name: "amount";
8363
+ }];
8364
+ readonly outputs: readonly [];
8365
+ }, {
8233
8366
  readonly name: "manager";
8234
8367
  readonly type: "function";
8235
8368
  readonly stateMutability: "view";
@@ -8241,6 +8374,102 @@ export declare const ABI: {
8241
8374
  readonly outputs: readonly [{
8242
8375
  readonly type: "bool";
8243
8376
  }];
8377
+ }, {
8378
+ readonly name: "withdraw";
8379
+ readonly type: "function";
8380
+ readonly stateMutability: "nonpayable";
8381
+ readonly inputs: readonly [{
8382
+ readonly type: "uint64";
8383
+ readonly name: "poolId";
8384
+ }, {
8385
+ readonly type: "bytes16";
8386
+ readonly name: "scId";
8387
+ }, {
8388
+ readonly type: "address";
8389
+ readonly name: "asset";
8390
+ }, {
8391
+ readonly type: "uint256";
8392
+ readonly name: "tokenId";
8393
+ }, {
8394
+ readonly type: "address";
8395
+ readonly name: "receiver";
8396
+ }, {
8397
+ readonly type: "uint128";
8398
+ readonly name: "amount";
8399
+ }];
8400
+ readonly outputs: readonly [];
8401
+ }, {
8402
+ readonly name: "Deposit";
8403
+ readonly type: "event";
8404
+ readonly inputs: readonly [{
8405
+ readonly type: "uint64";
8406
+ readonly name: "poolId";
8407
+ readonly indexed: true;
8408
+ }, {
8409
+ readonly type: "bytes16";
8410
+ readonly name: "scId";
8411
+ readonly indexed: true;
8412
+ }, {
8413
+ readonly type: "address";
8414
+ readonly name: "asset";
8415
+ }, {
8416
+ readonly type: "uint256";
8417
+ readonly name: "tokenId";
8418
+ }, {
8419
+ readonly type: "uint128";
8420
+ readonly name: "amount";
8421
+ }];
8422
+ }, {
8423
+ readonly name: "NoteDeposit";
8424
+ readonly type: "event";
8425
+ readonly inputs: readonly [{
8426
+ readonly type: "uint64";
8427
+ readonly name: "poolId";
8428
+ readonly indexed: true;
8429
+ }, {
8430
+ readonly type: "bytes16";
8431
+ readonly name: "scId";
8432
+ readonly indexed: true;
8433
+ }, {
8434
+ readonly type: "address";
8435
+ readonly name: "asset";
8436
+ }, {
8437
+ readonly type: "uint256";
8438
+ readonly name: "tokenId";
8439
+ }, {
8440
+ readonly type: "uint128";
8441
+ readonly name: "amount";
8442
+ }, {
8443
+ readonly type: "uint128";
8444
+ readonly name: "pricePoolPerAsset";
8445
+ }];
8446
+ }, {
8447
+ readonly name: "Withdraw";
8448
+ readonly type: "event";
8449
+ readonly inputs: readonly [{
8450
+ readonly type: "uint64";
8451
+ readonly name: "poolId";
8452
+ readonly indexed: true;
8453
+ }, {
8454
+ readonly type: "bytes16";
8455
+ readonly name: "scId";
8456
+ readonly indexed: true;
8457
+ }, {
8458
+ readonly type: "address";
8459
+ readonly name: "asset";
8460
+ }, {
8461
+ readonly type: "uint256";
8462
+ readonly name: "tokenId";
8463
+ }, {
8464
+ readonly type: "address";
8465
+ readonly name: "receiver";
8466
+ }, {
8467
+ readonly type: "uint128";
8468
+ readonly name: "amount";
8469
+ }, {
8470
+ readonly type: "uint128";
8471
+ readonly name: "pricePoolPerAsset";
8472
+ }];
8244
8473
  }];
8245
8474
  };
8246
8475
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBf,CAAA"}
package/dist/abi/index.js CHANGED
@@ -15,12 +15,14 @@ import SpokeAbi from './Spoke.abi.js';
15
15
  import SyncRequestsAbi from './SyncRequestManager.abi.js';
16
16
  import ValuationAbi from './Valuation.abi.js';
17
17
  import VaultRouterAbi from './VaultRouter.abi.js';
18
+ import ERC6909Abi from './ERC6909.abi.js';
18
19
  export const ABI = {
19
20
  Hub: parseAbi(HubAbi),
20
21
  ShareClassManager: parseAbi(ShareClassManagerAbi),
21
22
  HubRegistry: parseAbi(HubRegistryAbi),
22
23
  MessageDispatcher: parseAbi(MessageDispatcherAbi),
23
24
  Currency: parseAbi(CurrencyAbi),
25
+ ERC6909: parseAbi(ERC6909Abi),
24
26
  RestrictionManager: parseAbi(RestrictionManagerAbi),
25
27
  AsyncVault: parseAbi(AsyncVaultAbit),
26
28
  Spoke: parseAbi(SpokeAbi),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAC3D,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAC3C,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAC3C,OAAO,MAAM,MAAM,cAAc,CAAA;AACjC,OAAO,cAAc,MAAM,sBAAsB,CAAA;AACjD,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAC7D,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,qBAAqB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAC7D,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,cAAc,MAAM,sBAAsB,CAAA;AAEjD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACjD,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;IACrC,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC/B,kBAAkB,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IACnD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC;IACpC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACzB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;IACrC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC/B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;IACjC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;IACvC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IACzC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;IACvC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;CACxC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAC3D,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAC3C,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAC3C,OAAO,MAAM,MAAM,cAAc,CAAA;AACjC,OAAO,cAAc,MAAM,sBAAsB,CAAA;AACjD,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAC7D,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,qBAAqB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAC7D,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,cAAc,MAAM,sBAAsB,CAAA;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACjD,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;IACrC,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC;IAC7B,kBAAkB,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IACnD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC;IACpC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACzB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;IACrC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC/B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;IACjC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;IACvC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IACzC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;IACvC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;CACxC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { arbitrumSepolia, baseSepolia, sepolia } from 'viem/chains';
2
2
  export const currencies = {
3
3
  [sepolia.id]: ['0x3aaaa86458d576BafCB1B7eD290434F0696dA65c'],
4
- [baseSepolia.id]: ['0x39F562Ff7da2863B0075dDF10c0fC0524C28ac92'],
4
+ [baseSepolia.id]: ['0x5da2060c5418223e7ef7bed788d9d3ea61f68034'],
5
5
  [arbitrumSepolia.id]: ['0x19cc063f962B2769012cA32B2A9027b5c76dCFf3'],
6
6
  };
7
7
  //# sourceMappingURL=protocol.js.map
@@ -1,3 +1,6 @@
1
+ import type { HexString } from '../types/index.js';
2
+ import { Balance } from '../utils/BigInt.js';
3
+ import { AssetId } from '../utils/types.js';
1
4
  import { Entity } from './Entity.js';
2
5
  import type { Pool } from './Pool.js';
3
6
  import { PoolNetwork } from './PoolNetwork.js';
@@ -12,12 +15,14 @@ export declare class BalanceSheet extends Entity {
12
15
  pool: Pool;
13
16
  chainId: number;
14
17
  balances(): import("../index.js").Query<{
15
- amount: any;
18
+ amount: Balance;
16
19
  id: string;
17
20
  decimals: number;
18
21
  assetTokenId: string | null;
19
22
  address: `0x${string}`;
20
23
  }[]>;
24
+ deposit(assetId: AssetId, amount: Balance): import("../index.js").Transaction;
25
+ withdraw(assetId: AssetId, to: HexString, amount: Balance): import("../index.js").Transaction;
21
26
  _assets(): import("../index.js").Query<{
22
27
  id: string;
23
28
  decimals: number;
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceSheet.d.ts","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"AAMA,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;;;;;;;IA2CR,OAAO;;;;;;CAgDR"}
1
+ {"version":3,"file":"BalanceSheet.d.ts","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,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;;;;;;;IA2CR,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAqDzC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IAgCzD,OAAO;;;;;;CAgDR"}
@@ -1,7 +1,9 @@
1
1
  import { combineLatest, defer, switchMap } from 'rxjs';
2
- import { getContract } from 'viem';
2
+ import { encodeFunctionData, getContract } from 'viem';
3
3
  import { ABI } from '../abi/index.js';
4
+ import { Balance } from '../utils/BigInt.js';
4
5
  import { repeatOnEvents } from '../utils/rx.js';
6
+ import { doTransaction, wrapTransaction } from '../utils/transaction.js';
5
7
  import { Entity } from './Entity.js';
6
8
  /**
7
9
  * Query and interact with the balanceSheet, which is the main entry point for withdrawing and depositing funds.
@@ -32,7 +34,7 @@ export class BalanceSheet extends Entity {
32
34
  ])));
33
35
  return assets.map((asset, i) => ({
34
36
  ...asset,
35
- amount: amounts[i],
37
+ amount: new Balance(amounts[i], asset.decimals),
36
38
  }));
37
39
  }).pipe(repeatOnEvents(this._root, {
38
40
  address: addresses.balanceSheet,
@@ -45,6 +47,80 @@ export class BalanceSheet extends Entity {
45
47
  },
46
48
  }, this.chainId)))));
47
49
  }
50
+ deposit(assetId, amount) {
51
+ const self = this;
52
+ return this._transact(async function* (ctx) {
53
+ const client = self._root.getClient(self.chainId);
54
+ const [{ balanceSheet, spoke }, isBalanceSheetManager] = await Promise.all([
55
+ self._root._protocolAddresses(self.chainId),
56
+ self.pool.isBalanceSheetManager(self.chainId, ctx.signingAddress),
57
+ ]);
58
+ if (!isBalanceSheetManager) {
59
+ throw new Error('Signing address is not a BalanceSheetManager');
60
+ }
61
+ const [assetAddress, tokenId] = await client.readContract({
62
+ address: spoke,
63
+ abi: ABI.Spoke,
64
+ functionName: 'idToAsset',
65
+ args: [assetId.raw],
66
+ });
67
+ const allowance = await self._root._allowance(ctx.signingAddress, spoke, self.chainId, assetAddress, tokenId);
68
+ console.log('allowance', allowance);
69
+ if (allowance < amount.toBigInt()) {
70
+ yield* doTransaction('Approve', ctx.publicClient, () => {
71
+ if (tokenId) {
72
+ return ctx.walletClient.writeContract({
73
+ address: assetAddress,
74
+ abi: ABI.ERC6909,
75
+ functionName: 'approve',
76
+ args: [balanceSheet, tokenId, amount.toBigInt()],
77
+ });
78
+ }
79
+ return ctx.walletClient.writeContract({
80
+ address: assetAddress,
81
+ abi: ABI.Currency,
82
+ functionName: 'approve',
83
+ args: [balanceSheet, amount.toBigInt()],
84
+ });
85
+ });
86
+ }
87
+ yield* doTransaction('Deposit', ctx.publicClient, () => {
88
+ return ctx.walletClient.writeContract({
89
+ address: balanceSheet,
90
+ abi: ABI.BalanceSheet,
91
+ functionName: 'deposit',
92
+ args: [self.pool.id.raw, self.shareClass.id.raw, assetAddress, tokenId, amount.toBigInt()],
93
+ });
94
+ });
95
+ }, this.chainId);
96
+ }
97
+ withdraw(assetId, to, amount) {
98
+ const self = this;
99
+ return this._transact(async function* (ctx) {
100
+ const [{ balanceSheet, spoke }, isBalanceSheetManager] = await Promise.all([
101
+ self._root._protocolAddresses(self.chainId),
102
+ self.pool.isBalanceSheetManager(self.chainId, ctx.signingAddress),
103
+ ]);
104
+ if (!isBalanceSheetManager) {
105
+ throw new Error('Signing address is not a BalanceSheetManager');
106
+ }
107
+ const [assetAddress, tokenId] = await self._root.getClient(self.chainId).readContract({
108
+ address: spoke,
109
+ abi: ABI.Spoke,
110
+ functionName: 'idToAsset',
111
+ args: [assetId.raw],
112
+ });
113
+ const tx = encodeFunctionData({
114
+ abi: ABI.BalanceSheet,
115
+ functionName: 'withdraw',
116
+ args: [self.pool.id.raw, self.shareClass.id.raw, assetAddress, tokenId, to, amount.toBigInt()],
117
+ });
118
+ yield* wrapTransaction('Withdraw', ctx, {
119
+ contract: balanceSheet,
120
+ data: tx,
121
+ });
122
+ }, this.chainId);
123
+ }
48
124
  _assets() {
49
125
  return this._query(null, () => this._root.id(this.chainId).pipe(switchMap((id) => this._root._queryIndexer(`query ($scId: String!, $id: String!) {
50
126
  holdings(where: { tokenId: $scId, centrifugeId: $id }) {
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceSheet.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceSheet.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { expect } from 'chai';
2
+ import { firstValueFrom, toArray } from 'rxjs';
2
3
  import { context } from '../tests/setup.js';
3
- import { PoolId, ShareClassId } from '../utils/types.js';
4
+ import { Balance } from '../utils/BigInt.js';
5
+ import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
4
6
  import { BalanceSheet } from './BalanceSheet.js';
5
7
  import { Pool } from './Pool.js';
6
8
  import { PoolNetwork } from './PoolNetwork.js';
@@ -9,6 +11,7 @@ const poolId = PoolId.from(1, 1);
9
11
  const scId = ShareClassId.from(poolId, 1);
10
12
  const chainId = 11155111;
11
13
  const poolManager = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
14
+ const assetId = AssetId.from(1, 2);
12
15
  describe('BalanceSheet', () => {
13
16
  let balanceSheet;
14
17
  beforeEach(() => {
@@ -22,7 +25,21 @@ describe('BalanceSheet', () => {
22
25
  const balances = await balanceSheet.balances();
23
26
  expect(balances).to.be.an('array');
24
27
  expect(balances).to.have.length.greaterThan(0);
25
- console.log('balances', balances);
28
+ expect(balances[0]?.amount).to.be.instanceOf(Balance);
29
+ });
30
+ it('withdraws and deposits funds', async () => {
31
+ context.tenderlyFork.impersonateAddress = poolManager;
32
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
33
+ const amount = Balance.fromFloat(1, 18);
34
+ await balanceSheet.shareClass.setMaxAssetPriceAge(assetId, 9999999999999);
35
+ await balanceSheet.shareClass.notifyAssetPrice(assetId);
36
+ await balanceSheet.pool.updateBalanceSheetManagers([{ chainId, address: poolManager, canManage: true }]);
37
+ await balanceSheet.withdraw(assetId, poolManager, amount);
38
+ const result = await firstValueFrom(balanceSheet.deposit(assetId, amount).pipe(toArray()));
39
+ expect(result[2]?.type).to.equal('TransactionConfirmed');
40
+ expect(result[2].title).to.equal('Approve');
41
+ expect(result[5]?.type).to.equal('TransactionConfirmed');
42
+ expect(result[5].title).to.equal('Deposit');
26
43
  });
27
44
  });
28
45
  //# sourceMappingURL=BalanceSheet.test.js.map
@@ -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,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACxD,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,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,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"BalanceSheet.test.js","sourceRoot":"","sources":["../../src/entities/BalanceSheet.test.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,12 @@ export declare class Pool extends Entity {
31
31
  totalIssuance: import("../index.js").Balance;
32
32
  pricePerShare: import("../index.js").Price;
33
33
  nav: import("../index.js").Balance;
34
+ navPerNetwork: {
35
+ chainId: number;
36
+ totalIssuance: import("../index.js").Balance;
37
+ pricePerShare: import("../index.js").Price;
38
+ nav: import("../index.js").Balance;
39
+ }[];
34
40
  };
35
41
  }[];
36
42
  }>;
@@ -44,6 +50,12 @@ export declare class Pool extends Entity {
44
50
  totalIssuance: import("../index.js").Balance;
45
51
  pricePerShare: import("../index.js").Price;
46
52
  nav: import("../index.js").Balance;
53
+ navPerNetwork: {
54
+ chainId: number;
55
+ totalIssuance: import("../index.js").Balance;
56
+ pricePerShare: import("../index.js").Price;
57
+ nav: import("../index.js").Balance;
58
+ }[];
47
59
  }[]>;
48
60
  /**
49
61
  * Check if an address is a manager of the pool.
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../../src/entities/Pool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,qBAAa,IAAK,SAAQ,MAAM;IAOrB,OAAO,EAAE,MAAM;IANxB,EAAE,EAAE,MAAM,CAAA;IAYV,IAAI,OAAO,YAEV;IAED;;;OAGG;IACH,OAAO;;;;;;;;;;;;;;;;;;;;;IAkBP,QAAQ;IAuCR,YAAY;IAMZ,UAAU,CAAC,IAAI,EAAE,YAAY;IAY7B,mBAAmB;;;;;;;;IAUnB;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS;IAehC;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAezD;;OAEG;IACH,QAAQ;IAUR;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM;IAYvB;;OAEG;IACH,cAAc;IAqBd,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS;IAI3D;;OAEG;IACH,QAAQ;;;;;;IAoCR,cAAc,CAAC,QAAQ,EAAE,YAAY;IAkBrC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE;IAmBxE;;OAEG;IACH,0BAA0B,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE;IAyBjG,cAAc,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,EAAE;CAgDzE"}
1
+ {"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../../src/entities/Pool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,qBAAa,IAAK,SAAQ,MAAM;IAOrB,OAAO,EAAE,MAAM;IANxB,EAAE,EAAE,MAAM,CAAA;IAYV,IAAI,OAAO,YAEV;IAED;;;OAGG;IACH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkBP,QAAQ;IAuCR,YAAY;IAMZ,UAAU,CAAC,IAAI,EAAE,YAAY;IAY7B,mBAAmB;;;;;;;;;;;;;;IAUnB;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS;IAehC;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAezD;;OAEG;IACH,QAAQ;IAUR;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM;IAYvB;;OAEG;IACH,cAAc;IAqBd,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS;IAI3D;;OAEG;IACH,QAAQ;;;;;;IAoCR,cAAc,CAAC,QAAQ,EAAE,YAAY;IAiBrC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE;IA2BxE;;OAEG;IACH,0BAA0B,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE;IAyBjG,cAAc,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,EAAE;CAuCzE"}
@@ -4,7 +4,7 @@ import { ABI } from '../abi/index.js';
4
4
  import { NATIONAL_CURRENCY_METADATA } from '../utils/currencies.js';
5
5
  import { addressToBytes32 } from '../utils/index.js';
6
6
  import { repeatOnEvents } from '../utils/rx.js';
7
- import { doTransaction, wrapTransaction } from '../utils/transaction.js';
7
+ import { wrapTransaction } from '../utils/transaction.js';
8
8
  import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
9
9
  import { Entity } from './Entity.js';
10
10
  import { PoolNetwork } from './PoolNetwork.js';
@@ -188,16 +188,17 @@ export class Pool extends Entity {
188
188
  }
189
189
  updateMetadata(metadata) {
190
190
  const self = this;
191
- return this._transact(async function* ({ walletClient, publicClient }) {
191
+ return this._transact(async function* (ctx) {
192
192
  const cid = await self._root.config.pinJson(metadata);
193
193
  const { hub } = await self._root._protocolAddresses(self.chainId);
194
- yield* doTransaction('Update metadata', publicClient, () => walletClient.writeContract({
195
- address: hub,
196
- abi: ABI.Hub,
197
- functionName: 'setPoolMetadata',
198
- args: [self.id.raw, toHex(cid)],
199
- value: 0n,
200
- }));
194
+ yield* wrapTransaction('Update metadata', ctx, {
195
+ contract: hub,
196
+ data: encodeFunctionData({
197
+ abi: ABI.Hub,
198
+ functionName: 'setPoolMetadata',
199
+ args: [self.id.raw, toHex(cid)],
200
+ }),
201
+ });
201
202
  }, this.chainId);
202
203
  }
203
204
  /**
@@ -207,6 +208,12 @@ export class Pool extends Entity {
207
208
  const self = this;
208
209
  return this._transact(async function* (ctx) {
209
210
  const { hub } = await self._root._protocolAddresses(self.chainId);
211
+ // Ensure that updating the signer's address is always last in the batch,
212
+ // to prevent removing the signer from the list of managers, before having added others,
213
+ // which would cause the other updates to fail.
214
+ const selfUpdateIndex = updates.findIndex((u) => u.address.toLowerCase() === ctx.signingAddress.toLowerCase());
215
+ const selfUpdate = updates.splice(selfUpdateIndex >>> 0, 1);
216
+ updates.push(...selfUpdate);
210
217
  const batch = updates.map(({ address, canManage }) => encodeFunctionData({
211
218
  abi: ABI.Hub,
212
219
  functionName: 'updateHubManager',
@@ -244,26 +251,16 @@ export class Pool extends Entity {
244
251
  }
245
252
  createAccounts(accounts) {
246
253
  const self = this;
247
- return this._transact(async function* ({ walletClient, publicClient }) {
254
+ return this._transact(async function* (ctx) {
248
255
  const { hub } = await self._root._protocolAddresses(self.chainId);
249
256
  const txBatch = accounts.map(({ accountId, isDebitNormal }) => encodeFunctionData({
250
257
  abi: ABI.Hub,
251
258
  functionName: 'createAccount',
252
259
  args: [self.id.raw, accountId, isDebitNormal],
253
260
  }));
254
- yield* doTransaction('Create accounts', publicClient, () => {
255
- if (txBatch.length === 1) {
256
- return walletClient.sendTransaction({
257
- data: txBatch[0],
258
- to: hub,
259
- });
260
- }
261
- return walletClient.writeContract({
262
- address: hub,
263
- abi: ABI.Hub,
264
- functionName: 'multicall',
265
- args: [txBatch],
266
- });
261
+ yield* wrapTransaction('Create accounts', ctx, {
262
+ contract: hub,
263
+ data: txBatch,
267
264
  });
268
265
  }, this.chainId);
269
266
  }