Skip to content

Commit 4d57f7a

Browse files
committed
chore: update deployPool for v2 pool factory
1 parent ed98bee commit 4d57f7a

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

src/pool_factory/pool_factory_contract.ts

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { Address, Contract, contract, Operation, scValToNative, xdr } from '@stellar/stellar-sdk';
22
import { PoolInitMeta } from './index.js';
3+
import { i128 } from '../index.js';
34

45
// @dev ENCODING REQUIRES PROPERTY NAMES TO MATCH RUST NAMES
56

6-
export interface DeployArgs {
7+
export interface DeployV1Args {
78
admin: Address | string;
89
name: string;
910
salt: Buffer;
@@ -12,13 +13,26 @@ export interface DeployArgs {
1213
max_positions: number;
1314
}
1415

16+
export interface DeployV2Args {
17+
admin: Address | string;
18+
name: string;
19+
salt: Buffer;
20+
oracle: Address | string;
21+
min_collateral: i128;
22+
backstop_take_rate: number;
23+
max_positions: number;
24+
}
25+
1526
export abstract class PoolFactoryContract extends Contract {
1627
// @dev: Generated from soroban-cli Typescript bindings
1728
static spec: contract.Spec = new contract.Spec([
29+
// Enum PoolFactoryError
1830
'AAAABAAAAKlFcnJvciBjb2RlcyBmb3IgdGhlIHBvb2wgZmFjdG9yeSBjb250cmFjdC4gQ29tbW9uIGVycm9ycyBhcmUgY29kZXMgdGhhdCBtYXRjaCB1cCB3aXRoIHRoZSBidWlsdC1pbgpjb250cmFjdHMgZXJyb3IgcmVwb3J0aW5nLiBQb29sIGZhY3Rvcnkgc3BlY2lmaWMgZXJyb3JzIHN0YXJ0IGF0IDEzMDAuAAAAAAAAAAAAABBQb29sRmFjdG9yeUVycm9yAAAAAwAAAAAAAAANSW50ZXJuYWxFcnJvcgAAAAAAAAEAAAAAAAAAF0FscmVhZHlJbml0aWFsaXplZEVycm9yAAAAAAMAAAAAAAAAE0ludmFsaWRQb29sSW5pdEFyZ3MAAAAFFA==',
19-
'AAAAAAAAAAAAAAAGZGVwbG95AAAAAAAGAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABG5hbWUAAAAQAAAAAAAAAARzYWx0AAAD7gAAACAAAAAAAAAABm9yYWNsZQAAAAAAEwAAAAAAAAASYmFja3N0b3BfdGFrZV9yYXRlAAAAAAAEAAAAAAAAAA1tYXhfcG9zaXRpb25zAAAAAAAABAAAAAEAAAAT',
31+
// Function is_pool
2032
'AAAAAAAAAAAAAAAHaXNfcG9vbAAAAAABAAAAAAAAAAxwb29sX2FkZHJlc3MAAAATAAAAAQAAAAE=',
33+
// Union PoolFactoryDataKey
2134
'AAAAAgAAAAAAAAAAAAAAElBvb2xGYWN0b3J5RGF0YUtleQAAAAAAAQAAAAEAAAAAAAAACUNvbnRyYWN0cwAAAAAAAAEAAAAT',
35+
// Struct PoolInitMeta
2236
'AAAAAQAAAAAAAAAAAAAADFBvb2xJbml0TWV0YQAAAAMAAAAAAAAACGJhY2tzdG9wAAAAEwAAAAAAAAAHYmxuZF9pZAAAAAATAAAAAAAAAAlwb29sX2hhc2gAAAAAAAPuAAAAIA==',
2337
]);
2438

@@ -29,13 +43,6 @@ export abstract class PoolFactoryContract extends Contract {
2943
PoolFactoryContract.spec.funcResToNative('is_pool', result),
3044
};
3145

32-
deployPool(contractArgs: DeployArgs): string {
33-
return this.call(
34-
'deploy',
35-
...PoolFactoryContract.spec.funcArgsToScVals('deploy', contractArgs)
36-
).toXDR('base64');
37-
}
38-
3946
isPool(pool_address: string): string {
4047
return this.call(
4148
'deploy',
@@ -52,7 +59,10 @@ export class PoolFactoryContractV1 extends PoolFactoryContract {
5259
static readonly spec: contract.Spec = new contract.Spec([
5360
...PoolFactoryContract.spec.entries,
5461
...new contract.Spec([
62+
// Function initialize
5563
'AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAAAQAAAAAAAAAOcG9vbF9pbml0X21ldGEAAAAAB9AAAAAMUG9vbEluaXRNZXRhAAAAAA==',
64+
// Function Deploy
65+
'AAAAAAAAAAAAAAAGZGVwbG95AAAAAAAGAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABG5hbWUAAAAQAAAAAAAAAARzYWx0AAAD7gAAACAAAAAAAAAABm9yYWNsZQAAAAAAEwAAAAAAAAASYmFja3N0b3BfdGFrZV9yYXRlAAAAAAAEAAAAAAAAAA1tYXhfcG9zaXRpb25zAAAAAAAABAAAAAEAAAAT',
5666
]).entries,
5767
]);
5868

@@ -67,6 +77,12 @@ export class PoolFactoryContractV1 extends PoolFactoryContract {
6777
...PoolFactoryContractV1.spec.funcArgsToScVals('initialize', { pool_init_meta })
6878
).toXDR('base64');
6979
}
80+
deployPool(contractArgs: DeployV1Args): string {
81+
return this.call(
82+
'deploy',
83+
...PoolFactoryContract.spec.funcArgsToScVals('deploy', contractArgs)
84+
).toXDR('base64');
85+
}
7086
}
7187

7288
export class PoolFactoryContractV2 extends PoolFactoryContract {
@@ -77,7 +93,10 @@ export class PoolFactoryContractV2 extends PoolFactoryContract {
7793
static readonly spec: contract.Spec = new contract.Spec([
7894
...PoolFactoryContract.spec.entries,
7995
...new contract.Spec([
96+
// Function constructor
8097
'AAAAAAAAAGhDb25zdHJ1Y3QgdGhlIHBvb2wgZmFjdG9yeSBjb250cmFjdAoKIyMjIEFyZ3VtZW50cwoqIGBwb29sX2luaXRfbWV0YWAgLSBUaGUgcG9vbCBpbml0aWFsaXphdGlvbiBtZXRhZGF0YQAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAQAAAAAAAAAOcG9vbF9pbml0X21ldGEAAAAAB9AAAAAMUG9vbEluaXRNZXRhAAAAAA==',
98+
// Function deploy
99+
'AAAAAAAAAAAAAAAGZGVwbG95AAAAAAAHAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABG5hbWUAAAAQAAAAAAAAAARzYWx0AAAD7gAAACAAAAAAAAAABm9yYWNsZQAAAAAAEwAAAAAAAAASYmFja3N0b3BfdGFrZV9yYXRlAAAAAAAEAAAAAAAAAA1tYXhfcG9zaXRpb25zAAAAAAAABAAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAABAAAAEw==',
81100
]).entries,
82101
]);
83102

@@ -103,4 +122,11 @@ export class PoolFactoryContractV2 extends PoolFactoryContract {
103122
constructorArgs: this.spec.funcArgsToScVals('__constructor', { pool_init_meta }),
104123
}).toXDR('base64');
105124
}
125+
126+
deployPool(contractArgs: DeployV2Args): string {
127+
return this.call(
128+
'deploy',
129+
...PoolFactoryContract.spec.funcArgsToScVals('deploy', contractArgs)
130+
).toXDR('base64');
131+
}
106132
}

0 commit comments

Comments
 (0)