Skip to content

Commit

Permalink
Merge pull request #321 from permaweb/twilson63/feat-blueprints-migra…
Browse files Browse the repository at this point in the history
…te-318

chore: update blueprints to work with AOS 2
  • Loading branch information
twilson63 authored Aug 13, 2024
2 parents 0a46c98 + d964b58 commit d67ae13
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 164 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
<img alt="logo">
</picture>

Status: Preview rc1.1
Version: 2.0.0-rc1.1
Module: `xT0ogTeagEGuySbKuUoo_NaWeeBv1fZ4MqgDdKVKY0U`
Status: Preview rc2
Version: 2.0.0-rc2
Module: `PSPMkkFrJzYI2bQbkmeEQ5ONmeR-FJZu0fNQoSCU1-I`

Sqlite-Module: `sFNHeYzhHfP9vV9CPpqZMU-4Zzq_qKGKwlwMZozWi2Y`
Sqlite-Module: `C4bxMlK8d_wQ-QpXIIZLU8UWXu6Sd8PDJw7HN3nNE2I`


## Requirements
Expand Down
6 changes: 3 additions & 3 deletions blueprints/chatroom.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Members = Members or {}

Handlers.add(
"register",
Handlers.utils.hasMatchingTag("Action", "Register"),
"Register",
function (msg)
local found = false
for _, member in ipairs(Members) do
Expand All @@ -23,7 +23,7 @@ Handlers.add(

Handlers.add(
"unregister",
Handlers.utils.hasMatchingTag("Action", "Unregister"),
"Unregister",
function (msg)
local found = false
for i, v in ipairs(Members) do
Expand All @@ -42,7 +42,7 @@ Handlers.add(

Handlers.add(
"broadcast",
Handlers.utils.hasMatchingTag("Action", "Broadcast"),
"Broadcast",
function (msg)
local haveSentRecords = {}
for _, recipient in ipairs(Members) do
Expand Down
112 changes: 0 additions & 112 deletions blueprints/credUtils.lua

This file was deleted.

8 changes: 4 additions & 4 deletions blueprints/staking.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Handlers.stake = function(msg)
Stakers[msg.From].amount = utils.add(Stakers[msg.From].amount, msg.Tags.Quantity)
Stakers[msg.From].unstake_at = height + delay
print("Successfully Staked " .. msg.Tags.Quantity)
ao.send({Target = msg.From, Data = "Successfully Staked " .. msg.Tags.Quantity})
msg.reply({ Data = "Successfully Staked " .. msg.Tags.Quantity})
end

-- Unstake Action Handler
Expand All @@ -41,7 +41,7 @@ Handlers.unstake = function(msg)
amount = msg.Quantity,
release_at = stakerInfo.unstake_at
}
ao.send({Target = msg.From, Data = "Successfully unstaked " .. msg.Tags.Quantity})
msg.reply({ Data = "Successfully unstaked " .. msg.Tags.Quantity})
end

-- Finalization Handler
Expand All @@ -68,8 +68,8 @@ local function continue(fn)
end
end

Handlers.add('staking.balances', Handlers.utils.hasMatchingTag('Action', 'Stakers'),
function(msg) Send({ Target = msg.From, Data = require('json').encode(Stakers) }) end)
Handlers.add('staking.balances', 'Stakers',
function(msg) msg.reply({ Data = require('json').encode(Stakers) }) end)
-- Registering Handlers
Handlers.add("staking.stake",
continue(Handlers.utils.hasMatchingTag("Action", "Stake")), Handlers.stake)
Expand Down
43 changes: 17 additions & 26 deletions blueprints/token.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
local bint = require('.bint')(256)
local ao = require('ao')
--[[
This module implements the ao Standard Token Specification.
Expand Down Expand Up @@ -72,9 +71,8 @@ Logo = Logo or 'SBCCXwwecBlDqRLUjb8dYABExTJXLieawf7m2aBJ-KY'
Info
]]
--
Handlers.add('info', Handlers.utils.hasMatchingTag('Action', 'Info'), function(msg)
ao.send({
Target = msg.From,
Handlers.add('info', "Info", function(msg)
msg.reply({
Name = Name,
Ticker = Ticker,
Logo = Logo,
Expand All @@ -86,7 +84,7 @@ end)
Balance
]]
--
Handlers.add('balance', Handlers.utils.hasMatchingTag('Action', 'Balance'), function(msg)
Handlers.add('balance', "Balance", function(msg)
local bal = '0'

-- If not Recipient is provided, then return the Senders balance
Expand All @@ -100,8 +98,7 @@ Handlers.add('balance', Handlers.utils.hasMatchingTag('Action', 'Balance'), func
bal = Balances[msg.From]
end

ao.send({
Target = msg.From,
msg.reply({
Balance = bal,
Ticker = Ticker,
Account = msg.Tags.Recipient or msg.From,
Expand All @@ -113,14 +110,14 @@ end)
Balances
]]
--
Handlers.add('balances', Handlers.utils.hasMatchingTag('Action', 'Balances'),
function(msg) ao.send({ Target = msg.From, Data = json.encode(Balances) }) end)
Handlers.add('balances', "Balances",
function(msg) msg.reply({ Data = json.encode(Balances) }) end)

--[[
Transfer
]]
--
Handlers.add('transfer', Handlers.utils.hasMatchingTag('Action', 'Transfer'), function(msg)
Handlers.add('transfer', "Transfer", function(msg)
assert(type(msg.Recipient) == 'string', 'Recipient is required!')
assert(type(msg.Quantity) == 'string', 'Quantity is required!')
assert(bint.__lt(0, bint(msg.Quantity)), 'Quantity must be greater than 0')
Expand All @@ -140,7 +137,6 @@ Handlers.add('transfer', Handlers.utils.hasMatchingTag('Action', 'Transfer'), fu
if not msg.Cast then
-- Debit-Notice message template, that is sent to the Sender of the transfer
local debitNotice = {
Target = msg.From,
Action = 'Debit-Notice',
Recipient = msg.Recipient,
Quantity = msg.Quantity,
Expand Down Expand Up @@ -169,12 +165,11 @@ Handlers.add('transfer', Handlers.utils.hasMatchingTag('Action', 'Transfer'), fu
end

-- Send Debit-Notice and Credit-Notice
ao.send(debitNotice)
ao.send(creditNotice)
msg.reply(debitNotice)
Send(creditNotice)
end
else
ao.send({
Target = msg.From,
msg.reply({
Action = 'Transfer-Error',
['Message-Id'] = msg.Id,
Error = 'Insufficient Balance!'
Expand All @@ -186,7 +181,7 @@ end)
Mint
]]
--
Handlers.add('mint', Handlers.utils.hasMatchingTag('Action', 'Mint'), function(msg)
Handlers.add('mint', "Mint", function(msg)
assert(type(msg.Quantity) == 'string', 'Quantity is required!')
assert(bint(0) < bint(msg.Quantity), 'Quantity must be greater than zero!')

Expand All @@ -196,13 +191,11 @@ Handlers.add('mint', Handlers.utils.hasMatchingTag('Action', 'Mint'), function(m
-- Add tokens to the token pool, according to Quantity
Balances[msg.From] = utils.add(Balances[msg.From], msg.Quantity)
TotalSupply = utils.add(TotalSupply, msg.Quantity)
ao.send({
Target = msg.From,
msg.reply({
Data = Colors.gray .. "Successfully minted " .. Colors.blue .. msg.Quantity .. Colors.reset
})
else
ao.send({
Target = msg.From,
msg.reply({
Action = 'Mint-Error',
['Message-Id'] = msg.Id,
Error = 'Only the Process Id can mint new ' .. Ticker .. ' tokens!'
Expand All @@ -214,11 +207,10 @@ end)
Total Supply
]]
--
Handlers.add('totalSupply', Handlers.utils.hasMatchingTag('Action', 'Total-Supply'), function(msg)
Handlers.add('totalSupply', "Total-Supply", function(msg)
assert(msg.From ~= ao.id, 'Cannot call Total-Supply from the same process!')

ao.send({
Target = msg.From,
msg.reply({
Action = 'Total-Supply',
Data = TotalSupply,
Ticker = Ticker
Expand All @@ -228,15 +220,14 @@ end)
--[[
Burn
]] --
Handlers.add('burn', Handlers.utils.hasMatchingTag('Action', 'Burn'), function(msg)
Handlers.add('burn', 'Burn', function(msg)
assert(type(msg.Quantity) == 'string', 'Quantity is required!')
assert(bint(msg.Quantity) <= bint(Balances[msg.From]), 'Quantity must be less than or equal to the current balance!')

Balances[msg.From] = utils.subtract(Balances[msg.From], msg.Quantity)
TotalSupply = utils.subtract(TotalSupply, msg.Quantity)

ao.send({
Target = msg.From,
msg.reply({
Data = Colors.gray .. "Successfully burned " .. Colors.blue .. msg.Quantity .. Colors.reset
})
end)
3 changes: 2 additions & 1 deletion blueprints/voting.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Handlers.vote = function(msg)
assert(quantity > 0, "No staked tokens to vote")
Votes[target] = Votes[target] or { yay = 0, nay = 0, deadline = deadline }
Votes[target][side] = Votes[target][side] + quantity

end

-- Finalization Handler
Expand Down Expand Up @@ -41,4 +42,4 @@ end
Handlers.add("vote",
continue(Handlers.utils.hasMatchingTag("Action", "Vote")), Handlers.vote)
-- Finalization handler should be called for every message
Handlers.add("finalize", function (msg) return -1 end, finalizationHandler)
Handlers.add("finalize", function (msg) return "continue" end, finalizationHandler)
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"type": "module",
"name": "@permaweb/aos",
"version": "2.0.0-rc1.1",
"version": "2.0.0-rc2",
"main": "src/index.js",
"bin": "./bin/aos.js",
"repository": "https://github.com/permaweb/aos.git",
Expand Down Expand Up @@ -29,9 +29,9 @@
"yargs": "^17.7.2"
},
"aos": {
"module": "xT0ogTeagEGuySbKuUoo_NaWeeBv1fZ4MqgDdKVKY0U",
"sqlite": "sFNHeYzhHfP9vV9CPpqZMU-4Zzq_qKGKwlwMZozWi2Y",
"version": "2.0.0.rc1"
"module": "PSPMkkFrJzYI2bQbkmeEQ5ONmeR-FJZu0fNQoSCU1-I",
"sqlite": "C4bxMlK8d_wQ-QpXIIZLU8UWXu6Sd8PDJw7HN3nNE2I",
"version": "2.0.0.rc2"
},
"devDependencies": {
"esbuild": "^0.20.1"
Expand Down
6 changes: 3 additions & 3 deletions process/handlers-utils.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
local _utils = { _version = "0.0.1" }
local _utils = { _version = "0.0.2" }

local _ = require('.utils')
local ao = require(".ao")
Expand Down Expand Up @@ -37,10 +37,10 @@ function _utils.reply(input)
assert(type(input) == 'table' or type(input) == 'string', 'invalid arguments: (input : table or string)')
return function (msg)
if type(input) == 'string' then
ao.send({Target = msg.From, Data = input})
msg.reply({ Data = input})
return
end
ao.send({Target = msg.From, Tags = input })
msg.reply(input)
end
end

Expand Down
4 changes: 2 additions & 2 deletions process/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"scripts": {
"build": "ao build",
"test": "node --test --experimental-wasm-memory64",
"deploy": "ao publish -w ~/.wallet.json process.wasm -t Memory-Limit -v 1-gb -t Compute-Limit -v 9000000000000 -t Module-Format -v wasm64-unknown-emscripten-draft_2024_02_15 -t AOS-Version -v 2.0.0.rc1",
"deploy-sqlite": "ao publish -w ~/.wallet.json process.wasm -t Memory-Limit -v 1-gb -t Compute-Limit -v 9000000000000 -t Module-Format -v wasm64-unknown-emscripten-draft_2024_02_15 -t AOS-Version -v 2.0.0.rc1 -t AOS-Type -v AOS-SQLITE"
"deploy": "ao publish -w ~/.wallet.json process.wasm -t Memory-Limit -v 1-gb -t Compute-Limit -v 9000000000000 -t Module-Format -v wasm64-unknown-emscripten-draft_2024_02_15 -t AOS-Version -v 2.0.0.rc2 -t Name -v AOS",
"deploy-sqlite": "ao publish -w ~/.wallet.json process.wasm -t Memory-Limit -v 1-gb -t Compute-Limit -v 9000000000000 -t Module-Format -v wasm64-unknown-emscripten-draft_2024_02_15 -t AOS-Version -v 2.0.0.rc2 -t Name -v AOS-SQLITE"
}
}
Loading

0 comments on commit d67ae13

Please sign in to comment.