Skip to content

Commit

Permalink
updates to clients initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
mpsc0x committed Dec 11, 2024
1 parent b9cebb1 commit 7820b96
Show file tree
Hide file tree
Showing 15 changed files with 123 additions and 17 deletions.
10 changes: 9 additions & 1 deletion src/clients/aTokensClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@ export class ATokensClient extends AptosContractWrapperBaseClass {
tokensContract: TokensContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getATokensProfileAccount());
super(provider, signer);
this.tokensContract = new TokensContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): ATokensClient {
const client = new ATokensClient(
provider,
provider.getATokensProfileAccount(),
);
return client;
}

public async createToken(
maximumSupply: bigint,
name: string,
Expand Down
7 changes: 6 additions & 1 deletion src/clients/aclClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,15 @@ export class AclClient extends AptosContractWrapperBaseClass {
AclManagerContract: AclManagerContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getAclProfileAccount());
super(provider, signer);
this.AclManagerContract = new AclManagerContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): AclClient {
const client = new AclClient(provider, provider.getAclProfileAccount());
return client;
}

public async hasRole(role: string, user: AccountAddress): Promise<boolean> {
const [resp] = await this.callViewMethod(
this.AclManagerContract.hasRoleFuncAddr,
Expand Down
10 changes: 10 additions & 0 deletions src/clients/aptosProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,11 @@ export class AptosProvider {
public getProfileAccountPrivateKeyByName(
profileName: string,
): Ed25519PrivateKey {
if (!this.profileAccountMap.has(profileName)) {
throw new Error(
`Account "${profileName}" was not found in the profiles map`,
);
}
return this.profileAccountMap.get(profileName);
}

Expand All @@ -393,6 +398,11 @@ export class AptosProvider {

/** Returns the profile address by name if found. */
public getProfileAddressByName(profileName: string): AccountAddress {
if (!this.profileAddressMap.has(profileName)) {
throw new Error(
`Address of account "${profileName}" was not found in the profile addresses map`,
);
}
return this.profileAddressMap.get(profileName);
}

Expand Down
8 changes: 4 additions & 4 deletions src/clients/baseClass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,12 @@ async function view(
}

export class AptosContractWrapperBaseClass {
protected signer: Ed25519Account;
protected signer?: Ed25519Account;
protected moduleSigner: Ed25519Account;

protected readonly aptosProvider: AptosProvider;

constructor(aptosProvider: AptosProvider, signer: Ed25519Account) {
constructor(aptosProvider: AptosProvider, signer?: Ed25519Account) {
this.aptosProvider = aptosProvider;
this.signer = signer;
this.moduleSigner = signer;
Expand All @@ -113,13 +113,13 @@ export class AptosContractWrapperBaseClass {

/** Sets the signer. */
public withSigner(senderAccount: Ed25519Account) {
this.signer = senderAccount;
this.setSigner(senderAccount);
return this;
}

/** Sets the module signer. */
public withModuleSigner() {
this.signer = this.moduleSigner;
this.setSigner(this.moduleSigner);
return this;
}

Expand Down
7 changes: 6 additions & 1 deletion src/clients/bridgeClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,15 @@ export class BridgeClient extends AptosContractWrapperBaseClass {
bridgeContract: BridgeContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.bridgeContract = new BridgeContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): BridgeClient {
const client = new BridgeClient(provider, provider.getPoolProfileAccount());
return client;
}

public async backUnbacked(
asset: AccountAddress,
amount: bigint,
Expand Down
7 changes: 6 additions & 1 deletion src/clients/coreClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@ export class CoreClient extends AptosContractWrapperBaseClass {
supplyBorrowContract: SupplyBorrowContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.supplyBorrowContract = new SupplyBorrowContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): CoreClient {
const client = new CoreClient(provider, provider.getPoolProfileAccount());
return client;
}

/// User supplies
public async supply(
asset: AccountAddress,
Expand Down
12 changes: 11 additions & 1 deletion src/clients/flashloanClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,20 @@ export class FlashloanClient extends AptosContractWrapperBaseClass {
flashloanContract: FlashLoanContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.flashloanContract = new FlashLoanContract(provider);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): FlashloanClient {
const client = new FlashloanClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async flashloan(
receiverAddress: AccountAddress,
assets: Array<AccountAddress>,
Expand Down
10 changes: 9 additions & 1 deletion src/clients/oracleClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,18 @@ export class OracleClient extends AptosContractWrapperBaseClass {
oracleContract: OracleContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getOracleProfileAccount());
super(provider, signer);
this.oracleContract = new OracleContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): OracleClient {
const client = new OracleClient(
provider,
provider.getOracleProfileAccount(),
);
return client;
}

public async setMock(mock: boolean): Promise<CommittedTransactionResponse> {
return this.sendTxAndAwaitResponse(this.oracleContract.SetMockFuncAddr, [
mock,
Expand Down
12 changes: 11 additions & 1 deletion src/clients/poolAddressesProviderClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,20 @@ export class PoolAddressesProviderClient extends AptosContractWrapperBaseClass {
poolContract: PoolContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.poolContract = new PoolContract(provider);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): PoolAddressesProviderClient {
const client = new PoolAddressesProviderClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async hasIdMappedAccount(id: string): Promise<boolean> {
const [resp] = await this.callViewMethod(
this.poolContract.HasIdMappedAccountFuncAddr,
Expand Down
7 changes: 6 additions & 1 deletion src/clients/poolClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,15 @@ export class PoolClient extends AptosContractWrapperBaseClass {
poolContract: PoolContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.poolContract = new PoolContract(provider);
}

public static buildWithDefaultSigner(provider: AptosProvider): PoolClient {
const client = new PoolClient(provider, provider.getPoolProfileAccount());
return client;
}

public async mintToTreasury(
assets: Array<AccountAddress>,
): Promise<CommittedTransactionResponse> {
Expand Down
12 changes: 11 additions & 1 deletion src/clients/uiIncentiveDataProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,22 @@ export class UiIncentiveDataProviderClient extends AptosContractWrapperBaseClass
uiPoolDataProviderContract: UiIncentiveDataProviderContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.uiPoolDataProviderContract = new UiIncentiveDataProviderContract(
provider,
);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): UiIncentiveDataProviderClient {
const client = new UiIncentiveDataProviderClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async uiPoolDataProviderV3DataAddress(): Promise<AccountAddress> {
const [resp] = await this.callViewMethod(
this.uiPoolDataProviderContract.uiIncentiveDataProviderV3DataAddress,
Expand Down
12 changes: 11 additions & 1 deletion src/clients/uiPoolDataProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,20 @@ export class UiPoolDataProviderClient extends AptosContractWrapperBaseClass {
uiPoolDataProviderContract: UiPoolDataProviderContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.uiPoolDataProviderContract = new UiPoolDataProviderContract(provider);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): UiPoolDataProviderClient {
const client = new UiPoolDataProviderClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async uiPoolDataProviderV32DataAddress(): Promise<AccountAddress> {
const [resp] = await this.callViewMethod(
this.uiPoolDataProviderContract.uiPoolDataProviderV32DataAddress,
Expand Down
12 changes: 11 additions & 1 deletion src/clients/underlyingTokensClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,20 @@ export class UnderlyingTokensClient extends AptosContractWrapperBaseClass {
tokensContract: TokensContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.tokensContract = new TokensContract(provider);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): UnderlyingTokensClient {
const client = new UnderlyingTokensClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async createToken(
maximumSupply: bigint,
name: string,
Expand Down
12 changes: 11 additions & 1 deletion src/clients/variableTokensClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,20 @@ export class VariableTokensClient extends AptosContractWrapperBaseClass {
tokensContract: TokensContract;

constructor(provider: AptosProvider, signer?: Ed25519Account) {
super(provider, signer || provider.getPoolProfileAccount());
super(provider, signer);
this.tokensContract = new TokensContract(provider);
}

public static buildWithDefaultSigner(
provider: AptosProvider,
): VariableTokensClient {
const client = new VariableTokensClient(
provider,
provider.getPoolProfileAccount(),
);
return client;
}

public async createToken(
maximumSupply: bigint,
name: string,
Expand Down
2 changes: 1 addition & 1 deletion src/contracts/oracle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export class OracleContract {
GetGracePeriodFuncAddr: MoveFunctionId;

constructor(provider: AptosProvider) {
const OracleManager = provider.getProfileAccountByName(
const OracleManager = provider.getProfileAddressByName(
AAVE_PROFILES.AAVE_MOCK_ORACLE,
);
const OracleManagerAccountAddress = OracleManager.toString();
Expand Down

0 comments on commit 7820b96

Please sign in to comment.