Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/concepts/cycles.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar:
order: 4
---

Every canister runs on real hardwarenodes operated by independent node providers distributed across the world. Unlike a traditional cloud, there is no single company to bill: no AWS account, no credit card, no monthly invoice. Instead, the network handles payment at the protocol level. **Canisters pay for their own compute, storage, and bandwidth using cycles** a unit of compute loaded into a canister in advance. The network deducts cycles automatically as the canister runs. Anyone can top up a canister: the developer, another canister, a user, or an automated service. Users interact with apps for free, the same way they use any web service.
Every canister runs on real hardware: nodes operated by independent node providers distributed across the world. Unlike a traditional cloud, there is no single company to bill: no AWS account, no credit card, no monthly invoice. Instead, the network handles payment at the protocol level. **Canisters pay for their own compute, storage, and bandwidth using cycles**, a unit of compute loaded into a canister in advance. The network deducts cycles automatically as the canister runs. Anyone can top up a canister: the developer, another canister, a user, or an automated service. Users interact with apps for free, the same way they use any web service.

## What are cycles?

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Understand the ideas behind the Internet Computer before you build on it. These

## Core capabilities

- **[Cycles](cycles.md)**: How canisters pay for their own compute, storage, and bandwidth and why users pay nothing.
- **[Cycles](cycles.md)**: How canisters pay for their own compute, storage, and bandwidth, and why users pay nothing.
- **[Orthogonal Persistence](orthogonal-persistence.md)**: How canister memory survives across executions and upgrades without databases.
- **[HTTPS Outcalls](https-outcalls.md)**: How canisters make HTTP requests to external services with consensus on responses.
- **[Onchain Randomness](onchain-randomness.md)**: Cryptographically secure random numbers using threshold VRF.
Expand Down
10 changes: 5 additions & 5 deletions docs/languages/motoko/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,15 +98,15 @@ Key improvements in `core` over `base`:
- Hash-based collections removed in favor of ordered maps and sets (better security against collision attacks)
- Consistent naming: `values()` instead of `vals()`, `Cycles` instead of `ExperimentalCycles`

If you have an existing project using `base`, you can migrate incrementally both libraries can coexist in the same project. See the [base to core migration guide](base-core-migration.md) for detailed instructions.
If you have an existing project using `base`, you can migrate incrementally; both libraries can coexist in the same project. See the [base to core migration guide](base-core-migration.md) for detailed instructions.

`core` and all other Motoko packages are managed with [Mops](https://mops.one), which handles dependency resolution, compiler toolchain management, and publishing. Browse community packages at [mops.one](https://mops.one).

## Further reading

- [Quickstart](../../getting-started/quickstart.md) — Create and deploy your first canister
- [core library API docs](https://mops.one/core/docs) — Standard library reference
- [Orthogonal persistence](../../concepts/orthogonal-persistence.md) — How persistent memory works at the platform level
- [Motoko GitHub](https://github.com/caffeinelabs/motoko) — Compiler source and issue tracker
- [Quickstart](../../getting-started/quickstart.md): create and deploy your first canister
- [core library API docs](https://mops.one/core/docs): standard library reference
- [Orthogonal persistence](../../concepts/orthogonal-persistence.md): how persistent memory works at the platform level
- [Motoko GitHub](https://github.com/caffeinelabs/motoko): compiler source and issue tracker

<!-- Upstream: hand-written -->
14 changes: 7 additions & 7 deletions docs/reference/token-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ ICRC stands for Internet Computer Request for Comments. Standards are proposed b

| Standard | Purpose | Extends | Status |
|----------|---------|---------|--------|
| [ICRC-1](#icrc-1-fungible-tokens) | Fungible token base standard | -- | Adopted |
| [ICRC-1](#icrc-1-fungible-tokens) | Fungible token base standard | none | Adopted |
| [ICRC-2](#icrc-2-approve-and-transfer-from) | Approve and transfer-from for fungible tokens | ICRC-1 | Adopted |
| [ICRC-3](#icrc-3-transaction-log) | Transaction log and block archive | ICRC-1 | Adopted |
| [ICRC-7](#icrc-7-non-fungible-tokens) | Non-fungible token (NFT) base standard | -- | Adopted |
| [ICRC-7](#icrc-7-non-fungible-tokens) | Non-fungible token (NFT) base standard | none | Adopted |
| [ICRC-37](#icrc-37-nft-approvals) | Approve and transfer-from for NFTs | ICRC-7 | Adopted |
| [ICRC-21](#wallet-signer-standards) | Canister call consent messages | -- | Adopted |
| [ICRC-25](#wallet-signer-standards) | Signer interaction (permissions) | -- | Adopted |
| [ICRC-27](#wallet-signer-standards) | Account discovery | -- | Adopted |
| [ICRC-29](#wallet-signer-standards) | Window PostMessage transport | -- | Adopted |
| [ICRC-49](#wallet-signer-standards) | Call canister via signer | -- | Adopted |
| [ICRC-21](#wallet-signer-standards) | Canister call consent messages | none | Adopted |
| [ICRC-25](#wallet-signer-standards) | Signer interaction (permissions) | none | Adopted |
| [ICRC-27](#wallet-signer-standards) | Account discovery | none | Adopted |
| [ICRC-29](#wallet-signer-standards) | Window PostMessage transport | none | Adopted |
| [ICRC-49](#wallet-signer-standards) | Call canister via signer | none | Adopted |

## ICRC-1: Fungible tokens

Expand Down
21 changes: 21 additions & 0 deletions scripts/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,26 @@ const FORBIDDEN = [
{ re: /docs\.internetcomputer\.org/, msg: 'docs.internetcomputer.org URLs will break — link internally or inline' },
];

function checkEmdash(file, content) {
if (isSynced(file) || isStub(content)) return [];
const errors = [];
const lines = content.split('\n');
let inFence = false;
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
if (/^```/.test(line.trimStart())) { inFence = !inFence; continue; }
if (inFence) continue;
if (/^\s*<!--/.test(line)) continue;
if (line.includes('—')) {
errors.push(`line ${i + 1}: em-dash (—) in prose — use a colon, semicolon, comma, or parentheses`);
}
if (/ -- /.test(line)) {
errors.push(`line ${i + 1}: " -- " used as em-dash substitute — use a colon, semicolon, comma, or parentheses`);
}
}
return errors;
}

function checkForbiddenPatterns(file, content) {
if (isSynced(file)) return [];
const errors = [];
Expand Down Expand Up @@ -87,6 +107,7 @@ function validate(file) {
...checkUpstream(file, content),
...checkFrontmatter(file, content),
...checkForbiddenPatterns(file, content),
...checkEmdash(file, content),
...checkInternalLinks(file, content),
];
}
Expand Down
Loading