Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-08-13 20:51:09 +02:00
parent d59d05eae5
commit 017581e863
2 changed files with 41 additions and 16 deletions

View File

@ -154,26 +154,37 @@ export class MangoClient {
},
];
return (await this.program.account.group.all(filters)).map((tuple) =>
Group.from(tuple.publicKey, tuple.account),
const groups = (await this.program.account.group.all(filters)).map(
(tuple) => Group.from(tuple.publicKey, tuple.account),
);
groups.forEach((group) => group.reloadAll(this));
return groups;
}
public async getGroupForCreator(
creatorPk: PublicKey,
groupNum?: number,
groupNum: number,
): Promise<Group> {
const groups = (await this.getGroupsForCreator(creatorPk)).filter(
(group) => {
if (groupNum !== undefined) {
return group.groupNum == groupNum;
} else {
return true;
}
const bbuf = Buffer.alloc(4);
bbuf.writeUInt32LE(groupNum);
const filters: MemcmpFilter[] = [
{
memcmp: {
bytes: creatorPk.toBase58(),
offset: 8,
},
},
{
memcmp: {
bytes: bs58.encode(bbuf),
offset: 40,
},
},
];
const groups = (await this.program.account.group.all(filters)).map(
(tuple) => Group.from(tuple.publicKey, tuple.account),
);
await groups[0].reloadAll(this);
groups.forEach((group) => group.reloadAll(this));
return groups[0];
}

View File

@ -261,7 +261,7 @@ async function registerTokens() {
async function createUser() {
const options = AnchorProvider.defaultOptions();
const connection = new Connection(process.env.CLUSTER_URL!, options);
const connection = new Connection(process.env.MB_CLUSTER_URL!, options);
const user = Keypair.fromSecretKey(
Buffer.from(
@ -282,7 +282,9 @@ async function createUser() {
JSON.parse(fs.readFileSync(process.env.MB_PAYER_KEYPAIR!, 'utf-8')),
),
);
console.log(`Admin ${admin.publicKey.toBase58()}`);
const group = await client.getGroupForCreator(admin.publicKey, 2);
console.log(group);
console.log(`${group.toString()}`);
console.log(`Creating MangoAccount...`);
@ -303,9 +305,21 @@ async function createUser() {
}
async function main() {
await createGroup();
await registerTokens();
// createUser();
try {
await createGroup();
} catch (error) {
console.log(error);
}
try {
await registerTokens();
} catch (error) {
console.log(error);
}
try {
await createUser();
} catch (error) {
console.log(error);
}
}
try {