Skip to content

Commit fefe45d

Browse files
WaDadidouhthieu1110n0izn0iz
authored
feat(launchpad): Use DAO Proposal Single contract address in nft-launchpad contract config (#1488)
Co-authored-by: hthieu1110 <tronghieu.ha@gmail.com> Co-authored-by: n0izn0iz <n0izn0iz@users.noreply.github.com>
1 parent c18215d commit fefe45d

File tree

38 files changed

+4173
-628
lines changed

38 files changed

+4173
-628
lines changed

Cargo.lock

Lines changed: 3061 additions & 189 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/pkg/networks/features.gen.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,12 @@ func (nb *NetworkBase) GetFeatureCosmWasmNFTsBurner() (*FeatureCosmWasmNFTsBurne
6666

6767
type FeatureCosmWasmNFTLaunchpad struct {
6868
*FeatureBase
69-
LaunchpadContractAddress string `json:"launchpadContractAddress"`
70-
DefaultMintDenom string `json:"defaultMintDenom"`
71-
LaunchpadEndpoint string `json:"launchpadEndpoint"`
72-
CodeId float64 `json:"codeId"`
73-
NftTr721CodeId float64 `json:"nftTr721CodeId"`
69+
LaunchpadContractAddress string `json:"launchpadContractAddress"`
70+
DefaultMintDenom string `json:"defaultMintDenom"`
71+
LaunchpadEndpoint string `json:"launchpadEndpoint"`
72+
CodeId float64 `json:"codeId"`
73+
NftTr721CodeId float64 `json:"nftTr721CodeId"`
74+
DaoProposalSingleContractAddress string `json:"daoProposalSingleContractAddress"`
7475
}
7576

7677
var _ Feature = &FeatureCosmWasmNFTLaunchpad{}

networks.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11649,6 +11649,17 @@
1164911649
"RiotP2E",
1165011650
"NFTMarketplaceLeaderboard"
1165111651
],
11652+
"featureObjects": [
11653+
{
11654+
"type": "CosmWasmNFTLaunchpad",
11655+
"launchpadContractAddress": "tori1l07lh669x8wg2rh3pxzpatrr2npf5ql7y6kusaup53fu2xr68p5qglyy9t",
11656+
"launchpadEndpoint": "http://localhost:9090",
11657+
"nftTr721CodeId": 60,
11658+
"codeId": 95,
11659+
"defaultMintDenom": "utori",
11660+
"daoProposalSingleContractAddress": "tori1tj2uked2zfq958w6cugnm44qlllnrpaaxk09j39qqdqhhedjpljszjyhx6"
11661+
}
11662+
],
1165211663
"currencies": [
1165311664
{
1165411665
"denom": "utori",
@@ -11746,11 +11757,12 @@
1174611757
},
1174711758
{
1174811759
"type": "CosmWasmNFTLaunchpad",
11749-
"launchpadContractAddress": "tori1te7ku4de0k4rl8lhyuvpmhygaq7k7vy5zpsjq9y638efxsnx3aaqck2utf",
11760+
"launchpadContractAddress": "tori1f62uv8zght6vnnq6kh3pg69xca9s03ecwpal7gquupf9knctk25suzf7rq",
1175011761
"launchpadEndpoint": "https://dapp-backend.testnet.teritori.com",
1175111762
"nftTr721CodeId": 60,
11752-
"codeId": 71,
11753-
"defaultMintDenom": "utori"
11763+
"codeId": 96,
11764+
"defaultMintDenom": "utori",
11765+
"daoProposalSingleContractAddress": "tori1huu2ysuct2e9xnmxc28xdwfeflytw2samzp95a2devjqs0qfj6fqx47v57"
1175411766
},
1175511767
{
1175611768
"type": "CosmWasmRakki",

packages/contracts-clients/nft-launchpad/NftLaunchpad.types.ts

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/networks/features.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const zodCosmWasmNFTLaunchpad = z.object({
5858
launchpadEndpoint: z.string(),
5959
codeId: z.number(),
6060
nftTr721CodeId: z.number(),
61+
daoProposalSingleContractAddress: z.string(),
6162
});
6263

6364
export type CosmWasmNFTLaunchpad = z.infer<typeof zodCosmWasmNFTLaunchpad>;

packages/networks/teritori-localnet/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
import { teritoriLocalnetCurrencies } from "./currencies";
2+
import { CosmWasmNFTLaunchpad } from "../features";
23
import { NetworkFeature, NetworkInfo, NetworkKind } from "../types";
34

45
const nameServiceContractAddress = "";
56

67
const riotContractAddressGen1 = "";
78

9+
const cosmwasmNftLaunchpadFeature: CosmWasmNFTLaunchpad = {
10+
type: NetworkFeature.CosmWasmNFTLaunchpad,
11+
launchpadContractAddress:
12+
"tori1l07lh669x8wg2rh3pxzpatrr2npf5ql7y6kusaup53fu2xr68p5qglyy9t",
13+
launchpadEndpoint: "http://localhost:9090",
14+
nftTr721CodeId: 60,
15+
codeId: 95,
16+
defaultMintDenom: "utori",
17+
daoProposalSingleContractAddress:
18+
"tori1tj2uked2zfq958w6cugnm44qlllnrpaaxk09j39qqdqhhedjpljszjyhx6",
19+
};
20+
821
export const teritoriLocalnetNetwork: NetworkInfo = {
922
id: "teritori-localnet",
1023
kind: NetworkKind.Cosmos,
@@ -23,6 +36,7 @@ export const teritoriLocalnetNetwork: NetworkInfo = {
2336
NetworkFeature.RiotP2E,
2437
NetworkFeature.NFTMarketplaceLeaderboard,
2538
],
39+
featureObjects: [cosmwasmNftLaunchpadFeature],
2640
currencies: teritoriLocalnetCurrencies,
2741
txExplorer: "",
2842
accountExplorer: "",

packages/networks/teritori-testnet/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ const nftMarketplace: NFTMarketplace = {
3434
const cosmwasmNftLaunchpadFeature: CosmWasmNFTLaunchpad = {
3535
type: NetworkFeature.CosmWasmNFTLaunchpad,
3636
launchpadContractAddress:
37-
"tori1te7ku4de0k4rl8lhyuvpmhygaq7k7vy5zpsjq9y638efxsnx3aaqck2utf",
37+
"tori1f62uv8zght6vnnq6kh3pg69xca9s03ecwpal7gquupf9knctk25suzf7rq",
3838
launchpadEndpoint: "https://dapp-backend.testnet.teritori.com",
3939
nftTr721CodeId: 60,
40-
codeId: 71,
40+
codeId: 96,
4141
defaultMintDenom: "utori",
42+
daoProposalSingleContractAddress:
43+
"tori1huu2ysuct2e9xnmxc28xdwfeflytw2samzp95a2devjqs0qfj6fqx47v57",
4244
};
4345

4446
const rakkiFeature: CosmWasmRakki = {

packages/screens/Organizations/components/MembershipOrg/MembershipDeployerSteps.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { LaunchingOrganizationSection } from "../LaunchingOrganizationSection";
88

99
import { ConfigureVotingSection } from "@/components/dao/ConfigureVotingSection";
1010
import { useFeedbacks } from "@/context/FeedbacksProvider";
11+
import { TeritoriNameServiceClient } from "@/contracts-clients/teritori-name-service/TeritoriNameService.client";
1112
import { nsNameInfoQueryKey } from "@/hooks/useNSNameInfo";
1213
import useSelectedWallet from "@/hooks/useSelectedWallet";
1314
import {
@@ -16,6 +17,7 @@ import {
1617
mustGetCosmosNetwork,
1718
NetworkKind,
1819
} from "@/networks";
20+
import { getKeplrSigningCosmWasmClient } from "@/networks/signer";
1921
import { createDaoMemberBased, CreateDaoMemberBasedParams } from "@/utils/dao";
2022
import { adenaDeployGnoDAO } from "@/utils/gnodao/deploy";
2123
import { getDuration, getPercent } from "@/utils/gnodao/helpers";
@@ -100,8 +102,23 @@ export const MembershipDeployerSteps: React.FC<{
100102
network.cwAdminFactoryContractAddress!;
101103
const walletAddress = selectedWallet.address;
102104

105+
const signingCosmWasmClient =
106+
await getKeplrSigningCosmWasmClient(networkId);
107+
108+
if (!network.nameServiceContractAddress) {
109+
throw new Error("no name service contract address");
110+
}
111+
112+
const nameServiceClient = new TeritoriNameServiceClient(
113+
signingCosmWasmClient,
114+
walletAddress,
115+
network.nameServiceContractAddress,
116+
);
117+
103118
if (!memberSettingsFormData) return false;
104119
const params: CreateDaoMemberBasedParams = {
120+
signingCosmWasmClient,
121+
nameServiceClient,
105122
networkId,
106123
sender: walletAddress,
107124
contractAddress: cwAdminFactoryContractAddress,

packages/screens/Organizations/components/RolesOrg/RolesDeployerSteps.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { LaunchingOrganizationSection } from "../LaunchingOrganizationSection";
99

1010
import { ConfigureVotingSection } from "@/components/dao/ConfigureVotingSection";
1111
import { useFeedbacks } from "@/context/FeedbacksProvider";
12+
import { TeritoriNameServiceClient } from "@/contracts-clients/teritori-name-service/TeritoriNameService.client";
1213
import { nsNameInfoQueryKey } from "@/hooks/useNSNameInfo";
1314
import useSelectedWallet from "@/hooks/useSelectedWallet";
1415
import {
@@ -17,6 +18,7 @@ import {
1718
mustGetCosmosNetwork,
1819
NetworkKind,
1920
} from "@/networks";
21+
import { getKeplrSigningCosmWasmClient } from "@/networks/signer";
2022
import { createDaoMemberBased, CreateDaoMemberBasedParams } from "@/utils/dao";
2123
import { adenaDeployGnoDAO } from "@/utils/gnodao/deploy";
2224
import { getDuration, getPercent } from "@/utils/gnodao/helpers";
@@ -113,8 +115,23 @@ export const RolesDeployerSteps: React.FC<{
113115
network.cwAdminFactoryContractAddress!;
114116
const walletAddress = selectedWallet.address;
115117

118+
const signingCosmWasmClient =
119+
await getKeplrSigningCosmWasmClient(networkId);
120+
121+
if (!network.nameServiceContractAddress) {
122+
throw new Error("no name service contract address");
123+
}
124+
125+
const nameServiceClient = new TeritoriNameServiceClient(
126+
signingCosmWasmClient,
127+
walletAddress,
128+
network.nameServiceContractAddress,
129+
);
130+
116131
if (!memberSettingsFormData) return false;
117132
const params: CreateDaoMemberBasedParams = {
133+
signingCosmWasmClient,
134+
nameServiceClient,
118135
networkId,
119136
sender: walletAddress,
120137
contractAddress: cwAdminFactoryContractAddress,

packages/scripts/integration-testing/da0da0Test.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import fs from "fs/promises";
33

44
import { buildCosmos, startCosmosLocalnet } from "./cosmos";
55
import { teritoriLocalnetNetwork } from "../../networks/teritori-localnet";
6-
7-
import { deployDA0DA0 } from "@/scripts/network-setup/deployDA0DA0";
6+
import { deployDA0DA0 } from "../network-setup/dao-dao/deployDA0DA0";
87

98
const main = async () => {
109
program.argument(
@@ -23,11 +22,11 @@ const main = async () => {
2322

2423
// test cosmwasm
2524

26-
await deployDA0DA0(
27-
{ binaryPath: binary, home, signer: admSigner },
28-
teritoriLocalnetNetwork.id,
29-
"testnet-adm",
30-
);
25+
await deployDA0DA0({
26+
opts: { binaryPath: binary, home, signer: admSigner },
27+
networkId: teritoriLocalnetNetwork.id,
28+
wallet: "testnet-adm",
29+
});
3130

3231
// clean
3332

0 commit comments

Comments
 (0)