Contracts
Two contracts, both without an owner, an admin key, a fee or an upgrade path. Every parameter is fixed when the contract is created. Until an address is filled in below, the app runs the same screens in practice mode and sends nothing to the chain.
PinloCortex
Memory anchors, versions and access grants. It never sees record text, only hashes.
openMind(label)creates a mind owned by the caller. The id iskeccak256(abi.encode(owner, label)); labels are 1 to 64 bytes and public.etch(id, expectedVersion, root, count, uri)anchors a new version. Only the owner or a wallet with a write grant may call it, and only if the mind is still atexpectedVersion, so two writers can never overwrite each other silently. A count of zero needs a zero root (an emptied mind).grant(id, agent, scope, expiry)andrevoke(id, agent), owner only. Scope 1 is read, 3 is read and write.verifyRecord(id, version, recordHash, proof)returns true when the record folds to that version's root (version 0 means the latest).- Views:
mindOf,rootAt,grantOf,canRead,canWrite,mindCount,etchCount. - Events:
MindOpened,Etched,Granted,Revoked.
PinloTether
Fixed-term locks of $PINLO. A holder locks an amount for a number of days between the minimum and maximum set at deploy, and takes the same amount back after the term. There is no yield and no reward: an active lock raises the wallet's hosted-memory quota, and that is all. It is deployed once the token address exists.
lock(amount, termDays)pulls the tokens and refuses any token that arrives short (fee-on-transfer).release(id)returns the tokens to the holder once the term has ended.- Views:
lockOf,openLocksOf,lockedOf,activeOf,totalLocked.
Checking a deployment
The repository includes npm run verify-deployment, which compares the bytecode at an address with this build, decodes the constructor values and checks the creation transaction. Source code is also published on the Robinhood Chain explorer once deployed.
Addresses on Robinhood Chain
| Contract | Address | Constructor |
|---|---|---|
| PinloCortex | 0xd5381926d1517010a5b1286b202a036567920934 | No constructor values. Can be deployed before the token. |
| PinloTether | Not deployed yet | Token address, minimum 7 days, maximum 365 days (proposed). Deployed after the token. |