All checks were successful
Sophia Tests / tests (push) Successful in 48m54s
A few references to oracles still remain, but they have been removed as a feature, at least. Reviewed-on: #985 Reviewed-by: Ulf Wiger <ulfwiger@qpq.swiss> Co-authored-by: Craig Everett <zxq9@zxq9.com> Co-committed-by: Craig Everett <zxq9@zxq9.com>
30 lines
1.4 KiB
Plaintext
30 lines
1.4 KiB
Plaintext
include "Option.aes"
|
|
include "String.aes"
|
|
include "AENSCompat.aes"
|
|
contract interface OldAENSContract =
|
|
entrypoint set : (string, string, AENS.pointee) => unit
|
|
entrypoint lookup : (string, string) => AENS.pointee
|
|
|
|
main contract AENSUpdate =
|
|
stateful entrypoint update_name(owner : address, name : string, b : bytes(2)) =
|
|
let p1 : AENSv2.pointee = AENSv2.AccountPt(Call.caller)
|
|
let p2 : AENSv2.pointee = AENSv2.OraclePt(Call.caller)
|
|
let p3 : AENSv2.pointee = AENSv2.ContractPt(Call.caller)
|
|
let p4 : AENSv2.pointee = AENSv2.ChannelPt(Call.caller)
|
|
let p5 : AENSv2.pointee = AENSv2.DataPt(String.to_bytes("any something will do"))
|
|
let p6 : AENSv2.pointee = AENSv2.DataPt(Int.to_bytes(1345, 4))
|
|
AENSv2.update(owner, name, None, None,
|
|
Some({ ["account_pubkey"] = p1,
|
|
["contract_pubkey"] = p3, ["misc"] = p4, ["data"] = p5, ["data2"] = p6 }))
|
|
|
|
stateful entrypoint old_interaction(c : OldAENSContract, owner : address, name : string) =
|
|
let p : AENS.pointee = c.lookup(name, "key1")
|
|
AENSv2.update(owner, name, None, None, Some({ ["key1"] = AENSCompat.pointee_to_V2(p) }))
|
|
switch(AENSv2.lookup(name))
|
|
Some(AENSv2.Name(_, _, pt_map)) =>
|
|
c.set(name, "key2", Option.force(AENSCompat.pointee_from_V2(pt_map["key1"])))
|
|
|
|
entrypoint get_ttl(name : string) =
|
|
switch(AENSv2.lookup(name))
|
|
Some(AENSv2.Name(_, FixedTTL(ttl), _)) => ttl
|