Skip to content

Commit

Permalink
Add scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
danial303065 committed Aug 6, 2024
1 parent e755b2f commit 08eb577
Show file tree
Hide file tree
Showing 11 changed files with 144 additions and 6 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ coverage
*.tgz
*.log
.turbo
.hidden
5 changes: 5 additions & 0 deletions packages/client-test/data/shop_info0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"shopId": "0x00011936a68f7c26797fa2ab64d444ea82c2fb1af36cdea6d4ff845da635f287",
"address": "0xB6f69F0e9e70034ba0578C542476cC13eF739269",
"privateKey": "0x595f911dcf0845cb1f2d0e5cec9f1ccfd62fa199ebeae215a72aa56014edbb32"
}
5 changes: 5 additions & 0 deletions packages/client-test/data/shop_info1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"shopId": "0x00011f2355a63165608a0f1c00cf1a03183cf9e7e0becb874092f1cdf9db8aa0",
"address": "0x9b3ABc653D15B5a0f4E43E6340096C1C9BB2CA2f",
"privateKey": "0xc3bc6d1141896f1729ece9c7a8bb97c6222cac8e7d902317746b073a369a263e"
}
14 changes: 14 additions & 0 deletions packages/client-test/data/shop_infos.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[{
"shopId": "0x00011936a68f7c26797fa2ab64d444ea82c2fb1af36cdea6d4ff845da635f287",
"address": "0xB6f69F0e9e70034ba0578C542476cC13eF739269",
"privateKey": "0x595f911dcf0845cb1f2d0e5cec9f1ccfd62fa199ebeae215a72aa56014edbb32",
"name": "상점1",
"currency": "php"
},{
"shopId": "0x00011f2355a63165608a0f1c00cf1a03183cf9e7e0becb874092f1cdf9db8aa0",
"address": "0x9b3ABc653D15B5a0f4E43E6340096C1C9BB2CA2f",
"privateKey": "0xc3bc6d1141896f1729ece9c7a8bb97c6222cac8e7d902317746b073a369a263e",
"name": "상점2",
"currency": "php"
}
]
4 changes: 2 additions & 2 deletions packages/client-test/data/user_info.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"phone": "+82 10-9520-1803",
"address": "0x9a568e50556e7d51d1d477b22C28a099d33Ea04f",
"privateKey": "0x00e8b7fdbed0d29a71339ca7699ff3982708867725e8c49e04ced69222189551"
"address": "0x5A3Fc8990417b3e6ddCdAE0E8039E798A609Ef84",
"privateKey": "0x1f38c07e88ca6bc2f7790f09a27bfc39f4524cf2a322d003435392cfa0d6dae3"
}
8 changes: 5 additions & 3 deletions packages/client-test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@
"26-ledger:balance:point": "npx ts-node scripts/2-ledger/point.ts",
"27-ledger:balance:unpayable": "npx ts-node scripts/2-ledger/unpayable.ts",
"28-ledger:exchange:toToken": "npx ts-node scripts/2-ledger/changeToToken.ts",
"31-shop:add": "npx ts-node scripts/3-shop/add.ts",
"31-shop:get": "npx ts-node scripts/3-shop/get.ts",
"32-shop:createId": "npx ts-node scripts/3-shop/createId.ts",
"31-shop:addOne": "npx ts-node scripts/3-shop/addOne.ts",
"34-shop:addTwo": "npx ts-node scripts/3-shop/addTwo.ts",
"32-shop:get": "npx ts-node scripts/3-shop/get.ts",
"33-shop:createId": "npx ts-node scripts/3-shop/createId.ts",
"35-shop:refund": "npx ts-node scripts/3-shop/refund.ts",
"41-save:account": "npx ts-node scripts/4-save/account.ts",
"42-save:phone": "npx ts-node scripts/4-save/phone.ts",
"51-use:new": "npx ts-node scripts/5-use/new.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/client-test/scripts/2-ledger/changeToToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ async function main() {
const context: Context = new Context(contextParams);
const client = new Client(context);

