Skip to content

Commit

Permalink
Merge pull request #2124 from nervosnetwork/testnet
Browse files Browse the repository at this point in the history
Deploy to mainnet
  • Loading branch information
zmcNotafraid authored Aug 8, 2024
2 parents e94012e + 2944667 commit 13e84b2
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 21 deletions.
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -403,8 +403,8 @@ GEM
redis-objects (2.0.0.beta)
redis (~> 5.0)
regexp_parser (2.7.0)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.3.3)
strscan
rubocop (1.50.1)
json (~> 2.3)
parallel (~> 1.10)
Expand Down
4 changes: 4 additions & 0 deletions app/models/ckb_sync/api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ def btc_time_code_hash
Settings.btc_time_code_hash
end

def single_use_lock_code_hash
Settings.single_use_lock_code_hash
end

METHOD_NAMES.each do |name|
define_method name do |*params|
call_rpc(name, params:)
Expand Down
29 changes: 13 additions & 16 deletions app/models/market_data.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ def parsed_dao
end

def total_supply
if current_timestamp > first_released_timestamp_may
result = parsed_dao.c_i - BURN_QUOTA - yesterday_treasury_amount.to_i
else
result = parsed_dao.c_i - BURN_QUOTA
end
result = if current_timestamp > first_released_timestamp_may
parsed_dao.c_i - BURN_QUOTA - yesterday_treasury_amount.to_i
else
parsed_dao.c_i - BURN_QUOTA
end

unit == "ckb" ? (result / 10**8).truncate(8) : result
end
Expand All @@ -104,11 +104,9 @@ def circulating_supply
# 2020-05-01
def first_released_timestamp_may
@first_released_timestamp_may ||=
begin
Rails.cache.realize("first_released_timestamp_may") do
lock_address = Address.find_by_address_hash("ckb1q3w9q60tppt7l3j7r09qcp7lxnp3vcanvgha8pmvsa3jplykxn323t90gna20lusyshreg32qee4fhkt9jj2t6qrqzzqxzq8yqt8kmd9")
lock_address.present? ? lock_address.lock_script.lock_info[:estimated_unlock_time].to_i : CkbUtils.time_in_milliseconds(Time.find_zone("UTC").parse("2020-05-01"))
end
Rails.cache.realize("first_released_timestamp_may") do
lock_address = Address.find_by_address_hash("ckb1q3w9q60tppt7l3j7r09qcp7lxnp3vcanvgha8pmvsa3jplykxn323t90gna20lusyshreg32qee4fhkt9jj2t6qrqzzqxzq8yqt8kmd9")
lock_address.present? ? lock_address.lock_script.lock_info[:estimated_unlock_time].to_i : CkbUtils.time_in_milliseconds(Time.find_zone("UTC").parse("2020-05-01"))
end
end

Expand All @@ -133,11 +131,9 @@ def third_released_timestamp_may
# 2020-07-01
def first_released_timestamp_other
@first_released_timestamp_other ||=
begin
Rails.cache.realize("first_released_timestamp_may") do
lock_address = Address.find_by_address_hash("ckb1q3w9q60tppt7l3j7r09qcp7lxnp3vcanvgha8pmvsa3jplykxn32s3y29vjv73cfm8qax220dwwmpdccl4upy4s9qzzqxzq8yqyd09am")
lock_address.present? ? lock_address.lock_script.lock_info[:estimated_unlock_time].to_i : CkbUtils.time_in_milliseconds(Time.find_zone("UTC").parse("2020-07-01"))
end
Rails.cache.realize("first_released_timestamp_may") do
lock_address = Address.find_by_address_hash("ckb1q3w9q60tppt7l3j7r09qcp7lxnp3vcanvgha8pmvsa3jplykxn32s3y29vjv73cfm8qax220dwwmpdccl4upy4s9qzzqxzq8yqyd09am")
lock_address.present? ? lock_address.lock_script.lock_info[:estimated_unlock_time].to_i : CkbUtils.time_in_milliseconds(Time.find_zone("UTC").parse("2020-07-01"))
end
end

Expand All @@ -160,6 +156,7 @@ def third_released_timestamp_other
end

