|
5 | 5 | "instantiate": {
|
6 | 6 | "$schema": "http://json-schema.org/draft-07/schema#",
|
7 | 7 | "title": "InstantiateMsg",
|
| 8 | + "description": "Contract instantiation message containing all configuration parameters.", |
8 | 9 | "type": "object",
|
9 | 10 | "required": [
|
10 | 11 | "admin",
|
|
17 | 18 | ],
|
18 | 19 | "properties": {
|
19 | 20 | "admin": {
|
| 21 | + "description": "Initial admin address for the contract who can update settings", |
20 | 22 | "type": "string"
|
21 | 23 | },
|
22 | 24 | "allowed_finality_providers": {
|
|
30 | 32 | }
|
31 | 33 | },
|
32 | 34 | "bsn_activation_height": {
|
| 35 | + "description": "Rollup block height at which the BSN system is activated (0 = immediate activation). Only affects `SubmitFinalitySignature` messages.", |
33 | 36 | "type": "integer",
|
34 | 37 | "format": "uint64",
|
35 | 38 | "minimum": 0.0
|
36 | 39 | },
|
37 | 40 | "bsn_id": {
|
| 41 | + "description": "Unique identifier for the BSN (Bitcoin Supercharged Network) this contract secures", |
38 | 42 | "type": "string"
|
39 | 43 | },
|
40 | 44 | "finality_signature_interval": {
|
| 45 | + "description": "Interval between allowed finality signature submissions. Signatures can only be submitted at rollup block heights where `(height - bsn_activation_height) % interval == 0`.", |
41 | 46 | "type": "integer",
|
42 | 47 | "format": "uint64",
|
43 | 48 | "minimum": 1.0
|
44 | 49 | },
|
45 | 50 | "max_msgs_per_interval": {
|
| 51 | + "description": "Maximum messages allowed per finality provider per interval", |
46 | 52 | "type": "integer",
|
47 | 53 | "format": "uint32",
|
48 | 54 | "minimum": 0.0
|
49 | 55 | },
|
50 | 56 | "min_pub_rand": {
|
| 57 | + "description": "Minimum number of public randomness values required in commitments", |
51 | 58 | "type": "integer",
|
52 | 59 | "format": "uint64",
|
53 | 60 | "minimum": 0.0
|
54 | 61 | },
|
55 | 62 | "rate_limiting_interval": {
|
| 63 | + "description": "Number of Babylon blocks in each interval", |
56 | 64 | "type": "integer",
|
57 | 65 | "format": "uint64",
|
58 | 66 | "minimum": 0.0
|
|
516 | 524 | }
|
517 | 525 | },
|
518 | 526 | "additionalProperties": false
|
| 527 | + }, |
| 528 | + { |
| 529 | + "description": "Get the list of allowed finality providers at a specific Babylon height.\n\nReturns a list of BTC public keys (in hex format) that were allowed at the specified Babylon height or the most recent height before it.", |
| 530 | + "type": "object", |
| 531 | + "required": [ |
| 532 | + "allowed_finality_providers_at_height" |
| 533 | + ], |
| 534 | + "properties": { |
| 535 | + "allowed_finality_providers_at_height": { |
| 536 | + "type": "object", |
| 537 | + "required": [ |
| 538 | + "babylon_height" |
| 539 | + ], |
| 540 | + "properties": { |
| 541 | + "babylon_height": { |
| 542 | + "type": "integer", |
| 543 | + "format": "uint64", |
| 544 | + "minimum": 0.0 |
| 545 | + } |
| 546 | + }, |
| 547 | + "additionalProperties": false |
| 548 | + } |
| 549 | + }, |
| 550 | + "additionalProperties": false |
519 | 551 | }
|
520 | 552 | ]
|
521 | 553 | },
|
|
551 | 583 | "type": "string"
|
552 | 584 | }
|
553 | 585 | },
|
| 586 | + "allowed_finality_providers_at_height": { |
| 587 | + "$schema": "http://json-schema.org/draft-07/schema#", |
| 588 | + "title": "Array_of_String", |
| 589 | + "type": "array", |
| 590 | + "items": { |
| 591 | + "type": "string" |
| 592 | + } |
| 593 | + }, |
554 | 594 | "block_voters": {
|
555 | 595 | "$schema": "http://json-schema.org/draft-07/schema#",
|
556 | 596 | "title": "Array_of_BlockVoterInfo",
|
|
618 | 658 | "config": {
|
619 | 659 | "$schema": "http://json-schema.org/draft-07/schema#",
|
620 | 660 | "title": "Config",
|
| 661 | + "description": "Contract configuration parameters set at instantiation.", |
621 | 662 | "type": "object",
|
622 | 663 | "required": [
|
623 | 664 | "bsn_activation_height",
|
|
628 | 669 | ],
|
629 | 670 | "properties": {
|
630 | 671 | "bsn_activation_height": {
|
| 672 | + "description": "Rollup block height at which the BSN system is activated (0 = immediate activation). Only affects `SubmitFinalitySignature` messages.", |
631 | 673 | "type": "integer",
|
632 | 674 | "format": "uint64",
|
633 | 675 | "minimum": 0.0
|
634 | 676 | },
|
635 | 677 | "bsn_id": {
|
| 678 | + "description": "Unique identifier for the BSN (Bitcoin Supercharged Network) that this contract secures", |
636 | 679 | "type": "string"
|
637 | 680 | },
|
638 | 681 | "finality_signature_interval": {
|
| 682 | + "description": "Interval between allowed finality signature submissions. Signatures can only be submitted at rollup block heights where `(height - bsn_activation_height) % interval == 0`.", |
639 | 683 | "type": "integer",
|
640 | 684 | "format": "uint64",
|
641 | 685 | "minimum": 1.0
|
642 | 686 | },
|
643 | 687 | "min_pub_rand": {
|
| 688 | + "description": "Minimum number of public randomness values required in commitments", |
644 | 689 | "type": "integer",
|
645 | 690 | "format": "uint64",
|
646 | 691 | "minimum": 0.0
|
647 | 692 | },
|
648 | 693 | "rate_limiting": {
|
649 |
| - "$ref": "#/definitions/RateLimitingConfig" |
| 694 | + "description": "Rate limiting configuration to prevent spam", |
| 695 | + "allOf": [ |
| 696 | + { |
| 697 | + "$ref": "#/definitions/RateLimitingConfig" |
| 698 | + } |
| 699 | + ] |
650 | 700 | }
|
651 | 701 | },
|
652 | 702 | "additionalProperties": false,
|
|
0 commit comments