forked from cerc-io/snowballtools-base
Implement payments for app deployments (#17)
Part of [Service provider auctions for web deployments](https://www.notion.so/Service-provider-auctions-for-web-deployments-104a6b22d47280dbad51d28aa3a91d75) - Implement funtionality to pay for deployments by connecting wallet using `WalletConnect`   Co-authored-by: IshaVenikar <ishavenikar7@gmail.com> Co-authored-by: Shreerang Kale <shreerangkale@gmail.com> Reviewed-on: cerc-io/snowballtools-base#17
This commit is contained in:
co-authored by
IshaVenikar
Shreerang Kale
parent
b449c299dc
commit
63969ae25a
@@ -432,4 +432,25 @@ export class GQLClient {
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
async getAddress(): Promise<string> {
|
||||
const { data } = await this.client.query({
|
||||
query: queries.getAddress,
|
||||
});
|
||||
|
||||
return data.address;
|
||||
}
|
||||
|
||||
async verifyTx(txHash: string, amount: string, senderAddress: string): Promise<boolean> {
|
||||
const { data: verifyTx } = await this.client.query({
|
||||
query: queries.verifyTx,
|
||||
variables: {
|
||||
txHash,
|
||||
amount,
|
||||
senderAddress
|
||||
}
|
||||
});
|
||||
|
||||
return verifyTx;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,10 @@ query ($projectId: String!) {
|
||||
deployerLrn
|
||||
deployerId
|
||||
deployerApiUrl
|
||||
minimumPayment
|
||||
}
|
||||
paymentAddress
|
||||
txHash
|
||||
fundsReleased
|
||||
framework
|
||||
repository
|
||||
@@ -84,7 +87,10 @@ query ($organizationSlug: String!) {
|
||||
deployerLrn
|
||||
deployerId
|
||||
deployerApiUrl
|
||||
minimumPayment
|
||||
}
|
||||
paymentAddress
|
||||
txHash
|
||||
fundsReleased
|
||||
prodBranch
|
||||
webhooks
|
||||
@@ -148,6 +154,7 @@ query ($projectId: String!) {
|
||||
deployerLrn
|
||||
deployerId
|
||||
deployerApiUrl
|
||||
minimumPayment
|
||||
}
|
||||
environment
|
||||
isCurrent
|
||||
@@ -211,7 +218,10 @@ query ($searchText: String!) {
|
||||
deployerLrn
|
||||
deployerId
|
||||
deployerApiUrl
|
||||
minimumPayment
|
||||
}
|
||||
paymentAddress
|
||||
txHash
|
||||
fundsReleased
|
||||
prodBranch
|
||||
webhooks
|
||||
@@ -314,6 +324,19 @@ query {
|
||||
deployerLrn
|
||||
deployerId
|
||||
deployerApiUrl
|
||||
minimumPayment
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const getAddress = gql`
|
||||
query {
|
||||
address
|
||||
}
|
||||
`;
|
||||
|
||||
export const verifyTx = gql`
|
||||
query ($txHash: String!, $amount: String!, $senderAddress: String!) {
|
||||
verifyTx(txHash: $txHash, amount: $amount, senderAddress: $senderAddress)
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -119,6 +119,7 @@ export type Deployer = {
|
||||
deployerLrn: string;
|
||||
deployerId: string;
|
||||
deployerApiUrl: string;
|
||||
minimumPayment: string | null;
|
||||
}
|
||||
|
||||
export type OrganizationMember = {
|
||||
@@ -177,6 +178,8 @@ export type Project = {
|
||||
framework: string;
|
||||
deployers: [Deployer]
|
||||
auctionId: string;
|
||||
paymentAddress: string;
|
||||
txHash: string;
|
||||
fundsReleased: boolean;
|
||||
webhooks: string[];
|
||||
members: ProjectMember[];
|
||||
@@ -306,6 +309,8 @@ export type AddProjectFromTemplateInput = {
|
||||
owner: string;
|
||||
name: string;
|
||||
isPrivate: boolean;
|
||||
paymentAddress: string;
|
||||
txHash: string;
|
||||
};
|
||||
|
||||
export type AddProjectInput = {
|
||||
@@ -313,6 +318,8 @@ export type AddProjectInput = {
|
||||
repository: string;
|
||||
prodBranch: string;
|
||||
template?: string;
|
||||
paymentAddress: string;
|
||||
txHash: string;
|
||||
};
|
||||
|
||||
export type UpdateProjectInput = {
|
||||
|
||||
Reference in New Issue
Block a user