arm0ry

Month: 2023-01

2023-01-02

Stamford 04:29:05
Happy new year!!
Stamford 04:29:05
Happy new year!!
🥳 5 ❤️ 4 3
Stamford 04:30:10
新年快樂~
Stamford 04:30:10
新年快樂~

2023-01-05

Zoey Tseng 23:42:32
今天會議重點統整:
1. 根據Notion Task list 幫任務打分數
Zoey Tseng 23:49:26
Hi <!channel> 晚安

統整一下今天的會議紀錄
1. @stamford.hwang 合約開發告一段落,掌聲鼓勵🙌
2. @aaronhsieh1997 前端開發流程釐清中,期待下週討論wireframe💯
3. All - 幫自己負責的tasks打分數
4. @zoeytseng0904 下週交出報名表單(Basic/ Advanced)
5. 最後附上主要功能Playground 合約code給大家參考,有興趣的話可以點進去看看喔喔喔
*BUIDL*
Amazing!!!
好棒好棒!@stamford.hwang @zoeytseng0904 +++
Zoey Tseng 23:49:26
Hi <!channel> 晚安

統整一下今天的會議紀錄
1. @stamford.hwang 合約開發告一段落,掌聲鼓勵🙌
2. @aaronhsieh1997 前端開發流程釐清中,期待下週討論wireframe💯
3. All - 幫自己負責的tasks打分數
4. @zoeytseng0904 下週交出報名表單(Basic/ Advanced)
5. 最後附上主要功能Playground 合約code給大家參考,有興趣的話可以點進去看看喔喔喔
*BUIDL*

da0 arm0ry on Notion

da0 arm0ry Base

M I S S I O N S T A T E M E N T da0 arm0ry (”武器房”) 是一個 Web3 實驗場域:

<https://github.com/arm0ry/playground/blob/4d1af83792703130882eda023023a81a76b71597/flat/Playground.sol | Playground.sol>

``` // SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.4; /// @notice Safe ETH and ERC-20 transfer library that gracefully handles missing return values /// @author Modified from Solmate (<https://github.com/Rari-Capital/solmate/blob/main/src/utils/SafeTransferLib.sol>) /// License-Identifier: AGPL-3.0-only library SafeTransferLib { /// ----------------------------------------------------------------------- /// Errors /// ----------------------------------------------------------------------- error ETHtransferFailed(); error TransferFailed(); error TransferFromFailed(); /// ----------------------------------------------------------------------- /// ETH Logic /// ----------------------------------------------------------------------- function _safeTransferETH(address to, uint256 amount) internal { bool success; assembly { // transfer the ETH and store if it succeeded or not success := call(gas(), to, amount, 0, 0, 0, 0) } if (!success) revert ETHtransferFailed(); } /// ----------------------------------------------------------------------- /// ERC-20 Logic /// ----------------------------------------------------------------------- function _safeTransfer( address token, address to, uint256 amount ) internal { bool success; assembly { // we'll write our calldata to this slot below, but restore it later let memPointer := mload(0x40) // write the abi-encoded calldata into memory, beginning with the function selector mstore(0, 0xa9059cbb00000000000000000000000000000000000000000000000000000000) mstore(4, to) // append the 'to' argument mstore(36, amount) // append the 'amount' argument success := and( // set success to whether the call reverted, if not we check it either // returned exactly 1 (can't just be non-zero data), or had no return data or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())), // we use 68 because that's the total length of our calldata (4 + 32 * 2) // - counterintuitively, this call() must be positioned after the or() in the // surrounding and() because and() evaluates its arguments from right to left call(gas(), token, 0, 0, 68, 0, 32) ) mstore(0x60, 0) // restore the zero slot to zero mstore(0x40, memPointer) // restore the memPointer } if (!success) revert TransferFailed(); } function _safeTransferFrom( address token, address from, address to, uint256 amount ) internal { bool success; assembly { // we'll write our calldata to this slot below, but restore it later let memPointer := mload(0x40) // write the abi-encoded calldata into memory, beginning with the function selector mstore(0, 0x23b872dd00000000000000000000000000000000000000000000000000000000) mstore(4, from) // append the 'from' argument mstore(36, to) // append the 'to' argument mstore(68, amount) // append the 'amount' argument success := and( // set success to whether the call reverted, if not we check it either // returned exactly 1 (can't just be non-zero data), or had no return data or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())), // we use 100 because that's the total length of our calldata (4 + 32 * 3) // - counterintuitively, this call() must be positioned after the or() in the // surrounding and() because and() evaluates its arguments from right to left call(gas(), token, 0, 0, 100, 0, 32) ) mstore(0x60, 0) // restore the zero slot to zero mstore(0x40, memPointer) // restore the memPointer } if (!success) revert TransferFromFailed(); } } /// @notice Modern, minimalist, and gas efficient ERC-721 implementation. /// @author Solmate (<https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol>) /// @dev Note that balanceOf does not revert if passed the zero address, in defiance of the ERC. abstract contract ERC721 { /*/////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 indexed id); event Approval(address indexed owner, address indexed spender, uint256 indexed id); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /*/////////////////////////////////////////////////////////////// METADATA STORAGE/LOGIC //////////////////////////////////////////////////////////////*/ string public name; string public symbol; function tokenURI(uint256 id) public view virtual returns (string memory); /*/////////////////////////////////////////////////////////////// ERC721 STORAGE //////////////////////////////////////////////////////////////*/ mapping(address => uint256) public balanceOf; mapping(uint256 => address) public ownerOf; mapping(uint256 => address) public getApproved; mapping(address => mapping(address => bool)) public isApprovedForAll; /*/////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(string memory _name, string memory _symbol) { name = _name; symbol = _symbol; } /*/////////////////////////////////////////////////////////////// ERC721 LOGIC //////////////////////////////////////////////////////////////*/ function approve(address spender, uint256 id) public virtual { address owner = ownerOf[id]; require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED"); getApproved[id] = spender; emit Approval(owner, spender, id); } function setApprovalForAll(address operator, bool approved) public virtual { isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function transferFrom( address from, address to, uint256 id ) public virtual { require(from == ownerOf[id], "WRONG_FROM"); require(to != address(0), "INVALID_RECIPIENT"); require( msg.sender == from || msg.sender == getApproved[id] || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED" ); // Underflow of the sender's balance is impossible because we check for // ownership above and the recipient's balance can't realistically overflow. unchecked { balanceOf[from]--; balanceOf[to]++; } ownerOf[id] = to; delete getApproved[id]; emit Transfer(from, to, id); } function safeTransferFrom( address from, address to, uint256 id ) public virtual { transferFrom(from, to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } function safeTransferFrom( address from, address to, uint256 id, bytes memory data ) public virtual { transferFrom(from, to, id); …

Amazing!!!
好棒好棒!@stamford.hwang @zoeytseng0904 +++
5 2 ✌️ 2 ❤️ 2
Slackbot 23:49:27
早安!

2023-01-06

2023-01-12

Stamford 04:31:03
哈囉大家~

這邊分享一下目前討論出來的流程.有任何問題可以提出來~

基本上參與者有以下三種路徑體驗 arm0ry playground
1. 提交 google form 給 eth address 等基本資料
2. 參加 arm0ry 未來虛擬貨幣錢包的教學
3. 付 0.05 ether 直接跳級進 playground advanced
每個參與者都可以領 SVG NFT 當作 playground 的學生證 + 成績單,學生證是指當要參與 playground 之前,參與者會需要先鎖 SVG NFT.成績單的部分是指 SVG NFT 的圖案會因鍊上的互動來呈現參與的進度 ,所以概念上有點類似.Playground 會以智能合約呈現並用來審視參與者有沒有完成 playground 任務,並會有兩個階段 playground basic & playground advanced

這週我們會依序討論流程圖圈起來的部分:
1. Google Form (橘色圈圈)@zoeytseng0904
2. 前端框架 @aaronhsieh1997
3. SVG NFT (紫色圈圈)@stamford.hwang
• 目前參考了不少鍊上的 SVG NFT (有興趣的人可以看看 here, here, and here),然後初步會以這個為 arm0ry svg nft 的模板~
• 待討論:
◦ 整體設計
◦ 內容
貼心提醒:
@zoeytseng0904 @aaronhsieh1997 task 部分還沒給分數的請打一下

會議連結:meet.google.com/ipd-hcap-gxh
Minigrant flow - Copy of Mind map (1).jpg

LooksRare

Default Anchor Certificate #1 - arm0ry | LooksRare

Anchor City Certificate

1

2023-01-19

Zoey Tseng 23:48:19
<!channel>
今天會議告一段落跟大家分享一下內容
除了討論Arm0ry 的進度之外還有小小分享了一些 Nerdy小工具:
• NextDNS - 查理推薦擋廣告神器
• ARC Browser - Zoey 推薦神速好用瀏覽器
Arm0ry 網站
Arm0ry on Kali
Arm0ry Traveler Pass
Nonce Community - Stamford 推薦數位遊牧village
期待2/11大松 Pitch 與大家分享更多 arm0ry 細節!

Thanks to @stamford.hwang & @aaronhsieh1997 for the hard work!!!

HackMD

da0 arm0ry 第九次會議 - HackMD

# da0 arm0ry 第九次會議 :::info **日期:** Jan. 19, 2023 **開會時間**: 台灣時間週四 10pm / 紐約時間週四 9 am **會議流程**:

app.kali.gg

Dashboard

Create or vote on a proposal.

Can’t wait!!
💯 2 ❤️ 3 1 1
Zoey Tseng 23:48:19
<!channel>
今天會議告一段落跟大家分享一下內容
除了討論Arm0ry 的進度之外還有小小分享了一些 Nerdy小工具:
• NextDNS
• ARC Browser
Arm0ry 網站
Arm0ry on Kali
Arm0ry Traveler Pass
Nonce Community
期待2/11大松 Pitch 與大家分享更多 arm0ry 細節!

Thanks to @stamford.hwang & @aaronhsieh1997 for the hard work!!!
Can’t wait!!

2023-01-26

Stamford 01:59:09
哈囉大家~

來得有點晚了,但還是要先祝大家新年快樂,Happy 兔gether!

首先,mark your calendars 我們會在 2/11 g0v 大松 pitch, 與大家分享更多 arm0ry 細節 如果你也會去的話,記得要跟 @zoeytseng0904 & @aaronhsieh1997 打聲招呼喔~

另外,最近細看了一下零時小學校,感覺 Arm0ry 有很多地方可以跟零時小學校學習.不管是資訊的統整或是整個活動的流程都寫得非常之詳細,真是太厲害了!這邊我們會 shamelessly 參考使用 :smirk:✌️🏼 也許以後可以為零時小學校增加一個 web3 的課程 🤔

明天週會我會照常 host,能來就來,不能就下次囉,我們會再分享討論內容.明天希望討論:
• Review Arm0ry Playground 中英公告文 (有任何想法可以直接在文章裡 comment)
• 前端與智能合約的進度
• g0v 大松 pitch deck
會議連結:meet.google.com/ipd-hcap-gxh
期待web3課程!
Stamford 01:59:09
哈囉大家~

來得有點晚了,但還是要先祝大家新年快樂,Happy 兔gether!

首先,mark your calendars 我們會在 2/11 g0v 大松 pitch, 與大家分享更多 arm0ry 細節 如果你也會去的話,記得要跟 @zoeytseng0904 & @aaronhsieh1997 打聲招呼喔~

另外,最近細看了一下零時小學校,感覺 Arm0ry 有很多地方可以跟零時小學校學習.不管是資訊的統整或是整個活動的流程都寫得非常之詳細,真是太厲害了!這邊我們會 shamelessly 參考使用 :smirk:✌️🏼 也許以後可以為零時小學校增加一個 web3 的課程 🤔

明天週會我會照常 host,能來就來,不能就下次囉,我們會再分享討論內容.明天希望討論:
• g0v 大松 pitch deck
• Review Arm0ry Playground 中英公告文 (有任何想法可以直接在文章裡 comment)
• 前端與智能合約的進度
島島阿學學習社群-尋找夥伴專案
會議連結:meet.google.com/ipd-hcap-gxh
期待web3課程!
❤️ 4 1 1 1 💯 1 1