diff --git a/index.ts b/index.ts index 1e786e9..c8c92a7 100644 --- a/index.ts +++ b/index.ts @@ -28,9 +28,9 @@ async function main() { */ // 문제 1 시작 - const alice = "*** 여기에 코드 작성 ***" - const bob = "*** 여기에 코드 작성 ***" - const chris = "*** 여기에 코드 작성 ***" + const alice = algorand.account.random(); + const bob = algorand.account.random(); + const chris = algorand.account.random(); // 문제 1 끝 const accounts = [alice, bob, chris]; @@ -47,7 +47,12 @@ async function main() { const dispenser = await algorand.account.dispenser(); for (const account of accounts) { // 문제 2 시작 - "*** 여기에 코드 작성 ***" + await algorand.send.payment({ + sender: dispenser.addr, + receiver: account.addr, + amount: algokit.algos(120), + }) + // 문제 2 끝 } @@ -66,9 +71,19 @@ async function main() { - assetCreateParam: https://github.com/algorandfoundation/algokit-utils-ts/blob/main/docs/code/modules/types_composer.md#assetcreateparams */ // 문제 3 시작 - const createResult = "*** 여기에 코드 작성 ***" + const createResult =await algorand.send.assetCreate ( + { + sender : bob.addr, + assetName : "Apple Vision Pro", + decimals : 0, + unitName : "AVP", + total : BigInt(1), + + } + ); // 문제 3 끝 + // Get assetIndex from transaction const assetId = BigInt(createResult.confirmation.assetIndex!); @@ -83,7 +98,13 @@ async function main() { */ // 문제 4 시작 - "*** 여기에 코드 작성 ***" + const Opt_in = await algorand.send.assetOptIn ( + { + sender : alice.addr, + assetId : assetId + } + ); + // 문제 4 끝 /* @@ -117,18 +138,35 @@ async function main() { sender: chris.addr, receiver: bob.addr, amount: algokit.algos(100), - } + }; + // 밥이 앨리스에게 애플 비전 프로 ASA를 송금하는 트랜잭션 객체 생성 // 문제 5 시작 - const bobSendAssetTxnParam = "*** 여기에 코드 작성 ***" + const bobSendAssetTxnParam = { + sender : bob.addr, + receiver: alice.addr, + assetId : assetId, + amount : BigInt(1), + + }; // 앨리스가 크리스에게 110 ALGO를 송금하는 트랜잭션 객체 생성 - const alicePayTxnParam = "*** 여기에 코드 작성 ***" + const alicePayTxnParam = { + sender: alice.addr, + receiver: chris.addr, + amount: algokit.algos(110), + }; + // 3개의 트랜잭션을 atomic transaction composer로 묶어서 전송 - const atomicGroup = "*** 여기에 코드 작성 ***" - const result = "*** 여기에 코드 작성 ***" + const atomicGroup = algorand.newGroup(); + + await atomicGroup.addPayment(chrisPayTxnParam) + await atomicGroup.addAssetTransfer(bobSendAssetTxnParam) + await atomicGroup.addPayment(alicePayTxnParam) + + const result = await atomicGroup.execute(); // 문제 5 끝 console.log("아래 트랜잭션 ID를 가진 3개의 트랜잭션이 어토믹 트랜잭션으로 동시 체결됬습니다!", result.txIds)