Skip to content

Commit

Permalink
Improve transfer algorithm pseudocode (ordinals#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
casey authored Jan 20, 2022
1 parent f8ae218 commit cc18dd3
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,24 @@ their parent transactions appear in the block.

```rust
fn transfer(transaction: Transaction) {
let mut numbers = Vec::new();
let mut ordinals: Vec<u64> = Vec::new();

for input in transaction.inputs {
for number in input.numbers {
numbers.push(number);
for ordinal in input.ordinals {
ordinals.push(ordinal);
}
}

for output in transaction.outputs {
let rest = numbers.split_off(output.value);
output.numbers = numbers;
numbers = rest;
for ordinal in &ordinals[0..output.value] {
output.ordinals.push(ordinal);
}
ordinals = ordinals.split_off(output.value);
}

coinbase.input.numbers.extend_from_slice(&numbers);
for ordinal in ordinals {
coinbase.input.ordinals.push(ordinals);
}
}
```

Expand Down

0 comments on commit cc18dd3

Please sign in to comment.