def yesterday_treasury_amount
DailyStatistic.order(:created_at_unixtimestamp).last.treasury_amount
treasury_amounts = DailyStatistic.order(created_at_unixtimestamp: :desc).first(2).pluck(:treasury_amount)
treasury_amounts[0] == "0" ? treasury_amounts[1] : treasury_amounts[0]
end
end
2 changes: 1 addition & 1 deletion app/models/token_collection.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class TokenCollection < ApplicationRecord
VALID_TAGS = ["invalid", "suspicious", "out-of-length-range", "rgb++", "layer-1-asset", "layer-2-asset"]
VALID_TAGS = ["invalid", "suspicious", "out-of-length-range", "rgb++", "layer-1-asset", "layer-2-asset", "supply-limited"]

enum standard: { cota: "cota", spore: "spore", m_nft: "m_nft", nrc721: "nrc721" }

Expand Down
11 changes: 9 additions & 2 deletions app/workers/token_collection_tag_worker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ def mark_tags(token_collection)
["suspicious"]
elsif out_of_length?(token_collection.name)
["out-of-length-range"]
elsif single_use_lock?(token_collection.creator.address_hash)
["supply-limited"]
elsif rgbpp_lock?(token_collection.creator.address_hash)
["rgb++", "layer-1-asset"]
else
Expand All @@ -29,11 +31,11 @@ def mark_tags(token_collection)
end

def invalid_char?(name)
!name.ascii_only?
!name.ascii_only? && (name =~ /^[\u4E00-\u9FFF]+$/).nil?
end

def invisible_char?(name)
(name =~ /^[\x21-\x7E]+(?:\s[\x21-\x7E]+)?$/).nil?
(name =~ /^[\x21-\x7E\u4E00-\u9FFF]+(?:\s[\x21-\x7E\u4E00-\u9FFF]+)?$/).nil?
end

def out_of_length?(name)
Expand All @@ -48,4 +50,9 @@ def rgbpp_lock?(issuer_address)
address_code_hash = CkbUtils.parse_address(issuer_address).script.code_hash
issuer_address.present? && CkbSync::Api.instance.rgbpp_code_hash.include?(address_code_hash)
end

def single_use_lock?(issuer_address)
address_script = CkbUtils.parse_address(issuer_address).script
issuer_address.present? && CkbSync::Api.instance.single_use_lock_code_hash == address_script.code_hash && address_script.hash_type == "data1"
end
end
7 changes: 7 additions & 0 deletions app/workers/xudt_tag_worker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ def mark_tags(udt)
["utility"]
elsif !first_xudt?(udt.symbol, udt.block_timestamp)
["suspicious"]
elsif single_use_lock?(udt.issuer_address)
["supply-limited"]
elsif rgbpp_lock?(udt.issuer_address)
["rgb++", "layer-1-asset", "supply-limited"]
else
Expand Down Expand Up @@ -56,6 +58,11 @@ def rgbpp_lock?(issuer_address)
issuer_address.present? && CkbSync::Api.instance.rgbpp_code_hash.include?(address_code_hash)
end

def single_use_lock?(issuer_address)
address_script = CkbUtils.parse_address(issuer_address).script
issuer_address.present? && CkbSync::Api.instance.single_use_lock_code_hash == address_script.code_hash && address_script.hash_type == "data1"
end

def utility_lp_token?(args)
args.length == 74
end
Expand Down
2 changes: 2 additions & 0 deletions config/settings.mainnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,5 @@ rgbpp_code_hash:
# btc time code hash
btc_time_code_hash:
- "0x70d64497a075bd651e98ac030455ea200637ee325a12ad08aff03f1a117e5a62"

single_use_lock_code_hash: "0x8290467a512e5b9a6b816469b0edabba1f4ac474e28ffdd604c2a7c76446bbaf"
2 changes: 2 additions & 0 deletions config/settings.testnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,5 @@ rgbpp_code_hash:
btc_time_code_hash:
- "0x00cdf8fab0f8ac638758ebf5ea5e4052b1d71e8a77b9f43139718621f6849326"
- "0x80a09eca26d77cea1f5a69471c59481be7404febf40ee90f886c36a948385b55"

single_use_lock_code_hash: "0x8290467a512e5b9a6b816469b0edabba1f4ac474e28ffdd604c2a7c76446bbaf"

0 comments on commit 13e84b2

Please sign in to comment.