(b *txvmutil.Builder, stack []stackItem, f func(int, stackItem) bool)
| 659 | } |
| 660 | |
| 661 | func findAndRoll(b *txvmutil.Builder, stack []stackItem, f func(int, stackItem) bool) []stackItem { |
| 662 | for i := len(stack) - 1; i >= 0; i-- { |
| 663 | if f(i, stack[i]) { |
| 664 | if i == len(stack)-1 { |
| 665 | return stack |
| 666 | } |
| 667 | b.PushdataInt64(int64(len(stack) - i - 1)) |
| 668 | b.Op(op.Roll) |
| 669 | return append(stack[:i], append(stack[i+1:], stack[i])...) |
| 670 | } |
| 671 | } |
| 672 | return nil |
| 673 | } |
| 674 | |
| 675 | func bury(b *txvmutil.Builder, stack []stackItem, n int) []stackItem { |
| 676 | b.PushdataInt64(int64(n)) // <n> |
no test coverage detected