Skip to content

Commit

Permalink
adapt changes from the sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
H34D committed Mar 15, 2023
1 parent 55f9253 commit 5f5310f
Show file tree
Hide file tree
Showing 10 changed files with 90 additions and 29 deletions.
46 changes: 33 additions & 13 deletions README.md
Expand Up @@ -51,9 +51,11 @@
* [`masa green list`](#masa-green-list)
* [`masa green create <phone-number>`](#masa-green-create-phone-number)
* [`masa green burn <green-id>`](#masa-green-burn-green-id)
* [`masa factory`](#masa-factory)
* [`masa factory info <address>`](#masa-factory-info-address)
* [`masa factory sign <address> <name> <types> <value>`](#masa-factory-sign-address-name-types-value)
* [`masa sbt`](#masa-sbt)
* [`masa sbt info <contract-address>`](#masa-sbt-info-contract-address)
* [`masa sbt list <contract-address>`](#masa-sbt-list-contract-address)
* [`masa sbt sign <contract-address> <name> <types> <value>`](#masa-sbt-sign-contract-address-name-types-value)
* [`masa sbt burn <contract-address> <sbt-id>`](#masa-sbt-burn-contract-address-sbt-id)
* [`masa settings`](#masa-settings)
* [`masa settings set <key> <value>`](#masa-settings-set-key-value)
* [`masa settings preset <environment>`](#masa-settings-preset-environment)
Expand Down Expand Up @@ -118,9 +120,11 @@ Commands:
green list [options] Lists your Greens
green create <phone-number> Creates a Green Token
green burn <green-id> Burns a green
factory Factory Commands
factory info <address> Shows info about an SBT
factory sign <address> <name> <types> <value> Signs an SBT
sbt SBT Commands
sbt info <contract-address> Shows info about an SBT
sbt list [options] <contract-address> Lists your SBTs
sbt sign <contract-address> <name> <types> <value> Signs an SBT
sbt burn <contract-address> <sbt-id> Burns an SBT
settings Set config settings
settings set <key> <value> Changes setting <key> to <value>
settings preset <environment> Changes setting <environment> presets
Expand Down Expand Up @@ -389,25 +393,41 @@ Burns a green
- `<green-id> ID of the Green to burn`
### `masa factory`
### `masa sbt`
Factory Commands
SBT Commands
#### `masa factory info <address>`
#### `masa sbt info <contract-address>`
Shows info about Masa Green
Shows info about an SBT
- `<contract-address> Address of the SBT to sign`
#### `masa sbt list <contract-address>`
- `<address> Address of the SBT to sign`
Lists your SBTs
- `<contract-address> Address of the SBT contract to list`
Options:
- `-a, --address <address>`
Address override
#### `masa factory sign <address> <name> <types> <value>`
#### `masa sbt sign <contract-address> <name> <types> <value>`
Signs an SBT
- `<address> Address of the SBT to sign`
- `<contract-address> Address of the SBT to sign`
- `<name> Name of the contract`
- `<types> Types structure to sign`
- `<value> Values of the structure`
#### `masa sbt burn <contract-address> <sbt-id>`
Burns an SBT
- `<contract-address> Address of the SBT to sign`
- `<sbt-id> ID of the SBT to burn`
### `masa settings`
Set config settings
Expand Down
41 changes: 32 additions & 9 deletions src/cli.ts
Expand Up @@ -27,6 +27,10 @@ import {
identityShow,
login,
logout,
sbtBurn,
sbtInfo,
sbtList,
sbtSign,
settingsPreset,
settingsSet,
settingsShow,
Expand All @@ -42,7 +46,6 @@ import {
version,
} from "./commands";
import { reloadMasa } from "./helpers";
import { factoryInfo, factorySign } from "./commands/factory";
import { BigNumber, TypedDataField } from "ethers";

clear();
Expand Down Expand Up @@ -321,28 +324,48 @@ program
}

{
const factory = program.command("factory").description("Factory Commands");
const sbt = program.command("sbt").description("SBT Commands");

factory
sbt
.command("info")
.description("Shows info about an SBT")
.argument("<address>", "Address of the SBT to sign")
.action(async (address: string) => await factoryInfo(address));
.argument("<contract-address>", "Address of the SBT to sign")
.action(async (contractAddress: string) => await sbtInfo(contractAddress));

factory
sbt
.command("list")
.description("Lists your SBTs")
.argument("<contract-address>", "Address of the SBT contract to list")
.option("-a, --address <address>", "Address override")
.action(
async (contractAddress: string, { address }) =>
await sbtList(contractAddress, address)
);

sbt
.command("sign")
.description("Signs an SBT")
.argument("<address>", "Address of the SBT to sign")
.argument("<contract-address>", "Address of the SBT to sign")
.argument("<name>", "Name of the contract")
.argument("<types>", "Types structure to sign")
.argument("<value>", "Values of the structure")
.action(
async (
address: string,
contractAddress: string,
name: string,
types: Record<string, Array<TypedDataField>>,
value: Record<string, string | BigNumber | number>
) => await factorySign(address, name, types, value)
) => await sbtSign(contractAddress, name, types, value)
);

sbt
.command("burn")
.argument("<contract-address>", "Address of the SBT to sign")
.argument("<sbt-id>", "ID of the SBT to burn")
.description("Burns an SBT")
.action(
async (contractAddress: string, greenId: string) =>
await sbtBurn(contractAddress, greenId)
);
}

Expand Down
2 changes: 0 additions & 2 deletions src/commands/factory/index.ts

This file was deleted.

5 changes: 3 additions & 2 deletions src/commands/green/burn.ts
@@ -1,5 +1,6 @@
import { masa } from "../../helpers";
import { BigNumber } from "ethers";

export const burn = async (greenId: number) => {
await masa.green.burn(greenId);
export const burn = async (greenId: string) => {
await masa.green.burn(BigNumber.from(greenId));
};
1 change: 1 addition & 0 deletions src/commands/index.ts
Expand Up @@ -8,3 +8,4 @@ export * from "./identity";
export * from "./version";
export * from "./credit-score";
export * from "./green";
export * from "./sbt";
7 changes: 7 additions & 0 deletions src/commands/sbt/burn.ts
@@ -0,0 +1,7 @@
import { masa } from "../../helpers";
import { BigNumber } from "ethers";

export const burn = async (contractAddress: string, SBTId: string) => {
const { burn } = await masa.sbt.connect(contractAddress);
await burn(BigNumber.from(SBTId));
};
4 changes: 4 additions & 0 deletions src/commands/sbt/index.ts
@@ -0,0 +1,4 @@
export { sign as sbtSign } from "./sign";
export { info as sbtInfo } from "./info";
export { list as sbtList } from "./list";
export { burn as sbtBurn } from "./burn";
5 changes: 3 additions & 2 deletions src/commands/factory/info.ts → src/commands/sbt/info.ts
@@ -1,11 +1,12 @@
import { masa } from "../../helpers";

export const info = async (address: string) => {
const { selfSovereignSBT } = await masa.contracts.factory(address);
const { selfSovereignSBT } = await masa.contracts.sbt(address);

if (selfSovereignSBT) {
console.log("Self Sovereign SBT\n");
console.log("Self Sovereign SBT Contract Information:\n");
console.log(`Contract Name: '${await selfSovereignSBT.name()}'`);
console.log(`Contract Symbol: '${await selfSovereignSBT.symbol()}'`);
console.log(`Contract Address: '${selfSovereignSBT.address}'`);
console.log(
`Total SBTs: ${(await selfSovereignSBT.totalSupply()).toNumber()}`
Expand Down
6 changes: 6 additions & 0 deletions src/commands/sbt/list.ts
@@ -0,0 +1,6 @@
import { masa } from "../../helpers";

export const list = async (contractAddress: string, address?: string) => {
const { list } = await masa.sbt.connect(contractAddress);
await list(address);
};
2 changes: 1 addition & 1 deletion src/commands/factory/sign.ts → src/commands/sbt/sign.ts
Expand Up @@ -7,7 +7,7 @@ export const sign = async (
types: Record<string, Array<TypedDataField>>,
value: Record<string, string | BigNumber | number>
) => {
const { sign } = await masa.contracts.factory(address);
const { sign } = await masa.contracts.sbt(address);
const signResult = await sign(name, types, value);

/*
Expand Down

0 comments on commit 5f5310f

Please sign in to comment.