const amount = BOACoin.make("10_000");
const amount = BOACoin.make("1_000");
for await (const step of client.ledger.exchangePointToToken(amount.value)) {
switch (step.key) {
case NormalSteps.PREPARED:
Expand Down
File renamed without changes.
48 changes: 48 additions & 0 deletions packages/client-test/scripts/3-shop/addTwo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { Helper } from "../utils";
import { Client, Context, ContextBuilder, ContractUtils, NormalSteps } from "acc-sdk-client-v2";
import fs from "fs";
import { Wallet } from "ethers";

async function main() {
const shopInfos = JSON.parse(fs.readFileSync("./data/shop_infos.json", "utf8")).map(
(m: { shopId: string; privateKey: string; name: string; currency: string }) => {
return {
shopId: m.shopId,
wallet: new Wallet(m.privateKey),
name: m.name,
currency: m.currency,
};
}
);
for (const shopInfo of shopInfos) {
const contextParams = ContextBuilder.buildContextParams(Helper.NETWORK, shopInfo.wallet.privateKey);
if (Helper.RELAY_ENDPOINT !== "") contextParams.relayEndpoint = Helper.RELAY_ENDPOINT;
if (Helper.WEB3_ENDPOINT !== "") contextParams.web3Provider = Helper.WEB3_ENDPOINT;
const context: Context = new Context(contextParams);
const client = new Client(context);
console.log("상점 데이타를 추가합니다.");

for await (const step of client.shop.add(shopInfo.shopId, shopInfo.name, shopInfo.currency)) {
switch (step.key) {
case NormalSteps.PREPARED:
console.log("NormalSteps.PREPARED");
break;
case NormalSteps.SENT:
console.log("NormalSteps.SENT");
break;
case NormalSteps.DONE:
console.log("NormalSteps.DONE");
break;
default:
throw new Error("Unexpected add shop step: " + JSON.stringify(step, null, 2));
}
}

await ContractUtils.delay(1000);
}
}

main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
3 changes: 3 additions & 0 deletions packages/client-test/scripts/3-shop/get.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ const beautify = require("beautify");

async function main() {
const shopInfo = Helper.loadShopInfo();
console.log(`shopId: ${shopInfo.shopId}`);
console.log(`wallet.address: ${shopInfo.wallet.address}`);

const contextParams = ContextBuilder.buildContextParams(Helper.NETWORK, shopInfo.wallet.privateKey);
if (Helper.RELAY_ENDPOINT !== "") contextParams.relayEndpoint = Helper.RELAY_ENDPOINT;
if (Helper.WEB3_ENDPOINT !== "") contextParams.web3Provider = Helper.WEB3_ENDPOINT;
Expand Down
60 changes: 60 additions & 0 deletions packages/client-test/scripts/3-shop/refund.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import { Helper } from "../utils";
import { Amount, Client, Context, ContextBuilder, NormalSteps } from "acc-sdk-client-v2";
import { BOACoin } from "../../src/Amount";
import { BigNumber } from "@ethersproject/bignumber";

const beautify = require("beautify");

async function main() {
const shopInfo = Helper.loadShopInfo();
console.log(`shopId: ${shopInfo.shopId}`);
console.log(`wallet.address: ${shopInfo.wallet.address}`);

const contextParams = ContextBuilder.buildContextParams(Helper.NETWORK, shopInfo.wallet.privateKey);
if (Helper.RELAY_ENDPOINT !== "") contextParams.relayEndpoint = Helper.RELAY_ENDPOINT;
if (Helper.WEB3_ENDPOINT !== "") contextParams.web3Provider = Helper.WEB3_ENDPOINT;
const context: Context = new Context(contextParams);
const client = new Client(context);

console.log("상점 정보를 요청합니다.");
const info = await client.shop.getShopInfo(shopInfo.shopId);
const refundable = await client.shop.getRefundableAmount(shopInfo.shopId);

console.log("처리결과입니다.");
console.log(`shopId: ${info.shopId}`);
console.log(`name: ${info.name}`);
console.log(`currency: ${info.currency}`);
console.log(`account: ${info.account}`);
console.log(`delegator: ${info.delegator}`);
console.log(`providedAmount: ${new BOACoin(info.providedAmount).toDisplayString(true, 2)}`);
console.log(`usedAmount: ${new BOACoin(info.usedAmount).toDisplayString(true, 2)}`);
console.log(`refundedAmount: ${new BOACoin(info.refundedAmount).toDisplayString(true, 2)}`);
console.log(`refundableAmount: ${new BOACoin(refundable.refundableAmount).toDisplayString(true, 2)}`);

if (refundable.refundableAmount.gt(BigNumber.from(0))) {
for await (const step of client.shop.refund(shopInfo.shopId, refundable.refundableAmount)) {
switch (step.key) {
case NormalSteps.PREPARED:
console.log(`NormalSteps.PREPARED`);
console.log(`step.shopId: ${step.shopId}`);
console.log(`step.signature: ${step.signature}`);
break;
case NormalSteps.SENT:
console.log(`NormalSteps.SENT`);
console.log(`step.txHash: ${step.txHash}`);
break;
case NormalSteps.DONE:
console.log(`NormalSteps.DONE`);
console.log(`step.refundAmount: ${step.refundAmount.toString()}`);
break;
default:
throw new Error("Unexpected open withdrawal step: " + JSON.stringify(step, null, 2));
}
}
}
}

main().catch((error) => {
console.error(error);
process.exitCode = 1;
});

0 comments on commit 08eb577

Please sign in to comment.