@huma-finance/soroban-pool 0.0.15 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,23 +1,31 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Buffer } from "buffer";
1
4
  import { AssembledTransaction, Client as ContractClient, ClientOptions as ContractClientOptions } from "@stellar/stellar-sdk/contract";
2
5
  import type { u32, u64, u128, Option } from "@stellar/stellar-sdk/contract";
3
6
  export * from "@stellar/stellar-sdk";
4
7
  export * as contract from "@stellar/stellar-sdk/contract";
5
8
  export * as rpc from "@stellar/stellar-sdk/rpc";
6
9
  export declare const networks: {
7
- readonly testnet: {
8
- readonly networkPassphrase: "Test SDF Network ; September 2015";
9
- readonly contractId: "CAI6UQAXZ6ICE5QQ4WFEEDQLZORGMYBCL2RB2NVY6AGMH4XT6PCH7IPX";
10
+ readonly unknown: {
11
+ readonly networkPassphrase: "Public Global Stellar Network ; September 2015";
12
+ readonly contractId: "CAOYBU6OQWAF3OZBHW5N6ID7TPAKZBJ27XR63IGTXMWEI3NSNTCYI6SH";
10
13
  };
11
14
  };
15
+ export interface HumaConfigChangedEvent {
16
+ huma_config: string;
17
+ }
18
+ export interface PoolAddressesChangedEvent {
19
+ credit: string;
20
+ credit_manager: string;
21
+ pool_storage: string;
22
+ }
12
23
  export type ClientDataKey = {
13
24
  tag: "HumaConfig";
14
25
  values: void;
15
26
  } | {
16
27
  tag: "PoolStorage";
17
28
  values: void;
18
- } | {
19
- tag: "PoolManager";
20
- values: void;
21
29
  } | {
22
30
  tag: "Credit";
23
31
  values: void;
@@ -25,50 +33,11 @@ export type ClientDataKey = {
25
33
  tag: "CreditManager";
26
34
  values: void;
27
35
  };
28
- export interface HumaConfigChangedEvent {
29
- huma_config: string;
30
- }
31
- export interface PoolAddressesChangedEvent {
32
- credit: string;
33
- credit_manager: string;
34
- pool_manager: string;
35
- pool_storage: string;
36
- }
37
- export interface HumaConfigChangedEvent {
38
- huma_config: string;
39
- }
40
- export interface PoolAddressesChangedEvent {
41
- pool_manager: string;
42
- pool_storage: string;
43
- }
44
- export interface CreditAddressesChangedEvent {
45
- credit: string;
46
- credit_manager: string;
47
- }
48
- export interface TranchesPolicyTypeChangedEvent {
49
- policy_type: TranchesPolicyType;
50
- }
51
- /**
52
- * Event for the distribution of profit in the pool.
53
- * # Fields:
54
- * * `profit` - The amount of profit distributed.
55
- * * `senior_total_assets` - The total amount of senior assets post profit distribution.
56
- * * `junior_total_assets` - The total amount of junior assets post profit distribution.
57
- */
58
36
  export interface ProfitDistributedEvent {
59
37
  junior_total_assets: u128;
60
38
  profit: u128;
61
39
  senior_total_assets: u128;
62
40
  }
63
- /**
64
- * Event for the distribution of loss in the pool.
65
- * # Fields:
66
- * * `loss` - The amount of loss distributed.
67
- * * `senior_total_assets` - The total amount of senior assets post loss distribution.
68
- * * `junior_total_assets` - The total amount of junior assets post loss distribution.
69
- * * `senior_total_loss` - The total amount of loss the senior tranche suffered post loss distribution.
70
- * * `junior_total_loss` - The total amount of loss the junior tranche suffered post loss distribution.
71
- */
72
41
  export interface LossDistributedEvent {
73
42
  junior_total_assets: u128;
74
43
  junior_total_loss: u128;
@@ -76,15 +45,6 @@ export interface LossDistributedEvent {
76
45
  senior_total_assets: u128;
77
46
  senior_total_loss: u128;
78
47
  }
79
- /**
80
- * Event for the distribution of loss recovery in the pool.
81
- * # Fields:
82
- * * `loss_recovery` - The amount of loss recovery distributed.
83
- * * `senior_total_assets` - The total amount of senior assets post loss recovery distribution.
84
- * * `junior_total_assets` - The total amount of junior assets post loss recovery distribution.
85
- * * `senior_total_loss` - The remaining amount of loss the senior tranche suffered post loss recovery distribution.
86
- * * `junior_total_loss` - The remaining amount of loss the junior tranche suffered post loss recovery distribution.
87
- */
88
48
  export interface LossRecoveryDistributedEvent {
89
49
  junior_total_assets: u128;
90
50
  junior_total_loss: u128;
@@ -92,13 +52,6 @@ export interface LossRecoveryDistributedEvent {
92
52
  senior_total_assets: u128;
93
53
  senior_total_loss: u128;
94
54
  }
95
- export type TranchesPolicyType = {
96
- tag: "FixedSeniorYield";
97
- values: void;
98
- } | {
99
- tag: "RiskAdjusted";
100
- values: void;
101
- };
102
55
  export interface TrancheLosses {
103
56
  losses: Array<u128>;
104
57
  }
@@ -118,7 +71,7 @@ export type PayPeriodDuration = {
118
71
  values: void;
119
72
  };
120
73
  export declare const Errors: {
121
- 101: {
74
+ 801: {
122
75
  message: string;
123
76
  };
124
77
  1: {
@@ -136,6 +89,19 @@ export declare const Errors: {
136
89
  5: {
137
90
  message: string;
138
91
  };
92
+ 6: {
93
+ message: string;
94
+ };
95
+ 7: {
96
+ message: string;
97
+ };
98
+ };
99
+ export type TranchesPolicyType = {
100
+ tag: "FixedSeniorYield";
101
+ values: void;
102
+ } | {
103
+ tag: "RiskAdjusted";
104
+ values: void;
139
105
  };
140
106
  export interface PoolSettings {
141
107
  default_grace_period_days: u32;
@@ -146,6 +112,7 @@ export interface PoolSettings {
146
112
  principal_only_payment_allowed: boolean;
147
113
  }
148
114
  export interface LPConfig {
115
+ auto_redemption_after_lockup: boolean;
149
116
  fixed_senior_yield_bps: u32;
150
117
  liquidity_cap: u128;
151
118
  max_senior_junior_ratio: u32;
@@ -188,9 +155,8 @@ export interface Client {
188
155
  /**
189
156
  * Construct and simulate a initialize transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
190
157
  */
191
- initialize: ({ huma_config, pool_manager, pool_storage, credit_manager, credit, }: {
158
+ initialize: ({ huma_config, pool_storage, credit_manager, credit, }: {
192
159
  huma_config: string;
193
- pool_manager: string;
194
160
  pool_storage: string;
195
161
  credit_manager: string;
196
162
  credit: string;
@@ -230,9 +196,9 @@ export interface Client {
230
196
  /**
231
197
  * Construct and simulate a set_contract_addrs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
232
198
  */
233
- set_contract_addrs: ({ pool_storage, pool_manager, credit, credit_manager, }: {
199
+ set_contract_addrs: ({ caller, pool_storage, credit, credit_manager, }: {
200
+ caller: string;
234
201
  pool_storage: string;
235
- pool_manager: string;
236
202
  credit: string;
237
203
  credit_manager: string;
238
204
  }, options?: {
@@ -309,6 +275,25 @@ export interface Client {
309
275
  */
310
276
  simulate?: boolean;
311
277
  }) => Promise<AssembledTransaction<null>>;
278
+ /**
279
+ * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
280
+ */
281
+ upgrade: ({ new_wasm_hash }: {
282
+ new_wasm_hash: Buffer;
283
+ }, options?: {
284
+ /**
285
+ * The fee to pay for the transaction. Default: BASE_FEE
286
+ */
287
+ fee?: number;
288
+ /**
289
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
290
+ */
291
+ timeoutInSeconds?: number;
292
+ /**
293
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
294
+ */
295
+ simulate?: boolean;
296
+ }) => Promise<AssembledTransaction<null>>;
312
297
  /**
313
298
  * Construct and simulate a get_protocol_income_accrued transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
314
299
  */
@@ -371,6 +356,7 @@ export declare class Client extends ContractClient {
371
356
  distribute_profit: (json: string) => AssembledTransaction<null>;
372
357
  distribute_loss: (json: string) => AssembledTransaction<null>;
373
358
  distribute_loss_recovery: (json: string) => AssembledTransaction<null>;
359
+ upgrade: (json: string) => AssembledTransaction<null>;
374
360
  get_protocol_income_accrued: (json: string) => AssembledTransaction<bigint>;
375
361
  get_pool_owner_income_accrued: (json: string) => AssembledTransaction<bigint>;
376
362
  get_ea_income_accrued: (json: string) => AssembledTransaction<bigint>;
package/dist/index.js CHANGED
@@ -1,58 +1,85 @@
1
- import { Buffer } from "buffer";
2
- import { Client as ContractClient, Spec as ContractSpec, } from "@stellar/stellar-sdk/contract";
3
- export * from "@stellar/stellar-sdk";
4
- export * as contract from "@stellar/stellar-sdk/contract";
5
- export * as rpc from "@stellar/stellar-sdk/rpc";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Client = exports.Errors = exports.networks = exports.rpc = exports.contract = void 0;
30
+ const buffer_1 = require("buffer");
31
+ const contract_1 = require("@stellar/stellar-sdk/contract");
32
+ __exportStar(require("@stellar/stellar-sdk"), exports);
33
+ exports.contract = __importStar(require("@stellar/stellar-sdk/contract"));
34
+ exports.rpc = __importStar(require("@stellar/stellar-sdk/rpc"));
6
35
  if (typeof window !== "undefined") {
7
36
  //@ts-ignore Buffer exists
8
- window.Buffer = window.Buffer || Buffer;
37
+ window.Buffer = window.Buffer || buffer_1.Buffer;
9
38
  }
10
- export const networks = {
11
- testnet: {
12
- networkPassphrase: "Test SDF Network ; September 2015",
13
- contractId: "CAI6UQAXZ6ICE5QQ4WFEEDQLZORGMYBCL2RB2NVY6AGMH4XT6PCH7IPX",
39
+ exports.networks = {
40
+ unknown: {
41
+ networkPassphrase: "Public Global Stellar Network ; September 2015",
42
+ contractId: "CAOYBU6OQWAF3OZBHW5N6ID7TPAKZBJ27XR63IGTXMWEI3NSNTCYI6SH",
14
43
  },
15
44
  };
16
- export const Errors = {
17
- 101: { message: "" },
18
- 1: { message: "" },
19
- 2: { message: "" },
20
- 3: { message: "" },
21
- 4: { message: "" },
22
- 5: { message: "" },
45
+ exports.Errors = {
46
+ 801: { message: "StartDateLaterThanEndDate" },
47
+ 1: { message: "AlreadyInitialized" },
48
+ 2: { message: "ProtocolIsPausedOrPoolIsNotOn" },
49
+ 3: { message: "PoolOwnerOrHumaOwnerRequired" },
50
+ 4: { message: "PoolOperatorRequired" },
51
+ 5: { message: "AuthorizedContractCallerRequired" },
52
+ 6: { message: "UnsupportedFunction" },
53
+ 7: { message: "ZeroAmountProvided" },
23
54
  };
24
- export class Client extends ContractClient {
55
+ class Client extends contract_1.Client {
25
56
  options;
26
57
  constructor(options) {
27
- super(new ContractSpec([
28
- "AAAAAgAAAAAAAAAAAAAADUNsaWVudERhdGFLZXkAAAAAAAAFAAAAAAAAAAAAAAAKSHVtYUNvbmZpZwAAAAAAAAAAAAAAAAALUG9vbFN0b3JhZ2UAAAAAAAAAAAAAAAALUG9vbE1hbmFnZXIAAAAAAAAAAAAAAAAGQ3JlZGl0AAAAAAAAAAAAAAAAAA1DcmVkaXRNYW5hZ2VyAAAA",
58
+ super(new contract_1.Spec([
29
59
  "AAAAAQAAAAAAAAAAAAAAFkh1bWFDb25maWdDaGFuZ2VkRXZlbnQAAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABM=",
30
- "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAAEAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
31
- "AAAAAQAAAAAAAAAAAAAAFkh1bWFDb25maWdDaGFuZ2VkRXZlbnQAAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABM=",
32
- "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAACAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
33
- "AAAAAQAAAAAAAAAAAAAAG0NyZWRpdEFkZHJlc3Nlc0NoYW5nZWRFdmVudAAAAAACAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAAT",
34
- "AAAAAQAAAAAAAAAAAAAAHlRyYW5jaGVzUG9saWN5VHlwZUNoYW5nZWRFdmVudAAAAAAAAQAAAAAAAAALcG9saWN5X3R5cGUAAAAH0AAAABJUcmFuY2hlc1BvbGljeVR5cGUAAA==",
35
- "AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAABQAAAAAAAAALaHVtYV9jb25maWcAAAAAEwAAAAAAAAAMcG9vbF9tYW5hZ2VyAAAAEwAAAAAAAAAMcG9vbF9zdG9yYWdlAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAA=",
60
+ "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAADAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
61
+ "AAAAAgAAAAAAAAAAAAAADUNsaWVudERhdGFLZXkAAAAAAAAEAAAAAAAAAAAAAAAKSHVtYUNvbmZpZwAAAAAAAAAAAAAAAAALUG9vbFN0b3JhZ2UAAAAAAAAAAAAAAAAGQ3JlZGl0AAAAAAAAAAAAAAAAAA1DcmVkaXRNYW5hZ2VyAAAA",
62
+ "AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAABAAAAAAAAAALaHVtYV9jb25maWcAAAAAEwAAAAAAAAAMcG9vbF9zdG9yYWdlAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAA=",
36
63
  "AAAAAAAAAAAAAAAPc2V0X2h1bWFfY29uZmlnAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABMAAAAA",
37
- "AAAAAAAAAAAAAAASc2V0X2NvbnRyYWN0X2FkZHJzAAAAAAAEAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAATAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAA==",
64
+ "AAAAAAAAAAAAAAASc2V0X2NvbnRyYWN0X2FkZHJzAAAAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAADHBvb2xfc3RvcmFnZQAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAA",
38
65
  "AAAAAAAAAAAAAAARZGlzdHJpYnV0ZV9wcm9maXQAAAAAAAACAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABnByb2ZpdAAAAAAACgAAAAA=",
39
66
  "AAAAAAAAAAAAAAAPZGlzdHJpYnV0ZV9sb3NzAAAAAAIAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAEbG9zcwAAAAoAAAAA",
40
67
  "AAAAAAAAAAAAAAAYZGlzdHJpYnV0ZV9sb3NzX3JlY292ZXJ5AAAAAgAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAA1sb3NzX3JlY292ZXJ5AAAAAAAACgAAAAA=",
68
+ "AAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
41
69
  "AAAAAAAAAAAAAAAbZ2V0X3Byb3RvY29sX2luY29tZV9hY2NydWVkAAAAAAAAAAABAAAACg==",
42
70
  "AAAAAAAAAAAAAAAdZ2V0X3Bvb2xfb3duZXJfaW5jb21lX2FjY3J1ZWQAAAAAAAAAAAAAAQAAAAo=",
43
71
  "AAAAAAAAAAAAAAAVZ2V0X2VhX2luY29tZV9hY2NydWVkAAAAAAAAAAAAAAEAAAAK",
44
- "AAAAAQAAARZFdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBwcm9maXQgaW4gdGhlIHBvb2wuCiMgRmllbGRzOgoqIGBwcm9maXRgIC0gVGhlIGFtb3VudCBvZiBwcm9maXQgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgcHJvZml0IGRpc3RyaWJ1dGlvbi4KKiBganVuaW9yX3RvdGFsX2Fzc2V0c2AgLSBUaGUgdG90YWwgYW1vdW50IG9mIGp1bmlvciBhc3NldHMgcG9zdCBwcm9maXQgZGlzdHJpYnV0aW9uLgAAAAAAAAAAABZQcm9maXREaXN0cmlidXRlZEV2ZW50AAAAAAADAAAAAAAAABNqdW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAABnByb2ZpdAAAAAAACgAAAAAAAAATc2VuaW9yX3RvdGFsX2Fzc2V0cwAAAAAK",
45
- "AAAAAQAAAdZFdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBsb3NzIGluIHRoZSBwb29sLgojIEZpZWxkczoKKiBgbG9zc2AgLSBUaGUgYW1vdW50IG9mIGxvc3MgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgbG9zcyBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBqdW5pb3IgYXNzZXRzIHBvc3QgbG9zcyBkaXN0cmlidXRpb24uCiogYHNlbmlvcl90b3RhbF9sb3NzYCAtIFRoZSB0b3RhbCBhbW91bnQgb2YgbG9zcyB0aGUgc2VuaW9yIHRyYW5jaGUgc3VmZmVyZWQgcG9zdCBsb3NzIGRpc3RyaWJ1dGlvbi4KKiBganVuaW9yX3RvdGFsX2xvc3NgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBsb3NzIHRoZSBqdW5pb3IgdHJhbmNoZSBzdWZmZXJlZCBwb3N0IGxvc3MgZGlzdHJpYnV0aW9uLgAAAAAAAAAAABRMb3NzRGlzdHJpYnV0ZWRFdmVudAAAAAUAAAAAAAAAE2p1bmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAARanVuaW9yX3RvdGFsX2xvc3MAAAAAAAAKAAAAAAAAAARsb3NzAAAACgAAAAAAAAATc2VuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFzZW5pb3JfdG90YWxfbG9zcwAAAAAAAAo=",
46
- "AAAAAQAAAh1FdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBsb3NzIHJlY292ZXJ5IGluIHRoZSBwb29sLgojIEZpZWxkczoKKiBgbG9zc19yZWNvdmVyeWAgLSBUaGUgYW1vdW50IG9mIGxvc3MgcmVjb3ZlcnkgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBqdW5pb3IgYXNzZXRzIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYHNlbmlvcl90b3RhbF9sb3NzYCAtIFRoZSByZW1haW5pbmcgYW1vdW50IG9mIGxvc3MgdGhlIHNlbmlvciB0cmFuY2hlIHN1ZmZlcmVkIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9sb3NzYCAtIFRoZSByZW1haW5pbmcgYW1vdW50IG9mIGxvc3MgdGhlIGp1bmlvciB0cmFuY2hlIHN1ZmZlcmVkIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uAAAAAAAAAAAAABxMb3NzUmVjb3ZlcnlEaXN0cmlidXRlZEV2ZW50AAAABQAAAAAAAAATanVuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFqdW5pb3JfdG90YWxfbG9zcwAAAAAAAAoAAAAAAAAADWxvc3NfcmVjb3ZlcnkAAAAAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEXNlbmlvcl90b3RhbF9sb3NzAAAAAAAACg==",
47
- "AAAAAgAAAAAAAAAAAAAAElRyYW5jaGVzUG9saWN5VHlwZQAAAAAAAgAAAAAAAAAAAAAAEEZpeGVkU2VuaW9yWWllbGQAAAAAAAAAAAAAAAxSaXNrQWRqdXN0ZWQ=",
72
+ "AAAAAQAAAAAAAAAAAAAAFlByb2ZpdERpc3RyaWJ1dGVkRXZlbnQAAAAAAAMAAAAAAAAAE2p1bmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAAGcHJvZml0AAAAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAo=",
73
+ "AAAAAQAAAAAAAAAAAAAAFExvc3NEaXN0cmlidXRlZEV2ZW50AAAABQAAAAAAAAATanVuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFqdW5pb3JfdG90YWxfbG9zcwAAAAAAAAoAAAAAAAAABGxvc3MAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEXNlbmlvcl90b3RhbF9sb3NzAAAAAAAACg==",
74
+ "AAAAAQAAAAAAAAAAAAAAHExvc3NSZWNvdmVyeURpc3RyaWJ1dGVkRXZlbnQAAAAFAAAAAAAAABNqdW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEWp1bmlvcl90b3RhbF9sb3NzAAAAAAAACgAAAAAAAAANbG9zc19yZWNvdmVyeQAAAAAAAAoAAAAAAAAAE3Nlbmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAARc2VuaW9yX3RvdGFsX2xvc3MAAAAAAAAK",
48
75
  "AAAAAQAAAAAAAAAAAAAADVRyYW5jaGVMb3NzZXMAAAAAAAABAAAAAAAAAAZsb3NzZXMAAAAAA+oAAAAK",
49
76
  "AAAAAQAAAAAAAAAAAAAADkFjY3J1ZWRJbmNvbWVzAAAAAAADAAAAAAAAAAllYV9pbmNvbWUAAAAAAAAKAAAAAAAAABFwb29sX293bmVyX2luY29tZQAAAAAAAAoAAAAAAAAAD3Byb3RvY29sX2luY29tZQAAAAAK",
50
77
  "AAAAAgAAAAAAAAAAAAAAEVBheVBlcmlvZER1cmF0aW9uAAAAAAAAAwAAAAAAAAAAAAAAB01vbnRobHkAAAAAAAAAAAAAAAAJUXVhcnRlcmx5AAAAAAAAAAAAAAAAAAAMU2VtaUFubnVhbGx5",
51
- "AAAABAAAAAAAAAAAAAAADUNhbGVuZGFyRXJyb3IAAAAAAAABAAAAAAAAABlTdGFydERhdGVMYXRlclRoYW5FbmREYXRlAAAAAAAAZQ==",
52
- "AAAABAAAAAAAAAAAAAAAC0NvbW1vbkVycm9yAAAAAAUAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAAAQAAAAAAAAAdUHJvdG9jb2xJc1BhdXNlZE9yUG9vbElzTm90T24AAAAAAAACAAAAAAAAACBBdXRob3JpemVkQ29udHJhY3RDYWxsZXJSZXF1aXJlZAAAAAMAAAAAAAAAE1Vuc3VwcG9ydGVkRnVuY3Rpb24AAAAABAAAAAAAAAASWmVyb0Ftb3VudFByb3ZpZGVkAAAAAAAF",
78
+ "AAAABAAAAAAAAAAAAAAADUNhbGVuZGFyRXJyb3IAAAAAAAABAAAAAAAAABlTdGFydERhdGVMYXRlclRoYW5FbmREYXRlAAAAAAADIQ==",
79
+ "AAAABAAAAAAAAAAAAAAAC0NvbW1vbkVycm9yAAAAAAcAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAAAQAAAAAAAAAdUHJvdG9jb2xJc1BhdXNlZE9yUG9vbElzTm90T24AAAAAAAACAAAAAAAAABxQb29sT3duZXJPckh1bWFPd25lclJlcXVpcmVkAAAAAwAAAAAAAAAUUG9vbE9wZXJhdG9yUmVxdWlyZWQAAAAEAAAAAAAAACBBdXRob3JpemVkQ29udHJhY3RDYWxsZXJSZXF1aXJlZAAAAAUAAAAAAAAAE1Vuc3VwcG9ydGVkRnVuY3Rpb24AAAAABgAAAAAAAAASWmVyb0Ftb3VudFByb3ZpZGVkAAAAAAAH",
53
80
  "AAAAAgAAAAAAAAAAAAAAElRyYW5jaGVzUG9saWN5VHlwZQAAAAAAAgAAAAAAAAAAAAAAEEZpeGVkU2VuaW9yWWllbGQAAAAAAAAAAAAAAAxSaXNrQWRqdXN0ZWQ=",
54
81
  "AAAAAQAAAAAAAAAAAAAADFBvb2xTZXR0aW5ncwAAAAYAAAAAAAAAGWRlZmF1bHRfZ3JhY2VfcGVyaW9kX2RheXMAAAAAAAAEAAAAAAAAAB5sYXRlX3BheW1lbnRfZ3JhY2VfcGVyaW9kX2RheXMAAAAAAAQAAAAAAAAAD21heF9jcmVkaXRfbGluZQAAAAAKAAAAAAAAABJtaW5fZGVwb3NpdF9hbW91bnQAAAAAAAoAAAAAAAAAE3BheV9wZXJpb2RfZHVyYXRpb24AAAAH0AAAABFQYXlQZXJpb2REdXJhdGlvbgAAAAAAAAAAAAAecHJpbmNpcGFsX29ubHlfcGF5bWVudF9hbGxvd2VkAAAAAAAB",
55
- "AAAAAQAAAAAAAAAAAAAACExQQ29uZmlnAAAABQAAAAAAAAAWZml4ZWRfc2VuaW9yX3lpZWxkX2JwcwAAAAAABAAAAAAAAAANbGlxdWlkaXR5X2NhcAAAAAAAAAoAAAAAAAAAF21heF9zZW5pb3JfanVuaW9yX3JhdGlvAAAAAAQAAAAAAAAAHHRyYW5jaGVzX3Jpc2tfYWRqdXN0bWVudF9icHMAAAAEAAAAAAAAAB53aXRoZHJhd2FsX2xvY2tvdXRfcGVyaW9kX2RheXMAAAAAAAQ=",
82
+ "AAAAAQAAAAAAAAAAAAAACExQQ29uZmlnAAAABgAAAAAAAAAcYXV0b19yZWRlbXB0aW9uX2FmdGVyX2xvY2t1cAAAAAEAAAAAAAAAFmZpeGVkX3Nlbmlvcl95aWVsZF9icHMAAAAAAAQAAAAAAAAADWxpcXVpZGl0eV9jYXAAAAAAAAAKAAAAAAAAABdtYXhfc2VuaW9yX2p1bmlvcl9yYXRpbwAAAAAEAAAAAAAAABx0cmFuY2hlc19yaXNrX2FkanVzdG1lbnRfYnBzAAAABAAAAAAAAAAed2l0aGRyYXdhbF9sb2Nrb3V0X3BlcmlvZF9kYXlzAAAAAAAE",
56
83
  "AAAAAQAAAAAAAAAAAAAADEZlZVN0cnVjdHVyZQAAAAQAAAAAAAAAFWZyb250X2xvYWRpbmdfZmVlX2JwcwAAAAAAAAQAAAAAAAAAFmZyb250X2xvYWRpbmdfZmVlX2ZsYXQAAAAAAAoAAAAAAAAADGxhdGVfZmVlX2JwcwAAAAQAAAAAAAAACXlpZWxkX2JwcwAAAAAAAAQ=",
57
84
  "AAAAAgAAAAAAAAAAAAAAClBvb2xTdGF0dXMAAAAAAAMAAAAAAAAAAAAAAANPZmYAAAAAAAAAAAAAAAACT24AAAAAAAAAAAAAAAAABkNsb3NlZAAA",
58
85
  "AAAAAQAAAAAAAAAAAAAABUVwb2NoAAAAAAAAAgAAAAAAAAAIZW5kX3RpbWUAAAAGAAAAAAAAAAJpZAAAAAAABg==",
@@ -69,8 +96,10 @@ export class Client extends ContractClient {
69
96
  distribute_profit: (this.txFromJSON),
70
97
  distribute_loss: (this.txFromJSON),
71
98
  distribute_loss_recovery: (this.txFromJSON),
99
+ upgrade: (this.txFromJSON),
72
100
  get_protocol_income_accrued: (this.txFromJSON),
73
101
  get_pool_owner_income_accrued: (this.txFromJSON),
74
102
  get_ea_income_accrued: (this.txFromJSON),
75
103
  };
76
104
  }
105
+ exports.Client = Client;
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
- "version": "0.0.15",
2
+ "version": "0.0.16",
3
3
  "name": "@huma-finance/soroban-pool",
4
- "exports": "./dist/index.js",
4
+ "exports": {
5
+ ".": {
6
+ "require": "./dist/cjs/index.js",
7
+ "import": "./dist/index.js"
8
+ }
9
+ },
5
10
  "typings": "dist/index.d.ts",
6
11
  "scripts": {
7
- "build": "tsc"
12
+ "build": "tsc --project ./tsconfig.json && tsc --project ./tsconfig.cjs.json",
13
+ "clean": "tsc --build --clean && rm -rf dist"
8
14
  },
9
15
  "dependencies": {
10
16
  "@stellar/stellar-sdk": "12.1.0",
@@ -17,5 +23,5 @@
17
23
  "access": "public",
18
24
  "registry": "https://registry.npmjs.org/"
19
25
  },
20
- "gitHead": "9c1abb0c7c1fecca01055e9ca12fb9076e82ec73"
26
+ "gitHead": "73184c70388ca1526026499258cefe8daf23cbef"
21
27
  }
package/src/index.ts CHANGED
@@ -30,19 +30,12 @@ if (typeof window !== "undefined") {
30
30
  }
31
31
 
32
32
  export const networks = {
33
- testnet: {
34
- networkPassphrase: "Test SDF Network ; September 2015",
35
- contractId: "CAI6UQAXZ6ICE5QQ4WFEEDQLZORGMYBCL2RB2NVY6AGMH4XT6PCH7IPX",
33
+ unknown: {
34
+ networkPassphrase: "Public Global Stellar Network ; September 2015",
35
+ contractId: "CAOYBU6OQWAF3OZBHW5N6ID7TPAKZBJ27XR63IGTXMWEI3NSNTCYI6SH",
36
36
  },
37
37
  } as const;
38
38
 
39
- export type ClientDataKey =
40
- | { tag: "HumaConfig"; values: void }
41
- | { tag: "PoolStorage"; values: void }
42
- | { tag: "PoolManager"; values: void }
43
- | { tag: "Credit"; values: void }
44
- | { tag: "CreditManager"; values: void };
45
-
46
39
  export interface HumaConfigChangedEvent {
47
40
  huma_config: string;
48
41
  }
@@ -50,50 +43,21 @@ export interface HumaConfigChangedEvent {
50
43
  export interface PoolAddressesChangedEvent {
51
44
  credit: string;
52
45
  credit_manager: string;
53
- pool_manager: string;
54
46
  pool_storage: string;
55
47
  }
56
48
 
57
- export interface HumaConfigChangedEvent {
58
- huma_config: string;
59
- }
60
-
61
- export interface PoolAddressesChangedEvent {
62
- pool_manager: string;
63
- pool_storage: string;
64
- }
65
-
66
- export interface CreditAddressesChangedEvent {
67
- credit: string;
68
- credit_manager: string;
69
- }
70
-
71
- export interface TranchesPolicyTypeChangedEvent {
72
- policy_type: TranchesPolicyType;
73
- }
49
+ export type ClientDataKey =
50
+ | { tag: "HumaConfig"; values: void }
51
+ | { tag: "PoolStorage"; values: void }
52
+ | { tag: "Credit"; values: void }
53
+ | { tag: "CreditManager"; values: void };
74
54
 
75
- /**
76
- * Event for the distribution of profit in the pool.
77
- * # Fields:
78
- * * `profit` - The amount of profit distributed.
79
- * * `senior_total_assets` - The total amount of senior assets post profit distribution.
80
- * * `junior_total_assets` - The total amount of junior assets post profit distribution.
81
- */
82
55
  export interface ProfitDistributedEvent {
83
56
  junior_total_assets: u128;
84
57
  profit: u128;
85
58
  senior_total_assets: u128;
86
59
  }
87
60
 
88
- /**
89
- * Event for the distribution of loss in the pool.
90
- * # Fields:
91
- * * `loss` - The amount of loss distributed.
92
- * * `senior_total_assets` - The total amount of senior assets post loss distribution.
93
- * * `junior_total_assets` - The total amount of junior assets post loss distribution.
94
- * * `senior_total_loss` - The total amount of loss the senior tranche suffered post loss distribution.
95
- * * `junior_total_loss` - The total amount of loss the junior tranche suffered post loss distribution.
96
- */
97
61
  export interface LossDistributedEvent {
98
62
  junior_total_assets: u128;
99
63
  junior_total_loss: u128;
@@ -102,15 +66,6 @@ export interface LossDistributedEvent {
102
66
  senior_total_loss: u128;
103
67
  }
104
68
 
105
- /**
106
- * Event for the distribution of loss recovery in the pool.
107
- * # Fields:
108
- * * `loss_recovery` - The amount of loss recovery distributed.
109
- * * `senior_total_assets` - The total amount of senior assets post loss recovery distribution.
110
- * * `junior_total_assets` - The total amount of junior assets post loss recovery distribution.
111
- * * `senior_total_loss` - The remaining amount of loss the senior tranche suffered post loss recovery distribution.
112
- * * `junior_total_loss` - The remaining amount of loss the junior tranche suffered post loss recovery distribution.
113
- */
114
69
  export interface LossRecoveryDistributedEvent {
115
70
  junior_total_assets: u128;
116
71
  junior_total_loss: u128;
@@ -119,10 +74,6 @@ export interface LossRecoveryDistributedEvent {
119
74
  senior_total_loss: u128;
120
75
  }
121
76
 
122
- export type TranchesPolicyType =
123
- | { tag: "FixedSeniorYield"; values: void }
124
- | { tag: "RiskAdjusted"; values: void };
125
-
126
77
  export interface TrancheLosses {
127
78
  losses: Array<u128>;
128
79
  }
@@ -139,13 +90,25 @@ export type PayPeriodDuration =
139
90
  | { tag: "SemiAnnually"; values: void };
140
91
 
141
92
  export const Errors = {
142
- 101: { message: "" },
143
- 1: { message: "" },
144
- 2: { message: "" },
145
- 3: { message: "" },
146
- 4: { message: "" },
147
- 5: { message: "" },
93
+ 801: { message: "StartDateLaterThanEndDate" },
94
+
95
+ 1: { message: "AlreadyInitialized" },
96
+
97
+ 2: { message: "ProtocolIsPausedOrPoolIsNotOn" },
98
+
99
+ 3: { message: "PoolOwnerOrHumaOwnerRequired" },
100
+
101
+ 4: { message: "PoolOperatorRequired" },
102
+
103
+ 5: { message: "AuthorizedContractCallerRequired" },
104
+
105
+ 6: { message: "UnsupportedFunction" },
106
+
107
+ 7: { message: "ZeroAmountProvided" },
148
108
  };
109
+ export type TranchesPolicyType =
110
+ | { tag: "FixedSeniorYield"; values: void }
111
+ | { tag: "RiskAdjusted"; values: void };
149
112
 
150
113
  export interface PoolSettings {
151
114
  default_grace_period_days: u32;
@@ -157,6 +120,7 @@ export interface PoolSettings {
157
120
  }
158
121
 
159
122
  export interface LPConfig {
123
+ auto_redemption_after_lockup: boolean;
160
124
  fixed_senior_yield_bps: u32;
161
125
  liquidity_cap: u128;
162
126
  max_senior_junior_ratio: u32;
@@ -203,13 +167,11 @@ export interface Client {
203
167
  initialize: (
204
168
  {
205
169
  huma_config,
206
- pool_manager,
207
170
  pool_storage,
208
171
  credit_manager,
209
172
  credit,
210
173
  }: {
211
174
  huma_config: string;
212
- pool_manager: string;
213
175
  pool_storage: string;
214
176
  credit_manager: string;
215
177
  credit: string;
@@ -260,13 +222,13 @@ export interface Client {
260
222
  */
261
223
  set_contract_addrs: (
262
224
  {
225
+ caller,
263
226
  pool_storage,
264
- pool_manager,
265
227
  credit,
266
228
  credit_manager,
267
229
  }: {
230
+ caller: string;
268
231
  pool_storage: string;
269
- pool_manager: string;
270
232
  credit: string;
271
233
  credit_manager: string;
272
234
  },
@@ -357,6 +319,29 @@ export interface Client {
357
319
  }
358
320
  ) => Promise<AssembledTransaction<null>>;
359
321
 
322
+ /**
323
+ * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
324
+ */
325
+ upgrade: (
326
+ { new_wasm_hash }: { new_wasm_hash: Buffer },
327
+ options?: {
328
+ /**
329
+ * The fee to pay for the transaction. Default: BASE_FEE
330
+ */
331
+ fee?: number;
332
+
333
+ /**
334
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
335
+ */
336
+ timeoutInSeconds?: number;
337
+
338
+ /**
339
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
340
+ */
341
+ simulate?: boolean;
342
+ }
343
+ ) => Promise<AssembledTransaction<null>>;
344
+
360
345
  /**
361
346
  * Construct and simulate a get_protocol_income_accrued transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
362
347
  */
@@ -421,34 +406,30 @@ export class Client extends ContractClient {
421
406
  constructor(public readonly options: ContractClientOptions) {
422
407
  super(
423
408
  new ContractSpec([
424
- "AAAAAgAAAAAAAAAAAAAADUNsaWVudERhdGFLZXkAAAAAAAAFAAAAAAAAAAAAAAAKSHVtYUNvbmZpZwAAAAAAAAAAAAAAAAALUG9vbFN0b3JhZ2UAAAAAAAAAAAAAAAALUG9vbE1hbmFnZXIAAAAAAAAAAAAAAAAGQ3JlZGl0AAAAAAAAAAAAAAAAAA1DcmVkaXRNYW5hZ2VyAAAA",
425
- "AAAAAQAAAAAAAAAAAAAAFkh1bWFDb25maWdDaGFuZ2VkRXZlbnQAAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABM=",
426
- "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAAEAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
427
409
  "AAAAAQAAAAAAAAAAAAAAFkh1bWFDb25maWdDaGFuZ2VkRXZlbnQAAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABM=",
428
- "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAACAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
429
- "AAAAAQAAAAAAAAAAAAAAG0NyZWRpdEFkZHJlc3Nlc0NoYW5nZWRFdmVudAAAAAACAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAAT",
430
- "AAAAAQAAAAAAAAAAAAAAHlRyYW5jaGVzUG9saWN5VHlwZUNoYW5nZWRFdmVudAAAAAAAAQAAAAAAAAALcG9saWN5X3R5cGUAAAAH0AAAABJUcmFuY2hlc1BvbGljeVR5cGUAAA==",
431
- "AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAABQAAAAAAAAALaHVtYV9jb25maWcAAAAAEwAAAAAAAAAMcG9vbF9tYW5hZ2VyAAAAEwAAAAAAAAAMcG9vbF9zdG9yYWdlAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAA=",
410
+ "AAAAAQAAAAAAAAAAAAAAGVBvb2xBZGRyZXNzZXNDaGFuZ2VkRXZlbnQAAAAAAAADAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAAT",
411
+ "AAAAAgAAAAAAAAAAAAAADUNsaWVudERhdGFLZXkAAAAAAAAEAAAAAAAAAAAAAAAKSHVtYUNvbmZpZwAAAAAAAAAAAAAAAAALUG9vbFN0b3JhZ2UAAAAAAAAAAAAAAAAGQ3JlZGl0AAAAAAAAAAAAAAAAAA1DcmVkaXRNYW5hZ2VyAAAA",
412
+ "AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAABAAAAAAAAAALaHVtYV9jb25maWcAAAAAEwAAAAAAAAAMcG9vbF9zdG9yYWdlAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAA=",
432
413
  "AAAAAAAAAAAAAAAPc2V0X2h1bWFfY29uZmlnAAAAAAEAAAAAAAAAC2h1bWFfY29uZmlnAAAAABMAAAAA",
433
- "AAAAAAAAAAAAAAASc2V0X2NvbnRyYWN0X2FkZHJzAAAAAAAEAAAAAAAAAAxwb29sX3N0b3JhZ2UAAAATAAAAAAAAAAxwb29sX21hbmFnZXIAAAATAAAAAAAAAAZjcmVkaXQAAAAAABMAAAAAAAAADmNyZWRpdF9tYW5hZ2VyAAAAAAATAAAAAA==",
414
+ "AAAAAAAAAAAAAAASc2V0X2NvbnRyYWN0X2FkZHJzAAAAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAADHBvb2xfc3RvcmFnZQAAABMAAAAAAAAABmNyZWRpdAAAAAAAEwAAAAAAAAAOY3JlZGl0X21hbmFnZXIAAAAAABMAAAAA",
434
415
  "AAAAAAAAAAAAAAARZGlzdHJpYnV0ZV9wcm9maXQAAAAAAAACAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABnByb2ZpdAAAAAAACgAAAAA=",
435
416
  "AAAAAAAAAAAAAAAPZGlzdHJpYnV0ZV9sb3NzAAAAAAIAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAEbG9zcwAAAAoAAAAA",
436
417
  "AAAAAAAAAAAAAAAYZGlzdHJpYnV0ZV9sb3NzX3JlY292ZXJ5AAAAAgAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAA1sb3NzX3JlY292ZXJ5AAAAAAAACgAAAAA=",
418
+ "AAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
437
419
  "AAAAAAAAAAAAAAAbZ2V0X3Byb3RvY29sX2luY29tZV9hY2NydWVkAAAAAAAAAAABAAAACg==",
438
420
  "AAAAAAAAAAAAAAAdZ2V0X3Bvb2xfb3duZXJfaW5jb21lX2FjY3J1ZWQAAAAAAAAAAAAAAQAAAAo=",
439
421
  "AAAAAAAAAAAAAAAVZ2V0X2VhX2luY29tZV9hY2NydWVkAAAAAAAAAAAAAAEAAAAK",
440
- "AAAAAQAAARZFdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBwcm9maXQgaW4gdGhlIHBvb2wuCiMgRmllbGRzOgoqIGBwcm9maXRgIC0gVGhlIGFtb3VudCBvZiBwcm9maXQgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgcHJvZml0IGRpc3RyaWJ1dGlvbi4KKiBganVuaW9yX3RvdGFsX2Fzc2V0c2AgLSBUaGUgdG90YWwgYW1vdW50IG9mIGp1bmlvciBhc3NldHMgcG9zdCBwcm9maXQgZGlzdHJpYnV0aW9uLgAAAAAAAAAAABZQcm9maXREaXN0cmlidXRlZEV2ZW50AAAAAAADAAAAAAAAABNqdW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAABnByb2ZpdAAAAAAACgAAAAAAAAATc2VuaW9yX3RvdGFsX2Fzc2V0cwAAAAAK",
441
- "AAAAAQAAAdZFdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBsb3NzIGluIHRoZSBwb29sLgojIEZpZWxkczoKKiBgbG9zc2AgLSBUaGUgYW1vdW50IG9mIGxvc3MgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgbG9zcyBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBqdW5pb3IgYXNzZXRzIHBvc3QgbG9zcyBkaXN0cmlidXRpb24uCiogYHNlbmlvcl90b3RhbF9sb3NzYCAtIFRoZSB0b3RhbCBhbW91bnQgb2YgbG9zcyB0aGUgc2VuaW9yIHRyYW5jaGUgc3VmZmVyZWQgcG9zdCBsb3NzIGRpc3RyaWJ1dGlvbi4KKiBganVuaW9yX3RvdGFsX2xvc3NgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBsb3NzIHRoZSBqdW5pb3IgdHJhbmNoZSBzdWZmZXJlZCBwb3N0IGxvc3MgZGlzdHJpYnV0aW9uLgAAAAAAAAAAABRMb3NzRGlzdHJpYnV0ZWRFdmVudAAAAAUAAAAAAAAAE2p1bmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAARanVuaW9yX3RvdGFsX2xvc3MAAAAAAAAKAAAAAAAAAARsb3NzAAAACgAAAAAAAAATc2VuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFzZW5pb3JfdG90YWxfbG9zcwAAAAAAAAo=",
442
- "AAAAAQAAAh1FdmVudCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiBsb3NzIHJlY292ZXJ5IGluIHRoZSBwb29sLgojIEZpZWxkczoKKiBgbG9zc19yZWNvdmVyeWAgLSBUaGUgYW1vdW50IG9mIGxvc3MgcmVjb3ZlcnkgZGlzdHJpYnV0ZWQuCiogYHNlbmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBzZW5pb3IgYXNzZXRzIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9hc3NldHNgIC0gVGhlIHRvdGFsIGFtb3VudCBvZiBqdW5pb3IgYXNzZXRzIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYHNlbmlvcl90b3RhbF9sb3NzYCAtIFRoZSByZW1haW5pbmcgYW1vdW50IG9mIGxvc3MgdGhlIHNlbmlvciB0cmFuY2hlIHN1ZmZlcmVkIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uCiogYGp1bmlvcl90b3RhbF9sb3NzYCAtIFRoZSByZW1haW5pbmcgYW1vdW50IG9mIGxvc3MgdGhlIGp1bmlvciB0cmFuY2hlIHN1ZmZlcmVkIHBvc3QgbG9zcyByZWNvdmVyeSBkaXN0cmlidXRpb24uAAAAAAAAAAAAABxMb3NzUmVjb3ZlcnlEaXN0cmlidXRlZEV2ZW50AAAABQAAAAAAAAATanVuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFqdW5pb3JfdG90YWxfbG9zcwAAAAAAAAoAAAAAAAAADWxvc3NfcmVjb3ZlcnkAAAAAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEXNlbmlvcl90b3RhbF9sb3NzAAAAAAAACg==",
443
- "AAAAAgAAAAAAAAAAAAAAElRyYW5jaGVzUG9saWN5VHlwZQAAAAAAAgAAAAAAAAAAAAAAEEZpeGVkU2VuaW9yWWllbGQAAAAAAAAAAAAAAAxSaXNrQWRqdXN0ZWQ=",
422
+ "AAAAAQAAAAAAAAAAAAAAFlByb2ZpdERpc3RyaWJ1dGVkRXZlbnQAAAAAAAMAAAAAAAAAE2p1bmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAAGcHJvZml0AAAAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAo=",
423
+ "AAAAAQAAAAAAAAAAAAAAFExvc3NEaXN0cmlidXRlZEV2ZW50AAAABQAAAAAAAAATanVuaW9yX3RvdGFsX2Fzc2V0cwAAAAAKAAAAAAAAABFqdW5pb3JfdG90YWxfbG9zcwAAAAAAAAoAAAAAAAAABGxvc3MAAAAKAAAAAAAAABNzZW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEXNlbmlvcl90b3RhbF9sb3NzAAAAAAAACg==",
424
+ "AAAAAQAAAAAAAAAAAAAAHExvc3NSZWNvdmVyeURpc3RyaWJ1dGVkRXZlbnQAAAAFAAAAAAAAABNqdW5pb3JfdG90YWxfYXNzZXRzAAAAAAoAAAAAAAAAEWp1bmlvcl90b3RhbF9sb3NzAAAAAAAACgAAAAAAAAANbG9zc19yZWNvdmVyeQAAAAAAAAoAAAAAAAAAE3Nlbmlvcl90b3RhbF9hc3NldHMAAAAACgAAAAAAAAARc2VuaW9yX3RvdGFsX2xvc3MAAAAAAAAK",
444
425
  "AAAAAQAAAAAAAAAAAAAADVRyYW5jaGVMb3NzZXMAAAAAAAABAAAAAAAAAAZsb3NzZXMAAAAAA+oAAAAK",
445
426
  "AAAAAQAAAAAAAAAAAAAADkFjY3J1ZWRJbmNvbWVzAAAAAAADAAAAAAAAAAllYV9pbmNvbWUAAAAAAAAKAAAAAAAAABFwb29sX293bmVyX2luY29tZQAAAAAAAAoAAAAAAAAAD3Byb3RvY29sX2luY29tZQAAAAAK",
446
427
  "AAAAAgAAAAAAAAAAAAAAEVBheVBlcmlvZER1cmF0aW9uAAAAAAAAAwAAAAAAAAAAAAAAB01vbnRobHkAAAAAAAAAAAAAAAAJUXVhcnRlcmx5AAAAAAAAAAAAAAAAAAAMU2VtaUFubnVhbGx5",
447
- "AAAABAAAAAAAAAAAAAAADUNhbGVuZGFyRXJyb3IAAAAAAAABAAAAAAAAABlTdGFydERhdGVMYXRlclRoYW5FbmREYXRlAAAAAAAAZQ==",
448
- "AAAABAAAAAAAAAAAAAAAC0NvbW1vbkVycm9yAAAAAAUAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAAAQAAAAAAAAAdUHJvdG9jb2xJc1BhdXNlZE9yUG9vbElzTm90T24AAAAAAAACAAAAAAAAACBBdXRob3JpemVkQ29udHJhY3RDYWxsZXJSZXF1aXJlZAAAAAMAAAAAAAAAE1Vuc3VwcG9ydGVkRnVuY3Rpb24AAAAABAAAAAAAAAASWmVyb0Ftb3VudFByb3ZpZGVkAAAAAAAF",
428
+ "AAAABAAAAAAAAAAAAAAADUNhbGVuZGFyRXJyb3IAAAAAAAABAAAAAAAAABlTdGFydERhdGVMYXRlclRoYW5FbmREYXRlAAAAAAADIQ==",
429
+ "AAAABAAAAAAAAAAAAAAAC0NvbW1vbkVycm9yAAAAAAcAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAAAQAAAAAAAAAdUHJvdG9jb2xJc1BhdXNlZE9yUG9vbElzTm90T24AAAAAAAACAAAAAAAAABxQb29sT3duZXJPckh1bWFPd25lclJlcXVpcmVkAAAAAwAAAAAAAAAUUG9vbE9wZXJhdG9yUmVxdWlyZWQAAAAEAAAAAAAAACBBdXRob3JpemVkQ29udHJhY3RDYWxsZXJSZXF1aXJlZAAAAAUAAAAAAAAAE1Vuc3VwcG9ydGVkRnVuY3Rpb24AAAAABgAAAAAAAAASWmVyb0Ftb3VudFByb3ZpZGVkAAAAAAAH",
449
430
  "AAAAAgAAAAAAAAAAAAAAElRyYW5jaGVzUG9saWN5VHlwZQAAAAAAAgAAAAAAAAAAAAAAEEZpeGVkU2VuaW9yWWllbGQAAAAAAAAAAAAAAAxSaXNrQWRqdXN0ZWQ=",
450
431
  "AAAAAQAAAAAAAAAAAAAADFBvb2xTZXR0aW5ncwAAAAYAAAAAAAAAGWRlZmF1bHRfZ3JhY2VfcGVyaW9kX2RheXMAAAAAAAAEAAAAAAAAAB5sYXRlX3BheW1lbnRfZ3JhY2VfcGVyaW9kX2RheXMAAAAAAAQAAAAAAAAAD21heF9jcmVkaXRfbGluZQAAAAAKAAAAAAAAABJtaW5fZGVwb3NpdF9hbW91bnQAAAAAAAoAAAAAAAAAE3BheV9wZXJpb2RfZHVyYXRpb24AAAAH0AAAABFQYXlQZXJpb2REdXJhdGlvbgAAAAAAAAAAAAAecHJpbmNpcGFsX29ubHlfcGF5bWVudF9hbGxvd2VkAAAAAAAB",
451
- "AAAAAQAAAAAAAAAAAAAACExQQ29uZmlnAAAABQAAAAAAAAAWZml4ZWRfc2VuaW9yX3lpZWxkX2JwcwAAAAAABAAAAAAAAAANbGlxdWlkaXR5X2NhcAAAAAAAAAoAAAAAAAAAF21heF9zZW5pb3JfanVuaW9yX3JhdGlvAAAAAAQAAAAAAAAAHHRyYW5jaGVzX3Jpc2tfYWRqdXN0bWVudF9icHMAAAAEAAAAAAAAAB53aXRoZHJhd2FsX2xvY2tvdXRfcGVyaW9kX2RheXMAAAAAAAQ=",
432
+ "AAAAAQAAAAAAAAAAAAAACExQQ29uZmlnAAAABgAAAAAAAAAcYXV0b19yZWRlbXB0aW9uX2FmdGVyX2xvY2t1cAAAAAEAAAAAAAAAFmZpeGVkX3Nlbmlvcl95aWVsZF9icHMAAAAAAAQAAAAAAAAADWxpcXVpZGl0eV9jYXAAAAAAAAAKAAAAAAAAABdtYXhfc2VuaW9yX2p1bmlvcl9yYXRpbwAAAAAEAAAAAAAAABx0cmFuY2hlc19yaXNrX2FkanVzdG1lbnRfYnBzAAAABAAAAAAAAAAed2l0aGRyYXdhbF9sb2Nrb3V0X3BlcmlvZF9kYXlzAAAAAAAE",
452
433
  "AAAAAQAAAAAAAAAAAAAADEZlZVN0cnVjdHVyZQAAAAQAAAAAAAAAFWZyb250X2xvYWRpbmdfZmVlX2JwcwAAAAAAAAQAAAAAAAAAFmZyb250X2xvYWRpbmdfZmVlX2ZsYXQAAAAAAAoAAAAAAAAADGxhdGVfZmVlX2JwcwAAAAQAAAAAAAAACXlpZWxkX2JwcwAAAAAAAAQ=",
453
434
  "AAAAAgAAAAAAAAAAAAAAClBvb2xTdGF0dXMAAAAAAAMAAAAAAAAAAAAAAANPZmYAAAAAAAAAAAAAAAACT24AAAAAAAAAAAAAAAAABkNsb3NlZAAA",
454
435
  "AAAAAQAAAAAAAAAAAAAABUVwb2NoAAAAAAAAAgAAAAAAAAAIZW5kX3RpbWUAAAAGAAAAAAAAAAJpZAAAAAAABg==",
@@ -466,6 +447,7 @@ export class Client extends ContractClient {
466
447
  distribute_profit: this.txFromJSON<null>,
467
448
  distribute_loss: this.txFromJSON<null>,
468
449
  distribute_loss_recovery: this.txFromJSON<null>,
450
+ upgrade: this.txFromJSON<null>,
469
451
  get_protocol_income_accrued: this.txFromJSON<u128>,
470
452
  get_pool_owner_income_accrued: this.txFromJSON<u128>,
471
453
  get_ea_income_accrued: this.txFromJSON<u128>,